KR20150133902A - System and method for developing of service based on software product line - Google Patents

System and method for developing of service based on software product line Download PDF

Info

Publication number
KR20150133902A
KR20150133902A KR1020140060327A KR20140060327A KR20150133902A KR 20150133902 A KR20150133902 A KR 20150133902A KR 1020140060327 A KR1020140060327 A KR 1020140060327A KR 20140060327 A KR20140060327 A KR 20140060327A KR 20150133902 A KR20150133902 A KR 20150133902A
Authority
KR
South Korea
Prior art keywords
service
model
creation
business process
core
Prior art date
Application number
KR1020140060327A
Other languages
Korean (ko)
Other versions
KR101596257B1 (en
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 KR1020140060327A priority Critical patent/KR101596257B1/en
Publication of KR20150133902A publication Critical patent/KR20150133902A/en
Application granted granted Critical
Publication of KR101596257B1 publication Critical patent/KR101596257B1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Landscapes

  • Stored Programmes (AREA)

Abstract

The present invention relates to a system and a method for developing a service based on a software product line. When developing the service based on the software product line, the method of the present invention comprises the following steps of: generating a service model having a sequence; setting one writing type between writing through the reuse of preregistered core assets and newly creating, for the generated service model; writing a business process model according to the set writing type and generating service specifications; setting one service type between a complex service and a single service for an activity which requests for an external web service call from the written service model; setting one writing type between writing through the reuse of the preregistered core assets and newly creating according to the set service type; writing a complex or single service model according to the set writing type; and packaging the written complex or single service model in a predetermined form, registering the same as a core asset, and outputting the same.

Description

소프트웨어 제품 라인에 기반한 서비스 개발 시스템 및 방법{SYSTEM AND METHOD FOR DEVELOPING OF SERVICE BASED ON SOFTWARE PRODUCT LINE}TECHNICAL FIELD [0001] The present invention relates to a system and a method for developing a service based on a software product line,

본 발명은 소프트웨어 제품 라인(Software Product Line, SPL)에 기반한 서비스 개발 기술에 관한 것이다.The present invention relates to a service development technique based on a Software Product Line (SPL).

소프트웨어의 보급이 급속이 증가함에 따라 인간의 생활과 소프트웨어 간에 밀접한 관계가 성립되었으며, 이에 따라 품질 좋은 소프트웨어를 빠르게 생산해 내는 기술이 요구되고 있다. 그러나 품질이 좋은 소프트웨어를 개발하기 위해서는 재사용성, 안정성, 성능 등을 고려해야 하므로 많은 시간 및 노력에 따른 비용이 발생되므로 품질과 생산성을 동시에 만족시키는데 어려움이 있다.As the spread of software rapidly increases, a close relationship between human life and software has been established, and accordingly, a technology for rapidly producing quality software is required. However, in order to develop high-quality software, re-usability, stability, and performance must be considered. Therefore, it takes a lot of time and effort to develop the software.

이러한 문제점을 해결하기 위하여 종래에는 시스템을 개별적으로 개발하지 않고 유사한 서비스를 제공하는 시스템들을 함께 고려하여 개발하여 왔다. 구체적으로, 동일한 도메인에 속한 여러 시스템의 기능적 측면과 품질을 고려하여 공통점 및 차이점의 분석을 통해 충분한 핵심 자산(core asset)을 확보하고 이러한 핵심 자산들을 조합하여 원하는 시스템을 개발하는 소프트웨어 제품 라인(SPL)이 제안되었다.In order to solve such a problem, conventionally, systems which provide similar services without developing systems separately have been considered together and developed. Specifically, a software product line (SPL) that assures sufficient core assets by analyzing common points and differences in consideration of functional aspects and quality of various systems belonging to the same domain, and develops desired systems by combining these core assets ) Was proposed.

그러나 기존의 SPL에서는 체계적인 재사용을 지원하기 위해 수동적인 서비스 지향 핵심 자산(core asset)의 탐색 및 접근만이 가능하여 자동화된 체계가 필요하였으며, 비즈니스 프로세스 및 서비스 컴포넌트를 통합한 서비스를 개발하는 과정에서 서비스 재사용이 용이하지 못하였다.However, in order to support systematic reuse in existing SPL, it is necessary to have an automated system that can only search and access passive service-oriented core assets. In the course of developing services that integrate business processes and service components Service reuse was not easy.

한편, 종래의 기술 중 대한민국등록특허 제 819032 호(발명의 명칭: 웹 서비스로 구성된 비즈니스 프로세스 자동 복구 장치 및 방법)에서는, 비즈니스 프로세스의 실행 특성에 따라 자동 복구 정책을 상기 프로세스 설계 과정에서 미리 설정하는 비즈니스 프로세스 자동 복구 속성 설정부, 상기 프로세스의 실행 진행 상황을 순차적으로 기록하는 저장부 및 상기 기설정된 자동 복구 정책을 인출하여 상기 비즈니스 프로세스의 실행 진행 상황을 기초로 상기 프로세스의 실행을 복구하는 비즈니스 프로세스 자동 복구부를 개시하고 있다.On the other hand, Korean Patent No. 819032 (entitled " business process automatic recovery apparatus and method composed of a web service ") of the related art discloses that an automatic recovery policy is set in advance in the process of designing a process according to execution characteristics of a business process A business process automatic restoration attribute setting unit, a storage unit for sequentially recording an execution progress status of the process, and a business process for retrieving the predetermined automatic restoration policy and restoring the execution of the process based on the execution progress status of the business process And an automatic restoration unit.

그러나, 이러한 종래 기술은 웹서비스 기반의 비즈니스 프로세스의 복구에 있어 인간의 개입을 최소화하고 프로세스 관리자의 판단 착오로 인해 수동 복구 중에 발생할 할 수 있는 오류를 방지하나, 이 또한 SPL에서 핵심 자산으로 기존 서비스를 재사용하여 비즈니스 프로세스 및 서비스 컴포넌트를 통합하는 자동화된 체계는 제시하지 못하고 있다.However, this conventional technique minimizes human intervention in the recovery of the web service based business process and prevents errors that may occur during manual recovery due to misjudgment of the process manager. In addition, And not an automated framework for reusing business processes and service components.

본 발명의 실시예는 SPL에서 핵심 자산으로 기존 서비스를 재사용하여 서비스를 개발하는 서비스 개발 시스템 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide a service development system and method for developing services by reusing existing services as core assets in SPL.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.It should be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.

