水青木华

四川广安人,98年硕士毕业于东北大学。从事过6年的企业级应用软件开发,04年开始涉足面向构件中间件领域,主要兴趣为面向构件中间件、工作流、BPEL、SCA/SDO。目前致力于面向服务软件(SOA)的产品定位与产品管理工作。您可以通过MSN:qhyou2002@hotmail.com 与我联系。
构客网首页  博客  论坛

 
  本文的标签
SOA (收录4249篇)SOA博客大赢家 (收录528篇)SOA技术实践与案例 (收录335篇)
  用户信息
 
帐号:  新手必读
密码: 保存密码
 
  分类列表
全部类别(29 篇)
学习笔记(4 篇)
原创(6 篇)
转贴(19 篇)
  按月归档
2005年-10月(2 篇)
2006年-01月(14 篇)
2006年-10月(7 篇)
2007年-02月(5 篇)
2008年-10月(1 篇)
  SOA2007 - SOA实践
我们何时迈向SOA
——SOA在中国的整体发展现状究竟如何?
我们如何迈向SOA
——中国企业如何迈出实施SOA的第一步?
我们应采用何种技术
——SOA国际标准SCA/SDO的具体内涵?
我们还需要何种技能
——SOA将如何改变系统架构设计以及项目管理过程?

从SCA(Service Component Architecture) 看构件图形化软件组装的趋势

发布时间:2007年09月28日 作者:qhyou

阅读次数:6915次 类别:原创 永久链接 Trackback 5条评论
参加SOA我有话说

、 一、SCA的概念

SCAService Component Architecture)面向服务的组件模型,源于IBM WSIF Web Service Invocation Framework,具体请参考http://ws.apache.org/wsif/),SCA的目的是使用户在构建企业应用时有一个不再直接面对具体的技术细节的层次,而是通过服务组件的方式来构建应用(这一点与EOS的思路一致)。

服务组件模型(SCA)中提出了一些新的概念,比如服务组件,模块,共享库,导入和导出。

l 服务组件

包括对外提供的接口,所依赖的接口。服务组件的接口类型可以是Java类型,也可以是WSDL定义。例如一个“客户服务”组件,可能包括“获得客户基本信息”、“获得客户帐单”、“新建客户”等接口。这些接口的实现可能是WSDL描述的,也可能是用Java类实现的。服务组件的实现对外是透明的,调用者无需知道该服务是如何实现,以及采用什么技术实现的。

l 模块(Module

模块是由多个服务组件以及服务之间的调用关系组成的,每个模块相当于J2EE应用中的一个项目。通过将不同的“服务组件”用连线组装起来,就成为一个模块。模块是最小的部署单元。

l 共享库(Library

如果多个Module需要共享一些资源,则可使用共享库。但是共享库不包括服务组件(即不包括业务逻辑),只包括数据定义、接口定义、数据映射等。

l 导入(Import

目的是为了调用其它组件(包括SCA组件、JMSWS等)

l 导出(Export

与导入相反,导出是为了让其它系统可以调用SCA组件,调用方式同样可以是SCA组件、JMSWS等。

目前,SCA模型已经得到了业界几个主要软件厂商的支持。IBMOracleBEASAPSiebelSybaseIONA等厂商联合发布了SCA规范的0.9版本。具体规范可参见IBM DW的网址:http://www.ibm.com/developerworks/library/specification/ws-sca/

关于服务组件模型(SCA)更详细的概念参见IBM DW网站(http://www-128.ibm.com/developerworks/cn/webservices/ws-sca/)的介绍。

二、 IBMSCA的产品支持

SCA服务组件模型的提出,解决了EJBPOJO等组件模型与实现语言相关的问题,同时也将SOA的抽象概念落到了实处。也为集成软件项目的开发的图形化组装方式提供了基础。

目前IBMSCA的产品支持为200510月发布的WPS Websphere Process Server6.0 ,并为之提供了可视化的集成开发工具WIDWebsphere Integration Developer)。使用WID开发集成项目,只要有一定基础编程经验或知识,就可以拖拉的方式,进行图形化的组装,不需要了解太多的J2EE技术细节。

三、 EOSSCA的对比

从上文,可以看出,SCA的这些概念在EOS里几乎都有相类似的概念。对比如下(以IBMWID产品为例):

SCA中的概念

EOS中的

相应概念

相同点

不同点

服务组件

业务构件

1、都是描述后台业务逻辑;

2、都提供了接口

1、 1、EOS中可以用图形化的方式定义业务逻辑的实现;而且EOS还提供了展现构件、运算构件等;

2、 2、SCA服务组件则要么通过WSDL调用已经开发好的具体组件,要么用编写特定语言的代码来实现

模块

项目、构件包

都是可部署的单元

1EOS中的构件包、单个构件都是可部署单元

导入

引用构件包

都是为了复用已有软件资产

1、 1、EOS的引用构件包可引用EOS的任何构件,包括展现、业务、数据、运算构件

2、 2、SCA的导入只能复用业务逻辑

导出

导出

都是为了复用已有软件资产

1、 1、SCA在导出时需要指定导出为SCA组件服务、JMSWS等类型

2、 2、EOS导出后被新的项目引用时,可以直接拖放组装

服务数据对象SDO

数据实体

1、 1、都是XMLRDB之间的映射

2、 2、都支持Xpath访问

3、 3、都是作为展现层、业务层与持久层之间通信的信息载体

1、 1、SDO支持对象的嵌套

2、 2、SDO除了可以Xpath访问,也可以对象的形式访问

3、 3、数据实体是EOS数据总线的基础

从上表可看出,SCA的概念和EOS的一些概念大同小异,可以说是异曲同工。

四、 小结

诚然,SCA规范推出的目的是为了对遗留系统进行集成,EOS的定位则在于开发新的应用。虽然两者定位不同,但是不难看出,未来软件开发的趋势必然是朝着以图形化的构件组装的方向前进。EOS不仅提供了图形化的构件组装工具,同时在调试、部署、应用管理与维护方面都提供了一体化的工具,因此在构件化这一步,普元EOS无疑走在了潮流的前面。


本文章参加了《SOA中国路线图》博客大赢家活动!

 评论 查看全部评论
 
lithor 于 2008-03-02
构件的图形化组装有利于SCA以至于SOA的推广和应用,而且会大大减轻开发者的工作复杂度。
 
l.zw 于 2007-12-23
构件图形化软件组装只是SCA的发展之一,现在已经有很多先进的组件技术正在蔓延开来。
 
sduboy 于 2007-12-22
图形化的构件组装是未来软件开发的趋势,在这方面EOS是不是可以更胜一筹呢?期待普元给我们一个答案。
 
sduboy 于 2007-12-05
大同小异,异曲同工,殊途同归。
 
vickzh 于 2007-11-13
SCA规范推出的目的是为了对遗留系统进行集成,EOS的定位则在于开发新的应用。 遵循SOA基本原则,采用较成熟的SOA技术,一点一滴地改进SOA实施力度,和客户一起分享SOA带来的价值.