DOI QR코드

DOI QR Code

BPEL Engine Generator for adding New Functions to BPEL based on Attribute Grammar and Aspect-Oriented Programming

속성문법과 관점지향 프로그래밍 기법을 이용한 BPEL에 새로운 기능을 추가하는 BPEL 엔진 생성기

  • 곽동규 (숭실대학교 컴퓨터학부) ;
  • 김종호 (숭실대학교 IT유통물류학과) ;
  • 최재영 (숭실대학교 컴퓨터학부)
  • Received : 2014.12.04
  • Accepted : 2015.03.02
  • Published : 2015.05.31

Abstract

BPEL is used in various domains since it can describe the flow of works according to conditions and rules, and it can call web services in service-oriented computing environments. However, new functions that are not provided by BPEL grammar are required in specific domains. Generally, when new functions are required, the domain-specific language should be newly defined and developed, which requires high development cost. In this regard, a new function needs to be defined and added instead of developing domain-specific language with the new functions added. However, such methods only allow an addition of a single function, and it is difficult to design and add new functions according to the needs. This paper defines XAS4B document, which extends the BPEL grammar function through XML schema in order to add new functions, and proposes BPEL engine generator that generates BPEL engine with the new functions added by processing the document. The XAS4B document enables the creation of a new grammar added to BPEL using XML schema. It also shows the process of adding new functions to BPEL engine using AspectJ, JAVA implementation of aspect-oriented programming. The proposed system can add new functions using AspectJ without modifying BPEL engine. This allows the provision of new functions at low cost in various domains.

BPEL은 서비스 지향 컴퓨팅 환경에서 조건에 따른 작업의 흐름과 웹 서비스의 호출을 기술할 수 있어 다양한 도메인에서 사용되고 있다. 하지만 특정 도메인에서는 BPEL 문법에 없는 새로운 기능이 요구된다. 일반적으로 기존 언어에 없는 새로운 기능을 추가한 경우에 도메인 특화 언어를 새롭게 정의하고 개발해야 하는데, 이를 위해서는 많은 개발 비용이 소요된다. 따라서 새로운 기능이 추가된 도메인 특화언어를 개발하는 대신에 새로운 기능을 추가하여 사용해야 한다. 그러나 이 방법들은 단일 기능을 추가할 수 있을 뿐이고, 필요에 따라 새로운 기능을 설계하고 추가하기 어렵다. 본 논문에서는 필요에 따라 새로운 기능을 추가하기 위해 XML 스키마를 통해 BPEL의 문법적 기능을 확장할 수 있는 XAS4B 문서를 정의하고, 이 문서를 처리하여 기능이 추가된 BPEL 엔진을 생성하는 BPEL 엔진 생성기를 제안한다. XAS4B 문서는 BPEL에 추가되는 문법을 XML 스키마로 작성하고 추가된 문법의 기능을 JAVA 프로그램으로 작성할 수 있도록 한다. 그리고 추가된 기능을 관점지향 프로그래밍의 JAVA 구현체인 AspectJ를 이용하여 새로운 기능의 처리 모듈을 BPEL 엔진에 추가하는 방법을 보인다. 제안하는 시스템은 AspectJ를 이용하여 BPEL 엔진을 수정하지 않고 새로운 기능을 추가할 수 있으며, 요구되는 새로운 기능에 대해 동일한 방법을 사용하여 손쉽게 추가할 수 있으므로, 다양한 분야에서 적은 비용으로 새로운 기능을 제공할 수 있다.

Keywords

References

  1. BPEL [Internet], http://www-128.ibm.com/developerworks/library/specification/library/specification/ws-bpel/
  2. Drools [Internet], http://www.jboss.org/drools/
  3. Donggyu Kwak, Jaeyoung Choi, "Design and Implementation of a BPEL Engine for Dynamic Function using Aspect- Oriented Programming (in Korean)," Journal of Korean Institute of Information Scientists and Engineers, Vol.37, No.4, pp.205-214, Aug., 2010.
  4. B2J [Internet], http://www.eclipse.org/stp/b2j/
  5. GregorKiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin, "Aspect-Oriented Programming," ECOOP, pp.220-242, 1997.
  6. Eclipse AspectJ [Internet], http://www.eclipse.org/aspectj/
  7. Comsky Noam, "Syntactic Structures," Feb., 1957.
  8. Donald Ervin Knuth, "The Genesis of Attribute Grammars," Proceedings of international conference on Attribute grammars and applications, Vol.461, pp.1-12, 1990.
  9. John Levine, Tony Mason, and Doug Brown, "lex&yacc," 1992.
  10. F. Rosenberg, S. Dustdar, "Business Rules Integration in BPEL-A Service-Oriented Approach," In Proceedings of the 7th International IEEE Conference on E-Commerce Technology (CEC 2005), 2005.
  11. AnisCharfi, Mira Mezini, "Aspect-Oriented Web Service Composition with AO4BPEL," Lecture Notes In Computer Science 2004, Vol.3250, pp.168-182, 2004.
  12. Balazs Simon, Balazs Goldschmidt, and KarolyKondorosi, "A Human Readable Platform Independent Domain Specific Language for BPEL," Communications in Computer and Information Science, Vol.87, pp.537-544, 2010. https://doi.org/10.1007/978-3-642-14292-5_55
  13. AbdaladhemAlbreshne, AyoubAitLahcen, and Jacques Pasquier, "A Framework and its Associated Process- Oriented Domain Specific Language for Managing Smart Residential Environments," International Journal of Smart Home, Vol.7, No.6, pp.377-392, 2013.
  14. Donggyu Kwak, Jaeyoung Choi, and Chae-Woo Yoo, "Rulebased BPEL System using Aspect Oriented Programming," Journal of Korea Institute of Scientists and Engineers, Vol. 39, No.2, pp.153-161, Feb., 2012.
  15. F. Rosenberg, S. Dustdar, "Business Rules Integration in BPEL-A Service-Oriented Approach," In Proceedings of the 7th International IEEE Conference on E-Commerce Technology (CEC 2005), 2005.