실시간 뉴스



[SOA 특집 - MS] 마이크로소프트가 말하는 SOA


 

SOA는 기업의 소프트웨어 인프라를 구축하는 방법으로 서로 다른 운영체제와 프로그램에 상관없이 애플리케이션간에 데이터와 프로세스를 교환할 수 있는 아키텍처를 말한다.

SOA를 기반으로 한 전산 시스템 구축은 애플리케이션이나 애플리케이션의 일부가 서비스 개념으로 인식돼 번거로운 개발이나 코딩작업없이도 애플리케이션을 제공할 수 있다.

그러므로 SOA는 기존 아키텍처의 장점을 살리면서도 기업의 다양한 이질적인 환경의 IT 인프라 통합에 대한 요구사항을 충족시킬 수 있다.

◆ SOA의 등장배경

마이크로소프트가 1975년 설립되기 전에는, 아니 그 이후로도 약 10여년 동안 기업의 IT 인프라는 몇 개 대형 IT 기업들의 제품들을 상단에서 하단까지 수직적으로 구축해 이른 바 닫힌 환경속에서 운영돼 왔다. 이기종간 호환에 대한 필요성은 대두되지 않았다. IT라는 것은 특수한 환경에서 특수한 전문가들이 특수한 업무만을 위해 활용되는 시기였기 때문이다. 하지만 업계에 마이크로소프트의 등장은 커다란 변화를 초래했고 그것은 바로 마이크로소프트 윈도의 탄생으로 IT 기술 활용자 폭이 넓어지게 되었다.

이는 곧 IT 시장의 확산과 기술의 민주화와 보편화, 그리고 투자 환경의 확대로 이어졌다고 볼 수 있다. 최근엔 인터넷 환경의 급속한 발달로 인해 이제 IT는 폐쇄적 환경이라고 할 수 있는 전산실에서 일반 지식근로자들의 책상으로까지 확산되기 시작했다. 각각의 시스템에 적용할 수 있는 관련 애플리케이션들이 속속 개발되기 시작했으며 이러한 애플리케이션들은 IT 붐과 함께 회사 생산성 향상의 도구로 인기를 얻게 되었다.

이러한 장점과 함께, 한편에서 기업들은 그동안 팀별, 부서별로만 활용하던 애플리케이션을 점차 회사 차원으로 활용하기를 원했고 여기에 다양한 기업간 M&A가 붐을 이루면서 이기종을 사용했던 기업간에 통합의 중요성은 더욱 커졌다. 또 전자상거래 등의 확산으로 다른 기업간 IT 호환성 역시 핵심 경쟁력 중의 하나가 되었고, 지난 몇 년 간의 지속적인 불경기는 여기에 경비절감의 필요성까지 대두하게 됐다.

IT인프라가 갈수록 복잡해지고, 결국 애플리케이션 개발의 생산성이 경쟁력의 핵심관건으로 부상하게 되는데 이것이 곧 SOA에 대한 관심을 점점 높여갈 수 밖에 없는 환경을 만들고 있는 것이다.

◆ SOA가 구현되면 무엇이 어떻게 달라지나

SOA로 구현된 기업의 인프라 아키텍처는 기술측면과 비즈니스 측면에서 다음과 같이 달라질 수 있다.

우선 기술측면에서 크게 3가지 변화를 볼 수 있다. 첫째 다양한 클라이언트가 손쉽게 애플리케이션에 접근이 가능하다. 왜냐하면 ASP.NET, JSP, 모바일 장치, 기타 다양한 클라이언트들이 표준화된 업무 로직으로 인해 손쉽게 접근할 수 있기 때문이다.

둘째 현재 서비스에 대한 재사용성을 극대화 시킬 수 있으며 셋째 애플리케이션의 개발이나 수정에 대한 공수 및 관련 비용을 절감 할 수 있다.

비즈니스 측면에서도 크게 3가지 변화를 생각할 수 있다. 첫째 현업 사용자들도 서비스를 쉽게 이해할 수 있게 된다. 이는 IT 종사자와 현업 사용자들간의 의사소통이 원활하게 이루어질 수 있다는 것을 의미한다.

둘째 애플리케이션에 대한 통합 비용을 줄이고 신속하게 할 수 있게된다. 따라서 비즈니스의 흐름을 보다 원활하게 수행할 수 있게 해준다. 셋째 비즈니스 프로세스의 변경이나 대체가 손쉬워 진다. 이미 잘 정의된 인터페이스를 통한 독자적인 서비스의 접근이 가능하기 때문이다.

