Presentation is loading. Please wait.

Presentation is loading. Please wait.

Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE.

Similar presentations


Presentation on theme: "Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE."— Presentation transcript:

1 Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

2 SE, Servic Orientation, Hans van Vliet, ©2008 2 Overview Services, service description, service communication Service-Oriented Architecture (SOA) Web services SOSE: Service-Oriented Software Engineering

3 SE, Servic Orientation, Hans van Vliet, ©2008 3 Italian restaurant analogy Restaurant provides food: a service After the order is taken, food is produced, served, …: service may consist of other services The menu indicates the service provided: a service description The order is written down, or yelled at, the cook: services communicate through messages

4 SE, Servic Orientation, Hans van Vliet, ©2008 4 Main ingredients Services Service descriptions Messages Implementation: through web services

5 SE, Servic Orientation, Hans van Vliet, ©2008 5 Other example Citizen looking for a house: Check personal data System X Check tax history System Y Check credit history System Z Search rental agencies System A,B …

6 SE, Servic Orientation, Hans van Vliet, ©2008 6 Whats a service Platform-independent computational entity that can be used in a platform-independent way Callable entities or application functionalities accessed via exchange of messages Component capable of performing a task Often just used in connection with something else: SOA, Web services, …

7 SE, Servic Orientation, Hans van Vliet, ©2008 7 Whats a service, cntd Shift from producing software to using software You need not host the software Or keep track of versions, releases Need not make sure it evolves Etc Software is somewhere, deployed on as-needed basis SaaS: Software as a Service

8 SE, Servic Orientation, Hans van Vliet, ©2008 8 Key aspects Services can be discovered Services can be composed to form larger services Services adhere to a service contract Services are loosely coupled Services are stateless Services are autonomous Services hide their logic Services are reusable Services use open standards Services facilitate interoperability

9 SE, Servic Orientation, Hans van Vliet, ©2008 9 Service discovery Service registry Service provider Service requestor lookup bind publish

10 SE, Servic Orientation, Hans van Vliet, ©2008 10 Service discovery Rental agency 1 Rental agency 2 Municipality system Apartment (immediate, cheap) publish Agency 1 Apartment? Rental agreement Rental agency 1

11 SE, Servic Orientation, Hans van Vliet, ©2008 11 Service discovery Discovery is dynamic, each invocation may select a different one Primary criterion in selection: contract Selection may be based on workload, complexity of the question, etc optimize compute resources If answer fails, or takes too long select another service more fault-tolerance

12 SE, Servic Orientation, Hans van Vliet, ©2008 12 Is discovery really new? Many design patterns loosen coupling between classes Factory pattern: creates object without specifying the exact class of the object.

13 SE, Servic Orientation, Hans van Vliet, ©2008 13 Services can be composed Service can be a building block for larger services Not different from CBSE and other approaches

14 SE, Servic Orientation, Hans van Vliet, ©2008 14 Services adhere to a contract Request to registry should contain everything needed, not just functionality For normal components, much is implicit: Platform characteristics Quality information Tacit design decisions Trust promises? Quality of Services (QoC), levels thereof Service Level Agreement (SLA)

15 SE, Servic Orientation, Hans van Vliet, ©2008 15 Service discovery Rental agency 1 Rental agency 2 Rental agency 1 Municipality system Apartment (immediate, cheap) Agency 1 Apartment? Rental agreement

16 SE, Servic Orientation, Hans van Vliet, ©2008 16 Services are loosely coupled Rental agencies come and go No assumptions possible Stronger than CBSE loose coupling

17 SE, Servic Orientation, Hans van Vliet, ©2008 17 Services are stateless Rental agency cannot retain information: it doesnt know if and when it will be invoked again, and by whom

18 SE, Servic Orientation, Hans van Vliet, ©2008 18 Services are autonomous, hide their logic Rental agency has its own rules on how to structure its process Its logic does not depend on the municipality service it is invoked by This works two ways: outside doesnt know the inside, and vice versa

19 SE, Servic Orientation, Hans van Vliet, ©2008 19 Services are reusable Service models a business process: Not very fine grained Collecting debt status from one credit company is not a service, checking credit status is Deciding on proper granularity raises lots of debate

20 SE, Servic Orientation, Hans van Vliet, ©2008 20 Service use open standards Proprietary standards vendor lockin There are lots of open standards: How services are described How services communicate How services exchange data etc

21 SE, Servic Orientation, Hans van Vliet, ©2008 21 Services facilitate interoperability Because of open standards, explicit contracts and loose coupling Classical CBSE solutions pose problems: Proprietary formats Platform differences Etc Interoperability within an organization (EAI) and between (B2B)

22 SE, Servic Orientation, Hans van Vliet, ©2008 22 Overview Services, service description, service communication Service-Oriented Architecture (SOA) Web services SOSE: Service-Oriented Software Engineering

23 SE, Servic Orientation, Hans van Vliet, ©2008 23 Service-Oriented Architecture Architecture: the fundamental organization of a system in its components, their relationships to each other and to the environment and the principles guiding its design and evolution SOA: Any system made out of services?