상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른, 소프트웨어 제품 라인(Software Product Line)에 기반한 서비스 개발 시스템은, 사전에 생성된 서비스 및 서비스의 아티팩트(artifact)가 핵심 자산(core asset)으로 등록 및 저장된 서비스 레지스트리/리포지토리; 상기 등록된 핵심 자산을 재사용하거나 또는 신규로 임의의 시퀀스를 갖는 서비스의 모델을 정의하여 서비스 명세(service description)를 생성하는 서비스 생성부; 상기 등록된 핵심 자산 중 서비스 및 서비스 모델 중 적어도 하나를 검색하고, 상기 검색한 서비스 및 서비스 모델을 상기 재사용할 핵심 자산으로서 상기 서비스 생성부에 제공하는 핵심 자산 탐색부; 및 상기 서비스 생성부가 생성한 서비스 및 서비스 모델을 기설정된 형태로 패키징하여 서비스 레지스트리/리포지토리에 등록하는 서비스 패키징/저장부를 포함한다.According to an aspect of the present invention, there is provided a service development system based on a software product line, in which artifacts of a service and a service created in advance are stored in a core asset ) Registered and stored service registry / repository; A service generation unit for generating a service description by reusing the registered core asset or defining a model of a service having a new arbitrary sequence; A core asset search unit searching at least one of service and service models among the registered core assets and providing the searched service and service model to the service generation unit as the core assets to be reused; And a service packaging / storage unit for packaging the service and service models generated by the service creation unit in a predetermined form and registering the packages in a service registry / repository.

그리고, 본 발명의 다른 측면에 따른, 소프트웨어 제품 라인(Software Product Line)에 기반한 서비스 개발 시스템을 통한 서비스 개발 방법은, 비즈니스 프로세스 수행 언어(Business Process Execution Language)를 사용하여 시퀀스를 갖는 비즈니스 프로세스 모델을 발생시키는 단계; 상기 비즈니스 프로세스 모델에 대해 기등록된 핵심 자산(core asset)의 재사용을 통한 작성 및 신규 작성 중 어느 하나의 작성 유형을 설정하는 단계; 상기 설정된 작성 유형에 따라 상기 비즈니스 프로세스 모델을 작성하고 서비스 명세를 생성하는 단계; 상기 작성한 비즈니스 프로세스 모델에서 외부 웹 서비스 호출을 요구하는 액티비티에 대해 복합 서비스 및 단일 서비스 중 어느 하나의 서비스 유형을 설정하는 단계; 상기 설정한 서비스 유형에 따라 상기 기등록된 핵심 자산의 재사용을 통한 작성 및 신규 작성 중 어느 하나의 작성 유형을 설정하는 단계; 상기 설정한 작성 유형에 따라 상기 복합 서비스 또는 상기 단일 서비스의 모델을 작성하는 단계; 및 상기 작성한 비즈니스 프로세스 모델, 복합 서비스의 모델 또는 단일 서비스의 모델을 기설정된 형태로 패키징하여 상기 핵심 자산으로서 등록한 후 출력하는 단계를 포함하되, 상기 기등록된 핵심 자산의 재사용을 통한 작성은, 기등록된 서비스 및 서비스 모델 중 적어도 하나를 검색하고, 상기 검색한 서비스 및 서비스 모델을 상기 재사용할 핵심 자산으로서 제공받는다.According to another aspect of the present invention, there is provided a method of developing a service through a service development system based on a software product line, the method comprising: providing a business process model having a sequence using a business process execution language ; Setting a creation type of one of creation and new creation through reuse of a core asset previously registered in the business process model; Creating the business process model according to the created creation type and creating a service description; Setting a service type of any one of a composite service and a single service for an activity requesting an external web service call in the created business process model; Setting a creation type of one of creation and new creation through reuse of the previously registered core asset according to the set service type; Creating a model of the composite service or the single service according to the created creation type; And packaging the created business process model, the composite service model, or the single service model in a predetermined form, and registering the package as the core asset, and outputting the core asset as a core asset, Retrieves at least one of a registered service and a service model, and receives the retrieved service and service model as a core asset to be reused.

본 발명의 과제 해결 수단 중 어느 하나에 의하면, SPL에서의 핵심 자산으로 서비스 및 서비스 모델을 사용하여, 목표에 부합하는 신규 서비스를 개발하는 과정에서 기존 서비스 및 역량의 재사용을 지원하여 유연하면서도 비용이 효과적인 서비스를 개발할 수 있다.According to any one of the tasks of the present invention, the service and service model are used as core assets in the SPL to support the reuse of existing services and capabilities in the process of developing a new service meeting the target, Effective service can be developed.

그리고, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 기등록된 핵심 자산 중에서 목표에 부합하는 비즈니스 프로세스 모델을 임포트(import)하여 재사용하거나 또는 신규 비즈니스 프로세스를 모델링할 수 있으며, 비즈니스 프로세스의 각 액티비티를 설정할 수 있어 효율적이다.According to any one of the tasks of the present invention, it is possible to import a business process model corresponding to a target among previously registered core assets to reuse or model a new business process, Can be set.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 비즈니스 프로세스 모델에서 외부 웹서비스 호출이 필요한 액티비티와, 기등록되어 실행 중인 단일 서비스 또는 복합 서비스 간에 인터페이스를 수립할 수 있어 효과적이다.Further, according to any one of the tasks of the present invention, it is possible to establish an interface between an activity requiring an external web service call in a business process model and a single service or a complex service that is already registered and executed.

도 1은 본 발명의 일 실시예에 따른 서비스 개발 시스템의 구조를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 서비스 개발 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 서비스 개발 시스템에서 비즈니스 프로세스 모델로부터 복합 서비스 모델을 개발하는 과정을 설명하기 위한 예시도이다.
FIG. 1 is a block diagram illustrating a structure of a service development system according to an embodiment of the present invention. Referring to FIG.
2 is a flowchart illustrating a service development method according to an embodiment of the present invention.
3 is an exemplary diagram illustrating a process of developing a composite service model from a business process model in a service development system according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

도 1은 본 발명의 일 실시예에 따른 서비스 개발 시스템의 구조를 설명하기 위한 블록도이다.FIG. 1 is a block diagram illustrating a structure of a service development system according to an embodiment of the present invention. Referring to FIG.

도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 서비스 개발 시스템(100)은 서비스 생성부(110), 핵심 자산 탐색부(120), 서비스 명세 검증부(130), 서비스 패키징/저장부(140) 및 서비스 레지스트리/리포지토리(150)를 포함한다.1, a service development system 100 according to an embodiment of the present invention includes a service creation unit 110, a core asset search unit 120, a service description verification unit 130, a service packaging / (140) and a service registry / repository (150).

서비스 생성부(110)는 SPL 기반의 서비스 개발 시스템(100)에서 발생되는 서비스를 생성한다. 세부적으로, 서비스 생성부(110)는 비즈니스 프로세스 편집기(111), 서비스 어셈블리 편집기(112) 및 웹 서비스 편집기(113)를 포함한다.The service generation unit 110 generates a service generated in the SPL-based service development system 100. In detail, the service creation unit 110 includes a business process editor 111, a service assembly editor 112, and a web service editor 113.

