45
Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

  • View
    226

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Object-Orientation in SOA

SNU iDB Lab.Chong-Su Chang

SNU MES Lab.Young-sub Kwon

April 11, 2007

Page 2: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Contents

CBD limitations What is SOA ? Business process design SOA Case Directions for SOA’s Technical Innovation Reference

Page 3: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

WebServices

CORBAComponent

ModelEJB

RMI

Change paradigmChange paradigm

CORBA

RPC

Socket

Service –Oriented Architecture

Service –Oriented Architecture

Distributed Component Model

Distributed Component Model

Distributed Object Model

Distributed Object Model

Distributed Structure Model

Distributed Structure Model

Client/Server Model

Client/Server Model

Page 4: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

CBD limitations (1/5) Tightly-coupled

fast, safety, least error Difficulty of reusability, maintenance

DCOMDCOMclientclient

DCOMDCOMComponentComponent

EJBEJBCORBACORBAclientclient

Dependence on program model• Difficulty of Interoperability

Dependence on program model• Difficulty of Interoperability

Integration Layer increase Complexity Difficulty of maintenance

Integration Layer increase Complexity Difficulty of maintenance

Fire

wall

Fire

wall

Connection is not perfectConnection is not perfect

Platform dependent COM+ - Microsoft, J2EE

– Java

Page 5: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Example: The unification of heterogeneous system

CBD Infrastructure

Linux system

CORBA

Application “C”Written in C++

Application “B”Written in C#

DCOM

Windows system

Application “A”Written in Java

EJB

Unix system

CBD limitation (2/5)

Page 6: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Example: The unification of heterogeneous data

CBD Infrastructure

Decision SupportSystem

Oracle

SQL

PeopleSoft

SAP

CBD limitation (3/5)

Oracle

EJBEJB

DCOMDCOM

CORBACORBA

PeopleSoft

CORBACORBA

COMCOM

COM+COM+

Page 7: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

CBD limitations (4/3)

Focus of implementation business object Ignore business process

Addition work confirmation

Process exit

Requested time comparison

Does time equal ?

Process Flow

Timesheet receipt

Page 8: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business Process

StepsActivity Process/Activity Mgt.

The unification of business process

VirtualBusiness

Company A Company B Company C

Mobile Device

E-mail / Messaging

DCOM

WS “A”In Java/UNIX

CORBA

SAP

EJB

WS “B”In C#/.NET

CBD limitation (5/5)

Page 9: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Contents

CBD limitations What is SOA ? Business process design SOA Case Directions for SOA’s Technical Innovation Reference

Page 10: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

What is SOA ? (1/5) Service Oriented Architecture

Standard distributed computing services SOA = A sort of distributed system, not based distributed

object The architecture based on service’s fusion Standard protocol and interface Web service is SOA’s instance SOA can express business logic erupt to small and particular

logic

sub processService

Service

ServiceProvider

ServiceRegistry

ServiceRequestor

Publish (WSDL) Bind (SOAP)

Find (UDDI)

Page 11: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Service vs Component vs Object (2/5)

Sameness

Interface more than one.

Difference

SOA is something about Schemas, not some object type like

class, component.

SOA talks about message, not method call

In a point of view about Interface Granularity, SOA is better than

Object, Component

Component’s communication model is API but SOA is based on

message model

Relation

Service is created with class, component

Page 12: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

What is SOA ? (3/5)

<definitions name=“Employee” targetNamespace=http://www.xmltc.com/tls/employee/wsdl xmlns=http://schemas.xmlsoap.org/wsdl/ … <types> <xsd:schema targetNamespace=http://www.xmltc.com/employee/schema/> <xsd:import namespace=http://www.xmltc.com/tls/employee/schmea/> … </xsdschema> <message name=“getWeeklyHoursRequestMessage”> <part name=“RequestParameter” element=“act:EmployeeHoursRequestType” /> </message> <message …> </message> <portType name=“EmployeeInterface”> <documentation> GetWeekly HoursLimit uses the Employee ID value </documentation>……

WSDL definition

<definitions> <types> … <…types>

<message> … </message>

<portType> or <interface> … </portType> or </interface> …</definitions>

WSDL definition

<definitions> <types> … <…types>

<message> … </message>

<portType> or <interface> … </portType> or </interface> …</definitions>

Page 13: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

What is SOA ? (4/5)

How services communicate

service A

service description

service B

message

message

Page 14: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

What is SOA ? (5/5)

message

message

<Header> <x:CorrelationID xmlns:x=http://www.xmltc.com/tls/headersample mustUnderstand=“1”> 0131858580-JDJ903KD </x:CorrelationID></Header><Body> <soa: getWeeklyHoursResponseMessage xmlns:soa=…> <soa:EmployeeHoursResponseType> ….. </soa:EmployeeHoursResponseType > </soa: getWeeklyHoursRequestMessage> <Fault> …. </Fault></Body>

