Enterprise Service Bus & Service Oriented Architecture

decorumgroveInternet and Web Development

Aug 7, 2012 (5 years and 8 days ago)

730 views

Enterprise Service Bus & Service
Oriented Architecture
구현을

위한

Microsoft Solution

현동식

부장
(
dshyun@microsoft.com
)

Sr. Solution specialist

한국마이크로소프트


Enterprise Service Bus

Enterprise Service Bus


Enterprise Service Bus


정의


Focused on integrating assets of a single
enterprise

Provides value added standards based
services such as routing & transformation

Logical topology that supports pluggable
messaging end points


A Web
-
services
-
capable infrastructure that supports intelligently
directed communication and mediated relationships among loosely
coupled and decoupled biz components.








Gartner Group


The ESB label simply implies that a product is some type of
integration middleware product that supports both MOM and Web
services protocols.






Burton Group


A standards
-
based integration backbone, combining messaging,
Web services, transformation, and intelligent routing.







Sonic Software


To put it bluntly: If you have WebSphere MQ and other WebSphere
brokers and integration servers, you have an ESB.










Bob Sutor, IBM

Enterprise Service Bus architecture


ESB
특성

.NET
Application

J2EE
Application

Web Service
Endpoint

ESB Client
Software

Installed on
every node

ESB Client
Software

Installed on
every node

Transport and
repository


ESB
아키텍처

But Integration requirements…


기업

고객에게

요구되는

integration
기능

Service Oriented Architecture (SOA)

Service
-
Orientation:
개념

정의


Service
:


A set of one or more behaviors described using WSDL and accessible
via SOAP


Service
-
oriented application
:


An application that exposes all or part of its functionality through
one or more services


Service
-
oriented architecture (SOA)
:


Guidelines for creating and using service
-
oriented applications

Source : David Chappell

Defining SOA


An approach to building and operating
applications in a service
-
oriented world


It includes:


Guidelines for:


Defining and exposing business services


Defining and enforcing service level agreements


Common technologies for:


Securing services


Managing services


More

Service Orientated Architecture : Microsoft

Service Orientated Architecture is an emerging industry
application architecture that emphasizes the provision of
services to consumers via published interfaces.


A
service

is an implementation of a business requirement or
technical facility that has the following characteristics:


Unless explicitly stated in its interface description, no action need be
taken by an interface’s caller to deploy or instantiate a service before
utilizing it;


The ability of other processes or services to interact with the facility is
limited to one or many well defined published interfaces;


Beyond a context for the service and its data, no knowledge of its
behavior is required in order to use the service other than that
expressed in its interface description.

Service Orientated Architecture : Microsoft

Services and consumers are
independently versioned, deployed,
operated, and secured.

Services are
autonomous

Data never includes behavior;

Objects with data and behavior are
a local phenomenon.

Share schema &
contract, not class

Capabilities and requirements represented
by a unique public name; Used to establish
service suitability.

Compatibility
based on policy

Developers opt
-
in to consuming,
exposing, and defining public
-
facing
service façade.

Boundaries

are Explicit

Why SOA Makes Sense:

기술적

가치


Applications can be exposed more easily to
diverse clients


Because their logic can be accessed in a
standard way by ASP.NET, JSP, mobile devices,
and others


Existing services can more easily be reused


Because apps expose their services in a
standard way


New applications can be created or modified
in less time and for less money


Because existing services are already available

Why SOA Makes Sense:

비즈니스

가치


Business people understand services


So IT people can talk with them more easily


Application integration becomes cheaper
and faster


Which makes implementing business processes
easier


Business processes can more easily be
changed or replaced


Because they’re built from autonomous services
with well
-
defined interfaces

SOA :
어떻게

운영되는가

?

Atomic

Service

Application A


Application B


Service

Service

Service

Service

Service

Atomic

Service

Atomic

Service

Atomic

Service

Atomic

Service

Atomic

Service

Atomic

Service