구체적으로, 비즈니스 프로세스 편집기(111)는 비즈니스 프로세스 수행 언어(Business Process Execution Language, BPEL)를 사용하여 시퀀스를 갖는 서비스의 모델(이하, '비즈니스 프로세스 모델'이라고 지칭함)을 정의하고, 정의된 비즈니스 프로세스 모델의 서비스 명세(Service Description)를 생성한다. 참고로, 서비스 명세는 서비스가 제공하는 기능과 이를 이용하기 위해 주고받아야 하는 메시지의 형식이 정의되어 있다.Specifically, the business process editor 111 defines a model of a service having a sequence (hereinafter, referred to as a 'business process model') using a business process execution language (BPEL) Creates a service description of the model. For reference, the service description defines the functions provided by the service and the format of the message to be exchanged to use it.

한편, 본 발명의 일 실시예에 따른 서비스 개발 시스템(100)은 서비스 개발자에 대한 입/출력 인터페이스 수단(이하, '그래픽 사용자 인터페이스'를 예로서 설명함)을 제공한다. 이때, 서비스 생성부(110)는 그래픽 사용자 인터페이스를 통해 서비스 개발자로부터 기등록된 핵심 자산을 재사용하여 비즈니스 프로세스 모델을 생성할 것인지 또는 신규 비즈니스 프로세스 모델을 생성할 것인지 여부에 대한 선택을 입력받는다. 이에 따라, 비즈니스 프로세스 편집기(111)는 비즈니스 프로세스 모델을 핵심 자산을 재사용하여 작성하거나 또는 신규 작성하여 정의한다. 이때, 핵심 자산의 재사용이 선택된 경우 비즈니스 프로세스 편집기(111)는, 핵심 자산 탐색부(120)가 서비스 레지스트리/리포지트리(150)에 기등록되어 있던 핵심 자산 중 재사용할 비즈니스 프로세스 모델을 검색한 결과를 제공받는다.Meanwhile, the service development system 100 according to an embodiment of the present invention provides input / output interface means (hereinafter, referred to as 'graphical user interface') for a service developer. At this time, the service generating unit 110 receives a selection of whether to generate a business process model or a new business process model by reusing the core asset previously registered from the service developer through the graphical user interface. Accordingly, the business process editor 111 defines a business process model by reusing or creating a core asset. At this time, when the reuse of the core asset is selected, the business process editor 111 searches for the reusable business process model among the core assets previously registered in the service registry / repository 150 Results are provided.

또한, 비즈니스 프로세스 편집기(111)는 정의한 비즈니스 프로세스 모델에서 외부 웹 서비스 호출(invoke)을 요구하는 액티비티를 서비스 어셈블리 편집기(112) 또는 웹 서비스 편집기(113)로 전달한다. 이때, 비즈니스 프로세스 편집기(111)는 그래픽 사용자 인터페이스를 통해 외부 웹 서비스 호출을 요구하는 액티비티를 단일 또는 복합 서비스 중 어느 것으로 정의할 것인지에 대한 서비스 개발자의 선택을 입력받는다. 이에 따라, 비즈니스 프로세스 편집기(111)는 입력된 서비스 개발자의 선택에 따라 작성할 서비스의 유형(즉, 단일 서비스 또는 복합 서비스 중 어느 하나)을 판단한다. 그리고 비즈니스 프로세스 편집기(111)는 판단된 서비스 유형이 단일 서비스인 경우 웹 서비스 편집기(113)로 전환하고, 복합 서비스인 경우 서비스 어셈블리 편집기(112)로 전환한다.In addition, the business process editor 111 delivers to the service assembly editor 112 or the web service editor 113 an activity that requires an external web service invoke in the defined business process model. At this time, the business process editor 111 receives a service developer's choice as to whether to define an activity requesting an external web service call through a graphical user interface as a single or a composite service. Accordingly, the business process editor 111 determines the type of service to be created (i.e., either a single service or a composite service) according to the selection of the input service developer. The business process editor 111 then switches to the web service editor 113 if the determined service type is a single service and to the service assembly editor 112 if it is a composite service.

서비스 어셈블리 편집기(112)는 독립적으로 동작하는 서비스 컴포넌트들이 JBI(Java Business Integration) 기반으로 느슨하게(loosely) 결합 및 인터랙션하여 서비스를 제공할 수 있는 복합 서비스의 모델(이하, '복합 서비스 모델'이라고 지칭함)을 정의하고, 정의된 복합 서비스 모델의 서비스 명세 및 자바 코드를 생성한다.The service assembly editor 112 is a model of a composite service (hereinafter referred to as a " composite service model ") that can independently provide service by loosely combining and interacting with service components based on Java Business Integration (JBI) ), And generates the service description and Java code of the defined composite service model.

이때, 서비스 어셈블리 편집기(112)는 그래픽 사용자 인터페이스를 통해 복합 서비스 모델의 작성 유형(즉, 핵심 자산의 재사용을 통한 작성 또는 신규 작성)에 대한 서비스 개발자의 선택을 입력받는다. 그리고 서비스 어셈블리 편집기(112)는 복합 서비스 모델의 작성 유형이 핵심 자산의 재사용인 경우, 핵심 자산 탐색부(120)가 기등록된 핵심 자산 중 재사용할 복합 서비스 모델을 검색 및 추천한 결과를 제공받는다. 이때, 서비스 어셈블리 편집기(112)는 그래픽 사용자 인터페이스를 통해 핵심 자산 탐색부(120)가 제공한 복합 서비스 모델 중 어느 하나에 대한 서비스 개발자의 선택을 입력받고, 선택된 복합 서비스 모델을 정의한다. 반면, 서비스 어셈블리 편집기(112)는 선택된 복합 서비스 모델에 대한 작성 유형이 신규 작성인 경우, 해당 액티비티에서 요구하는 인/아웃 파라미터를 제공하는 웹 서비스 인터페이스를 포함하는 신규 복합 서비스 기본 모델을 발생시킨다. At this time, the service assembly editor 112 receives the selection of the service developer for the type of creation of the composite service model (i.e., creation or new creation through reuse of the core asset) through the graphical user interface. If the creation type of the composite service model is the reuse of the core asset, the service assembly editor 112 receives the result of searching for and recommending the composite service model to be reused among the core assets that have been previously registered by the core asset search unit 120 . At this time, the service assembly editor 112 receives a selection of a service developer for one of the multiple service models provided by the core asset search unit 120 through a graphical user interface, and defines a selected multiple service model. On the other hand, if the creation type for the selected composite service model is a new creation, the service assembly editor 112 generates a new composite service basic model including a web service interface for providing in / out parameters required by the selected activity.

