인터넷상에서 접근 가능한 웹 서비스는 가용성 및 성능적 측면에서 신뢰성이 항상 보장되지는 못한다. 동적 서비스 연결 (dynamic service coordination) 기법은 웹 서비스를 호출하는 시스템이나 응용 프로그램에서 이 같이 신뢰할 수 없는 상황에 대처할 수 있는 꼭 필요한 기술이다. 웹 서비스의 신뢰적인 호출을 보장해 주기 위해서 동적 서비스 연결 기법에서는 특정 웹 서비스가 정해진 시간 내에서 응답하지 못할 경우 실행 중에 해당 웹 서비스를 다른 웹 서비스로 대체하여 수행한다. 본 논문에서는 웹 서비스를 위한 예외 상황 기반 동적 서비스 연결 프레임워크를 제안한다. 이 프레임워크에서 동적 서비스 연결에 필요한 모든 정보들은 속성 (attributes) 집합 형태에 의해서 명시적으로 기술된다. 본 논문에서 고안된 동적서비스 연결 기법은 기술된 속성 정보를 기반으로 동적 서비스 연결이 가능한 클래스 또는 워크플로우를 자동으로 생성하고, 생성된 클래스 함수를 통해 웹 서비스를 간접적으로 호출함으로써 신뢰성 있는 웹 서비스 호출을 지원한다. 제안된 방식은 웹 서비스 호출 작업이 간접적으로 이뤄지기 때문에 이에 초래되는 약간의 성능적 손실을 피할 수는 없지만, 이 방법을 통해서 얻어지는 시스템의 유연성 (flexibility) 과 신뢰성 (reliability)를 고려할 때, 다소의 성능적 손실은 많은 경우에 있어서 허용될 수 있을 것으로 예상된다.
인터넷상에서 접근 가능한 웹 서비스는 가용성 및 성능적 측면에서 신뢰성이 항상 보장되지는 못한다. 동적 서비스 연결 (dynamic service coordination) 기법은 웹 서비스를 호출하는 시스템이나 응용 프로그램에서 이 같이 신뢰할 수 없는 상황에 대처할 수 있는 꼭 필요한 기술이다. 웹 서비스의 신뢰적인 호출을 보장해 주기 위해서 동적 서비스 연결 기법에서는 특정 웹 서비스가 정해진 시간 내에서 응답하지 못할 경우 실행 중에 해당 웹 서비스를 다른 웹 서비스로 대체하여 수행한다. 본 논문에서는 웹 서비스를 위한 예외 상황 기반 동적 서비스 연결 프레임워크를 제안한다. 이 프레임워크에서 동적 서비스 연결에 필요한 모든 정보들은 속성 (attributes) 집합 형태에 의해서 명시적으로 기술된다. 본 논문에서 고안된 동적서비스 연결 기법은 기술된 속성 정보를 기반으로 동적 서비스 연결이 가능한 클래스 또는 워크플로우를 자동으로 생성하고, 생성된 클래스 함수를 통해 웹 서비스를 간접적으로 호출함으로써 신뢰성 있는 웹 서비스 호출을 지원한다. 제안된 방식은 웹 서비스 호출 작업이 간접적으로 이뤄지기 때문에 이에 초래되는 약간의 성능적 손실을 피할 수는 없지만, 이 방법을 통해서 얻어지는 시스템의 유연성 (flexibility) 과 신뢰성 (reliability)를 고려할 때, 다소의 성능적 손실은 많은 경우에 있어서 허용될 수 있을 것으로 예상된다.
Web services on the Internet are not always reliable in terms of service availability and performance. Dynamic service coordination capability of a system or an application invoking Web services is essential to cope with such unreliable situations. In dynamic service coordination, if a Web service d...
Web services on the Internet are not always reliable in terms of service availability and performance. Dynamic service coordination capability of a system or an application invoking Web services is essential to cope with such unreliable situations. In dynamic service coordination, if a Web service does not respond within a specific time constraint, it is replaced with another Web service at run time for reliable invocation of Web services. In this paper, we develop an exception based dynamic service coordination framework for Web services. In the framework, all necessary information for dynamic service coordination is explicitly specified and summarized as a set of attributes. Then classes and workflows, supporting dynamic service coordination and invoking Web services, are automatically created based on these attributes. Developers of Web services client programs can make the invocations of Web services reliable by calling the methods of the classes. Some performance loss has been observed in the indirect invocation of a Web service. However, when we consider the flexibility and reliability gained from the method, the performance loss would be acceptable in many cases.
Web services on the Internet are not always reliable in terms of service availability and performance. Dynamic service coordination capability of a system or an application invoking Web services is essential to cope with such unreliable situations. In dynamic service coordination, if a Web service does not respond within a specific time constraint, it is replaced with another Web service at run time for reliable invocation of Web services. In this paper, we develop an exception based dynamic service coordination framework for Web services. In the framework, all necessary information for dynamic service coordination is explicitly specified and summarized as a set of attributes. Then classes and workflows, supporting dynamic service coordination and invoking Web services, are automatically created based on these attributes. Developers of Web services client programs can make the invocations of Web services reliable by calling the methods of the classes. Some performance loss has been observed in the indirect invocation of a Web service. However, when we consider the flexibility and reliability gained from the method, the performance loss would be acceptable in many cases.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
앞에서 언급한 바와 같이 응용 프로그램 개발자는 생성 된 클래스를 이용하여 보다 쉽게 동적 서비스 연결 기 능을 응용 프로그램에 접목시킬 수 있다. 다음 절에서는 설정된 속성들의 정보를 이용해 어떻게 웹 서비스 호출 클래스와 워크플로우 호출 클래스를 만들 수 있는지에 대해 알아본다.
본 논문에서는 위와 같은 한계를 극복하기 위한 방안 으로 웹 서비스를 위한 동적 서비스 연결 프레임워크를 제안한다. 동적 서비스 연결 프레임워크에서는 웹 환경 의 변화를 서비스 실행 중에 반영하여 필요한 웹 서비 스를 호출할 수 있다는 점에서 이전의 방법들보다 우수 한 방법으로 볼 수 있다.
본 논문에서는 응용 프로그램 내에서 워크플로우 호출 클래스를 이용해 웹 서비스가 호출 될 때, 동적 서비 스 연결을 지원하기 위해서 워크플로우 시스템 내 예외 상황 핸들링 매커니즘을.사용하기도 한다.
본 논문에서는 이와 같은 문제를 해결하기 위해서 웹 서비스를 위한 예외 상황에 기반한 동적 서비스 연결 프레임워크를 제안하였다. 웹 서비스 호출 클래스와 워 크플로우 호출 클래스가 신뢰성 있는 웹 서비스의 호출 에 사용 되었으며, 시스템 구현을 위해서는 워크플로우 시스템의 예외 상황 핸들링 메커니즘을 사용하는 것을 제안하였다.
본 논문에서는 편의상 웹 서비스 상에서 동적으로 서 비스 연결을 지원하는 일련의 모든 기술들을 동적 서비 스 연결(dynamic service coordination)이근} 명명한다. 동적 서비스 연결 개념은 워크플로우 분야에서 사용된 동적 워크플로우 변경 (dynamic workflow reconfigura- tion)이란 개념과 유사하다.
가설 설정
. Activity - Activity에 의해서 예외 상황은 동적 서 비스 연결을 활성화 시킨다. OnExceptions의 요소는 0개 혹은 한개 이상의 속성을 지닐 수 있다.
따 라서 각 방식의 성능 손실의 정도를 보다 정확히 이해 하기 위해서 각 방법을 사용한 웹 서비스 호출의 경과 시간을 측정했다. 모두 세 가지의 상황을 가정하였는데, 첫째는 웹 서비스와 클라이언트 응용 프로그램이 동일 컴퓨터 상에 있는 경우이고, 둘째는 LAN환경 내에서 연결되어 있는 경우이며, 마지막으로는 인터넷 환경에서 웹 서비스를 원격 호출해야 하는 경우이다. 요구(re quest) 에 대한 응답(respond) 이외의 다른 작업은 웹 서비스 내에서는 이뤄지지 않기 때문에 웹 서비스 내의 서비스 시간은 포함 시키지 않았다.
워크플로우 호출 클래스 생성의 경우에는 워크플로우 및 이와 관련된 예외 상황 핸들링 루틴들이 호출에 응 할 수 있도록 미리 준비되어 있는 것으로 가정한다. 워 크플로우의 예외 상황 핸들링 루틴은 전제.
제안 방법
만약 워크플로우를 통해서 웹 서비스를 호출하는 경우 에는 이 같은 성능적 손실은 더 클 것으로 예상된다. 따 라서 각 방식의 성능 손실의 정도를 보다 정확히 이해 하기 위해서 각 방법을 사용한 웹 서비스 호출의 경과 시간을 측정했다. 모두 세 가지의 상황을 가정하였는데, 첫째는 웹 서비스와 클라이언트 응용 프로그램이 동일 컴퓨터 상에 있는 경우이고, 둘째는 LAN환경 내에서 연결되어 있는 경우이며, 마지막으로는 인터넷 환경에서 웹 서비스를 원격 호출해야 하는 경우이다.
본 논문에서 제안한 동적 서비스 연결 프레임워크를 이용하여 웹 서비스 호출에 걸리는 경과 시간을 측정한 결과 및 평가를 실행하였다 웹 서비스 호출을 위한 디 자인 과정에서 사용되는 다이얼로그 박스는 Lavadora 프로젝 트 (http:〃lavadoiasourceforge.net/) 에 서 제 공하 는 툴을 이용하여 구현하였다. Lavadora프로젝트의 목 표는 웹 서비스 분야의 상업용 개발환경이 제공하는 기 능을 반영하는 이클립스 플랫폼을 위한 플러그인 (plug-in)을 만드는 것이다.
본 논문에서 제안한 프레임워크를 이용하여 웹 서비 스 호출이 이루어지는 경우의 경과되는 시간을 측정하 기 위하여 일부 시스템을 구현하였다. 다음은 시스템 구 현 환경 및 측정 시 사용된 소프트웨어 및 하드웨어 사 양이다.
이 방법은 처리과 정에 있어서 UDDI가 개입하지 않는다는 점에서 첫 번 째 방법과 차이가 있다. 본 논문에서는 두 번째 접근 방 법을 선택하였으며, 이 방식의 구현에는 워크플로우 시 스템에서 사용되는 예외 상황 핸들링 메커니즘을 사용 한다. 즉 특정 웹 서비스가 적절히 응답하지 못할 때는 예외 상황이 발생한 것으로 해석하고, 발생한 예외 상황 은 대체 웹 서비스를 찾거나 호출함으로써 처리한다.
본 논문에서는 이와 같은 문제를 해결하기 위해서 웹 서비스를 위한 예외 상황에 기반한 동적 서비스 연결 프레임워크를 제안하였다. 웹 서비스 호출 클래스와 워 크플로우 호출 클래스가 신뢰성 있는 웹 서비스의 호출 에 사용 되었으며, 시스템 구현을 위해서는 워크플로우 시스템의 예외 상황 핸들링 메커니즘을 사용하는 것을 제안하였다. 본 논문에서 제안한 방법을 기반으로 하여 예외 상황 핸들링 메커니즘을 지원하는 모든 워크플로 우 시스템은 각각에 맞는 솔루션을 개발 할 수 있다.
성능/효과
3.3절에서 언급한 클래스의 생성이 성공적으로 이뤄졌 다면, 응용 프로그램에서는 생성된 클래스를 활용하여 웹 서비스의 신뢰성 있는 호출을 손쉽게 구현할 수 있 다. 앞에서도 언급하였지만 사용자의 선택에 따라 두 종 류의 클래스가 생성되는데 하나는 웹 서비스 호출 클래 스이고, 다른 하나는 웹 서비스 호출 단계를 포함한 워 크플로우 호출 클래스이다.
이는 워크플로우의 예외 상황 핸들링 메커니즘[6, 기과 유사한 방식으로 실 제로 본 논문에서도 이러한 예외 상황 핸들링 메커니즘 을 참고하고 있다. 결과적으로 동적 서비스 연결 프레임 워크 활용을 통해서 웹 서비스 클라이언트 웅용 프로그 램의 개발자들은 생성된 클래스 내의 메소드를 이용하 여 신뢰성 있는 웹 서비스 호출을 손쉽게 구현할 수 있 게 된다.
이 같은 제어권 교환은 해당 워크플로우 실행이 종료시까지 워 크플로우 시스템과 워크플로우 내 단계 사이에서 반복 적으로 일어나게 된다. 결과적으로는 워크플로우 시스템 은 프로세스가 실행되는 동안 개입이 용이하고, 필 요한 경우에는 손쉽게 적절한 조치를 취할 수도 있 다. 한편 일반 프로그램이 운영체제 상에서 수행되는 경 우에는 양상이 다소 다르다.
동적 서비스 연결 프레임워크는 앞에서 서술한 장점 을 가지고 있긴 하지만 웹 서비스 호출 시 지연시간과 같은 성능적 손실을 초래하는 단점이 있다. 워크플로우 를 이용하여 웹 서비스를 호출할 경우 평균적으로 약 0.5초 정도의 지연시간이 발생하는 것을 확인하였다. 그 러나 이런 성능적 손실은 동적 서비스 연결을 통하여 얻어지는 서비스의 유연성(flexibility)과 신뢰성(relia bility) 올 고려한다면, 서비스 종류에 따라서 어느정도 수용 될 수도 있다고 본다.
첫 번째 접근 방법으로는 서비스 연결시 동적 서비 스 연결을 위해 UDDI에 의뢰하는 방식으로 특정 웹 서 비스 호출에 문제가 발생하면 UDDI에 해당 사실을 통 보하고, UDDI는 대체 웹 서비스를 찾아서 연결시켜 주 는 방식이다. 이상적인 상황이라면 UDDI가 후보 서비 스에 관한 정보를 충분히 갖고, 동적 서비스 연결에 필 요한 기능을 갖추게 되면 적당한 시간에 쉽게 최상의 후보 서비스들의 위치를 찾을 수 있다는 점에서 매력적 이다. 그러나 현실적으로 UDDI자체가 완벽하지 못하고, 동적 서비스 연결을 완벽하게 지원할 수 있는 표준이 아직 만들어지지 않았기 때문에 현재로서는 적절한 방 식으로 보기가 어렵다.
이와 같은 결과가 나온 이유는 동일 컴퓨터 내에서는 웹 서비스 및 많은 리소스가 필요한 워크플로우 시스템이 같이 설치되었기 때문에 실행에 따른 대기 시간이 조금 더 걸린 것이다. 표에서 워크플 로우를 통해서 웹 서비스를 호출할 때 응답 시간은 평 균적으로 약 0.5초 정도 소요되었다. 표에서 괄호 안의 값은 표준편차를 나타낸다.
후속연구
동적 서비스 연결을 지원하는 클래스를 통해서 간접적으로 웹 서비스를 호출하는 것이 직접 호출할 때 와 비슷한 성능 결과를 보일 것으로 예상된다. 간접 웹 서비스 호출방법을 택함으로 얻어지는 유연성과 신뢰성 을 고려한다면 특별한 경우가 아닌 경우 본 논문에서 제안한 방식이 안전한 웹 서비스 호출에 도움이 될 것 으로 기대된다.
본 논문의 동적 서비 스 연결 기능이 UDDI의 기능과 연계된다면 더욱 개선 된 동적 서비스 연결이 가능할 것이다. 따라서 향후에는 앞선 UDDI기능과 본 논문에서 제안한 동적 서비스 연 결 프레임워크를 통합하는 작업이 필요하다.
그 러나 이런 성능적 손실은 동적 서비스 연결을 통하여 얻어지는 서비스의 유연성(flexibility)과 신뢰성(relia bility) 올 고려한다면, 서비스 종류에 따라서 어느정도 수용 될 수도 있다고 본다. 또한 발생하는 지연시간은 최적화 된 상태에서 측정된 값이 아니기 때문에 향후 개선이 가능하다.
웹 서비스 호출 클래스와 워 크플로우 호출 클래스가 신뢰성 있는 웹 서비스의 호출 에 사용 되었으며, 시스템 구현을 위해서는 워크플로우 시스템의 예외 상황 핸들링 메커니즘을 사용하는 것을 제안하였다. 본 논문에서 제안한 방법을 기반으로 하여 예외 상황 핸들링 메커니즘을 지원하는 모든 워크플로 우 시스템은 각각에 맞는 솔루션을 개발 할 수 있다.
UDDI는 동적 엑서스 포인트(dynamic access point) 관리에도 유용하다고 알려져 있다. 본 논문의 동적 서비 스 연결 기능이 UDDI의 기능과 연계된다면 더욱 개선 된 동적 서비스 연결이 가능할 것이다. 따라서 향후에는 앞선 UDDI기능과 본 논문에서 제안한 동적 서비스 연 결 프레임워크를 통합하는 작업이 필요하다.
참고문헌 (22)
Application Architecture: A Critical Foundation for Service - Oriented Development and Web Services. White Paper, The Stencil Group and Wakesoft, http://www.wakesoft.com/product/WhitePapers.htmI, August 2003
M. Gudgin, M. Hadley, N. Mendelsohn, J. J. Moreau and H. F. Nielsen, 'SOAP Version 1.2 World Wide Web Consortium Recommendation,' http://www.w3.org/TR/soap12-part1/, 2003
E. Christensen, F. Curbera, G. Meredith and S. Weerawarana, 'Web Services Description Language (WSDL) 1.1 World Wide Web Consortium note,' http:/www.w3.org/TR/2001/NOTE-wsdl20010315, 2001
D. Ehnebuske, B. McKee and D. Rogers, 'UDDI Version 2.04 API Specification,' http:/uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm, 2002
BPEL4WS Specification: Business Process Execution Language for Web Services Version 1.1, http:/www-128.ibm.com/developerworks/library/specification/ws-bpel, 2003
I. Y. Ko, K. T. Yao and R. Neches, 'Dynamic Coordination of Information Management Services for Processing Dynamic Web Content,' Proceedings of the 11th International World Wide Web Conference, Honolulu, Hawaii, USA, May 7-11 2002
L. J. Zhang, Q. Zhou and T. Chao, 'A Dynamic Services Discovery Framework for Traversing Web Services Representation Chain,' Proceedings of the IEEE Int. Conf. on Web Services (ICWS'04), June 6-9 2004
M. M. B. Tariq and T. Kawahara, 'Introducing Dynamic Distributed Coordination in Web Services for Next Generation Service Platforms,' Proceedings of the IEEE Int. Conf. on Web Services (ICWS'04), June 6-9 2004
C. Ellis, K. Keddara and G. Rozenberg, 'Dynamic change within workflow systems,' In Proc. of the Conf. on Organizational Computing Systems, August, pp. 10-21, 1995
M. Reichert and P. Dadam, 'ADEPTflex-supporting dynamic changes in workflows without loosing control,' Journal of Intelligent Information Systems , Vol.10, No.2, pp, 93-129, March 1998
G. Kappel, S. Rausch-Schott and W. Retschitzegger, Coordination in Workflow Management Systems - A Rule-based Approach, Coordination Technology for Collaborative Applications - Organizations, Processes, and Agents,' LNCS 1364, pp. 99-120, 1998
A. Lazacano, G. Alonso, H. Schuldt and C. Schuler, 'The WISE Approach to Electronic Commerce,' International Journal of Computer Systems, Science, and Engineering, Vol.13. No.5, pp. 345-357, Sept. 2001
M. Merz, B. Liberman and W. Lamersdorf, 'Using Mobile Agents to Support Interorganizational Workflow-Management,' International Journal on Applied Artificial Intelligence, Vol.11, No.6, pp, 551-572, Sept. 1997
M. Merz, B. Liberman and W. Lamersdorf, 'Crossing Organizational Boundaries with Mobile ?Agents in Electronic Service Markets,' Integrated Computer-Aided Engineering, Vol.6 No.2, pp. 91-104, 1999
J. Y. Shim, M. J. Kwak and D. S. Han, 'A Framework Supporting Dynamic Workflow Interoperation,' International Workshop on Modeling Inter-Organizaional Systems and Interoperability of Enterprise Software and Applications (MIOSINTEROP'05), Cyprus, 31 Oct.-4 Nov. 2005
D. S. Han, J. Y. Goo, S. D. Song, S. D. Lee and B. S. Seo, 'Design of a Web Services Based eAI Framework,' 6th International Conference on Advanced Communication Tecnnology (ICACT 2004), Phoenix Park, Korea, Feb. 2004
Y. K. Song and D. S. Han, 'Exception Specification and Handling in Workflow Systems,' LNCS 2642, pp. 495-506, 2003
Y. Shi, L. J. Zhang and B. Shi, 'Exception Handling of Workflow for Web Services,' Proceedings of the 4th Int. conf. on Computer and Information Technology, pp. 273-277, 2004
U. Greiner and E. Rahm, 'Quality-Oriented Handling of Exceptions in Web services-Based Cooperative Processes,' Proc. Of EAI-Workshop 2004-Enterprise Applocation Integration, Oldenburg. GITO- Verlag, Berlin, pp. 11-18, 2004
M. Kelin, A. Juan, Rodriguez-Aguilar and C. Dellarocas, 'Using Domain-Independent Exception Handling Services to Enable Robust Open Multi-Agent Systems: The Case of Agent Death,' Autonomous Agents and Multi-Agent Systems 7, pp. 179-189, 2003
P. Johannesson, B. Wangler and P. Jayaweera, 'Application and Process Integration - Concepts, Issues, and Research Directions,' Information Systems Engineering Symposium '02, eds. S. Brinkkemper, E. Lindencrona, and A. Solvberg, Springer Verlag, 2000
C. Szypersky, D. Gruntz and S. Murer, 'Component Software: Beyond Object-Oriented Programming,' 2nd edition, ACM Press, 2002
※ AI-Helper는 부적절한 답변을 할 수 있습니다.