JiveJdon Community Forums
在线164人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 60 回复 / 5 页 [ 1 2 3 4 5 下一页 ]  发表新帖子  回复该主题贴
older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
Jmservice对于服务的思考 发表: 2007年05月05日 12:57 回复
如果以OOA思想分析服务,那么服务应该存在静态与动态之分。


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

2 动态方面

主要分析服务可以处理什么,放映服务的处理能力和功能。如果也把服务看成对象的话,那么服务是可能存在多方面的应用,这好比一个对象有不同的业务方法处理不同的操作。既然服务具有动

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


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

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


older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
回复:Jmservice对于服务的思考 发表: 2007年05月05日 12:58 回复
不知道这样理解是否可以。
older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
回复:回复:Jmservice对于服务的思考 发表: 2007年05月05日 13:01 回复
Jmin website


我个人认为服务是一个或一堆对外部产生影响的对象总称,服务关注内外与过程.

服务的主动式与被动式

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

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

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

以上为个人观点,也许存在错误,还望得到您的指点! 谢谢!
[该贴被older于2007年08月22日 14:21修改过]
banq

发表文章: 9074
注册时间: 2002年08月03日 17:08
给他发消息
回复:Jmservice对于服务的思考 发表: 2007年06月01日 10:34 回复
首先肯定你的精神和努力。

建议你的项目纳入SCA这样标准主流技术中来,看看这篇文章:
http://www.jdon.com/jivejdon/thread/31872.html

参与其中一些开源项目,这样对自己发展非常有利。

目前你的项目看上去还处于理论探索中,其实这些问题已经在SOA/SCA中明确,如果你再探索,会很慢,在走一个弯路。上次SUN一个开源项目邀请你参与你应该珍惜机会。

另外,有点请你协助一下:关于Jmservice的问题最好放在一个帖子中,如果找不到以前的帖子可以使用本站搜索Jmservice就可以,这样便于大家对你项目进度的关注。

组件服务技术表面是一个简单技术,背后有很深的背景,建议你从EJB Spring IOC/AOP这些方面进行逐步研究,如果你能写出类似“关注SCA”这样文章来,说明你的理论水平已经非同一般,这样再进行开源产品化,必然立意高新,又不会范重新发明轮子的错误。

继续努力,早日看到你的项目能够跑起来。

older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
re:Jmservice对于服务的思考 发表: 2007年06月01日 20:29 回复
对老师的教诲,我铭记在心! 我会再接再励,继续努力,不辜负老师的期望!
older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
:re:Jmservice对于服务的思考 发表: 2007年06月12日 20:00 回复
利用Jmservice平台支撑的小server(Jmin0.3)参考实现版.
运行环境:JDK1.4
https://jmin.dev.java.net/release.html

该连接可以下载Jmin server及Jmservice草稿


Jmin特点
1: 命名(JNDI)
1: RMI
2: POJO(可供远程调用)
3: DataSource


未来Jmservice平台展望
1:网络通讯采用XML(有点困难,本人不熟悉XML技术,目前是Java序列化,需要高人的指点).
2:服务控制方面可以自由配置(已实现)
3:助手命名统一定义(已实现)
4:方面助手可动态增加(服务可以有任意多个助手,灵活吧, 已实现)
5:助手可拆卸与重装(这支手不好使,咱就给它换一支新的.灵活吧,呵呵.已实现)
6:助手实现业务处理(正在编码中,好简单!)
7:为业务助手生成Stub(类似EJB的Stub).
8:业务助手内实现业务工作流(正在思考中.)



多么简单的一个服务平台啊! 个人认为助手方面应用应该算是一个模型吧,当然不一定把助手应用于服务中,也可以用于其他的.




菜鸟程序员 --- Chris

[该贴被older于2007年06月12日 21:02修改过]
[该贴被older于2007年06月12日 21:16修改过]
older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
回复::re:Jmservice对于服务的思考 发表: 2007年06月12日 22:16 回复
Hi,

I am sorry for bothering you.Now,I want to invoke service's interface by a simple way. The below way is feasible ? Please help me.

1: define service file

//Math.xml: this file will be deployed on server
<services>
<service id =”Math” class=”math.MathService” >
<property id =”assistants”>
<map>
<entry id =”cal ” value =”math.Cal ” >
<map>
</property>
</service>
</services>

2: Define Class files package math;
public class MathService extends J2eeAbstractService{
}
package math;
public class Cal extends J2eeAbstractAssistant{
/**
* @BI
*/
public int add(int a, int b){
return (a + b);
}

/**
* @BI
*/
public int del(int a, int b) {
return (a – b);
}
}

3: Generate interface file for service I think we can use some tools to generate some interface files,the following XML is expected result. Of cource, We can also use a tool to generate stub file for service's aspect assistant, this like EJB stub file.

//MathBI.xml
<services>
<service id =”Math” >
<aspect id=”cal”>
<BI id =”add”>
<int/>
<int/>
</BI>
<BI id =”del”>
<int/>
<int/>
</BI>
</aspect>
</service>
</services>


4:How to contol invocation
……………………
J2eeService service = serviceContainer.getService(netRequest.getServiceId());
J2eeAssistant ast = service.getAssisant(netRequest.getAspectId());
Method method = ast.getDeclaredMehtod(netRequest.getOperation());
Object result = method.invoke(ast,netRequest.getParameters());
……………………