24 SE, Servic Orientation, Hans van Vliet, ©2008 24 What is SOA? Infrastructure service layer Orchestration/coordination layer Business services layer service bus service logical physical

25 SE, Servic Orientation, Hans van Vliet, ©2008 25 Service bus Event-based messaging engine Origin: EAI, solve integration problems Often takes care of: Mediation: protocol translation, data transformation, etc Quality of Service issues: security, reliable delivery of messages, etc Management issues: logging, audit info, etc. Service discovery Can be central (broker, hub), or decentral (smart endpoints)

26 SE, Servic Orientation, Hans van Vliet, ©2008 26 Service coordination Orchestration: central control Choreography: decentral control

27 SE, Servic Orientation, Hans van Vliet, ©2008 27 Overview Services, service description, service communication Service-Oriented Architecture (SOA) Web services SOSE: Service-Oriented Software Engineering

28 SE, Servic Orientation, Hans van Vliet, ©2008 28 Web services Implementation means to realize services Based on open standards: XML SOAP: Simple Object Access Protocol WSDL: Web Services Description Language UDDI: Universal Description, Discovery and Integration BPEL4WS: Business Process Execution Language for Web Services Main standardization bodies: OASIS, W3C

29 SE, Servic Orientation, Hans van Vliet, ©2008 29 Coordination of Web services BPEL4WS WSDL Java WSDL Java WSDL Java

30 SE, Servic Orientation, Hans van Vliet, ©2008 30 Web services stack BPEL4WS WSDLUDDI HTTP, FTP, … SOAP composition description messages network discovery

31 SE, Servic Orientation, Hans van Vliet, ©2008 31 XML Looks like HTML Language/vocabulary defined in schema: collection of trees Only syntax Semantic Web, Web 2.0: semantics as well: OWL and descendants

32 SE, Servic Orientation, Hans van Vliet, ©2008 32 SOAP Message inside an envelope Envelop has optional header (~address), and mandatory body: actual container of data SOAP message is unidirectional: its NOT a conversation

33 SE, Servic Orientation, Hans van Vliet, ©2008 33 WSDL Four parts: Web service interfaces Message definitions Bindings: transport, format details Services: endpoints for accessing service. Endpoint = (binding, network address)

34 SE, Servic Orientation, Hans van Vliet, ©2008 34 UDDI Three (main) parts: Info about organization that publishes the services Descriptive info about each service Technical info to link services to implementation

35 SE, Servic Orientation, Hans van Vliet, ©2008 35 UDDI (cntd) Original dream: one global registry Reality: many registries, with different levels of visibility Mapping problems

36 SE, Servic Orientation, Hans van Vliet, ©2008 36 BPEL4WS Three main parts: Partnerlinks: dependencies between services: who sends what to whom Global variables Workflow model: program BPEL4WS is an orchestration language; executable WS-CDL (Web Services Choreography Description Language) is a choreography language; not executable

37 SE, Servic Orientation, Hans van Vliet, ©2008 37 Overview Services, service description, service communication Service-Oriented Architecture (SOA) Web services SOSE: Service-Oriented Software Engineering

38 SE, Servic Orientation, Hans van Vliet, ©2008 38 SOSE life cycle Service oriented analysis Service oriented design Service development Service testing Service deployment Service administration

39 SE, Servic Orientation, Hans van Vliet, ©2008 39 Terminology service oriented environment (or service oriented ecosystem) business process + supporting services application (infrastructure) service business service Task-centric business service Entity-centric business service hybrid service

40 SE, Servic Orientation, Hans van Vliet, ©2008 40 Terminology order fulfilment service purchase order service send utility service wrapper service customer profile service hybrid services business services infrastructure services entity-centric verify PO service task-centric notification service hybrid services business services infrastructure services task centric entity centric

41 SE, Servic Orientation, Hans van Vliet, ©2008 41 Strategies for life cycle organization Top-down strategy Bottom-up strategy Agile strategy

42 SE, Servic Orientation, Hans van Vliet, ©2008 42 Top-down strategy Service oriented analysis Service oriented design Service development Service testing Service deployment

43 SE, Servic Orientation, Hans van Vliet, ©2008 43 Top-down SO analysis Define enterprise business models Define enterprise service model Compose SOA Perform service oriented analysis Service oriented design.... step 1step 2 step 3step 4 step 1 step 4step 3 step 2

44 SE, Servic Orientation, Hans van Vliet, ©2008 44 Bottom-up strategy Model application services Design application service Develop application services Test services Deploy services application service = infrastructure service

45 SE, Servic Orientation, Hans van Vliet, ©2008 45 SO analysis SO design Develop services Test service operations Deploy services Revisit business (and process) services Top-down analysis on-going align with current state business models align with current state business models Agile strategy

46 SE, Servic Orientation, Hans van Vliet, ©2008 46 Service oriented analysis The process of determining how business automation requirements can be represented through service orientation

47 SE, Servic Orientation, Hans van Vliet, ©2008 47 Goals of SO analysis Appropriateness for intended use Identify preliminary issues that may challenge required service autonomy Define known preliminary composition models Service operation candidates Service candidates (logical contexts)

