Service-Oriented Architecture in a Nutshell 발표자  :  김종선 일시  : 2006 년  1 월  20 일
Agenda <ul><li>SOA 의 소개 및 기술적인 패러다임 </li></ul><ul><li>SOA  참조 아키텍처 관찰 </li></ul><ul><li>효율적으로  SOA 을 디자인하기 위한 가이드라인 </li><...
개발 방법의 진화 Object Function Component Service Document <ul><ul><li>Object -> OOD, OOSE, OODB </li></ul></ul><ul><li>구조적 방법론 ...
IT  성숙 모델  Proactive Values Services Reactive Fire Fighting The Gartner Group <ul><li>발등에 떨어진 불끄기 </li></ul><ul><li>전산조직이 ...
소프트웨어의 진화
애플리케이션 아키텍처의 진화 Clients PCs Web Web Services T Mainframe DBMS Business  Logic GUI Client/Server DBMS Business  Logic Busin...
SODA Service Oriented Development Architecture Legacy Wrapping Reuse Culture Process-Driven Internet Deployment Hosted Cul...
SOA  패러다임의 진화
SOA  정의를 내려보면… . <ul><li>서비스 : </li></ul><ul><ul><li>WSDL 로 표현되고  SOAP 을 통해 접근 가능한 하나 이상의 행위들의 집합  </li></ul></ul><ul><li>...
현재의 구현기술  : WebService Architecture Public network (WEB) J2EE .NET SOAP UDDI Service Requester Service Provider Service Br...
Illustrating a Service-Oriented Environment Business Processes Applications Web services Application B Application A Appli...
Agenda <ul><li>SOA 의 소개 및 기술적인 패러다임 </li></ul><ul><li>SOA  참조 아키텍처 관찰 </li></ul><ul><li>효율적으로  SOA 을 디자인하기 위한 가이드라인 </li><...
Enterprise Application <ul><li>비즈니스 목적과 요구 사항을 모두 만족시켜야 한다 . </li></ul><ul><li>급변하는 비즈니스 환경에 빠른 대처가 가능해야 한다 . </li></ul><u...
Evolution to Service Oriented  <ul><li>재사용 가능한 비즈니스 컴포넌트 설계 </li></ul>CBD (Component Based Development) Why Service Orient...
분산 객체 기술 구현 예 class Account { ProcessWithdraw (Account pDetail, Customer cust, Delivery delivery) {   // } } Account accou...
<ul><li>플랫폼 ,  벤더 ,  버전 ,  시간 ,  공간에 종속된다 </li></ul><ul><li>변경 및 업데이트가 힘들다 </li></ul><ul><li>확장 성이 떨어진다 </li></ul><ul><li>...
단순 웹 서비스의 한계 <ul><li>인코딩 방식 ,  객체 수명 ,  컴포넌트 서비스가 플랫폼 ,  벤더 ,  버전 별로 다름 </li></ul><ul><li>플랫폼 간 통합 커넥터 ,  프록시 생성 요구 </li><...
기술특징  #1  Course-grained Business Interface VS. 카탈로그 습득 상품 표기 ,  주문자 표시  카탈로그 전송 대금 결제 매장 점원 손님 안녕하세요 ? 캠코더 있어요 ? 어디 것으로 ?...
Service Granularity Add order Release order Add order header release order item Order process manager Order process manage...
기술특징  #2 Loosely Coupled Architecture <ul><li>기술 독립적인 비즈니스 인터페이스 </li></ul><ul><li>인터페이스 변경에 보다 유연하게 적응 </li></ul><ul><li>...
Reference Architecture View, Control Layer Persistent Layer Data Accessors Business Logic Layer Business  Component Model ...
Business Service  Reference Architecture  (Conceptual Model)   모바일 디바이스 쇼핑몰 어플리케이션 X- 인터넷 ( 프리젠테이션 레이어 ) UI  컴포넌트 UI  프로세스...
Business Service  Reference Architecture  (Infrastructure Model)
웹 서비스 아키텍처 개요 컴포넌트 아키텍처 서비스 아키텍처 컴포넌트 아키텍처 Source: CBDi Forum 워크 플로우 ,  선행 / 후행 조건 서비스 사용자 서비스 제공자 비즈니스  프로세스 비즈니스 서비스 버스
더욱 유연해진 비즈니스  환경 HTTP/HTML HTTP/HTML 인터넷 쇼핑몰 배송 업체 XML Web Service XML Web Service XML Web Service XML Web Service 금융 기관 창...
Agenda <ul><li>SOA 의 소개 및 기술적인 패러다임 </li></ul><ul><li>SOA  참조 아키텍처 관찰 </li></ul><ul><li>효율적으로  SOA 을 디자인하기 위한 가이드라인 </li><...
서비스 지향 어플리케이션 개발 순서   메시지 설계  :  XML, XSD, SOAP, WSDL,  기타 확장 표준  구현  : .NET & J2EE, WSDK, SOAP ToolKit   퍼블리싱  :  UDDI   ...
Looking For Boundaries Browse Products Select Products Agree Delivery Provide Payment Place Order Catalogue Authorise Cred...
 
 
Reference <ul><li>Zapthink,  http://www.zapthink.com/ , Oct. 31, 2005 </li></ul><ul><li>Gartner,  http://www.gartner.com/ ...
page
Upcoming SlideShare
Loading in...5
×

Service-Oriented Architecture in a Nutshell

1,217

Published on

SOA에 대한 기본개념의 이해를 통해서 서비스 및 연구소의 발전방향에 대해서 모색해본다.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,217
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 비즈니스를 시스템화하는 Function 으로 찾아내기 시작함
  • Fire Fighting ~ Service 까지는 IT 는 비즈니스를 서포트하는 단계일뿐
  • 1 단계 : 1 세대 ASP - 인터넷을 통해 패키지 소프트웨어 배포 2 단계 : 웹 ASP - 인터넷을 통한 배포를 지향하는 애플리케이션 배포 3 단계 : 1 세대 웹 서비스 – 이미 만들어놓은 컴포넌트 연결과 독립적인 컴포넌트의 상호운영을 위한 웹 서비스 4 단계 : 2 세대 웹 서비스 - 웹 서비스 아키텍처에 맞게 애플리케이션을 다시 작성 , 전체적인 인프라작업 5 단계 : 3 세대 웹 서비스 – 웹 서비스 비즈니스 활동 , 비즈니스 프로세스는 애플리케이션으로부터 떨어지고 , 표준 언어로 쓰여진다 .
  • Service Oriented Development Architecture
  • 웹 서비스의 구성 요소 SOAP - Simple Object Access Protocol - 인터넷 상에서 XML 메시지를 교환하는 프로토콜 WSDL - Web Service Description Language - 웹 서비스를 호출하기 위한 서비스 인터페이스를 정의 UDDI - Universal Description Discovery and Integration - UDDI 는 웹 서비스를 등록 , 검색할 수 있는 등록 저장소
  • The identification of boundaries may be done from a business model For example a process or workflow model divided into swim lanes. Swim lanes represent the different ‘ systems ’ involved in the end to end process. Each system could be the domain of a different organization or business unit. Platform native protocols can be used horizontally between components of the same system, application, or business unit, and is therefore likely to have a common platform infrastructure. But SOAP is used when crossing the vertical boundaries as each swim lane is a different system, application, or business unit, and therefore likely to have a DIFFERENT platform infrastructure.
  • 매니지먼트 웹서비스 -&gt; 패러다임 쉬프트 (Automation 이 가능하게 )
  • Service-Oriented Architecture in a Nutshell

    1. 1. Service-Oriented Architecture in a Nutshell 발표자 : 김종선 일시 : 2006 년 1 월 20 일
    2. 2. Agenda <ul><li>SOA 의 소개 및 기술적인 패러다임 </li></ul><ul><li>SOA 참조 아키텍처 관찰 </li></ul><ul><li>효율적으로 SOA 을 디자인하기 위한 가이드라인 </li></ul>
    3. 3. 개발 방법의 진화 Object Function Component Service Document <ul><ul><li>Object -> OOD, OOSE, OODB </li></ul></ul><ul><li>구조적 방법론 ,information engineering, Flow-chart </li></ul><ul><li>DOA(Document Oriented Architecture) </li></ul><ul><ul><li>CBD, package software </li></ul></ul><ul><ul><li>SOA </li></ul></ul>비즈니스를 바라보는 시각의 변화 궁극적인 목적 : 사람들이 손으로 해왔던 기업 내의 비즈니스를 것을 어떻게 시스템화하느냐 !!
    4. 4. IT 성숙 모델 Proactive Values Services Reactive Fire Fighting The Gartner Group <ul><li>발등에 떨어진 불끄기 </li></ul><ul><li>전산조직이 생김 </li></ul><ul><li>스케줄링가능 </li></ul><ul><li>전산조직에 의한 전반적인 관리 </li></ul><ul><li>시스템일정관리 등의 대한 가이드라인 </li></ul><ul><li>( 예 ) ERP( 현업의 비즈니스를 ERP 에 맞춤 ) </li></ul><ul><li>서비스를 만들어놓으면 찾아서 사용 </li></ul><ul><li>UDDI 에 웹 서비스 관련 정보 등록 가능 </li></ul><ul><li>( 예 ) 예전에는 생소했던 사이트 검색 </li></ul><ul><li>2010 년 형성예상 </li></ul><ul><li>기업내의 IT 조직에서 부가가치를 만들어냄 </li></ul><ul><li>( 예 ) 월마트의 인공위성시스템 -> 주가상승 </li></ul>
    5. 5. 소프트웨어의 진화
    6. 6. 애플리케이션 아키텍처의 진화 Clients PCs Web Web Services 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
    7. 7. SODA Service Oriented Development Architecture Legacy Wrapping Reuse Culture Process-Driven Internet Deployment Hosted Culture Dynamic Integration Source : Gartner Research
    8. 8. SOA 패러다임의 진화
    9. 9. SOA 정의를 내려보면… . <ul><li>서비스 : </li></ul><ul><ul><li>WSDL 로 표현되고 SOAP 을 통해 접근 가능한 하나 이상의 행위들의 집합 </li></ul></ul><ul><li>서비스 지향 애플리케이션 : </li></ul><ul><ul><li>하나 이상의 서비스를 통해 전부 또는 일부의 기능을 제공하는 애플리케이션 </li></ul></ul><ul><li>서비스 지향 아키텍처 (SOA): </li></ul><ul><ul><li>서비스 지향 애플리케이션을 구축하거나 사용하는 방법에 대한 가이드라인 </li></ul></ul>
    10. 10. 현재의 구현기술 : WebService Architecture Public network (WEB) J2EE .NET SOAP UDDI Service Requester Service Provider Service Broker Publish Find / Locate Binding / interact / Invoke WSDL WSDL XML
    11. 11. Illustrating a Service-Oriented Environment Business Processes Applications Web services Application B Application A Application C Application D New business process New application
    12. 12. Agenda <ul><li>SOA 의 소개 및 기술적인 패러다임 </li></ul><ul><li>SOA 참조 아키텍처 관찰 </li></ul><ul><li>효율적으로 SOA 을 디자인하기 위한 가이드라인 </li></ul>
    13. 13. Enterprise Application <ul><li>비즈니스 목적과 요구 사항을 모두 만족시켜야 한다 . </li></ul><ul><li>급변하는 비즈니스 환경에 빠른 대처가 가능해야 한다 . </li></ul><ul><li>수익성 있는 비즈니스 모델 반영 </li></ul><ul><li>Business Agility </li></ul>{ 기업 구성원 } n 비즈니스 목적 = Business Agility Business Application * t
    14. 14. Evolution to Service Oriented <ul><li>재사용 가능한 비즈니스 컴포넌트 설계 </li></ul>CBD (Component Based Development) Why Service Oriented ? CRM 파트너 물류 관리 시스템 고객 정보 시스템
    15. 15. 분산 객체 기술 구현 예 class Account { ProcessWithdraw (Account pDetail, Customer cust, Delivery delivery) { // } } Account account = new Account(); account.ProcessWithdraw (pDetail, cust, delivery); <ul><li>원격 서버의 Account 객체 생성 </li></ul><ul><li>ProcessWithdraw method 호출 </li></ul><ul><li>필요한 정보를 인자로 전달 </li></ul><ul><li>결과 반환 </li></ul>여신 관리 시스템
    16. 16. <ul><li>플랫폼 , 벤더 , 버전 , 시간 , 공간에 종속된다 </li></ul><ul><li>변경 및 업데이트가 힘들다 </li></ul><ul><li>확장 성이 떨어진다 </li></ul><ul><li>인간 친화적이지 못하며 설계가 힘들다 </li></ul><ul><li>(Function 위주와 Flow 로 구성하고 호출하여 처리 ) </li></ul><ul><li>유지 보수 비용이 증가한다 </li></ul><ul><li>테스트가 힘들며 통합성이 떨어진다 </li></ul>분산 객체 기반 기술의 단점 Tightly Coupled Architecture
    17. 17. 단순 웹 서비스의 한계 <ul><li>인코딩 방식 , 객체 수명 , 컴포넌트 서비스가 플랫폼 , 벤더 , 버전 별로 다름 </li></ul><ul><li>플랫폼 간 통합 커넥터 , 프록시 생성 요구 </li></ul><ul><li>방화벽을 통과하는 RPC 이상이 되지 못함 </li></ul><ul><li>벤더 종속적이며 인프라 어플리케이션의 영속성 개선이 약함 </li></ul><ul><li>결과적으로 분산 컴포넌트 방식은 현재 기업 구조를 반영하지 못함 </li></ul>
    18. 18. 기술특징 #1 Course-grained Business Interface VS. 카탈로그 습득 상품 표기 , 주문자 표시 카탈로그 전송 대금 결제 매장 점원 손님 안녕하세요 ? 캠코더 있어요 ? 어디 것으로 ? ABC 사 것으로… 모델은 요 ? DC 시리즈로 구입 후 , 카드 , 현금 등을 통해 지급
    19. 19. Service Granularity Add order Release order Add order header release order item Order process manager Order process manager Location.Validate Location component Postcode component Address manager Looser coupling required Looser coupling desired Looser coupling ? Granularity Coarse- grained Fine- grained
    20. 20. 기술특징 #2 Loosely Coupled Architecture <ul><li>기술 독립적인 비즈니스 인터페이스 </li></ul><ul><li>인터페이스 변경에 보다 유연하게 적응 </li></ul><ul><li>적은 네트워크 라운드 트립 </li></ul><ul><li>조정 가능한 캐싱 , 머징 </li></ul><ul><li>안정적 , 스케일러블 서비스 가능 </li></ul><ul><li>인간 친화적 어플리케이션 분석 설계 </li></ul><ul><li>오피스 자원의 어플리케이션 수준 활용 </li></ul><ul><li>기간 어플리케이션 재 사용 및 영속성 보장 </li></ul>성능 향상 가능성
    21. 21. Reference Architecture View, Control Layer Persistent Layer Data Accessors Business Logic Layer Business Component Model Dispatcher Conceptual Model Technical Model Web Application 웹 서버 WAS TPM
    22. 22. Business Service Reference Architecture (Conceptual Model) 모바일 디바이스 쇼핑몰 어플리케이션 X- 인터넷 ( 프리젠테이션 레이어 ) UI 컴포넌트 UI 프로세스 컴포넌트 문서 지향 서비스 인터페이스 비즈니스 엔티티 레이어 비즈니스 엔티티 비즈니스 컴포넌트 데이터 액세스 레이어 데이터 액세스 로직 컴포넌트 서비스 에이전트 비즈니스 프로세스 서비스 <?xml version='1.0'?> <Account Id=&quot;001&quot; > <AccountDetail AccountId =&quot;00A&quot;> <?xml version='1.0'?> <Account Id=&quot;001&quot; > <AccountDetail AccountId =&quot;00A&quot;> <?xml version='1.0'?> <Account Id=&quot;001&quot; > <AccountDetail AccountId =&quot;00A&quot;> Connector <?xml version='1.0'?> <Account Id=&quot;001&quot; > <AccountDetail AccountId =&quot;00A&quot;> 비즈니스 워크플로우 중소기업고객관리 개인고객관리 메인프레임
    23. 23. Business Service Reference Architecture (Infrastructure Model)
    24. 24. 웹 서비스 아키텍처 개요 컴포넌트 아키텍처 서비스 아키텍처 컴포넌트 아키텍처 Source: CBDi Forum 워크 플로우 , 선행 / 후행 조건 서비스 사용자 서비스 제공자 비즈니스 프로세스 비즈니스 서비스 버스
    25. 25. 더욱 유연해진 비즈니스 환경 HTTP/HTML HTTP/HTML 인터넷 쇼핑몰 배송 업체 XML Web Service XML Web Service XML Web Service XML Web Service 금융 기관 창고 업체 XML Web Service B2B, A2A, EAI, P2P, 파트너 통합 B2C 다양한 디바이스 B2C 브라우저 기반
    26. 26. Agenda <ul><li>SOA 의 소개 및 기술적인 패러다임 </li></ul><ul><li>SOA 참조 아키텍처 관찰 </li></ul><ul><li>효율적으로 SOA 을 디자인하기 위한 가이드라인 </li></ul>
    27. 27. 서비스 지향 어플리케이션 개발 순서 메시지 설계 : XML, XSD, SOAP, WSDL, 기타 확장 표준 구현 : .NET & J2EE, WSDK, SOAP ToolKit 퍼블리싱 : UDDI 비즈니스 도메인 분석 OLA Customer Identify Entertainment Item Confirm Customer Identity Sell Entertainment Item Take Remote Payment Identify Customer Submit Membership Information WEP Solution 비즈니스 서비스 버스 설계 «interface» :Stock::IStock «user» Instance :Product Catalog OnSearch SearchForItem( In SearchCriteriaXML, out ProductResultsXML ) SearchForItem( In SearchCriteriaXML, out ProductResultsXML ) OnGetDetails GetProductDetails( In ProductSelectedXML, out ProductDetailsXML ) GetProductDetails( In ProductSelectedXML, out ProductDetailsXML )
    28. 28. Looking For Boundaries Browse Products Select Products Agree Delivery Provide Payment Place Order Catalogue Authorise Credit Record Order Post transaction Schedule Delivery Check Stock Update Stock Replenish Stock Record Order Check Customer Identify Customer E-Commerce Storefront System Outsourced Logistics Existing Sales System General Ledger Supplier(s) Credit Agency Update Catalogue Security, identity requirements? Transport? Message structure? When? External Internal Pre/post conditions? Behaviour? Interface? XML Web Services Native Platform Communications Source: CBDDi forum - Microsoft
    29. 31. Reference <ul><li>Zapthink, http://www.zapthink.com/ , Oct. 31, 2005 </li></ul><ul><li>Gartner, http://www.gartner.com/ </li></ul><ul><li>Microsoft, http://www.microsoft.com/ </li></ul><ul><li>SUN, http://www.sun.com </li></ul><ul><li>마이크로소프트웨어 , “ 비주얼 스튜디오 2005 를 이용한 SOA 구축과 개발” , Nov. 9, 2005 </li></ul>
    30. 32. page
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×