SOA 서비스의 동적 선택 설계 기법

A Design Method for Dynamic Selection of SOA Services

  • 발행 : 2008.02.15

초록

서비스 지향 컴퓨팅(Service-Oriented Computing, SOC)은 배포된 서비스를 선택하고 조합하여 서비스 클라이언트가 원하는 기능을 제공하는 개발 방식이다. SOC는 향상된 비즈니스 기민성, 단축된 개발 시간과 같은 여러 장점을 제공한다. 이러한 장점을 극대화하기 위해서는 서비스의 선택과 조합이 동적으로 이루어져야 한다. 하지만 현재의 프로그래밍 언어, SOC 플랫폼, 비즈니스 프로세스 모델링 언어 (Business Process Modeling Language, BPML) 및 도구는 수동적 서비스 선택 또는 서비스의 정적 바인딩만을 지원하는 수준에 머물러 있다 각 클라이언트의 요구사항을 만족하는 서비스를 제공하기 위하여 해당 비즈니스 프로세스는 재구성 (reconfiguration)되고 재배포 (redeploy)되어야 하는 문제점이 있다. 따라서, 서비스 클라이언트의 다양한 요구에 맞게 서비스를 신속하고 유연하게 조합시키기 위하여 동적 선택기법이 필요하다. 본 논문에서는 엔터프라이즈 서비스 버스(Enterprise Service Bus, ESB) 기반의 동적 선택 핸들러 (Dynamic Selection Handler, DSH) 설계 기법을 제안한다. DSH의 네 가지 컴포넌트인 수행 리스너, 서비스 선택자, 서비스 바인더, 인터페이스 변환자에 대한 설계를 제시한다. DSH 설계 시에 적합한 디자인 패턴을 적용하여 컴포넌트의 재사용성이 높도록 설계한다. 마지막으로 제안한 DSH 설계의 실용성을 보이기 위해 ESB를 이용하여 DSH를 구현한다.

Service-Oriented Computing (SOC) is the development method that published services are selected and composed at runtime to deliver the expected functionality to service clients. SOC should get maximum benefits not only supporting business agility but also reducing the development time. Services are selected and composed at runtime to improve the benefits. However, current programming language, SOC platforms, business process modeling language, and tools support either manual selection or static binding of published services. There is a limitation on reconfiguring and redeploying the business process to deliver the expected services to each client. Therefore, dynamic selection is needed for composing appropriate services to service clients in a quick and flexible manner. In this paper, we propose Dynamic Selection Handler (DSH) on ESB. we present a design method of Dynamic Selection Handler which consists of four components; Invocation Listener, Service Selector, Service Binder and Interface Transformer. We apply appropriate design patterns for each component to maximize reusability of components. Finally, we describe a case study that shows the feasibility of DSH on ESB.

키워드

참고문헌

  1. Fujii, K. and Suda, T., 'Semantics-Based Dynamic Service Composition,' IEEE Journal on Selected Areas in Communications, Vol.23, No.12, pp. 2361-2372, 2005 https://doi.org/10.1109/JSAC.2005.857202
  2. Penta, M., Esposito, R., Villani, M., Codato, R., Colombo, M. and Nitto, E., 'WS Binder: a framework to enable dynamic binding of composite web services,' On the proceedings of the 2006 international workshop on Service-oriented software engineering (IW-SOSE'06), ACM, 2006
  3. Yu. T., Zhang, Y., and Lin, K.J., 'Efficient Algorithms for web Services Selection with End- to-End QoS Constraints,' ACM Transactions on the Web, ACM, Vol.1, No.1, 2007
  4. Denaro, G. Pesse, M., Tosi, D., and Schilling, D., 'Toward Self-Adaptive Service-Oriented Architectures,' On the proceedings of the Workshop on Testing, Analysis and Verification of Web Services and Applications (TAV-WEB '06), ACM, 2006
  5. Zahreddine, W., and Mahmoud, Q., 'A Framework for Automatic and Dynamic Composition of Personalized Web Services,' On the proceedings of the 19th international conference on Advanced Information Networking and Application (AINA '05), IEEE, 2005
  6. Benatallah, B., Casati, F., Grigori, D., Nezhad, H., and toumani, F., 'Developing Adapters for Web Services Integration,' On the proceedings of The 17th Conference on Advanced Information Systems Engineering (CAiSE'05), LNCS 3520, Springer, 2005
  7. Chappell, D.A., Enterprise Service Bus, O'Reilly, 2004
  8. Java Business Integration (JBI), http://java.sun.com/ integration/1.0/docs/sdk/api/index.html
  9. The OWL Services Coalition, 'OWL-S: Semantic Markup for Web Services,' http://www.daml.org/ services/
  10. Majithia, S., Walker, W., D., Gray, A., W., 'Automated Web Service Composition Using Semantic Web Technologies,' First International Conference on Autonomic Computing (ICAC'04), pp. 306-307, 2004
  11. Celtix, http://celtix.objectweb.org/
  12. ServiceMix, http://www.servicemix.org/
  13. Open ESB, https://oepn-esb.dev.java.net/