Introduction to Service Oriented Architecture (SOA)



Similar documents
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

AquaLogic Service Bus

A standards-based approach to application integration

Introduction to Service-Oriented Architecture for Business Analysts

Service Oriented Architecture

Service-Oriented Architecture and Software Engineering

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

Service Oriented Architecture 1 COMPILED BY BJ

Service Virtualization: Managing Change in a Service-Oriented Architecture

Service Oriented Architecture (SOA) An Introduction

Technical Track Session Service-Oriented Architecture

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Oracle SOA Reference Architecture

SOA Best Practices (from monolithic to service-oriented)

Service-Oriented Architectures

SOA Myth or Reality??

Service-Oriented Architecture: Analysis, the Keys to Success!

A Quick Introduction to SOA

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

API Management Introduction and Principles

Introduction to Service Oriented Architectures (SOA)

Enterprise Reference Architecture

Service Oriented Architecture

ITU-T Kaleidoscope Conference Innovations in NGN. Managing NGN using the SOA Philosophy. Y. Fun Hu University of Bradford

Increasing IT flexibility with IBM WebSphere ESB software.

An introduction to SOA and the HP NonStop server environment

Securely Managing and Exposing Web Services & Applications

SCA-based Enterprise Service Bus WebSphere ESB

Secure Identity Propagation Using WS- Trust, SAML2, and WS-Security 12 Apr 2011 IBM Impact

Government's Adoption of SOA and SOA Examples

Closer Look at Enterprise Service Bus. Deb L. Ayers Sr. Principle Product Manager Oracle Service Bus SOA Fusion Middleware Division

IBM WebSphere ESB V6.0.1 Technical Product Overview

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

ActiveVOS Server Architecture. March 2009

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

Definition of SOA. Capgemini University Technology Services School Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Table of Contents. 1 Executive Summary SOA Overview Technology Processes and Governance... 8

Increasing IT flexibility with IBM WebSphere ESB software.

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Developers Integration Lab (DIL) System Architecture, Version 1.0

JOURNAL OF OBJECT TECHNOLOGY

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

Building the European Biodiversity. Observation Network (EU BON)

Web Services and Service Oriented Architectures. Thomas Soddemann, RZG

Enterprise Integration EAI vs. SOA vs. ESB

Integration in Action using JBoss Middleware. Ashokraj Natarajan - Cognizant

Oracle SOA Suite: The Evaluation from 10g to 11g

What is the NXTware Evolution Server Peter Marquez, Product Marketing ecube Systems

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

How To Understand A Services-Oriented Architecture

Enterprise SOA Service activity monitoring

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Service-oriented architecture in e-commerce applications

An Open Policy Framework for Cross-vendor Integrated Governance

Leveraging Service Oriented Architecture (SOA) to integrate Oracle Applications with SalesForce.com

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Simplifying Processes Interoperability with a Service Oriented Architecture

Sentinet for BizTalk Server SENTINET

Extending SOA Infrastructure for Semantic Interoperability

Managing SOA Security and Operations with SecureSpan

AquaLogic ESB Design and Integration (3 Days)

ISM/ISC Middleware Module

Contents. Overview 1 SENTINET

Service Oriented Architectures

Fujitsu Service-Oriented Architecture (SOA) A Web Services Framework

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

The Way to SOA Concept, Architectural Components and Organization

Guiding Principles for Modeling and Designing Reusable Services

Introduction into Web Services (WS)

Redbook Overview Patterns: SOA Design with WebSphere Message Broker and WebSphere ESB

E-Business Technologies for the Future

Policy Driven Practices for SOA

E-Business Suite Oracle SOA Suite Integration Options

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

The Enterprise Service Bus: Making Service-Oriented Architecture Real

The Challenges in Real Life ESB Deployments

Core Feature Comparison between. XML / SOA Gateways. and. Web Application Firewalls. Jason Macy jmacy@forumsys.com CTO, Forum Systems

Classic Grid Architecture

Research on the Model of Enterprise Application Integration with Web Services

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

SONIC ESB 7. KEY CAPABILITIES > Connects, mediates and controls. KEY BENEFITS > Creates new processes using

What You Need to Know About Transitioning to SOA

Cisco AON Secure File Transfer Extension Module

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15

Vortex White Paper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

ESB Features Comparison

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Developing SOA solutions using IBM SOA Foundation

WebSphere Integration Solutions. IBM Day Minsk Anton Litvinov WebSphere Connectivity Professional Central Eastern Europe

IBM WebSphere application integration software: A faster way to respond to new business-driven opportunities.

Creating a Strong Security Infrastructure for Exposing JBoss Services

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL wann soll welche Komponente eingesetzt werden?

The webmethods ESB. The Foundation of your SOA. Jean-Michel Ghyoot, Principal Solution Architect, March 28, 2013

Transcription:

Introduction to Service Oriented Architecture (SOA) Hari Rajagopal Galileo International Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 1

Agenda Definitions Background SOA principles Case study Summary Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 2

