KR101258944B1 - 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치 - Google Patents

구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치 Download PDF

Info

Publication number
KR101258944B1
KR101258944B1 KR1020100075654A KR20100075654A KR101258944B1 KR 101258944 B1 KR101258944 B1 KR 101258944B1 KR 1020100075654 A KR1020100075654 A KR 1020100075654A KR 20100075654 A KR20100075654 A KR 20100075654A KR 101258944 B1 KR101258944 B1 KR 101258944B1
Authority
KR
South Korea
Prior art keywords
business logic
business
activity
generating
detailed
Prior art date
Application number
KR1020100075654A
Other languages
English (en)
Other versions
KR20120013593A (ko
Inventor
이지현
허성진
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020100075654A priority Critical patent/KR101258944B1/ko
Publication of KR20120013593A publication Critical patent/KR20120013593A/ko
Application granted granted Critical
Publication of KR101258944B1 publication Critical patent/KR101258944B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 실시 예에 따른 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법은 비즈니스 프로세스를 정의하는 단계와, 비즈니스 프로세스 내 기업의 요구 사항에 따라 변경 및 호출되는 가변 부분에 대한 상세 비즈니스 로직을 반복 정의하는 단계와, 상세 비즈로직을 호출하는 코드 베이스와 사용자 인터페이스를 설정하는 단계와, 정의된 상세 비즈니스 로직을 호출하는 클라이언트에 따라 각기 다르게 동작할 수 있도록 상세 비즈니스 로직에 대한 동적 실행 규칙을 생성하는 단계와, 동적 실행 규칙을 상세 비즈니스 로직에 적용하는 단계를 포함한다.
이와 같이, 본 발명은 기업의 요구 사항에 따라 변경 및 호출되는 가변 부분이 클라이언트에 따라 각기 다르게 동작할 수 있는 동적 실행 규칙이 적용하여 비즈니스 로직을 생성함으로써, 상위 수준에서 정의된 비즈니스 프로세스를 토대로 여러 클라이언트 회사에 맞춤화된 비즈니스 로직이 포함된 소프트웨어를 개발할 수 있는 효과가 있다.

Description

구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치{METHOD AND APPARATUS FOR DEVELOPING BUSINESS LOGICS FOR CONFIGURABLE APPLICATIONS}
본 발명은 비즈니스 로직 생성에 관한 것으로, 더욱 상세하게는 상위 수준에서 정의된 비즈니스 프로세스를 토대로 여러 클라이언트 회사에 맞춤화된 비즈니스 로직을 생성할 수 있는 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치에 관한 것이다.
본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:2009-S-033-01, 과제명: 중소기업 SW 서비스를 위한 SaaS 플랫폼 개발].
소프트웨어를 웹 상에서 사용할 만큼 빌려 쓰고 비용을 지불하는 개념인 서비스로서의 소프트웨어(Software as a Service, 이하, 'SaaS'라고 한다.) 분야에서 비즈니스 로직(workfolw)은 비즈니스 업무 소프트웨어를 빌려 쓰는 클라이언트 회사가 자사의 요구 사항에 맞게 직접 구성 변경 가능(configurable)하는 것이 보다 빠르고 정확하게 자사 업무를 구성 변경할 수 있는 기에 중요하다. 클라이언트 회사가 자사에 알맞은 업무 로직을 비즈니스 로직으로 표현할 수 있다면 자동화된 업무 처리를 자체 맞춤 소프트웨어를 통해 수행할 수 있을 것이다.
이는 SaaS 어플리케이션을 웹 상에서 제공하는 서비스 제공자 측면에서 보다 유용하다. 왜냐하면, 특허 업무 참여자들의 검토나 승인을 포함한 특화된 업무를 회사 별로 처리하기 위해서는 비즈니스 로직을 정의하고, 정의된 비즈니스 로직을 공통 코드를 사용하는 소프트웨어에서 재사용할 수 있다면, 첫째 서비스 제공자는 동시에 동적으로 다른 클라이언트 회사에 이러한 전체 소프트웨어를 개발 비용의 증가 없이 제공할 수 있고, 둘째 각 클라이언트 회사는 자사의 업무를 처리하는 로직을 확장성 있게 변경할 수 있는 구성 변경성을 갖게 되기 때문에다.
이런 이유로, 관련 분야에서는 구성 변경이 가능한 비즈니스 로직을 개발하기 위해서 많은 연구가 이루어지고 있다.
본 발명은 상기와 같은 연구 결과 안출된 것으로서, 상위 수준에서 정의된 비즈니스 프로세스를 토대로 여러 클라이언트 회사에 맞춤화된 비즈니스 로직을 생성할 수 있는 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법을 제공하는데 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 본 발명의 실시 예에 따른 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법은 비즈니스 프로세스 편집부에서 비즈니스 로직의 조합, 서브 프로세스 또는 기 정의된 프로세스 정의 정보인 액티비티를 이용하여 비즈니스 프로세스를 생성하는 단계와, 가변 액티비티 편집부가 상기 비즈니스 프로세스에서 기업의 요구 사항에 따라 변경 또는 호출되는 액티비티 부분을 추출한 후 이를 이용하여 기업별 액티비티 단위의 상세 비즈니스 로직을 생성하는 단계와, 비즈니스 로직 설정부에서 상기 상세 비즈니스 로직이 임의의 이벤트에 따라 트리거될 수 있게 규칙을 생성하고, 상기 생성된 규칙에 따라 호출되는 코드 베이스와 사용자 인터페이스를 생성하는 단계와, 상기 비즈니스 로직 설정부에서 상기 상세 비즈니스 로직을 호출하는 클라이언트에 따라 각기 다르게 동작할 수 있도록 상기 상세 비즈니스 로직에 대한 동적 실행 규칙을 생성하는 단계와, 상기 비즈니스 로직 설정부에서 상기 동적 실행 규칙을 상기 상세 비즈니스 로직에 적용하는 단계를 포함한다.
본 발명의 다른 측면에 따르면, 본 발명의 실시 예에 따른 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 장치는 비즈니스 프로세스의 메타 데이터가 저장되어 있는 저장부와, 상기 저장부에 저장된 메타 데이터를 이용하여 적어도 하나 이상의 액티비티들을 포함하는 적어도 하나 이상의 서브 프로세스 또는 비즈니스 로직의 조합 또는 기 정의된 프로세스 정의 정보인 액티비티를 이용하여 비즈니스 프로세스를 생성하는 비즈니스 프로세스 편집부와, 상기 비즈니스 프로세스에서 기업의 요구 사항에 따라 변경 또는 호출되는 액티비티 부분에 대한 상세 비즈니스 로직을 생성하는 가변 액티비티 편집부와, 상기 상세 비즈니스 로직이 임의의 이벤트에 따라 트리거될 수 있게 규칙을 생성하고, 상기 생성된 규칙에 따라 호출되는 코드 베이스와 사용자 인터페이스를 생성하며, 상기 상세 비즈니스 로직을 호출하는 클라이언트에 따라 각기 다르게 동작할 수 있도록 하는 동적 실행 규칙을 생성하며, 상기 동작 실행 규칙을 상기 상세 비즈니스 로직에 적용하는 비즈니스 로직 설정부를 포함할 수 있다.
삭제
삭제
본 발명은 기업의 요구 사항에 따라 변경 및 호출되는 가변 부분이 클라이언트에 따라 각기 다르게 동작할 수 있는 동적 실행 규칙을 적용하여 비즈니스 로직을 생성함으로써, 상위 수준에서 정의된 비즈니스 프로세스를 토대로 여러 클라이언트 회사에 맞춤화된 비즈니스 로직이 포함된 소프트웨어를 개발할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 장치를 도시한 블록도이며,
도 2는 본 발명에 적용되는 메타 데이터의 모델 구조를 도시한 도면이며,
도 3은 비즈니스 프로세스 정의와 런타임에 동작하는 데이터베이스 인스턴스와의 관계를 도시한 도면이며,
도 4a 내지 도 4d는 클라이언트 회사로 특화된 비즈니스 액티비티의 교체 예를 설명하기 위한 예시도이며,
도 5는 본 발명의 실시 예에 따른 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 과정을 도시한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인터페이스들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인터페이스들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 메타 데이터베이스에 저장될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 메타 데이터베이스를 통해 수행되는 그 인터페이스들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인터페이스들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 메타 데이터베이스를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가상 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가상 메모리에 저장된 인터페이스들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인터페이스 수단을 내포하는 소프트웨어 서비스를 생산하는 것도 가능하다. 컴퓨터 프로그램 인터페이스들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인터페이스들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인터페이스들을 요구하거나 인터페이스들에 응답하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 발명의 실시 예에서는 기업의 요구 사항에 따라 변경 및 호출되는 가변 부분이 클라이언트에 따라 각기 다르게 동작할 수 있는 동적 실행 규칙을 적용하여 비즈니스 로직을 생성할 수 있는 장치 및 방법에 대해 설명한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 장치를 도시한 블록도이다.
도 1을 참조하면, 비즈니스 로직 생성 장치는 저장부(100), 비즈니 프로세스 편집부(110), 가변 액티비티 편집부(120), 조직 룰 리트리버(130), 비즈니스 로직 설정부(10), 어플리케이션 저장소(140), 비즈니스 로직 설정부(150), 설정 저장소(160) 및 비즈니스 로직 검증부(170)를 포함한다.
저장부(100)는 비즈니스 프로세스의 메타 데이터가 저장되어 있는 메타 데이터 저장소(102), 기 정의된 비지니즈 프로세스, 비즈니스 로직, 서브 프로세스, 액티비티 등이 저장되어 있는 프로세스 정보 저장소(104) 및 비즈니스 로직 식별자, 사용자 인터페이스(UI :User Interface, 이하 'UI'라고 한다.) 화면을 구성하는 단위 UI 객체에 대한 식별자 등의 정보가 저장된 UI 컴포넌트 저장소(106)를 포함하고 있다.
비즈니스 프로세스 편집부(110)는 비즈니스 프로세스를 정의하기 위한 인터페이스를 제공하며, 인터페이스를 통해 입력 또는 선택된 정보를 토대로 비즈니스 프로세스를 정의한다. 비즈니스 프로세스의 생성 방법으로는 프로세스 정보 저장소(104)에 저장된 정보를 기 정의된 비즈니스 프로세스, 비즈니스 로직의 조합, 서브 프로세스, 액티비티 등을 이용, 즉 기존의 기 정의된 정보를 이용하여 생성하거나, 메타 데이터 저장소(102)에 저장된 메타 데이터를 이용하여 새로운 비즈니스 프로세스를 정의하여 생성할 수 있다. 이렇게 생성된 비즈니스 프로세스는 가변 액티비티 편집부(120)에 제공된다.
이와 같이 정의된 비즈니스 프로세스는 다수의 서브 프로세스로 구성되며, 각 서브 프로세스는 다수의 액티비티들을 포함할 수 있다.
가변 액티비티 편집부(120)는 비즈니스 프로세스의 각 구성에서 어떤 액티비티를 가변시킬 것인지를 편집할 수 있는 인터페이스를 제공하며, 인터페이스를 통해 가변될 부분의 액티비티를 재조정하거나 프로세스 정보 저장소(104)에 저장된 정보를 이용하여 액티비티를 추가하거나 재조정할 수 있다.
한편, 가변 액티비티 편집부(120)는 조직 룰 리트리버(130)에 저장된 구성원, 역할, 자원 등의 정보를 토대로 액티비티 단위의 세부 비즈니스 로직을 정의할 수 있다.
이와 같이, 액티비티 단위로 비즈니스 로직의 정의함으로써, 기업별로 가변적인 비즈니스 로직 개발이 비즈니스 어플리케이션 전체 구조에 영향을 주는 것을 피할 수 있다.
가변 액티비티 편집부(120)에 의해 생성된 가변 액티비티를 포함하는 비즈니스 로직은 하나의 어플리케이션으로 어플리케이션 저장소(140)에 제공되어 저장되거나 비즈니스 로직 설정부(150)에 제공될 수 있다.
비즈니스 로직 설정부(150)는 비즈니스 로직이 기업 식별자에 대한 정보를 갖고 기능을 실행할 수 있도록 특정 이벤트에 따라 트리거되는 규칙을 생성한 후 생성된 규칙을 비즈니스 로직에 설정하고, UI 컴포넌트 저장소(106)를 참조하여 설정된 비즈니스 로직에 적용될 공통 코드 베이스, UI에 대한 정보를 인출한 후 이를 비즈니스 로직에 적용함으로써, 비즈니스 로직에 구성을 설정한다. 여기에서, 구성에 대한 정보는 설정 저장소(160)에 저장되거나 비즈니스 로직 검증부(170)에 제공된다.
비즈니스 로직 검증부(170)는 비즈니스 로직 설정부(150)에서 구성 설정이 완료된 비즈니스 로직의 기능을 확인하기 위한 것으로, 구현 코드 내에서 호출되는 과정을 수행시켜 실행된 결과를 조회하는 방법으로 비즈니스 로직에 대한 검증을 수행한다. 검증이 완료된 비즈니스 로직은 하나의 어플리케이션으로 어플리케이션 저장소(140)에 저장될 수 있다.
본 발명의 실시 예에서 비즈니스 프로세스를 정의할 때 이용되는 메타데이터의 구조는 도 2에 도시된 바와 같다.
도 2는 본 발명의 실시 예에 적용되는 메타데이터 모델의 구조를 도시한 도면이다.
도 2에 도시된 바와 같이, 구성 가능한 워크플로우 메타모델(200)은 정적인 구성 요소로 워크플로우의 정의에 공통적으로 사용하는 공통 부분(220)과 특정 테넌트마다 변경되어야 하는 변경 부분(230)으로 구성된 초기 비즈니스 프로세스 메타데이터(210)를 포함한다. 여기에서, 공통 부분(220)은 변경이 없는 부분이다.
공통 부분(220)은 테넌트마다 변경되어야 하는 변경 부분(230)과 결합함으로써, 테넌트마다 특정 도메인에서 사용되는 비즈니스 로직을 차별화시켜 제공할 수 있다.
한편, 변경 부분(210)은 어플리케이션 수준의 가변 부분(230) 및 프로세스 수준의 가변 부분(240)으로 나눠진다. 어플리케이션 수준의 가변 부분(230)은 테넌트마다 다른 비즈니스 로직 표기 부분이 있다. 예를 들어 호출하고자 하는 자바 클래스와 같은 특정 어플리케이션이 어떤 비즈니스 로직을 수행함에 있어 다른가를 표기할 수 있다면, 어플리케이션 수준의 가변 부분(230)은 이러한 부분을 표기하는데 사용될 수 있다. 이러한 어플리케이션 호출 부분에서의 차이점은 웹 서비스로 호출될 수 있는 부분이나 직접 구현해야하는 어플리케이션 수준의 가변 부분에 대해 표기됨을 의미한다. 즉, 어플리케이션 수준의 가변 부분(240)은 자바클래스와 같은 어플리케이션 가변 부분(260), 웹 서비스 플로우와 같은 웹 서비스 부분에서 가변 부분(270), 구현 레벨에서의 가변 부분(280)으로 나눠진다.
상기와 같이 비즈니스 프로세스를 정의한 메타모델에 호환되는 비즈니스 프로세스를 정의하는 방법에 대해 도 3을 참조하여 설명한다.
도 3은 본 발명의 실시 예에 따른 메타 데이터 저장소(102)에 저장된 메타 모델을 토대로 비즈니스 프로세스를 정의하는 방법을 설명하기 위한 도면이다.
도 3에 도시된 바와 같이, 비즈니스 프로세스는 비즈니스 프로세스 메타 모델(300)을 따르는 비즈니스 프로세스 명세를 돕는 함수 집합, 예컨대 인터페이스1(310)에 따라 정의된다. 즉, 인터페이스1(310)을 이용하여 비즈니스 프로세스 메타모델(300) 내 데이터를 호출하여 다양한 비즈니스 프로세스(311, 312)를 정의할 수 있다.
정의된 비즈니스 프로세스에서 구현 코드(320)가 호출될 수 있는데, 이는 비즈니스 프로세스에서 구현 코드를 호출할 수 있는 함수 집합인 인터페이스2(321)에 따른다. 여기서, 구현 코드(320)라 함은 웹 서비스로 구현된 비즈니스 프로세스, 구현 언어로 개발된 어플리케이션 코드, 어플리케이션 코드 함수 등 특정 구현 언어를 사용하여 개발된 객체를 의미한다. 비즈니스 프로세스 정의에서 구현 코드 호출은 언제 어떻게 호출되는지에 대한 규칙과 비즈니스 프로세스가 파일로 직렬화(serialize)되어 있는 데이터베이스(330) 내에 인스턴스로 저장되어 있는 두 가지의 형태로 존재할 수 있다.
데이터베이스(330)에 저장된 인스턴스는 데이터베이스 내에 저장된 데이터를 인출, 삽입, 삭제 또는 변경할 수 있도록 작성된 기능 함수 집합인 인터페이스3(331)에 의해 호출될 수 있다.
상기와 같은 과정을 통해 생성된 각기 다른 비즈니스 프로세스를 사용하는 클라이언트 회사에 특화된 비즈니스 액티비티를 교체하는 과정에 대해 도 4를 참조하여 설명한다.
도 4는 본 발명의 실시 예에 따른 비즈니스 액티비티 교체 과정을 설명하기 위한 도면이다.
도 4a에 도시된 바와 같이, 액티비티는 입력 결합 부분(410), 구성들(step 1, 2, 3, 4)로 이루어진 바디 부분(411) 및 전이 분리 부분(420)으로 구성되며, 입력 결합 부분(410) 및 구성들(step 1, 2, 3, 4)로 이루어진 바디 부분(411)은 액티비티의 특정 입력(400)을 통해 구성될 수 있다.
한편, 전이 분리 부분(420)에서 결정된 전이 정보에 따라 액티비티의 활동이 출력(430)으로 나오게 된다.
이러한 구성을 갖는 액티비티의 바디 부분(420)에는 테넌트별 변환을 위한 또 다른 기능이 정의될 수 있다. 즉, 액티비티의 바디 부분(420)에 각기 다른 정보가 정의된 후 런타임에 수행될 때 호출되어야 하는 액티비티 정의를 변경해 가면서 액티비티의 바디 부분(320)에 대한 또 다른 기능을 정의할 수 있다. 각기 다르게 정의된 액티비티 정의의 후보들이 정의 내용을 달리하면, 도 4b 내지 도 4d에 도시된 바와 같으며, 이를 통해 기존의 액티비티를 이용하여 기업마다 일정 부분이 변경 처리된 비즈니스 로직을 개발할 수 있다.
상기와 같은 비즈니스 로직 개발 장치가 비즈니스 로직을 생성 및 설정하는 과정에 대해 도 5를 참조하여 설명한다.
도 5는 본 발명의 실시 예에 따른 비즈니스 로직 개발 장치가 비즈니스 로직을 생성 및 설정하는 과정을 도시한 흐름도이다.
도 5에 도시된 바와 같이, 비즈니스 프로세스 편집부(110)는 프로세스 정의 정보 저장소(104)에 새로운 비즈니스 프로세스 정의를 위한 기존의 비즈니스 프로세스가 존재하는지를 판단한다(S500).
S500의 판단 결과, 기존의 비즈니스 프로세스가 존재하는 경우 비즈니스 프로세스 편집부(110)는 프로세스 정의 정보 저장소(104)에서 특정 비즈니스 프로세스를 선택(S502)하고, 그렇지 않을 경우 메타데이터 저장소(102)에 저장된 메타 데이터를 이용하여 새로운 비즈니스 프로세스를 정의한다(S504). 선택되거나 새롭게 정의된 비즈니스 프로세스 템플릿은 기존에 존재하는 공통적이고 정적으로 변함없이 반복되어 사용되는 부분과 동적으로 변경되어 호출되는 부분인 가변 부분으로 구성될 수 있다.
그런 다음, 가변 액티비티 편집부(120)는 기업의 요구 사항에 따라 변경되어 정의되고 호출되어야 하는 부분인 가변 부분에 대한 상세 비즈니스 로직을 정의한다(S506).
S506에서 상세 비즈니스 로직에 대한 정의가 완료되면, 정의 완료된 상세 비즈니스 로직은 비즈니스 로직 설정부(150)에 제공된다.
비즈니스 로직 설정부(150)는 비즈니스 프로세스가 상세하게 정의된 조건에 만족하며 실행할 수 있는 형태로 정의하기 위해 동적 실행 규칙을 생성한 후 이를 비즈니스 로직에 적용한다(S508). 규칙이 적용된 비즈니스 프로세스는 비즈니스 로직 검증부(170)에 제공된다. 여기서, 동적 실행 규칙은 비즈니스 로직이 호출하는 클라이언트마다 각기 다르게 동작할 수 있도록 하는 규칙이다.
비즈니스 로직 검증부(170)는 생성된 비즈니스 로직을 실행시켜 해당 결과를 토대로 검증 과정을 거친다(S510).
이와 같이, 검증 과정을 거친 비즈니스 로직으로 이루어진 비즈니스 프로세스는 다른 비즈니스 프로세스에서 참조될 수 있도록 또는 현재 비즈니스 프로세스의 수행에 있어 기업에 따라 변경될 수 있도록 어플리케이션 저장소(140)에 저장된다. 저장되는 비즈니스 프로세스의 정보는 테넌트 ID, 페이지 ID, UI 오브젝트 ID의 형태로 수정되며 규칙으로 생성된 비즈니스 로직은 특정 워크클로우 엔진이나 규칙 엔진에 따라 동작한다. 그리고 정의된 비즈니스 로직 정의는 이 비즈니스 로직의 수행을 담당할 UI의 특정 객체에 연결되어 호출된다.
본 발명의 실시 예에 따르면, 기업의 요구 사항에 따라 변경 및 호출되는 가변 부분이 클라이언트에 따라 각기 다르게 동작할 수 있는 동적 실행 규칙이 적용하여 비즈니스 로직을 생성함으로써, 상위 수준에서 정의된 비즈니스 프로세스를 토대로 여러 클라이언트 회사에 맞춤화된 비즈니스 로직이 포함된 소프트웨어를 개발할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어 당업자는 각 구성요소의 재질, 크기 등을 적용 분야에 따라 변경하거나, 개시된 실시형태들을 조합 또는 치환하여 본 발명의 실시예에 명확하게 개시되지 않은 형태로 실시할 수 있으나, 이 역시 본 발명의 범위를 벗어나지 않는 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것으로 한정적인 것으로 이해해서는 안 되며, 이러한 변형된 실시예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.
100 : 저장부 110 : 비즈니스 프로세스 편집부
120 : 가변 액티비티 편집부 130 : 조직 룰 리트리버
140 : 어플리케이션 저장소 150 : 비즈니스 로직 설정부
160 : 설정 저장소 170 : 비즈니스 로직 검증부