我个人是想尝试组件以外的方式来处理业务应用,在这过程我使用了服务方面助手来做组件同样的事情,以达到企业应用.这个构思可以吗? 谢谢!
gougou3250

发表文章: 98
注册时间: 2007年05月08日 16:48
给他发消息
回复:回复::re:Jmservice对于服务的思考 发表: 2007年06月13日 20:19 回复
为什么不使用一些现成的IOC框架呢,底层的实现都是通过反射来实现的啊~
older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
回复:回复:回复::re:Jmservice对于服务的思考 发表: 2007年06月13日 21:07 回复
gougou3250,你应该是看过我的代码了吧. 你的建议不错!

当初做这个IOC时,我看了彭老师的代码,觉得要完全弄清楚,得花不少时间.
所以后来决定自己做一个算了,花了个把星期写的,不是很好!
我想等我其他部分完成后,可能会重写这个.

[该贴被older于2007年06月13日 22:12修改过]
gougou3250

发表文章: 98
注册时间: 2007年05月08日 16:48
给他发消息
re:Jmservice对于服务的思考 发表: 2007年06月14日 12:50 回复
我没看过你的代码,只是看了下你在上面帖的东西
其实IOC框架无非就是内部一个反射的方法,一个配置文件,一段管理代码(容器),用该管理代码调用配置文件来知道有哪些类,类之间的调用,然后利用反射来实现真正的调用。要说一些开源的东西,真正吸引人眼球的是,对各种细节都能考虑到。软件的精髓是细节。
别人都已经做了的东西,就没必要重复发明轮子了。而且你也不一定有人家做的好(通常情况下是这样的)。你可以整理修改人家的代码,弄出你想要的东西来,这样比你自己单独做要好。
至于BANQ的框架,我只看过一些他的介绍。觉得不咋的,是在一些开源框架上做的自己的一层封装,只是让一个拥有多年经验的开发人员来做,难度不大的那么一个东西。对于一些对JAVA世界认识不深,习惯于几句代码就搞定一套系统的人来说,确实是个好东西(如果它再好用点,少点BUG)。有点装逼了 呵,我也是一个初学者
older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
回复:re:Jmservice对于服务的思考 发表: 2007年06月14日 13:37 回复
说得好! 我是学习者,只是想锻炼一下, IOC不是我所要表达的目的

细节是非常重要的,有时候把软件当艺术品看就好了.

在这里,我是想探讨:方面助手!


gougou3250

发表文章: 98
注册时间: 2007年05月08日 16:48
给他发消息
re:Jmservice对于服务的思考 发表: 2007年06月15日 18:01 回复
看了下最顶上的贴子
根据你的定义,感觉就是个IOC啊~~
只是IOC只是写的配置文件,或者程序中写死。你是不是要出个界面来简化操作还是怎么回事呢,能给我讲解下么?谢谢
older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
re:Jmservice对于服务的思考 发表: 2007年06月15日 19:43 回复
非常感谢gougou3250回贴.可能是我没有解释清楚,真不好意思.

我这作品的底层是采用IOC技术,但IOC只是它的一部分.

这里有它的可运行程序与代码,下载地址:

Jmin server

文档下载地址:
Jmservice草稿

挺简陋的,让大家见笑了.




[该贴被older于2007年06月15日 23:48修改过]
gougou3250

发表文章: 98
注册时间: 2007年05月08日 16:48
给他发消息
re:Jmservice对于服务的思考 发表: 2007年06月15日 20:35 回复
原来是sca,高级货.
在较低的层次,sca是不是与IOC功能几乎一致?
我刚学的Spring不久,感觉sca的功能 SpringIOC都提供了.
older

发表文章: 51
注册时间: 2007年05月05日 12:54
给他发消息
回复:re:Jmservice对于服务的思考 发表: 2007年06月15日 21:14 回复
我当初做这个时,并不知道它属于哪个领域的.说句老实话,到目前为止,我还不了解SOA的一些内容.可能与SCA还是有点区别的,因为SCA是服务组件架构,而我的是服务助手和面向服务方面控制,我并不想制作一个超大的软件出来,毕竟个人能力有限,再加上我还是菜鸟水平,所以我去寻找服务的一些共同特性,或者说有意思的特性吧.比如部署,仔细观察 EJB方面,web方面等,它们都有共同特点,那就是支持部署.又如,服务是有可能支持调用的.所以我的出发点也许和SOA是不一样的,我把服务看成是一个封闭的bean,是一个可大可小的bean.既然是和对象类比的话,我想服务是有应该具有对多方面的特点,正如一个对象有可能有多个操作方法一样. 我想既然被称为服务,那么这协作过程是需要对象的参与.

在Jmservice平台中,可以配置一些方面控制器去服务的运作,那么如何控制呢?
我就设计了服务方面助手来供外部驱动(类似对方的方法).我们可以把每一个方面的控制器看做是一个Jmservice一个子架构.在Jmservice平台中最初的设计是基于事件驱动的,可能现在有所不一样的.呵呵.

其实OB为我第一个服务试验作品,与04年完成了第一版,目前已经改观,将成为Jmservice平台的一部分,我打算用它来支撑服务的调用.











[该贴被older于2007年10月11日 08:49修改过]
这个主题有 60 回复 / 5 页 [ 1 2 3 4 5 下一页 ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam