Service Oriented Architecture (SOA) [1/5] : Introduction to SOA

Post on 15-Jan-2015

2.105 views 2 download

Tags:

description

Presentation Series on SOA : September 2010

Transcript of Service Oriented Architecture (SOA) [1/5] : Introduction to SOA

Topic 1

Introduction to SOA

Assoc.Prof.Dr. Thanachart NumnondaSeptember 2010

www.imcinstitute.com

2

Agenda

Evolution of Enterprise Application Framework

What is SOA?

SOA Framework

3

Evolution of Enterprise Application Framework

About Enterprise Applications

• Things that make up an enterprise application– Presentation logic– Business logic– Data access logic (and data model)– System services

• The evolution of enterprise application framework reflects– How flexibly you want to make changes– Where the system services are coming from

Enterprise Architecture

Single Tier (Mainframe-based)

• Dumb terminals are directly connected to mainframe

• Centralized model (as opposed distributed model)• Presentation, business logic, and data access are

intertwined in one monolithic mainframe application

Two-Tier

• Fat clients talking to back end database– SQL queries sent, raw data returned

• Presentation,Business logic and Data Model processing logic in client application

Database

SQL requestSQL response

SQL request

Three-Tier (Web Server)

• Browser handles presentation logic

• Browser talks Web server via HTTP protocol

• Business logic and data model are handled by “dynamic contents generation” technologies (PHP, Servlet/JSP, ASP)

Database

SQL requestSQL response

HTML response

WEB Server

HTML request

N-Tier with Application Servers

• App Server handles business logic & System services

• Load balance, Tracsaction, concurrency, etc are automatically handle by App Server

• Two main technologies Java EE or .NET

10

Enterprise Frameworks [IDC 2007]

11

What is SOA?

12

Evolution into Service Oriented Model • Both industries (Electric & Computing) ahave

evolved into a service oriented model

13

Hype or Reality?

So What?SOA!?

Reuse

Encapsulate

The New EDI?

Remember CORBA?Web Services

Aligned

Cross-PlatformVendor Neutral

Multi-Vendor

Register & Discover

Described

StandardsFlexible IT

XML

Wrap & Reuse

Composability Legacy

Layering

Agile

Stateless

Loosely Coupled

Messaging

Integration

QoS

Federation

Transformation

On Demand

Autonomous

Interoperable

Extensible

Location Transparency

14

What is SOA?

Principles and practices for designing shared, reusable, distributed services

SOA Attributes:> Separation of service interface from underlying

implementation (loose coupling)‏> Promotes service reuse through discoverable and

self-describing services> Services are course-grained, composable, and rely

on a standards based infrastructure

15

Accidental Architecture?Silo Oriented Architecture

Rigid

Complex

Expensive

Slow to Market

Monolithic

Hard to Integrate

Mature information systems grow old disgracefully as successive waves of hacking result in accidental architectures which resist the reflection of on-going business process change.- Anthony Lauder & Stuart Kent; University of Kent. (2000)‏

16

Technical Challenges

17

The “Move” to Service Orientation

AccidentalRigid

Silo-Oriented

LayeredExtensible

Service-Oriented

18

Layering Principle

• Shared Network-based Layered Services

Process Layer

Access Layer

Service Layer

Resource Layer

19

SOA Architecture Layers

Resources

20

SOA Architecture Layers

• Resources– Operational Resources; e.g. CRM, ERP, HR,

Databases– Enterprise components; technologies e.g. Java, .NET,

CORBA, PHP

• Services– Selected components which have been developed as

services

– Can implement various way; e.g. Web Services– Normally has well defined interface; e.g. WSDL

21

SOA Architecture Layers

• Business Process– Represent powerful orchestration of one or more

services that solve a business problem– Business Process itself is a service of services

• Access – Front or User Interface that calls business process– Web Programming, Desktop, Dashboard– Can be implemented to run on various devices

Enterprise SOA Implementation

Reusable Services

Credit Card Mortgage

Partner Credit Data Customer Data

Internet

Bill PayAutoLoans Stocks

MutualFunds

Customer Data Service

AccessService

Credit Check

Fraud DetectionPaymentManagement

Service

TradeExecution

Service

AccessManager(Liberty)

ServicesRegistry(RegrepUDDI)

Interest Calc Balance Check

Back-End System Back-End System

CompositeApplicatio

ns

IncreasedAgility

23

Monolithic Systems

24

Reuse Services via Re-composition

25

SOA Value Proposition

• Reducing integration expense– Both development and maintenance cost by isolating

components and systems through well-defined interfaces and proper architecture layering.

• Increasing asset reuse• Increasing business agility