◆ SOA 구현 방법

마이크로소프트 윈도 플랫폼은 닷넷을 기반으로 한 서비스 지향 애플리케이션을 구축할 수 있는 인프라와 기술요소들을 제공하고 있다.

현재 '.NET Framework 1.1'에서는 애플리케이션 시나리오에 따라 ASMX, .NET Remoting, Enterprise Services, WSE(Web Service Enhancements), MSMQ와 같은 여러가지 기술들을 사용해 웹서비스 기반의 분산 애플리케이션을 구성할 수 있다.

그러나, 앞으로 모든 애플리케이션들이 근본적으로 서비스 지향 애플리케이션이 되도록하고 좀 더 쉽게 이기종의 플랫폼들이 상호연동할 수 있게 구성하기 위해서는 기술의 복잡성을 단순화하고, 단일화하여 애플리케이션의 근간이 되는 운영 플랫폼에서 서비스 지향성을 제공해야 한다. 이같은 제품 철학을 ‘WCF(Windows Communication Foundation)’가 담고 있다. 올해 출시할 윈도 비스타의 WCF는 SOA 표준을 완성한 최초의 제품이라고 할 수 있다. WCF는 가트너가 정의한 ESB(Enterprise Service Bus)에도 부합한다.

현재의 윈도 플랫폼에서 분산 애플리케이션을 지원하기 위한 기술들은 아래와 같다.

▲ ASMX : ASP.NET 웹 서비스라고도 불리는 것으로, J2EE 기반의 기존 시스템이나 인터넷을 통해 협력업체의 시스템과 연동하기 위해 사용할 수 있는 기술이다.

▲ .NET Remoting : .NET Framework 기반으로 구성되어 있는 애플리케이션끼리 상호 연동할 경우 사용할 수 있는 기술로 .NET‐to‐.NET 통신을 구현하는 경우 가장 좋은 성능을 제공할 수 있는 환경이다.

▲ Enterprise Services(COM+): 개체의 수명이나 분산 트랜잭션을 관리해야 하는 경우 사용할 수 있는 기술로서, 여러 애플리케이션이나 다중 데이터베이스에 대한 분산 트랜잭션을 지원해야 하는 경우 유용하지만, 제한된 통신 프로토콜만 지원하고 있다.

▲ WSE(Web Service Enhancements): WSE는 J2EE 기반의 애플리케이션이나 협력업체의 애플리케이션과 통신하기 위해 ASMX와 함께 사용될 수 있는 기술이다. 이 기술은 WS‐* 사양서를 통해 업계 표준으로 동의한 것이고, 모든 벤더들이 이 사양을 따르도록 구현하고 있다.

▲ Microsoft Message Queing (MSMQ): 윈도 기반의 협력 업체 시스템들이 비동기적으로 연동해야 하는 경우 채택할 수 있는 기술이다.

WCF는 서로 다른 애플리케이션 시나리오에 따라 적용기술이 달랐던 복잡성을 줄이고, 분산 애플리케이션 구축 및 다양한 이기종 애플리케이션과의 상호연동 기술을 단일화하기 위해 통합된 단일 프레임워크안에서 기존의 모든 기술들을 제공하고 있다.

◆ SOA를 위한 MS의 차별점

아래의 간단한 도표를 통해 볼 수 있 듯, 전문 개발자의 입장에서 마이크로소프트 플랫폼은 유연하고 포괄적인 솔루션으로 자리를 잡고 있다. 서로 다른 애플리케이션 시나리오에 따라 적용기술이 달랐던 복잡성을 줄이고, 분산 애플리케이션 구축 및 다양한 이기종 애플리케이션과의 상호연동 기술을 단일화하기 위해서 WCF는 통합된 단일 프레임워크 안에서 기존의 다양한 모든 기술들을 제공하고 있다.

<그림1> SOA를 위한 닷넷 플랫폼의 특징

/글=한국마이크로소프트




주요뉴스



alert

댓글 쓰기 제목 [SOA 특집 - MS] 마이크로소프트가 말하는 SOA

댓글-

첫 번째 댓글을 작성해 보세요.

로딩중

뉴스톡톡 인기 댓글을 확인해보세요.



포토뉴스