软件工程教学课件:7-SOSE_第1页
软件工程教学课件:7-SOSE_第2页
软件工程教学课件:7-SOSE_第3页
软件工程教学课件:7-SOSE_第4页
软件工程教学课件:7-SOSE_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Software Engineering Service-oriented Software EngineeringTopics covered Service-oriented architectures (SOA) Services as reusable components Service engineering Software development with servicesWhat is SOA? Just like object a generation ago, services is nowthe killer buzzword. However, SOA is a of

2、tenmisunderstood topic in IT today.“My architect thinks its service-oriented, mydevelopers insist its object-oriented, and myanalysts wish it would be more business-oriented.All I can tell you is that it isnt what it was before westarted building Web services.”What are Services? Services may mean di

3、fferent things to differentpeople: Loosely coupled software components that interact with one another dynamically via standard Internet technologies (Gartner). A software application identified by a URI, whose interfaces and binding are capable of being defined, described, and discovered by XML arti

4、facts and supports direct interactions with other software applications using XML-based messages via Internet-based protocols (W3C).What are Services? A piece of business logic accessible via the Internet using open standards (Microsoft). Encapsulated, loosely coupled, contracted software functions,

5、 offered via standard protocols over the Web (DestiCorp). Services are self-contained, reusable software modules that are independent of applications and the computing platforms on which they run. Services have with well- defined interfaces and allow a 1:1 mapping between business tasks and the exac

6、t IT components needed to execute the task. (IBM)What is SOA? SOA definition is still evolving. A set of components which can be invoked, and whose interface description can be published and discovered (W3C). Service-oriented architecture is a client/server design approach in which an application co

7、nsists of software services and software service consumers (also known as clients or service requesters). SOA differs from the more general client/server model in its definitive emphasis on loose coupling between software components, and in its use of separately standing interfaces (Gartner).What is

8、 SOA? Service-Oriented Architecture is a business-driven ITarchitecture approach that supports integrating yourbusiness as linked, repeatable business tasks, orservices. SOA helps todays business innovate byensuring that IT systems can adapt quickly, easily andeconomically to support rapidly changin

9、g business needs.SOA helps customers increase the flexibility of theirbusiness processes, strengthen their underlying ITinfrastructure and reuse their existing IT investments bycreating connections among disparate applications andinformation sources. (IBM) A New Way of ThinkingA CD Player ExampleIf

10、you want to play it, you put your CD into a CD playerand the player plays it for you.The CD player offers a CD playing service. Which isnice because you can replace one CD player withanother.You can play the same CD on a portable player or onyour expensive stereo.They both offer the same CD playing

11、service, but thequality of service is different.The evolution of business Vertical1980s and Earlier1990s EcosystemThe New World/ Horizontal1980s and 1990s EcosystemThe New World How do I make my ITWhy Service-Orientation?Research &DevelopmentMarketingDistributed DataDistributed ComputationDistri

12、buted users.AccountingCustomer ServiceManufacturingSalesWhy Service-Orientation? Interoperation issues Heterogeneous network protocols Heterogeneous hardware platforms Heterogeneous operating systems Heterogeneous application formats There must be consensus On Interoperability ! Why Service-Orientat

13、ion?Changing Market DynamicsBusinessBusiness process decision-makingRigid organizational structureSlow and steady economic growthLong-term product lifecyclePassive operational risk managementTechnologyFixed CostsProprietary systemsLabor-intensiveUsers adapt to technologyStaticCollaborative, integrat

14、ed value netsDynamic, adaptive, learningUnpredictable fluctuationsShortening product lifecycleProactive risk managementIncreased focus on privacy and securityVariable costsOpen, integrated systemsSelf-healing, self-managing systemsTechnology adapts to usersOn DemandWhy Service-Orientation?Business d

15、rivers for a new approachTwo Pressures Heterogeneity Most enterprises today contain a range of different systems, applications, and architectures of different ages and technologies. ChangeGlobalization and e-business are accelerating the pace ofchange.Business Drivers New opportunities Innovative pr

16、oducts and services from the key differentiator to gain competitive edge. Ability to leverage technology to adopt newer business models, thus enabling more channels to earn revenue. Cost Savings Cost reduction through reduced Total Cost of Ownership adds to the bottom-line. Business Agility With cut

17、-throat competition, every missed business opportunity positions an enterprise below its competitors. The ability of an enterprise to quickly respond to various business stimuli will be key to survival. Faster time to market increases customer satisfaction and also customer loyalty. This results in

18、increased business and higher revenues. Ability to provide on demand service, in real-time 24/7. Seamless collaboration with partners and customers helps to improve service quality and time to market.SOA Business Values to IT Management Make interoperability an innate characteristic of IT applicatio

19、ns. Offer an easy way to speed time-to-market Respond quickly to changing business conditions Eliminate rework and maximize the value of existing assets.Technology Drivers Openness Dependency on external technology and platform vendors is a risk toan organization on which it has little control. Howe

