ch1-4

advertisement
Web Service 개요
강사 : 김기영
강의 내용
 SOA
 Web Services
 관련 사이트
www.softforum.com
2
Real World
 언어가 다르다
 정치 체계가 다르다
 사상이 다르다
 언어(C, C++, Java, C#, VB, COBOL, Perl, …)가 다르다
 OS System(Windows(es), Solaris, AIX, HP_UX, Linux(es), Mainframe(s) …)이
다르다
 사상이(C, .Net, Java) 다르다
www.softforum.com
3
다름에 대한 대처




모든 언어를 익힌다 - 현실적으로 불가능 하다.
모든 체계에 익숙해 진다 – 역시 불가능하다.
모든 사상을 수용한다 – 사상 자체가 서로 상반되므로 분리가 불가피하다.
사상 통일 – 세계 정복
 동일한 언어 사용 - Java, XML, …(영어, 에스페란토어, …)
 중립적인 체계를 사용 – java(VM), .Net(CLR), …
 다른 사상을 허용하되 통신은 표준적인 규약에 따른다. – HTTP, SOAP
www.softforum.com
4
DEVELOPER EUTOPIA
 새로운 언어는 배울 필요가 없고 표준적인 통신 방법만을 배우면 다른 모듈, 제
품, 서비스와 결합이 가능하다.
 로직은 자신이 알고 있는 언어로 자신 있게, 편하게 개발하고 무슨 기법/언어를
사용했는 지와 관계 없이 대화가 가능하게 된다.
 가능하면 통신 방법도 알 필요가 없음 더욱 좋겠다.
www.softforum.com
5
Welcome to EUTOPIA
 SOA(Service-Oriented Architecture)
 초기 SOA의 성과 – CORBA, DCOM, DCE, RMI, …
 초기 SOA의 한계 – 언어/플랫폼과 긴밀한 연결
 이상적인 SOA를 위해서는 서비스의 위치나 기법을 미리 알 필요 없이 이
용 가능해야 한다.
 Service
 work done by one person or group that benefits another(WordNet)
 기술이 아닌 가치를 창출하는 설계
 Loose-Coupling(맞춤(tightly coupled)이 아닌)
 Architecture
 the principles of design and construction and ornamentation of fine buildi
ngs
 여러가지 요소를 유기적으로 결합하는 방법
www.softforum.com
6
SOA의 요소
Service
Broker
Find
Publish
Service
Contract
Service
Consumer
Service
Provider
Interact
Client
Server
www.softforum.com
7
집 사고 팔기
(파는사람)집에 대한 사양/가격/위치 등에 대한 정보와 함께 부동산에 의뢰
(부동산 중개인)의뢰를 접수하고 구매광고를 웹이나 유리에 붙인다.
(사는 사람)부동산을 방문하여 원하는 사양의 집을 찾는다.
(부동산 중개인)집을 사러온 사람이 비슷한 사양을 찾을 때, 등록된 집이 있으
면 소개한다.
5. (사는 사람)직접 방문하여 집을 확인하고 주인과 흥정을 한다.
6. (성사된 경우)파는 사람과 사는 사람은 부동산 중개인에게 수수료를 낸다.
1.
2.
3.
4.
1. (파는사람)집에 대한 사양/가격/위치 등에 대한 정보와 함께 웹이나 집앞에 광
고를 낸다.
2. (사는 사람)서핑을 하거나 아는 사람 소개 등으로 집을 찾는다.
3. (사는 사람)직접 방문하여 집을 확인하고 주인과 흥정을 한다.
4. (성사된 경우)수수료는 없다.
www.softforum.com
8
SOA의 구현
 Infra.
 가장 오픈 되고 신속한 환경
 공용 프로토콜과 언어
 오픈 환경
 Internet – WEB
• 검증되고
• 널리 분포되어 있고
• 표준적이며
• 많은 분야에서 활용되고 있다
 프로토콜/언어
 HTTP/SMTP
 XML
www.softforum.com
9
Web SOA – Web Services
Service
Registry
찾기(Find)
등록(Publish)
UDDI_find_xxx
UDDI_save_xxx
WSDL
Service
Requestor
Service
Provider
연결(Bind)
XML
www.softforum.com
10
웹 서비스 상호 운용성 스택
 SOAP, WSDL, UDDI, WSEL, WSFL, …
 이들을 어떻게 연결하고 , 어떻게 사용하는 지에 대한 것 – 강의 목표
 Wire Stack
 Data format – XML, URL encoding
• Data format definition – XML Schema
 Wire format
• XML Protocol : XML-RPC, SOAP
• Transfer protocol : HTTP, SMTP, FTP, Jabber, …
 Description Stack
 WSDL – What, How, Where
 구문 수준의 Interface – 의미(semantics)가 통해야 하고 공통언어와 명확한 표현을
사용
 Discovery Stack
 UDDI – service type, service provider, categorization
 Discovery/Publish mechanism is also Web Services
www.softforum.com
11
Web Services
 Web기반위에 XML프로토콜을 사용하여 플랫폼과, 구현 언어에 독립적인 컴
포넌트 기반의 분산 컴퓨팅 기술
 문서 중심의 메시징과 RPC를 모두 지원
 HTTP와 SMTP같은 오픈 인터넷 프로토콜들을 통해 동작
 어플리케이션 통합의 문제를 해결하는 테두리 내에서 발전
 기업 내에서도 의미가 있지만, e-Business 어플리케이션 통합의 문제에서는
웹 서비스가 가장 적합
www.softforum.com
12
웹 서비스의 특징
 지속적인 연결을 가지지 않는다
 안정적,리소스 절약/느림
 상태 정보를 유지하지 않는다
 세션 관리가 어려움
 XML 기반의 SOAP을 사용한다
 유연함/느림
 기존의 다른 프로토콜로 구현된 분산 컴포넌트 환경을 통합시킬 수 있다
 인터넷상에서의 분산 컴퓨팅이 가능하다
 방화벽 통과
 보안과 인증이 필요
www.softforum.com
13
Web Applications vs Web Services
Web Applications
Web Services
비고
사람 <-> 기계
기계 <-> 기계
자동화
Protocol
HTTP
XMLP
HTTP, SMTP, FTP, Jabber
데이터 출력
HTML
XML
GUI
HTML과 Script
N/A
Client
Browser(사람)
어플리케이션
Interaction
www.softforum.com
14
RPC vs Web Services
RPC
Web Services
비고
tight
loose
Connectionoriented
dependency
Platform/Language
N/A
기능
RPC
RPC, 메시징
속도
빠름
느림
상태관리
상태 종속
상태 없음
Protocol
전용
HTTP, SMTP, FTP, Jabber
Internet
Service
어려움
쉬움
coupling
Stateless
www.softforum.com
15
Link













http://wwws.sun.com/
http://wwws.sun.com/software/learnabout/webservices/index.html
http://msdn.microsoft.com/
http://www-106.ibm.com/developerworks/
http://www.alphaworks.ibm.com/
http://www.netegrity.com/solutions/solutions.cfm?page=wsOverview
http://www.w3c.org
http://www.oasis-open.org/home/index.php
http://www.ws-i.org/
http://www.ietf.org/
http://www.xmethods.com/
http://www.webservices.org/
http://www.apache.org
www.softforum.com
16
Download