SOAP envelope<Envelope> <Header> </Header>

<Body> … <Fault> … </Fault> </Body></Envelope>

SOAP envelope<Envelope> <Header> </Header>

<Body> … <Fault> … </Fault> </Body></Envelope>

Page 15: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Based on open standards Use standard of web service Platform independent's base Don’t need logic for information sharing

SOA characteristic (1/6)

Service A1

Service A2

Service A3

Service B1

Service B2

Service B3

XML,XML schema,WSDL, SOAP

Page 16: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Platform independent

SOA characteristic (2/6)

Service A1

Service A2

Service A3

Service B1

Service B2

Service B3

.NET solution J2EE solution

platform independent communication

Page 17: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA characteristic (3/6)

Service discoverability

Service A1

Service A2

Service A3

Service B1

Service B2

Service B3

Serviceregistry

Page 18: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Reusability & Scalability

SOA characteristic (4/6)

Service A1

Service A2

Service A3

Service B1

Service B2

Service B3

Service A’2

Service A’3

Page 19: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA characteristic (6/6)

Business process SOA has ability that can design business process Design that application and service can be applied softly

and reuse Services can do center centralism. If business process manages much state information,

other services are free by responsibility that manage state

WS-BPEL

Page 20: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Contents

CBD limitations What is SOA ? Business process design SOA Case Directions for SOA’s Technical Innovation Reference

Page 21: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business process design (1/8)

WS-BPEL Divide business process management model by service Language that express perfectly business logic in

specific and executive form

Timesheetinvoice process

Timesheetinvoice process

Employee service

Employee service

Timesheetservice

Timesheetservice Invoice

serviceInvoiceservice

Timesheetinvoice process

Service

Timesheetinvoice process

Service

Page 22: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business process design (2/8)

Timesheetinvoice process

Service

Timesheetinvoice process

Service

WS-BEPL process definition

<Process> <partnerLinks> … </partnerLinks> <variables> … </variables> <faultHandlers> … </faultHandlers> <sequence> <receive …> <invoke …> <reply …> … </sequence> …</process>

WS-BEPL process definition

<Process> <partnerLinks> … </partnerLinks> <variables> … </variables> <faultHandlers> … </faultHandlers> <sequence> <receive …> <invoke …> <reply …> … </sequence> …</process>

Page 23: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business process design (3/8)

<serviceLinkType> WSDL ‘s extension Interaction between

partner and coordinator

<serviceLinkType>

Partner APartner B

Service Link TypeWSDL A

Page 24: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business process design (4/8)

Loan approval business process Customer

Loan approval request Bank

Loan approval receive Edit credit rating Loan duration request

Credit Service Decision credit rating

Loan Service Decision loan duration

Customer

Cre

dit S

erv

iceLo

an S

erv

ice

Bank

2. TransformMessage

3. Get credit

rating

4. Get loan

5. Respond tocustomer6. Decision

7. Send

confirmation

1. Request

Loan

Page 25: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business process design (5/8)

Page 26: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business process design (6/8)

Page 27: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business process design (7/8)

Page 28: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Business process design (8/8)

Page 29: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Contents

CBD limitations What is SOA ? Business process design SOA Case Directions for SOA’s Technical Innovation Reference

Page 30: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA Case I (Belgacom) (1/3) Belgacom – Telecom company in Belgium offering a variety

of communication services Problems

27 systems and 30 step’s complex business services Sufferings of integration of business

They can not offer Good Service to Customer order

They can not response customer order, quickly

Belgacom SOA ProjectBelgacom

SOA Project

Page 31: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA Case I (Belgacom) (2/3)

Belgacom SOA Project Integration of various services Business process management model by service

Fast response for customer order Maximizing customer satisfaction

Page 32: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA Case I (Belgacom) (3/3) Belgacom SOA Project

Service’s 100% Native BPEL Effect

Services can do center centralism.If business process manages much state information,

other services are free by responsibility that manage state

Application ServerApplication Server

BPELVisioning flow

