기업의 비지니스 환경이 복잡해지고 고객의 요구사항이 까다로와질수록 기업 내 전산 환경은 Heterogeneous한 양상을 띄게 된다. 고객에게 전달할 최상의 서비스가 무엇인지를 고민하고 그러한 서비스를 위해 어떠한 인프라가 가장 적합한지, 또한 그러한 인프라가 IT 자산 합리화 차원에서 적절하게 관리 운영되고 있는지를 끊임없이 체크한다. 고객에게 전달하는 가치의 극대화 측면에서 내부 IT 인력과 자산을 활용하는 것이 합리적인지, 외부의 서비스 소위 SaaS 형태의 서비스를 통해 가치를 전달하는 것이 고객의 요구에 어느 정도 부합하는 것인지 고민하게 되고 결과적으로 Software와 Services가 적절한 배합 비율로 섞인 환경으로 IT 인프라가 변모하게 된다. 또한 급변하는 비지니스 환경에서 기업에게 요구되는 Agility를 확보하기 위해 기존에 개발되어 있는 시스템을 활용하여 새로운 서비스를 고객 요구에 맞추어 빠른 time-to-market을 달성할 수 있다면 그만큼 시장에서 경쟁력을 확보할 수 있게 된다. 고객의 눈높이에 맞는 서비스를 고객이 원하는 시점에 가장 합리적인 방식으로 제공하기 위해 플랫폼 및 개발 언어가 혼용되는 추세가 확산되고 있다.

JEE 기반의 시스템과 연동하여 Silverlight 기반의 더 나은 사용자 경험을 전달하고자하는 시도가 점차 늘고 있다. 아래와 같이 JEE 기반의 시스템이 구축되어 있다고 할 때, Silverlight와 연동할 수 있는 방안을 살펴보자

 image

많이 기업들이 성능상의 이유로 Web Server와 App Server를 물리적으로 한 머신에 넣는 경우가 많은데, 설명의 편의를 위해 분리한 것이며, 이것이 물리적인 분리일 수도 논리적인 분리일 수도 있다. 대부분의 JEE 시스템은 프리젠테이션 레이어에는 Struts과 같은 Servlet기반의 MVC 프레임웍이 위치하여 HTTP 요청을 받아 들이고, 이를 적절한 매핑 매커니즘에 의해 뒷단 비지니스 레이어의 Facade에 전달하게 된다. 뒷단의 Facade는 Session EJB 기반의 Session Facade가 일반적이나 Message-driven Bean일 수도 있고, 같은 머신인 경우 POJO (Plain Old Java Object) 기반의 프레임웍이 많이 사용되는 추세이다. 프리젠테이션 레이어와 비지니스 레이어 사이의 통신은 일반적으로 EJB 호출(RMI/IIOP)이거나, 같이 티어에 위치할 경우 직접 호출을 한다. 사용자의 요청이 비지니스 레이어에서 처리되어 그 응답이 다시 프리젠테이션의 MVC에 도착하면 이를 사용자에게 전달하기 위해 프리젠테이션 레이어에서 뷰 역할을 하는 JSP 혹은 이 기반의 UI 프레임웍에 전달하여 렌더링 엔진에 의해 HTML로 최종 브라우저에 보여지게 된다. 여기에 Silverlight를 넣어보자.

image

Silverlight가 지원하는 통신 방식은 SOAP 기반의 XML 웹 서비스 (WS-Security까지 지원), REST 기반의 웹서비스 및 소켓 통신 (port : 4502 ~4534) 등 세 가지이며 모두 비동기 전송 방식을 지원한다. 따라서 이 세가지 방식으로 자바쪽 구현체와 통신하면 된다. 위 그림에서는 향후 확장성을 고려하여 웹 서비스 통신 방식을 채택한 것이며, 이를 위해 자바 구현체에서도 SOAP 및 REST 웹 서비스를 위한 장치가 마련되어야 한다. 자바에서 SOAP 기반 웹 서비스는 JAX-WS를 통해 Servlet이나 EJB를 통해 제공하고, REST 기반 웹 서비스는 JAX-RS를 통해 Servlet으로 구현된다. 위 그림은 프리젠테이션 레이어에서 Servlet 기반으로 SOAP 및 REST 기반 웹 서비스를 제공하는 모습을 보여준다. JSP 페이지내에 <object> 태그를 통해 embed 된 Silverlight 애플리케이션은 사용자 머신에 다운로드 되어 서버측 자바 구현체와 직접 통신을 하게 되며 이때부터는 일반적인 표준 웹 서비스 개발 방식에 따라 개발 및 통신을 하면 된다.

