加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 面向服务架构的管理信息系统的设计与实现

面向服务架构的管理信息系统的设计与实现.pdf

面向服务架构的管理信息系统的设计与实现

格一多
2012-02-14 0人阅读 举报 0 0 暂无简介

简介:本文档为《面向服务架构的管理信息系统的设计与实现pdf》,可适用于项目管理领域

华中科技大学硕士学位论文面向服务架构的管理信息系统的设计与实现姓名:许云翔申请学位级别:硕士专业:软件工程指导教师:吴涛I华中科技大学硕士学位论文摘要随着我国改革开放的不断深入传统的工业化进程以及粗放型的发展方式消耗了大量资源的同时也给环境带来了巨大压力。因此我国正在探索一条新型工业化道路而这条道路的核心正是加快信息化建设的进程以信息化带动新型工业化的发展。然而企业在信息化的过程中由于不同时期建设的应用系统不能实现相互协作从而形成了许多信息孤岛。另外随着业务需求的不断发展要对原有系统进行升级改造。此时如何将企业原有信息资源进行有效的合并是企业信息化过程中面临的一个重要问题。面向服务的架构(SOA)具有松散耦合性、与平台无关等特性将成为解决这个问题的一个良方。该系统在分析传统的管理信息系统的基础上提出了基于SOA的企业管理信息系统。在介绍SOA的原理和相关技术之后详细介绍了基于SOA的企业管理信息系统的设计和实现过程。其主要完成以下的工作:()在分析SOA架构的基础上设计了一个具体的基于SOA的企业管理信息系统的总体解决方案以工作流程管理设备管理物资管理工程管理系统配置管理等模块分别作为一个Web服务。()在分析了系统的需求的基础上详细介绍了系统服务的设计并给出了数据库设计的一些细节。()以设备信息查询服务的实现过程为例说明了如何应用N层服务模型实现业务模块服务:用户层、业务接口层、业务逻辑层和数据访问层实现了粗粒度Web服务。在结合了客户的实际需求的基础上设计了一个轻量级的SOA框架该信息系统基于该框架实现了所有功能。相对于其他SOA解决方案该系统针对的是一家中小型企业的需求所设计因为功能较简单故缩短了开发周期节省了开发费用且具有良好的操作性、维护性、稳定性和扩展性。通过测试证明该系统使企业摆脱了落后的人工操作方式提高了工作效率降低了企业的成本并保证了工作质量。关键词:面向服务的架构管理信息系统Web服务II华中科技大学硕士学位论文AbstractAsChina’sreformandopeningupdeepens,traditionalindustrializationanditsextensivedevelopmentbringaboutmoreandmoreproblems,amongwhichareresourcesexhaustionandenvironmentalissuesTherefore,ChinaisseekinganewtypeofindustrializationwhosedevelopmentdependsonacceleratingtheconstructionofinformationsystemDuringtheenterprises’informationconstruction,informationislandsemergefromdisconnectionbetweenapplicationsmadeatdifferenttimesInaddition,theexpandingbusinessoftenrequiresescalationandimprovementontheexistingsystemFacingtheseproblems,howtoeffectivelyintegratetheexistingenterpriseITsystemsbecomesanimportantissuetotackleThekeytothisissueisServiceOrientedArchitecture(SOA)whichislooselycoupledandindependentoftheunderlyingplatformThispaperbringsuptheconceptofSOAbasedenterprisemanagementITsystemafterdiscussingthedisadvantagesoftraditionalITsystemThepaperalsointroducestheprinciplesofSOAanditsrelativetechnologiesInparticular,thepaperfocusesonthedesignandrealizationofSOAbasedManagementInformationsystemThecontributionsofthispaperareasfollows:()AftertheanalysisofSOA,aentireframeworkofsystembasedonSOAarepromptedTheworkflowmanagement,devicemanagement,materialsmanagement,projectmanagement,systemconfiguremanagementaredevelopedasseparateWebServicetoassemblethewholeapplication()Basedontheanalysisofrequirement,thispaperillustratestheprocessofservicesdesignningindetailAnditshowsthedetailsofdatabasedesign()SettheprocessofequipmentinformationqueryserviceasaexampletoexplainhowtouseNlayersservicemodeltofulfilloperationmoduleservice:userlayer,operationinterfacelayer,operationlogiclayer,anddataaccessinglayerfulfillcoarsegranularitywebserviceThispaperdesignedalightweightSOAframeworkwhichbasedonbasedontherequirementofmediumsizedenterpriseComparedtonormalSOAsolution,thissystem,whichishasmorestraightforwardfunctionstructure,shorterdevelopedcirculationandlowercost,andalsohasnicermaneuverability,maintainability,stabilityandIII华中科技大学硕士学位论文expansibilityAfterbeingtested,itshowstheabilityofreplacingthetraditionalmanualworkItcanreducealotoftheexecutingtimeandmostofcontrivedmistakes,whichenhancestheefficiencyandassuresthequalityKeywords:ServiceOrientedArchitectureManagementInformationSystemWebServices独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知除文中已经标明引用的内容外本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□在年解密后适用本授权书。不保密□。(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月日本论文属于华中科技大学硕士学位论文绪论研究背景及意义随着全球市场竞争的日趋激烈和无法预测的市场环境的出现企业面临着产品生命周期缩短、产品更新换代更快、提高产品质量、降低成本和改进服务等压力所有这些都要求企业能够对不断变化的市场做出快速响应以最大程度地满足用户的需求提供优质的服务和产品。所以企业需要在其业务流程中培养业务灵活性从而获得高效、实时的反映能力。而通过实现企业内部的关键业务流程和IT流程集成化与自动化可以推动企业变革增强业务灵活性从而获得竞争优势。为了获得这种灵活性企业信息系统也必须做到高效、动态和灵活。首先企业信息系统应该是按照面向业务流程的方式设计实现的将复杂的业务流程分解成为功能相对独立的子流程。当企业因为客户、合作伙伴和供应商的需求变化而改变业务流程的时候信息系统能够快速集成或重构已有的服务来支持业务需求的变化其次企业的信息系统应该支持软件组件的松散耦合。松散耦合的信息系统能够灵活适应企业不断变化的业务环境比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务相关的因素再次企业为了更好地服务客户需要更好地与上、下游合作伙伴协同工作这需要企业信息系统必须采用标准的通信协议增强企业间业务流程的互操作性。但目前在企业内已有的信息系统使用还是处于初级阶段只是为每个需要的企业需求编写连接代码以使得应用得以运行。因为很多应用都只是实行一次性的实施没有考虑再次定制和扩展所以当需要融入新的业务流程需要继承不同的业务应用为用户提供更完整的服务时所有的这一切都将会从最初的系统设计开始做起。同时企业在部署、更改和维护系统上的代价都异常高昂。这就不可避免的形成了企业之间、企业内部部门之间多个不同类型的信息系统并存的现实即所谓的“信息孤岛”。但是企业构建信息系统的初衷就是为了让企业内部各部门或者与其他合作企业、客户共享信息。这些信息分布在不同的系统中而这些系统又互不集成企业如果想要在系统之间共享信息就需要投入更多的人力、资金。实际上这种问题华中科技大学硕士学位论文的出现也跟企业信息系统的发展历程有一定的关联。企业在发展信息化的初级阶段往往是引入一些特定的产品如人事管理系统财务管理系统等这些都是针对单一部门。随着企业的信息化的逐步发展企业又实施了一些新的软件系统如ERP系统OA系统这些则是为了使得企业整体实现信息化。企业希望希望利用这些系统来提高办公效率因此不断在发展升级自己的信息系统。而我们不难发现所有的系统都是相对孤立的这就造成了信息流的断裂信息不能同步而且实现同步的难度也很大需要做一些进行辅助数据同步的软件这将提高开发成本而我们所得到的也不是真正的信息同步而是一种伪同步系统仍然是孤立的。另外由于企业信息系统自身多数处于封闭运行的状态企业之间、企业与上游供应商、下游消费者之间信息不对称,企业之间无法形成协同效应。信息系统即无法满足消费者的综合需求也无法达到企业间的商务协同自动化和智能化的需求。信息化的经济效益难以有效发挥。同时信息化标准不健全如电子交换接口标准、业务流程协同标准流通中的票证、单据格式标准电子数据交换所必须的结构化数据标准等。采用传统的系统架构技术和传统的EAI和BBi技术则存在系统比较封闭、平台依赖性强、耦合度高、重用性差扩展性差、无法和上下游伙伴企业的系统交互等问题。而随着互联网的发展开放和标准的网络协议被普遍支持所有底层计算平台都开始支持这些标准和协议这也给我们解决这个难题提供了一个契机。SOA(ServiceOrientedArchitecture面向服务架构)就是在这种背景下产生的它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。而基于SOA的企业管理信息系统中任何一种应用都由若干种服务组成这些服务在开发之初就已经考虑到重用问题提供了标准的接口可以被各种应用和其他服务所调用。而采用SOA技术则可以有效解决上述问题。因此本文的研究目的在于将SOA(ServiceOrientedArchitecture面向服务的架构)理论应用实际的管理信息系统的开发和实施中为SOA理论在不同信息系统中的广泛应用提供一些经验。国内外研究概况年Gartner最早提出SOA的思想之后Sun、IBM、Oracle、微软等业界华中科技大学硕士学位论文巨头纷纷发布自己的SOA战略并推出了各自基于SOA信息开发平台和解决方案。这也使得它们走在SOA技术发展的最前端。()微软的Indigo平台Microsoft用于构建基于SOA应用程序的Indigo平台使得专门用于创建SOA应用程序的技术得到广泛应用。Indigo允许创建面向对象应用程序的开发人员采用NETFramework以相似的方式来创建面向服务的应用程序。同时为了让这些应用程序能够与运行在Windows和其他平台上的软件有效地进行交互Indigo还实现了SOAP和其他Web服务技术这样开发人员就可以创建可靠、安全且能够与运行在任何系统上的软件实现互操作的事务型服务。Indigo基于NETFramework并对其进行了扩展提供了创建由客户端访问的服务的基础这一基础主要由一组运行于公共语言运行库(CLR)上的类来实现。客户端与服务通过Indigo的内置协议SOAP进行交互。Indigo采用了一些更新的Web服务技术这些技术统称为WS*规范。这些文档定义了用于添加可靠消息传输、安全性、事务以及更多基于SOAP的Web服务的多供应商方式。()SUN的“SOAPath”这一SOA实际执行方式与Sun为市场提出的服务导向架构(SOA)解决方案计划组成完整的体系。这一SOA实际执行方式允许客户在SOA技术的整个生命周期内从概念论证、准备阶段到实际执行等各个关键时刻采用Sun的Java平台和SOA执行经验。它强化了“支持SunJavaES平台、基于SOA和Web服务标准以及运行于获奖的Solaris操作系统”的产品和服务的提供。这些产品和服务包括:SunJavaSystemApplicationPlatformSuite(Java系统应用平台套件)这是一个解决方案它直接通过一组Web服务来集成各种不同的企业系统SunJavaWebInfrastructureSuite(JavaWeb基础架构套件)这是一个快速启动Web服务的方法以及SunJavaIdentityManagementSuite(Java身份识别管理套件)这是业界最完整的和最具综合性的可以安全地执行用户身份识别管理的一整套产品。()IBM的ESB平台ESB全称为EnterpriseServiceBus即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢是构筑华中科技大学硕士学位论文企业神经系统的必要元素。而IBM实现了基于WebSphere产品族的ESB平台构成了IBMSOA的基础架构。而就国内来看SOA的研究还处于起步阶段与国外SOA的蓬勃发展相比无论是在质量上还是数量上都处于较低水平。国内基于SOA架构Web服务目前还是集中在一些企业内部而国内一些有影响的行业用户正在搭建其核心业务系统比如商业领域的流通行业和销售行业的大集中正在起步。因此当商业企业需要更好地服务客户需要更好地与上、下游合作伙伴协同工作并且自己内部的核心业务之间也需要协同工作时基于SOA架构中间件产品就会为这类新的业务应用提供理想的底座这种新的应用被称作面向服务的业务应用。现在很多商业企业都准备开始规划使用这些基于SOA架构的应用可想而知这些SOA架构的中间件产品将在两年内迅速发展并在五年内在整个IT行业内获得广泛应用。目前我国正在探索一条新型工业化道路这条道路的核心正是加快信息化建设的进程以信息化带动新型工业化的发展。但是在我国信息化建设的过程中许多企业面临的处境是由于业务需求的不断发展要对原有系统进行升级改造同时还要对一些软件的组件进行集成。此时如何将企业原有信息资源进行有效的合并是面临的一个重要问题。以往的做法是推倒旧系统从头开始这样造成了极大的资源浪费。如果使用面向服务的体系结构能避免出现这样的问题同时也方便了系统以后的扩展和集成。可以预见到随着信息技术的发展和我国经济的全球化趋势SOA也将成为我国软件业的主导实践方法。本文的主要工作本文在研究了传统的企业信息管理模式的基础上并参考了国外SOA的软件实践之后提出将SOA与企业信息管理结合设计并实现了一个基于SOA的企业管理信息系统。本文的主要结构如下:第一章首先描述了信息系统在发展中遇到的问题然后介绍了SOA在国内外研究状况论文研究的意义、研究背景、研究内容等。第二章本章主要介绍了系统中一些重要的概念及技术包括对SOA的全面描华中科技大学硕士学位论文述以及实现SOA的最佳方式Web服务然后阐述了SOA与Web服务的相互关系最后还通过对比NET多层架构与传统传统架构来分析其优点。第三章本章首先对系统的需求进行了详细的分析之后完成了系统逻辑结构的设计其重点是服务的设计还包括服务模型分层、业务模块设计以及底层数据库的设计。第四章本章主要完成了系统的业务分层实现业务模块实现其中业务分层实现是以设备查询服务的实现过程为例来说明的。最后对系统进行了测试并分析了测试结果。第五章最后总结了本文的研究成果并对本课题的后继研究工作进行了展望。华中科技大学硕士学位论文相关技术介绍软件体系结构的发展在最原始的软件设计中用户只能和一个单块的程序交互一个程序往往就代表了一个软件。这一个程序通常包括了所有的代码:应用逻辑数据处理、通信、用户界面等。随着软件系统的规模越来越大这种模式已不能适应软件的发展导致了软件危机。人们开始意识到软件体系结构的重要性并认为对软件体系结构系统深入的研究将会成为提高软件生产率和解决软件维护问题的重要途径。计算机硬件的突破性发展和性能的飞跃操作系统和软件的功能也不断发展和完善软件的应用领域不断扩大软件的复杂度也越来越大。为了应对这种发展趋势不断提高软件开发效率软件体系结构也经历了不断的革新。其发展历程大致可划分为四个阶段传统的软件体系结构、面向对象的体系结构、基于组件的软件体系结构和面向服务的软件体系结构。()传统的软件体系结构早期软件开发中程序规模较小软件体系结构没有被人们所重视。一般来说以语句为基本单位由语句组成模块通过模块的聚集和嵌套形成层层调用的程序结构。它应用到的是结构化的程序设计思想其核心是通过对数据流的分析所以也被成为面向过程的软件体系结构。自顶向下、逐步求精并注意模块的藕合性这个阶段的应用程序都把操作的数据、用户的界面还有所有业务逻辑的处理都混杂在一个包中。这种软件设计的方法在规模较小功能简单的系统中大量使用。但是它不能很好的表达事物、描述需求而且可重用性差、可维护性差、系统集成性较差。()面向对象的软件体系结构随着社会和软件的不断发展人们需要一种从更高的层次上进行思考从比函数更高的级别上进行封装和描述的软件体系结构由此面向对象的软件体系结构产生了。软件的功能不再只是进行数学计算面向对象技术的出现使得计算机可以对现实事物进行描述通过对事物的抽象实现了重用并且第一次让软件的处理人华中科技大学硕士学位论文性化。()基于组件的软件体系结构组件是具有一定的功能能够独立工作或能同其它组件装配起来协调工作的程序体。在这种体系结构下对一组类的组合进行封装并代表完成一个或多个功能的特定服务也为用户提供了多个接口。整个组件隐藏了具体的实现只用接口提供服务。与此同时软件架构开始出现分层的概念。功能独立的各层可以重用它们需要的组件从而使得软件开发效率大大的提高。比较流行的组件模型有CORBA和COM。虽然基于组件的软件体系结构大大提高了对系统的封装性使软件复用性大幅提高对整个软件开发过程产生了深刻影响。然而基于组件的软件体系结构还是没有解决异构系统(不同语言不同平台)的重用性问题。()面向服务的软件体系结构面向服务的软件体系结构是最近提出的理念它是一种更高层次上的封装。在面向服务的软件体系结构中将所有功能都定义为服务所有的服务都是松耦合的服务的内部实现对于服务的使用者来说是透明的服务的使用者只需通过服务提供的接口来调用服务。服务使用者而不需要了解功能如何实现的而是只关心该服务是否能返回所期望的结果。无论服务是采用不同的开发语言部署在不同的网络上服务之间只需要通过交互、协同作业从而完成业务的整体逻辑。所有的服务可以通过服务总线或流程管理器来连接服务和提供服务请求的路径。流程管理器处理定义好的执行序列或服务流它们将按照适当的顺序调用所需的服务来满足人们的需求。面向服务架构综述面向服务架构的基本概念SOA的关键是“服务”的概念WC将服务定义为:“服务提供者完成一组工作为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化但也可能使提供者的状态改变或者双方都产生变化。有人认为面向服务架构(SOA)是一个新的组件模型它将应用程序的不同功能单元(称为服务)通过功能单元之间定义良好的接口和契约联系起来。接口是采华中科技大学硕士学位论文用中立的方式进行定义的它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。另一种观点认为SOA是指为了解决在Internet环境下业务集成的需要通过连接能完成特定任务的独立功能实体实现的一种软件系统架构它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口联系起来。接口是采用中立的方式进行定义的它独立于实现服务的硬件平台、操作系统和编程语言这使得构建在系统中的服务可以以一种统一和通用的方式进行交互。这个定义表达的前提有下面两点:()软件系统架构:SOA不是一种语言也不是一种具体的技术而是一种是一种业务驱动的IT的架构方式支持对业务进行整合使其成为一种相互联系、可重用的业务任务或者服务。SOA有利于当今业务的创新能够确保IT系统快速、便利、经济地适应并支持不断变化的业务需求。通过在不同的应用和信息源之间建立联系SOA能够帮助可户提高业务流程的灵活性增强企业底层的IT基础架构并重用现有的IT投资。()SOA的使用范围:需求决定同时也限制功能。SOA并不是包治百病的万灵丹它最主要的应用场合在于解决在Internet环境下的不同商业应用之间的业务集成问题。虽然对SOA可以有不同的理解但是我们仍然可以从各种定义中看到SOA的几个关键特性:粗粒度的、松耦合服务之间通过简单、定义良好的接口进行通讯独立于技术。面向服务架构的基本特征为了说明SOA的特点首先指出Internet环境中IT应用的几个已存在的缺点:大量异构系统并存计算机硬件不同、操作系统不同、编程语言不同、软件工作方式不同、软件工作方式也不同不同企业局域网之间的大量、频繁的数据传输速度缓慢并且很不稳定缺乏响应标准或机制使我们能够知道在互联网上有哪些直接或者间接的使用某个服务。而SOA的最大不同点在于SOA是基于标准以及松散耦华中科技大学硕士学位论文合的以下是SOA的几个主要特点:()业务驱动从技术抽象层次上来说服务位于业务和技术中间。要设计面向服务的架构一方面必须理解在业务需求和可以提供的服务之间的动态关系另一方面也要理解服务与实现这些服务的底层技术之间的关系。因此SOA是业务驱动的。()松散耦合服务请求者到服务提供者的绑定与服务之间是松耦合的。这一点区别于大多数其他的组件架构。SOA将服务使用者和服务提供者在服务实现和客户如何使用服务方面隔离开来。这就意味着服务请求者不知道提供者实现的技术细节比如程序设计语言、部署平台等等。服务请求者往往通过消息调用操作请求消息和响应而不是通过使用API和文件格式。这使得服务能够在完全不影响服务使用者的情况下进行修改。()可重用的服务服务的可重用性设计显著地降低了成本。为了实现可重用性服务只工作在特定处理过程的上下文中独立于底层实现和客户需求的变更。可重用服务采用通用格式提供重要的业务功能为开发人员节约了大量时间。设计可重用服务是与数据库设计或通用数据建模类似的最有价值的工作。()明确定义的接口SOA中的服务的交互接口必须是被明确定义和描述的。服务提供者应该使用标准的服务描述语言来定义接口用于描述服务请求者要求绑定到服务所需要的细节。()大数据量低频率访问对于传统的分布式计算模型而言他们的服务提供都是通过函数调用的方式进行的一个功能的完成往往需要通过客户端和服务器来回很多次函数调用才能完成。在Internet环境下这些因素往往是决定整个系统是否能正常工作的一个关键决定因素。因此SOA系统推荐采用大数据量的方式一次性进行信息交换。面向服务架构的优点()灵活性灵活性体现在SOA是第一个考虑了业务发展长期性的信息系统架构能够快速华中科技大学硕士学位论文响应业务需求的变化。在SOA中你可以用一个服务替换另一个服务而无须关心其底层的实现技术使用者无须了解提供者的实现细节。基于模块化的低层服务、采用不同组合方式创建高层服务从而实现重用这些都体现了编码的灵活性。此外由于服务使用者不直接访问服务提供者这种服务实现方式本身也可以灵活使用。灵活性带来的另一个好处是可以充分利用现有的信息系统资源包括遗留系统和数据库新系统可以通过将遗留系统和数据库纳入SOA而不是将它们替换来使其成为企业整体解决方案的一部分。()支持多种客户类型借助精确定义的服务接口和对XML、WebService标准的支持可以支持多种客户类型包括PDA、手机等新型访问渠道。依靠服务设计、开发和部署所采用的架构模型利于实现扩充性当业务需求发生变化时服务提供者可以彼此独立调整以满足服务需求。()更易维护和扩展性服务提供者可以自行调整自己提供的服务来满足变化的需求而服务使用者则可以通过使用变化的服务来实现新的需求。服务提供者和服务使用者的这种松散耦合关系及对开放标准的采用确保了系统的易维护性和扩展性。SOA的概念并非什么新东西SOA不同于现有的分布式技术之处在于大多数软件商接受它并有可以实现SOA的平台或应用程序。SOA伴随着无处不在的标准为企业的现有资产或投资带来了更好的重用性。SOA能够在最新的和现有的应用之上创建应用SOA能够使客户或服务消费者免予服务实现的改变所带来的影响SOA能够升级单个服务或服务消费者而无需重写整个应用也无需保留已经不再适用于新需求的现有系统。总而言之SOA以借助现有的应用来组合产生新服务的敏捷方式提供给企业更好的灵活性来构建应用程序和业务流程。面向服务架构的体系结构SOA的体系中包含了三种角色它们是:(l)服务提供者服务提供者为处理一系列特定任务的软件资源提供服务接口它发布自己的服华中科技大学硕士学位论文务并且对使用自身服务的请求进行响应。它将自己的服务和接口契约发布到服务注册中心以便服务使用者可以发现和访问该服务。()服务请求者服务使用者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询通过传输绑定服务并且执行服务功能。服务使用者根据接口契约来执行服务。()服务注册中心服务注册中心是服务发现的支持者。它包含一个可用服务的存储库并允许感兴趣的服务使用者查找服务提供者接口。SOA中的实体都具有服务请求者服务提供者和服务注册中心这三种角色之中的一种或多种这种角色之间的关系如图所示。图SOA角色协作图SOA在这三个角色之间定义了三种操作:(l)发布(Publish):使服务提供者可以向服务代理注册自己的功能及访问接口。()查找(Find):使服务请求者可以通过服务代理查找特定种类的服务这些服务都是由上述中的服务提供者给出的。()绑定(Bind):使服务请求者能够真正使用服务提供者。三种操作互相作用服务提供者向服务代理发布服务服务请求者通过服务代理查找所申请的服务并绑定到这些服务上。服务注册中心服务请求者服务提供者查找绑定发布华中科技大学硕士学位论文面向服务架构的原则因为SOA是一种企业架构实施SOA的关键目标是实现企业IT资产的最大化重用所以它的采用也是在顺应企业的需求。SOA能够提供极强的业务敏捷性。业务敏捷性就是企业面对变化能做出快速有效的反应并且能够利用这种变化获得竞争优势。对于架构师来说构建业务敏捷的架构意味着创建一种符合未知需求的系统。SOA的基础之一敏捷方法为在需求不明或需求总在变动的环境中构建软件系统提供了一个灵活的迭代的开发过程。为了满足需求的变动SOA的实践需要遵循的原则如下:(l)业务驱动服务服务驱动技术。本质上服务作为业务层与技术层之间的抽象层。SOA架构师必须理解业务需求与可用服务间的动态关系以及提供这层抽象的底层技术。()业务敏捷性是基本的业务需求。SOA不处理具体的业务需求而是考虑下一层抽象应对需求变化的能力在于“元需求”。整个架构必须反映业务敏捷的需求因为任何瓶颈都会破坏整个架构的灵活性。()成功的SOA总处于不断的进步之中。面向服务架构的生命周期从生命周期的角度考虑SOA能够比较透彻地进行分析。SOA的生命周期如图所示:图SOA生命周期图华中科技大学硕士学位论文SOA的生命周期从建模阶段开始包括了建模、组装、部署、管理和控制五个阶段以下详细介绍各个阶段的活动:()建模在建模阶段主要是收集业务需求设计、模拟和优化所需的业务流程。在编写代码前模拟或建模业务流程可以更深入地了解这些流程从而有利于项目的实施。()组装在组装阶段当优化完业务流程之后组合新建的和已有的服务来构成复合应用最终实现这些流程。()部署然后在部署阶段利用那些为整合人员、流程和信息提供支持的专门服务将这些资源部署到一个安全的整合环境中。这种整合有利于确保企业所有的关键业务流程都连接在一起并能实现协同。此外部署工作还需要满足业务的性能和可用性需求并提供足够的灵活性以便建立新服务而不会对整个系统造成大的影响。()管理管理阶段收集的信息被用于获得对于业务流程的实时观测使得企业能够更好地进行业务决策并将信息反馈到流程不断改善的生命中期中。()控制SOA是一种集中系统其中可以包含来自组织的不同部门的服务甚至还能包含来自组织外的服务。如果没有恰当的控制这种系统很容易失控。控制对所有生命周期阶段起到巩固支撑作用为整个SOA系统提供指导并有助于了解系统全貌。它提供指导和控制帮助服务提供者和使用者避免遇到意外情况。Web服务Web服务的定义WC将WebServices定义为:是由通用资源标志符(UniversalResourceIdentifierURI)标识的软件应用程序其接口和绑定可以通过XML构件进行定义、描述和发现Web服务支持通过基于因特网的协议使用基于XML的消息与其他软件应用程序直接交互。我们可以理解WebServices是自包含的、模块化的应用程序华中科技大学硕士学位论文它可以在网络(通常为Web)中被描述、发布、查找以及调用也可以理解WebServices是基于网络的、分布式的模块化组件它执行特定的任务遵守具体的技术规范这些规范使得WebSevices能与其他兼容的组件进行互操作也可以这样理解所谓Web服务它是指由企业发布的完成其特别商务需求的在线应用服务其他公司或应用软件能够通过Internet来访问并使用这项应用服务。对于WebServices很多人会与WebService混为一谈认为二者指的是同一个事物。但是前者指的是用于建构WebService的技术框架后者指的是使用WebServices技术而创建的应用实例。WebServices是描述了一些操作的接口通过标准化的XML消息传输机制可以通过网络访问这些操作。WebServices使用标准的规范的基于XML的WSDL语言描述的这称为WebServices的服务描述。这一描述囊括了与服务交互所需要的全部细节包括消息格式(详细描述操作的输入输出消息格式)、传输协议和位置。该接口隐藏了服务实现的细节允许通过独立与服务实现、独立于软硬件平台、独立于编写服务所用的编程语言的方式使用该服务。这使得基于WebServices的应用程序具有松散耦合、面向组件和跨技术实现的特点。WebServices都履行一定的特定业务或任务可以实现同其他WebServices一起用于实现复杂的商业交易。Web服务的特性Web服务有如下特性:()Web服务是自包含的。在客户机端不需要附加软件有XML和HTTP客户机支持的编程语言就可以了。在服务器端仅需要Web服务器和SOAP服务器。Web服务不需要写一行代码就可启用现有应用程序。()Web服务是自描述的。客户机和服务器都不知道或不关心除请求和响应消息的格式与内容之外的任何事。()Web服务是独立于实现技术和可互操作的。客户机和服务器可在不同的平台和语言环境中实现。不必为了支持Web服务而更改现有代码。()Web服务生来就是开发的和基于标准的。XML和HTTP是XML和HTTP的主要技术基础。Web服务技术的很大一部分是使用开放式源代码项目构建的。华中科技大学硕士学位论文()Web服务是动态的。使用Web服务可使动态电子商务成为显示因为可以用UDDI和WSDL自动化Web服务描述和发现。()Web服务是可组合的。()Web服务松散耦合的。Web服务允许对有问题的服务集成进行跟灵活的重新配置。()Web服务提供编程的访问能力。Web服务不提供图形化用户界面它需要使用代码进行访问。服务使用者需要知道Web服务的接口但不需要知道服务的实现详细信息。()Web服务提供打包现有应用程序的能力。通过实现Web服务作为接口可方便得把现有独立应用程序集成到面向服务的体系结构中。Web服务的核心协议)XMLXML源自于标准通用标记语言(StandardGeneralizedMarkupLanguage,SGML)SGML在世纪年代就已经存在是一种通用的文档结构描述的符号化语言主要用来定义文献模型的逻辑和物理类结构。进入世纪年代HTML技术得到了很大发展。但是SGML和HTML都有其缺点SGML过于复杂和臃肿HTML结构固定难以扩展。为了克服SGML和HTML的弊端WC专家组对SGML进行裁剪形成SGML的精简子集这就是我们所熟知的XML。XML作为一种标记语言有以下特点:()可扩展性:标记是面向内容的用户可以自定义所需要且有实际意义的标记。()具有结构化特性:XML文档的实现是一种树形的结构通过标签的嵌套XML可以描述任意层次的文档结构。()内容与表示的分离性:XML文档只是对内容的描述它的外观则需要通过XSL(XML模式语言)来描述。()平台无关性:XML是一种自描述的语言数据本身就己经包含了元数据。XML文件的整体结构。XML文件包括三部分:XML声明、处理指示(可选)、XML元素。XML文档的一个基本要求是形式良好的一个形式良好的XML文档要华中科技大学硕士学位论文包含这三个部分。通过XML的使用开发者能给任何片段附加上意义和上下文再跨越互联网协议传输。XML的出现和发展为Web服务以及SOA奠定了一个非常良好的技术基础。)SOAP简单对象访问协议(SimpleObjectAccessProtocol)是一个基于XML的用于在分布式环境下交换信息的轻量级协议。它规定Web服务之间如何相互进行通信。它是Web服务调用者默认使用的调用协议。SOAP框架允许应用程序通过Internet调用服务借口而不必共享编程语言和分布式对象基础设施。SOAP在请求者和提供者对象之间定义了一个通信协议这样在面向对象编程流行的环境中该请求对象可以在提供的对象上执行远程方法调用。因为SOAP是平台无关和厂商无关的标准因此尽管SOA并不必须使用SOAP但在带有单独IT基础架构的合作伙伴之间的松耦合互操作中SOAP仍然是支持服务调用的最好方法。WCSOAP规范在服务请求者和服务提供者之间定义使用XML格式的消息进行通信。将应用程序请求(在XML中)放入SOAP信封中(也是XML)并从请求者到提供者发送应用程序请求提供者发回的响应也采用相同的形式。SOAP的优点在于它完全和厂商无关相对于平台、操作系统、目标模型和编程语言可以独立实现。另外传输和语言绑定以及数据编码的参数选择都是由实现决定的。SOAP协议包含四部分第一是信息的封套第二部分定义了编码规则第三部分定义了交换信息的请求响应模式第四部分定义了SOAP协议与通信协议的绑定这部分为可选项。)WSDLWeb服务描述语言WSDL(WebServicesDescriptionLanguage)是一种描述Web服务的标准XML格式它用一种实现语言无关的抽象方式定义了给定Web服务收发的有关操作和消息。WSDL定义了一套基于XML的语法是一种XML的应用它将Web服务描述定义为一组服务访问点客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。WSDL首先对访问的操作和访问时使用的请求响应消息进行抽象描述然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。相关的具体部署的服务华中科技大学硕士学位论文访问点通过组合就成为抽象的Web服务。)UDDI统一描述、发现和集成(UniversalDescription,DiscoveryandIntegration)规范提供了一组公用的SOAPAPI使得服务代理得以实现。UDDI为发布服务的可用性和发现所需服务定义了一个标准接口(基于SOAP消息)。UDDI实现将发布和发现服务的SOAP请求解释为用于基本数据存储的数据管理功能调用。它指定了一种机制提供发布和定位Web服务的手段对于Web服务提供商来说该机制可以公布Web服务的存在。对于Web服务使用者来说该机制可以定位感兴趣的Web服务。)Web服务协议栈要以一种可互操作的方式执行Web服务的发布、查找和绑定这三个操作必须有一个包含完整层次的标准Web服务协议栈。图显示了一个Web服务协议栈其中上一层均使用到下层提供的功能。左边的文字表示该层所应用的技术标准右边的垂直块表示所有层次都必须满足的需求。图Web服务协议栈()图的最底层是网络层在这一层里将来自服务使用者的服务请求传送给服务提供者并且将来自服务提供者的响应返回给服务使用者。HTTP由于其普遍性成为Web服务真正的标准网络协议。当然Web服务还可以支持其他协议包括SMTP和FTP。安全性可管理性服务质量控制业务流程查找服务服务发布服务描述基于XML的消息传递网络层WSFL静态UDDIWSDL动态UDDISOAPHTTPFTPetc华中科技大学硕士学位论文()网络层的上一层是基于XML的消息传递。在这一层里使用XML作为消息传递协议的基础通过XML服务提供者和服务使用者可以就将要请求的内容和将要返回的内容进行沟通。()服务描述是一种经过协商的模式用于描述服务是什么、应该如何调用服务以及成功地调用服务需要什么数据服务。因此描述层实际上是描述文档的一个协议栈。WSDL是基于XML的服务描述的真正标准。WSDL定义了服务交互的接口。()服务发布和查找服务两层的名字顾名思义。由于没有Web服务的发布就不可能查找到该服务因此查找服务依赖于服务的发布。()协议栈的最上面一层是业务流程。业务流程实质上是一个服务的集合可以按照特定的顺序并使用一组特定的规则进行调用以满足业务要求。WSFL用语描述这些交互。BPEL介绍Web服务的业务流程执行语言(BusinessprocessExecutionLanguageforwebservicesBPELWS)规范其定位是成为整合方面的Web服务标准。BPELWS基于XML和Web服务技术融合了早期的IBM的WebServicesFlowLanguage及微软的XLANG规范的许多特点。BPELWS支持两种截然不同的使用情形:实现可执行的业务流程描述不可执行的抽象流程。作为可执行流程的实现语言BPELWS的作用是将一组现有的服务整合起来从而定义一个新的Web服务。BPELWS基本上是一种实现这样的整合的语言。与其它任何Web服务一样整合服务的接口也被描述为WSDLPortType的集合。整合(称为流程)指明了服务接口与整合的总体执行的配合情况。SOA环境中的服务是异构的、松耦合的、自主的。它们间的关系是动态的、按需发生的而且缺少中央控制。BPEL提供的服务组装模型提供以下特性:()灵活性:服务组装模型具有丰富的表现能力能够描述复杂的交互场景而且能够快速地适应变化。()嵌套组装:一个业务流程可以表现为一个标准的Web服务并被组装到其他流程或者服务中构成更粗粒度的服务提高了服务的可伸缩性和重用性。华中科技大学硕士学位论文()关注点分离:BPEL只关注与

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/11

面向服务架构的管理信息系统的设计与实现

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利