(BPELL Process Flow

BPELVisioning flow

(BPELL Process Flow

Ordered one batch Request

Batch Processor(Stream of Orders)

Ordered one batch Request

Batch Processor(Stream of Orders)

Page 33: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA Case II (Airbus) (1/4) Airbus - Aircraft manufacture consortium of the EU. e-HUB system - Airbus’s system that communicates with

cooperative companies and subsidiaries. As-Is-System model of the Airbus (EU Aircraft)

Through e-HUB, Collecting information.

•Product info (model, item)•Production plan info•Process control•Contract-shipping info

e-HUB SERVER(COM+ Object)Airbus

Cooperative company

•Assembly schedule•UNIT holding plan•Assembly work record•Shipping info

Standard Production System

firewall

Internet

Page 34: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA Case II (Airbus) (2/4) Problem of As-Is-System

Absence of auto-businesses process flow Difficulty of system expansion – not standard protocol (ex) IIOP, DCOM

protocol… Resource waste by connected object link of distributed component

model

e-HUB SERVER(COM+ Object)Airbus

Cooperative company

Standard Production System

firewall

Other servers(EJB, CORBA …)

Connected link

Connected link

Connected link

Page 35: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA Case II (Airbus) (3/4) Solution

Business process flow through WS-BPEL of SOA model. Automatic information acquirement through agent

module, System integration through web service Resource efficiency by SOAP.

To-Be-System of Airbus company

SOAP overHTTP

SOAP overHTTP

Production info

Assembly schedule,

resource info

Cooperative

company

Production

Management

ProcessCooperative

CompanyWeb services

Cooperative Company

Web services

Airbus

Corporate parent’s

production and supply

process WebservicesWebservices

AgentProgramAgent

Program

Page 36: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

SOA Case II (Airbus) (4/4) [Process improvement point]

before modification Process related with cooperative company was

progressed by people

after modification Process related with cooperative company was

automatically progressed and the result was alarmed to people

Execution time was decreased.

Process execution time decrease: average 91%

- execution time : average 1day -> 2hours

Page 37: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Technical view Application Integration through flexible

architecture Data Integration

Business view The efficient Integration with business partner.

What can the companies get from SOA?

42

47

58

59

63More flexible architecture

Integration to existing applications

Data integration

Biz process implementation

Composite applicationSatisfaction(%)

Satisfaction(%)

Page 38: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Contents

CBD Limitation What is SOA ? SOA-based Reference Architecture SOA Case Directions for SOA’s Technical Innovation Summary Reference

Page 39: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Directions for SOA’s Technical Innovation

Mash up Service ← Birth of new service providers

by services interaction

Source: http://web2.wsj2.com/

Page 40: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Mash up service (1/4)

A combination of existing technologies, glued together to achieve new functionality

Low cost for new service Dependent service on other services

Page 41: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Mash up service (2/4)

Gluing Services together through web service

ServiceService Service

Service

ServiceService

[Virtual Places][Virtual Places]

(Map point)(Map point)

(Msn live search)(Msn live search)

(flickr)(flickr)

(Alexa)(Alexa)

(feedmap)(feedmap)

(Virtual Earth)(Virtual Earth)

Page 42: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Mash up service (3/4)<?php// functionsfunction getResult($type, $query, $display, $page){

if ($type == “feedmap"){

$url= "http://feedmap...”;}……………………$data = file_get_contents($url);return simplexml_load_string($data);

}// get data from feedmap & alexa & flickr & map point & msn live search & virtual earthif ($query){

if ($type != " feedmap "){

$ feedmap = getResult(" feedmap”…);} ……………………

}?>//print <html> ……………………

if ($feedmapRes) {

<tr><td><b> 결과 : }if ($alexaRes){

<tr><td><b> 결과 :}

</html>

Page 43: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Map Service Making new service with Existing map service Adding another service

Mash up service (4/4)

Page 44: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Summary

SOA is a software implementation that delivers information services via loosely coupled interfaces that are accessible by non-proprietary tools and products.

SOA-based Reference Architecture Service architecture Application Architecture Component Architecture

SOA Case Rotech Belgacom Airbus

Directions for SOA’s Technical Innovation Mesh up Webservice

Summary Reference

Page 45: Object-Orientation in SOA SNU iDB Lab. Chong-Su Chang SNU MES Lab. Young-sub Kwon April 11, 2007

Reference

T. Erl, Thomas. Service-Oriented Architecture : concepts, technology, and design. Chapter 3, 4, 8

OASIS, “Reference Model for Service Oriented architecture 1.0” 2006. 8. SOA Practitioners Guide Part 2: SOA Reference Architecture, 2006, 9. Roy W. Schulte Yefim V. Natis, “Service Oriented Architecture,” Gartner

Group, SSA Research Note SPA-401-068, 1996. M.P. Papazoglou et al. “Service-Oriented Computing,” Communications of

ACM Vol. 46, No. 10, pp.25-28, Oct 2003. 전병선 . SOA 로 가는 길 . Chapter 1,2,3 김성익 , 박정일 . SOA 프레임웍 아키텍처 . 한국정보과학회 .2007.01 이경하 , 이규철 . SOA 와 웹 서비스 . 한국정보과학회 2004