Download presentation
Presentation is loading. Please wait.
Published byJesse Beasley Modified over 8 years ago
1
Service Layers 605.702 Service Oriented Architecture Johns-Hopkins University Montgomery County Center, Spring 2009 Session 6, Lecture 6: March 4, 2009 Instructor: T. Pole
2
Agenda Required Reading for This Week Chapter 9: Service Layers Today’s Presentation –Update on Chapter 8 –Today’s Lecture Text CH 9 –Class Assignments Exercise #4, Implementing a Service Composition –Review for Mid Term Exam Mid Term is next week Wednesday March 11, 2009
3
Ch 8 Principles of Service Orientation Additional notes on Chapter 8 have been added to the lecture notes for last week, Lecture 5 2/25/09 Check these notes in reviewing for the mid term exam next week
4
Chapter 9: Service Layers 9.1 SO and Contemporary SOA –Review table 9.1: how SOA characteristics are influenced by Web Service specs and SO principles 9.2 Service Layer Abstraction –The service layer is between the application layer and the business process layer (see Ch 8) –The implementation of the service interface layer is sub-divided into layers following one of several different models 9.3 Application Service Layer 9.4 Business Service Layer 9.5 Orchestration Service Layer 9.6 Agnostic Services 9.7 Service Layer Scenarios
5
9.2 Service Layer Abstraction Figure 9.2 shows the SOA layers WITHIN the single Service Interface Layer of the Enterprise Architecture –Business Process Layer Processes of the Enterprise, not just the IT systems –Service Interface Layer Orchestration Layer Business Service Layer –NOT the Business Process Layer Application Service Layer –NOT the Application Layer –Application Layer Legacy and Service Implementations
6
9.3 Application Service Layer Sits within the Service Interface Layer, and integrates with the Application Layer below Solution (Meaning business process) agnostic, are more generic and usually reusable across multiple biz processes Can also be used to integrate other application services Mixture of custom and COTS products Hybrids may cross the line between business and application logic
7
9.4 Business Service Layer Business services can be mapped to small grained or low level specific business processes and entities Business oriented services can be –Entity Centric –Task Centric –Not both, but a business service layer can be a mix of both. Usually will be primarily one or the other
8
9.5 Control or Orchestration Service Layer Introduces another type or service, the process service (aka but not synonymous with the controller service) Directly relates to a business process Controls other business, hybrid and application/utility services to automate a process Can be implemented in “non-technical” languages, e.g. BPEL
9
9.6 Agnostic Services Agnostic in this context can mean not bound to any one process –e.g. an entity based service can be used by multiple biz processes that involve that entity –e.g. a utility service is by definition a generic reusable service not bound to any business entity: task or entity based Exist with the application service layer or the business layer
10
9.7 Service Layer Scenarios There is no one layered model for the Service Interface Layer, some options are: –Single hybrid layer Common, doesn’t evolve well, brittle –Hybrid over utility Also common among mature software developers, reuse driven –Biz task centric over utility Often the goal for mature business centric developers –Task centric over entity centric over utility Common among mature systems, flexible, adaptable –Orchestration over hybrid over utility Better then single hybrid, but extending to new orch. difficult –Orchestration over task centric over utility Flexible, evolves well, flexibly adjusts to change
11
Exercise #4: Implementing a Service Composition SEAM Index ------------------ Register Asset FindAsset ClassifyAsset DocManager ------------------ StoreDoc GetDoc ClassifyAsset TextIndexer ------------------ IndexDoc QueryIndex TestConsumerUI
12
Exercise #4 Interface: Services and Operations SEAMIndex Service (New Service and Functions) –AssetID RegisterAsset( string AssetAsText ) –AssetID FindAsset( string Title, string Author ) –bool ClassifyAsset( string AssetID, string Class) TextIndexer Service (Wraps Legacy Component) –Bool StatusFlag IndexDoc( string DocAsText ) –AssetID[] QueryIndex( string Title, string Author ) DocManager Service (Wraps Legacy Component) –AssetID StoreDoc( string DocContent ) –string GetDoc( string DocID ) –bool ClassifyDoc( string DocID, string Classification )
13
Legacy Components API Supplied as C# Functions –TextIndexerAppLibrary boolIndexTerms( string Content ) String FindDocs( string Title, string Author ) –DocManagerAppLibrary string Store( string DocContent ) string Retrieve( string DocID ) bool Categorize( string DocID, string Category )
14
Integrating Legacy Apps Download complete applications assemblies from class web site –Integration Stubs available now –Fully functional projects will be published next week Add as projects to your solution
15
Review for Mid Term Exam Review of the previous lectures Q&A for Chapters 1 – 9 Review of Implementing Web Services and SOA Designs in Visual Studio/ASP.Net Additional Notes
16
SOA Implementation via Web Services in ASP.Net Exercise #1: Web Service Consumers –Web Reference What is it doing? What is its purpose? Exercise #2: Building a Web Service –What does a Visual Studio Web Service project generate? Exercise #3: Publishing a Web Service –What is published to the remote site?
17
Additional Notes: Service Oriented’ness When designing a service oriented architecture, ask yourself: –Is communication among services and consumers like a phone conversation or the exchange of standard forms –If it is like a phone call interview, it is chatty and not service oriented. A service is being performed, but each interaction in the system is only a piece of the complete service –If it is like an exchange of standard forms, and all the information required to perform the service is on that single initial form, and the information required is returned in a equally complete single form, it is service oriented Example: You need to determine if several checks you’ve written have cleared the bank.
18
Not Service Oriented Call the bank, the operator ask what your need is. You respond you wish to verify if these checks have cleared They ask you to identify your account and your person. They validate your identity and ask which checks: which numbers and what dates. You give them the check information, one check at a time. They verify each one at a time.
19
Service Oriented You fill out a form which includes your account information, personal identifiers, the service you want performed (verify checks have cleared), and the numbers of the checks. The response is another form listing the state of all the checks you have asked to have verified.
20
The Difference? They both perform the same business process They both have the same accuracy and completeness One is a complete service performed in one single step, and is service oriented The other is performed by many related interdependent steps, and is not
21
Summary Session 7: 3/11/09 –Mid Term Exam –Introduction of Class Week Spring Break the following week –Exercise #4 is due 3/25/09 –Specifications for Class Project will be presented
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.