지난 토요일에 JCO(Java Community Organization) 컨퍼런스에 참석했습니다. 근무하는 회사에서 몇년째 후원하는 행사로서 개인적으로도 애착이 가는 행사였습니다. 이번 행사의 기조연설을 Sun과 IBM 본사분들이 해주셨는데 두분 다 Web 2.0에 대해서 이야기 했습니다.
사실 제가 웹2.0(Web 2.0)에 대해서 처음 접했을때 기업환경에서 적용할 수 있을까? 라는 의문이 있었습니다. 프론트 엔드(Front-End) 부분에 대한 기술이라는 생각이 강하게 들어서 처음에는 기업환경에 적용하는 것에 대해서는 회의적인 생각이 들었습니다.
그리고 관심을 가지고 웹2.0 블로그들을 돌아다녀 보았을때 이러한 기술을 기업환경에서 어떻게 적용할 수 있는지에 대해서 많은 의견들이 오가는 것을 보았고 이렇게 기업환경에 적용된 개념을 "엔터프라이즈 2.0"이라고들 하더군요.
제가 관심을 가지고 있는 서비스지향아키텍처(SOA) 관점에서 볼때 웹2.0은 SOA를 구성하는 여러 서비스중 '인터랙션 서비스'에 해당합니다. 인터랙션 서비스는 사용자의 경험과 사용자 사이의 협업을 위한 서비스로서 '엔터프라이즈 포털'을 거쳐 "워크플레이스" 개념으로 확장되면서 구현이 됩니다.
이런 관점에서 보게 되면 SOA의 인터랙션 서비스와 웹2.0이 추구하는 것은 동일합니다. 웹2.0이 추구하는 참여와 공유가 말만 다르지 인터랙션 서비스에서도 동일하게 추구되고 있기 때문입니다.
웹2.0에서나 볼수 있었던 블로그나 위키, 소셜 북마크 같은 것들을 이제 기업환경에서 내부 직원의 협업을 위해서 활용되고 있는 것을 봅니다.
또한 웹2.0의 중요한 기술 또는 기법 중 하나인 매시업과 동일한 개념이 SOA도 있습니다. 개방되어 있는 Open API(애플리케이션 프로그래밍 인터페이스)를 사용하여 이미 존재하는 여러개의 서비스를 서로 연결하여 새로운 서비스를 빠르고 쉽게 개발해 내는 것이지요.
SOA에서도 이와 유사한 것이 '컴포지트 애플리케이션'입니다. 이것은 미리 만들어진 '서비스' 들을 특정 기능을 구현하도록 서로 연결하여 애플리케이션을 만들어 내는 것입니다. 그래서 SOA에서는 애플리케이션을 개발하는 것이 아니고 조립한다고 합니다.
SOA에서의 서비스들은 기존 IT 시스템에서 운영중인 애플리케이션의 일부가 될 수도 있고 새롭게 만들어진 엔터프라이즈자바빈즈(EJB)나 자바 콤포넌트가 될 수 도 있습니다. 중요한 것은 사용자가 어떤 기능을 사용하는가이지 어떤 기술로 만들어졌는가는 아닙니다.
아뭏든 웹2.0과 SOA는 궁합이 잘 맞는 짝이되는것 같습니다. 많은 기업에서 이들 두 부분을 통합하여 하나의 그림으로 만들고 실체화하려는 노력을 많이 기울일 것입니다.
앞으로 어떻게 이 둘이 조합을 이루어낼지 많은 기대가 됩니다.