– Simplified Business Integration

• Reducing business risk– Both operational and compliance risk

26

SOA Value Proposition

• Faster time to market• Align IT and Business Units• Visible Business Process

27

SOA Definition (Re-caps)

28

AccountManagement

OrderProcessing

ServiceScheduling

The Root of the Problem

DataRepositories

Check Order Status

Check Credit

Check Customer Status

Check Inventory

Check Order Status

Check Inventory

Check Credit

Monolithic,IndependentApplications

Multiple CustomerViewsDispersed, unintegrated data

Check Inventory

Check Customer Status

FinanceSalesMarketing ExternalPartner

DataWarehouseCRM

29

IT Silo

CheckCustomer Status

Determine ProductAvailability

CheckCustomer Status

Determine ProductAvailability

VerifyCustomer Credit

Order Status

CalculateShipping Charges

Order Status

VerifyCustomer Credit

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

MonolithicApplications

AccountsManagement

OrderProcessing

FieldService

Scheduling

30

IT Silo

CheckCustomer Status

Determine ProductAvailability

Order Status

CalculateShipping Charges

Verify

Customer Credit

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

MonolithicApplications

AccountsManagement

OrderProcessing

FieldService

Scheduling

CheckCustomer Status

Determine ProductAvailability Order Status

Verify

Customer Credit

31 ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

Reuse Services Via Re-composition

ElementalBusinessServices

AccountsManagement

OrderProcessing

FieldService

Scheduling

DataRepository

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

32

Reuse Services Via Re-composition (cont.)‏

AccountsManagement

OrderProcessing

FieldService

Scheduling

DataRepository

ComposedBusinessProcesses

Installation Scheduling Process Customer Order Bill Presentment/Payment

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

ElementalBusinessServices

CheckCredit

CheckOrder Status

CreateInvoice

CheckCustomer Status

CheckInventory

Installation Scheduling

CheckCustomer Status

CheckInventory

33

ElementalBusinessServices

AccountsManagement

OrderProcessing

FieldService

Scheduling

DataRepository

ComposedBusinessProcesses

Installation Scheduling Process Customer Order Bill Presentment/Payment

CreateInvoice

CheckCreditCheck

Order StatusCheck

InventoryCheck

Customer Status

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

Process Customer Order

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

Reuse Services Via Re-composition (cont.)‏

34

ElementalBusinessServices

AccountsManagement

OrderProcessing

FieldService

Scheduling

DataRepository

ComposedBusinessProcesses

Installation Scheduling Process Customer Order Bill Presentment/Payment

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

Bill Presentment/Payment

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

CheckOrder Status

CreateInvoice

Reuse Services Via Re-composition (cont.)‏

35

ElementalBusinessServices

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

Business Processes Are Composed Hierarchicallyto Create Composite Applications

AccountsManagement

OrderProcessing

FieldService

Scheduling CompositeApps

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

36

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

OracleFinanceSystem

SiebelCRM

System

AS400Sales

System

CustomMarketingSystem

Shared Services – Composite Apps – Increased Functionality

AccountsManagement

OrderProcessing

FieldService

SchedulingAnother

OneManage

ExceptionOrders

SubmitChangeOrder

ElementalBusinessServices

37

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

ElementalBusinessServices

SOA Principles

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

AccountsManagement

OrderProcessing

FieldService

SchedulingAnother

OneManage

ExceptionOrders

SubmitChangeOrder

•Registered anddiscoverables

•Coarse-grained services

•WSDL-described•JBI-based

•Document-based•Mostly asynchronous

•Conversational•Reliable

38

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

ElementalBusinessServices

SOA Principles (cont.)‏

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketingSystem

AccountsManagement

OrderProcessing

FieldService

SchedulingAnother

OneManage

ExceptionOrders

SubmitChangeOrder

•Secure•Policy-driven

•Orchestrated

39

SOA Implementation Framework

40

SOA Framework

Resources

Services

Business Process

Access Layer

41

The most important SOA concepts

• Services• Self-describing interfaces with coarse granulation• Exchange of messages• Support for synchronous and asynchronous

communication

• Loose coupling• Service registries• Quality of service• Composition of services into business processes

42

SOA Framework

External/Internal Systems

Build Re-usable Services (ESB) ‏

Business Process Management (BPEL) ‏

User Interface + Single Window (Portal)

User Interface Dashboard (KPI) ‏

43

SOA Implementation

• Services Implementation– Various Programming– Web Services– Non Web Services; Legacy via adaptors

– Data Services => JDBC