Atomic

Service

Application C

disaggregation

Composition


Why shift to Service Orientation



Connections = cost


Function oriented


Build to last


Prolonged development

From

To


Connections = value


Process oriented


Build for change


Incrementally deployed



Application silos


Vendor silos


Tightly coupled


Object oriented



Orchestrated solutions


Multi
-
vendor


Loosely coupled


Message oriented


Why shift to SOA : The world is flat !


The world is flat !


AM I flat ?

-

1st Globalization

-

2nd Globalization

-

3rd Globalization


1st : Corporations have invested too much in
underutilized PCs


2nd : Standardization has leveled the playing field and
created commonality among different platforms. This has
caused prices to drop so that technology is affordable to
all


3rd : the window of opportunity in achieving a competitive
advantage with technology is temporary and closes
rapidly.


4th : corporations are overspending on IT in general and
that too much of their budgets is tied up in IT projects.


Why shift to SOA : IT Doesn’t matter

Harvard Business Review

Nicholas Carr

향후

SOA


기반으로



시스템

패러다임이

중심을

이룰

것으로

전망되며
,
관련

업계들도

이에

대응에

나서고

있음

시장

전망


l
2007


1,890


달러로

IT
전문

서비스

시장의

30%
이상

차지할

것으로

예측

(Gartner, 2004)

l
2008


까지

신규

엔터프라이즈

규모의

애플리케이션의


75%
이상이

SOA


채택할

것으로

전망

(Gartner, 2004)

l
2007


말까지

80%
이상의

기업이

SOBA (Service Oriented


Business Application)


도입할

것으로

전망
(Gartner, 2004)

SOA market trends

SOA market trends

정부

동향

l



서비스

관련해서

한국전산원의

주도로

시범

사업을

지속적

개발

l

정보통신부도

내년부터

국책

사업으로



서비스를

선정한

상태임

l

국가

UDDI




서비스

품질

관리를

진행하고

있음

l

시범사업으로

기상청

“방제기상

정보

시스템”


제주도


IT Plaza
포털”

,
경찰청

“미아정보

공유

시스템”

등을

진행

SOA market trends

업계

동향

l

플랫폼

공급

업체
( Microsoft,IBM, BEA)


-

개발
-
운영을

연계한

솔루션을

제공하면서

각각

SOA


대한

리더십


확보에

주력

l

비즈니스

어플리케이션

업체

(SAP, Oracle, Siebel)


-

제품을

SOA
개념에

맞추어

업그레이드하고
,
새로

출시되는

제품은

서비스

형태로

출시하는

전략


l

ESB
업체

(Fiorano, Sonic)


-

SOA
기반의

통합

미들웨어

제공

SOA market trends

업계

동향

l

국내

미들웨어

업체

(TMAX)


-

차세대

시스템

구축에

SOA
기반으로

구축을

추진

중이며
,
이를

SOA


방법론으로

포장해서

고객에게

메시지를

전달하고

있음

l

국내

IT
서비스

업체
(SDS, LGCNS)


-

SDS


Zapthink


전략적

제휴를

통해

Web Services & SOA
전략을


추진

중에

있고
, LGCNS


연구

개발

센터에서

SOA framework


완성

l

외국

IT
서비스

업체
(EDS, Accenture)


-

SOA


기반한

프레임워크

제시

l

외국

EAI
업체
(WebMethods, TIBCO)


-

기존의

Binary
통신

형태의

Adapter
들을

XML
기반으로

만들어서

신규


제품으로

출시하는

전략


Technologies, Platform for Service Oriented
Architecture (SOA)

Application Architecture’s change

Clients

Change driven by
PCs
:
Lower cost, more
functionality, GUIs

T

Mainframe

DBMS

Business

Logic

GUI

Client/Server

DBMS

Business

Logic

Business

Logic

Browser

Multi
-
Tier

DBMS

Business

Logic

Service
-
Oriented

DBMS

Business

