이벤트 구동형 아키텍처, 동적 인터페이스 조정 및 트랜잭션 중개에 대한 고찰

우리는 SOA와 상당히 오랫동안 함께 해왔다. 가트너(Gartner) 보고에 따르면 “SOA”는 그들의 웹사이트에서 가장 폭넓게 사용된 검색 용어라고 밝혔다. 구글(Google)에서 “SOA”를 검색하면 6,750,000여 개의 관련 항목이 나타난다. 그리고 IT 분야의 경우 SOA와 연관된 논의가 매일 이루어지고 있다.

이는 상당히 인상적인 수준의 인식 및 의견 공유가 아닐 수 없다. 그렇지만 이러한 상황을 “임무 완수”로 보지는 말자. SOA에 대한 현재의 접근 방법을 발달시키기 위해서는 여전히 할 일이 많다. 예를 들어, 다양한 웹 서비스 표준의 투명성 및 완성도를 개선할 필요가 있다. 그리고 그 표준이 이용 가능하게 될 때, 더 완전하고 성숙되고 일관된 표준의 세트가 널리 채택된다는 점을 보증해야 한다.

안전한 SOA 구현의 토대 마련에 필요한 연합된 정체성 관리 기본 틀을 구축하고 유지하는 문제에 대해 살펴 보자. 물론, 초기 SOA 애플리케이션은 사용자 ID와 비밀번호, 로컬 LDAP 디렉토리 및 SSL을 통해 보안을 잘 유지할 수 있다. 그러나 실제 세계에서 SOA 전개의 경우에는 다수의 네트워크 및 조직의 경계에 걸쳐 여러 기업으로부터의 애플리케이션을 연결하게 된다. 따라서 그러한 전개의 경우 보안을 구현하는 것은 수천 수만 배 이상 더 복잡해진다.

또한 SOA를 통해 보내고 받는 데이터의 형식과 의미를 표준화해야 할 필요성도 인식해야 한다. 각각의 데이터 교환을 둘러싸고 제어하는 프로세스의 의미는 SOA 기반의 복합 애플리케이션을 구성하는 것들의 의미만큼 명확해야 할 필요가 있다.

마지막으로, 웹 서비스 스택, 데이터 변환 프로그램, 통합(orchestration) 솔루션 및 엔터프라이즈 급 SOA 인프라를 구축하는데 일반적으로 들어가는 모든 다른 기술을 구현하기 위한 기술적 능력을 갖추지 않은 소규모 기업들과 복합 애플리케이션을 연결할 때도 문제점들이 존재한다.

이와 같은 문제의 해결 방법은 무엇인가? 이들 문제는 각기 전적으로 타당한 해결 방법들이 있겠지만, 우리에게는 이 네 가지 모두를 해결하기 위한 일종의 웹 서비스 중개가 필요하다.


웹 서비스 중개

웹 서비스 및 SOA 구현에 적용하는 모든 우수 사례들은 처음에 B2B 통신을 구현하는데 사용되었던 것으로 생각된다. 그것은 사실 놀라운 일도 아니다. SOA의 정의를 생각해 보라. 일부 사람들은 서비스를 중요한 부분의 분리를 이행하는 모듈로 정의하는 것 즉, 느슨한 연결(loose coupling)과 재사용에 집중하지만, 그것은 핵심 포인트를 놓친 것과 다름 없다. 우리는 30년 동안 모듈화 방식의 개발 방법을 사용해 왔다. 그렇다면 이것과 무슨 차이가 있는 것일까?

모듈화, 객체 또는 컴포넌트 기반의 개발에 있어서 SOA와 이전 방식의 차이는 다음과 같다. SOA는 이들 모듈이 서로 관련이 없는 다수의 개발 팀에 의해 개발, 관리, 전개 및 유지 보수될 수 있도록 설계된 것이다. 때로 이들 개발팀은 조직 내의 서로 다른 부서 또는 사업단위가 되기도 한다. 그렇지만, 이러한 다수의 개발팀은 다른 조직의 일부인 경우도 종종 있다. 단일포장된 애플리케이션의 공급업체일 수도 있고 다수의 애플리케이션을 제공한 시스템 통합 업체일 수도 있다. 또한 많은 경우 공급업체, 재판매업체, 부가재판매업체(VARS), 총판업체, 그리고 심지어 고객의 IT 조직의 일부일 가능성도 있다.

