다가오는 웹서비스,무엇을 준비할 것인가?

오늘은 음력으로 1월 1일, 바로 구정이다.한국사람들은 구정이 지나야 비로소 1살을 더 먹게 된다.’나이를 먹는다’는 표현은 가만히 생각해 보면 재밌는 표현이다.정해진 량이 분명히 있는데 그 중 1개를 더 먹어서 결과적으로 그만큼 줄어든다는 뜻으로 추론해 보면 재밌는 것이 아니라 참 무서운 말이다.

필자도 이제 나이를 먹는다.그런데 어떤 사람은 나이에 비해 젊게 살고,또 어떤 사람은 나이에 비해 늙어 보인다.그 이유에 대해 깊게 고민해 본 것은 아니지만 아마도 ‘더 이상 새로운 것은 없다’라고 생각하는 순간부터 우리는 ‘마음의 나이’를 먹는 것은 아닐런지…

요사이 david과 danny가 만나면 예전처럼 새롭고 신기한 일이 벌어지고 있다는 느낌을 받지 못한다.아마 우리뿐만 아니라 인터넷 비즈니스에 몸담고 계신 우리 독자분들도 비슷한 느낌을 받으실 거라 생각된다.2가지 이유가 있을 것인데 하나는 정말 새로운 일이 일어나지 않고 있어서이고, 아니면 davidndanny의 눈이 ‘인터넷의 움직임’에 너무 익숙해져 버린 것이리라…

요사이 Web Services에 대해 보면서 필자는 여러 생각을 하게 된다.마진이 박한 인터넷 비즈니스에서 제일 돈을 많이 챙긴 친구들이 또다시 사람들을 우롱해서 남은 돈을 빼먹으려 하는군…하는 생각도 들고,그다지 새로운 것도 아닌 것을 하는 생각,그러니까 인터넷을 믿게 만들었던 그 90년대 이야기를 재탕하는군…이라는 생각도 들었다.

그러다가 문득 내가 나이를 먹고 있다라는 느낌을 받는 이유는 왜일까? 결과가 어떻게 일어날지는 시간이 지나야 아는 일이지만 새로운 시각을 늘 갖을 수 있다는 것은,그리고 무언가 새로운 것을 탐구한다는 것은 스스로를 생산적으로 만드는 힘이자 젊게 사는 비결일 것이다.서론이 너무 길었다.오늘은 Web Services에 대한 글을 시작하려 한다.되도록 신선하게 말이다.

웹서비스의 출현 배경

초기의 웹서비스는 사용자의 클릭에 의존하는 일방적인 커뮤니케이션 활동만을 제공하였다. 그리고 각기 다른 플랫폼,언어 간의 협업에 있어 복잡한 절차와 프로토콜을 맞추기 위한 개발자들의 노력이 많이 수반되었다.기본적으로 비즈니스 환경 전반이 네트워크를 통해 이루어짐에 따라 기업 내부 솔루션을 표준화 된 규약으로 맞추어 외부의 솔루션과 협업할 수 있는 표준 규약이 필요하게 되었다.

그리고 포탈과 같은 인터넷 비즈니스 업자의 경우 여러 프로바이더들과의 협업이 보다 쉽고 간단한 절차에 의해 이루어지길 바라게 되었으며 이것이 단순 문자 데이터에서 애플리케이션 단의 서비스까지를 아우를 수 있는 표준화 된 약속을 필요로 하게 되었다.이런 이유로 자바와 같은 플랫폼 독립적인 비즈니스 로직 모듈이 인기를 얻었고 TCP/IP와 HTTP는 공중망 인터넷에서 요구되는 프로토콜로 자리매김 하게 되었다.

IBM,SUN,Oracle,MS는 그들의 비즈니스가 더이상 독자적인 패키지로는 안된다는 것을 알고 있다.그리고 마침내 그간 독립적인 프로덕트를 고집하던 이들이 TCP/IP를 그대로 사용하면서 네트워크 기반 애플리케이션의 호환성을 높이기 위한 표준 지원 패키지 상품들로의 자사 비즈니스 전략 포인트를 가져감으로써 향 후 지속적인 수익을 보장 받으려는 움직임이 웹서비스를 주도하고 있다.특히 마이크로소프트는 .NET 전략에 다른 언어들을 지원하는 개방형 CLR(Common Language Runtime)을 발표하면서 가장 먼저 물꼬를 트이게 했다.