48 SE, Servic Orientation, Hans van Vliet, ©2008 48 3 Analysis sub-steps Service oriented analysis Service oriented design Define analysis scope Identify automation systems Model candidate services step 3 step 2 step 1...

49 SE, Servic Orientation, Hans van Vliet, ©2008 49 Step 1: Define analysis scope Mature and understood business requirements S = i Si, where smaller services may still be quite complex Can lead to process-agnostic services/service operations (generic service portfolio) services delivering business-specific tasks Models: UML use case or activity diagrams

50 SE, Servic Orientation, Hans van Vliet, ©2008 50 Order Fulfillment Process start receive PO validate PO PO valid Transform PO Import PO Send PO to queue stop Send notification yes no

51 SE, Servic Orientation, Hans van Vliet, ©2008 51 Step 2: Identify automation systems What is already implemented? encapsulate replace Models: UML deployment diagram, mapping tables

52 SE, Servic Orientation, Hans van Vliet, ©2008 52 Order Fulfillment Process start receive PO validate PO PO valid Transform PO Import PO Send PO to queue stop Send notification yes no already automated by Order fulfillment service same as previous same as previous (XML -> native format) (currently custom component) service candidate (into accounting sys.) service candidate (currently custom legacy) service candidate (to accounting clerk's work queue) same as previous

53 SE, Servic Orientation, Hans van Vliet, ©2008 53 Step 3: Model candidate services How to compose services? Service (candidates) conceptual model operations + service contexts SO principles Focus on task- and entity-centred services Models: BPM, UML use case or class diag.

54 SE, Servic Orientation, Hans van Vliet, ©2008 54 Example service operation candidates Receive PO document PO processing service Validate PO document (If PO document is invalid,) send rejection notification (and end process) Transform PO document into native electronic PO format >...

55 SE, Servic Orientation, Hans van Vliet, ©2008 55 Example business process logic Not service operation candidates if PO document is valid, proceed with the transform PO document step if the PO document is invalid, end process

56 SE, Servic Orientation, Hans van Vliet, ©2008 56 Task- versus entity-centred services Task-centred (+) direct mapping of business requirements (-) dependent on specific process Entity-centred (+) agility (-) upfront analysis (-) dependent on controllers

57 SE, Servic Orientation, Hans van Vliet, ©2008 57 Benefits of business-centric SOA introduce agility prepare for orchestration enable reuse

58 SE, Servic Orientation, Hans van Vliet, ©2008 58 Modeling Define analysis scope Identify automation systems Model candidate services step 3 step 2 step 1 identify agnostic service candidates filter out process-specific logic apply SO principles identify candidate service compositions identify application service operation/service candidates apply SO principles revise operation candidates grouping

59 SE, Servic Orientation, Hans van Vliet, ©2008 59 Entity Models Customer PO Employee Invoice Order 1 * * 1 1 1 * * 1 1 1 1 * 1 *

60 SE, Servic Orientation, Hans van Vliet, ©2008 60 Service modeling guidelines task-centric business service candidates reusability of encapsulated logic across processes

61 SE, Servic Orientation, Hans van Vliet, ©2008 61 Service modeling guidelines task-centric business service candidates reusability of encapsulated logic within a process...

62 SE, Servic Orientation, Hans van Vliet, ©2008 62 Service modeling guidelines identify logical units of work with explicit boundaries SO principle about autonomous services (hiding logic)...

63 SE, Servic Orientation, Hans van Vliet, ©2008 63 Service-oriented design: design sub-steps Service oriented analysis Service oriented design Compose SOA Design entity-centric business services Design infrastructure services step 3 step 2 step 1... Design task-centric business services step 4 Design SO business process step 5

64 SE, Servic Orientation, Hans van Vliet, ©2008 64 Entity-centric business services Customer PO Employee Invoice Order 1 * * 1 1 1 * * 1 1 1 * * 1 * Email Weekly hours Customer Hours billed... Goal: entity-centric business service layer + parent orchestration layer Receive PO document PO processing service Validate PO document (If PO document is invalid,) send rejection notification (and end process) Transform PO document into native electronic PO format >...

65 SE, Servic Orientation, Hans van Vliet, ©2008 65 Infrastructure services Infrastructure service layer Business service layer Orchestration/coordination layer PO processing service PO service Notification service Verify PO service Transform service

66 SE, Servic Orientation, Hans van Vliet, ©2008 66 Task-centric business services UML sequence diagram express and refine order of invocations implicit in the UML use case diagram Receive PO document PO processing service Validate PO document (If PO document is invalid,) send rejection notification (and end process) Transform PO document into native electronic PO format >... Verify PO service PO service Notification service get_PO [PO data] send_reject verify

67 SE, Servic Orientation, Hans van Vliet, ©2008 67 Summary Services have a long history (telephony) Most important characteristic: dynamic discovery of services SOA as architectural style Todays Web services mostly syntax-based Key design decisions in SOSE concern service layering, industry standards, and relevant SO principles SOSE differentiates from traditional life cycles mainly in the analysis and design phases


Download ppt "Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE."

Similar presentations


Ads by Google