Claims (10)

  1. 비즈니스 프로세스 편집부에서 비즈니스 로직의 조합, 서브 프로세스 또는 기 정의된 프로세스 정의 정보인 액티비티를 이용하여 비즈니스 프로세스를 생성하는 단계와,
    가변 액티비티 편집부가 상기 비즈니스 프로세스에서 기업의 요구 사항에 따라 변경 또는 호출되는 액티비티 부분을 추출한 후 이를 이용하여 기업별 액티비티 단위의 상세 비즈니스 로직을 생성하는 단계와,
    비즈니스 로직 설정부에서 상기 상세 비즈니스 로직이 임의의 이벤트에 따라 트리거될 수 있게 규칙을 생성하고, 상기 생성된 규칙에 따라 호출되는 코드 베이스와 사용자 인터페이스를 생성하는 단계와,
    상기 비즈니스 로직 설정부에서 상기 상세 비즈니스 로직을 호출하는 클라이언트에 따라 각기 다르게 동작할 수 있도록 상기 상세 비즈니스 로직에 대한 동적 실행 규칙을 생성하는 단계와,
    상기 비즈니스 로직 설정부에서 상기 동적 실행 규칙을 상기 상세 비즈니스 로직에 적용하는 단계를 포함하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법.
  2. 제 1 항에 있어서,
    상기 비즈니스 프로세스를 생성하는 단계는,
    기 저장된 메타모델 내 데이터를 호출하여 상기 비즈니스 프로세스를 생성하는 것을 특징으로 하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법.
  3. 제 1 항에 있어서,
    상기 상세 비즈니스 로직을 생성하는 단계는,
    구성원, 역할 또는 자원에 대한 정보를 기반으로 액티비티 단위의 상기 상세 비즈니스 로직을 생성하는 것을 특징으로 하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법.
  4. 제 1 항에 있어서,
    상기 비즈니스 프로세스를 생성하는 단계는, 기 저장되어 있는 메타 데이터를 이용하여 적어도 하나 이상의 액티비티들을 포함하는 적어도 하나 이상의 서브 프로세스로 이루어진 상기 비즈니스 프로세스를 생성하는 것을 특징으로 하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법.
  5. 제 4 항에 있어서,
    상기 비즈니스 프로세스 내 액티비티는, 입력 결합 부분, 기능 변경이 가능한 바디 부분 및 상기 액티비티의 활동을 출력하기 위한 전이 정보가 설정된 전이 분리 부분으로 구성되는 것을 특징으로 하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법.
  6. 비즈니스 프로세스의 메타 데이터가 저장되어 있는 저장부와,
    상기 저장부에 저장된 메타 데이터를 이용하여 적어도 하나 이상의 액티비티들을 포함하는 적어도 하나 이상의 서브 프로세스 또는 비즈니스 로직의 조합 또는 기 정의된 프로세스 정의 정보인 액티비티를 이용하여 비즈니스 프로세스를 생성하는 비즈니스 프로세스 편집부와,
    상기 비즈니스 프로세스에서 기업의 요구 사항에 따라 변경 또는 호출되는 액티비티 부분에 대한 상세 비즈니스 로직을 생성하는 가변 액티비티 편집부와,
    상기 상세 비즈니스 로직이 임의의 이벤트에 따라 트리거될 수 있게 규칙을 생성하고, 상기 생성된 규칙에 따라 호출되는 코드 베이스와 사용자 인터페이스를 생성하며, 상기 상세 비즈니스 로직을 호출하는 클라이언트에 따라 각기 다르게 동작할 수 있도록 하는 동적 실행 규칙을 생성하며, 상기 동작 실행 규칙을 상기 상세 비즈니스 로직에 적용하는 비즈니스 로직 설정부를 포함하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 장치.
  7. 삭제
  8. 제 6 항에 있어서,
    상기 가변 액티비티 편집부는,
    구성원, 역할 또는 자원에 대한 정보를 기반으로 액티비티 단위의 상기 상세 비즈니스 로직을 생성하는 것을 특징으로 하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 장치.
  9. 제 6 항에 있어서,
    상기 비즈니스 로직 설정부에서 출력되는 결과물에 대한 검증을 수행하는 비즈니스 로직 검증부를 더 포함하는 것을 특징으로 하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 장치.
  10. 제 6 항에 있어서,
    상기 비즈니스 프로세스 내 액티비티는, 입력 결합 부분, 기능 변경이 가능한 바디 부분 및 상기 액티비티의 활동을 출력하기 위한 전이 정보가 설정된 전이 분리 부분으로 구성되는 것을 특징으로 하는
    구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 장치.