20、ver, adopting openstandards mitigates this risk. Cost Saving Reduction in maintenance cost Increased reuse of investment in IT leads in to increased productivityresulting in increased ROI. Agility Loose coupling increased application agility and reduces time to market for a new application. Seamless

21、 scalability at minimal cost to cater to seasonal increase in load.Technology Drivers Software architecture design principles Abstraction Separation of concerns Anticipation of changes Design with reuseSolutionIn order to alleviate the problems of heterogeneity,interoperability and ever changing req

22、uirements,such an architecture should have the followingcharacteristics: Loosely coupled Location transparent Protocol independent Object-oriented analysis and design Component-based design Service-oriented design Layered application architecturesService LayerComponent LayerObject/Class LayerService

23、-oriented architecturesService: An executable unit of code that provides physicalblack-box encapsulation of related services. Its service canonly be accessed through a consistent, published interface thatincludes an interaction standard. A component must be capableof being connected to other compone

24、nts (through acommunications interface) to a larger group.A service is generally implemented as a course-grained,discoverable software entity that exists as a single instance andinteracts with applications and other services through a looselycoupled, message-based communication model.Service-oriente

25、d architectures Service-oriented architecture presents an approachfor building distributed systems that deliverapplication functionality as services to either end-user applications or other services.Elements of a service-oriented architectureFunctionsBusiness ProcessQuality of ServiceService Registr

26、yServiceManagementTransactionSecurityPolicyService DescriptionService Communication ProtocolTransportSOA collaborationsService roles Service registry Provides details of the range of services that are available (possibly from different providers) Service provider Hosts a service that can be accessed

27、 and used by external clients Service requestor Seeks a service to be incorporated into an application or a business processThe operations in a service-oriented architecture Publish: To be accessible, a service description must be published so that it can be discovered and invoked by a service consu

28、mer. Find: A service requestor locates a service by querying the service registry for a service that meets its criteria. Bind and invoke: After retrieving the service description, the service consumer proceeds to invoke the service according to the information in the service description.The artifact

29、s in a service-oriented architecture Service: A service that is made available for use through a published interface that allows it to be invoked by the service consumer. Service description: A service description specifies the way a service consumer will interact with the service provider. It speci

30、fies the format of the request and response from the service. architectures based on messaging systems such as IBM WebSpher recently, the SOA arena has expanded to include the World Wide W and Web Services.Services and distributed systemDistributed Systems ArchitectureService Oriented Architecture (

31、SOA)CORBA World Wide Web(WWW) WebServicesDCOMJ2EEOthersFigure 2-8 Different implementations of service-oriented architectureServices scenario An in-car information system provides drivers with informationon weather, road traffic conditions, local information etc. This islinked to car radio so that i

32、nformation is delivered as a signal ona specific radio channel. The car is equipped with GPS receiver to discover its positionand, based on that position, the system accesses a range ofinformation services. Information may be delivered in thedrivers specified language.Automotive systemHybrid system

33、The in-car system is an example of a hybrid system where local computation does not use a web service based approach (Too much computational and communication overhead) However, features that rely on external information or which require more processing than can be provided on-board (e,g, translatio

34、n) are accessed as services. Mobility means binding to different services depending on location.Benefits of SOA Leverage existing assets. Easier to integrate and manage complexity. More responsive and faster time-to-market. Reduce cost and increase reuse.Web service architecture“A Web service is a s

35、oftware application identified by a URI,whose interfaces and bindings are capable of being defined,described, and discovered as XML artifacts. A Web servicesupports direct interactions with other software agents usingXML-based messages exchanged via Internet-basedprotocols.”Web services = XML + tran

36、sport protocol ( HTTP)workflow techniques or by calling lower-layer Web services from a Webservice implementation. Figure 2-10 shows a typical WebWeb servicescollaboration 22a. Query Service2b. Returns theservice contractPublicUDDI1. Publish service ServiceConsumer3a. Invokeserviceaccordingto contra

37、ctInternet3b. RequestreachesWebServer3c. RequestreachesserviceproviderServiceProvider WebServerFigure 2-10 Web service collaborationWeb service standardsXML technologies (XML, XSD, XSLT, .)Support (WS-Security, WS-Addressing, .)Process (WS-BPEL)Service definition (UDDI, WSDL)Messaging (SOAP)Transpor

38、t (HTTP, HTTPS, SMTP, .)Key standards SOAP(Simple Object Access Protocol) A message exchange standard that supports service communication WSDL (Web Service Definition Language) This standard allows a service interface and its bindings to be defined UDDI (Universal Description, Discovery and Integrat

39、ion) Defines the components of a service specification that may be used to discover the existence of a service WS-BPEL (Business Process Execution Language for WebServices) A standard for workflow languages used to define servicecompositionOther standards A standards body exists (OASIS) to ratify se

