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
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Comments 0
Log in to post a comment