SOADevelopment

上传人:痛*** 文档编号:219022496 上传时间:2023-06-24 格式:PPT 页数:47 大小:954.50KB
收藏 版权申诉 举报 下载
SOADevelopment_第1页
第1页 / 共47页
SOADevelopment_第2页
第2页 / 共47页
SOADevelopment_第3页
第3页 / 共47页
资源描述:

《SOADevelopment》由会员分享,可在线阅读,更多相关《SOADevelopment(47页珍藏版)》请在装配图网上搜索。

1、INFS3204/7204-M71INFS 3204/7204 Service-Oriented Architecture Dr Heng Tao SHEN ITEE,UQ Semester 2,2009.M7:SOA Development.INFS3204/7204-M72M7 TopicsSOA lConceptslDevelopment of SOAlIndustrial standardsINFS3204/7204-M73ConceptsService-oriented architecture lAn architectural style whose goal is to ach

2、ieve“loose coupling”among interacting and contracted services via communication protocolsArchitecture lA software architecture is a structure or abstraction of a software system,including:Software componentsExternally visible properties of those componentsRelationships among them Constraints on thei

3、r use INFS3204/7204-M74Loose coupling Coupling is dependency between interacting systems lReal dependency is the set of features or services that a system consumes from other systems.It always exists and cannot be reduced.lArtificial dependency is the set of factors that a system has to comply with

4、in order to consume the features or services provided by other systems.It always exists,but can be reduced.language dependency platform dependency API dependency,etc.Loose coupling describes the configuration in which artificial dependency has been reduced to the minimum INFS3204/7204-M75Traditional

5、 architecturehttp:/ everything into a single program INFS3204/7204-M76Its problemsThe applications functions cannot be re-used.For example,the business functions are written for this particular application/platform only.It is difficult to debug the program as it grows,and maintain it as it is deploy

6、ed.A change to one part of the code could adversely affect other code.Security is another problem because the user interface cannot be isolated from the rest of the program.Traditional application architecture makes it difficult to integrate applications that reside in different platforms.Scalabilit

7、y is almost impossible because it is difficult to spread any part of the application.INFS3204/7204-M77Component-Based Application ArchitectureFirst addressed the problem of integrated code by defining layers of functionality INFS3204/7204-M78ProblemsTight CouplingINFS3204/7204-M79Its problemA tightl

8、y coupled solution,in which two applications that are being integrated are aware of each others implementation details,requires custom code that or a human,who reads the output from one application and keys it into another application.lAllows the components to be re-used on the same platform and usu

9、ally the same programming language.What if.?lWhat if we need to share the business functions throughout heterogeneous platforms?lWhat if we want to share information with our external partners?INFS3204/7204-M710Service-Oriented ArchitectureINFS3204/7204-M711SOA integrationINFS3204/7204-M712A service

10、:Has a clearly defined interface,which is exposed through some kind of standard contract Is usually discoverable,but not always Can correspond to real-life business activities Interacts with other services and components using loosely-coupled,message-based architectureUses standards for communicatio

11、n for interoperability Is up and running all the time,unlike components that must be instantiated before use SOA enables:ReusabilityLegacy leverageAgilityLoose coupling Interoperation INFS3204/7204-M713ReusabilityINFS3204/7204-M714Legacy leverageINFS3204/7204-M715AgilityINFS3204/7204-M716Loose coupl

12、ingINFS3204/7204-M717Interoperation INFS3204/7204-M718INFS3204/7204-M719Components of SOA Service in SOA is an exposed piece of functionality with 3 properties:lPlatform-independent lDynamically located and invoked lSelf-contained INFS3204/7204-M720Replaceable ComponentsOften need to represent sever

13、al different implementations of a particular component,where you need to lisolate requestors from change in the implementation lprovide access to many different flavors of that component,either at once or over time For example Insurance Broker sitelYoure building a web site that will provide custome

14、rs with Insurance quotes.To do so you have an agreement with several different Insurance companies to provide you with quotes.But you have a problem;each of the Insurance companies has a different mechanism for accepting quote requests and providing quotes to you.INFS3204/7204-M721Composable compone

15、ntsDo you need to take parts of your system and then compose them into a larger system in a configurable way?Invoking WSs in a specified order some services may be skipped(or rerun)depending on results of previous WSFor example,the Business Process Execution Language for Web Services (BPEL4WS)specif