40、rvice standards but it is not completely effective There are a huge number of proposed standards to support other aspects of SOA (e.g. security, dependability, QoS, etc.) but few of these standards have been agreed or accepted by the major vendors.Standards BodiesStandards,Web services stackcomposit

41、iondescriptionmessagesnetworkBPEL4WSWSDLUDDIdiscoverySOAPHTTP, FTP, Key features of Web services Web services are self-contained. Web services are self-describing. Web services are modular. Web services can be published, located, and invoked acrossthe Web.Web services are language independent and in

42、teroperable.Web services are inherently open and standards based.Web services are dynamic.Web services are composable.Service-oriented software engineering Existing approaches to software engineering have to evolveto reflect the service-oriented approach to softwaredevelopment Service engineering. T

43、he development of dependable, reusable services Software development for reuse Software development with services. The development ofdependable software where services are the fundamentalcomponents Software development with reuseServices as reusable components A service is a loosely-coupled, reusabl

44、e software component thatencapsulates discrete functionality which may be distributed andprogrammatically accessed. A critical distinction between a service and a component asdefined in CBSE is that services are independent Services do not have a requires interface Services rely on message-based com

45、munication with messages expressed in XML Services are stateless ie they do not maintain information from one invocation to anotherRPC vs message based interaction Component-based system generally use a style of interaction which is based on a remote procedure or method call i.e. the remote componen

46、t is called as if it was local. Middleware is used to manage this interaction. Services use a different approach based on message passing where all information about the service required is bundled into a single messageSynchronous interactionAn order as an XML message Web Service Description Languag

47、e The service interface is defined in a service description expressed in WSDL. This has been agreed as a standard and is generally adopted. The WSDL specification defines What operations the service supports and the format of the messages that are sent and received by the service How the service is

48、accessed - that is, the binding maps the abstract interface onto a concrete set of protocols Where the service is located. This is usually expressed as a URI (Universal Resource Identifier)Structure of a WSDL specificationWSDL service definitionIntroAbstract interface ConcreteimplementationXML names

49、pace declarationsType declarationsInterface declarationsMessage declarationsBinding declarationsEndpoint declarationsA WSDL description fragmentDefine some of the types used. Assume that the namespace prefixes ws refers to the namespace URI forXML schemas and the namespace prefix associated with thi

50、s definition is weathns. xs: complexType name = “pdrec” Definitions of MaxMinType and InDataFault hereA WSDL description fragment 2Now define the interface and its operations. In this case, there is only a single operation to return maximum and minimum temperatures Service engineering The process of

51、 developing services for reuse in service- oriented applications The service has to be designed as a reusable abstraction that can be used in different systems Involves Service candidate identification Service design Service implementationThe service engineering processService candidate identificati

52、on Three fundamental types of service Utility services that implement general functionality used by different business processes Business services that are associated with a specific business function e.g., in a university, student registration Coordination services that support composite processes

53、such as orderingService classificationTaskUtilityCurrencyconvertorEmployee locatorDocument stylecheckerWeb form to XMLconverterEntityBusinessValidate claimformCheck creditratingExpenses formStudentapplication formCoordinationProcess expenseclaimPay externalsupplierService identification Is the servi

54、ce associated with a single logical entity used indifferent business processes?Is the task one that is carried out by different people in theorganisation?Is the service independent?Does the service have to maintain state? Is a databaserequired?Could the service be used by clients outside the organis

55、ation?Are different users of the service likely to have different non-functional requirements?Example: Catalogue services Created by a supplier to show which goods can be ordered from themby other companies Service requirements Specific version of catalogue should be created for each client Catalogu

56、e shall be downloadable The specification and prices of up to 6 items may be compared Browsing and searching facilities shall be provided A function shall be provided that allows the delivery date for ordered items to be predicted Virtual orders shall be supported which reserve the goods for 48 hour

57、s to allow a company order to be placedCatalogue - Non-functional requirements Access shall be restricted to employees of accredited organisations Prices and configurations offered to each organisation shall be confidential Because different prices may be agreed for different customers The catalogue

58、 shall be available from 0700 to 1100 The catalogue shall be able to process up to 10 requests per secondCatalogue service operationsOperationMakeCatalogueDescriptionCreates a version of the catalogue tailored for a specific customer.Includes an o ptional parameter to create a downloadable PDFversio

59、n of the catalogue.Provides a comparison of up to 6 characteristics (e.g. price,dimensions, processor speed, etc.) of up to 4 catalogue items forcomparison.Displays all of the data associated with a specified catalogue item.This operation takes a logical expression and searches thecatalogue accordin

60、g to that expression. It displays a list of all itemsthat match the search expression.Returns the predicted delivery date for an item if it is ordered today.Reserves the number of items to be ordered by a customer andprovides item information for the customers own procurementsystem.CompareLookupSearchC

温馨提示

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

评论

0/150

提交评论