서비스 지향 아키텍처(Service Oriented Architecture)는 엔터프라이즈 애플리케이션 개발 시 유연성을 보장하여, 비즈니스 변화에 최대한 민첩하게 대응하도록 지원한다. 그럼에도 불구하고 비즈니스와 제약조건을 하나의 서비스로 코딩하는 일반적 접근법은 비즈니스 룰의 변경을 위하여 전체 결합로직을 변경하는 등 많은 자원을 소모하게 된다. 본 논문에서는 이러한 문제점을 개선하기 위하여 서비스 시스템 개발에 관점 지향 기법(Aspect Oriented Approach)을 확장하여 적용한다. 관점 지향 기법의 기존 핵심관심(Core Concern), 횡단관심(Cross Cutting Concern)이외에 비즈니스 프로세스와 서비스에 포함된 비즈니스 룰을 룰관심(Rule Concern)이라는 새로운 관심사로 분리한다. 룰관심은 수준에 따라 프로세스 룰관심(PRA: Process Rule Aspect)과 서비스 룰관심(SRA: Service Rule Aspect)으로 구분된다. 시스템은 이러한 관심사의 분리를 통하여 핵심관심, 횡단관심 및 룰관심으로 각각 모듈화 되고 독립적으로 유지보수 되어 서비스 시스템의 적용성, 재사용성 및 유지보수성을 높일 수 있다.
서비스 지향 아키텍처(Service Oriented Architecture)는 엔터프라이즈 애플리케이션 개발 시 유연성을 보장하여, 비즈니스 변화에 최대한 민첩하게 대응하도록 지원한다. 그럼에도 불구하고 비즈니스와 제약조건을 하나의 서비스로 코딩하는 일반적 접근법은 비즈니스 룰의 변경을 위하여 전체 결합로직을 변경하는 등 많은 자원을 소모하게 된다. 본 논문에서는 이러한 문제점을 개선하기 위하여 서비스 시스템 개발에 관점 지향 기법(Aspect Oriented Approach)을 확장하여 적용한다. 관점 지향 기법의 기존 핵심관심(Core Concern), 횡단관심(Cross Cutting Concern)이외에 비즈니스 프로세스와 서비스에 포함된 비즈니스 룰을 룰관심(Rule Concern)이라는 새로운 관심사로 분리한다. 룰관심은 수준에 따라 프로세스 룰관심(PRA: Process Rule Aspect)과 서비스 룰관심(SRA: Service Rule Aspect)으로 구분된다. 시스템은 이러한 관심사의 분리를 통하여 핵심관심, 횡단관심 및 룰관심으로 각각 모듈화 되고 독립적으로 유지보수 되어 서비스 시스템의 적용성, 재사용성 및 유지보수성을 높일 수 있다.
The service oriented architecture assures flexibility of enterprise application development, so it supports agile reaction to business change. On the other hand, considerable effort is needed to develop a service by combining business and constraint consumes because the entire combination logic shou...
The service oriented architecture assures flexibility of enterprise application development, so it supports agile reaction to business change. On the other hand, considerable effort is needed to develop a service by combining business and constraint consumes because the entire combination logic should be changed according to the change in business rule. To improve the current method, this paper applied an aspect oriented approach to service system development. In this paper, the rule concern is proposed in addition to the core concern and cross cutting concern of aspect oriented approach. The rule concern is extracted from business rules included in the business processes and services. The rule concern is classified into the process rule aspect and service rule aspect according to the level of the rule. In the proposed approach, system is modularized into the core concern, cross cutting concern and rule concern through separation of concern, and they are maintained independently. Therefore, the adaptability, reusability, and maintainability of a service system will be enhanced.
The service oriented architecture assures flexibility of enterprise application development, so it supports agile reaction to business change. On the other hand, considerable effort is needed to develop a service by combining business and constraint consumes because the entire combination logic should be changed according to the change in business rule. To improve the current method, this paper applied an aspect oriented approach to service system development. In this paper, the rule concern is proposed in addition to the core concern and cross cutting concern of aspect oriented approach. The rule concern is extracted from business rules included in the business processes and services. The rule concern is classified into the process rule aspect and service rule aspect according to the level of the rule. In the proposed approach, system is modularized into the core concern, cross cutting concern and rule concern through separation of concern, and they are maintained independently. Therefore, the adaptability, reusability, and maintainability of a service system will be enhanced.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 연구에서는 비즈니스 프로세스와 서비스에 능동적인 비즈니스 룰 적용을 위하여 관점 지향 기법을 확장하여 제시한다. 제시한 기법은 비즈니스 프로세스와 서비 스에 포함된 비즈니스 룰을 기능과 분리시킴으로써 기존 방법에 비하여 적용성, 재사용성, 유지보수성을 높일 수있다.
관점 지향 방법은 일반적으로 시스템 도메인의 기능을 중심으로 핵심관심(Core Concern)과 여러 핵심관심에 분포되어있는 공통기능인 횡단관심(Cross Cutting Concern)으로 관심을 분리(Separation of Concern)한다 [5]. 본 연구에서는 서비스 시스템의 적용성, 재사용성, 유지보수성의 향상을 위하여 시스템 도메인에 관심 지향 기법을 적용, 핵심관심과 횡단관심을 반영하여 서비스를 설계한다. 또한 새롭게 제시되는 관심사인 룰관심 (Rule Concern)은 시스템에 포함된 비즈니스 룰 (Business Rule)을 모듈화 한다.
일반적인 비즈니스 프로세스는 다양한 조건들로 서비스들을 오케스트레이션하여 구성되는데 이러한 형식의 BPEL 기술은 다양한 형태의 서비스 룰의 변화에 시간소모적인 작업을 요구한다. 본 연구에서는 이러한 문제를 해결하기 위하여 프로세스 룰관심을 제시한다. 빈번한 룰과 서비스의 변화에 효율적인 대응을 하기 위하여 변화하는 프로세스 룰을 모듈화하여 독립적으로 관리하는 것은 각 서비스들의 효율적인 오케스트레이션을 제공한다.
본 연구에서는 효율적인 서비스 시스템의 개발을 위한 룰 기반의 관점 지향 기법을 제시하였다.
제안 방법
이러한 가변점은 다양한 서비스에 적합한 룰을 선택적으로 수용할수 있는 형태로 미리 코딩되어있거나, 다양한 서비스들의 요구사항에 따라 지속적으로 룰의 변경이 수행되어야 한다. 본 연구에서는 횡단관심에 포함된 가변점, 즉 가변적인 비즈니스 룰을 서비스 룰관심으로 분리한다.
시스템 도메인의 비즈니스 서비스들은 관점 지향 프로그램 관점으로 핵심관심과 횡단관심으로 추출, 모듈화가 수행되며 또한 제시한 룰관심을 통하여 프로세스 룰관심, 서비스 룰관심으로 각각 모듈화를 수행한다. 이러한 핵심관심, 횡단관심, 룰관심들은 AO4BPEL, AspectJ 과 같은 관점 지향 언어와 관점 지향 비즈니스 프로세스 실행 언어의 코드로 구현되어지므로 서비스 분석 시점에서 고려하여야 한다[13].
제시한 기법은 서비스와 비즈니스 프로세스에 비즈니스 룰의 능동적인 적용을 위하여 비즈니스 프로세스에 포함된 비즈니스 룰을 프로세스 기능과 분리시키는 것으 로, 관점 지향 기법을 적용하여 핵심관심, 횡단관심 이외에 시스템 도메인에 포함된 비즈니스 룰을 룰관심이라는 새로운 관심사로 모듈화 하였다.
이론/모형
B2J 엔진이 생성한 자바소스에 새로운 요구사항과 변화되는 룰을 효율적으로 관리하기 위한 관점 지향 프로 그래밍 개념을 추가하기 위하여 AspectJ를 이용한다. 사용자는 BPEL 문서와 Fig.
이를 위하여 프로세스 룰관심은 AO4BPEL, B2J등을 이용하여 구현한다. AO4BPEL은 관점 지향 프로그래밍 (AOP)의 관심(Aspect), 결합점(Joint-Point), 어드바이스 (Advice), 교차점(Point-Cut), 직조(Weaving) 등의 장치를 BPEL의 확장을 통하여 제공한다[8,10].
성능/효과
이러한 시도는 BPEL로 작성되는 웹 서비스 컴포지션 기능에 확장성을 제공한다. BPEL의 서비스 컴포지션 기능을 통하여 구축된 비즈니스 프로세스는 관점 지향 방법에서 제공되는 느슨한 결합도를 통하여 비즈니스 프로세스의 모듈화가 가능하며, 느슨한 결합도는 비즈니스 프로세스 코드의 재사용성을 높일 수 있다. 결과적으로 BPEL의 웹 서비스 오케스트레이션에 모듈 성과 다이나믹한 적용성을 제공한다[7].
Table 2를 통하여 기존 방법과 제시한 방법의 장단점을 비교, 평가하였다. 본 연구에서 제시하는 비즈니스 프로세스기반 룰관심의 분리는 비즈니스 프로세스와 서비 스에 포함된 비즈니스 룰의 계속적인 변화에 적용성 (Adaptability)을 증가시킨다. 프로세스 룰관심은 비즈니스의 변화에 따라 비즈니스 프로세스와 서비스 오케스트 레이션에 변이가 생긴다.
본 연구에서는 비즈니스 프로세스와 서비스에 능동적인 비즈니스 룰 적용을 위하여 관점 지향 기법을 확장하여 제시한다. 제시한 기법은 비즈니스 프로세스와 서비 스에 포함된 비즈니스 룰을 기능과 분리시킴으로써 기존 방법에 비하여 적용성, 재사용성, 유지보수성을 높일 수있다.
후속연구
향후연구로 새로운 관심사인 프로세스 룰관심과 서비스 룰관심을 효율적으로 식별하는 체계적인 식별 방법이 요구되어진다.
질의응답
핵심어
질문
논문에서 추출한 답변
서비스 룰관심은 언제 고려되어지는가?
서비스 룰관심은 서비스 내에 구현되어 비즈니스 기능을 수행하는 룰로 개별 서비스 내에서 기능을 수행하 거나 처리하는 로직에 포함된 룰을 의미한다. 일반적으로 서비스 내에 코드로 내포되어지므로 개별 서비스 설계 시 고려되어진다. 비즈니스 기능과 분리된 비즈니스룰 즉, 룰관심은 서비스 시스템에 효율적인 적용, 재사용및 유지보수를 지원한다.
서비스 지향 아키텍처의 서비스란 무엇인가?
서비스 지향 아키텍처의 서비스는 일반적으로 소프트 웨어로 구현된 비즈니스 함수이며, 비즈니스의 각 기능과 이를 정의하는 비즈니스 룰(Business Rule)들의 모임 이다[1]. 서비스들은 각기 다른 공급자들로부터 다양한 (Heterogeneous) 형태로 제공되며, 이는 BPEL(Business Process Execution Language), BPML(Business Process Modeling Language)과 같은 비즈니스 프로세스 기술언어(Business Process Description Language)를 통하여 서비스들 간의 컨트롤 플로우와 데이터 플로우를 명세하 며, 서비스들 간의 오케스트레이션(Orchestration)을 통하여 비즈니스 프로세스로 결합된다[2].
서비스 지향 아키텍처는 어떤 특성을 가지는가?
이러한 IT시스템과 비즈니스 프로 세스의 변화는 필연적이다. 서비스 지향 아키텍처는 상호운용성, 위치투명성, 프로세스 중심 등의 특성을 가지 는데 이러한 특성은 애플리케이션 개발 시 유연성을 보장하여, 비즈니스 변화에 최대한 민첩하게 대응하도록 지원한다[3].
참고문헌 (15)
Roy W. Schulte Yefim V. Natis, "Service Oriented Architecture," Gartner Group. SSA Research Note SPA-401-068. 1996.
F. Curbera et. al. Business Process Execution Language for Web Services, version 1.1, May 2003
W3C Web Services WG, "Web Services Architecture," http://www.w3.org/TR/2004/NOTE -ws-arch-20040211/.W3C, Working Group Note 11, Feb 2004.
A Charfi and M. Mezini. "Hybrid Web Service Composition: Business Processes Meet Business Rules," In proceedings of the 2nd International Conference on Service Oriented Computing, November 2004
M.A. Cibran and B. Verheecke, "Dynamic Business Rules for Web Service Composition," Proc. of the 2nd Dynamic Aspects Workshop DAW05, March 2005.
M.A. Cibran, M. D'Hondt, and V. Jonckers, "Aspect-Oriented Programming for Connecting Business Rules," Proceedings BIS, 2003.
Chankyu Park et al. "Knowledge-Based AOP Framework for Business Rule Aspects in Business Process," ETRI Journal, Volume 29, Number 4, August 2007 DOI: http://dx.doi.org/10.4218/etrij.07.0106.0145
A. Charfi and M. Mezini, "Aspect Oriented Web Service Composition with AO4BPEL," Proc. of the European Conference on Web Services ECOWS 2004, LNCS 3250.
Jacobson, Ivar, Aspect-oriented software development with use cases, Addison-Wesley, 2005.
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin, "Aspect-Oriented Programming," ECOOP, pp220-242, 1997.
Adam Przybylek, "Where the truth lies: AOP and its impact on software modularity," FASE'11/ETAPS'11, March 2011.
Shaukat Ali, Tao Yue, Lionel C. Briand, "Does aspect-oriented modeling help improve the readability of UML state machines", Software and Systems Modeling (SoSyM) , Volume 13 Issue 3, July 2014.
G. H. Alferez, V. Pelechano, R. Mazo, C. Salinesi, D. Diaz, "Dynamic adaptation of service compositions with variability models", Journal of Systems and Software , Volume 91, May 2014. DOI: http://dx.doi.org/10.1016/j.jss.2013.06.034
Eric Bodden, Eric Tanter, Milton Inostroza, "Join point interfaces for safe and flexible decoupling of aspects", Transactions on Software Engineering and Methodology (TOSEM), Volume 23 Issue 1, February 2014
※ AI-Helper는 부적절한 답변을 할 수 있습니다.