16、ication describes how to compose Web Services into workflows INFS3204/7204-M722Integration with SOAInternal IntegrationlOnly worthwhile if the system is already functional and robustlCan be done with custom interfaces(e.g.screen scraping)orlUsing loosely coupled architectures and message-based proto

17、cols internal WSExternal IntegrationlCompanies communicate with messages such ascontracts purchase ordersInvoicesmonetary transactionsinsurance claims,and many more INFS3204/7204-M723Orchestration vs.ChoreographyIncludes execution order of web services interactionsDescribes process flowCan include b

18、oth internal and external web services,but process is always controlled by one partyTracks the sequence of messages involving multiple parties and sourcesAssociated with public message exchanges,not executable processesMore collaborative in naturewebservicewebservicewebserviceprocess flowwebservicew

19、ebservicewebservicecollaborationINFS3204/7204-M724Granularity of integrationOne great difficulty in developing a SOA lies in determining what the right level of integration granularity Needs to be relevant to the service consumer and combine appropriate flexibility with ease of assembly into the bus

20、iness processOften a more“large-grained”approach is betterlFor efficiencies sake you should avoid a fine-grained structure(network latency etc)lProtects the consumer from“unnecessary detail”A common model for each services is to manipulate significant documents using query,update,add,and delete meth

21、ods(object model approach with separate accessory methods for each property)Granularity issuesSOA allows fairly large chunks of functionality to be strung together to form ad hoc applications which are built almost entirely from existing serviceslThe larger the chunks,the fewer the interface points

22、required to implement any given set of functionalitylHowever,very large chunks of functionality may not be granular enough to be easily reusedThe great promise of SOA is that the marginal cost of creating the n-th application is almost zero,as all of the software required already exists to satisfy t

23、he requirements of other applicationslOnly orchestration is required to produce a new applicationINFS3204/7204-M625SOA developmentService-oriented AnalysisService-oriented DesignImplementationINFS3204/7204-M726Service-oriented AnalysisStep 1:define analysis scopelIdentify system specificationsStep 2

24、:define affected systemslIdentity affected legacy systems and reusable servicesStep 3:perform service modellinglIdentify services consideringService Reusability Service Autonomy Service Discoverability INFS3204/7204-M727Service modelling Entity ServicesTask Services Utility Services INFS3204/7204-M7

25、28Entity ServicesDefines the organizations relevant business entitieslE.g.,customer,employee,invoice,and claimRepresents a business-centric service that bases its functional boundary and context on one or more related business entitiesConsidered a highly reusable serviceKnown as entity-centric busin

26、ess services or business entity services INFS3204/7204-M729Task Services A business service with a functional context and scopelE.g.,add,search,submit and cancelTends to have less reuse potential and is generally positioned as the controller of a composition responsible for composing other servicesT

27、ask services are also known as task-centric business services or business process servicesINFS3204/7204-M730Utility Services Dedicated to providing reusable,cross-cutting utility functionalitylE.g.,event logging,notification,and exception handlingUtility services are also known as application servic

28、es,infrastructure services,or technology services INFS3204/7204-M731Delivery processesTop Down lTactically focused in that it makes the fulfilment of immediate business requirements a priority and the prime objective of the projectlAvoids the extra cost,effort,and timelImposes increased governance b

29、urden as bottom-up delivered services tend to have shorter lifespans and require more frequent maintenance,refactoring,and versioning lINFS3204/7204-M732Delivery processesBottom UplAdvocates the completion of an inventory analysis prior to the physical design,development,and delivery of services lDe

30、mands more of an initial investment because it introduces an up-front analysis stage focused on the creation of the service inventory blueprintlIndividually defined as part of this blueprint so as to ensure that subsequent service designs will be highly normalized and standardizedINFS3204/7204-M733S

31、ervice-oriented DesignOrchestrate the business logic,based on entity,utility,and task serviceslDifferent methods can be used,e.g.,activity diagram(using task services)lComplex systems often mix all types Service analysis results in a collection of services that establish the starting point for servi

32、ce designINFS3204/7204-M734ImplementationChoosing the development environmentlplatform,language,technologies etc.Coding&documentationTesting Running INFS3204/7204-M735General guiding principlesFor development,maintenance,and usage of the SOAlReuse,granularity,modularity,composability,and interoperab