image

위 그림은 사용자 브라우저내의 Silverlight 애플리케이션이 서버측 프리젠테이션 레이어가 아닌 비지니스 레이어의 EJB와 직접 웹 서비스 통신을 하는 경우를 보여준다. REST 기반의 웹 서비스를 제공하기 위해서는 App Server에 별도의 Servlet 컨테이너가 설치되어야 하며, 그림에서는 이미 설치되어 있는 EJB 컨테이너 기반의 JAX-WS 구현체를 통해 통신하는 모습을 보여준다.

근래에 모 파트너사의 MES 솔루션을 본 적이 있었는데, 자바로 구현된 백엔드와 통신하면서 사용자에게 보여지는 화면을 WPF로 구현하려 하고 있었다. 백엔드는 메시지 기반 통신을 위해 메시지큐를 사용하고, 자바로 구현한 JMS 리스너가 있어 전달되는 메시지를 수신하여 비지니스를 구현하고 있으며 백엔드 전체에 대한 조율을 위해 ESB가 위치해 있다. JMS에 대한 접근을 원활하게 하기 위해 닷넷에서 사용할 수 있는 ESB 어댑터를 구현하였고 WPF 애플리케이션에서는 이 어댑터를 통해 JMS와 아무 문제없이 통신하는 모습을 보여주었다.

우리가 숱하게 되뇌고 있지만 정작 놓치기 쉬운 것이 바로 비지니스 포커스 혹은 고객 포커스 관점에서 접근하는 것이다. 비지니스를 위해, 고객을 위해 가장 바람직한 서비스가 무엇인지, 그 다음에 그것을 구현하기 위해 합리적인 선택이 무엇인지 접근하다 보면 점차 많은 영역에서 이기종 플랫폼 및 언어를 접하게 될 것이다. 이 때문에 공개 표준 기반의 상호운용성이 그 어느 때보다 중요하며, 이를 염두해두고 시스템을 설계하는 것이 필요하다.

Posted by 장현춘
마이크로소프트가 MSDN 세미나의 일환으로 오픈 및 상호운용성 데이를 진행합니다. 마이크로소프트가 생각하는 오픈 스탠다드 (공개 표준), 오픈 소스 및 상호 운용성에 대해 알아보고 함께 논의하는 자리가 될 것으로 생각합니다.
오픈 스탠다드를 지향하는 마이크로소프트의 정책, 지원 노력, 오픈 스탠다드 기반 닷넷과 자바의 상호운용 (여건이 된다면 Azure 서비스까지), PHP 데모, 국내 오픈 소스 개발 프레임웍 적용 사례 등 다양한 주제가 마련되어 있습니다.


Posted by 장현춘

지난 주 금요일, 마이크로소프트가 자사 제품의 개방성 확대 및 이를 통한 오픈 혹은 타사 제품과의 상호운용성 확대, 그리고 개발자 및 파트너, 경쟁사들의 기회 및 선택의 폭을 넓히기 위한 일련의 조치를 취할 것이라고 발표했다. 여기에 포함되는 제품으로는 마이크로소프트의 주요 제품들이 모두 포함되는데, 운영 체제인 비스타와 윈도우 서버 2008, 오피스 2007 제품군, 포털 솔루션인 세워포인트 2007, 메일 서버인 익스체인지 2007, 데이터베이스인 SQL Server 2008 등을 모두 포함된다.
마이크로소프트가 향후 취하게 될 주요 내용에는 다음과 같은 것을 포함한다. 마이크로소프트 제품군들이 현재 및 향후 제공하는 기능에 대한 각종 API  및 통신 프로토콜에 대한 문서를 웹 싸이트에 게시할 것이며 여기에는 예전에 각종 비밀 유지 협약하에서만 볼 수 있었던 문서들까지 포함되고 마이크로소프트가 갖고 있는 특허 관련 특허료나 사용료도 합리적인 수준에서 제시하기로 하였다. 또한 오피스 문서에 대한 상호운용성을 확대하기 위해 새로운 API를 설계할 것이며, 널리 사용되고 있는 포맷간의 데이터 교환을 위해 문서 상호 운용성 이니셔티브를 론치할 예정이다.   자세한 사항은 아래 보도 자료 및 마이크로소프트 홈 페이지를 참고하시길..

