Upload
fancy
View
130
Download
0
Embed Size (px)
DESCRIPTION
SOA 를 구현하기 위한 개발 및 적용 방안. 한국마이크로소프트 개발자 플랫폼 비즈니스 그룹 손정민 아키텍쳐 전도사 ( 부장 ). 목차. 서비스 지향 패러다임으로의 변화 서비스 지향 개발을 위한 WCF 업무 프로세스 개발을 위한 WF 결언. ERP 애플리케이션. .NET 애플리케이션. 패키지 애플리케이션 X. J2EE 애플리케이션. Unix 애플리케이션. AS/400 애플리케이션. CICS 애플리케이션. 패키지 애플리케이션 Y. 엔터프라이즈 IT 의 현실. - PowerPoint PPT Presentation
Citation preview
SOA 를 구현하기 위한 개발 및 적용 방안
한국마이크로소프트
개발자 플랫폼 비즈니스 그룹
손정민 아키텍쳐 전도사 ( 부장 )
목차
서비스 지향 패러다임으로의 변화서비스 지향 개발을 위한 WCF 업무 프로세스 개발을 위한 WF결언
엔터프라이즈 IT 의 현실
패키지 애플리케이션
Y
ERP 애플리케이션
Unix 애플리케이션
J2EE 애플리케이션
.NET 애플리케이션
패키지 애플리케이션
X
CICS 애플리케이션
AS/400 애플리케이션
새로운 도전
• 안정적인 단일 수입원의 고갈– 새로운 요소는 기존 요소를 필요로 함– 기존 요소들 또한 새로운 요소를 필요로 함
• 여러 이질적인 시스템들이 혼재– 일률적인 업그레이드가 어려움– 단일 운영체제 / 하드웨어 플랫폼 선택의 난점
• “ 빅뱅” 효과에 대한 대처– 모든 플랫폼이 지속적으로 상호 이질화됨 – 모든 위치에서 데이터를 액세스 / 조작
도전 해결의 조건
• 시스템 구성과 재사용 수단–여러 애플리케이션이 자유롭게 교차–여러 기관과 신뢰의 경계를 자유롭게 교차
• 구현에 얽매이지 않을 것–공개 표준에 기반을 둔 상호 작용–특정한 언어나 플랫폼에 의존하지 않을 것
• 동적인 그룹화 및 재 그룹화• 비동기적 연산의 지원
엔터프라이즈 IT 의 이상
패키지 애플리케이션
Y
ERP 애플리케이션
유닉스 애플리케이션
자바애플리케이션
닷넷 애플리케이션
패키지 애플리케이션
X
CICS 애플리케이션
AS/400 애플리케이션
통합 커뮤니케이션
메커니즘
아키텍처의 진화의 필요성
데이터베이스 터미널메인프레임 비즈니스 로직
데이터베이스 GUI비즈니스
로직비즈니스
로직클라이언트 / 서버
데이터베이스 브라우저비즈니스
로직멀티 -티어
서비스 지향데이터베이스
비즈니스 로직 비즈니스
로직
클라이언트
PCs
웹
서비스
서비스란 무엇인가 ?
• 애플리케이션을 구성하는 기본 단위– 위치 , 플랫폼 , 코드에 무관한 기능 블록으로 정의– 항상 여러 플랫폼 간 , 원격 사용을 가정– 구현과 관련된 세부적 사항을 무시할 수 있어야 함
• 서비스는 플랫폼 , 신뢰성 등의 경계가 있음– 객체는 경계 내부에서만 사용하는 것이 바람직하며
서비스는 경계 내 - 외부에 공히 사용될 수 있음– 경계는 서비스의 규모를 결정하는 요인임
객체 지향과 서비스 지향 비교
Object-oriented distributed solution Service-oriented distributed solution
서비스 지향 패러다임의 교의
교 의 의 미경계가 명확하다 서비스 기반의 기능성을 개발자가
자의적으로 외부에 공개한다
서비스는 독자적이다 배포 , 버전제어 , 보안 등을 독립적으로 결정할 수 있다
클래스나 객체 대신 스키마와 계약 관계를 공유한다
클래스 대신 메시지 형식과 교환 패턴에 기초하여 통합을 달성한다
서비스 호환성은 정책에 의해 결정된다
안정적 글로벌 명칭을 사용한 정책 선언에 기초하여 서비스 호환성을 결정한다
서비스 지향 패러다임의 개념도
ServicesServices
Message ExchangePattern
Message ExchangePattern
describe
OperationalRequirementsOperational
Requirements
enforce
StateState
manage
ApplicationsApplications
composed of
MessagesMessages
exchange
is a set ofContractsContracts
bound by
contain SchemasSchemas define structure of
governed byPoliciesPolicies
have
서비스 지향 패러다임의 중요성
• 차세대 시스템을 설계 / 구축하기 위한 방법을 정형화하는 기회 제공–극심한 상호 의존성의 최소화–독립성 증진–조립 / 통합 가능한 애플리케이션의 용이한 배급
• 높은 수준의 상호운용을 가능하게 함
• 현재 시스템의 핵심적 가정을 명확하게 함–특히 경계부와 국지적 정보
웹 서비스 표준 스택
Transports HTTP, TCP, SMTP
XML XML, XSD, XPath
Messaging SOAP, WS-Addressing, WS-Eventing
SecurityWS-Security
WS-TrustWS-Federation
ReliabilityWS-ReliableMessaging
TransactionsWS-TransactionsWS-Coordination
WS-AtomicTranscation
Meta
data
WSD
L, W
S-P
olic
y,
WS-D
isco
very
커뮤니케이션 메커니즘 통합의 필요성
ASMX
상호운용을 위한 웹 서비스
네이티브 .NET 커뮤니케이션
WS-* 스펙의 지원
.NETRemoting
비동기적 메시징
트랜잭션 표현과 처리
명시적 서비스 지향
EnterpriseServices
WSE MSMQ WCF
서비스 지향 패러다임에 관한보다 현실적인 관점
• 웹 서비스가 바람직한 미래이기는 하지만– Non-SOAP 서비스와의 연결 ,– 비즈니스 프로세스를 형성하는 서비스 구축의
필요성이 그만큼 더 증대됨• 비즈니스 프로세스를 구축 , 관리 , 감시하기
위한 프레임워크의 필요성–현재 환경에서의 직접적인 활용–서비스 지향적인 미래에도 여전히 유용함
목차
서비스 지향 패러다임으로의 변화서비스 지향 개발을 위한 WCF 업무 프로세스 개발을 위한 WF결언
What is WCF ?
• Windows Communication Foundation– 차세대 닷넷 Communication 인프라– .NET Framework 3.0 의 기능– Service Oriented Architecture 기반– Web Service (XML + SOAP) 기반– 다양한 Communication 프로토콜 지원
HTTP, TCP, Named Pipe, MSMQ, P2P– 다양한 웹 서비스 표준 지원
SOAP 1.2, WS-AddressingWSDL, WS-PolicyWS-Security, WS-Trust, WS-SecureConversationWS-ReliableMessagingWS-AtomicTransaction, WS-Coordinate
Windows Communication Founda-tion
Namespaces And ReferencesNamespace
System.ServiceModelSystem.Runtime.SerializationSystem.Security.AuthorizationSystem.Transaction
Assembly ReferenceSystem.ServiceModel.dll – Core LibrarySystem.Runtime.Serialization.dll – Serialization LibrarySystem.Secruity.Authorization – Security LibrarySystem.Transactions.dll – Transaction Library
Client Service
Clients and Services
Message
Client Service
Endpoints
EndpointEndpoint
Endpoint
EndpointMessage
Service
CBA
CBA
Client
Address, Binding, Contract
ABC
AddressWhere?
ContractWhat?
BindingHow?
Endpoint
CBAMessage
ServiceHost
Client Service
Creating Endpoints
ClientChannel
Message
ABC CBA
CBA
CBA
Channel
• WCF 프로그램 간의 메시지 통로– 채널 타입 ( 단순 입력 , 단순 출력 , 입 -출력 , 요청 -응답 메시지 패턴으로 구현 )– 클라이언트 채널은 서비스 endpoint 제작
• 클라이언트가 서비스로 처음 메시지를 전송하는 순간에 채널 확립– 최초 클라이언트 서비스 메시지 전송이 두 번째 메시지 전송 보다 더 시간이 소요될 수 있음
Service
외부에서 본 Service 구조
• WCF 프로그램이 채널을 통한 메시지 송수신시 서비스 endpoint 가 필요함
Service
내부에서 본 Service 구조
• WCF 프로그램이 채널을 통한 메시지 송수신시 서비스 endpoint 가 필요함
HelloWorld Demo
DEMO
Why WCF ?
• Future Communication Infra– 웹 서비스 기반 (XML + HTTP)– 서비스 지향 아키텍처 (SOA)– Interoperability
표준 WS-* 스펙 구현– Next generation communication infra of Microsoft
• Common Programming Model– Web Service, .NET Remoting, IPC, MSMQ 프로토콜에 관계 없이 하나의 프로그래밍 모델 사용 가능
– 단일 코드 베이스 사용 가능• New feature
– 트랜잭션 , 신뢰할 수 있는 메시징 , P2P, ……– 다양한 바인딩 ( 프로토콜 지원 )
WCF Features (1)• Web Service Based
– XML, HTTP, SOAP, WSDL 등 웹 서비스 스펙 준수• Security
– WS-Security, WS-Trust 등 메시지 기반 보안 제공– HTTPS, 인증 기반의 TCP/IP 등 트랜스포트 수준의 보안 제공
• Transaction– 분산 트랜잭션 지원
TCP 바인딩 사용 시 OLE Transaction 직접 사용HTTP 바인딩 사용 시 WS-AT 를 통해 트랜잭션 전파
• Reliability– 신뢰도 높은 메시징을 위해 WS-RM 프로토콜 구현– 세션 기능 제공 (ASP.NET 의 세션과는 다른 개념 )
• P2P Networking• Rich Built-in Bindings
– BasicHttp, WSHttp, WSDualHttp, NetTcp, NetMsmq, NetNamed-Pipe 등
WCF Features (2)
Enterprise Communication Infra• Requirements
– 개발 생산성 (Productivity)– 성능 (Performance)– 확장성 (Scalability)– 기능성 (Function)
트랜잭션 (Transaction)신뢰도 (Reliability)보안 (Security)
– 단일 프로그래밍 모델기존 ASMX, Remoting, DCOM(Enterprise Services), MSMQ 프로그래밍 모델을 통합하는 프로그래밍 모델
– 상호운영성 (Interoperability)– 유연성 (Flexibility)
Legacy Communication In-fra
• .NET Remoting– 성능적으로 우수함 (TCP Channel + Binary Formatter)– 상호운영성이 떨어짐– Proxy 객체 작성이 어려움 (Facade 어셈블리 참조 필요 )– IIS 호스팅에 한계를 가짐 (HTTP Channel 필수 )
• ASP.NET Web Service– 상호운영성이 우수함– 상대적으로 성능이 떨어짐– HTTP 만을 사용할 수 있음– 유연성이 떨어짐
• Enterprise Services(DCOM)/MSMQ– 가장 다양한 기능 보유 (트랜잭션 , 보안 , 객체 풀링 , 인스턴스 모델 )– 방화벽 통과가 어려움– 닷넷과 함께 사용시 성능 저하– 상호운영성이 크게 떨어짐
Business Service withLegacy Communication Infra
WAN
Service
BusinessLogic
Web ServiceInterface
(ASMX + WSE)
.NET RemotingInterface
MSMQInterface
Java clientLegacy application
.NET Client
MSMQ Client
MSMQ Message
MSMQ Message
MessageQueue
Binary MessageTCP Channel
XML MessageHTTP
Performance
Interoperability
Reliability
Off-line Messaging
Other COM+ Component
DCOMDistributedTransaction
PDA/MobileClient
Facade Layer
WCF as Enterprise Communica-tion Infra• Advantage
– 유연성HTTP, TCP, Named Pipe, MSMQ, P2P 등 다양한 트랜스포트 지원단일 프로그래밍 모델선언적 서비스 종점 (endpoint)
– 성능TCP 트랜스포트 + 바이너리 인코딩TCP 를 사용하면서도 IIS 7.0 에 호스팅 가능 (WAS)
– 상호운영성SOAP 기반의 메시지WS-* 기반의 인터넷 표준 사용
– 다양한 기능보안 , 트랜잭션 , 신뢰할 수 있는 메시징 등
• Disadvantage– 상대적으로 새로운 기술– 마이그레이션 필요
Business Service with WCF
WAN
Java clientLegacy application
WCF Client
WCF Client
Disconnected Client
WCF Message
WCF Message
MessageQueue
Interoperabil-itySecurityReliabilityTransaction
WCF Message
WCF Message
WCF Service
BusinessLogic
Endpoint
Address #1
Contract
WSHttpBinding
EndpointAddress #2
Contract
NetTcpBinding
EndpointAddress #3
Contract
NetMsmqBinding
Enterprise Communication Infra:Reliability
• Reliable Messaging in WCF– 네트워크 상의 중간 매개체의 메시지 전송 문제 해결– 메시지 전달에 대한 보장 (End-to-End Reliability)
메시지에 대한 ACK(acknowledge) 사용메시지 재전송 메커니즘메시지의 순차적인 전송
– WS-ReliableMessaging 표준 준수Reliable Session 사용WSHttpBinding, WSDualHttpBinding, NetTcpBinding
사용• Using MSMQ Transport
– 네트워크 뿐만 아니라 서비스가 다운된 상황에서도 메시지 전송– Off-line 시나리오– NetMsmqBinding 사용
Enterprise Communication Infra:Point-to-Point Reliability
Transport level Reliability
TransportChannel
Transport Channel
UnknownChannel
UnknownChannel
UnknownChannel
TransportChannel
Client Service
Proxy, Firewall, Router, ……
IntermediateServers
IntermediateServers
Cache server, Firewall, Router, …..Point-to-Point
Point-to-Point Point-to-Point
Enterprise Communication Infra:End-to-End Reliability
Client Service
Proxy, Firewall, Router, ……
IntermediateServers
IntermediateServers
Cache server, Firewall, Router, …..
End-to-End
Message withID
Message ReceivedAnd Send ACK
Message withID
Down
Retransmit !!!
MSMQSend Queue
Enterprise Communication Infra:Reliability with MSMQ
Client Service
Proxy, Firewall, Router, ……
IntermediateServers
IntermediateServers
Cache server, Firewall, Router, …..
Down
MessageQueued
Off-line
MSMQReceive Queue
ONLINE!
UP!
WCF Reliability Demo
DEMO
Enterprise Communication Infra:Distributed Transaction
• 서비스 / 클라이언트의 분산 트랜잭션– Enterprise Services 에 의해서만 지원되던 기능
COM+ 서버 어플리케이션 타입만이 지원– MSDTC 와 OLE Transaction 프로토콜 , DCOM 에 의해 제공– 다양한 제약 사항 존재
방화벽 통과가 어려움닷넷 환경에서 성능이 떨어짐
• Transaction in WCF– HTTP, TCP, Named Pipe 트랜스포트 지원
HTTP 사용시 방화벽 통과가 상대적으로 용이함– OLE Transaction 및 WS-AtomicTransaction 프로토콜 사용
상호운영성이 향상됨– System.Transactions 네임스페이스 기반
TransactionScope 객체를 통한 트랜잭션 지원
Enterprise Communication Infra:Transaction Scenario
카드 승인 웹 서비스 배송 요청 웹 서비스
재고데이터베이스
Distributed/Atomic Transaction
주문 처리 서비스
주문처리컴포넌트
재고관리컴포넌트
클라이언트
SOAP+HTTP
SOAP+HTTP
Enterprise Communication Infra:Transaction and MSDTC
카드 승인 웹 서비스 배송 요청 웹 서비스
재고데이터베이스
Distributed/Atomic Transaction
주문 처리 서비스
주문처리컴포넌트
재고관리컴포넌트
클라이언트
SOAP+HTTP
SOAP+HTTP
MSDTC MSDTC
MSDTC
Other TM
WS-AT and other standards
WCF Transaction Demo
DEMO
Enterprise Communication Infra:Peer-to-Peer
• P2P in Enterprise Environment– 사내 메신저– 서버 콘텐트 동기화
• P2P in WCF– 메쉬 (mesh) 기반의 P2P 지원
부분 연결된 메쉬– TCP 트랜스포트 기반– NetPeerTcpBinding 지원– 단일 프로그래밍 모델– 지원하는 P2P 인프라
PNRP(Peer Name Resolution Protocol)Custom Resolver
ServerServer
Server
Server
Server
Server
Partially Connected Mesh
Region CClients
Region BClients
Region AClients
Enterprise Communication Infra:P2P Scenario (1)
CentralizedContent Server
Congestion !!!
Region CClients
Region BClients
Region AClients
Enterprise Communication Infra:P2P Scenario (2)
CentralizedContent Server
LocalContent Server
LocalContent Server
LocalContent Server
P2P Network
WCF P2P Demo
DEMO
Enterprise Communication Infra:Other Features
• Callback– 클라이언트에 대한 통지 (notification)
배치 작업 종료공지 사항
• Performance + Reliability + Management– WAS(Windows Activation Service) with IIS 7.0
TCP 트랜스포트 + 바이너리 인코딩IIS 의 강력한 안정성
– Recycling, Web Garden, Health Monitoring, ......• Efficient Messaging
– 대용량 메시지 전송MTOM, Binary 메시지 인코딩Message Streaming
– Message Compression ChannelSOAP 메시지 압축Windows SDK Sample 참조
.NET Framework 3.5 & VS 2008:WCF 새로운 기능
• WCF Web Programming Model– Support REST(Representational State Transfer)
Non-SOAP 메시지 송수신 (JSON, XML, Other Binary Stream)HTTP GET/POST/PUT/..... 지원
– ASP.NET AJAX 에서 WCF 서비스 호출 가능• WCF Syndication
– WCF 서비스를 통해 RSS 2.0 및 ATOM 1.0 기능 제공– Syndication 을 위한 객체 모델 제공
SyndicationFeed, SyndicationItem, SyndicationLink,SyndicationPerson, SyndicationCategory, SyndicationContent
등• WCF Support in VS 2008
– 프로젝트 템플릿 통합– 새로운 UI 의 “서비스 참조”
다양한 프록시 생성 옵션 제공
Game Development Company
PC Game Rooms 국내 C 게임사
GameClient
(Written in C)
GameClient
(Written in C)
.......
Firewall
GameServer
C/C++
Window 2K
GameServer
C/C++
Linux
......
Firewall
L4 Switch(NLB)
BillingServer
WCF
Window 2003
......
BillingServer
WCF
Window 2003
Billing DBSQL
MSMQ
Log Info
Log InfoTransactionHandling in SP
WCF Handling Biz Logic
TCP/IP
TCP/IP
TCP/IP
TCP/IP
Bandwidth100 bps H/W Spec.
Dual 2 CPU
H/W Spec.4 CPU +8 Core +8 Giga
5000 TX/Sec.0.3 Sec/Response Time
WCF 적용 사례
IAS 의 일종으로 선박 운항시스템의 제어 콘솔 내의 감시 , 제어 및 엔지니어링을 목적으로 하는 S/W1. 선박 운항관련 주요 장비들의 상태 감시를 위한 MMI 모듈 .2. 소프트웨어 엔지니어링을 위한 Control Logic Designer 모듈 .3. 각종 이력 및 환경 데이터 관리를 위한 Database 모듈 .4. 각 WS 간의 안정적 네트워킹을 위한 통신 I/F 모듈 .
SSAS(Samsung Automation Sys-tem)
Before & After ComparisonBefore After
Platform Win32 .NET 3.5
Language VC++ C#
Tier 2 Tier N-Tier
UI MFC 6.0 / GDI2 separate applicationsNot Integrated UI
Windows Form / GDI+ / CAB1 integrated applicationVisual Studio-style UI
Communication Socket WCFSocket (for PCU)
Data Storage File Database (SQL 2005)
Data/File Format Ad-Hoc XML
Programmability Ad-Hoc Script VB Script
IEC61131 Compliant No Yes
Development Tool Visual Studio 6.0 Visual Studio 2008
ALM / SCM No SCM Visual Studio 2005 TFS
Development Methodology Waterfall (SHI Standard Process) MSF for CMMI Improvement
Screenshot – Monitoring UI
Key Factor• World-first .NET Adoption for IAS Market• World-first Implementation for IEC 61131-6(Standard
XML Schema)• Real-world WCF Adoption for Factory Automation– Very heavy load & High frequency– Require Reliability
• Case-study for Pattern & Practice’s CAB(Composite UI)
• Best Practice for ALM– SHI decide to change their Standard Methodology
to MSF-based Methodology– TFS used widely in organization
목차
서비스 지향 패러다임으로의 변화서비스 지향 개발을 위한 WCF 업무 프로세스 개발을 위한 WF결언
Workflow ?
• 어플리케이션의 Workflow ?
–모든 “ IF” 구문들–모든 웹 페이지들 간의 이동 (Navigation)
–어플리케이션이 복잡해 지는 가장 큰 요인
Windows Workflow Founda-tion
• 윈도우를 위한 워크플로우 기술– 마이크로소프트 제품들과 파트너 솔루션들을 위한
기반– 사용자와 시스템간의 워크플로우 시나리오를 위한 기술
• 어플리케이션에 워크플로우를 탑재하기 위한 프레임워크– 탑재를 위한 프레임워크 – 어플리케이션 혹은 서버가 아님– .NET FX 3.5 를 통해 개발자들 이용 가능
• .NET 개발의 중심에 Workflow 개념을 도입시키게 함– Workflow 의 패러다임을 어플리케이션 개발에 도입
Windows Workflow Foundation
핵심 개념
Host Process
WindowsWorkflow Foundation
Runtime Engine
A Workflow
An Activ-ity
Runtime Services
Base Activity Library
Custom Activity Library
Visual Designer
• Visual Designer: 그래픽 , 코드를 통한 비주얼 한 디자인 지원
• Workflow 란 Activity 들의 집합이다• Workflow 는 어떤 어플리케이션 혹은
서버상의 Host Process 상에서 구동될 수 있다
• 개발자들은 자신들만의 Custom Activ-ity Library 들을 추가할 수 있다
구성요소들• Base Activity Library: 기본 Activity
들에 대한 라이브러리• Runtime Engine: Workflow 실행과 관리
• Runtime Services: Workflow 호스팅
Activities 는 무엇인가 ?• Activity 는 workflow 의 각각의 단계– workflow 코드을 이용해서 속성들과
이벤트들을 가지고 프로그램을 할 수 있음 – workflow 런타임에서 메서더를 (예 , Exe-
cute) 호출할 수 있음• Forms & Controls 에 비유– Activity == Controls–Workflows == Forms
• Activities 는 크게 2 가지 범주로 나뉨– Basic –“ 업무 수행” 절차들– Composite – child activities 의 모임을
관리함
Activities: 확장 모델
OOB activities,workflow types,base typesGeneral-purposeActivity libraries define workflow con-structs
Create/Extend/Compose activitiesApp-specificbuilding blocksFirst-class citizens
Base ActivityLibrary
Custom ActivityLibraries
Author new activity
Base ActivityLibrary
Extend activity
Compose activities
Vertical-specificactivities & work-flowsBest-practice IP &Knowledge
Domain-SpecificWorkflow Packages
Compliance
RosettaNet
CRM
IT Mgmt
Base Activity Library
• WF 에서 제공하는 핵심 Activity• 디자인– 컨트롤 흐름 제어 모델링– 커뮤니케이션 모델링
• 예– IfElse, Delay, While, State, etc.– InvokeWebService, CallExternal-
Method, etc.
• 개발자들에게 동일한 API 형태의 구성되어 제공됨
HelloWorld with WF
DEMO
유연한 Workflow 제어
Rules-driven Activi-ties
Step2
Step1Rule1
Rule2
Data역할 + 데이터 상태가 프로세스 순서를 결정
• 데이터 중심• 단순 상태 , 복잡한 정책들• 규정된 Activity Group
State Machine Work-flow
State2
State1Event
Event
외부 이벤트가 처리 순서를 결정 지음
•이벤트 중심•Skip/re-work, exception handling
Sequential Work-flowStep1
Step2
순차적 구조
처리 순서를 사전에 기술
•사전 기술 , 일반적•자동화 시나리오•Flowchart
Sequence Workflow
DEMO
State Machine Workflow
DEMO
호스트와 워크플로우 값 전달
Workflow
HOST Process
메서드 파라미터이벤트
WCF 호스팅 WF
DEMO
Custom Activities• 원도우 어플리케이션이나 웹 어플리케이션에서 사용자 정의 컨트롤을 만드는 것과 같이 워크플로 입장에서 재사용 가능한 컴포넌트• Custom activity 예들
– SendEmail, FileSystemEvent, PurchaseOrderCreated, Assign-Task, ForEach, etc.
Simplicity
Flexibility
Code Activity
CallExternalMethod &HandleExternalEvent
Custom Activities
InvokeWebService Ac-tivity
워크플로우 실행 로직
Custom Activity
DEMO
엔터프라이즈 프로세스 플로우 자동화
BizTalk Server 2006
엔터프라이즈 영역의 프로세스 제어 및 자동화 EAI 및 엔터프라이즈 어플리케이션 간의프로세스 연동 및 자동화 기능 제공
대단위 업무 시스템
업무 프로세스
Service Service Service Service Service• 기존 레거시 자원을 서비스로 모듈화 시키고 비즈니스Capability 자원으로 재활용함
BizTalk 과 WF- 어플리케이션 프로세스 오케스트레이션
Legacy System
Data SourceUnix/Linux
Legacy System
Data SourceWindows
Legacy System
Data SourceM/F
BizTalk Server 2006
세분화된 어플리케이션 영역의 프로세스 제어
어플리케이션 범위 내에서 프로세스 플로우를동적으로 제어함
오케스트레이션 기능 제공
단위 업무 시스템 단위 업무 시스템
업무 프로세스
ServiceServiceService
업무 프로세스 플로우
WinFX - WF
업무 프로세스 플로우 업무 프로세스 플로우
• 기존 레거시 자원을 서비스로 모듈화 시키고 비즈니스Capability 자원으로 재활용함
단위 업무 시스템
WF BizTalk
공통 부분 업무 프로세스나 규칙을 정의할 수 있게끔 해주는 마이크로소프트 워크플로우 솔루션 차이점기술 .NET Framework 3.5 에서 제공하는
워크플로우 엔진 모듈을 이용해서 ,개발은 Visual Studio 2008 에서 제작
BizTalk 서 버 내 에 BPMS(Business Process Management System), BRE(Business Rule Engine),BAM(Business Activity Monitoring)가지고 있고 , Legacy 와 연동할 수 있는 다양한 Adapters 를 제공함
적용 분야 단위 업무에 대한 프로세스를 정의하고 개발자가 손쉽게 워크플로우를 제작할 수 있음
다양한 분야의 워크 플로우 적용이 가능함(예들 들면 , UI 흐름에 대한 워크 플로우와 같은 분야도 적용할 수 있음 )
엔터프라이즈 영역의 업무 프로세스 제어 및 자동화
EAI 및 엔터프라이즈 어플리케이션 간의 프로세스 연동 및 자동화 기능 제공
ESB 기능 없음 ESB 제작할 수 있는 Toolkit 를 제공함관리 기능 BPMS 를 가지고 있지 않음 .
워 크 플 로 우 대 한 Activity Monitoring 하 는 기능은 Native 하게 제공하지 않기 때문에 BizTalk 또는 SharePoint 와 연계해서 사용해야 함
BAM(Business Activity Monitoring) 기능을 제공함 BPMS 내장하고 있어서 워크 플로우 관리가 용이함
공통 적용 단위 업무 별로 WF 를 적용해서 사용하다가 부서간의 통합이나 전사적으로 확산해서 적용할 경우 BizTalk 이 각 업무 단위 WF 를 결합한 BPMS(Business Process Management System) 을 구축할 수 있음
WF 와 BizTalk 의 공통점과 차이점
목차
서비스 지향 패러다임으로의 변화서비스 지향 개발을 위한 WCF 업무 프로세스 개발을 위한 WF결언
.NET Framework 2.0 + SP1
Windows Presentatio
n Foundation
Windows Communicati
on Foundation
Windows Workflow
Foundation
Windows CardSpace
.NET Framework 3.0 + SP1
.NET Framework 3.5
LINQ ASP.NET 3.5CLR Add-in Framework
Additional Enhancemen
ts
.NET Framework 3.5 구조
MS 의 New SOA Technologies
WinFX -WFWindows Workflow Foundation
WinFX - WCFWindows Communication Foundation
BizTalk Server 2006
SOA 개념을 지원하기 위한신개념 웹서비스 개발 플랫폼
SOA 의 어플리케이션프로세스 오케스트레이션을위한 개발 플랫폼
SOA 의 엔터프라이즈프로세스 자동화를위한 개발 및 실행 플랫폼
MS SOA 솔루션을 통한 SOA 실현 방안
비즈니스 모델링 및Capability 정의
Enterprise Application자동화
프로세스 플로우오케스트레이션
Contract 기반 서비스어플리케이션
Enterprise 라이브러리
MS Motion 방법론MicrosoftBizTalk Server2006
EAIMessage MappingProcess Automation
SOA 방법론
XML Script 기반의플로우 오케스트레이션Dynamic Control
Service ContractData ContractMessage Contract
AuthenificationLoggingData Access
MicrosoftWindows CommunicationFoundation
MicrosoftEnterprise Library
MicrosoftWindows WorkflowFoundation
프로세스 & CapabilityMapping
MS CSF
MS SOA 솔루션 구현 개념
Enterprise Process Automation (BizTalk Server 2006)
ApplicationBlock
Process Flow(WWF)
ApplicationBlock
ApplicationBlock
Process Flow(WWF)
Process Flow(WWF)
Process Flow(WWF)
Contract basedService Application(ASP.Net)
Contract basedService Application(ASP.Net)
Contract basedService Application(ASP.Net)
Contract basedService Application(ASP.Net)
MS Enterprise Library MS Enterprise Library MS Enterprise Library MS Enterprise Library
EnterpriseProcess Automation
Service Orchestration
Service Application
Service Library
BizTalk Server2006
MS WWFASP.Net
MS WCFASP.Net
MS EnterpriseLibrary
Start EndEAI
Messaging
Mapping
SQL Server 2005 SQL Server 2005 SQL Server 2005 SQL Server 2005
IIS / WindowsServer 2003
IIS / WindowsServer 2003
IIS / WindowsServer 2003
IIS / WindowsServer 2003
Application모듈화
Service모듈화
ProcessAutomation
ProcessOrchestration
Dynamic Connecting Dynamic Connecting Dynamic Connecting Dynamic ConnectingDynamic
Connecting
Dynamic ServiceConnecting
MS CSF
결언• WCF 는 SOA 통합 개발 모델이면서 차세대 통신 인프라를
제공해줌– 웹 서비스 기반 (XML + HTTP)– 서비스 지향 아키텍처 (SOA)– Interoperability
표준 WS-* 스펙 구현– Next generation communication infra of Microsoft
• WF 는 원도우 기반에서 워크플로우를 빠르고 쉽게 구축할 수 있게 해줌– 프로그램 모델 , 엔진 및 도구 제공– 확장 가능한 모델을 제공해서 최종 사용자 또는 다중 프로젝트에 재사용 가능한 워크플로우 기능 제공
Q & A