기존 분산 컴퓨팅 프로토콜 이야기

1. 연결된 상태에서 만약 클라이언트나 서버가 연결이 끊겼다면 이것에 대해서 처리가 힘들다. 특히 이전에 대한 상태 정보를 모두 잃어버린다.

2. 만약 어마어마한 양의 서버와 클라이언트가 물려있는 경우 비 활동적인 클라이언트로 인해 서버의 자원이 낭비될 수 있다.

3. 연결 지향 프로토콜은 방화벽을 통과하지 못한다.

4. 만약 프로토콜의 구조가 다른 서버, 클라이언트가 있다면 둘이 통신이 거의 불가능하다. 설사 가능하더라도 엄청 복잡하다. 만약 Client가 RMI를 사용하면 RMI를 사용하는 서버만 서버 쪽에 있는 메소드 호출이 가능하다.

이런 단점들이 있어서 나타난 것이 Web Service다.

웹 서비스는 XML기반이다. 즉 XML을 이용하면 서로 다른 시스템에서 응용프로그램끼리 공유가 가능하고 데이터 교환도 가능해진다. XML은 유니코드이기 때문에 유니코드를 인식하는 시스템에선 모두 사용이 가능하기 때문이다.

웹 서비스 이야기 (기초에서 실무까지 XML 웹서비스에서 발췌)
  1. 웹 서비스 시스템과 클라이언트는 지속적인 연결을 가지지 않는다.
    클라이언트가 웹 서비스 시스템에서 제공하는 메서드를 호출하면, 웹 서비스 시스템은 메소드의 실행 결과를 클라이언트에게 보내주고 나서 즉시 연결을 해제한다
  2. 웹 서비스는 상태 정보를 유지하지 않는다.
    클라이언트의 요청을 처리한 후 응답을 보내고 나서 즉시 연결이 해제되기 때문에 이전 클라이언트의 상태 정보를 웹 서비스는 유지하지 않는다. 이전에 접속한 클라이언트가 다시 접속하게 되면 새로운 클라이언트 접속으로 취급한다.
  3. 사용하는 프로토콜은 XML 기반의 SOAP이다.
    웹 서비스와 클라이언트 간의 프로토콜로서 사용되는 것은 XML 기반의 SOAP이다. XML기반이 아주 중요한 의미를 가지는데 이것은 곧 플랫폼 중립적인 프로토콜을 말한다.
  4. 기존의 다른 프로토콜로 구현된 분산 컴포넌트 환경을 통합시킬 수 있다.
    기존의 다른 프로토콜로 구현된 분산 컴포넌트 환경을 통합하는 것이 가능하다.인터넷상에서의 분산 컴퓨팅이 가능하다.
  5. 웹 서비스와 클라이언트는 SOAP을 사용해서 요청 및 응답을 한다. SOAP는 HTTP 전송 프로토콜에 의해서 운반될 수 있다. 방화벽은 일반적으로 HTTP 프로토콜은 통과시키기 때문에 SOAP 역시 통과될 수 있다. 이것은 큰 장점인 동시에 큰 단점으로 작용할 수 있다. 익명의 SOAP이 중요한 기능의 메소드를 실행시킬 수 있기 때문이다.




 

'개발 이야기 > Java Story' 카테고리의 다른 글

JVM GC와 메모리 튜닝 (조대협)  (0) 2010.02.11
Java jstat로 메모리 모니터링  (0) 2010.02.11
iBatis 튜토리얼 문서  (0) 2008.05.15
Xpath Syntax  (0) 2008.05.03
Core J2EE Patterns - Business Delegate  (0) 2008.04.26
Posted by 서오석
,