===========================

마이크로소프트, 상호 운용성 확대를 위한 기술 및 비즈니스 관행 전략 변화

-새로운 상호 운용성 원리와 조치가 주요 제품의 개방성을 증대시킬

미국 워싱턴 , 레드몬드 (2008 2 21/현지시간) — 마이크로소프트는 오늘 자사 제품의 개방성을 향상하고 개발자, 협력업체, 소비자 및 경쟁사를 위한 상호 운용성 및 기회, 선택을 확대하기 위해 기술 및 비즈니스 관행에 있어서의 대폭적인 변화를 발표했다.

특히, 마이크로소프트는 자사의 주요 (high-volume business) 제품 전반에 걸쳐 (1)공개 접근을 보장하고, (2)데이터 이식성(portability)을 향상하며, (3)산업 표준에 대한 지원을 강화하고, (4)오픈 소스 커뮤니티를 포함해 소비자 및 기업과의 개방된 협력을 촉진하는 네 가지의 새로운 상호 운용성 원칙과 관련 조치를 실시할 예정이다.

마이크로소프트의 스티브 발머(Steve Ballmer) 최고경영자는 “이러한 과정들은 마이크로소프트 제품과 기술에 대한 정보를 공유하는 방식에 있어 매우 중요한 단계이며 상당한 변화를 의미한다. 지난 33년 간, 우리는 전 세계 수십 만에 달하는 협력업체들과 수 많은 정보를 공유하며 산업 발전에 이바지 해 왔다. 그러나, 오늘의 발표는 한층 더 광대한 투명성 증진를 위해 대폭적인 확대가 있을 것임을 의미하는 것이다. 마이크로소프트의 목표는 우리 제품을 더욱 개방적으로 만들고 우리의 기술에 대한 정보를 더 많이 공유함으로써 동 업계는 물론 소비자와 개발자를 위한 상호 운용성과 기회 그리고 선택을 더욱 촉진하는 것이다.”라고 말했다.

마이크로소프트의 레이 오지(Ray Ozzie) 최고 소프트웨어 아키텍트에 따르면, 이번 발표는 개인과 기업이 정보 공유의 용이성에 얼마만큼의 비중을 두고 있는 지를 반영한 것이다. 엔터프라이즈 아키텍처에 있어서 전형적으로 이종성(異種性, heterogeneity)이 존재 하지만, 응용 프로그램과 서비스 분야에서는 상호 운용성이 핵심 조건이다. 오지 최고 소프트웨어 아키텍트는 “소비자들이 모든 회사들, 그 가운데에서도 특히 마이크로소프트에 요구하고 있는 것은 소프트웨어와 서비스의 유연성으로, 이는 개발자라면 누구나 이들의 공개 인터페이스와 공개 데이터를 사용해 응용 프로그램을 효과적으로 통합한다든지 또는 아예 새로운 솔루션을 만드는 것이 가능할 정도의 유연성을 말하는 것이다. 제품의 개방성을 향상시킴으로써 우리는 개발자들에게 소비자를 위한 가치를 혁신하고 이를 전달할 수 있는 기회를 더 많이 제공할 것이다.”라고 말했다.

지멘스(Siemens)의 소프트웨어 및 엔지니어링 부문에서 기업 조사와 기술을 담당하고 있는 맨프레드 웽글러(Manfred Wangler) 부사장은, “마이크로소프트는 상호 운용성 실무 고객 위원회(Interoperability Executive Customer Council)에서 우리와 협력하는 등 지난 몇 년간 상호 운용성 분야에서 상당한 발전을 이룩했지만 오늘의 발표는 마이크로소프트의 상호 운용성에 대한 의지를 전혀 다른 차원으로 끌어올린 것이다.”고 말했다.

