IBM 电子商务模式(Patterns for e-business 或简写为 P4eb)为广大软件方案分析、设计人员提供了众多可重用的软件架构及系统组件,
他们来自于大量IBM成功实践经验。本文阐述了IBM 电子商务模式的原理和应用途径,重点探讨了如何具体应用IBM
电子商务模式中的访问集成模式(Access Integration Pattern) 来完成一个企业信息及服务集成的软件方案架构的分析和设计。
软件方案架构师的职责在于充分地理解客户业务的IT需求,并透彻地分析各种需求背后的实质性技术内涵, 架构师要了解客户当前的应用程序和数据位置、已安装的运行产品、可用的技能、所需要的服务质量等信息,从而帮助客户抓住技术关键,
制定正确的架构原则, 选择适合的方案架构, 在考虑不同技术路线、产品特性的基础之上,最终确定应用系统的逻辑架构和运行模型。
为了改进软件方案设计质量, 架构师期望能够捕获并借鉴以往自己或他人的经验教训, 即希望能够重用业界已经为事实所证明的成功设计模式,
IBM 公司一直十分重视总结方案架构实践,IBM 著名架构师 Jonathan Adams等人在其2001年发表的名为
《Patterns for e-business: A Strategy for Reuse》的著作中阐述了IT行业著名的电子商务模式(Patterns
for e-business 或简写为 P4eb), IBM 电子商务模式是一组可重用的软件知识资产,模式旨在满足
80% 最常见的客户需求并提供良好的模式扩展性, 电子商务模式不同于一般的具体技术相关的开发模式,它更关注于应用系统架构的分析、设计过程,
电子商务模式总结的科学规律适合于需要创建电子商务解决方案的任何人员,包括系统架构师、解决方案供应商、技术销售人员团队及其他相关人员,
该模式一经发表便收到广大IT人员的热烈反响并在IBM公司内部及合作伙伴中间得到普遍应用。
IBM 公司的
developerWorks 网站中提供了专门的电子商务模式网站链接, IBM 电子商务模式网站提供了一个有逻辑的、逐步执行的过程引导用户进行浏览,以方便用户更方便地访问IBM电子商务模式中的大量非常有价值的架构组件和模版。IBM
同时增加了相关指导文档以帮助使用者更好地完成软件系统的分析、设计和项目交流、讨论。
IBM 电子商务模式定义了逐步深入的分层系统模型, 如图表1 所示:
图表1. IBM 电子商务模式层次模型
我们通过一个简单的例子来说明基于IBM电子商务模式的方案架构设计思路:
假设一家企业A有如下需求:企业A希望让它的客户包括内部员工、合作伙伴、最终客户能高效率地访问企业不同的信息资源并统一处理各种已有的分散Web应用,
客户要求方案实现个性化服务和集中化用户管理;避免应用间切换时不必要的密码重新输入;系统要具有良好的安全性、扩展性等等。
有些架构师会一下子直接画出系统物理架构图,甚至直接给出具体软、硬件产品名称, 这种方法很难处理复杂一些的需求,而且经常容易遗漏掉一部分重要的架构元素。IBM推荐架构师按照一套完整的方法、规范和处理流程来分析、设计软件方案并鼓励IT人员重用业界成功的架构资产,基于IBM电子商务模式的软件方案架构设计过程如下:
首先,软件方案架构师应从客户实际需求出发,重点研究业务困难、业务流程、现存环境, 然后开始分析面临问题的业务模式(Business
patterns), 业务模式有时也称为商业模式, 它主要用来描述电子商务解决方案中用户、企业和数据之间的交互关系,业务模式用于创建端到端的电子商务应用,
它是大多数电子商务解决方案架构设计的出发点,业务模式的类型如图表2 所示:
当一个单一的业务模式不能满足客户需要时,架构师可以考虑将多种业务模式组合在一起以创建带有高级应用功能的集成模式(Integration
patterns), 但是集成模式本身不自动解决特定的商业问题,而是通过组织业务模式的内部功能以支持更复杂的功能,比如前端集成和后端集成,
集成模式的类型如图表3 所示:
我们看到单一的业务模式都不能直接满足企业A的IT需求,而
访问集成模式描述了统一信息和应用集成方案设计中所需要的公共服务和组件,比如组件化接口标准、个性化引擎、
动态内容发布、集中用户管理和不同应用的单点登录等特性,访问集成模式正是我们当前合适的选择。
如果企业A下一步还要考虑用户之间的协同、协作,单靠访问集成模式就不能满足要求,那时就需要利用模式之间的组合。
一组经常配合使用的商务模式和集成模式形成复合模式(Composite patterns), 复合模式是业务模式和集成模式的有机组合,这种灵活组合使复合模式本身成为被反复用来解决商业问题的高级电子商务应用类型,
复合模式可由下列模式动态组合, 如图表4 所示:
图表4. IBM 电子商务模式中的复合模式组合
软件方案架构师可以根据实际需要来选择组合上述表中的部分或全部模式, 常见的复合模式如图表5 所示:
当上述复合模式依然不能满足要求时, 架构师可以考虑通过定制设计(Custom design)来解决新出现的具体问题,
即在充分利用现有IBM 电子商务模式的基础之上,创新设计出更先进的电子商务应用架构。当然,定制设计的复用性可能还无法一下子达到复合模式解决方案所要求的程度,
需要在各行各业中经受电子商务实践的反复检验。不过,随着定制设计越来越多地被不同的开发人员所使用,以及人们对这些解决方案架构的不断反馈、修正,这些定制设计最终可能会达到复合模式的高度。
架构师在选择了业务模式、集成模式或复合模式之后,接下来需要分析高层的应用方面因素。应用系统的组成结构包括层次组件(例如展现、业务处理、后台系统)及它们之间的交互关系、
应用数据的存放、处理, 应用集成的类型(例如松散型、紧致型)和对后端系统的影响, 还有通讯的要求(例如同步、异步),
这就是IBM 电子商务模式中应用模式(Application patterns)所解决的问题, 应用模式有时也称为应用程序模式,
应用模式提供了描述业务模式或集成模式中应用组件和数据相互作用的概念层布局模型,它简化了业务目标和IT目标相互关联的过程。每一种业务模式和集成模式可以用一种或多种应用模式来实现,应用模式会根据功能需求不断细化。
IBM 电子商务模式中针对每一种业务模式都提供了诸多应用模式供架构师选择、重用。下表列举了访问集成模式可以选用的不同应用模式,
其中包括了普及(无线)设备访问、互联网应用单点登录、个性化服务、扩展企业单点登录。架构师可以在IBM 电子商务模式中找到自己所选业务模式对应的不同应用模式,从而提高方案架构质量和效率。
我们看到企业A的应用模式应该包括Access Integration:: Web Single Sign-on
(互联网应用单点登录)和 Access Integration::Personalized Delivery(个性化服务实现)
两种应用模式的组合。如图表6 所示:
架构师在选择了应用模式后,应该进一步分析支撑应用模式的逻辑中间件结构, 即研究运行模式(Runtime
patterns),运行模式描述主要中间件节点、它们的角色和关系及接口, 它使用节点对功能需求进行分组。每一个应用模式的功能都会对应到运行模式的逻辑节点,节点互相连接以细化应用模式的运行基础。设计运行模式时,
要考虑到系统的服务质量因素(可用行、性能、可扩展性、安全性等等), 其逻辑节点图定义了方案拓扑架构,它是将来系统部署、上线的基础。架构师也可以组合几种运行模式来实现复杂的组合应用模式,
下图描述了针对企业A我们采用的访问集成模式中对应组合应用模式(互联网单点登录与个性化服务实现)的运行模式。运行模式是实现产品中立的,
如图表7 所示:
在企业A的运行模式中,我们设计应用服务器节点处理业务逻辑, 数据库服务器节点处理数据,展现服务器节点按照开放组件接口标准来展现信息和集成应用处理,
我们建议实现数据库服务器、应用服务器、展现服务器的分离以保证系统良好的扩展性,其中设计的Web Server
Redirector节点用来响应静态Web 请求并向后台转发动态Web 请求, 该节点被放置于防火墙之间以保证系统的更高安全性,同时考虑使用个性化服务器实现基于用户身份和业务规则的个性化服务,并设计目录、安全服务节点来实现基于LDAP的集中化用户管理和单点登录的支持。
架构师在完成运行模式设计后, 才会实现产品映射(Product Mapping),即从技术角度选择、推荐实现各个运行模式设计方案所需要的经过验证的软、硬件产品。
下面图表8 显示了一种可供企业A选择的IBM具体软件产品。
产品映射中主要包括数据库采用IBM DB2, 应用服务器采用IBM WebSphere Application
Server, 展现服务器采用IBM 门户产品WebSphere Portal Server, IBM
门户产品支持Portlet 集成组件标准,具有个性化服务引擎,实现基于LDAP的Web应用单点登录,目录服务器采用IBM
Directory Server 作为LDAP Server, IBM 软件产品具有非常好的偶合性和跨平台特性,上述软件产品可以根据客户的物理机器资源配置状况进行适当的集中部署或分布部署。
为了帮助架构师更完整地实现方案设计和运行, IBM 同时提供相关了与电子商务模式相关的最佳实践指导文档(Best-Practice
Guidelines),内容包括应用设计、开发、系统管理、性能调优、问题分析等等。在项目实现过程中, 架构师可以参考IBM
红皮书网站提供的最佳实践文档来指导软件方案的开发、生产过程。
本文讨论了IBM电子商务模式的层次模型原理和途径并探讨了访问集成模式的具体应用过程,IBM电子商务模式连同相关的链接和指导文档使得架构师从客户问题和方案远景出发,
按照模式设计的分析思路, 逐步深入地完成从需求层到业务层, 从业务层到概念层, 从概念层到逻辑层最后到具体产品映射的完整设计过程,由于IT技术及软件产品不断升级换代,架构师需要不断跟踪、学习、更新自己的方案分析、设计能力,
IBM 电子商务模式提供了一个良好的学习途径, 它可以帮助架构师选择经过验证的业务模式、集成或复合模式、应用模式、运行模式及产品映射,高质量、高效率地设计出一个满足实际电子商务需求的应用系统方案架构。
|