복합 애플리케이션의 개발자의 입장에서, 서비스로 만들고 싶은 애플리케이션을 제어하는 내부 설계 및 개발 결정에 대해 권한이 거의 없다면 어떻게 할 것인가?

 IT 부서에서 직접 이들 각 문제점에 대한 솔루션을 개발하는 것이 하나의 방법이 될 수 있다. 좀 더 나은 대안이라면, 적어도 SOA 세계의 제법 큰 부분에 대해 제3자의 “SOA 중개”를 사용하는 것이 있다.

조직의 경계를 가로질러 통합을 가능하게 하는 독립적인 중개라는 아이디어는 새로운 것이 아니다. B2B의 세계에서 우리는 25년 동안 EDI 부가 네트워크(VAN)를 경험했다. VAN은 사용 가능한 많은 웹 기반의 대안에도 불구하고 여전히 널리 사용되고 있다. 왜냐하면, VAN은 큰 회사 또는 작은 회사 모두에게 중요한 기능을 제공하기 때문이다.

· VAN은 비즈니스 파트너간의 안전하고 신뢰할 수 있는 통신을 가능하게 하는 믿을 수 있는 제3자로써의 역할을 수행할 수 있다. VAN은 송신자 및 수신자 모두에 대해 부인 방지(non-repudiation) 기능을 제공하기 위해 각 트랜잭션 파트너의 정체성을 보증하며, 파트너들간의 상호작용을 로그에 기록한다.
· VAN은 데이터 형식, 의미 및 프로세스 의미(semantics)의 정규 표준을 정의하고 시행할 수 있다.
· VAN은 개발을 허용하며 네트워크상의 참가자들이 구축한 인터페이스의 구현을 보증할 수 있다.
· VAN은 더 작은 규모의 참가자들을 유치하여 이러한 소규모의 기업들이 데이터를 웹 형식으로 유형화하거나 문서를 전자 우편으로 보내면 VAN은 이 데이터를 유효한 B2B 메시지로 변환해 주는 방식으로 연결을 가능하게 해준다.

VAN을 통해 과거에 EDI 기반 통신을 가능하게 했던 이러한 모든 서비스는 보다 현대적인 B2B 연결을 가능하게 하는 “SOA 중개”를 통해 유사하게 제공될 수 있다.

그러나 이러한 SOA 중개는 거기에서 멈추지 않고 부가 가치 기술 서비스 및 상업적 서비스를 추가로 제공할 수 있다. 다음은 SOA 중개의 예이다.

· EDI 메시지를 웹 서비스 호출 및 응답으로 변환.
· 버전 제어를 구현하여 각 서비스 소비자들만 서비스 제공자의 유효한 버전에 연결하도록 함. · 신용장(LC), 통관 또는 요금 청구 및 납부 절차와 같은 상업적인 서비스 제공.
· 공급업체 및 제조업체 간의 역경매(reverse auctions) 지원.
· 공급업체 및 운송 및 물류 업체 사이에 적절한 비용 효율적인 서비스 지원.

중개가 이와 같은 부가 가치 서비스를 실질적으로 제공하는 실체일 필요는 없다는 점에 유의하라. 예를 들면, 그것은 은행, 보험회사, 비즈니스 프로세스 외주 업체 및 제3자, 제4자 물류 제공업체로 상업적 서비스 다수를 아웃소싱할 수 있다.
 

왜 SOA 중개인가?

SOA 연결의 개발, 전개, 관리 및 유지보수를 가능하게 하는 툴은 수백 가지가 존재하지만 이러한 툴이 어떤 기업의 경우에는 적절하지 않거나 충분하지 않을 수 있다. 첫째, 너무 규모가 작아서 B2B SOA 연결을 효율적으로 작동시킬 수 없는 회사도 많다. 즉, 그러한 회사의 IT 부서는 너무 작아서 필요한 기술을 구축 및 유지 보수할 수 없거나 SOA 연결을 위한 예산이 너무 작아서 투자의 정당성을 증명할 수 없다.