노바티스(Novartis Pharmaceuticals)의 토마스 보겔(Thomas Vogel) 정보 관리 총괄자는, “마이크로소프트가 오늘 발표한 상호 운용성 원리와 조치를 통해 더 많은 IT 커뮤니티 구성원들이 혜택을 입게 될 것이다. 마이크로소프트의 주요 제품에 대한 공개 접근 보장은 대다수의 소프트웨어 개발자들에게 상호 운용성과 기회, 선택을 시장에서 더욱 촉진할 수 있는 중요한 기회를 주는 것이다. 이러한 원리와 조치의 구체적인 발전을 참여자들이 주도할 수 있도록 건설적이고 구조적이며 각계 각층이 참여하는 대화가 있기를 기대한다.”고 말했다.

오늘 발표된 상호 운용성 원리 및 조치의 적용 대상이 되는 마이크로소프트의 주요 (high volume business) 제품은 닷넷 프레임워크를 포함한 ‘윈도우 비스타’, ‘윈도우 서버 2008’, ‘SQL 서버 2008’, ‘오피스 2007’, ‘익스체인지 서버 2007’ 및 ‘오피스 쉐어포인트 서버 2007’을 비롯해 이들 제품의 후속 버전이다.

마이크로소프트가 새로운 상호 운용성 원리를 구현하기 위해 취하게 될 조치의 주요 내용은 다음과 같다.

· 마이크로소프트의 주요 제품에 대한 공개 연결 보장. 타사 제품과의 연결성을 강화하기 위해 마이크로소프트는 자사 주요 제품의 모든 응용 프로그램 프로그래밍 인터페이스(API: application programming interface)와 통신 프로토콜에 대한 문서를 자사 웹 사이트에 게재한다. Developers do not need to take a license or pay a royalty or other fee to access this information.  이 설명서에 대한 접근을 공개함으로써 타사 개발자들은 마이크로소프트 주요 제품으로의 연결이 가능해질 것이다.

o 오늘부터 시작되는 즉각적인 후속조치로서, 마이크로소프트는 마이크로소프트 워크 그룹 서버 프로토콜 프로그램(WSPP: Microsoft Work Group Server Protocol Program)과 마이크로소프트 통신 프로토콜 프로그램(MCPP: Microsoft Communication Protocol Program)을 통한 기업 비밀 보장 계약 하에서만 이용 가능했던 윈도우 클라이언트 및 서버 프로토콜에 대한 문서 가운데, 3만 페이지 이상을 자사 웹사이트 (MSDN)에 공개 게재한다. 오피스 2007을 비롯해 그 밖에 이 조치의 영향을 받는 기타 주요 제품에 대한 프로토콜 설명서는 다음 달에 게재한다.

o 마이크로소프트는 특허를 받은 프로토콜의 경우 자사 웹 사이트를 통해 고지하고 특허 사용에 대해서는 합리적이고 동등한 조건과 저렴한 특허 사용료를 제시한다. 특허 사용을 고려 중인 경우를 위해, 마이크로소프트는 프로토콜별 특허와 특허 출원 목록을 공개한다.

o 마이크로소프트는 이들 프로토콜의 구현을 개발하거나 비상업적으로 배포하는 오픈 소스 개발자들을 고소하지 않는다는 증서를 마련할 것이다. 이들 개발자들은 제품 개발을 위해 설명서를 무료로 사용할 수 있을 것이다. 이들 프로토콜의 구현을 상업적으로 배포하고자 하는 기업은 마이크로소프트로부터 특허 사용권을 획득할 수 있을 것이다. 특허 사용권이 없는 배포자로부터 이들 프로토콜의 구현을 획득하는 기업도 마찬가지이다.

· 마이크로소프트의 산업 표준 및 확장(extension) 지원 방법의 명문화. 주요 제품에서 표준을 지원하고 있는 마이크로소프트는 투명성을 증대하고 상호 운용성을 촉진하기 위해 널리 배포된 다양한 제품 간에 활발하고 일관되며 상호 운용적인 구현을 달성할 수 있도록 여타 주요 표준 구현자들과 협력할 것이다.

