service layers
DESCRIPTION
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. Agenda. Required Reading for This Week Chapter 9: Service Layers Today’s Presentation Update on Chapter 8 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/1.jpg)
Service Layers
605.702 Service Oriented ArchitectureJohns-Hopkins University
Montgomery County Center, Spring 2009Session 6, Lecture 6: March 4, 2009
Instructor: T. Pole
![Page 2: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/2.jpg)
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
![Page 3: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/3.jpg)
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
![Page 4: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/4.jpg)
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
![Page 5: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/5.jpg)
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 LayerLegacy and Service Implementations
![Page 6: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/6.jpg)
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
![Page 7: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/7.jpg)
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
![Page 8: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/8.jpg)
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
![Page 9: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/9.jpg)
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
![Page 10: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/10.jpg)
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
![Page 11: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/11.jpg)
Exercise #4: Implementing a Service Composition
SEAM Index ------------------
Register Asset FindAsset
ClassifyAsset
DocManager ------------------
StoreDoc GetDoc
ClassifyAsset
TextIndexer ------------------
IndexDocQueryIndex
TestConsumerUI
![Page 12: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/12.jpg)
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 )
![Page 13: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/13.jpg)
Legacy Components API
• Supplied as C# Functions– TextIndexerAppLibrary
• bool IndexTerms( string Content )• String FindDocs( string Title, string Author )
– DocManagerAppLibrary• string Store( string DocContent )• string Retrieve( string DocID )• bool Categorize( string DocID, string Category )
![Page 14: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/14.jpg)
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
![Page 15: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/15.jpg)
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
![Page 16: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/16.jpg)
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?
![Page 17: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/17.jpg)
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.
![Page 18: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/18.jpg)
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.
![Page 19: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/19.jpg)
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.
![Page 20: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/20.jpg)
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
![Page 21: Service Layers](https://reader033.vdocuments.us/reader033/viewer/2022061416/56813931550346895da0daef/html5/thumbnails/21.jpg)
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