웹서비스 제창자들이 주장하는 웹서비스의 출현 배경을 요약하면 다음과 같다.

– 어떤 방식으로 각기 다른 사업자 간에 전송될 메시지를 확인하고 동의할 것인가?

– 무엇이 단기간 및 장기간에 벌어지는 모든 전자적 비즈니스 통신의 표준인가?

– 어떻게 새로운 비즈니스 파트너를 찾을 수 있을까?

– 어떻게 다수의 벤더가 물려 있는 솔루션 내부의 워크플로를 기획할 것인가?

– 과거의 비즈니스 파트너 통합은 수개월 내지 수년의 작업이 걸렸다. 어떻게 그것을 수일 내지 단 몇 분으로 단축할 것인가?

– 그 동안 우리의 비즈니스 운영의 기반이 된 기존의 애플리케이션은 어떻게 처리할 것인가?

웹서비스의 구조,그리고 Benefit

먼저 웹서비스에 대한 가트너의 전망을 살펴 보자.올 1월 16일 가트너는 웹서비스는 2002년에 현실화가 되고 2004년에는 포춘 2000 컴퍼니들을 위한 새로운 애플리케이션 솔루션이 될 전망이다.

그리고 2003년에는 80%정도의 플랫폼 벤더들이 웹서비스 아키텍처를 지원하게 될 것이며 마이크로소프트의 영향력이 가장 크지만 자바도 많은 영향을 미칠 것으로 전망 된다.많은 벤더들은 웹서비스가 정확히 언제 어떻게 적용되어질지 딜레마를 앉고 있다.라고 다소 희망찬 전망을 내 놓고 있다.

웹서비스를 이해하는 것은 개념적으로는 쉽지만 상세한 부분으로 가면 어렵다.먼저 웹서비스를 외치는 친구들의 이야기를 먼저 들어보도록 하자. IBM says Web Services are self-contained, modular applications that can be describes, located, and invoked over a network, generally, the World Wide Web.

Microsoft says Web Services is programmable application logic, accessible using standard Internet protocols. Gartner says Web Services is a software component that represents a business function(or a business service) and can be accessed by another application(a client, a server or another Web service) over public networks using generally available ubiquitous protocols and transports(i.e. SOAP over HTTP).

그러니까 웹서비스는 커뮤니케이션의 형태가 웹이 출현하면서 Person to Person에서 Person to Machine으로 진화되었고,이제 다시 Machine to Machine(빌 게이츠는 Software to Software라고 표현한다)으로 인간의 수작업이 최소화 되고 Application 간의 커뮤니케이션이 이루어지는 것을 의미한다.

이미 구축된 HTTP라는 인프라를 그대로 사용하면서 XML, SOAP, WSDL, UDDI를 통해 이를 가능토록 한다는 것인데 XML은 모르는 분이 없으실테고, SOAP(Simple Object Access Protocol)은 한마디로 메세징 프로토콜로 상세한 구현절차에 상관 없이 데이터 간의 커뮤니케이션을 가능케 하는 효과적인 패키저의 역할을 수행하는 프로토콜이다.

서비스 제공자는 요청자의 구현절차에 대해서는 아무런 정보도 알지 못하고 서비스 요청자와 서비스 제공자 모두 요청 및 응답 메시지의 형태와 내용 밖에는 아무 것도 모르기 때문에-알 필요가 없기 때문에- 작업을 단순화시켜 주는 요인이 된다.

즉,SOAP을 사용하면 프로토콜을 맞추기 위해 개발자 간의 약속이 더 이상 필요 없게 된다.웹 서비스 구현은 요청 및 응답 메시지가 변경되지 않는 한, 해당 서비스의 이용자에게 아무런 영향을 주지 않고 변경이 가능하다. 대신 기존 코드를 SOAP으로 감싸주는 박막 작업이 필요하며 새로운 코드로 바뀌더라도 관련 변경 작업은 서비스 이용자에게 노출되지 않는다.

UDDI(Universal Description, Discovery, and Integration)는 과거 야후!와 비교될 수 있다.1994년 야후!가 웹를 통해 사용자가 원하는 정보 리스트를 찾을 수 있는 방법을 제시했다면 UDDI는 웹기반의 소프트웨어가 다른 소프트웨어와 어떻게 연결될 수 있는지를 제시한다.

