In recent years, numerous studies have attempted to find and explore issues of a web service oriented business process specification such as. In particular, a business rule is one of the important crosscutting concerns to be separated from a business process. In this paper we present a rule-based AOP framework that Process Rule Aspect(PRA) such as business rule aspects contained in business processes can be effectively separated and executed using a mechanism of business rules itself used at rule engines instead of using the existing programming language based AOP technologies. Moreover, we introduce how separated PRAs through an external rule engine can be represented and evaluated through some examples and how it can be dynamically weaved and executed by providing an implementation example which uses two open source based products. It is difficult to implement inherent characteristics of business rules and to adapt to changes of business process at hard-coded process because mostly they are implemented at the programming language level. However the proposed approach enables business processes to adapt dynamic changes without stopping runtime processes and to provide a better management capability by reason of using business rule technology having high level representation methods.
웹서비스 기반의 비즈니스 프로세스가 빠르게 변화하는 비즈니스 환경에 동적 적응하기 위한 기술의 개발이나 적용은 여러 분야에서 시도되고 있다. 특히 비즈니스 규칙은 AOP분야에서 비즈니스 프로세스로부터 분리되어 할 중요한 크로스컷 관계들중에 하나이다. 이 논문에서는 기존의 프로그래밍 언어 기반의 AOP 프레임웍을 이용하지 않고 추론엔진에서 사용되는 비즈니스 규칙 자체의 메커니즘을 이용하여 BPEL 비즈니스 프로세스에 섞여 있는 프로세스 규칙 에스펙트들은 효과적으로 분리하여 실행할 수 있는 규칙기반 AOP 프레임 웍(RBAOP)을 제시하였다. 또한 분리된 프로세스 규칙 에스펙트들이 외부의 규칙엔진을 이용하여 어떻게 표현되고 실행되는지를 예제를 통해 제시하였고 실제 BPEL 엔진과 결합하여 프로세스 규칙 에스펙트가 어떻게 동적으로 위빙되고 실행 될 수 있는지를 실제 오픈소스 기반의 엔진들을 이용한 구현 사례를 제시하였다. 대부분 비즈니스 규칙들을 프로그래밍 레벨에서 구현함으로써 비즈니스 규칙들의 고유한 특성을 구현하기 힘들었고 변화에 따른 동적 적응이 프로그래밍 레벨에서는 어려웠지만 보다 상위레벨의 비즈니스 규칙 자체를 이용하므로 런타임 프로세스를 중단하지 않고도 동적으로 변화에 적응할 수 있으며 분리된 규칙의 사용으로 규칙 자체의 변화와 관리에 있어서 비즈니스 프로세스에 유연성을 높여줄 수 있는 장점들이 있다."