한 마디로 간단하게 말하면, 분산 개발 방법론의 또 한가지 방법일 뿐입니다.
(더 간단하게 말해달라고 하면, 네트워크를 통해 함수를 호출하는 방법입니다.)
이같은 시도는 전혀 새로운 것은 아니구요, 개념적으로 RPC의 연장선상에 있는 것입니다.
이런 시도는 이전에도 여러차례 있었고, 그중에 몇가지는 지금도 잘 사용되고 있습니다.
예로는 DCOM이나 CORBA, RMI 등을 들 수 있습니다.
웹 서비스가 이전의 다른 분산 방법론과 차별성을 가지는 것은, 기술적인 개방성 때문입니다.
기술적으로는, 웹 서비스의 핵심이라고 할 수 있는 SOAP 프로토콜은 HTTP와 XML을 사용하는데요.
이 두가지 개방적인 표준 덕분에, 웹 서비스는 개념적으로 특정 플랫폼에 묶이지 않는 플랫폼 독립성을
가지게 됩니다. 또한 SOAP 프로토콜이 HTTP 프로토콜 위에 세워졌기 때문에 방화벽을 통과하는 데 아무런 문제가 없다는 장점도 가지고 있습니다.
웹 서비스는 기술적으로 HTTP와 XML의 기반 위에 세워졌기 때문에 웹 서비스를 호스팅하거나 클라이언트
측에서 호출하기 위해 추가적인 소프트웨어를 전혀 필요로 하지 않습니다. 또한 플랫폼에 전혀
종속되지 않으므로 윈도우나 자바, 그 외의 어떤 이기종 플랫폼이라고 하더라도 웹 서비스를 구축하고
이용하는 데 제한이 없습니다.
이런 SOAP 프로토콜의 플랫폼 독립적인 특성은 상호운용성(inter-operatablity)이라고 표현되는데,
세계 어느곳에 있는 어떤 서버라도 웹 서비스로 만들어졌다면 그 플랫폼이 무엇이건 혹은 이쪽
플랫폼이 무엇이건 아무런 관계없이 호출이 가능한 것입니다.
또한 개발자에게는, 개발툴 벤더 혹은 애플리케이션 서버 벤더에서 웹 서비스를 위한 툴킷만 지원해
준다면 분산 개발이 쉬워지는 장점이 있습니다. 웹 서비스는 이전의 개방적 분산 개발 표준인 CORBA보다
개발 면에서 훨씬 단순합니다.
하지만 SOAP은 대단히 무거운 프로토콜이기도 합니다. 단지 함수이름 하나를 전송하고 몇바이트
짜리 숫자값 하나를 얻어오기 위해 엄청나게 덩치가 큰 패킷들을 전송하고 받아와야 합니다.
그러므로 웹서비스는 전체 시스템의 성능을 상당히 떨어뜨릴 수도 있습니다.
사실 성능만을 염두에 두고 개발을 한다면 웹 서비스는 꿈도 꾸지 말아야 하겠지만, 최근 IT 업계의
흐름이 성능보다는 개발 편의성이나 통합성을 강조하는 쪽으로 흘러가다보니 중요하게 대두되는
것이지요.
그럼...
지영배 님이 쓰신 글 :
:
: 웹서비스 개발이란게.. 구체적으로 어떤것을 말하는건가요?
:
: 개념이 서질 않습니다.
:
: 아시는분.. 답변좀.. -_-
:
:
|