应用可用性管理最佳实践

时间:2014-02-12 17:40:27

标签: java-ee architecture policy

在我们的架构中,我们在Jboss 5下有一个身份和访问管理器(CA SiteMinder®)和一个Java EE应用程序。 该应用程序(可能是许多其他应用程序)应该关联可用性策略(即,应该可以从上午9:00到下午6:00访问应用程序前端,而Web服务应该始终可用)。 将此策略放在IAM或应用程序端(即实现servlet过滤器)会更正确吗? 或者两者都不是放置这种政策的正确位置,我应该考虑另一层放在中间?

注意:Web服务调用不会通过IAM。

1 个答案:

答案 0 :(得分:0)

更清楚地了解您的可用性要求会很有帮助,但无论如何,这是我的意见。

就应用程序架构而言,我认为securityavailability是两个不同的要求。因此,我会单独实施它们。从架构师的角度来看,这类似于面向对象设计的Single-Responsibility原则,其中面向对象软件系统的各个组件一次只承担一个责任。

将两个问题分开将确保:

  1. 轻松 - 可以轻松设计,实施,测试和维护它们。我可以单独为每个编写自动化测试,而不必担心两者之间的连线。
  2. 可扩展性 - 单独扩展任何一个解决方案将更容易,因为对系统其他部分的依赖性会降低。例如,如果应用程序发展为多个模块或组件类型,每个模块或类型的组件都有自己的可用性细微差别,则只需要更改其中一个解决方案。
  3. 锁定 - 在Site Minder中实施您的可用性要求可能会锁定您使用该产品。如果您希望从Site Minder迁移,您将在未来再考虑一次。
  4. 对现有代码的影响 - 您已经提到Web服务调用当前不通过IAM。使用IAM实现可用性解决方案可能会对应用程序的这一方面产生影响。
相关问题