Component Reusable unit of code, typically developed for a specific project or app that has been packaged in a way that it can be reused Typically a POJO (plain old Java object) Deals with the basic business objects Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 3

What Is a Service? More generic than a web service! Although that is how the majority are deployed A well defined unit of software that Performs a specific function Complete in itself Consistent interface Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 4

Classic View of a Service Provided by a provider Exposed via a directory Looked up and located by a consumer Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 5

View of a Service Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 6

Service Discovery Has not lived up to its promise XML is not 100% machine understandable RDF descriptions may be the key?? (Paul Giangarra devotes a section of his talk to this) Services are still handed to clients with documentation, API support groups handle issues Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 7

Enterprise Service Bus Is a standards based messaging platform that provides XML transforms, content based routing Can be used as the basis for implementing the transport layer of SOA Offerings from IBM, Fiorano, Soniq, Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 8

ESB Usage Patterns Router Broker Adapter transformer Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 9

Router Content based Typically introspects into the message and determines target endpoint Configurable using XSLT expressions Used for routing based on customer and/or framework cues inserted in the message stream Another case for keeping the pattern of interception active within the framework Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 10

Service Oriented Architecture An architecture that emphasizes: Coupling of existing and new architectures seamlessly Moves components out of silos into the mainstream Responsive and agile architecture Easy to rearrange and reassemble components Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 11

Where Did It Come From? SOA has been around in various guises Implementation has become easier due to the advent of WS-standards Some of these may sound familiar Object Brokers (ORB) RPC based brokers Middleware based integration mechanisms Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 12

Is a SOA Simply Web Services? Web Services are one possible means of implementing a SOA In the past, client-server SOAs have been attempted Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 13

SOA Functionality Base functionality of a SOA implementation: Deploy services within its domain Integrate the services and make them available Orchestrate the integrated services In a reliable fashion Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 14

SOA Structure Basic unit of a SOA framework is a service Integration usually occurs through open systems protocols (SOAP, JMS ) Orchestration is accomplished using BPEL4WS and the like Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 15

Service Network A application level network that leverages and implements a SOA Consists of various interacting applications that are composed of services (facilities) that are hosted within a SOA True enterprise integration and reuse Marketing may use same service as KM for charting Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 16

Service Network Boundaries Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 17

What Does a SOA Buy You? Reusable services Applications are composed of services rather than monolithic units Facilities provided by the SOA framework leave the developer free to code business logic Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 18

What Are the Participants? Servers (Web and application) Directories / registries Routers / brokers Enterprise Service Bus Transaction processing monitors Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 19

Case Study Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 20

Acronyms GDS Global Distribution Service Service provider in this case airlines, rental car companies, hotel chains Vendors see above, except now we have aggregators in the mix as well Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 21

SOA Implementations The classic build versus buy dilemma Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 22

Trade-offs Build Expensive In-house expertise needed Proprietary implementation Lack of input to standards bodies Buy Expensive (long term) In-house expertise needed to develop against Tied to vendor implementation Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 23

Open Source Offerings?? Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 24

Some Travel Company Primary business focus is the housing and supply of travel related information Air itineraries, hotel reservations, car rentals Question: How do we provide this information to different business units? How do we provide services to access this information to clients of the business units? Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 25

Solution 1 st phase expose traditional artifacts as SOAP based web services that are easily available to clients 2 nd phase house these services within a SOA framework such that they are reusable across the enterprise Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 26

Phase1 Put Web Service front ends on legacy assets such as GDS data These are housed on big-iron mainframes Expose these via XML based APIs Provide aggregated (higher level) services for the presentation tier Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 27

Flaws Revealed Data is still in the legacy format Scalability issues No way to bill for the transactions Versioning and cutover issues Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 28

Which Leads to the Following What are some of the facilities provided by a SOA? Security Service lifetime management Reliability Reporting & logging SLA management Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 29

First Steps in Implementing SOA Design and develop a messaging core Use standard protocols to interface with external entities Build with the philosophy of location transparency Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 30

First Steps in Implementing SOA (Continued) Build an agile core that is merely a message router (much like a bus) In the interests of scalability and security partition the implementation between the presentation and business tier (note: the codebase running on every tier is the same, one simply knows that it is a presentation layer box) Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 31

Architectural Layout client SOA framework Service(s) gateway broker Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 32

Building Blocks Apache Axis Fiorano ESB Tomcat DB2 Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 33

SOA Provides Services Too Infrastructure services are provided to developers Authentication of clients using the services Logging of transactions Security and DOS attack prevention Load based routing and balancing Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 34

Gateway Tasks In the previous slide, the gateway layer: Receives messages Verifies authenticity Performs format translation (more on this later) Routes to the appropriate service endpoint Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 35

Gateway Architecture Servlet based Uses filters to intercept and process messages Content based decision making ability Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 36

Authentication In this case since most clients were coming in using HTTPS and port 443 simple Basic authentication was used Authentication information is carried in the HTTP headers as encrypted data (base-64) Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 37

After Basic Authentication A token is carried out of band with the payload This call-context also contains correlation information for reconstituting audit info The token is re-asserted at various points along the way Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 38