이처럼, 서비스 어셈블리 편집기(112)는 기등록된 핵심 자산 중에서 선택된 복합 서비스 모델 또는 신규 작성된 복합 서비스 기본 모델을 복합 서비스 모델로서 작성한다. 이때, 서비스 어셈블리 편집기(112)는 작성된 복합 서비스 모델에 외부 웹 페이지 호출을 요구하는 서비스 모델이 포함되지 않은 경우, 해당 복합 서비스 모델의 서비스 명세를 곧바로 서비스 명세 검증부(130)로 전달한다. 반면, 서비스 어셈블리 편집기(112)는 작성된 복합 서비스 모델에 외부 웹 페이지 호출을 요구하는 단일 서비스 모델이 포함된 경우 해당 서비스 모델을 웹 서비스 편집기(113)로 전달한다.As described above, the service assembly editor 112 creates a composite service model selected from the previously registered core assets or a newly created composite service basic model as a composite service model. At this time, if the created composite service model does not include a service model requesting an external web page call, the service assembly editor 112 directly transfers the service description of the composite service model to the service description verification unit 130. On the other hand, if the created composite service model includes a single service model requesting an external web page call, the service assembly editor 112 delivers the corresponding service model to the web service editor 113.

웹 서비스 편집기(113)는 웹 서비스 인터페이스와 비즈니스 로직(logic)으로 구성된 단일 서비스의 모델(이하, '단일 서비스 모델'이라고 지칭함)을 정의하고, 정의된 단일 서비스 모델의 서비스 명세 및 자바 코드를 생성한다. 참고로, 본 발명의 일 실시예에 따른 웹 서비스는 웹 환경을 통한 사용자와의 인터페이스를 의미할 뿐만 아니라, 복잡한 비즈니스 로직(예를 들어, ERP 및 CRM 등) 및 비즈니스 프로세스를 처리하는 시스템을 의미한다.The web service editor 113 defines a single service model (hereinafter referred to as a 'single service model') composed of a web service interface and business logic, generates a service description and a Java code of a defined single service model do. For reference, the web service according to an embodiment of the present invention not only means an interface with a user through a web environment, but also means a system for processing complex business logic (for example, ERP and CRM) and a business process do.

이때, 웹 서비스 편집기(113)는 그래픽 사용자 인터페이스를 통해 단일 서비스 모델의 작성 유형(즉, 핵심 자산의 재사용을 통한 작성 또는 신규 작성)에 대한 서비스 개발자의 선택을 입력받는다. 그리고 웹 서비스 편집기(113)는 선택된 단일 서비스 모델에 대한 작성 유형이 핵심 자산의 재사용인 경우, 핵심 자산 탐색부(120)가 서비스 레지스트리/리포지토리(150)에서 검색 및 추천한 적합한 서비스 모델을 제공받는다. 이때, 웹 서비스 편집기(113)는 그래픽 사용자 인터페이스를 통해 핵심 자산 탐색부(120)가 제공한 적합한 단일 서비스 모델 중 어느 하나에 대한 서비스 개발자의 선택을 입력받는다. 그리고, 웹 서비스 편집기(113)는 선택된 단일 서비스의 WSDL(Web Service Description Language)을 이용하여 외부 웹 페이지 호출을 요구하는 액티비티(이하, '호출 액티비티'라고 지칭함)의 속성을 설정한다. 반면, 웹 서비스 편집기(113)는 선택된 단일 서비스 모델에 대한 작성 유형이 신규 작성인 경우, 해당 액티비티에서 요구하는 인/아웃 파라미터를 제공하는 웹 서비스 인터페이스를 포함하는 신규 웹 서비스 기본 모델을 발생시켜 웹 서비스를 작성한다. At this time, the web service editor 113 receives a service developer's selection of a creation type (i.e., creation or new creation through reuse of core assets) of a single service model through a graphical user interface. If the creation type for the selected single service model is the reuse of the core asset, the web service editor 113 receives the appropriate service model that the core asset search unit 120 searches and recommends in the service registry / repository 150 . At this time, the web service editor 113 receives the selection of the service developer for one of the suitable single service models provided by the core asset search unit 120 through the graphic user interface. Then, the web service editor 113 sets an attribute of an activity (hereinafter, referred to as 'call activity') requesting an external web page call using a WSDL (Web Service Description Language) of the selected single service. On the other hand, when the creation type for the selected single service model is a new creation, the web service editor 113 generates a new web service basic model including a web service interface that provides in / out parameters required by the activity, Create a service.

핵심 자산 탐색부(120)는 서비스 레지스트리/리포지토리(150)에 등록된 핵심 자산을 서비스 개발 시스템(100)에서 사용할 수 있도록, 서비스 레지스트리/리포지토리(150)로부터 서비스 또는 서비스 모델을 탐색하여 적합한 정보를 검출 및 제공한다. 세부적으로, 핵심 자산 탐색부(120)는 서비스 모델 탐색기(121) 및 서비스 탐색기(122)를 포함한다. The core asset search unit 120 searches a service or a service model from the service registry / repository 150 so that the core asset registered in the service registry / repository 150 can be used in the service development system 100, Detection and provide. In detail, the core asset search unit 120 includes a service model searcher 121 and a service searcher 122.

구체적으로, 서비스 모델 탐색기(121)는 유사한 서비스의 모델(이하, '서비스 모델'이라고 지칭함)을 서비스 레지스트리/리포지토리(150)에 기등록된 핵심 자산에서 탐색하여 추천하고, 그 중 선택된 서비스 모델을 서비스 생성부(110)로 제공한다. Specifically, the service model explorer 121 searches for a similar service model (hereinafter, referred to as a "service model") from the core asset registered in the service registry / repository 150 and recommends the selected service model And provides it to the service creation unit 110.

서비스 탐색기(122)는 유사한 서비스를 서비스 레지스트리/리포지토리(150)에 기등록된 핵심 자산에서 탐색하여 추천하고, 그 중 선택된 서비스의 WSDL(Web Service Description Language)을 서비스 생성부(110)로 제공한다.The service explorer 122 searches for a similar service in the core asset registered in the service registry / repository 150 and recommends the similar service, and provides a WSDL (Web Service Description Language) of the selected service to the service creation unit 110 .