UDDI는 일종의 애플리케이션의 야후!로 이 레지스트리를 통해 필요한 서비스를 검색하고 활용할 수 있는 방법을 알 수 있으며 이런 UDDI의 특성으로 인해 벌써부터 일부 전문가들은 UDDI가 Integration Broker로 발전될 것이라는 전망을 내 놓기도 한다.

분명히 UDDI는 enterprise application integration, supply chain management, collaborative planning 등의 영역에서 다이나믹한 변화들을 만들어 낼 것이라고 예상된다.아리바나 커머스원등의 B2B 서비스업자들은 비용절감 효과를 극대화 하면서 그들의 비즈니스를 보다 풍부하게 할 수 있을 것이고 반면에 Tibco와 같은 XSP들은 자체적인 UDDI 레지스트리 구축을 신중히 검토해야 할 것이다.

UDDI에 등록하는 것은 누구나 가능하며 그 방법은 야후!에 등록하듯 등록하는 방법이 있고 IBM이나 MS에서 제공하는 툴키트를 다운로드 하여 UDDI 공개 API들을 사용하여 등록하는 방법이 있는데 후자의 방법이 빠를 뿐만 아니라 늘 신선한 레지스트리를 유지시킬 수도 있기 때문에 앞으로 이 방법이 선호될 것으로 예상된다.

WSDL(Web Service Definition Language)은 말 그대로 웹 서비스를 정의하는 언어로 UDDI에서 서비스를 이용하고자 하는 사용자가 해당 서비스의 형태가 어떻게 생겼다는 것을 알 수 있게 XML로 정의된 것을 의미한다.

앞에서 웹서비스의 근간이 되는 기술 이슈들에 대해 간단하게 살펴 보았다.그런데 하나하나의 기술 단어들만 나열하고 있으면 좀처럼 감이 오질 않는다.그러니까 XML,SOAP,UDDI,WSDL에 대해 각기 풀다보면 한 눈에 들어오지 않는 것이 사실이다.웹서비스를 유기적으로 다시 구조를 짜 맞추면 이해하기가 한결 수월한데 그것은 아래와 같이 4개로 표현될 수 있다.

1.Lookup and discovery(such as Universal Description, Discovery, and Integration-UDDI, a mechanism for locating services and discovering what they do)

2.Description(a way of description what input and outputs the services recognize Web Services Description Language-WSDL)

3.Transport(the means of sending messages between services-Simple Object Access Protocol-SOAP)

4.Environment(the facility for developing and deploying the services-Visual Studio .NET,WebSphere, WebLogic…)

위의 유기적인 웹서비스 시스템이 구축되어진다면 웹을 통해 서비스를 판매하고자 하는 업자는 이제 자신이 구축해야 할 서비스들의 목록을 구분하고 그것을 다시 Core Services, Infrastructure Services, Application Services로 나눌 수 있을 것이고 그 중 Application Services는 UDDI를 통해 개발이 아닌 임대를 하여 서비스를 할 수 있을 것이다.

지금까지 이야기 한 것을 바탕으로 웹서비스의 혜택을 표현하면 이렇다. Web Service Benefits include faster time to market, convergence of disparate e-business initiatives, significant reduction in cost of ownership, real-time updating and dynamic linking of partner than IT staffs, automates the process of linking business partners and their core competencies across a value chain quickly and efficiently on the Internet.

Web Service에 대한 컬럼을 마치면서 davidndanny는 다음과 같이 3가지 제안을 하고자 한다.

1.새로운 서비스 브로커들은 그들의 사적인 네트워크를 통해 밸류체인을 다시 배열하고 새로운 멤버들이 합류할 경우 비용 효율적이고 빠른 방법으로 통합된 서비스를 제공할 능력을 보유해야만 한다.뿐만 아니라 새로운 서비스 브로커들의 자격은 서비스 보증에 대한 합리적 방안,법적 문제에 대한 노하우를 포함한다.

2.포탈은 애플리케이션 벤더들과의 Application 협업 시스템을 신속히 구축하고 그에 따르는 지적 재산권,사용 범위 등을 규정하는 가이드라인을 공표하여 현재의 Text data를 제공하는 구조에서 벗어나 다이나믹한 서비스를 제공할 방법에 대해 집중적으로 고민해야 한다.

3.정부는 관련 기관들과 긴밀히 협조하여 Web Service 표준 규약에 적합한 형태의 한국형 UDDI를 신속히 구축,웹서비스 인프라를 만들어야 하며 또한 국제적인 홍보에 앞장서야만 한다. 2002-02-12