dev@glassfish.java.net

Some simple ideas

From: liao <liao.jiajun_at_sz-excel.com>
Date: Tue, 8 May 2007 15:32:51 +0800

Hi,


以下为我个人困惑观点,不知道是否可行,需要您的指点。



如果以OOA思想分析服务,那么我想服务应该存在静态与动态之分。



1 静态方面
   主要分析服务域中可能存在什么,例如:组件, 容器。。。。


2 动态方面(服务应用方面)

主要分析服务可以处理什么,反映服务的处理能力和功能。如果也把服务看成对象的话,那么服务是可能存在多方面的应用,这好比一个对象有不同的业务方法处理不同的操作。既然服务具有动态行为,那么如何体现呢?仔细思考服务的应用行为方面,也许我们可能发现这样的动作词语:部署,配置等,也许将来我们可能更多的服务应用服务方面被发现或被定义,当然您也可以为您自己的服务定义一些应用方面。在Jmkernel中,服务方面助手被设计用来帮助服务执行这些方面的操作。如果以服务为中心,那么服务是允许存在多个方面助手,当然也可以没有助手,从这一点上来说,我们很容易把服务与助手关系比做:"千手观音" 或者说是一把“瑞士军刀“。事实上我是希望通过方面助手引导服务内部流程,
而流程的细节需要设计人员根据业务自行设计。


3: 方面驱动
既然服务有方面助手,那么谁来驱动它们呢?Jmkernel的一个重要特色:担当控制者角色,驱动并控制这些服务方面助手,当然服务本身也可以使用它自己的方面助手,服务的方面助手是允许动态增加的,以适应将来业务的拓展,这意味着Jmkernel是一个可扩展的内核。

Jmkernel不仅仅是一个控制器,它还是一个服务集成平台,我们力求它简单易懂。



4 服务的主动式与被动式

我个人认为服务是存在主动式与被动式,称需要请求性的服务为被动服务,而将那些不请自来的服务为主动式服务。

1:例如:学生请教老师问题,老师作出回答,这个过程中,首先学生向老师发出请求,然后老师才有问而答,事实上,老师为学生服务了。这就叫请求式服务或被动式服务。

2:例如: 邮件员送信,可是很多时候我们并不清楚自己是否有信件,只有等邮件员将信送到你手中才知道,在这之前,我们也许并没有请求过邮件员。 这个叫主动式服务。



以上为个人浅陋观点,可能会有错误, 非常渴望得到您的指点! 谢谢!



Chris