Logic

Business

Logic

Change driven by
web
:
Easier deployment,
browser as universal
client

Change driven by
web

services
: Standard
access to logic from
other software

Services

Access

Data

Relation

Biz. logic

Clients

UI

Biz. Logic

objects

Tables <=> Objects

SQL types <=> Java or CLR types

Objects <=> Interfaces and messages

Java or CLR types <=> XML types

Software Abstractions in a Service
-
Oriented
World

SOA based model



서비스

접근과

프리젠테이션

포탈



사이트

협업

기타

서비스

프로세스
(
오케스트레이션
,
관리
)

워크플로우

서비스

BPM

서비스들
(
컴포넌트
,
데이터
,
비즈니스
)

컴모넌트

서비스

데이터

서비스

비즈니스

서비스









서비스

통합

기술


( Connectivity)

엔터프라이즈

컴포넌트

서비스

번역

서비스

라우팅
/
변환


통합

데이터


(
데이터베이스
,
코드
,
기존

시스템
,
거래

파트너
)














/




















SOA















/
























실행

환경

통합

SOA Architecture principles

SOA based model & Microsoft solution



서비스

접근과

프리젠테이션
(ASP.NET, Smart Client)

포탈



사이트

협업

기타

서비스

프로세스
(BizTalk)

워크플로우

서비스

BPM

서비스들
(COM+, SP, Remoting, MSMQ, ASMX)

WCF(Indigo)

컴모넌트

서비스

데이터

서비스

비즈니스

서비스


Windows 2003 UDDI
Service

서비스

통합

기술

( Connected System)

엔터프라이즈

컴포넌트

서비스

번역

서비스

라우팅
/
변환


통합

데이터


