我参与创建基于Web的业务解决方案.我们的想法是,客户将使用它,将他们的业务流程和信息集中到一个地方,并通过系统间通信获得额外的业务价值.简而言之,他们将把它作为日常工作的核心工具,并将高度依赖它.
需要解决方案的一个问题是如何使这个网络系统足够安全,以成为我们和客户都满意的替代方案.我正在寻找已经或处于相同情况的其他人的好建议.
在我们的特定场景中,我们目前正在寻找使用Java SE 6,Tomcat(作为Servlet容器,我们将使用Wicket所需),Hibernate(与我们的数据库交互)和MySQL(作为DBMS).
我认为问题和建议也会引起其他技术用户的兴趣.因为许多问题都是关于硬盘故障,网络可访问性和其他问题的一般问题.
随意给你任何建议!我仍然提出一些问题和想法让我们前进:
感谢您的时间!我希望你有一些分享的意见.稍后可能会添加更多问题.
我也在我的个人时间和工作中制作网络应用程序,所以我可以理解你为什么问上述问题。虽然在工作中没有讨论上述问题,但我在个人工作中非常关注这些事情。我无法回答你所有的问题,但对于我能回答的问题,我会这样说:
您将如何监控解决方案?我正在开发一个 ASP.NET Web 应用程序,因此我正在使用性能监视器、日志记录、跟踪(尽管仅适用于开发人员)、运行状况监视和我正在编写的自定义 Sql Server 性能监视系统(尽管在此之前)推出后,我将使用 AdventNet 的 AppManager)。
Which of these things do you think we should do in house and which should be out sourced? We will develop the core system our self's, of course.
这是一个很好的问题,因为我一直要做出同样的决定。我会将不属于我的技能范围的内容外包(因此,如果我需要做 3D 工作,请将其外包)。此外,坚持团队的优势,专注于业务功能,因为这将取悦/吸引用户(我是从面向家庭用户的网络应用程序的商业角度这么说的),并将关键的内部系统外包比如备份、监控、日志记录等(由于我拥有可用的成本/财务资源,我没有外包这个,我制作东西以便我可以学习 - 因此我自己编码,即使这是一个漫长的方法 - 但我喜欢它)。
Are there check lists for these kinds of things? Maybe ISO standards or some other way of seeing that we are on the right track by looking through an article/check list/academic paper/book?
您说您正在使用 Java/MySQL/Hibernate,但 Microsoft 在 Web 应用程序安全性以及通常构建可扩展且安全的应用程序(基于 Web 和 Windows)方面有一些出色的指南。查看 Microsoft 模式和实践。
Do you think hosting the system in a computer cloud is a good alternative? (i.e. as provided by Amazon, Google or others.)
是的。这是便宜、有效的,并且会减轻您的内部架构的压力(我正在考虑如何使用 CDN 和 Amazon EC2 来存储静态文件)。我说的是静态文件,这样您就可以存储不经常更改且可以缓存的内容。
If you feel that the system is secure, as a technical person. How do you convince a non technical person that it's safe and secure?
要求他们造成违规。
How do we guarantee that each customer only will be able to access its own data? As the system will be able to access it's own database, it seems hard. A proper development process, involving lots of testing, is really all we have regarding user privileges.
我不确定我是否理解这个问题的意思,但是您可以使用登录系统、成员资格/角色(这只是 ASP.NET)和存储过程来确保用户只能看到他或她自己的数据,并且不是别人的。
我也有兴趣了解其余问题的答案。