참고로, 서비스 모델 탐색기(121)가 추천한 서비스 모델 및 서비스 탐색기(122)가 추천한 서비스는 그래픽 사용자 인터페이스를 통해 서비스 개발자에 의해 선택될 수 있다. 또한, WSDL는 웹 서비스에서 제공되는 서비스에 대한 개요를 설명하는 XML 문서, 또는 네트워크 내의 앤드포인트(endpoint)들이 메시지를 통해 웹 서비스를 서로 호출할 수 있도록 기술한 XML 문서일 수 있다.For reference, the service model recommended by the service model explorer 121 and the service recommended by the service explorer 122 can be selected by a service developer through a graphical user interface. The WSDL can also be an XML document describing an overview of the services provided by the web service or an XML document describing that the endpoints in the network can invoke the web service through messages.

서비스 명세 검증부(130)는 서비스 생성부(110)로부터 생성된 서비스 명세(즉, BPEL 및 WSDL)를 정적 검사(static check)하여 서비스 패키징/저장부(140)로 전송한다. 일반적으로, 정적 검사는 프로그램이 정확한지를 검사하기 위해 그 프로그램을 실행시키지 않고 그 자체를 분석하는 것으로서, 프로그램에 내재한 논리적 오류를 검사한다. 예를 들어, 정적 검사는 다른 검사용 프로그램을 작성하여 임의의 상태까지 프로그램을 실행시킨 다음 그 결과로서의 기억 장치 내용을 검사할 수 있다.The service specification verification unit 130 performs a static check on the service description (i.e., BPEL and WSDL) generated from the service creation unit 110 and transmits the result to the service packaging / storage unit 140. Generally, a static check is an analysis of a program itself, without running the program to check that it is correct, and examines the logical errors inherent in the program. For example, a static test can create another test program, run the program up to an arbitrary state, and then check the contents of the storage device as a result.

서비스 패키징/저장부(140)는 서비스 생성부(110)가 생성한 서비스의 아티팩트(artifact)들을 서비스 레지스트리/리포지토리(150)에 등록하기 적합하도록 기설정된 패키징 형태로 패키징하고, 패키징된 서비스의 아티팩트를 출력 및 서비스 레지스트리/레포지토리(150)에 등록 요청한다. 참고로, 서비스의 아티팩트는 서비스 모델, 서비스 명세, 바이너리 파일 중 적어도 하나를 포함한다.The service packaging / storage unit 140 packages the artifacts of the service created by the service creation unit 110 into a predetermined packaging form suitable for registration in the service registry / repository 150, And requests registration to the service registry / repository 150. For reference, an artifact of a service includes at least one of a service model, a service description, and a binary file.

서비스 레지스트리/리포지토리(150)는 서비스 개발 시스템(100)에서 생성한 서비스 및 서비스의 아티팩트를 등록/저장하는 저장소 시스템이다. 서비스 레지스트리/리포지토리(150)는 서비스 개발 시 기존에 등록된 서비스와 서비스 모델을 핵심 자산으로 재사용할 수 있도록 핵심 자산 탐색부(120)를 통해 서비스 생성부(110)로 제공한다.The service registry / repository 150 is a repository system for registering / storing artifacts of services and services created in the service development system 100. The service registry / repository 150 provides the service registry 110 with the core asset search unit 120 to reuse existing services and service models as core assets when developing services.

이하, 도 2를 참조하여 본 발명의 일 실시예에 따른 서비스 개발 방법을 상세히 설명하도록 한다.Hereinafter, a service development method according to an embodiment of the present invention will be described in detail with reference to FIG.

도 2는 본 발명의 일 실시예에 따른 서비스 개발 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a service development method according to an embodiment of the present invention.

먼저, 비즈니스 프로세스 모델의 작성 유형을 판단한다(S201).First, the creation type of the business process model is determined (S201).

즉, 목표하는 신규 서비스의 개발 시, 기존의 핵심 자산을 재사용할 것인지 신규로 작성할 것인지를 의미하는 작성 유형을 확인한다.That is, when developing a target new service, confirm the creation type that means whether the existing core asset is to be reused or newly created.

상기 단계 (S201)에서의 판단 결과, 작성 유형이 핵심 자산의 재사용인 경우 서비스 레지스트리/리포지토리에 기등록된 핵심 자산 중 재사용할 비즈니스 프로세스 모델을 검색하고, 검색된 비즈니스 프로세스 모델을 비즈니스 프로세스 편집기에 로딩한다(S202).As a result of the determination in step S201, if the creation type is the reuse of the core asset, the business process model to be reused among the core assets previously registered in the service registry / repository is retrieved and the retrieved business process model is loaded into the business process editor (S202).

그런 다음, 비즈니스 프로세스 편집기를 통해 핵심 자산의 재사용을 통한 비즈니스 프로세스 모델을 정의하여 작성한다(S203).Then, a business process model through reuse of core assets is defined and created through a business process editor (S203).

한편, 상기 단계 (S201)의 판단 결과, 작성 유형이 신규 작성인 경우 비즈니스 프로세스 편집기를 통해 신규 비즈니스 프로세스 모델을 작성한다(S203).On the other hand, if it is determined in step S201 that the creation type is new, a new business process model is created through the business process editor (S203).

그런 후, 작성된 비즈니스 프로세스 모델(즉, 재사용 또는 신규 작성된 비즈니스 프로세스 모델)에서 외부 웹 서비스 호출(invoke)을 요구하는 액티비티를 단일 서비스 또는 복합 서비스로 정의한다(S204).Then, an activity that requires an external web service invoke is defined as a single service or a composite service in the created business process model (that is, reused or newly created business process model) (S204).

이때, 그래픽 사용자 인터페이스를 통하여 해당 액티비티를 작성할 서비스 유형(즉, 단일 서비스 또는 복합 서비스)에 대한 서비스 개발자의 선택을 입력받을 수 있다. 또한, 그래픽 사용자 인터페이스를 통해 상기 정의된 단일 서비스 또는 복합 서비스 모델에 대한 작성 유형의 선택을 서비스 개발자로부터 입력받을 수 있다. At this time, a selection of a service developer for a service type (that is, a single service or a composite service) in which the activity is to be created can be inputted through the graphical user interface. Also, the selection of the creation type for the single service or the composite service model defined above can be input from the service developer through the graphic user interface.

그런 다음, 해당 액티비티에 대한 서비스 유형을 판단한다(S205).Then, the service type for the activity is determined (S205).

상기 단계 (S205)에서의 판단 결과, 서비스 유형이 복합 서비스인 경우 서비스 어셈블리 편집기로 전환하여 복합 서비스 모델의 작성 유형을 판단한다(S206).If it is determined in step S205 that the service type is a composite service, the service type is changed to a service assembly editor to determine a creation type of the composite service model in step S206.

상기 단계 (S206)의 판단 결과, 복합 서비스 모델의 작성 유형이 핵심 자산의 재사용인 경우 서비스 레지스트리/리포지토리에 기등록된 핵심 자산 중에서 재사용할 복합 서비스 모델을 검색 및 추천하고, 추천된 복합 서비스 모델 중 선택된 모델을 서비스 어셈블리 편집기에 로딩한다(S207).As a result of the determination in step S206, if the creation type of the composite service model is the reuse of the core asset, the composite service model to be reused among the core assets previously registered in the service registry / repository is searched and recommended, The selected model is loaded into the service assembly editor (S207).

