DOI QR코드

DOI QR Code

관점지향 프로그래밍 기법을 이용한 BPEL 기능 추가를 위한 XAS4B 엔진 설계

A Design of XAS4B for Adding Function in BPEL using Aspect-Oriented Programming

  • Kwak, Donggyu (School of Computer Science and Engineering, Soongsil University) ;
  • Choi, Jaeyoung (School of Computer Science and Engineering, Soongsil University)
  • 투고 : 2013.11.19
  • 심사 : 2013.12.10
  • 발행 : 2013.12.30

초록

워크플로우의 표준인 BPEL은 프로그래밍 언어에 대한 이해도가 낮은 도메인 전문가도 손쉽게 비즈니스 흐름을 작성할 수 있다. 하지만 특정 도메인에서는 BPEL 문법에 없는 새로운 기능이 요구된다. BPEL 엔진이 새로운 기능을 처리하기 위해서는 새로운 BPEL 엔진을 개발하거나 기존의 BPEL 엔진에 기능을 추가해야 하는데 이는 비용이 많이 필요하다. 본 논문에서는 XML 스키마를 확장하여 XAS4B 문서를 제안하고 관점지향 프로그래밍 기법을 이용하여 BPEL 엔진에 새로운 기능을 추가하는 방법을 보인다. 관점지향 프로그래밍 기법은 직조를 이용하여 핵심관심사의 수정없이 횡단관심사를 추가할 수 있다. 본 연구에서는 기존의 BPEL 엔진으로 B2J (BPEL to JAVA)를 사용하는데 이 엔진은 BPEL 문서를 JAVA 프로그램으로 변환하고 이를 실행한다. 본 시스템은 B2J 엔진이 생성한 JAVA 프로그램을 핵심관심사로 새로운 기능을 처리하는 프로그램을 횡단관심사로 두 프로그램을 직조하여 BPEL 흐름에 새로운 기능의 흐름을 추가한다. 제안하는 방법은 BPEL의 새로운 기능을 추상적으로 제공하여 한 번 개발된 새로운 기능을 도메인 전문가가 재사용하기 손쉽다.

The BPEL is standard of workflow. A domain experts not familiar with programming languages and he can write workflow. But he need new function without BPEL. We must develop or modify a BPEL engine for new functions. This method is expensive. In this paper, We propose the XAS4B documents that extend the XML schema. And We describe method that can process new function in BPEL using Aspect-Oriented Programming. AOP can cross-cut concern adding to core concern using weaving without modification. We use an existing B2J (BPEL to JAVA) engine that is transfer a BPEL's document to a JAVA program and B2J execute a JAVA program. This system adding new functions to BPEL's flow using AOP. In this system, A JAVA program is core concern and a program of new function is cross-cut concern. And this system weave a JAVA program made in B2J and a program of new function. This method provide abstract grammar for new functions. And domain experts can easily write new function is a BPEL Document and reuse new function using abstract grammar.

키워드

참고문헌

  1. BPEL, http://www-128.ibm.com/developerworks/library/specification/ws-bpel/.
  2. OASIS, http://www.oasis-open.org.
  3. BPEL Designer, http://www.eclipse.org/bpel/.
  4. Drools, http://www.jboss.org/drools/.
  5. Donggyu Kwak, Jaeyoung Choi, "Design and Implementation of a BPEL Engine for Dynamic Function using Aspect-Oriented Programming" Journal of Korean Institute of Information Scientists and Engineers Vol.37 No.4, pp.205-214, Aug. 2010.
  6. Donggyu Kwak, Jaeyoung Choi, Chae-woo Yoo, "Rule based BPEL System using Aspect-Oriented Programming", Journal of Korean Institute of Information Scientists and Engineers Vol.39 No.2, pp.153-161, Feb. 2012.
  7. XML Path Language, "http://www.w3.org/TR/xpath/".
  8. B2J, http://www.eclipse.org/stp/b2j/
  9. Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier and John Irwin, "Aspect-Oriented Programming", ECOOP , pp. 220 - 242, 1997.
  10. AspectJ, http://www.eclipse.org/aspectj/
  11. XML Schema, http://www.w3.org/TR/xmlschema-1.
  12. Jong-Myung Choi, Ho-Byung Park, "An SML Compiler Generator Using Attribute Grammar and XMLSchema", Journal of Korean Institute of Information Scientists and Engineers Vol.33 No.9, pp.810-821, Jun. 2006.