Transcript 클라이언트
서비스 지향 패러다임으로의 변화 서비스 지향 개발을 위한 WCF 업무 프로세스 개발을 위한 WF 결언 ERP 애플리 .NET 애플리 케이션 케이션 패키지 애플 리케이션 X J2EE 애플리 Unix 애플리 케이션 케이션 CICS 애플리 케이션 패키지 애플 리케이션 Y AS/400 애플 리케이션 • 안정적인 단일 수입원의 고갈 – 새로운 요소는 기존 요소를 필요로 함 – 기존 요소들 또한 새로운 요소를 필요로 함 • 여러 이질적인 시스템들이 혼재 – 일률적인 업그레이드가 어려움 – 단일 운영체제/하드웨어 플랫폼 선택의 난점 • “빅뱅” 효과에 대한 대처 – 모든 플랫폼이 지속적으로 상호 이질화됨 – 모든 위치에서 데이터를 액세스/조작 • 시스템 구성과 재사용 수단 – 여러 애플리케이션이 자유롭게 교차 – 여러 기관과 신뢰의 경계를 자유롭게 교차 • 구현에 얽매이지 않을 것 – 공개 표준에 기반을 둔 상호 작용 – 특정한 언어나 플랫폼에 의존하지 않을 것 • 동적인 그룹화 및 재 그룹화 • 비동기적 연산의 지원 ERP 애플리 닷넷 애플리 케이션 케이션 패키지 애플 리케이션 X 통합 커뮤니케이션 메커니즘 자바 애플리케이션 CICS 애플리 케이션 패키지 애플 리케이션 Y 유닉스 애플 리케이션 AS/400 애플 리케이션 메인프레임 데이터베이스 비즈니스 로직 터미널 PCs 클라이언트/서버 데이터베이스 비즈니스 로직 비즈니스 로직 GUI 웹 멀티-티어 데이터베이스 비즈니스 로직 서비스 서비스 지향 브라우저 클라이언트 데이터베이스 비즈니스 로직 비즈니스 로직 • 애플리케이션을 구성하는 기본 단위 – 위치, 플랫폼, 코드에 무관한 기능 블록으로 정의 – 항상 여러 플랫폼 간, 원격 사용을 가정 – 구현과 관련된 세부적 사항을 무시할 수 있어야 함 • 서비스는 플랫폼, 신뢰성 등의 경계가 있음 – 객체는 경계 내부에서만 사용하는 것이 바람직하며 서비스는 경계 내-외부에 공히 사용될 수 있음 – 경계는 서비스의 규모를 결정하는 요인임 Object-oriented distributed solution Service-oriented distributed solution 교의 의미 경계가 명확하다 서비스 기반의 기능성을 개발자가 자의적으로 외부에 공개한다 서비스는 독자적이다 배포, 버전제어, 보안 등을 독립적으로 결정할 수 있다 클래스나 객체 대신 스키마와 계약 관계를 공유한다 클래스 대신 메시지 형식과 교환 패턴에 기초하여 통합을 달성한다 서비스 호환성은 정책에 의해 결정된다 안정적 글로벌 명칭을 사용한 정책 선언에 기초하여 서비스 호환성을 결정한다 Applications Operational Requirements State composed of enforce Policies governed by have bound by manage Services exchange Message Exchange Pattern Contracts describe contain Messages is a set of Schemas define structure of • 차세대 시스템을 설계/구축하기 위한 방법을 정형 화하는 기회 제공 – 극심한 상호 의존성의 최소화 – 독립성 증진 – 조립/통합 가능한 애플리케이션의 용이한 배급 • 높은 수준의 상호운용을 가능하게 함 • 현재 시스템의 핵심적 가정을 명확하게 함 – 특히 경계부와 국지적 정보 Messaging WS-Reliable Messaging Transactions WS-Transactions WS-Coordination WS-AtomicTranscation SOAP, WS-Addressing, WS-Eventing XML XML, XSD, XPath Transports HTTP, TCP, SMTP WSDL, WS-Policy, WS-Discovery WS-Security WS-Trust WS-Federation Reliability Metadata Security ASMX 상호운용을 위 한 웹 서비스 네이티브 .NET 커뮤 니케이션 트랜잭션 표현과 처리 WS-* 스펙의 지원 비동기적 메시징 명시적 서비스 지향 .NET Remoting Enterprise Services WSE MSMQ WCF • 웹 서비스가 바람직한 미래이기는 하지만 – Non-SOAP 서비스와의 연결, – 비즈니스 프로세스를 형성하는 서비스 구축의 필 요성이 그만큼 더 증대됨 • 비즈니스 프로세스를 구축, 관리, 감시하기 위한 프레임워크의 필요성 – 현재 환경에서의 직접적인 활용 – 서비스 지향적인 미래에도 여전히 유용함 서비스 지향 패러다임으로의 변화 서비스 지향 개발을 위한 WCF 업무 프로세스 개발을 위한 WF 결언 • 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-Addressing WSDL, WS-Policy WS-Security, WS-Trust, WS-SecureConversation WS-ReliableMessaging WS-AtomicTransaction, WS-Coordinate Windows Communication Foundation Namespaces And References Namespace System.ServiceModel System.Runtime.Serialization System.Security.Authorization System.Transaction Assembly Reference System.ServiceModel.dll – Core Library System.Runtime.Serialization.dll – Serialization Library System.Secruity.Authorization – Security Library System.Transactions.dll – Transaction Library Clients and Services Client Service Message Client Service Message Endpoint Endpoint Endpoint Endpoint Client Service Message C B A A B C A B C A B C Address Binding Contract Where? How? What? Endpoint Client Service Message C B A ClientChannel A B C A B C A B C ServiceHost • WCF 프로그램 간의 메시지 통로 – 채널 타입(단순 입력, 단순 출력, 입-출력, 요청-응답 메시지 패턴으로 구현) – 클라이언트 채널은 서비스 endpoint 제작 • 클라이언트가 서비스로 처음 메시지를 전송 하는 순간에 채널 확립 – 최초 클라이언트 서비스 메시지 전송이 두 번째 메시지 전송 보다 더 시간이 소요될 수 있음 • WCF 프로그램이 채널을 통한 메시지 송수신시 서비스 endpoint가 필요함 외부에서 본 Service 구조 • WCF 프로그램이 채널을 통한 메시지 송수신시 서비스 endpoint가 필요함 내부에서 본 Service 구조 • 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, …… – 다양한 바인딩(프로토콜 지원) • • • • • • 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, NetNamedPipe 등 • Requirements – 개발 생산성(Productivity) – 성능(Performance) – 확장성(Scalability) – 기능성(Function) 트랜잭션(Transaction) 신뢰도(Reliability) 보안(Security) – 단일 프로그래밍 모델 기존 ASMX, Remoting, DCOM(Enterprise Services), MSMQ 프로그래밍 모델을 통합하는 프로그래밍 모델 – 상호운영성 (Interoperability) – 유연성(Flexibility) • .NET Remoting – 성능적으로 우수함 (TCP Channel + Binary Formatter) – 상호운영성이 떨어짐 – Proxy 객체 작성이 어려움 (Facade 어셈블리 참조 필요) – IIS 호스팅에 한계를 가짐(HTTP Channel 필수) • ASP.NET Web Service – 상호운영성이 우수함 – 상대적으로 성능이 떨어짐 – HTTP 만을 사용할 수 있음 – 유연성이 떨어짐 • Enterprise Services(DCOM)/MSMQ – 가장 다양한 기능 보유(트랜잭션, 보안, 객체 풀링, 인스턴스 모델) – 방화벽 통과가 어려움 – 닷넷과 함께 사용시 성능 저하 – 상호운영성이 크게 떨어짐 Interoperability XML Message HTTP Web Service Interface (ASMX + WSE) Java client Legacy application Service Performance Binary Message TCP Channel .NET Remoting Interface .NET Client Business Logic Reliability MSMQ Message MSMQ Client WA N MSMQ Interface Message Queue MSMQ Message PDA/Mobile Client Off-line Messaging Distributed Transaction DCOM Other COM+ Component Facade Layer • • Advantage – 유연성 HTTP, TCP, Named Pipe, MSMQ, P2P 등 다양한 트랜스포트 지원 단일 프로그래밍 모델 선언적 서비스 종점(endpoint) – 성능 TCP 트랜스포트 + 바이너리 인코딩 TCP를 사용하면서도 IIS 7.0에 호스팅 가능 (WAS) – 상호운영성 SOAP 기반의 메시지 WS-* 기반의 인터넷 표준 사용 – 다양한 기능 보안, 트랜잭션, 신뢰할 수 있는 메시징 등 Disadvantage – 상대적으로 새로운 기술 – 마이그레이션 필요 Interoperability Security Reliability Transaction WCF Service Endpoint Address #1 WCF Message Contract Java client Legacy application WSHttpBinding Endpoint Address #2 Contract WCF Message NetTcpBinding WCF Client Business Logic WCF Message WCF Client WA N Endpoint Address #3 Message Queue WCF Message Disconnected Client Contract NetMsmqBinding • Reliable Messaging in WCF – 네트워크 상의 중간 매개체의 메시지 전송 문제 해결 – 메시지 전달에 대한 보장 (End-to-End Reliability) 메시지에 대한 ACK(acknowledge) 사용 메시지 재전송 메커니즘 메시지의 순차적인 전송 – WS-ReliableMessaging 표준 준수 Reliable Session 사용 WSHttpBinding, WSDualHttpBinding, NetTcpBinding 사용 • Using MSMQ Transport – 네트워크 뿐만 아니라 서비스가 다운된 상황에서도 메시지 전송 – Off-line 시나리오 – NetMsmqBinding 사용 Proxy, Firewall, Router, …… Transport Channel Unknown Channel Intermediate Servers Transport Channel Transport level Reliability Unknown Channel Client Service Transport Channel Intermediate Servers Unknown Channel Point-to-Point Point-to-Point Cache server, Firewall, Router, ….. Point-to-Point Proxy, Firewall, Router, …… Intermediate Servers Message Received And Send ACK Down Message with ID Retransmit !!! Service Client Message with ID Intermediate Servers Cache server, Firewall, Router, ….. End-to-End Proxy, Firewall, Router, …… Intermediate Servers Offline MSMQ Send Queue Client Message Queued MSMQ Receive Queue Down Service Intermediate Servers Cache server, Firewall, Router, ….. • 서비스/클라이언트의 분산 트랜잭션 – Enterprise Services에 의해서만 지원되던 기능 COM+ 서버 어플리케이션 타입만이 지원 – MSDTC와 OLE Transaction 프로토콜, DCOM에 의해 제공 – 다양한 제약 사항 존재 방화벽 통과가 어려움 닷넷 환경에서 성능이 떨어짐 • Transaction in WCF – HTTP, TCP, Named Pipe 트랜스포트 지원 HTTP 사용시 방화벽 통과가 상대적으로 용이함 – OLE Transaction 및 WS-AtomicTransaction 프로토콜 사용 상호운영성이 향상됨 – System.Transactions 네임스페이스 기반 TransactionScope 객체를 통한 트랜잭션 지원 Distributed/Atomic Transaction 클라이언트 주문 처리 서비스 재고 데이터베이스 주문처리 컴포넌트 카드 승인 웹 서비스 재고관리 컴포넌트 배송 요청 웹 서비스 Distributed/Atomic Transaction 클라이언트 주문 처리 서비스 재고 데이터베이스 주문처리 컴포넌트 재고관리 컴포넌트 MSDTC WS-AT and other standards MSDTC 카드 승인 웹 서비스 Other MSDTC TM 배송 요청 웹 서비스 • • P2P in Enterprise Environment – 사내 메신저 – 서버 콘텐트 동기화 P2P in WCF – 메쉬(mesh) 기반의 P2P 지원 부분 연결된 메쉬 – TCP 트랜스포트 기반 – NetPeerTcpBinding 지원 – 단일 프로그래밍 모델 – 지원하는 P2P 인프라 PNRP (Peer Name Resolution Protocol) Custom Resolver Partially Connected Mesh Server Server Server Server Server Server Centralized Content Server Congestion !!! Region A Clients Region B Clients Region C Clients Centralized Content Server Local Content Server Region A Clients Local Content Server Region B Clients Local Content Server Region C Clients • • • 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 Channel SOAP 메시지 압축 Windows SDK Sample 참조 • • • 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의 “서비스 참조” 다양한 프록시 생성 옵션 제공 Firewall Firewall PC Game Rooms Game TCP/IP Client (Written in C) .. ... . . Game TCP/IP Client (Written in C) Game Development Company 국내 C 게임사 5000 TX/Sec. 0.3 Sec/Response Time Game Server Billing Server TCP/IP C/C++ WCF Window 2K Window 2003 .. .. TCP/IP . . L4 Switch (NLB) .. .. . . Log Info MSMQ Log Info Billing Server Game Server WCF C/C++ Window 2003 Linux WCF Handling Biz Logic Bandwidth 100 bps H/W Spec. Dual 2 CPU Billing DB SQL Transaction Handling in SP H/W Spec. 4 CPU + 8 Core + 8 Giga IAS의 일종으로 선박 운항시스템의 제어 콘솔 내의 감시, 제어 및 엔지니어링을 목적으로 하는 S/W 1. 선박 운항관련 주요 장비들의 상태 감시를 위한 MMI 모듈. 2. 소프트웨어 엔지니어링을 위한 Control Logic Designer 모듈. 3. 각종 이력 및 환경 데이터 관리를 위한 Database 모듈. 4. 각 WS간의 안정적 네트워킹을 위한 통신I/F 모듈. Before After Platform Win32 .NET 3.5 Language VC++ C# Tier 2 Tier N-Tier UI MFC 6.0 / GDI 2 separate applications Not Integrated UI Windows Form / GDI+ / CAB 1 integrated application Visual Studio-style UI Communication Socket WCF Socket (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 • 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 ? – 모든 “IF” 구문들 – 모든 웹 페이지들 간의 이동(Navigation) – 어플리케이션이 복잡해 지는 가장 큰 요인 • 윈도우를 위한 워크플로우 기술 – 마이크로소프트 제품들과 파트너 솔루션들을 위한 기반 – 사용자와 시스템간의 워크플로우 시나리오를 위한 기술 • 어플리케이션에 워크플로우를 탑재하기 위한 프레임워크 – 탑재를 위한 프레임워크 – 어플리케이션 혹은 서버가 아님 – .NET FX 3.5를 통해 개발자들 이용 가능 • .NET 개발의 중심에 Workflow 개념을 도입시키게 함 – Workflow 의 패러다임을 어플리케이션 개발에 도입 Visual Designer 핵심 개념 • Workflow 란 Activity 들의 집합이다 • Workflow는 어떤 어플리케이션 혹은 서 버상의 Host Process 상에서 구동될 수 있다 • 개발자들은 자신들만의 Custom Activity Library 들을 추가할 수 있다 구성요소들 • Base Activity Library: 기본 Activity들에 대한 라이브러리 • Runtime Engine: Workflow 실행과 관리 • Runtime Services: Workflow 호스팅 A Workflow An Activity Custom Activity Library Windows Workflow Foundation Base Activity Library Runtime Engine Runtime Services • Visual Designer: 그래픽, 코드를 통한 비주 얼 한 디자인 지원 Host Process • Activity 는 workflow의 각각의 단계 – workflow 코드을 이용해서 속성들과 이벤트들 을 가지고 프로그램을 할 수 있음 – workflow 런타임에서 메서더를 (예, Execute) 호출할 수 있음 • Forms & Controls에 비유 – Activity == Controls – Workflows == Forms • Activities는 크게 2가지 범주로 나뉨 – Basic –“업무 수행” 절차들 – Composite – child activities의 모임을 관리함 Base Activity Library Custom Activity Libraries Domain-Specific Workflow Packages Compliance Compose activities Base Activity Library OOB activities, workflow types, base types General-purpose Activity libraries define workflow constructs CRM Extend activity Author new activity Create/Extend/ Compose activities App-specific building blocks First-class citizens RosettaNet IT Mgmt Vertical-specific activities & workflows Best-practice IP & Knowledge • WF 에서 제공하는 핵심 Activity • 디자인 – 컨트롤 흐름 제어 모델링 – 커뮤니케이션 모델링 • 예 – IfElse, Delay, While, State, etc. – InvokeWebService, CallExternalMethod, etc. • 개발자들에게 동일한 API 형태의 구성 되어 제공됨 State Machine Workflow Sequential Workflow Step1 순차적 구조 Step2 처리 순서를 사전에 기 술 •사전 기술, 일반적 •자동화 시나리오 •Flowchart Event State1 Event State2 외부 이벤트가 처리 순서를 결 정 지음 •이벤트 중심 •Skip/re-work, exception handling Rules-driven Activities Rule1 Step1 Data Rule2 Step2 역할 + 데이터 상태가 프로세스 순서를 결정 • 데이터 중심 • 단순 상태, 복잡한 정책들 • 규정된 Activity Group Workflow 메서드 파라미터 이벤트 HOST Process WCF 호스팅 WF • 원도우 어플리케이션이나 웹 어플리케이션에서 사용자 정의 컨트롤을 만드는 것과 같이 워크플로 입장에서 재사용 가능한 컴포넌트 • Custom activity 예들 – SendEmail, FileSystemEvent, PurchaseOrderCreated, AssignTask, ForEach, etc. 워크플로우 실행 로직 Simplicity Code Activity InvokeWebService Activity CallExternalMethod & HandleExternalEvent Custom Activities Flexibility 엔터프라이즈 영역의 프로세스 제어 및 자동화 BizTalk Server 2006 업무 프로세스 • 기존 레거시 자원을 서비스로 모듈화 시키고 비즈니스 Capability 자원으로 재활용함 EAI 및 엔터프라이즈 어플리케이션 간의 프로세스 연동 및 자동화 기능 제공 Service Service Service Service 대단위 업무 시스템 Service 세분화된 어플리케이션 영역의 프로세스 제어 BizTalk Server 2006 업무 프로세스 WinFX - WF 업무 프로세스 플로우 업무 프로세스 플로우 업무 프로세스 플로우 어플리케이션 범위 내에서 프로세스 플로우를 동적으로 제어함 오케스트레이션 기능 제공 • 기존 레거시 자원을 서비스로 모듈화 시키고 비즈니스 Capability 자원으로 재활용함 Service Legacy System Data Source Unix/Linux 단위 업무 시스템 Service Legacy System Data Source Windows 단위 업무 시스템 Service Legacy System Data Source M/F 단위 업무 시스템 WF BizTalk 업무 프로세스나 규칙을 정의할 수 있게끔 해주는 마이크로소프트 워크플로우 솔루션 공통 부분 차이점 기술 .NET Framework 3.5에서 제공하는 워크플로우 엔진 모듈을 이용해서, 개발은 Visual Studio 2008에서 제작 BizTalk 서버 내에 BPMS(Business Process Ma nagement System), BRE(Business Rule Engine ),BAM(Business Activity Monitoring)가지고 있 고, Legacy와 연동할 수 있는 다양한 Adapters를 제공함 적용 분야 단위 업무에 대한 프로세스를 정의하고 개 발자가 손쉽게 워크플로우를 제작할 수 있 음 다양한 분야의 워크 플로우 적용이 가능함( 예들 들면, UI 흐름에 대한 워크 플로우와 같은 분야도 적용할 수 있음) 엔터프라이즈 영역의 업무 프로세스 제어 및 자동 화 EAI 및 엔터프라이즈 어플리케이션 간의 프로세스 연동 및 자동화 기능 제공 ESB 기능 관리 기능 공통 적용 없음 ESB 제작할 수 있는 Toolkit를 제공함 BPMS를 가지고 있지 않음. BAM(Business Activity Monitoring)기능을 제공함 워크플로우 대한 Activity Monitoring하는 기능 BPMS 내장하고 있어서 워크 플로우 관리가 용이함 은 Native하게 제공하지 않기 때문에 BizTalk 또 는 SharePoint와 연계해서 사용해야 함 단위 업무 별로 WF를 적용해서 사용하다가 부서간의 통합이나 전사적으로 확산해서 적용할 경우 BizTalk이 각 업무 단위 WF를 결합한 BPMS(Business Process Management System)을 구축할 수 있 음 서비스 지향 패러다임으로의 변화 서비스 지향 개발을 위한 WCF 업무 프로세스 개발을 위한 WF 결언 .NET Framework 3.5 구조 .NET Framework 3.5 LINQ ASP.NET 3.5 CLR Add-in Framework Additional Enhancements .NET Framework 3.0 + SP1 Windows Presentation Foundation Windows Communication Foundation Windows Workflow Foundation Windows CardSpace .NET Framework 2.0 + SP1 SOA 개념을 지원하기 위한 신개념 웹서비스 개발 플랫폼 WinFX - WCF Windows Communication Foundation BizTalk Server 2006 SOA의 엔터프라이즈 프로세스 자동화를 위한 개발 및 실행 플랫폼 WinFX -WF Windows Workflow Foundation SOA의 어플리케이션 프로세스 오케스트레이션을 위한 개발 플랫폼 SOA 방법론 Microsoft BizTalk Server 2006 EAI Message Mapping Process Automation 비즈니스 모델링 및 Capability 정의 MS Motion 방법론 Enterprise Application 자동화 XML Script 기반의 Microsoft 플로우 오케스트레이션 Windows Workflow Dynamic Control Foundation MS CSF 프로세스 플로우 오케스트레이션 프로세스 & Capability Mapping Service Contract Data Contract Message Contract Microsoft Windows Communication Foundation Contract 기반 서비스 어플리케이션 Authenification Logging Data Access Enterprise 라이브러리 Microsoft Enterprise Library Start End Process Automation Enterprise Process Automation Enterprise Process Automation (BizTalk Server 2006) Application Block Application Block Application 모듈화 Application Block BizTalk Server 2006 Service Orchestration Process Flow (WWF) Process Flow (WWF) Dynamic Dynamic Connecting Connecting Dynamic Connecting Contract based Service Application (ASP.Net) Contract based Service Application (ASP.Net) Process Flow (WWF) Process Orchestration Process Flow (WWF) MS WWF ASP.Net Dynamic Service Connecting Dynamic Connecting Dynamic Connecting Contract based Service Application (ASP.Net) Contract based Service Application (ASP.Net) Service 모듈화 MS Enterprise Library IIS / Windows Server 2003 SQL Server 2005 MS Enterprise Library IIS / Windows Server 2003 SQL Server 2005 MS Enterprise Library MS CSF Service Application MS WCF ASP.Net MS Enterprise Library Service Library IIS / Windows IIS / Windows Server 2003 Server 2003 MS Enterprise SQL Server 2005 SQL Server 2005 Library • WCF 는 SOA 통합 개발 모델이면서 차세대 통신 인프라를 제공해 줌 – 웹 서비스 기반(XML + HTTP) – 서비스 지향 아키텍처(SOA) – Interoperability 표준 WS-* 스펙 구현 – Next generation communication infra of Microsoft • WF는 원도우 기반에서 워크플로우를 빠르고 쉽게 구축할 수 있게 해줌 – 프로그램 모델, 엔진 및 도구 제공 – 확장 가능한 모델을 제공해서 최종 사용자 또는 다중 프로젝트에 재사용 가능한 워크플로우 기능 제공 Q&A