米布(8101690) 23:08:08
大家有没有想把 axis 嵌到自己产品中去的?
我有一个理想(24332715) 23:08:13
如果SCA构件分布式的部署在多个应用服务器上,那么在装配中
我有一个理想(24332715) 23:08:24
SCA的服务结构
我有一个理想(24332715) 23:08:35
接口
我有一个理想(24332715) 23:08:43
使用WS定义
我有一个理想(24332715) 23:08:57
那么装配出来的应用效率是不是很低
david(172171) 23:09:12
可以认为SCA的容器是一个bean
我有一个理想(24332715) 23:09:47
没懂
david(172171) 23:10:52
sca容器宿主在Tomcat上,通过sca可以引用其它分布的应用
david(172171) 23:11:40
SCA宿主:启动SCA装配过程的系统
米布
(8101690) 23:11:24
我能否用 bpel 流程来引用SCA呢?
david(172171) 23:11:42
可以
david(172171) 23:12:02
这个问题在那个群里已经讨论过了
我有一个理想(24332715) 23:12:23
通过宿主进行的引用?
david(172171) 23:12:28
对
david(172171) 23:12:30
http://blog.csdn.net/teamlet/archive/2007/03/22/1537510.aspx
我有一个理想(24332715) 23:12:37
谢谢
david(172171) 23:12:56
从这个图中可以看出 SCA中的component和bpel的关系
david(172171) 23:13:52
sca的component/(composite: cuiyi add)对外提供粗粒度的接口,bpel通过implementation提供细粒度的实现
david(172171) 23:14:09
sca是bpel更高层次的抽象(bpel is implement technology, sca is a component, compent is interfaces, one for expose, another for reference,就是下面的棍/坑说啦,cuiyi add)。
我有一个理想(24332715) 23:14:38
bpel是SCA的服务实现
我有一个理想(24332715) 23:14:45
是一种
我有一个理想(24332715) 23:14:50
这么理解对吗?
david(172171) 23:15:10
是的,是其中的一种
david(172171) 23:14:57
component只不过是sca装配模型中最基本的组件单元,上面还有composite,domain
david(172171) 23:15:36
想用bpel调用sca是可以的,但是大才小用了
david(172171) 23:16:45
实现包括 , C++, PHP, Java Script, BPEL, SQL, XQuery, Composite,ruby
david(172171) 23:17:12
当然还有java
我有一个理想(24332715) 23:49:42
SCA Component 它有一个壳,壳上Service,Reference,property,壳里边包含的东西连接着Service,Reference,property,壳里边的东西就是这个Component的implementation(not exactly, cuiyi add),implementation可以是很多东西,java,c++等等什么都行,这么理解对不对。
两块田(7739638) 23:52:39
很对
我有一个理想(24332715) 23:56:40
壳上的Service就是指出来的棍(凹进去的坑,引用找服务,就像棍插坑,cuiyi add),Reference就是凹进去的坑(凸出来的棍),棍插坑,坑插棍,几个连一起,还有坑还有棍这时候是合成组件(Composite),对不?
两块田(7739638) 23:57:14
说得有点色了~:)
我有一个理想(24332715) 23:57:23
哈哈
我有一个理想(24332715) 23:58:33
再整几个只有棍的,还有只有坑的,把Composite的棍和坑插满,就是系统域(Domain)
两块田(7739638) 00:11:24
兄弟研究棍和坑研究得挺深啊.
我有一个理想(24332715) 00:11:38
两块田(7739638) 00:12:02
重要的是可以插进去,插出来又可以用到别的坑里~:)
我有一个理想(24332715) 00:13:48
嗯
the following add by cuiyi, 系引用
开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现“开-闭”原则的手段和工具。
“开-闭”原则的定义
定义:一个软件实体应当对扩展开放,对修改关闭。
( Software entities should be open for extension,but closed for modification)。
在设计一个软件系统模块的时候,应该使这个模块可以在不被修改的前提下被扩展,或者说,可以在不必修改原来代码的情况下改变这个模块的行为。
满足“开-闭”原则的系统的优点
1)通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的适应性和灵活性。
2)已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。
具有这样两个优点的系统是一个在高层次上实现了复用的系统,也是一个易于维护的系统。
“开-闭”原则的实现——抽象化
面向对象编程语言可以使用抽象的方法,为系统定义一个不再更改的抽象设计来作为系统的抽象层。这个抽象层覆盖了所有未来可能扩展,因此在任何情况都不会改变。这样使系统的抽象层保持不变,从而满足了开闭原则的第二点:对修改关闭。
由于从抽象层导出的一个或多个具体类可以改变系统的行为,因为系统的设计对扩展是开放的,从而满足了开闭原则的第一点:对扩展开放。
在SCA框架中,无论在commonj还是SPI;无论是composite还是component,都可以看到开闭原则的应用。
remark by cuiyi
I feel Component in SCA just a restriction according to DP, so exposed as interface or web service description language (XML), just made DP a restriction to developers, meanwile, the systems developed on it can be more extensice and integratable; 即:
SCA 提供一个以与技术无关的方式定义接口、实现和引用的模型,从而使技术人员能够将这些元素绑定到所选择的某一技术的特定实现。
例如,我们可以用 Java 定义我们的接口,将我们的实现作为 BPEL 流程加以应用,或者将接口作为一个 WSDL 文档,而且我们的实现可以是一个 Java™ 类。下图 演示了如何在 IBM WebSphere Process Server 中使用 SCA。
图. WebSphere Process Server 中的 SCA
SCA的目的是使用户在构建企业应用时有一个不再直接面对具体的技术细节的层次,而是通过服务组件的方式来构建应用。这种方式也使得客户的企业应用具有良好的分层架构,能够很好的分离应用的业务逻辑和IT逻辑,不但易于应用的构建,也易于应用的更改和部署。
○分离业务逻辑和技术实现逻辑
○业务过程由松散耦合、可重用的组件或服务组成
○组件或服务与平台和实现无关
实际上呢,其就是对现有技术的再一次包装,达到真正的屏蔽语言,我们来看看SOA规范理念,是如何达到屏蔽和包装的:
SCA规范包括了Assemble Model和Client Model两部分。
前者约定了如何将异种组件(Java类,BPEL,WebService)组装并发布成SOA服务,这也是SCA
最大的特点和最核心的概念;
后者则约定了如何在异种语言环境中调用SOA服务。
那么,通过这两部分的规范,就可以完全解决了服务从服务端到客户端的跨语言、跨实现技术的问题。
其即将推出的DAS规范,也无非是我们现有技术的再次包装,理念图如下:
这样,客户端看到的只是DataGraph中的DataObject就是我们说的SDO,而不再需要去关注或者操作所谓的JDBC等连接数据库的、以及JCA等连接手段获得的数据入口了。
于是我们看到了,SOA通过SCA、SDO对现有技术进行了再次包装或者屏蔽,从而达到了一个 大一统 的局面,但是尚未知对于大多的开发者来说这是否是一个好的消息。
不过通过如下,我们发现并不是如此的悲观:
goCom SCA规范综述
实施SOA不意味着要推翻既有的架构,比如MVC,而是要在现有架构上做更大的架构。
传统的MVC对于单个应用来说非常成熟,这是实践中证明的。对于大多数独立的应用和系统来说MVC很胜任。然而,当企业中的应用规模不断扩大,从几个到几十个甚至上百个的时候,靠若干MVC架构的不断叠加能够构造出一个适合企业级的架构么?所以才出现了Portal这样的新技术来迎接这样的挑战,但是Portal的关注点更靠近与展现端,在底端通讯方面不能给出更好的答案。所谓架构是要一套整体解决方案,这样的架构所要解决的问题简而言之就是两个特点:数目或规模大、异构应用交互。