Upload
braeden-lane
View
113
Download
2
Tags:
Embed Size (px)
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 Presentation
Citation preview
Service Layers
605.702 Service Oriented ArchitectureJohns-Hopkins University
Montgomery County Center, Spring 2009Session 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
– 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
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
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
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
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
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
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.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
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
Exercise #4: Implementing a Service Composition
SEAM Index ------------------
Register Asset FindAsset
ClassifyAsset
DocManager ------------------
StoreDoc GetDoc
ClassifyAsset
TextIndexer ------------------
IndexDocQueryIndex
TestConsumerUI
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 )
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 )
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
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
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?
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.
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.
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.
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
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