• Message Exchange => XML Schema• Self-describing interface => WSDL• Comunication of Services & Management => ESB• Service Orchestration => BPEL, Human Workflow• Presentation => Portal, Web Programing

44

SOA Hardware Architecture

45

Key SOA Standards

46

Resources Layer

External/Internal Systems

47

Customer

BankManufacturer System1

Shipping

LineBank Custom System2 System3 SAP Databases

Resource Layers (cont.)‏

48

Customer

BankManufacturer System1

Shipping

LineBank Custom System2 System3 SAP Databases

Build Re-usable Services

Services Layer

49

Customer

BankManufacturer System1

Shipping

LineBank Custom System2 System3 SAP Databases

Services Layer (cont.)‏

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

50

Enterprise Service Bus (ESB) Enterprise Service Bus (ESB)‏ ‏

Components of Business Service Layer

Customer

BankManufacturer System1

Shipping

LineBank Custom System2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

51

Why ESB?

• In most enterprise, Web Services are not the only middleware solution.

– Only SOAP is not adequate for services connection

• Other middlewares products, messaging servers, Java EE, ORBs, Databases etc..

– Other binding communication protocols may be need; such as JDBC, JMS, Files, SMTP,MSMQ

• ESB acts as an intermediary layer of middleware to communicates between services using various protocols.

52

ESB : Features

• Provides communication between services via different protocols (Not only HTTP/SOAP)

• Message interception capabilities• Routing capabilities• Transformation capabilities• Control over the deployment, usage and

maintenance of services• Other important managements,

53

Business Service Layer – Protocols / Adapters

Customer

Bank

Manufacturer

(Mail)System1

Shipping

LineBank

Custom

(Web Services)

System2

(Legacy)

System3

(Legacy)SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

SAP

Adapter

Oracle

JDBCAdapter

AdapterFTP SMTP TCP/IP FTP FTP HTTP / SOAP

54

Business Service Layer – Data Format

Customer

BankManufacturer System1

Shipping

LineBank

Custom

(WebServices)System2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

SAP

Adapter

Oracle

JDBCAdapter

AdapterFTP SMTP TCP/IP FTP FTP HTTP/SOAP

EDIProprietary

FormatSWIFT FIX XML Table CSV

Data

Transformation

Data

Translation

Data

Enrichment

Data

Validation

55

Business Service Layer – Data Delivery

Customer

BankManufacturer System1

Shipping

LineBank Custom System2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

SAP

Adapter

Oracle

JDBCAdapter

AdapterFTP SMTP TCP/IP FTP FTP HTTP/SOAP

EDIProprietary

FormatSWIFT FIX XML Table CSV

Data

Transformation

Data

Translation

Data

Enrichment

Data

Validation

Queue Queue Topics Topics Topics Guaranteed Data Delivery

56

Business Service Layer – B2B Requirements

Customer

BankManufacturer System1

Shipping

LineBank Custom System2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

SAP

Adapter

Oracle

JDBCAdapter

AdapterFTP SMTP TCP/IP FTP FTP HTTP/SOAP

EDIProprietary

FormatSWIFT FIX XML Table CSV

Data

Transformation

Data

Translation

Data

Enrichment

Data

Validation

Queue Queue Topics Topics Topics Guaranteed Data Delivery

AuthenticationPartner

Management

Message

TrackingAuthorizationEncryption

Certificate

Management

57

Components of Business Service Layer

L/C

Check

P/RP/O

Product

Inland

Booking

Vessel

Booking

Distribute

Docus

Custom

Clearing

Billing

Service

Goods

Service

Order

ServicePurchasing

SAP

Adapter

Oracle

JDBCAdapter

AdapterFTP SMTP TCP/IP FTP FTP HTTP/SOAP

EDIProprietary

Format SWIFT FIX XML Table CSVData

Transformation

Data

Translation

Data

Enrichment

Data

Validation

Queue Queue Topics Topics Topics Guaranteed Data Delivery

AuthenticationPartner

Management

Message

TrackingAuthorizationEncryption

Certificate

Management

Customer

Bank

Manufacturer

(Mail)System1

Shipping

LineBank

Custom

(WebServices)

System2

(Legacy)

System3

(Legacy)SAP Databases

58

GlassFishESB, JMS Message Queue, Identity ManagementGlassFishESB, JMS Message Queue, Identity Management

OpenSource SOA

L/C

Check

P/RP/O

Product

Inland

Booking

Vessel

Booking

Distribute

Docus

Custom

Clearing

Billing

service

Goods

Service

Payment

Order

servicePurchasing

Customer

BankManufacturer System1

Shipping

LineBank Custom System2 System3 SAP Databases

59

Addition of Future Systems