o 마이크로소프트는 다른 표준 구현과의 상호 운용성에 영향을 미치는 마이크로소프트 확장을 포함해 이들 표준에 대한 지원 방법을 개발 커뮤니티를 위해 명문화할 것이다. 이 설명서는 마이크로소프트의 웹 사이트에 게재되며, 특허 사용권, 특허 사용료 또는 기타 비용 없이도 접근 가능할 것이다. 이러한 조치를 통해 표준을 구현하는 타사 개발자들은 마이크로소프트 제품에서 표준이 구현되는 방법을 이해하고 소비자를 위한 상호 운용성 향상을 촉진할 수 있을 것이다. 마이크로소프트는 이러한 확장과 관련된 자사의 특허 목록을 공개할 것이며 특허 사용을 위한 합리적이고 동등한 조건을 제시할 것이다.

· 문서 형식의 유연성 확대를 위한 Office 2007 강화. 문서 형식에 대한 사용자의 선택을 장려하기 위해, 마이크로소프트는 Office 2007의 Word, Excel 및 PowerPoint 응용 프로그램을 위해 새로운 API를 설계할 것이다. 이를 통해 개발자들은 추가적인 문서 형식을 플러그인 할 수 있고, 사용자는 이들 형식을 문서 저장을 위한 기본 형식으로 설정할 수 있다.

· 오픈 소스 상호 운용성 계획 발표. 상업적 기술은 물론 커뮤니티 기반의 오픈 소스 기술과 마이크로소프트 제품 간 상호 운용성 증진 및 향상을 위해 발표하는 계획에서는 연구실, 모임, 기술 콘텐츠 및 지속적인 협력 개발 활동을 포함하여 관련 자원과 시설 및 행사 등을 제공할 것이다.

· 적극적인 산업 교류 및 대화 확대. 온라인 상호 운용성 포럼(Interoperability Forum)에서는 소비자, 개발자 및 오픈 소스 커뮤니티와의 지속적인 대화가 가능할 전망이다. 또한, 널리 배포된 형식 간의 데이터 교환을 추진하기 위한 문서 상호 운용성 이니셔티브(Document Interoperability Initiative)가 런칭할 예정이다.

전 세계 40여 개 이상의 기업 및 정부 기관의 최고 정보 기술 담당자를 주축으로 2006년 창설된 상호 운용성 실무 고객 위원회는 마이크로소프트가 이러한 원리와 조치를 적용하는 과정에서 조언자의 역할을 하게 될 것이다. 마이크로소프트의 새로운 상호 운용성 원리 및 앞으로 취하게 될 조치의 전체 목록은 다음의 링크에서 제공된다. (http://www.microsoft.com/presspass/presskits/interoperability/default.mspx)

오늘 발표된 상호 운용성 원리 및 조치는 마이크로소프트와 IT 산업의 법률적 환경 변화를 반영한 것으로, EU 1심 법원(CFI: European Court of First Instance)의 2007년 9월 판결에 명시된 책임 및 의무를 이행하려는 마이크로소프트의 지속적인 노력에 있어 중요한 진일보이다.

마이크로소프트의 브래드 스미스(Brad Smith) 최고 법률담당 임원은 “EU 1심법원의 9월 판결 직후 발표했듯이 마이크로소프트는 우리가 유럽 연합의 법을 충실히 준수하고 있음을 증명하기 위해 필요한 모든 단계를 밟아나가고자 한다. 오늘 발표하는 계획을 통해 우리는 모든 마이크로소프트의 주요 제품에 대한 유럽 1심 법원의 판결 중 상호 운용성 부분에 있어서의 원칙 이행 의무를 준수할 것이며, 앞으로도 유럽 1심법원의 판결 중 남아 있는 부분을 처리하기 위해 추가적인 절차를 마련할 것이다. 또한 유럽 집행 위원회(European Commission)가 이러한 모든 절차를 평가할 수 있도록 전체 정보를 제공하려고 한다.”고 말했다.

Posted by 장현춘