KR1020100075654A 2010-08-05 2010-08-05 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치 KR101258944B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100075654A KR101258944B1 (ko) 2010-08-05 2010-08-05 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100075654A KR101258944B1 (ko) 2010-08-05 2010-08-05 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120013593A KR20120013593A (ko) 2012-02-15
KR101258944B1 true KR101258944B1 (ko) 2013-05-07

Family

ID=45837051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100075654A KR101258944B1 (ko) 2010-08-05 2010-08-05 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101258944B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677580B1 (ko) * 2015-06-29 2016-11-18 (주)아이티네이드 SaaS 플랫폼에 기반한 스포츠 서비스 제공 방법 및 시스템

Also Published As

Publication number Publication date
KR20120013593A (ko) 2012-02-15

Similar Documents

Publication Publication Date Title
Capilla et al. An enhanced architectural knowledge metamodel linking architectural design decisions to other artifacts in the software engineering lifecycle
Kluza et al. Enriching business processes with rules using the Oryx BPMN editor
Kluza et al. A method for generation and design of business processes with business rules
Gabrysiak et al. How can metamodels be used flexibly
Ahmaro et al. Taxonomy, definition, approaches, benefits, reusability levels, factors and adaption of software reusability: a review of the research literature
JP4702835B2 (ja) Webサービスカスタマイズシステム
Mandal et al. Modelling of business processes for software as a service
Morandini et al. The tropos software engineering methodology
KR101258944B1 (ko) 구성 변경 가능한 어플리케이션에서 사용될 비즈니스 로직 생성 방법 및 장치
Krammer et al. Granularity of Services: An Economic Analysis
Vara et al. Using weaving models to automate model-driven web engineering proposals
Merah et al. Design of ATL rules for transforming UML 2 sequence diagrams into petri nets
Birkmeier et al. A method to support a reflective derivation of business components from conceptual models
Hertiš et al. Ideas on improving the Business-IT alignment in BPM enabled by SOA
Almeida et al. A component-based adaptation approach for multi-cloud applications
US10311392B2 (en) Just in time compilation (JIT) for business process execution
Sinnhofer et al. Software configuration based on order processes
Basso et al. Generative adaptation of model transformation assets: Experiences, lessons and drawbacks
Chawla et al. A Goal based methodology for Web specific Requirements Engineering
Boudaa Towards a model-driven requirements specification of context-aware services
Merunka et al. BORM-II and UML as accessibility process in knowledge and business modelling
Navarro et al. MORPHEUS: a supporting tool for MDD
Coutinho et al. An open environment for development of manufacturing applications on vf-OS
Veitaitė et al. Knowledge-based UML models generation from enterprise model technique
Bien et al. Graphical user interface variability architecture pattern

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 7