둘째, SOA 연결을 가능하게 하기 위해 의존하는 표준과 관련된 문제점이 있다. 이들 문제점은 완전하고 안정적이며 모호하지 않고 널리 채택된 SOA 구현 표준이 존재하지 않기 때문에 발생한다. SOA 연결을 실현하는데 필요한 프로토콜, 데이터 형식, 데이터 의미, 프로세스 의미(semantics)를 모두 포함하는 충분한 표준이 있다면, 많은 기업들에게 SOA 중간단계가 필요하지 않을 것이다. 대신에 이와 같은 표준의 부재를 보완하기 위해 필요한 시간과 노력이 더 작거나 더 처리하기 쉽다면 SOA 중개가 유용하다고 할 수 없을 것이다.

마지막으로, 제3자를 통한 공급이 최선인 기능들이 있다. 예를 들면, 데이터 로그를 쉽게 수정할 수 있으며, 그러한 파일을 제공함으로써 많은 추측(guesswork)과 암시(insinuation)로 피해를 입을 수 있다면, 믿을 수 있는 제3자가 모든 트랜잭션의 로그를 작성하여 송수신자의 부인 방지(non-repudiation) 기능을 제공하도록 하는 것이 중요하다. 부인 방지란 상대방이 내가 보낸 메시지를 받았다는 것을 내가 증명할 수 있으며, 또한 상대방이 받은 메시지가 내가 보낸 것이라는 것을 상대방이 증명할 수 있도록 하는 것을 의미한다.

그 모든 문제가 해결된다면, SOA 중개는 모두에게 유용하다고 할 수 있는가? 반드시 그렇지는 않다. 그러한 것 자체를 직접 수행하기를 원하는 기업들도 항상 존재한다. 그러나, 아무 것이나 그리고 모든 것이 아웃소싱을 필요로 하는 것처럼 보이는 이 시대에, 기업과 그 비즈니스 파트너를 연결하는 복합 애플리케이션을 전개하기 위해, SOA 기능의 사용과 관련된 기술적, 상업적 문제점을 아웃소싱할 기회를 환영할 기업들이 많다고 믿는 데에는 충분한 이유가 있다.

누가 SOA 중개 서비스를 제공하는가?

SOA 중개 서비스의 가능성 있는 후보의 출처가 몇 군데 있다. EDI VAN 제공업체들이 유망한 제공자가 될 것이라는 점은 확실하다. 그리고 실제로 그들은 현재 다수의 이와 같은 서비스를 제공하고 있다. 그리고, 은행이나 FedEx, UPS와 같은 물류 업체 그리고 통신 사업자들도 가능성 있는 후보들이다.

왜 통신사업자들인가? 각 나라 또는 지역의 주요 일반 전화 통신 사업자들은 이미 해당 지역의 시장 내에서 거의 모든 대, 소규모의 기업들과 비즈니스 관계를 맺고 있다. 그리고 그러한 통신 업체들은 모두 자사의 현행 독점판매권을 확장하고 비즈니스 관계를 공고히 할 수 있는 비즈니스 기회를 필사적으로 찾고 있다.

그런 일이 실제로 일어날 것인가? SOA 중개 서비스가 B2B SOA 연결을 대신하게 되나?

일부 독자들은 이 시점에서 의문이 생길 것임에 틀림없다. 이러한 B2B SOA 중개가 그렇게 좋은 아이디어인가? 그렇다면 왜 아직 그 분야를 평정하지 못했을까? 그것은 잘못된 질문이다. 좋은 아이디어라고 해서 반드시 결과적으로 “그 영역을 대체할” 누군가가 나타나는 것은 아니다. 때때로 좋은 아이디어는 시장의 요구사항의 특정한 부분을 다룰 수 있는 기업을 세울 어떤 사람을 위해 훌륭하고 만족스러운 비즈니스에 대한 초석으로서의 역할에서 끝날 수도 있다. SOA 중개는 확실히 그러한 부류의 기회에 더 가까운 듯하다.


저자: Ross Altman 

이 글의 영문 원본은 http://soa.sys-con.com/read/479747.htm 에서 보실 수 있습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License

트랙백 주소 :: http://sdnkorea.com/blog/trackback/499

댓글을 달아 주세요

댓글을 쓰시려면 로그인해주세요.

블로그 이미지
Statistics Graph
회사소개  |   문의  |   사용약관  |   개인정보보호정책  |   등록상표