본문 바로가기

정보기술의 샘터........о♡/시멘틱웹·웹서비스

트렌드를 읽는다면 웹 서비스에 투자하라

트렌드를 읽는다면 웹 서비스에 투자하라

 


요근래 많이 받는 질문 중 1순위를 꼽으라면 '뭐 공부해요?' 입니다.

 

그도 그럴것이, 자고 일어나면 눈뜨기 무섭게 쏟아져 나오는 게 신기술(new technology)이요, 그것도 모자라 소스마저 오픈해서(open source) 그야말로 정보의 홍수가 아니라 범람 속에 살고 있는 요즈음인지라 '뭐 공부해야 그나마 한 1년, 아니 적어도 6개월은 버틸수 있나요'가 저 질문에 숨겨진 속뜻이라고도 해도 과언이 아닐 듯 합니다.

자 그럼 제가 오히려 질문을 드려보죠.

 

SOA(Service-Oriented Architecture)에 대해서 아시나요? 혹은 들어보신적 있으십니까?

SaaS(Service as a Software)에 대해서는요?

아니면 SCA(Service Composite Application) 에 대해서는 알고 계시나요?

클라우드 컴퓨팅(Cloud Computing)은요?

제가 드린 질문에는 공통 분모가 하나 있는데 그게 바로 웹 서비스(Web Services)입니다.

얼마전 저희 회사 영업팀을 위한 30분 브리핑이 있었는데 그때 주제가 SOA와 웹 서비스, 그리고 자바캡스(Java CAPS: Sun Java Composite Application Platform Suite (Java CAPS)) 였습니다.

 그에 대한 아주 심플한 비교 예제가 바로 홈페이지(Home Page)와 Tag(HTML), 그리고 나모 에디터였죠.

홈페이지가 인터넷을 매개로 해서 자신의 정보를 알리고자 하는 이론적 개념이라면, 태그(Tag:HTML)는 그러한 홈페이지를 실제 구현해주는 기술적 측면이라고 할 수 있고, 그럼 그러한 태그를 작성할 때 좀더 편리한 도구로 나모 에디터(Namo Editor)라는 제품이 있다고 할 수 있습니다.

 

이 비유를 그대로, SOA(Service-Oriented Architecture: 서비스 오리엔티드 아키텍처)가 기존의 이질 환경(Heterogeous H/W, S/W, Network)상의 서비스들을 재조립(re-assemble)하여 통합하고자 하는 이론적 개념이라면, 그걸 실제화하기 위한 최상의 구현기술이 웹 서비스(Web Services)이고, 이러한 웹 서비스 기반하에 썬에서 제품화한 프로덕트가 바로 자바캡스(Java CAPS: Sun Java Composite Application Platform Suite (Java CAPS)) 입니다.

 

이미 구글이나 플리커 등 국내외 유명 사이트에서 맞춤형 대여 방식으로 인터넷이 연결된 곳이라면 언제 어디서나 웹브라우저를 통해 소프트웨어를 사용할 수 있도록 한 SaaS(Software as a Service: 서비스로 제공되는 소프트웨어) 역시 가장 핵심 기술은 바로 웹 서비스 입니다.

 

그럼 그런 웹 서비스가 왜 이제서야..라고 하신다면, 당연 웹 서비스 구현 자체가 쉽지 않았습니다. 예전에 자바 웹 서비스를 해본 경험이 있으신 분이시라면 잘 아시는 바대로 한 줄 달랑 출력하자고, 서너 페이지가 넘는 개발 작업들을 해야 했습니다. 자바의 웹 서비스가 나온 지 여러 해가 되도록 제대로 빛을 못 본 이유가 바로 이러한 개발상 어려움 때문이었습니다. 시중의 대다수의 웹 서비스 책에서 Sun의 JWSDP(Java Web Service Developer Pack)을 받으라느니, 컴파일한 파일을 다시 xml 을 추가 작성해서 재컴파일하고 아카이빙해야 한다느니 하는 등의 일련의 포맷과도 같았던 절차들이 이젠 그럴 필요가 없어졌습니다.

보다 손쉽고 보다 직관적으로.

그게 바로 JAX-WS이자 WSIT의 핵심 목표죠.

이번 과정의 가장 중요한 포커스 역시 바로 기존의 JAX-RPC와 달라지는 JAX-WS의 서버-사이드, 클라이언트-사이드 두 측면에서 본 웹 서비스 프로그래밍입니다.

 

과연 썬..이라는 명성 답게 Java EE 5 버전에 충실하게 작성되어 있는 랩(실습)파일들을 찬찬히 따라하다 보면, 기존 DD(Deployment Descriptor) 중심의 JAX-RPC가 아닌, POJO(Plain Old Java Object)에 입각한 JAX-WS는 Annotations 등으로 보다 심플하면서도 직관적인 코드들이 '아, 이제는 웹 서비스 해볼만 하겠구나'라는 생각이 들게 하더군요.

교재는 한 단원(1 module)은 일반적인 웹 서비스에 대한 이야기(overview)가 주욱 전개된다면, 다음 단원(2 module)은 그 웹 서비스에 자바(Java)를 얹어 하게되면 어떤 점이 좋을 지.. 등으로 이야기를 풀어가는 식으로 되어 있습니다.

요즘 많이 이야기되는 REST(Restful) Web Services 라던가, 웹 서비스의 가장 중요한 SOAP, WSDL, UDDI 등에 대해서 각각 하나의 단원(module)별로 구성되어 웹 서비스 기술을 배우는데 기본적인 개념에 대한 학습과 함께, 그 각각을 지원하는 자바의 API 등과 결부시켜 단원(module)마다 이해도에 대한 퀴즈와 실습이 갖춰져 있습니다.

 

과정 전개마다 틈틈히 웹서비스와 SOA 의 관계에 대해서도 언급되는데, SUN 에서 보는 이 둘의 관계는 SOA가 Architecture적 관점(style)이라면, 웹 서비스는 그 SOA를 실제화(realization)하는 데 있어 가장 핵심 기술이라고 정의하고 있습니다.

웹 서비스를 이해하게 되면 Service-Oriented Architecture나, SaaS(Service as a Software), SOA 프로그래밍 모델로 인정 받고 있는 SCA(Service Component Architecture) 등에 좀더 폭넗은 지식 베이스를 갖게 되는 셈이지요.

 서점에 가면 나날이 늘어나는게 SOA 관련 서적들입니다. 기술서건, 디자인 설명서건, 아니면 블로그식 이야기 서적이건간에.

 인터넷 열면 나날이 늘어나는게 새로 추가된 서비스 들입니다. 단순 지도 검색으로 시작해서, 지도에 맛집 추가, 이젠 지도에 각종 원하는 정보들을 몽창 끌어다 쓰더군요.

 이왕지사 어차피 해야 하는 공부라면 적극적으로 맞아 오히려 선도해 가는게 IT 프론티어의 바람직한 자세가 아닐까 싶습니다. 피할 수 없다면 즐겨야죠.  트렌드를 앞질러 가려면 웹 서비스에 투자하십시오.

 

 

http://blog.sdnkorea.com/sls/89?category=20