(SQL 2000, SQL 2005, ODBC(ODP.NET…)

Application Center



SOA


(MOM => System Center)






(Dynamic System Initiative)


Visual Studio

Architect

MSF Agile




Visual Studio Team System

CLR

BizTalk Adapter


Visual Studio

Development

(


)

Visual Studio

Tester


Visual Studio

Team Foundation

WS
-
Policy

WS
-
Transaction / RM

WS
-
Attach


Domain Specific

Language

WS
-
Security

WSE 3.0

WCF(Indigo)

SOA Architecture Principle (Microsoft Patterns and Practices)

Customer Portal

Order Management

webpart

Resources

Process Tier

Service Creation

Portal Tier

UI Service Tier

Order Management

Process

Webpart

Webpart

Employee Portal

Billing

Inventory

Management

Customer

Management

Mainframe

CRM

ERP

Trading

Partners

People

SOA based deployment : Enterprise model

Development

Tools

Standard Library

Creating Service
-
Oriented Applications

Operating System

Runtime Environment

GUI
Classes


Transaction
Classes


Web
Application
Classes

DBMS

Access

Classes

More


Web
Services
Classes

Applications

Standard Java Packages

Example: J2EE Application Servers

Windows, Solaris, Linux, others

Java Virtual Machine (VM)

Swing


Enterprise

Java Beans

JSP


JDBC


More


JAX
-
RPC


Applications

Eclipse, Others

Java

.NET Framework Class Library

Example: The .NET Framework

Windows

Common Language Runtime

Windows

Forms

Enterprise

Services

ASP.

NET

ADO.

NET

More


ASMX


Applications

Visual Studio

C#, VB, Others

Why Are Web Services Different?


There have been many other attempts to
standardize application interoperability


The Object Management Group’s CORBA


J2EE’s Remote Method Invocation (RMI)


More


Web services finally solve this problem


For the first time, all vendors agree


Even Microsoft

SOA case study : Merrill Lynch


Streamlining existing legacy proprietary middleware IT
environment


Plug and play interface for commercial package


Reusability and integration of LOBs


Applications including diverse biz. & comm. channel


The Sharable & flexible Architecture Framework with
which other biz. Divisions like bank, Insurance, retail
banking, Research house can utilize

Why SOA ?

Windows Communication Foundation (Indigo)

Windows Communication Foundation

.NET Technology

J2EE Technology

Interoperable
Web Services

Native
Communication

Distributed
Transactions, etc.

Queued
Messaging

?

WCF

x

x

x

x

ASMX

x

JAX
-
RPC

x

.NET

Remoting

RMI

x

Enterprise

Services

EJB

x

MSMQ

JMS

Windows Communication Foundation


Windows Communication Foundation (WCF)

is Microsoft’s forthcoming platform for
building service
-
oriented applications


What WCF provides:


Unification

of existing Microsoft technologies for distributed applications


Interoperability

with applications built on platforms other than the .NET Framework


Service
-
oriented

application support


Client

WCF

CLR

Service

WCF

CLR

SOAP

Windows Communication Foundation


WinCF


Unifies today’s distributed technologies


Attribute
-
based development


Visual Studio 2005 integration


Broad support for WS
-
* specifications


Compatible with existing MS distributed
application technologies


Enables development of loosely
-
coupled
services


Config
-
based communication

Productivity

Interoperability

Service
-
Oriented

Development

Windows Communication Foundation

Windows Communication Foundation

Process

Application

WCF

Application
Domain

Windows

Process

Application

WCF

Application
Domain

Windows

Process

Application

WCF

Application
Domain

Process

Windows or Other System

Other Web
Services
Platform

Application

Visual Studio.Net 2005

Change Management

Work Item Tracking

Reporting

Project Portal

Visual Studio

Team Foundation Server

Integration Services

Project Management

Process and Architecture Guidance

Dynamic Code Analyzer

Visual Studio Team Edition

Software Architects

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Team Explorer (includes Team Foundation Server CAL)

Visual Studio Professional Edition

Load Testing

Manual Testing

Test Case Management

Application Designer

System Designer

Logical Datacenter Designer

Visual Studio Team Edition

Software Developers

Visual Studio Team Edition

Software Testers

Visual Studio Industry Partners

Team Build

Class Designer
(in Visual Studio Standard Edition and higher)

Deployment Designer

Visio for Enterprise Architects
(in MSDN Premium Subscription)

Application Designer

System Designer

Logical Datacenter Designer

Deployment Designer

Class Designer
(in Visual Studio Standard Edition and higher)

Class Designer
(in Visual Studio Standard Edition and higher)

Visual Studio Team System


Application Designer


Whiteboard mode for application design


Validation against logical infrastructure


Visualize relationships of distributed systems


Logical Datacenter Designer


Settings and constraints editor


SDM generation and compiler


System Designer and Deployment Designer


Binds application design to datacenter design


Enables creation of composable systems

Team Edition (Architects)

Application Designer

Service
-
Oriented

Architecture model

Port Details editor

Code & Diagram

Continuous Synchronization

BizTalk Server

BizTalk Server


Key functions

Common Integration Themes

Information Portal

Data Replication

Shared Business Function

Service Oriented

Business to Business

Distributed Process

Loosely Coupled Integration Components

Translation

Routing

Receipt List

Message Filter

Aggregator

Splitter

Request
-
Reply

Control Bus

Message Channel

Application Design

Message

Application

Application

Channel

Routing

Translation

Systems Management

Transactional

Messaging

Scenario: Message Integration

Characteristics:


High performance routing


Decompression and compression


Flat file processing


Inbound and outbound
normalization


Send port load balancing


Streaming pipeline


Transaction analysis


Clients

BizTalk Server

Group

Examples:


Insurance claims


Financial transactions


Commerce order processing

BAM Data

Message Box

Servers

Scenario: Business Process Management


BPM Architecture

BizTalk

BizTalk Servers

Characteristics:


Orchestrations


Long running transactions


Rules


Scalable


BAM Operations

Backend

Application

Order

Processing

MSMQ

Web

Service

Legacy

System

Adapter

SQL

SQL Cluster

Examples:


Loan processing


Health forms processing

Rules


B2B Architecture

Business Analysts

Scenario: Business to Business

DMZ

NLB Cluster

BizTalk

SQL Cluster

SQL

BAM Portal

BAS Server

Characteristics:


Orchestrations


Party resolution


Encryption and
authentication


Business rules


Examples:


Supplier enablement


Commerce


Service Oriented

BizTalk

Scenario: Service Oriented

BizTalk Servers

Characteristics:


Mainframe integration


Web services


Adapters (e.g. SAP)


Enterprise SSO


Data aggregation


Operations (HAT and BAM)

SAP

Transaction

System

(Mainframe)

Payment

Tracking

System

Customer

Service

Application


IVR
Application

HIS

TI

SOAP

SAP

MQSeries

MQSeries

SOAP

SSO

Tracking

BAM

Examples:


Line of business application
integration


Customer service organizations

BizTalk Server


What does BizTalk add to SOA


Message/schema focused design and messaging
paradigm


Loosely coupled by design


Supports more then SOAP (SOA is more then web
services)


Transformations inherent in the system


High Performance business rules processing


Scalability fault tolerance and tracking by design



But is BizTalk always a good choice in an SOA
architecture ?

BizTalk Server Architecture

“Indigo”

Adapter

Host

Orchestration #1

Orchestration #2

Receive Port

Send Port

Tracking

DB

Config DB

DB

“Indigo”

Adapter

Receive Pipeline

Business

Rules

Send Pipeline

Publish and Subscribe

Message Box (SQL)

WS
-
Security,

WS
-
RM

SOAP, XML

SOAP, XML

WS
-
Security,

WS
-
RM

Receive

Port

Indigo

Adapter

Receive

Pipeline

Send

Port

Indigo

Adapter

Send

Pipeline

MessageBox

Persistent Store

Host

Host

Host

XML

Message

XML

Message

Business Rules

Inference Engine

Orchestration

WS
-
RM

WS
-
Security

WS
-
RM

WS
-
Security

Highly Scalable

Event Driven

Architecture

Mainframe

Line of
Business

Service

Enterprise

Services Bus

Effective Process

Implementation

Business Activity

Monitoring

Modifiable

Business Rules

SOA w/BizTalk

BizTalk SOA Patterns

Service Broker



Security Boundary



Wrapping Backend Systems that don’t support SOAP (facades)



Transformation Services



Could be Sync or Async

BizTalk SOA Patterns

Service Broker (Content Based Routing)



Security Boundary



Routing



Headers & Message Content



Security Context



80% Could be configured using administrative interfaces



Complex Business Rules



Wrapping Backend Systems that don’t support SOAP (facades)



Transformation Services



Sync or Async Pattern

BizTalk SOA Patterns

Service Aggregator



Security Boundary



Routing



Wrapping Backend Systems that don’t support SOAP (facades)



Transformation Services (Major improvement over .NET)



Sync or Async Pattern



Compositing Application



Compositing fine grained services

WinCF & BizTalk Comparison


WinCF


Framework for Building Services


Interoperable Web Service Development


Distributed App Development Stack


Unification Based on Enterprise Services, Remoting,

ASMX and MSMQ Technologies


Delivered in the Windows Platform



BizTalk Server



B
usiness Process and Integration Server


A2A: App to App
Message Based

Integration


B2B: Biz to Biz Integration with Mapping and Communication Tools


BPA: Business Process Automation


Integrates Apps, Trading Partners, and Touches Employees


Deployment, Management and Monitoring Tools


Business Process and Integration for the IT Pro


Real Time Biz Process Visibility for the Information Worker


Indigo services can be used with or without a brokered intermediary


Works in concert with BizTalk Server for additional business process
and integration server capabilities

Order

Placement

Bid

Evaluation

Order

Receiving

Job

Costing

Capacity

Planning

BizTalk

Server

WinCF & BizTalk Server