引言
软件的本质决定了它的复杂性,而电子商务中应用到的软件不仅复杂而且多变,不断变更的多样化需求使得传统软件架构已经无法满足当前的需要。面向服务的软件架构(SOA)为处理这种复杂性提供了一种有效的解决方案。
1.电子商务定义
网络技术的迅速发展,使得互联网已日益成为一个世界上最大的、交互式的、多媒体的市场交易体系结构,它是收集信息和提供信息的最佳渠道。通过互联网,商家和用户可以方便的传递信息,完成交易。这种全新的交易方式实现了公司间信息与资金的无纸化交换。于是电子商务便孕育而生,并逐渐流行起来。“由于信息技术的爆炸式增长和电子商务的迅速出现,我们正目睹一场商业革命。信息收集、购物、贸易、中介代理、银行业、会计、审计、金融、谈判、协同、营销、供应、伙伴合作、培训、开会、排程、生产、分销、服务、零售等商务活动均因新的信息技术而变化。简而言之,我们所知道的许多经营行为都将发生变化。所有的组织,无论是大型企业还是中小型公司都将不可避免地面对这些技术发展所带来的挑战。”[1] 如今,电子商务的普遍应用,正证实了这些预言。
2.面向服务的架构(SOA,Service oriented Architecture)
面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互[1]。
2.1SOA的优势
面向服务的体系结构可以基于现有的系统投资来发展,而不需要彻底重新创统。如果企业将开发力量集中在创建服务、利用现有的技术、结合基于组件的方开发软件上,将获得如下几方面好处:
2.1.1利用现有的资产。SOA提供了一个抽象层,通过这个抽象层,企业可续利用它在IT方面的投资,方法是将这些现有的资产包装成为提供企业功能的企业可以继续从现有的资源中获取价值,而不必重新从头开始构建。
2.1.2更易于集成和管理复杂性。在面向服务的体系结构中,集成点是规范是实现。这提供了实现透明性,并将基础设施和实现发生的改变所带来的影响降低限度。通过提供针对基于完全不同的系统构建的现有资源和资产的服务规范,变得更加易于管理,因为复杂性是隔离的。当更多的企业一起协作提供价值链会变得更加重要。
2.1.3更快的响应和上市速度。从现有的服务中组合新的服务的能力为需要地响应苛刻的商业要求的组织提供了独特的优势。通过利用现有的组件和服务,减少完成软件开发生命周期包括收集需求、进行设计、开发和测试所需的时间。得可以快速地开发新的业务服务,并允许组织迅速地对改变做出响应和减少上市时间。
2.1.4减少成本和增加重用。通过以松耦合的方式公开业务服务,企业可以业务要求更轻松地使用和组合这些服务。这意味资源副本的减少、以及重用和降本的可能性的增加。而这一切都依赖于的优势高可复用性、灵活性,以及更好的灵活性和可用性。
2.2Web服务的基础架构
Web服务是描述了一些操作的接口,该接口隐藏了服务实现的细节,允许通过独立于服务实现、独立于硬件和软件平台、独立于编写服务所用的编写语言的方式使用该服务,这使得基于Web服务的应用程序具备松散耦合、面向组件和跨技术实现的特点[2]。通过标准化的XML传递机制,用户可以通过网络访问这些操作。Web服务是用标准的、规范的基于XML的WSDL(Web Services Description Language,Web服务描述语言)语言描述的,这称为Web服务的服务描述。这一描述包含了与服务交互所需要的全部细节,包括消息格式、传输协议和位置,Web服务可以单独或同其他Web服务一起用于实现复杂的商业交易。 基本的Web服务架构包含了SOAP、WSDL、UDDI等支持服务请求者与服务提供者进行交互,以及用于Web服务发现的规范,如下图所示。
服务提供者通常用WSDL来描述它所提供的web服务,然后将该WSDL描述发布; 服务请求者可以通过UDDI或其他注册库(registry)来获取WSDL描述,并通过性服务提供者发送一个SOAP消息来请求执行服务。基本的Web服务标准,己经适于构建基于SOA的应用了。
3.SOA的主要支撑技术
SOA技术实施中涉及的主要技术包括以下几个: ESB 、Web Service、XML、SOAP、WSDL、UDDI。其中ESB、Web Service、XML尤为重要。
3.1ESB(Enterprise Service Bus)
企业服务总线(ESB),它是SOA架构的支柱技术。它提供一种开放的、基于标准的消息机制,完成服务与服务、服务与其它组件之间的互操作。XML[3](Extensible Markup Language)可扩展的标记语言(XML),XML是由万维网协会(W3C)创建的一种基于文本的规范标记语言,是Web Service平台中表示数据的基本格式。
3.2Web service
Web service是建立可互操作的分布式应用程序的新平台, 它定义了应用程序如何在Web上实现互操作性。Web Service是就现在而言最适合实现SOA的一些技术的集合, Web Service标准的成熟和应用的普及为广泛的实现SOA架构提供了基础。
4.SOA软件架构在电子商务系统中的应用—电子竞标系统
电子商务的智能化发展,使电子商务的应用迅速渗透到各个领域,而电子竞标就是电子商务的一个重要部分,在电子商务中发挥着越来越重要的作用。电子竞标是指消费者根据自己的要求,提供自己所需要的产品、服务需求和价格定位等相关信息,通过互联网向外发布自己的信息,进行招标。供应商通过互联网获得招标信息,进行投标,再经过在线评标、定标等过程,最后,供应商之间以竞争的方式决定出最终产品或服务供应商,从而使消费者以最优的性能价格比获得自己所要的产品或服务。这样,通过招标、开标、投标、评标、定标和管理等操作,就完成了整个竞标过程。
4.1基于SOA的电子竞标系统的架构方案
各应用系统在浏览器/服务器接口(B/S)供用户使用的同时,还可以通过Web服务接口(W/S)进行交互,实现数据共享和服务共享。各应用系统的管理端通过客户端/服务器端接口(C/S)维护各自系统。Web Services 挂接在Internet 上, 同时通过UDDI 注册机制在UDDI 注册中心登记, 面向Internet 提供服务。外部用户通过UDDI 注册机制发现符合自己要求的服务, 找到服务提供者, 然后通过Internet远程调用该服务。
4.2基于SOA的电子竞标系统的设计分析
根据电子竞标系统的需求分析,电子竞标系统的主要功能有招标管理、支持在线评标、专家库管理、投标管理、监督管理等。从这些功能中,需要找到合适的业务流程。以招标管理为例,招标管理主要包括发布招标信息、标书编制、开标、评标、决标、定标等招标项目全过程的业务管理功能。首先,利用SOA自上而下、自下而上或中间对齐的服务发现方式对该业务流程进行分解,获得相对应的服务。有了这些服务后,需要进一步对服务进行规范化,从而可以将这些服务定义服务接口,以实现服务。
在电子竞标系统的设计过程中,把整个系统分成几个子系统,每一个子系统可利用Web Services 提供统一的接口标准,在SOA 下实现信息的构建、解析和传输,从而实现系统间的数据交换。
5.结论
SOA成本低、易集成,它可以整合现有资源,并且有了新的应用时也很容易扩展而无须对现有系统作大的改动,只需将新的功能注册为服务即可。这样既提高了复用性,又有很好的扩展性。SOA的松耦合性和灵活的特点必将使它成为电子商务应用中占有绝对优势的软件工程实践方法。
参考文献:
[1]毛新生.SOA原理.方法.实践.北京:电子工业出版社,2007.
[2]柴晓路.《Web服务架构与开放互操作技术》,北京:清华大学出版社,2002.6.
[3]李劲.动态电子商务的Web 服务.北京:清华出版社,2002.