반면, 상기 단계 (S206)의 판단 결과, 복합 서비스 모델의 작성 유형이 신규 작성인 경우 서비스 어셈블리 편집기를 통해 요구되는 인/아웃 파라미터를 제공하는 웹 서비스 인터페이스를 포함하는 신규 복합 서비스 기본 모델을 발생시킨다(S208).On the other hand, if it is determined in step S206 that the creation type of the composite service model is a new creation, a new composite service basic model including a web service interface that provides in / out parameters required through the service assembly editor is generated (S208).

그런 후, 상기 단계 (S207) 또는 (S208)에서 로딩 또는 발생된 모델을 서비스 어셈블리 편집기를 이용하여 복합 서비스 모델로 작성한다(S209).Then, the loaded or generated model is created in the composite service model using the service assembly editor in step S207 or S208 (S209).

그런 후, 상기 단계 (S209)에서 작성된 복합 서비스 모델이 외부 웹 서비스를 호출하는지 여부를 판단한다(S210).Then, it is determined whether the composite service model created in step S209 calls an external web service (S210).

상기 단계 (S210)의 판단 결과, 작성된 복합 서비스 모델이 외부 웹 서비스를 호출하는 경우, 단계 (S211)로 진행하여 웹 서비스 편집기로 전환한다.If it is determined in step S210 that the created composite service model calls an external web service, the flow advances to step S211 to switch to the web service editor.

반면, 상기 단계 (S210)의 판단 결과, 작성된 복합 서비스 모델이 외부 웹 서비스를 호출하지 않는 경우 곧바로 서비스 명세 검증부를 통해 복합 서비스 모델로부터 생성된 서비스 명세(예를 들어, BPEL 및 WSDL)를 정적 검사한다(S214).On the other hand, if it is determined in step S210 that the created composite service model does not call the external web service, the service description (e.g., BPEL and WSDL) generated from the composite service model is directly checked (S214).

한편, 상기 단계 (S205)의 판단 결과, 비즈니스 프로세스 모델에서 외부 웹 서비스를 호출하는 액티비티의 서비스 유형이 단일 서비스인 경우, 웹 서비스 편집기로 전환하여 단일 서비스 모델의 작성 유형을 판단한다(S211).If it is determined in step S205 that the service type of the activity calling the external web service in the business process model is a single service, the type of the single service model is determined by switching to the web service editor in step S211.

상기 단계 (S211)의 판단 결과, 단일 서비스 모델의 작성 유형이 핵심 자산의 재사용인 경우 서비스 레지스트리/리포지토리에 기등록된 핵심 자산 중 적합한 서비스를 검색 및 추천하여, 추천된 적합한 서비스 중 선택된 단일 서비스의 WSDL을 이용하여 호출 액티비티 속성을 설정한다(S212).As a result of the determination in step S211, if the creation type of the single service model is the reuse of the core asset, an appropriate service among the core assets previously registered in the service registry / repository is searched and recommended, The calling activity attribute is set using the WSDL (S212).

반면, 상기 단계 (S211)의 판단 결과, 단일 서비스 모델의 작성 유형이 신규 작성인 경우 웹 서비스 편집기를 통해서 요구되는 인/아웃 파라미터를 제공하는 웹 서비스 기본 모델을 자동 발생시키고 웹 서비스를 작성한다(S213).On the other hand, if the creation type of the single service model is newly created as a result of the determination in step S211, the web service basic model that provides the in / out parameters required through the web service editor is automatically generated and the web service is created S213).

그런 다음, 상기 단계 (S212) 또는 (S213)에서 설정 또는 작성된 서비스 모델로부터 생성된 서비스 명세를 서비스 명세 검증부를 통해 정적 검사한다(S214).Then, the service specification generated from the service model set or created in the step S212 or S213 is statically inspected through the service specification verification unit (S214).

그런 후, 상기 단계(S214)에서 정적 검사가 완료된 복합 서비스 모델 또는 단일 서비스 모델을 기설정된 패키징 형태로 서비스 패키징하고, 해당 서비스의 향후 재사용을 위해 핵심 자산 등록 여부를 설정한다(S215).Then, in step S214, the composite service model or the single service model in which the static inspection is completed is service-packaged in a predetermined packaging form and the core asset registration is set for future reuse of the service in step S215.

그런 다음, 이상의 단계들을 통해 생성된 서비스를 출력하고, 해당 서비스를 서비스 레지스트리/리포지토리에 등록한다(S216). Then, the service generated through the above steps is outputted and the corresponding service is registered in the service registry / repository (S216).

이하, 도 3을 참조하여 본 발명의 일 실시예에 따른 서비스 개발 시스템(100)을 통한 비즈니스 프로세스 모델의 개발 과정을 설명하도록 한다. Hereinafter, a process of developing a business process model through the service development system 100 according to an embodiment of the present invention will be described with reference to FIG.

도 3은 본 발명의 일 실시예에 따른 서비스 개발 시스템에서 비즈니스 프로세스 모델로부터 복합 서비스 모델을 개발하는 과정을 설명하기 위한 예시도이다.3 is an exemplary diagram illustrating a process of developing a composite service model from a business process model in a service development system according to an embodiment of the present invention.

도 3에 도시한 바와 같이, 본 발명의 일 실시예에 따른 서비스 개발 시스템(100)은, 비즈니스 프로세스 편집기를 통해 '비즈니스 프로세스 모델 1'을 생성한다. 이때, 비즈니스 프로세스 모델 1은 복수의 비즈니스 프로세스 단계들로 이루어진다.As shown in FIG. 3, the service development system 100 according to an embodiment of the present invention generates a 'business process model 1' through a business process editor. At this time, the business process model 1 is composed of a plurality of business process steps.

이러한 비즈니스 프로세스 단계들 중 어느 하나는 기등록된 핵심 자산을 재사용할 서비스 모델로서, 서비스 모델 탐색기를 이용하여 복합 서비스 모델로 자동 발생될 수 있다. 이때, 서비스 어셈블리 편집기는 상기 서비스 모델에 대한 복합 서비스 1을 정의하며, 복합 서비스 1에 외부 웹 서비스를 호출하는 서비스 모델이 포함된 경우 웹 서비스 편집기로 전환한다.One of these business process steps can be automatically generated as a composite service model using a service model explorer as a service model to reuse previously registered core assets. At this time, the service assembly editor defines the composite service 1 for the service model. If the composite service 1 includes a service model that calls an external web service, the composite service 1 switches to the web service editor.

