IBM의 웹스피어 제품군 |
IBM 소프트웨어는 WebSphere, DB2, Lotus, Tivoli의 4가지 제품군으로 크게 구분되며 이 모든 제품군들이 각각 웹서비스를 지원할 준비가 되어 있다. ![]() 위 의 그림에서 보면 알 수 있듯이 웹스피어는 일종의 제품군이다. 물론 일반적으로 웹스피어라고 하면 웹스피어 어플리케이션 서버 를 의미하기도 하지만 크게는 위의 제품군들을 총 망라한다. Development, Presentation, Deployment, Integration 등의 업무를 담당 하는 모든 제품들이 웹스피어 제품군 내에 들어 있다. 이 웹스피어 제품군의 핵심이 바로 J2EE 환경에서 Web Application Server로 활용되는 IBM WebSphere Application Server(이상을 앞으로 줄여 WAS라 부르도록 하겠다)이다. WAS는 현재 Version 4가 제공되고 있으며, 곧 Version 5가 출시될 예정이다. 웹서비스에 있어서 핵심이라 할 수 있는 SOAP 메시지의 송수신을 위해서는 Soap Router가 반드시 필요하며, 이것이 IBM WAS에 내장되어 있 다. WAS는 2001년 출시된 Version 4부터 웹서비스에 대한 지원을 본격화하였고, SOAP 프로토콜을 사용할 수 있는 SOAP Router를 제공하였다. |
WebSphere Application Server 4.0 |
아래 그림은 웹서비스를 지원하는 WAS4의 컴포넌트에 대해 설명하고 있다. ![]() WAS4에는 SOAP 버전 2.2가 통합되어 있다. SOAP 지원 기능이 포함되었기 때문에 WAS4는 SOAP 서버와 SOAP 클라이언트 역할 을 모두 수행할 수 있다. 그렇기 때문에 WAS4는 WSDL을 통해 SOAP 메시지들을 주고받을 수 있게 된다. 웹서비스를 웹스피어에 전 개할 경우 XML-SOAP Admin Tool을 사용해 SOAP을 관리할 수 있다. UDDI4J는 UDDI 레지스트리에 대한 자바 인터페이스를 제공한다. 이를 통해 웹스피어에 올라가 있는 응용 프로그램들을 공개할 수 있고, 필요한 웹서비스를 검색할 수 있다. UDDI4J는 일종의 Open Source JAVA Class Library이며, UDDI 레지스트리와 상호 작용하는 API를 제공한다. SOAP router는 WebSphere Application Server 말고도 많은 제품이 이미 나와 있으며 Apache 사이트에서 무료로 다운로드 받아 사용 할 수도 있다. 그러나 웹서비스를 웹스피어 플랫폼 위에 전개한다면 IBM WAS가 제공하는 보안, 트랜잭션 모니터링, 디버깅 등의 기능을 추가적으로 사용할 수 있는 장점을 누리게 된다. 이와 같이 IBM WebSphere Application Server는 웹서비스의 표준 프로토콜들인 XML, SOAP, UDDI 등을 지원하는 Java Runtime 환경이다. 웹스피어를 통해 웹서비스를 개발하고 publish 하는 과정이 아래 그림에 설명되어 있다. ![]() ① Develop : 웹서비스 제공자가 Back-End 시스템과 관계되는 Business Logic을 만든다. ② Package : 작성된 Service Bean을 웹서비스로 변환하기 위해 J2EE 스펙에 맞는 적절한 포맷의 파일 형식으로 archive한다. ③ Deploy : 만들어진 archive 파일을 WebSphere Application Server에 올린다. ④ Generate : 이 Service Bean이 제공하는 서비스의 내용과 호출 방법을 WSDL 파일 안에 기술한다. WSDL 파일은 웹서비스 를 호출하기 위한 위치 정보로서 URN(Uniform Resource Name)의 값도 기록된다. WSDL 파일을 만드는 경우에는 WebSphere Studio Application Developer가 아주 유용하다. ⑤ Publish : WSDL을 비롯한 웹서비스의 상세 내용을 UDDI 레지스트리에 공개한다. UDDI 레지스트리는 인터넷 상에 있는 전 세계적인 레지스트리이며, 서비스 요청자들은 자신들이 사용 가능한 서비스들을 이곳에서 검색하게 된다. ⑥ Find : 서비스 요청자들은 UDDI 레지스트리에서 필요한 웹서비스를 검색한다. ⑦ Bind : 서비스 제공자들은 자신들의 내용을 요청자들에게 SOAP이라는 방식을 통해 Bind해 준다. 그러면 이번에는 웹서비스 요청자의 입장에서 웹서비스를 자신의 시스템에 활용하는 방법에 대해 알아 보겠다. 전체 진행 순서는 아래와 같다. ![]() ① 웹 어플리케이션 개발자가 새로운 어플리케이션 작업을 시작한다. ② 일부 핵심적인 웹 어플리케이션을 개발하는 것은 다소 복잡하다는 것을 깨닫는다. 그런데 만약 그 개발하고자 Bean의 내용 이 주식이나 문서 번역처럼 잘 알려진 형태이고 웹이나 웹서비스에 이미 존재할 가능성이 있다면 굳이 같은 내용을 개발하 지 않고 사용할 수도 있을 것이다. 그래서 자기 회사의 웹 어플리케이션에 사용될 수 있는 웹서비스를 찾기 위해 UDDI 레지 스트리를 검색한다. ③ 필요한 웹서비스를 찾아 내고 웹서비스와 Bind하여 상호 작용할 수 있는 WSDL을 다운 받는다. ④ WSAD의 마법사 기능을 이용해서 WSDL 파일에 기술된 내용에 근거하여 Java Client Proxy를 만들어 낸다. 이 Java Client Proxy는 웹서비스 제공자가 보내주는 SOAP 메시지를 수신하여 필요한 결과값을 받아 내는 일련의 과정을 수행하는 조그마 한 프로그램이며 WSAD에 의하여 자동으로 만들어진다. ⑤ Java Client Proxy는 HTTP 상에서 SOAP을 통해 웹서비스 Method를 호출하고, 그 결과값을 웹 어플리케이션에 반환한다. |
IBM WebSphere Studio Application Developer (WSAD) |
IBM WebSphere Studio Application Developer는 J2EE 기반의 어플리케이션의 개발,
테스트, 전개의 일련의 과정을 수행하는 통합 개발 환경을 제공한다. 이 개발툴의 장점은 역할별 작업이 가능하다는 점이다. DB
Admin, 웹개발자, Java 개발자 등이 각각 자기 역 할만 수행하며 작업할 수 있도록 협업 툴을 제공한다는 것이 큰
장점이다. |
웹서비스 툴킷 (Web Services Toolkit) |
웹서비스 툴킷(Web Services Toolkit, 이하 WSTK)은 개발자가 WebSphere Applicatiion Server를 설치하지 않고도 웹서비스 어플리케이션을 테스트하여 볼 수 있도록 만들어진 툴킷이다. 판매가 가능한 제품은 아니고 IBM의 alphaWorks 사이트를 통하여 무료로 배포하고 있다. WSTK를 무료로 배포하는 목적은 첫째, 웹서비스 기술을 빨리 개발자들에게 보급시키고, 둘째, SOAP, WSDL, UDDI 이외에 추가적으로 웹서비스 표준으로 자리잡을 것으로 보이는 첨단 기술들(예를 들자면 웹서비스의 보안을 위한 새로운 프로토콜들)을 선보임으로써 표준 정착에 기여코자 함이다. WSTK에는 WebSpere Applicartion Server 또는 다른 IBM 소프트웨어 제품들이 지원하고 있는 웹서비스 기능들보다 한 발 앞선 draft 단계에 있는 technology들이 종종 포함된다. WSTK는 웹서비스 런타임 환경 뿐만 아니라 이러한 프로그램들을 설계하고 실행할 수 있는 예제 프로그램들과 데모 프로그램들을 포함하고 있다. 웹서비스 기본 코드와 데모가 설치되며 사설 UDDI를 선택적으로 설치할 수 있다. WSTK는 웹서비스에 관한 아주 간단한 예제로부터 최신의 서비스 기술 까지를 포함하며, 현재 3.1 버전까지 나와 있다. WSTK는 Open Source Group에 개방된 공개 자료이며, 여기에서 검증을 거친 프로그램들이 WebSphere Studio Application Developer에 포함 된다. |
IBM 웹스피어 UDDI 레지스트리 |
IBM 웹스피어 UDDI 레지스트리는 웹서비스가 정의한 UDDI 스펙을 준수하는 레지스트리이며, 사설 보안이 적용되는 인트라넷 환경 에서 사용할 수 있다. 개발자들은 IBM 웹스피어 UDDI 레지스트리를 사용해 현재 개발중인 e-비즈니스 어플리케이션을 공개하거나 테스트할 수 있다. IBM UDDI 레지스트리는 관리자와 사용자들이 쉽게 사용할 수 있도록 웹 기반의 그래픽 인터페이스를 제공하고 있다. 즉 비즈니스 나 서비스를 공개하거나 검색할 경우 그래픽 인터페이스를 통해 실행이 가능하도록 지원하고 있다. [출처] WebSphere의 웹서비스 지원 전략|작성자 눈꽃천사 |