33、ility lCompliance to standards(both common and industry-specific)lServices identification and categorization,provisioning and delivery,and monitoring and tracking INFS3204/7204-M736Specific architectural principlesFor design and service definition focusing on specific themes that influence the intri

34、nsic behaviour of a system and the design stylelEncapsulation:hide implementation lLoose coupling:minimizes dependencieslContract:communications agreementlAbstraction:hide logic from the outside world lReusability:logic is divided into services for reuse lComposability:services can be assembledlAuto

35、nomy:services have control over the logiclOptimization:high-quality services are preferredlDiscoverability:services are descriptiveINFS3204/7204-M737INFS3204/7204-M738Industrial StandardsOrchestration standards can simplify the creation of business processes involving web servicesMany“standards”lNo

36、clear winner.It is unclear where the industry is going with the various standardsMany proposals of“standards“every player tries to get the biggest piece of cakelBPEL4WS(IBM,Microsoft,BEA)merging of XLANG(Microsoft)and WSFL(IBM)lWSCI+BPML(Sun,SAP,Intalio and BEA!)as W3C Technical reportLimited number

37、 of supporting products(Collaxa,IBM BPWS4J)From:Chris Paletz“Web Services Orchestration.A review of emerging technologies,tools and standards”,Hewllett Packard Co,January 2003INFS3204/7204-M739Popular standardsWSCI/BPML has much richer choreography support and backing by W3C working groupBPEL4WS has

38、 major supporters behind it,with developer tools and documentation already availableBPEL4WSAbstractProcessesWSCIBPEL4WSExecutableProcessesBPMLBPEL4WS(IBM,Microsoft,BEA)WSCI/BPML(Sun,Intalio,SAP)CollaborativeProtocolsExecutableBusinessProcessesINFS3204/7204-M740BPMLBusiness Process Modeling Languagel

39、developed by BPMI.org(Intalio,Sterling,Sun,CSC)lmeta-language for describing business processes llanguage executed by a BPMS systemKey featureslbasic activities for sending,receiving,and invoking serviceslhandles conditional,sequential,and parallel activitieslpersistence,correlation,and composition

40、supportlsupports short and long-running transactionslrobust exception handling mechanismsIncorporated WSCI for web services choreographyINFS3204/7204-M741WSCIWeb Services Choreography InterfaceSpecification from Sun,SAP,Intalio,and BEADefines an XML language for web services collaborationDescribes t

41、he overall choreography,or observable behavior,between serviceslDoes not define executable processeslEach partner exposes their WSCI interfaceLayered on top of WSDLINFS3204/7204-M742WSCI featuresSupport for basic activities:leach activity specifies the WSDL operation involvedluse to define a basic r

42、equest/response messageluse to invoke external servicesSupport for structured activities:lsequential,parallel,and conditional loopingluse to specify a unordered actions to performSupport for business transactions and exceptions:ltransactional contexts can be defined in WSCIlany failure in a context

43、will result in all transactions in context being rolled backINFS3204/7204-M743BPEL4WSBusiness Process Execution Language for Web Serviceslspecification from IBM,Microsoft,and BEAlXML grammar describing the logic required to coordinate web services in a process flowlinterpreted and executed by an orc

44、hestration engineLayered on top of WSDLlevery process is exposed as a web service using WSDLlWSDL types are used to describe persistent informationlWSDL references specify calls to external servicesOrchestration features:lexecutable processes model an executable private workflowlabstract processes s

45、pecify a public message exchangeINFS3204/7204-M744BPEL4WSA layer on top of WSDLModels the behaviour of web services in a business process interactionControl logic required to coordinate web servicesIn current implementations interpreted and executed by an orchestration engine(centralized!)Support fo

46、r long transactions(compensations)Combine activity diagram and activity hierarchyINFS3204/7204-M745BPEL4WS process flowINFS3204/7204-M746SummaryThis week:lSOA:ConceptsDevelopment of SOAIndustrial standardsNext week:lGuest Lecture(CSIRO)INFS3204/7204-M747ReferencesMicrosoft FoodMovers examplelhttp:/ Service-Oriented Architecture Explainedlhttp:/ Web serviceslhttp:/ introduction to SOA.lhttp:/ Service and SOAlhttp:/www.service-

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!