Customer

BankManufacturer System1

Shipping

LineBank

Doc

Management

Future

System

Future

System

Future

System

Future

System

L/C

CheckProduct Accounting Booking

Doc

Retrieval

Future

ServiceBilling

Future

Service

Future

Service

Future

Service

60

ESB Products

• GlassFish ESB (OpenESB)• Java CAPS ESB• IBM WebSphere

• Oracle Fusion Middleware• Microsoft Biztalk• Apache Service Mix

ESB (Forrester Wave; 2009)

62

What is it?

Business Processes ManagementThe concept of Business Process Management [BPM] has its roots in

Operation Transformation and enables flexible design deployment, monitoring and tracking, process focus and efficiency.

63

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

Business Process Management (BPEL2.0) ‏

BPM Standards : WS4BPEL 2.0

64

BPEL

• Business Process Execution Language

• Based on XML• IBM, BEA and Microsoft developed the first

version in 2002• BPEL 2.0 is latest version

65

BPEL Editor

66

BPEL Designer Tools

• IDE can be used to write BPEL or BPMN

• Examples:– NetBeans 6.1/6.5– Eclipse– Oracle Jdeveloper 10g

– IBM WebSphere Studio

67

BPEL Server

• Provides a run time environment for executing BPEL

• Examples– GlassFishESB (via BPEL SE)

– Oracle BPEL Process Manager– Microosoft Biztalk– Sun Java CAPS– IBM WebSphere Business Integration Server – Active BPEL Engine

– Apache Agila

68

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

Business Process Management (cont.)‏

69

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

Business Process Monitoring

Business Process Monitoring

70

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

Open Source SOA

NetBeans (BPEL Designer); GlassFishESB (BPEL Server)

71

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

User Interface and Single Window View

Business Process Monitoring

User Interface + Single Window View

72

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

User Interface and Single Window View (cont.)‏

Business Process Monitoring

AccountsManagement

OrderProcessing

FieldService

SchedulingPersonalized

ServiceManage

ExceptionOrders

SubmitChangeOrder

73

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

OpenSource SOA

Business Process Monitoring

NetBeans (Visual JSF Prog), GlassFish, LifeRay Portal

74

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

Key Performance Indicators (KPI)‏

Business Process Monitoring

AccountsManagement

OrderProcessing

FieldService

SchedulingPersonalized

ServiceManage

ExceptionOrders

SubmitChangeOrder

Performance Measurement (KPI) ‏

75

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

Key Performance Indicators (KPI) (cont.)‏

Business Process Monitoring

AccountsManagement

OrderProcessing

FieldService

SchedulingPersonalized

ServiceManage

ExceptionOrders

SubmitChangeOrder

76

Customer

BankManufacturer System1

Shipping

LineBank

Courier

CompanySystem2 System3 SAP Databases

L/C

CheckProduct Accounting Booking

Distribute

Docus

Custom

ClearingBilling Payment Order Purchasing

OpenSource SOA

Business Process Monitoring

AccountsManagement

OrderProcessing

FieldService

SchedulingPersonalized

ServiceManage

ExceptionOrders

SubmitChangeOrder

NetBeans (iReport, JasperReport)

77

Open Source SOA Framework

External/Internal Systems

Build Re-usable Services (ESB) – openESB (GlassFish)

Business Process Management (BPEL) NetBeans / BPEL SE (GlassFish)

User Interface + Single Window – NetBeans (Visual JSF), GlassFish, LifeRay

Performance Measurement (KPI) – Jasper Report / NetBeans

78

Other OpenSource SOA

• ESB– JBoss ESB, Apache Service Mix 3.3

• BPEL DesignerTools, Servers– Eclipse, Active BPEL Engine,JBoss jBPM

• Web Server– Tomcat, JBoss

• Portal – JBoss Portal, Apache JetSpeed

79

Disadvantages of Open Source SOA• Having spoken about the various open source alternatives to

implement SOA into an enterprise we must also gauge the various risks and disadvantages associated with the Open source approach. Here are a few of them:-

• Most open source software applications are not reliable

• No support exists for open source software

• No guarantee of updates

• Significant problems connected to intellectual property

80

Resources

Some contents are borrowed from the presentation slides of Sang Shin, Java™ Technology Evangelist, Sun Microsystems, Inc.

Business Process Execution Language for Web Services, Matjaz B. Juric

Java SOA Cookbook, Eben Hewitt Service Oriented Architecture Field Guide for

Executives, Kyle Gabhart and Biphas Bhattacharaya

81

Thank you

thananum@gmail.com

www.facebook.com/imcinstitute

www.imcinstitute.com