25ebc298e6d6390c82c9a63adb27870b.ppt
- Количество слайдов: 78
INF 5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 3: 08. 02. 2010 Service Science and Service/SOA technologies Arne-Jørgen Berre ICT 1
INF 5120 - Lecture plan - 2010 n 1: 25/1: Introduction to MBSU, MDA, OO and Service/SOA modeling, Overall EA, 4 parts: MDE/SSS/MS/MDI (AJB) n n Part I: MDE – Model Driven Engineering 2: 1/2: MDE I: Metamodeling. DSL and UML profiles, MDA technologies (XMI, Eclipse, EMF/GMF) (AJB/BRE) n n Part II: SSS – Service Science and Service/SOA technologies 3: 8/2: SSS I: Service science (top down) - Service and SOA Technologies (bottom up) (AJB) n n n Part I continued: MDE – Model Driven Engineering 4: 15/2: MDE II: Model transformations with MOFScript, ATL and other technologies (GO/JO) 5 : 22/2: MDE III: Code generation with MOFScript, ATL and other technologies (GO/JO) n n n Part III: MOS – Modeling of Services - with Soa. ML 6: 1/3: MOS I: Business Process Modeling (CIM) - with BPMN 2. 0, Soa. ML and BMM, EA with UPDM (AJB) 7: 8/3: MOS II: UML 2 and Sys. ML, Modelio SOA and Scope, – Collaboration and Component models (AJB) 8: 15/3: MOS III: Soa. ML (PIM) and Requirements modeling , CIM->PIM and Soa. ML (AJB) 9: 22/3: MOS IV: Method Engineering and SPEM / EPF - for Service systems (BRE) n n n EASTER Part IV – Model Driven Interoperability 10: 12/4: MS V: SOA and Service Design, Migration to SOA/Cloud Patterns with ADM (AJB ) 11: 19/4: MDI I: Semantic Web with Ontologies and Model Driven Interoperability (TIR) 12: 26/4: MDI II: Semantic Services and Model Driven Interoperability (TIR) 13: 3/5: MDE IV: Evolution and industrial practice of modelbased technologies (AJB++) n 14: 10/5: Course summary and preparation for Exam 31/5 (AJB) n Exam: May 31 st, 2010 (Monday), 0900 -1200 (3 hours) ICT 2
Outline n L 3 -1: Service science (top down) n Service Science, Management, and Engineering n What is a service ? n Soa. ML definition of Service n L 3 -2: Service and SOA Technologies (bottom up) n Service-oriented architecture (SOA) n Web services architecture n UDDI n XSD n WSDL n BPEL n UML profiles for web service technologies ICT
Service Science and SSME (Service Science, Management, and Engineering) Adapted from SSME material from IBM Corporation 2006 - 2010 Ref: http: //www. ibm. com/developerworks/spaces/ssme ICT
What is SSME? n SSME is the application of n Scientific, management, and engineering disciplines to tasks that one organization beneficially performs for and with another (i. e. , services). n SSME goal n Make productivity, quality, performance, compliance, growth, and learning improvements more predictable in (co-production) relationships. n SSME is the study of service systems n Aimed at improving service systems ICT
Why is SSME important? n The world is becoming networked, dependent on information and information technology n Science will provide tools and methods to study services and develop solutions to problems that span multiple disciplines n Graduates may be solution designers, consultants, engineers, scientists, and managers who will grow into becoming entrepreneurs, executives, researchers, and practitioners ICT
Service innovation is inherently multidisciplinary Knowledge sources driving service innovations… Science & Engineering Social Sciences Technology Innovation Social-Organizational Innovation Business Administration and Management Business Innovation Demand Innovation Global Economy & Markets SSME = Service Sciences, Management, and Engineering ICT
Logical areas in SSME n Services n n What are services? Systems n n Services depend on socio-technical systems Management, marketing, & operations n n What’s different for services? Productivity & Innovation n n Do services resist productivity gains? Methods n n Delivery may depend on methods Developing Supply Chains to Support Service Operations n n Class discussion about how supply chain principles and processes are at work in service operations. Challenges, frameworks, call for participation n n Why SSME? Selected illustrative articles, cases or links n Other views included in each section ICT
SSME discipline target timeline Results Key Activities/Metrics SSME Launched 2004 § White papers § Initial discussions with university partners Establish Awareness 2004 -2006 § § Workshops Press articles Web sites Awareness in academia, industry, gov’t § Early adopters § SSME Summit Plan Adoption 2006 -2008 Embed 2008 -2010 Graduates and practice 2010 and beyond § Broadened awareness § SSME curriculum development § Cross-industry SSME focus and buy-in § Joint research projects/awards § Case studies developed Mobilize § SSME tools and programs growing § Service systems as complex systems § Government and foundation funding § SSME graduates § Industry training § Industry hiring plans § § § § Better trained workforce +Service innovation +Sales impact +Client satisfaction +Productivity +Efficiency +Learning speed on engagements Reinforce Execute ICT
What are Services ? n Attain a comprehensive definition of services n Give context to the study of services n Discuss history and early definitions of services n Discuss differences between products and services n Recognize modern thinking behind services dominant logic of economic exchanges ICT 10
Context and motivations n Services becoming the new hub of most modern economies n Services dominating current economic activities (U. S. Department of Commerce, 1995, p. 417) ICT
Percent employment in service jobs 1980 1987 1993 1999 USA 67. 1 71 74. 3 80. 4 Canada 67. 2 70. 8 74. 8 73. 9 Japan 54. 5 58. 1 59. 9 72. 4 France 56. 9 63. 6 66. 4 70. 8 Italy 48. 7 57. 7 60. 2 61. 1 China 13. 1 17. 8 21. 2 26. 4 (United Nations, 1999, p. ? ? ) ICT
Economic evolution of services Pre-Industrial Society Primarily agrarian economies 1800 s Classical and Neoclassic 1900 – 1950 s Early formative marketing Industrial Society Good dominate economies 1950 s Decision marketing school 1970 s Marketing management and experts Post-Industrial Society Information, knowledge, and quality of life economies 1980 s Customer fulfillment and satisfaction 2000 s Services dominant logic What was occurring during these time periods that may have influenced shifts in economies and changes in business? ICT
What is a service? Per Wikipedia (2006): In economics and marketing, a service is the non-material equivalent of a good. It is claimed to be a process that creates benefits by facilitating either a change in customers, a change in their physical possessions, or a change in their intangible assets. By supplying some level of skill, ingenuity, and experience, providers of a service participate in an economy without the restrictions of carrying stock (inventory) or the need to concern themselves with bulky raw materials. On the other hand, their investment in expertise does require marketing and upgrading in the face of competition which has equally few physical restrictions. ICT
Service dominant view n Three primary notions 1. Co-creation of value 2. Relationships 3. Service provisioning ICT
Provider-Client relationship n Provider n An entity (person, business, or institution) that makes preparations to meet a need n An entity that serves n Client n An entity (person, business, or institution) that engages the service of another n An entity being served n Some general relationship characteristics are that the client n Participates in the service process (also known as the service engagement) n Co-produces the value n The quality of service delivered depends on customers preferences, requirements, and expectations ICT
Service process matrix Degree of labor intensity the ratio of labor cost to capital cost Degree of interaction and customization ability of the client to affect specialization (Adapted from Lovelock (1983) and Fitzsimmons & Fitzsimmons (2003)) ICT
Nature of services act matrix ICT
Client relationship matrix ICT
Availability of services matrix ICT
Service demand variation matrix ICT
Service delivery matrix ICT
Distinguishing services from goods Inseparability § Services are created and consumed at the same time § Services cannot be inventoried § Demand fluctuations cannot be solved by inventory processes § Quality control cannot be achieved before consumption Consideration: Does the ability to tailor and customize goods to the customers’ demands and preferences mean that these goods also have an inseparability characteristic? Heterogeneity § From the client’s perspective, there is typically a wide variation in service offerings § Personalization of services increases their heterogeneous nature § Perceived quality-of-service varies from one client to the next Consideration: Can a homogeneous perception of quality due to customer preference idiosyncrasies (or due to customization) also benefit the goods manufacturer? ICT
Distinguishing services from goods Intangibility § Services are ideas and concepts that are part of a process § The client typically relies on the service providers’ reputation and the trust they have with them to help predict quality-of-service and make service choices § Regulations and governance are means to assuring some acceptable level of quality-of-service Consideration: Do most services processes involve some goods? Perishability § Any service capacity that goes unused is perished § Services cannot be stored so that when not used to maximum capacity the service provider is losing opportunities § Service capability estimation and planning are key aspects for service management Consideration: Do clients who participate in some service process acquire knowledge which represents part of the stored service’s value? What might the impact be? ICT
Current services thinking n A service is a provider-to-client interaction that creates and captures value while sharing risks n Services are value that can be rented n Services are the application of specialized competences (skills and knowledge) n Services are autonomous, platform independent, business functions ICT
What are some everyday services? n Transportation n Trains, planes, delivery n Hospitality n Hotels, restaurants n Infrastructure n Communications, electricity, water n Government n Police, fire, mail n Financial n Banking, investments n Entertainment n Television, movies, concerts n Professional Services n Doctors, lawyers, skilled craftspeople, project management ICT
Recipients of the service What is the service acting upon and how is it doing it? People Processing Possessions Processing Tangible Actions Service is aimed at people’s physical body Service is aimed at material items Intangible Actions Service is aimed at people’s psyche Service is aimed at information (Adapted from The Nature of the Service Act, Lovelock, 1983, p. 15) ICT
Example: Complex business-tobusiness services Business Transformation and Optimization On Demand Innovation Services Center for Business Optimization Component Business Modeling Consulting Services IT Services ICT
Service Systems Differentiation n Understand how to: n View services as a system and discuss what that means n Articulate key differentiators in a services system n Identify and articulate co-production membership n Understand how value is defined for a service system ICT 29
Service System Socio-technological System Any number of elements, interconnections, attributes, and stakeholders interacting to satisfy the request of a known client and create value Combination of natural and manufactured systems Humans, Processes, and Goods Interaction elements between sociological and mechanical aspects Customization activity Co-productive interaction between the provider and client Economic transaction and creation of value ICT
Model of Unified Services Theory (Sampson, 2004, p. 6) ICT
Open-Systems View of Service Operations (Fitzsimmons & Fitzsimmons, 2006, p. 30) ICT
Service-Profit Triangle Product and process formulation Firm High-quality internal services and good internal management Frontline employee Revenue growth and profitability Relationship Customer Value of service provided Low turnover Productivity Loyalty (Teboul, 2005, p. 33). ICT
Characteristics of emerging services Service Systems Engineering Characteristics Information. Driven Customer. Centric EOriented Productivity. Focused Wholesale & Retail: Mass Customization X X Business & Professional: “Early Warning” System X Education: Internet-Based Distance Learning X Government: Crime “Hot Spots” X Health Care: Medical Triaging X X Finance, Insurance & Real Estate: Internet-Based Auctions X X Transportation: Airline Passenger Screening X X X Communications: Real-Time Routing X X X Example Emerging Services X X X ICT
Typology of services experiential extending enabling creative entrusted core service experience information regulation quality of life problem solving ICT
Soa. ML definition of service A service is value delivered to another through a well-defined interface and available to a community (which may be the general public). A service results in work provided to one by another. ICT 36
Service-oriented architecture (SOA) and Web Service technologies ICT
Outline n Service-oriented architecture (SOA) n Web services architecture n UDDI n XSD n WSDL n BPEL n UML profiles for web service technologies ICT
OASIS Reference Model for Service Oriented Architecture 1. 0 n OASIS n http: //www. oasis-open. org/home/index. php n Abstract framework. n Understanding significant entities and relationships between them within a service-oriented environment. n Development of consistent standards or specifications supporting serviceoriented environment. n Based on unifying concepts of SOA and may be used by n architects developing specific service-oriented architectures n in training and explaining SOA. n Reference model not directly tied to any standards, technologies or other concrete implementation details n Provide a common semantics that can be used unambiguously across and between different implementations. n The reference model focuses on the field of software architecture. ICT
What is an SOA n Service-oriented architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. n Visibility, interaction, and effect are key concepts for describing the SOA paradigm. n Visibility refers to the capacity for those with needs and those with capabilities to be able to see each other. n Whereas visibility introduces the possibilities for matching needs to capabilities (and vice versa), interaction is the activity of using a capability. n The purpose of using a capability is to realize one or more real world effects. At its core, an interaction is “an act” as opposed to “an object” and the result of an interaction is an effect (or a set/series of effects). ICT
Principal concepts Service description: The information needed in order to use, or consider using, a service. Visibility: The capacity for those with needs and those with capabilities to be able to interact with each other. Execution context: The set of technical and business elements that form a path between those with needs and those with capabilities and that permit service providers and consumers to interact. Real world effect: The actual result of using a service, rather than merely the capability offered by a service provider. Service: The means by which the needs of a consumer are brought together with the capabilities of a provider. Policy: A statement of obligations, constraints or other conditions of use of an owned entity as defined by a participant. Interaction: The activity involved in making using of a capability offered, usually across an ownership boundary, in order to achieve a particular desired realworld effect. ICT
• BMM • BPMN • … annotated with Enterprise Model Business Requirements Analysis Reference Ontology Modelling approach for SOA Enterprise Model to Model Transformation Architecture Specification UML Profile for SOA (Soa. ML) annotated with Service-Oriented Architecture Model to Model Transformation UML Profile for Web Services annotated with Web Service Specification Model UML Profile for Agents Agent Specification Model BPEL Specification Model to Text Transformation P 2 P Specification Model Web Service Execution Artefacts Agent Execution Artefacts BPEL P 2 P Execution Artefacts Deployment Service Wrappers (Enterprise X) Public Infrastructure Services (Enterprise Y) Registry Repository Semantic Space Execution Infrastructure Internal Infrastructure Services Cross org. Service Wrappers (Enterprise A) Evaluation & Negotiation of Available Functionality Process Execution Platform (BPEL) Goal oriented Adaptive Execution Platform (Agents) Adaptive Distributed Resource Mgt Platform ( Active Model Platform AKMii ) ( Intra org. Composed Web. Service Platform Web. Services ) Enhanced Service Interconnection Bus (P 2 P) Legend Business Process/Agent Active (Business) Model Web/Server Component Server side Component Platform (. NET, J 2 EE) Message Oriented Platform ( UML Profile for P 2 P Model Transformation annotated with OWL Ontology UML Profile for BPEL Existing Enterprise Applications MQSeries ) Middleware Process/Agent Middleware Component ICT
Typical Architecture of Web-based solutions ICT
Web services stack Conceptual stack Technology stack ICT
Web service metamodels ICT
UDDI Registry Universal Description, Discovery and Integration 4. SW companies, standards bodies, and programmers populate the registry with descriptions of different types of services 1. Marketplaces, search engines, and business apps query the registry to discover services at other companies 2. UDDI Business Registry Businesses populate the registry with descriptions of the services they support Business Registrations 3. 5. Service Type Registrations UBR assigns a programmatically unique identifier to each service and business registration Business uses this data to facilitate easier integration with each other over the Web ICT
XSD: UML profile for XSD n UML representation of XML schema. n Useful in a UML-centric development method if the modelling environment supports generation/import of XSD documents. ICT
XSD metamodel (simplified) ICT
UML profile for XSD (1) ICT
UML profile for XSD (2) ICT
UML profile for XSD (3) ICT
Web Services Description Language (WSDL) n Purpose n Web services need to be defined in a consistent manner so that they can be discovered by and interfaced with other services and applications. n The Web Services Description Language is a W 3 C specification providing the foremost language for the description of Web service definitions. - W 3 C, "Web Services Description Language (WSDL) Version 2. 0 Part 1: Core Language", World Wide Web Consortium (W 3 C), W 3 C Working Draft, 3 August 2004. http: //www. w 3. org/TR/2004/WDwsdl 20 -20040803/ ICT
WSDL: Description n XML-based language for describing functional properties of Web services. n A service consists of a collection of message exchange end points. n An end point contains an abstract description of a service interface and implementation binding. n The abstract description of a service contains: n (i) definitions of messages which are consumed and generated by the service n (ii) signatures of service operations. n The implementation binding provides a means to map abstract operations to concrete service implementations. n It essentially contains information about the location of a binding and the communication protocol to use (e. g. , SOAP over HTTP) for exchanging messages ICT
WSDL 1. 1 metamodel WSDL Component WSDL Document A container for data type definitions 0. . 1 Include + Location Import + Name. Space + Location A collection of related endpoints 0. . * 0. . 1 Element + Name + Target. Name. Space + Name 0. . * + Name An abstract, + Base. Type + typed definition. Min. Occurs + Max. Occurs of the data being communicated 1. . * Port 0. . * + Name 0. . 1 A concrete protocol and data format specification for a particular port type Part 0. . * Message 1 1 Binding + Target. Name. Space Definition Service A single endpoint defined as a combination of a binding and a network address Schema Types 0. . * Port Type + Name +fault 0. . 1 + Name + Type + Element +output +input + Name 1 1 An abstract set of operations supported by one or more endpoints 1. . * Operation + Name An abstract, description of an action supported by the service ICT
Changes in WSDL 2. 0 n Removal of Operation overloading n Port. Type renamed to Interface n Interface inheritance n Port renamed Endpoint n Extended repertoire of Message Exchange Patterns. ICT
WSDL 2. 0 metamodel +extended interfaces Interface 0. . * +interfaces + name : wsdls_NCName + target namespace : wsdls_any. URI 0. . * Definitions +interface 0. . 1 +bindings 0. . * Binding 1 +interface +faults Interface Fault + name : wsdls_NCName 0. . * + target namespace : wsdls_any. URI +fault reference 1 + name : wsdls_NCName + target namespace : wsdls_any. URI + type : wsdls_any. URI 1 +fault reference 0. . * +properties Property +properties 1 +properties 0. . * + name : wsdls_any. URI +faults +binding + required : wsdls_boolean 0. . * +properties 0. . * Binding Fault 0. . * +properties +features +properties 0. . * +operations 0. . * +properties 0. . * +properties +features Feature Interface Operation 0. . * +operations +features + name : wsdls_any. URI 0. . * +operation reference name : wsdls_NCName + 0. . * + required : wsdls_boolean Binding Operation + target namespace : wsdls_any. URI +features 0. . * + message exchange pattern : wsdls_any. URI +features 0. . * 1 +features + style [0. . *] : wsdls_any. URI +features 0. . * + safety : wsdls_boolean 0. . * +message references 0. . * Binding Message Reference + message label : wsdls_NCName + direction : wsdls_token +services +fault references 0. . * +message references 0. . * Message Reference + message label : wsdls_NCName + direction : wsdls_token + message content model : wsdls_token Fault Reference + message label : wsdls_NCName + direction : wsdls_token 0. . * Service + name : wsdls_NCName + target namespace : wsdls_any. URI Endpoint +endpoints name : wsdls_NCName + + address : wsdls_any. URI 1. . * ICT
UML profile for WSDL (1) ICT
UML profile for WSDL (2) ICT
UML profile for WSDL (3) UML representation Text representation ICT
Web Services Business Process Execution Language (WS-BPEL) n Description n WS-BPEL (or BPEL for short) is a language based on XML that allows for n n n controlling the process flow of a set of collaborating Web services. BPMN was developed as a graphical notation both for humans and for direct mapping to BPEL (See later in the course) It can be seen as a (business) extension to the Web services paradigm. Partner interaction is based on the notion of peer-to-peer interaction between Web services. BPEL introduces concepts to express the peer-to-peer conversational relationships between services. Partner links specify the services that a business process interacts with and is introduced as a WSDL extension element. - T. Andrews, F. Curbera, H. Dholakia, Y. Goland, J. Klein, F. Leymann, K. Liu, D. Roller, D. Smith, S. Thatte, I. Trickovic, and S. Weerawarana, "Business Process Execution Language for Web Services Version 1. 1", May 2003. ftp: //www 6. software. ibm. com/software/developer/library/ws-bpel. pdf ICT
BPEL language n XML notation n Interaction with other Web services: n <receive>. Wait for an incoming message. Typically at the process start n <invoke>. Call another Web service n <reply>. Send a response message from the entire BPEL service n Control flow n <sequence>. Sequential control flow n <flow>. Parallel control flow n <switch>. Conditional branching n <while>. Loop n Data flow n <variable>. Defines the data objects involved n <assign>. Copy a data object from one variable to another possibly w/ data transformation ICT
Web service composition n BPEL is a Web service composition language. n It defines how to compose other Web services so to accomplish a more complex task. n A BPEL engine is capable of executing the composite service described by BPEL. n The outcome will be a composite BPEL-defined Web service which itself can be regarded as a Web service. ICT
BPEL simplified view A BPEL process is a composite Web service with a WSDL description. ICT
BPEL roles in the Web services world n As a public specification of abstract services protocols n business partners can supply precise information about semantics of a service and its message properties. . . n. . . without revealing internal (opaque) details of implementation n As an intermediate language for implementing business processes n relatively portable n extensible for platform-specific operations possible n As a programming language for Internet-scale distributed applications n n messaging concurrency error handling. . . ICT
BPEL foundations ICT
BPEL details n Two Uses n Executable process descriptions n Business protocol descriptions – Abstract processes WSDL Port. Type Process Partner - Links n Partner links n Paired WSDL interfaces n Correlation sets Bind messages to process/activity instances. n Endpoint references n Partner n Grouping constraint on partner links to a single business partner. n Process Activities n Basic - assign, throw, terminate, wait, empty, compensate n Partner interaction - receive, reply, invoke n Structured - sequence, switch, while, pick, flow, scope ICT
BPEL process and scope activities <process/> only Partner Links Variables Partners Correlation Sets Fault Handlers Compensation Handler Event Handlers Primary Activity Message variables shared by activities in <scope/> Correlation sets for associating messages with process/activity instances Install special purpose activities in scope Compensation of completed scopes ICT
BPEL example ICT
PO : POMessage receive flow shipping. Info shipping. Schedule sequence reply Invoice : Inv. Message ICT
WSDL port type XML syntax <port. Type name="purchase. Order. PT"> <operation name="send. Purchase. Order"> <input message="pos: POMessage"/> <output message="pos: Inv. Message"/> <fault name="cannot. Complete. Order" message="pos: order. Fault. Type"/> </operation> </port. Type> ICT
Partner link types ICT
Purchase order WSDL <message name="POMessage"> <part name="customer. Info" type="sns: customer. Info"/> <part name="purchase. Order" type="sns: purchase. Order"/> </message> <message name="Inv. Message"> <part name="IVC" type="sns: Invoice"/> </message> <message name="order. Fault. Type"> <part name="problem. Info" type="xsd: string"/> </message> <message name="shipping. Request. Message"> <part name="customer. Info" type="sns: customer. Info"/> </message> <message name="shipping. Info. Message"> <part name="shipping. Info" type="sns: shipping. Info"/> </message> <message name="schedule. Message"> <part name="schedule" type="sns: schedule. Info"/> </message> ICT
BPEL Process <process name="purchase. Order. Process" xmlns="http: //schemas. xmlsoap. org/ws/2003/03/business-process/"> <partner. Links> <partner. Link name="purchasing" partner. Link. Type="lns: purchasing. LT" my. Role="purchase. Service"/> <partner. Link name="invoicing" partner. Link. Type="lns: invoicing. LT" my. Role="invoice. Requester" partner. Role="invoice. Service"/> <partner. Link name="shipping" partner. Link. Type="lns: shipping. LT" my. Role="shipping. Requester" partner. Role="shipping. Service"/> <partner. Link name="scheduling" partner. Link. Type="lns: scheduling. LT" partner. Role="scheduling. Service"/> </partner. Links> ICT
BPEL process <sequence> <receive partner. Link="purchasing" port. Type="lns: purchase. Order. PT" operation="send. Purchase. Order" variable="PO"/> <flow> <links> <link name="ship-to-invoice"/> <link name="ship-to-scheduling"/> </links> <sequence> <assign> <copy> <from variable="PO" part="customer. Info"/> <to variable="shipping. Request" part="customer. Info"/> </copy> </assign>. . . ICT
BPEL process <invoke partner. Link="shipping" port. Type="lns: shipping. PT" operation="request. Shipping" input. Variable="shipping. Request" output. Variable="shipping. Info"> <source link. Name="ship-to-invoice"/> </invoke> <receive partner. Link="shipping" port. Type="lns: shipping. Callback. PT" operation="send. Schedule" variable="shipping. Schedule"> <source link. Name="ship-to-scheduling"/> </receive>. . . ICT
UML profile for BPEL (1) ICT
UML profile for BPEL (2) ICT
UML profile for BPEL (3) ICT
25ebc298e6d6390c82c9a63adb27870b.ppt