Jmservice对于服务的思考
如果以OOA思想分析服务,那么服务应该存在静态与动态之分。
1 静态方面
主要分析服务域中可能存在什么,例如:组件, 容器。。。。
2 动态方面
主要分析服务可以处理什么,放映服务的处理能力和功能。如果也把服务看成对象的话,那么服务是可能存在多方面的应用,这好比一个对象有不同的业务方法处理不同的操作。既然服务具有动
态行为,那么如何体现呢?仔细思考服务的应用行为方面,也许我们可能发现这样的动作词语:部署,配置等,也许将来我们可能更多的服务应用服务方面被发现或被定义,当然您也可以为您自己的服务定义一些应用方面。在Jmkernel中,服务方面助手被设计用来帮助服务执行这些方面的操作。如果以服务为中心,那么服务是允许存在多个方面助手,当然也可以没有助手,从这一点上来说,我们很容易把服务与助手关系比做:"千手观音" 或者说是一把“瑞士军刀“。事实上我们是希望通过方面助手引导服务内部流程,而流程的细节需要设计人员根据业务自行设计。
3: 方面驱动
既然服务有方面助手,那么谁来驱动它们呢?Jmkernel的一个重要特色:担当控制者角色,驱动并控制这些服务方面助手,当然服务本身也可以使用它自己的方面助,服务的方面助手是允许动态增加的,以适应将来业务的拓展,这意味着Jmkernel是一个可扩展的内核。
Jmkernel不仅仅是一个控制器,它还是一个服务集成平台,我们力求它简单易懂。