아키텍쳐 /SOA

SDP (Service Delivery Platform)

Terry Cho 2009. 9. 15. 17:24

Byungwook.Cho
Principal Consultant/Oracle Korea

Initiative

요즘 통신 업계의 트렌드 중의 하나가 SDP(Service Delivery Platform)이다.

현재 통신 업계는 크게 두가지 도전과제를 안고 있는데, 급격한 비즈니스 환경 변화와 기술적인 변화이다. 통신 업계는 현재 매우 빠른 속도로 변화하고 있다.

 구글의 안드로이드,애플의 IPHONE,심비안,림의 블랙베리,윈도우 WM등 수많은 플랫폼들이 쏟아져 나오고 있고 AppStore와 같은 오픈 마켓을 통해서 모바일 기반 애플리케이션들이 판매되고 있다. 또한 단순한 전화통화와 SMS 메세징에서부터 글로벌 로밍,영상통화,VoIP,모바일 인터넷까지 모바일 시장 초반에는 상상할 수 없을 정도로 빠른 속도로 비즈니스와 기술적인 변화를 겪고 있다. 이런 변화를 수용하기 위해서 통신 업체는 많은 silo (다른 시스템과 독립된) 시스템들을 개발해왔고, 또한 시스템간의 통합(Integration)을 해왔다. 그러나 시스템들이 많아지면서 통합해야 할 대상은 더욱더 많아지고 통합에 요구되는 시간도 짧아짐에 따라 더 이상 현재의 방식대로 Ad-Hoc방식의 통합이나 개발이 어려워 지게 되었다.

 이런 이유로 통합된 하나의 통신 플랫폼이 필요하게 되었는데 이것이 SDP (Service Delivery Platform)이다.

 기존의 나뉘어져 있던 모든 통신 애플리케이션을 하나의 통일된 형태의 프로토콜과 표준으로 통합하여 플랫폼으로 구축하여 시스템간의 통합을 신속하고 자유롭게 하고, 비즈니스의 변화에 유연하고 빠르게 대응하기 위함이다

SDP SOA Telco 버전

사실 SDP의 개념 자체는 매우 단순하다. 한마디로 이야기 하면 “Telco 버전의 SOA”로 정리된다. 기존의 전통적인 SOA아키텍쳐를 보면, 레거시 시스템을 통합하기 위해서 JCA아답터들을 사용하였다. 이 아답터들은 Legacy 프로토콜 (MQ, SAP, PeopleSoft etc)를 이용하여 Legacy 시스템과 통신하여 그 기능을 SOA 인프라쪽으로 enablement 해주는 역할을 하였다. 이런 아답터를 이용함으로써 여러 종류의 Legacy 시스템을 하나의 통일된 서비스 표준으로 운영할 수 있었던 것이다. SDP역시 그 원리는 똑같다. 기존 SOA가 아답터를 통해서 Legacy 시스템을 통합했다면, SDP는 아답터를 통해서 Legacy Network Application을 통합한다. Telco 시스템에는 SIP,VoIP,Paray,SMSC등의 다양한 프로토콜에 종속된 애플리케이션들이 존재한다. 이러한 애플리케이션들을 네트워크 아답터를 이용하여 통합된 메시지 형태를 사용하도록 하고 SOA 사상위에 통합함으로써, SDP의 목적을 달성할 수 있는 것이다

 전통적인 SOA 시스템과의 또 다른 차이점은 SDP는 기본적으로 B2C 서비스 시스템이라는 것이다. 전통적인 SOA가 기업의 내부 업무를 위해서 주로 디자인 되었다면, SDP는 사용자와 Interaction하는 업무를 중심으로 디자인된다. 이는 좀더 많은 사용자를 커버해야 하고, 빠른 사용자 응답 시간을 요구하고 아키텍쳐의 단순성을 요구한다는 의미이다

일반적인 SDP 아키텍쳐

SDP는 다음과 같이 크게 3가지 계층으로 나뉘어 진다.

 

Service Enablement

이 계층의 역할은 다양한 기술 플랫폼과 통신 프로토콜을 사용하는 기존의 시스템들을 SDP의 표준 컴포넌트 형태로 변환해주는 역할을 한다. 크게 두가지 관점으로 생각할 수 있는데, 첫번째는 Network Abstraction이다.

 다양한 Telco의 네트워크 프로토콜(SMSC, SIP etc)를 추상화 하여 SDP내부의 공용 프로토콜로 추상화 하여 제공한다.

 두번째는 기존의 비즈니스 애플리케이션 (과금, 파트너 관리)의 기능을 통합할 수 있게 공통된 서비스 형태로 Expose하여 SDP에 연결하는 기능을 제공한다. 예를 들어 과금 기능이 사내 ERP의 재무 모듈과 연동할 수 있게해주는 연결고리 역시 SDP의 기능이다

Service Component

 서비스 컴포넌트는 SDP의 고유한 기능을 제공하는 컴포넌트이다.특히 Telco쪽에 특화된 기능을 제공하는데, 대표적인 기능으로는 Billing,Charging,파트너 관리, 컨텐츠 관리, 사용자 프로필 관리,Location Based Service등이 된다.

 이러한 컴포넌트들은 Telco 솔루션 기반으로 제작되거나 Telco 내부에서 Inhouse로 개발되는데, 이 컴포넌트들은 Service Component라는 형태로 Abstract되어서 SDP 내부에 존재하게 된다.

 Service Exposure

 Service Component에 의해서 제공되는 기능들은 Service Exposure 계층을 통해서 외부로 서비스 된다. 이 계층에서는 컴포넌트에 Cross Cutting Concerns(공통 기능)을 가미하고, (빌링,Authentication/Authorization, SLA 관리, Logging/Audit) 하부 컴포넌트를 묶어서 (Orchestrate)해서 새로운 기능으로 Expose하는 기능을 수행한다.

 이 계층은 전통적인 SOA 사상으로 구성된다. ESB를 통한 단일 Access point를 제공하며, BPM을 통한 Long-running process에 대한 Orchestration등을 제공하게 된다.  기존의 SOA Reference Architecture와 큰 차이가 없기 때문에 이 부분에 대한 설명은 생략한다.

 

결론

SDP는 크게 보면 Telco 에 전문화된 SOA 플랫폼이다. Telco의 많은 통신 프로토콜을 Abstract하여 통일된 형태로 관리하여 통합을 자유롭게 하고 이로 인해서 비즈니스에 대한 빠른 적응을 가능하게 해준다. 또한 빌링이나 사용자 관리와 같은 공용 비즈니스 컴포넌트를 내재하여 중복 개발을 방지하고 시스템의 재사용성을 극대화 하며, 기존의 비즈니스 시스템 (ERP, CRM)과 연결할 수 있는 연계점을 제공하여 Telco의 전반적인 Infrastructure로 자리 잡을 수 있다.

 

그리드형