在《SOA 案例研究:Web 2.0 SOA 场景(一)》和《SOA 案例研究:Web 2.0 SOA 场景(二)》中,我们介绍了Web 2.0 SOA场景可用于帮助JKHLE解决其业务和技术挑战。其场景定义了3种实现中的两种,下面我们介绍第三种方式。
UI Composition和Communication实现
JKHLE使用UI Composition和Communication实现,以提供业务域的更多功能,如图 11 所示。
Figure xxx. Requires a heading
图 11 JKHLE使用UIComposition和Communication实现的位置
以下架构考虑因素与UI Composition和Communication实现有关:
无状态实体
框架(比如Dojo和JSF)
容器(比如portlets、iWdigets和iViews)
治理
安全性(包 HTTPS和单点登录)
运行时和工具考虑因素
因为有很多客户端软件和技术可供选择,所以IBM意识到它必须支持从异构到客户端 SOA 这一范围内的所有领域。为了实现该目的,IBM 制定了以下策略:
支持通过标准进行UI聚合。
这包括Web标准(比如JSR 53和JSR 127)、portlet应用(比如JSR 286和JSR 168)、混搭(比如OpenAjax和iWidget)和丰富的台式机 / 设备(比如Eclipse和iView)。
通过产品交付开源聚合。
IBM提供并宣传应用内容的技术。这包括客户端容器的W3C开源/Web标准和开源框架(比如Web浏览器和Lotus® Expeditor),以及台式和移动应用的Eclipse和SWT。
支持通过中间件进行客户端UI集成。
IBM完全支持用户集成、边缘集成和SOA层之间的集成。
IBM端到端软件客户端平台策略如图 12 所示。
图 12. IBM端到端软件客户端平台策略
Dojo
Dojo是一个用JavaScript编写的开源DHTML工具集。Dojo支持将动态功能轻松地构建到Web页面中。Dojo提供了许多功能,并且由3个主要层构成:Dojo Core、Dijit和DojoX。
Dojo工具集是一个JavaScript工具集,它具有丰富的用户界面,用于开发Ajax应用。它在大多数现代客户端容器上都能很好地工作,并且占用资源少、性能高。IBM支持Dojo工具集; 在Dojo工具集中创建的Ajax应用可以被 WebSphere Application Server和WebSphere Portal使用。
可从以下网址下载Dojo工具集:http://www.dojotoolkit.org/
设计模式
WebSphere Portal和Dojo可用于支持UI Composition and Communication实现,如图 13 中的设计模式所示。
图 13. 设计模式
该设计模式描述了以下信息:
WebSphere Portal支持支持Ajax的portlet,可以使用IBM Rational® Application Developer或Portlet Factory生成这些portlet。 此应用允许选择部分更新。
Dojo Dijit用于呈现portlet内部的小部件。
portlet的目的是调用REST式服务。
结束语
JKHL实现了基于Web 2.0 SOA场景的3种实现的解决方案:
RESTful Service创建实现
Rendering and Consuming RESTful Services实现
UI Composition and Communication实现
这些实现使JKHLE能够构建更好的旅行代理网站。该网站提供的快速架构可以交付新产品、使用新服务、消除业务孤立,以及以可消费形式在Internet上公开业务数据。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突