Service Broker The broker serves as a lookup agent It also initializes the services and brings them into play Note: the services are dormant and waiting since the SOA framework startup (lazy init) Broker gets service information from the registry Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 39

Registry Information Service name Service version Service payload format Input type Output type Location of the service instance (URL) Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 40

Payload Formats Object or XML? XML usable by diverse client platforms Object performance gains XML appliances may make this a non-issue Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 41

Transcoding SOAP lingua franca is XML Objects work best for performance Solution transcode at the edge Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 42

Long Running Transactions Typically web service transaction times span more resources than we are used to ACID conditions may not be enforceable Can we relax any of these? Which ones? In some cases consistency is relaxable In others atomicity Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 43

Asynchronous Messages Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 44

Business Domain Model A common representation of the assets of the business Reusable across domains within diverse development environments Language neutral model to base services Ease of service interoperability Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 45

How Are Services Used? Located by name and version Accessed by clients that generate interfaces based on WSDL WSDL uses XML types that derive from the BDM Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 46

BDM Based Approach Develop your business model (UML) Generate XSD schema from the model Compose service interfaces from these business model schemas Generate language specific objects from these using binding frameworks Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 47

Routing Typically, gateways route to brokers within the framework This allows Load based routing Transparent routing to upgraded services Handling of version inconsistencies Consider the following example Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 48

Broker to Broker Call Client calls service A on a Service network Gateway authenticates the client Gateway determines whether the appropriate service version exists at that node Routes to the appropriate node in the domain Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 49

Alternate Scenario The version of the service requested by the client (based on attribute in the payload) is not found at this node Gateway: Looks up service info for that domain Finds an alternate Applies transform as needed (object > XML) Routes to the appropriate node Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 50

Deployment Strategy A rack of inexpensive bladeservers Identical codebase on each blade A spare pool of blades Addressable under a common Virtual IP Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 51

Summary Build a micro-broker routing core Build in SLA management from the get go Use COTS ESBs to build the transport backbone and do your transcoding Common business semantics (BDM) Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 52

So, Now That It s Built $1 million question is Will they come? Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 53

Service Level Agreements A Service Level Agreement (SLA) defines the minimum level of service that a client will tolerate or the business has contracted to provide Can make or break adoption of your services Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 54

Service Level Objectives The SLA with a client may be composed of one or more Service Level Objectives (SLO) These include: Response time Availability and uptime of service Accuracy of data returned Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 55

Example of a SLA United airlines contracts with a website provider that presents its fares to the public A customer shall have a mean response time of 5 seconds This shall be averaged over a month The accuracy (matching of quoted fares vs booked price) shall be within 5% Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 56

Backing Up Your Claims How do you deliver this level of service? Manage your application dynamically Monitor it so you can prove response times, accuracy, etc. in case of an audit (CYA) Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 57

Service Level Management Monitoring Is a service level threshold exceeded? Management Taking corrective measures to restore the level of service Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 58

Back to Our Case Study A COTS AmberPoint SLM manager Custom code to integrate the SLM manager with the SOA framework End result better uptime, faster response Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 59

SLM Approach Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 60

Business Process Control Now that services are built and available, how are they to be reused within the enterprise? Compose Meta services of the more granular services Orchestrate these using a standard mechanism Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 61

In Our Travel Domain Case Study Finer grained services would be: Air availability or Flight Information lookup Booking service Travel codes translator Credit card authorization service The finer grained services are rarely used directly by web clients exception being the TCT Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 62

Orchestration of Services What happens when a vendor changes, inventory is not available or a route to a GDS is unavailable on the network? Business rules defined in BPEL4WS automatically route the service to other resources to satisfy the request Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 63

Meta Service Trip Planner service Takes trip endpoints and returns an collated response that displays trip choices, different routes, schedules Uses FLIFO to get a list of possible routes and schedules Uses the travel codes translator to decode industry specific codes (DEN, LAX) Uses Destination Resolution services to display valueadds for the destination (golf packages, tours) Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 64

Orchestration Standards have jelled recently BPEL4WS is a joint effort of the following companies IBM Microsoft HP Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 65

Orchestration (Continued) BPEL4WS (the language) focuses on building services that are composed of other services The language defines a process in terms of a number of activities involving interacting partnerlinks BPEL process is itself a service Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 66

When Should We Use SOA? Use SOA principles everywhere that flexibility is desired ESB on the other hand is NOT a must have in all projects Typically an architecture that is geographically distributed can benefit from this As also process flows that are very asynchronous Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 67

What Next? Grids and autonomic computing Service network aggregation Dynamic discovery and request satisfaction??????????? Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 68

Related Presentations Two other sets of presentations, by Paul Giangarra Paul Freemantle If this presentation was interesting please check those out. Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 69

References http://www.serviceoriented.org http://www.ibm.com/developerworks http://builder.com.com/5100-6386- 5064520.html http://www- 136.ibm.com/developerworks/webservices Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 70

My Contact Info Grimgaunt@yahoo.com Hari.rajagopal@galileo.com Hari Rajagopal Introduction to Service Oriented Architecture (SOA) Page 71