그리고, 상기 비즈니스 프로세스 단계들 중 다른 하나는 기등록된 핵심 자산을 재사용하지 않고 신규 복합 서비스 기본 모델이 발생될 수 있다. 이때, 서비스 어셈블리 편집기는 상기 복합 서비스 기본 모델에 대한 복합 서비스 2를 정의한다.And, another one of the business process steps can be a new composite service basic model without reusing pre-registered core assets. At this time, the service assembly editor defines the compound service 2 for the compound service basic model.

또한, 상기 비즈니스 프로세스 단계들 중 또 다른 하나는 기등록된 핵심 자산을 재사용할 서비스 모델로서, 서비스 탐색기를 이용하여 적합한 단일 서비스가 매핑될 수 있다. 이때, 매핑된 단일 서비스는 웹 서비스 편집기를 통해 단일 서비스 2로 정의된다. In addition, another one of the business process steps may be a service model for reusing previously registered core assets, and a single suitable service may be mapped using a service explorer. At this time, a single mapped service is defined as a single service 2 through the web service editor.

한편, 상기 비즈니스 프로세스 단계들 중 또 다른 하나는 기등록된 색심 자산을 재사용하지 않고 신규 웹 서비스 기본 모델이 자동 발생될 수 있다. 이때, 발생된 웹 서비스 기본 모델은 웹 서비스 편집기를 통해 단일 서비스 3으로 정의된다.Meanwhile, another one of the business process steps may automatically generate a new web service basic model without reusing the previously registered coloring assets. At this time, the generated web service basic model is defined as a single service 3 through the web service editor.

이상에서 설명한 본 발명의 일 실시예는, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. An embodiment of the present invention described above may be embodied in the form of a recording medium including instructions executable by a computer such as a program module executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: 서비스 개발 시스템
110: 서비스 생성부
120: 핵심 자산 탐색부
130: 서비스 명세 검증부
140: 서비스 패키징/저장부
150: 서비스 레지스트리/리포지토리
100: service development system
110:
120: Core asset search section
130: Service Specification Verification Unit
140: Service packaging / storage unit
150: Service Registry / Repository

Claims (5)

소프트웨어 제품 라인(Software Product Line)에 기반한 서비스 개발 시스템에 있어서,
사전에 생성된 서비스 및 서비스의 아티팩트(artifact)가 핵심 자산(core asset)으로 등록 및 저장된 서비스 레지스트리/리포지토리;
상기 등록된 핵심 자산을 재사용하거나 또는 신규로 임의의 시퀀스를 갖는 서비스의 모델을 정의하여 서비스 명세(service description)를 생성하는 서비스 생성부;
상기 등록된 핵심 자산 중 서비스 및 서비스 모델 중 적어도 하나를 검색하고, 상기 검색한 서비스 및 서비스 모델을 상기 재사용할 핵심 자산으로서 상기 서비스 생성부에 제공하는 핵심 자산 탐색부; 및
상기 서비스 생성부가 생성한 서비스 및 서비스 모델을 기설정된 형태로 패키징하여 서비스 레지스트리/리포지토리에 등록하는 서비스 패키징/저장부를 포함하는 서비스 개발 시스템.
In a service development system based on a software product line,
A service registry / repository registered and stored as artifacts of pre-created services and services as core assets;
A service generation unit for generating a service description by reusing the registered core asset or defining a model of a service having a new arbitrary sequence;
A core asset search unit searching at least one of service and service models among the registered core assets and providing the searched service and service model to the service generation unit as the core assets to be reused; And
And a service packaging / storing unit for packaging the service and service model generated by the service creating unit in a predetermined form and registering the same in a service registry / repository.
제 1 항에 있어서,
상기 서비스 생성부가 생성한 서비스 및 서비스 모델의 상기 서비스 명세를 정적 검사하여 상기 서비스 패키징/저장부로 제공하는 서비스 명세 검증부를 더 포함하고,
상기 서비스 생성부는,
상기 서비스의 모델로서 비즈니스 프로세스 수행 언어(Business Process Execution Language)를 사용한 비즈니스 프로세스 모델을 정의하는 서비스 개발 시스템.
The method according to claim 1,
Further comprising: a service specification verifying unit for statically inspecting the service description of the service and the service model generated by the service generator and providing the service description to the service packaging /
The service creation unit,
A service development system that defines a business process model using a business process execution language as a model of the service.
제 1 항에 있어서,
상기 핵심 자산 탐색부는,
상기 서비스 레지스트리/리포지토리에 기등록된 핵심 자산 중 기설정된 유사한 서비스 또는 유사한 서비스 모델을 검색하고,
상기 검색한 서비스 또는 서비스 모델 중 적어도 하나를 상기 서비스 생성부로 추천하며,
상기 서비스 생성부는,
상기 정의한 서비스의 모델 중 외부 웹 서비스 호출을 요구하는 액티비티를 복합 서비스 또는 단일 서비스 중 어느 하나로 생성하되,
상기 복합 서비스 및 단일 서비스 각각에 대해 상기 등록된 핵심 자산의 재사용을 통한 작성 또는 신규 작성 중 어느 하나의 작성을 통해 서비스 모델을 생성하는 서비스 개발 시스템.
The method according to claim 1,
The core asset search unit may include:
Searching for a predetermined similar service or similar service model among the core assets previously registered in the service registry / repository,
Recommending at least one of the searched service or service model to the service creation unit,
The service creation unit,
A service requesting an external web service call among the models of the defined service is generated as either a composite service or a single service,
And creating a service model by creating either the creation of the newly registered core asset or the creation of the new service for each of the composite service and the single service.
소프트웨어 제품 라인(Software Product Line)에 기반한 서비스 개발 시스템을 통한 서비스 개발 방법에 있어서,
비즈니스 프로세스 수행 언어(Business Process Execution Language)를 사용하여 시퀀스를 갖는 비즈니스 프로세스 모델을 발생시키는 단계;
상기 비즈니스 프로세스 모델에 대해 기등록된 핵심 자산(core asset)의 재사용을 통한 작성 및 신규 작성 중 어느 하나의 작성 유형을 설정하는 단계;
상기 설정된 작성 유형에 따라 상기 비즈니스 프로세스 모델을 작성하고 서비스 명세를 생성하는 단계;
상기 작성한 비즈니스 프로세스 모델에서 외부 웹 서비스 호출을 요구하는 액티비티에 대해 복합 서비스 및 단일 서비스 중 어느 하나의 서비스 유형을 설정하는 단계;
상기 설정한 서비스 유형에 따라 상기 기등록된 핵심 자산의 재사용을 통한 작성 및 신규 작성 중 어느 하나의 작성 유형을 설정하는 단계;
상기 설정한 작성 유형에 따라 상기 복합 서비스 또는 상기 단일 서비스의 모델을 작성하는 단계; 및
상기 작성한 복합 서비스의 모델 또는 단일 서비스의 모델을 기설정된 형태로 패키징하여 상기 핵심 자산으로서 등록한 후 출력하는 단계를 포함하되,
상기 기등록된 핵심 자산의 재사용을 통한 작성은,
기등록된 서비스 및 서비스 모델 중 적어도 하나를 검색하고, 상기 검색한 서비스 및 서비스 모델을 상기 재사용할 핵심 자산으로서 제공받는 서비스 개발 방법.
A method for developing a service through a service development system based on a software product line,
Generating a business process model having a sequence using a business process execution language;
Setting a creation type of one of creation and new creation through reuse of a core asset previously registered in the business process model;
Creating the business process model according to the created creation type and creating a service description;
Setting a service type of any one of a composite service and a single service for an activity requesting an external web service call in the created business process model;
Setting a creation type of one of creation and new creation through reuse of the previously registered core asset according to the set service type;
Creating a model of the composite service or the single service according to the created creation type; And
Packaging the created composite service model or single service model into a predetermined form and registering the model as the core asset,
The re-use of the pre-registered core assets,
And searching for at least one of the previously registered service and service model and providing the retrieved service and service model as the core asset to be reused.
제 4 항에 있어서,
상기 작성한 복합 서비스의 모델 또는 단일 서비스의 모델을 기설정된 형태로 패키징하여 상기 핵심 자산으로서 등록한 후 출력하는 단계 이전에,
상기 복합 서비스의 모델 또는 상기 단일 서비스의 모델의 상기 서비스 명세를 정적 검사하는 단계를 더 포함하는 서비스 개발 방법.
5. The method of claim 4,
Packaging the created composite service model or single service model in a predetermined form and registering the model as a core asset and outputting the model,
Further comprising the step of statically inspecting the service specification of the model of the composite service or the model of the single service.
KR1020140060327A 2014-05-20 2014-05-20 System and method for developing of service based on software product line KR101596257B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140060327A KR101596257B1 (en) 2014-05-20 2014-05-20 System and method for developing of service based on software product line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140060327A KR101596257B1 (en) 2014-05-20 2014-05-20 System and method for developing of service based on software product line

