Download presentation
Presentation is loading. Please wait.
Published byPoppy Malone Modified over 6 years ago
1
SOA in Action Chapter 10 B. Ramamurthy 1/16/2019
2
Motivation Different usage models for the same service: different protocols for access, different granularity, different access methods and endpoints Different design considerations are needed Typically multiple services are at work Consider these: does a service need to idempotent? Is it aggregation-friendly? Is it transaction-based or compensation-based? Asynchronous or asynchronous? 1/16/2019
3
Topics Different application models dictate different requirements:
Web application (10.1) EAI integration (10.2) B2B model (10.3) Fat client model (10.4) Small mobile device such cellular telephone access to services (10.5) Multi-channel access to services (10.6) 1/16/2019
4
Web Application General interaction pattern (fig.10-1)
Browser /web server security model: state maintained by web application (fig. 10-2) One time transaction (OTT) pattern (fig.10-3) While layer diagram was good for architectural model, semantics or logic for services interaction cannot be explained using the layer diagram We will look at sequence diagram and features provided by BPEL for this. 1/16/2019
5
Enterprise Application Integration (EAI)
Classify the applications as service providers and service consumers. Pattern: service provider/ service consumer Single sign-on, quality of service should be explicitly addressed. Service enablement strategies: create a service encapsulating the functionality provided by an existing application. Consider the transformation of a monolithic application into a service-oriented application. 1/16/2019
6
Service-enablement Monolithic application Visual part Non-Visual
1/16/2019
7
Service-enablement Application frontend interface!#1 Interface#2
logic 1/16/2019
8
Service-enablement Application frontend Application Application
interface!#1 Application Interface#2 Observe data encapsulation 1/16/2019
9
Service-enablement (SCA: Services Component Architecture)
Services infrastructure (Ex: ESB) Application frontend Service #1 Service #2 1/16/2019
10
Transform Granularity
Transform fine-granular interaction among distributed components into coarse-granular interaction pattern using facades. See fig.10.5 1/16/2019
11
Granularity of access Application frontend Traditional user interface
Façade #1 Façade #2 Services infrastructure 1/16/2019
12
EAI SOA EAI can drive an SOA
EAI is excellent driver for service enabling applications From business perspective EAI is introduced to simplify application infrastructure and to foster reuse. This is good motivation for resorting to SOA 1/16/2019
13
Stability and Upgradeability
Service stability and upgradeability are two of the most desirable features in an EAI environment. User and provider in different domains Backward compatibility Different versions are supported (see fig 10-6 and 10-7) EAI requires repositories to ensure stability and upgradeability. 1/16/2019
14
Business-to-Business (B2B)
In a B2B environment a corporation offers some service to another company over the public networks. Service consumer and provider benefit greatly from standardized protocols. Standards such as ebXML (UN/CEFACT), and RosettaNet are examples of standardization effort. Business process can be stateful, but services invocations can be stateless by using token identifying an interaction. Typical characteristics: stateless, location transparency, trusted domains 1/16/2019
15
B2B Stateless: enables interaction with remote customers over connections with high network latency. Much fewer constraints on the caller applications. Location transparency: real location transparency using service repositories. Change is a location of a service need to be updated only in the registries, caller need not be aware of this. Consider airline ticket with multiple legs of journey (Scenario is explained very nicely pp ) Service level agreements provides a mechanism for negotiation, guarantees, monitoring and enforcement of agreements. (See: web services standards WS-SLA) 1/16/2019
16
Fat Clients (Better: Rich Clients)
Rich Interface Applications (no need to install an .exe/xyz.war file to run an application) Ex: Google maps, mapquest Clients trusted by the local environment Check-in kiosk is a fine example 1/16/2019
17
Rich Client Example Checkin Kiosk Luggage Scale Boarding Pass printer
Luggage tag printer Card Reader Customer service Checkin service Ticket service 1/16/2019
18
Designing for smaller devices
How do you define a small device? Small footprint operating system, small screen (150X100 pixels), limited processing capability, small memory 256KB, limited data entry, connectivity to enable periodic synchronization with base and facilitate participation in an SOA. Lightweight security: information available on an identifier embedded in the device such as … 1/16/2019
19
Smaller devices in an SOA
Decouple the service invocation in the device from the actual service using an adapter that resides at a gateway server. Ex: SMS (short message service) messing instead of soap messaging until the gateway; gateway may translate into SOAP payload semantics to the actual service. MMS (Multimedia Service) 1/16/2019
20
Multi-channel Applications
A multi-channel application is characterized by a functional core that can be accessed through different channels by either humans or other programs. 1/16/2019
21
Multi-channel applications
1/16/2019
22
Multi-channel application
Start with fundamental SOA: only two layers: Enterprise layer with all the application frontends for the various channels and basic functional layer (fig ) A façade can be added at intermediary layer (fig ) If every channel requires its own channel-specific processing add a process layer with one service per frontend (fig ) 1/16/2019
23
Summary Use scenario diagram (UML standard) to discuss semantic flows among services Design the SOA based the application domain in which it needs to deployed. Which of the SOA is applicable to our KJ world? 1/16/2019
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.