Publications (2)

Publication Number Publication Date
KR20150133902A true KR20150133902A (en) 2015-12-01
KR101596257B1 KR101596257B1 (en) 2016-02-23

Family

ID=54882430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140060327A KR101596257B1 (en) 2014-05-20 2014-05-20 System and method for developing of service based on software product line

Country Status (1)

Country Link
KR (1) KR101596257B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180117486A (en) * 2017-04-19 2018-10-29 국방과학연구소 System for integrated management of service
KR101996382B1 (en) * 2018-02-14 2019-07-03 동서대학교 산학협력단 System for Data Analysis of University Information Based on Platform Using The BigData
KR20200102264A (en) * 2019-02-21 2020-08-31 국방과학연구소 Apparatus and method for supporting weapon system software product line engineering and computer readible storage medium therefor
KR20200106783A (en) * 2019-03-05 2020-09-15 국방과학연구소 Method and apparatus for providing information on domain asset

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102363373B1 (en) 2021-08-03 2022-02-16 (주)메가투스 System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100114939A1 (en) * 2008-10-24 2010-05-06 Schulman Elad Software test management system and method with facilitated reuse of test components
KR20120071966A (en) * 2010-12-23 2012-07-03 한국과학기술원 Method and apparatus for retrieving software components using case based reasoning system, and method for providing explanation
JP2013097470A (en) * 2011-10-28 2013-05-20 Mitsubishi Electric Corp Source file reuse support device, source file reuse support method and program
KR20130094153A (en) * 2012-01-20 2013-08-23 (주)누스코 Apparatus and method of program managing of computer and portable device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100114939A1 (en) * 2008-10-24 2010-05-06 Schulman Elad Software test management system and method with facilitated reuse of test components
KR20120071966A (en) * 2010-12-23 2012-07-03 한국과학기술원 Method and apparatus for retrieving software components using case based reasoning system, and method for providing explanation
JP2013097470A (en) * 2011-10-28 2013-05-20 Mitsubishi Electric Corp Source file reuse support device, source file reuse support method and program
KR20130094153A (en) * 2012-01-20 2013-08-23 (주)누스코 Apparatus and method of program managing of computer and portable device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180117486A (en) * 2017-04-19 2018-10-29 국방과학연구소 System for integrated management of service
KR101996382B1 (en) * 2018-02-14 2019-07-03 동서대학교 산학협력단 System for Data Analysis of University Information Based on Platform Using The BigData
KR20200102264A (en) * 2019-02-21 2020-08-31 국방과학연구소 Apparatus and method for supporting weapon system software product line engineering and computer readible storage medium therefor
KR20200106783A (en) * 2019-03-05 2020-09-15 국방과학연구소 Method and apparatus for providing information on domain asset

Also Published As

Publication number Publication date
KR101596257B1 (en) 2016-02-23

Similar Documents

Publication Publication Date Title
US10824948B2 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
US10740215B2 (en) System and method for implementing an API validator tool
US20210124576A1 (en) System and Method for Automated Microservice Source Code Generation and Deployment
US10956013B2 (en) User interface for automated flows within a cloud based developmental platform
CA3111422C (en) User interface for automated flows within a cloud based developmental platform
US10713664B1 (en) Automated evaluation and reporting of microservice regulatory compliance
US9569288B2 (en) Application pattern discovery
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US20200285462A1 (en) Collaborative software development tool for resolving potential code-change conflicts in real time
US20090319239A1 (en) Topology modeling application that handles abstract entities through the realization of conceptual objects
KR101596257B1 (en) System and method for developing of service based on software product line
US10956132B1 (en) Unified code and data management for model development
US11474842B2 (en) Integration application creator design
EP3454203A1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
CN117056240B (en) Data element development and debugging method and system supporting offline Jar package
US9141517B2 (en) Public solution model test automation framework
Challita et al. Model-based cloud resource management with TOSCA and OCCI
US10176011B2 (en) Automatically generating and executing a service operation implementation for executing a task
US20160085544A1 (en) Data management system
Lascu et al. Automatic deployment of component-based applications
CN113032004B (en) Method, apparatus and program product for managing development jobs in a development environment
CN114115982A (en) Code issuing method, device, equipment and storage medium
US11074508B2 (en) Constraint tracking and inference generation
CN112000366B (en) System parameter configuration method and device based on code generator
Erbel Scientific Workflow Execution Using a Dynamic Runtime Model

Legal Events

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

Payment date: 20190201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200204

Year of fee payment: 5