KR20150070606A - 교통 빅데이터 서비스 조합 프레임워크 - Google Patents

교통 빅데이터 서비스 조합 프레임워크 Download PDF

Info

Publication number
KR20150070606A
KR20150070606A KR1020130157018A KR20130157018A KR20150070606A KR 20150070606 A KR20150070606 A KR 20150070606A KR 1020130157018 A KR1020130157018 A KR 1020130157018A KR 20130157018 A KR20130157018 A KR 20130157018A KR 20150070606 A KR20150070606 A KR 20150070606A
Authority
KR
South Korea
Prior art keywords
service
unit
workflow
services
data
Prior art date
Application number
KR1020130157018A
Other languages
English (en)
Other versions
KR101574396B1 (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 KR1020130157018A priority Critical patent/KR101574396B1/ko
Publication of KR20150070606A publication Critical patent/KR20150070606A/ko
Application granted granted Critical
Publication of KR101574396B1 publication Critical patent/KR101574396B1/ko

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 서비스 조합 방법에 관한 것으로, 복수 개의 단위 서비스의 목록을 표시하는 단계; 상기 복수 개의 단위 서비스의 각각에 대응하는 실행 모듈 및 상기 복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일을 유지하는 단계; 상기 복수 개의 단위 서비스 중 사용자로부터 선택된 적어도 두 개의 단위 서비스를 표시하고, 상기 선택된 적어도 두 개의 단위 서비스를 연결함으로써 워크플로우를 구성하는 단계; 상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계; 상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계; 및 상기 조합검사에 따라 상기 워크플로우를 구성하는 조합된 서비스를 실행하는 단계를 포함할 수 있다.

Description

교통 빅데이터 서비스 조합 프레임워크{SERVICE COMPOSITION FRAMEWORK FOR TRANSPORTATION BIG DATA SERVICE}
본 발명은 교통 빅데이터 서비스 조합 프레임워크 시스템 및 방법에 관한 것으로, 복수 개의 단위 서비스를 조합하는 기술에 관한 것이다.
교통 분야의 데이터를 가공하여 가시화하기 위한 서비스를 제공하기 위해서는 필연적으로 데이터를 수집 및 조회하는 부분이 필요하다. 교통 서비스 센터에서는 과거 수년간 도로정보 수집창치를 이용해 수집한 막대한 양의 데이터를 보유하고 있다. 예를 들어, 수도권 교통카드 사용 내역은 하루에 3GB씩 쏟아진다. 이를 조회하기 위해서는 대량의 데이터를 처리하기 위한 빅데이터 처리 기술이 사용된다. 빅데이터 처리 기술은 기존의 프로그램 및 컴퓨터 시스템으로는 다루기 어려운 수준의 데이터 양(테라바이트 또는 그 이상)을 가지는 어느 정도 경과한 시간 내에 속한 데이터를 수집, 관리, 저장, 검색, 공유, 분석, 및 시각화하기 위한 기술을 말한다.
SOA(Service Oriented Architecture), 서비스지향 아키텍처는 서비스의 관점에서 소프트웨어 아키텍처를 조망하는 기술로 많은 각광을 받고 있는데, SOA를 적용함으로써 애플리케이션 중복개발로 인한 비용을 감소시키고 재사용성을 높일 수 있다. 또한, 애플리케이션 전체나 일부가 서비스의 개념으로 인식되어, 서비스간의 결합을 통해 새로운 비즈니스 애플리케이션을 신속하고 비교적 쉽게 개발할 수 있는 소프트웨어 아키텍처이다. W3C는 SOA를 호출이 가능한 컴포넌트의 집합으로 정의한다. 여기서 컴포넌트는 인터페이스의 정의가 공개(Publish), 찾기(Find), 바인딩(Binding)이 가능함을 의미한다. 또한 Gartner는 SOA를 잘 정의 된 인터페이스를 가진, 재사용이 가능한 일련의 컴포넌트들로 구축되는 기술구조 방식으로 정의하고 있다. 이에 따라 빅데이터 및 SOA를 활용함으로써 비즈니스를 세분화하여 반복 가능하고 가치를 지닌 비즈니스단위 서비스들의 조립과 통합을 통해 고객이 원하는 가치를 만들어 낼 수 있도록 지원하는 기술이 필요하다.
본 발명은 빅데이터 조회 기능을 포함한 여러 단위 기능을 하는 서비스들을 조합하여 구성하는 대로 원하는 서비스들을 동적으로 연결하는 방법을 제공한다.
본 발명의 일실시예에 있어서, 복수 개의 단위 서비스를 조합하는 서비스 조합 프레임워크 시스템은, 복수 개의 단위 서비스의 목록을 표시하고, 상기 복수 개의 단위 서비스 중 사용자로부터 선택된 적어도 두 개의 단위 서비스를 표시하는 워크플로우 표시부; 상기 선택된 적어도 두 개의 단위 서비스를 연결함으로써 워크플로우를 구성하는 워크플로우 구성부; 상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 조합검사 수행부; 및 상기 조합검사에 따라 상기 워크플로우를 구성하는 조합된 서비스를 실행하는 조합 서비스 실행부를 포함할 수 있다.
일측에 따르면, 복수 개의 단위 서비스를 조합하는 서비스 조합 프레임워크 시스템은, 상기 복수 개의 단위 서비스의 각각에 대응하는 실행 모듈 및 상기 복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일을 유지하는 단위 서비스 저장부를 더 포함할 수 있다.
또 다른 일측에 따르면, 상기 조합검사 수행부는, 상기 단위 서비스에 대응하는 서비스 명세 파일을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함 관계를 검사할 수 있다.
또 다른 일측에 따르면, 상기 조합검사 수행부는, 상기 후행 서비스의 입력 데이터 중 사용자 입력 데이터를 제외한 입력 데이터의 모두가 상기 선행 서비스의 출력 데이터에 포함되는 경우, 상기 선행 서비스의 출력 데이터 및 상기 후행 서비스의 입력 데이터의 포맷을 검사할 수 있다.
또 다른 일측에 따르면, 상기 조합검사 수행부는, 상기 선행 서비스의 출력 데이터 및 상기 후행 서비스의 입력 데이터의 포맷이 일치하지 않는 경우, 상기 선행 서비스의 출력 데이터의 포맷을 상기 후행 서비스의 입력 데이터의 포맷으로 변환할 수 있다.
또 다른 일측에 따르면, 상기 단위 서비스의 타입(type)은, 수집(inquiry) 서비스, 가공(statistics) 서비스 및 가시화(visualization) 서비스 중 적어도 하나를 포함하고, 상기 서비스 명세 파일은 대응하는 단위 서비스의 타입에 관한 정보를 포함하고, 상기 조합검사 수행부는 선행 서비스의 타입이 가시화 서비스인 경우, 조합 불가능으로 판단할 수 있다.
본 발명의 일실시예에 따른 서비스를 조합하는 방법은, 복수 개의 단위 서비스의 목록을 표시하는 단계; 상기 복수 개의 단위 서비스 중 사용자로부터 선택된 적어도 두 개의 단위 서비스를 표시하고, 상기 선택된 적어도 두 개의 단위 서비스를 연결함으로써 워크플로우를 구성하는 단계; 상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계; 및 상기 조합검사에 따라 상기 워크플로우를 구성하는 조합된 서비스를 실행하는 단계를 포함할 수 있다.
일측에 따르면, 서비스 조합 방법은, 상기 복수 개의 단위 서비스의 각각에 대응하는 실행 모듈 및 상기 복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일을 유지하는 단계를 더 포함할 수 있다.
또 다른 일측에 따르면, 상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는, 상기 단위 서비스에 대응하는 서비스 명세 파일을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함 관계를 검사하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는, 상기 후행 서비스의 입력 데이터 중 사용자 입력 데이터를 제외한 입력 데이터의 모두가 상기 선행 서비스의 출력 데이터에 포함되는 경우, 상기 선행 서비스의 출력 데이터 및 상기 후행 서비스의 입력 데이터의 포맷을 검사하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는, 상기 선행 서비스의 출력 데이터 및 상기 후행 서비스의 입력 데이터의 포맷이 일치하지 않는 경우, 상기 선행 서비스의 출력 데이터의 포맷을 상기 후행 서비스의 입력 데이터의 포맷으로 변환하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는, 상기 후행 서비스의 서비스 명세 파일을 참조하여, 상기 후행 서비스의 입력 데이터의 포맷이 어떤 포맷도 가능함을 지시하는 경우, 상기 입력 데이터의 포맷의 입력을 위한 데이터 포맷 입력창을 출력하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 단위 서비스의 타입(type)은 수집(inquiry) 서비스, 가공(statistics) 서비스 및 가시화(visualization) 서비스 중 적어도 하나를 포함하고, 상기 서비스 명세 파일은 대응하는 단위 서비스의 타입에 관한 정보를 포함하고, 상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는, 선행 서비스의 타입이 가시화 서비스인 경우, 조합 불가능으로 판단하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 서비스 조합 방법은, 상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계를 더 포함할 수 있다.
또 다른 일측에 따르면, 상기 단위 서비스의 타입(type)은 수집(inquiry) 서비스, 가공(statistics) 서비스 및 가시화(visualization) 서비스 중 적어도 하나를 포함하고, 상기 서비스 명세 파일은 대응하는 단위 서비스의 타입에 관한 정보를 포함하고, 상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계는, 상기 워크플로우의 최초 서비스가 수집 서비스인지 판단하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계는, 상기 워크플로우를 구성하는 조합된 서비스 중 적어도 하나의 입력 데이터가 사용자 데이터를 포함하는 경우, 상기 사용자 데이터의 입력을 위한 사용자 데이터 입력창을 출력하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계는, 상기 워크플로우를 구성하는 조합된 서비스가 입력 데이터로 사용자 데이터를 포함하는 경우, 상기 사용자 데이터가 모두 입력되었는지 검사하는 단계; 및 상기 사용자 데이터가 모두 입력되지 않은 경우, 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능하지 않다고 출력하는 단계를 포함할 수 있다.
본 발명은 조합검사를 수행하여 구성된 서비스는 하나의 완성된 조합 서비스를 통해 최적화된 서비스를 제공할 수 있으며, 조합된 서비스는 단위 서비스로 제공될 수 있어 데이터를 효율적으로 이용할 수 있다.
도 1은 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 서비스 조합 과정을 나타낸 화면의 예이다.
도 3은 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 동작을 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 단위 서비스 메타 모델을 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 단위 서비스 메타 모델을 통한 서비스 명세 및 조합 검사를 나타낸 예이다.
도 6은 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 단위 서비스 메타 모델을 통한 서비스 명세 및 조합 검사를 나타낸 또 다른 예이다.
도 7은 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 서비스 조합 방법을 나타낸 흐름도이다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 구성을 나타낸 블록도이다.
서비스 조합 프레임워크 시스템(100)은 복수 개의 단위 서비스를 조합하기 위한 시스템으로서, 워크플로우 표시부(110), 워크플로우 구성부(120), 조합검사 수행부(130), 조합 서비스 실행부(140) 및 단위 서비스 저장부(150)로 구성될 수 있다.
워크플로우 표시부(110)는 복수 개의 단위 서비스의 목록을 표시하고, 복수 개의 단위 서비스 중 사용자로부터 선택된 적어도 두 개의 단위 서비스를 표시할 수 있다.
워크플로우 구성부(120)는 워크플로우 표시부(110)로부터 선택된 적어도 두 개의 단위 서비스를 연결함으로써 워크플로우를 구성할 수 있다. 도 2는 서비스 조합 프레임워크 시스템의 서비스 조합 과정을 나타낸 화면의 예로서, 모든 단위 서비스는 단위 서비스 메타모델을 기반으로 명세가 되어있어야 단위 서비스로 등록이 가능하고 서비스 프레임워크 시스템 내에서 동작할 수 있다. 프레임워크 시스템에 등록되어 있는 단위 서비스 목록(210)으로부터 조합에 필요한 단위 서비스들을 워크플로우에 추가할 수 있다. 워크플로우에 추가하는 과정에서 해당 단위 서비스의 명세에 기준 타입이 없는 경우는 타입을 지정할 수 있도록 사용자 입력 창을 제공할 수 있다. 예를 들면, 평균 통계 같은 경우 어떤 값을 기준으로 통계를 낼 것인지, 어떤 값에 대한 통계를 낼 것인지에 대한 기준을 타입 입력 값으로 지정할 수 있다.
서비스 조합을 위해서는 워크플로우에 추가한 각 서비스들을 연결해야 한다. 선행 서비스를 선택하여 connect 버튼을 통해 다른 서비스로 연결할 수 있고, 기본적으로 한 번에 하나의 서비스만 연결이 가능할 수 있다. 이때, 가시화 서비스는 모든 서비스 연계에서 마지막에 위치하는 서비스로 출력되는 값은 가시화된 지도나 그래프 등에 표시하는 서비스이므로 다른 서비스가 뒤에 올 수 없다. 예를 들면, 서비스 조합을 위해서 속도 조회, 평균 통계, 지도 가시화를 연결한다고 가정하면, 속도 조회 서비스를 선택한 후, connect 버튼을 통해 평균 통계 서비스를 연결할 수 있다. 이때, 지도 가시화 서비스는 지도로 표시하는 서비스이므로 마지막에 연결되어야 하므로, 평균 통계 서비스를 연결한 후, connect 버튼을 통해 지도 가시화 서비스를 연결하여 워크플로우를 구성할 수 있다.
일 실시예에 따른 단위 서비스들은 Add, Edit, Delete와 같은 버튼을 통해 조합에 필요한 단위 서비스들을 목록에 추가, 편집, 삭제를 할 수 있어, 구성하고자 하는 서비스를 동적으로 연결할 수 있다.
조합검사 수행부(130)는 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행할 수 있다. 조합검사 수행부(130)는 단위 서비스에 대응하는 서비스 명세 파일을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함관계를 검사할 수 있다. 예를 들면, 도 2를 참고하면, 구성된 워크플로우의 조합검사를 수행하기 위하여 Composition(230) 버튼을 이용하여 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사할 수 있다. 이때, 후행 서비스의 입력 데이터 중 사용자 입력 데이터를 제외한 입력 데이터의 모두가 선행 서비스의 출력 데이터에 포함되는 경우, 선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터의 포맷을 검사할 수 있다.
조합 서비스 실행부(140)는 조합검사에 따라 워크플로우를 구성하는 조합된 서비스를 실행할 수 있다. 예를 들면, 도 2를 참고하면, 조합검사를 수행한 후, 워크플로우를 구성하는 조합된 서비스를 실행하기 위하여 Execution(240) 버튼을 통해 조합 서비스를 실행할 수 있다. 이때, 워크플로우의 구성이 실행이 가능한지 여부를 검사하고, 워크플로우의 최초 서비스가 수집 서비스인지를 검사할 수 있다. 실행이 가능하다면 필요한 입력 값을 입력받아 각 단위 서비스를 차례로 실행할 수 있다.
단위 서비스 저장부(150)는 복수 개의 단위 서비스의 각각에 대응하는 실행 모듈 및 복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일을 유지할 수 있다. 예를 들면, 서비스 명세 파일은 xml 형식으로 작성되어 유지될 수 있다.
도 3은 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 동작을 나타낸 도면이다.
서비스 조합 프레임워크 시스템은 복수 개의 단위 서비스의 목록을 표시할 수 있다. 상기 복수 개의 단위 서비스의 각각에 대응하는 실행 모듈 및 복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일을 유지할 수 있다. 상기 복수 개의 단위 서비스 중 사용자로부터 선택된 적어도 두 개의 단위 서비스를 표시하고 선택된 적어도 두 개의 단위 서비스를 연결함으로써 워크플로우를 구성할 수 있다(301).
서비스 조합 프레임워크 시스템은 서비스 조합을 위해서는 워크플로우에 추가한 각 서비스들을 연결해야 하는데, 각 서비스들을 연결하여 워크플로우 구성이 완료되면 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사할 수 있다. 서비스 명세 기반의 단위 서비스 메타모델을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함관계를 검사할 수 있다(302). 이때, 후행 서비스의 모든 입력 데이터가 선행 서비스의 출력 데이터에 포함되는 관계가 올바른지 검사할 수 있다(303). 후행 서비스의 입력 데이터 중 사용자 입력 데이터를 제외한 입력 데이터 모두가 선행 서비스의 출력 데이터에 포함되는 경우, 선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터의 포맷을 검사할 있고(304), 후행 서비스의 입력 데이터 중 사용자 입력 데이터를 제외한 입력 데이터 모두가 선행 서비스의 출력 데이터에 포함되는 않는 경우, 서비스 조합 프레임워크 시스템은 단계(301)의 워크플로우를 재구성할 수 있다.
선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터의 포맷을 검사를 통해 선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터의 포맷이 동일 하다면(305), 입출력 데이터 값의 순서를 정렬(307)하고, 선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터의 포맷이 일치하지 않다면, 선행 서비스의 출력 데이터의 포맷을 후행 서비스의 입력 데이터의 포맷으로 변환한 후에(306), 입출력 데이터 값의 순서를 정렬(307)할 수 있다. 이때, 서비스 조합 프레임워크 시스템은 워크플로우에 추가하는 과정에서 해당 단위 서비스의 명세에 기준 타입이 없는 경우는 타입을 지정할 수 있도록 데이터 포맷 입력 창을 제공할 수 있다.
서비스의 조합 검사를 수행한 후, 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 워크플로우의 순서대로 단위 서비스들이 실행 가능한지 실행 검사를 수행할 수 있다(308). 실행이 가능(309)하다면, 워크플로우 순서대로 각 단위 서비스를 실행하고, 실행이 가능하면 필요한 사용자 입력 값을 입력받아 각 단위 서비스를 차례로 실행할 수 있다. 실행이 불가능하다면, 구성된 워크플로우를 실행하지 못하고 종료된다.
일 실시예에 따른 서비스 조합 프레임워크 시스템은 조합검사를 수행하여 구성된 서비스는 하나의 완성된 조합 서비스를 통해 최적화된 서비스를 제공할 수 있으며, 조합된 서비스는 단위 서비스로 제공될 수 있어 데이터를 효율적으로 이용할 수 있다.
도 4는 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 단위 서비스 메타 모델을 나타낸 도면이다.
도 4는 서비스 조합 프레임워크 시스템의 메타 모델(400)을 나타낸 것으로, 서비스(Service)(410)는 단위 서비스를 의미할 수 있으며, 단위 서비스는 서비스의 이름(name)과 타입(type)을 가질 수 있다. 서비스 타입(type)은 단위 서비스의 기능을 구분하기 위한 것으로, 수집(inquery), 가공(statistics), 가시화(visualization) 중 적어도 하나를 포함할 수 있다. 이때, 가시화 서비스는 모든 서비스 연계에서 마지막에 위치하는 서비스이기 때문에 지도나 그래프 등과 같이 표시될 수 있는 서비스이다. 다시 말해서, 가시화 서비스는 가시화 서비스 다음에 다른 서비스가 뒤에 올 수 없고, 선행 서비스가 가시화 서비스인 경우에는 후행 서비스로 어떠한 서비스도 연결할 수 없다.
입력 데이터(input)(420)는 서비스의 입력이 될 데이터들의 속성을 포함할 수 있으며, 서비스에 따라 복수 개의 입력 데이터(420)가 존재할 수 있다. 이때, 복수 개의 입력 데이터(420) 중 반드시 입력해야 할 입력 데이터(420)는 mandatory가 true가 되고, 반드시 입력할 필요가 없는 입력 데이터(420)는 mandatory가 false가 된다. 또한, 입력 데이터(420)가 반복적으로 필요한 경우는 repetition이 true가 되고, 입력 데이터(420)가 반복적으로 필요하지 않은 경우는 repetition이 false가 된다. 예를 들면, < input mandatory='false', repetition='false'> 라면, 입력 데이터는 반드시 입력할 필요가 없고, 입력 데이터를 반복적으로 필요하지 않은 것을 의미할 수 있으며, < input mandatory='false', repetition='true'> 라면, 입력 데이터는 반드시 입력할 필요가 없지만, 입력 데이터를 반복적으로 필요하다는 것을 의미할 수 있다. 또한, < input mandatory='true', repetition='false'> 라면, 입력 데이터는 반드시 입력해야 하지만, 입력 데이터를 반복적으로 필요하지는 않은 것을 의미할 수 있고, < input mandatory='true', repetition='true'> 라면, 입력 데이터는 반드시 입력해야 하고, 입력 데이터를 반복적으로 필요하다는 것을 의미할 수 있다.
출력 데이터(output)(430)는 단위 서비스의 출력 데이터의 속성과 값의 정보를 포함할 수 있다. 출력 데이터(430)는 서비스에 따라 text, graph, map 등의 다양한 타입(type)이 될 수 있다. 출력 데이터(430)는 입력 데이터와 마찬가지로, 같은 출력 데이터(430)가 반복적으로 나오는 경우는 repetition이 true가 될 수 있다. 예를 들면, 출력 데이터는 <output type='text', repetition='true'> 라면, 출력 데이터는 text 형태로 반복적으로 출력될 수 있다. <output type='graph', repetition='true'> 라면, 출력 데이터는 예를 들면, 꺾은선 그래프, 원 그래프와 같은 그래프로 반복적으로 출력될 수 있고, <output type='map', repetition='true'> 라면, 출력 데이터는 map 형태로 반복적으로 출력될 수 있다. 또한, <output type='text', repetition='false'> 라면, 출력 데이터는 text형태로 출력될 수 있으며, 출력 데이터는 반복적으로 출력되지 않음을 의미할 수 있고, <output type='graph', repetition='false'> 라면, 출력 데이터는 graph 형태로 출력될 수 있으며, 출력 데이터는 반복적으로 출력되지 않음을 의미할 수 있다. <output type='map', repetition='false'> 라면, 출력 데이터는 map형태로 출력될 수 있으며, 출력 데이터는 반복적으로 출력되지 않음을 의미할 수 있다.
단위 서비스는 입력 데이터가 특정 타입으로 한정되지 않는 경우가 있을 수 있다. 이때, type_conf(440)를 통해 단위 서비스에서 사용되는 입력 데이터(420)의 데이터 타입을 결정할 수 있다. type_conf(440)는 지정할 입력 데이터(420)의 이름을 name 속성으로 표현하고, multiplicity는 같은 타입의 데이터가 다수인 경우 *, 하나인 경우는 1로 표현될 수 있다.
데이터(data)(450)는 단위 서비스에서 사용되는 데이터로서, 미리 정의된 데이터 타입을 의미할 수 있다. 예를 들면, date, time, speed와 같이 프레임워크에 정의된 defType (440)중 하나의 값을 타입으로 가질 수 있다. 그리고 같은 타입의 데이터가 다수인 경우, multiplicity가 *, 하나인 경우는 1이 될 수 있다.
유저 데이터(user_data)(460)는 사용자가 입력해야 되는 데이터로서, 사용자가 입력해야 하는 정보가 있는 경우에 사용될 수 있다. 유저 데이터(460)는 데이터의 모든 속성을 가질 수 있고, name은 입력 받을 값의 이름을 의미할 수 있다. 유저 데이터(460)는 서비스 실행 과정에서 사용자로부터 값을 입력 받을 수 있다. 또한, 조합 검사 과정에서는 입력 데이터 중 유저 데이터(460)에 대해서는 포맷 등을 검사하지 않을 수 있다.
도 5는 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 단위 서비스 메타 모델을 통한 서비스 명세 및 조합 검사를 나타낸 예이다.
도 5는 서비스 조합 프레임워크 시스템의 단위 서비스 메타 모델을 통한 서비스 명세 및 조합 검사를 나타낸 예로서, 도 4에서 설명한 단위 서비스 메타 모델을 기반으로 적용될 수 있다. 또한, 워크플로우에서 조합 검사를 수행하기 위해서는 적어도 두 개 이상의 서비스가 워크플로우 상에서 연결이 되어 있어야 한다.
도 5는 선행 서비스의 출력 데이터의 타입과 와 후행 서비스의 입력 데이터의 타입이 명확한 경우로, 단위 서비스에 대응하는 서비스 명세 파일을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함 관계를 검사할 수 있다.
복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일은 xml로 작성될 수 있으며, 선행 서비스는 속도 조회 서비스, 후행 서비스는 소요 시간 계산 서비스가 될 수 있다. 속도 조회 서비스 명세를 보면, Service name은 속도 조회 서비스이고, 타입(501)은 수집 서비스로 구성될 수 있다. 속도 조회 서비스에서 입력 데이터는 반드시 입력해야 할 데이터를 나타내는 mandatory가 false이므로, 입력 데이터는 반드시 입력할 필요가 없으며, 입력 데이터가 반복적으로 필요한 지를 나타내는 repetition 역시 false이므로 입력데이터가 반복적으로 필요하지는 않다. 고속도로 구간에 대한 id를 나타내는 cz_id 타입은 데이터가 다수일 수 있으므로 multiplicity가 *, 날짜를 나타내는 date 타입은 데이터를 다수일 수 있으므로 multiplicity가 *, 포맷은 년, 월, 일을 나타내는 %Y%M%D을 갖고, 시간을 나타내는 time 데이터 타입은 데이터를 다수일 수 있으므로 multiplicity가 *, 포맷은 시, 분을 나타내는 %H%M을 가질 수 있다.
출력 데이터는 텍스트로 나타낼 수 있으며, 반복적으로 출력 데이터를 출력할 필요가 있다. cz_id 타입(502)의 데이터는 하나의 값만 출력될 수 있으며, date 타입(502)의 데이터는 하나의 값만 출력될 수 있으며, 포맷(503)은 년, 월, 일을 나타내는 %Y%M%D의 형식으로 출력될 수 있다. time 타입(502)의 데이터는 하나의 값만 출력될 수 있으며, 포맷(503)은 시, 분을 나타내는 %H%M의 형식으로 출력될 수 있다. 이를 통해, 고속도로 구간, 날짜, 시간의 데이터를 수집하게 됨으로써 speed 값을 출력할 수 있게 된다.
소요 시간 계산 서비스 명세를 보면, Service name은 소요 시간 계산 서비스이고, 타입(501)은 가공 서비스로 구성될 수 있다. 이때, 속도 조회 서비스는 워크플로우 구성에서 가장 처음에 오는 서비스이므로 수집 서비스가 되어야 하고, 소요 시간 계산 서비스는 워크플로우 구성에서 가장 처음에 오는 서비스가 아니기 때문에 가공 서비스여도 무방하다.
소요 시간 계산 서비스에서 반드시 입력해야 할 입력 데이터는 mandatory가 true이므로, 입력 데이터는 반드시 입력되어야 하며, 입력 데이터가 반복적으로 필요한 지를 나타내는 repetition은 false이므로 입력 데이터가 반복적으로 필요하지는 않다. 소요 시간 계산 서비스에서 입력 데이터는 사용자 데이터(user data)가 입력되어야 하는데, 시작 시간, 종료 시간, 시간 간격에 대하여 데이터가 사용자에 의해 입력되어야 한다. 시작 시간, 종료 시간, 시간 간격에 대한 타입은 time이고, multiplicity가 1이므로 데이터는 하나일 수 있고, 시작 시간 및 종료 시간에 대한 포맷은 시, 분을 나타내는 %H%M, 시간 간격에 대한 포맷은 분을 나타내는 %M을 가질 수 있다.
또한, 소요 시간 계산 서비스에서 입력 데이터는 반드시 입력해야 할 입력 데이터를 나타내는 mandatory가 true이므로, 입력 데이터는 반드시 입력되어야 하며, 입력 데이터가 반복적으로 필요한 지를 나타내는 repetition도 역시 true이므로 입력 데이터가 반복적으로 필요하다. link_id 타입(512)은 하나의 데이터가 입력될 수 있으므로 multiplicity가 1, 날짜를 나타내는 date 타입(512)은 하나의 데이터가 입력될 수 있으므로 multiplicity가 1, 포맷(513)은 년, 월, 일을 나타내는 %Y%M%D을 갖고, 시간을 나타내는 time 데이터 타입(512)은 하나의 데이터가 입력될 수 있으므로 multiplicity가 1, 포맷(513)은 시, 분을 나타내는 %H%M을 가질 수 있다. 속도를 나타내는 speed 타입은 하나의 데이터가 입력될 수 있으므로 multiplicity가 1 일 수 있다.
소요 시간 계산 서비스에서 출력 데이터는 텍스트 형태로 출력될 수 있으며, 출력 데이터가 반복적으로 출력되는 지를 나타내는 repetition은 true이므로, 출력 데이터는 반복적으로 출력될 수 있다. time 타입에서 데이터는 하나의 값만 출력될 수 있으며, 포맷은 시와 분을 나타내는 %H%M의 형식으로 출력될 수 있고, time_span의 타입에서 데이터는 하나의 값만 출력될 수 있다.
일 실시예를 통해 서비스 조합 프레임워크 시스템은 서비스 명세 파일을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함 관계를 검사함으로써 조합 검사를 수행할 수 있다. 이때, 후행 서비스의 입력 데이터 중 사용자 입력 데이터를 제외한 입력 데이터의 모두가 선행 서비스의 출력 데이터에 포함되는 경우, 선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터의 포맷을 검사할 수 있으며, 선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터의 포맷이 일치하지 않는 경우, 선행 서비스의 출력 데이터의 포맷을 후행 서비스의 입력 데이터의 포맷으로 변환한 후에 서비스를 연결할 수 있다.
도 6는 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 단위 서비스 메타 모델을 통한 서비스 명세 및 조합 검사를 나타낸 또 다른 예이다.
도 6은 속도 조회 명세와 평균 통계 명세는 xml로 작성될 수 있으며, 선행 서비스는 속도 조회 서비스, 후행 서비스는 평균 통계 서비스가 될 수 있다. 속도 조회 서비스 명세를 보면, Service name은 속도 조회 서비스이고, 타입(601)은 수집 서비스로 구성될 수 있다.
속도 조회 서비스에서 입력 데이터는 반드시 입력해야 할 데이터를 나타내는 mandatory가 false이므로, 입력 데이터는 반드시 입력될 필요가 없으며, 입력 데이터가 반복적으로 필요한 지를 나타내는 repetition 역시 false이므로 입력데이터가 반복적으로 필요하지는 않다. 고속도로 구간에 대한 id를 나타내는 cz_id 타입은 데이터가 다수일 수 있으므로 multiplicity가 *, 날짜를 나타내는 date 타입은 데이터를 다수일 수 있으므로 multiplicity가 *, 포맷은 년, 월, 일을 나타내는 %Y%M%D을 갖고, 시간을 나타내는 time 데이터 타입은 데이터를 다수일 수 있으므로 multiplicity가 *, 포맷은 시, 분을 나타내는 %H%M을 가질 수 있다.
속도 조회 서비스에서 출력 데이터는 텍스트 형태로 나타낼 수 있으며, 반복적으로 출력 데이터를 출력할 수 있다. cz_id 타입(502)의 데이터는 하나의 값만 출력될 수 있으며, date 타입(502)의 데이터는 하나의 값만 출력될 수 있으며, 포맷(503)은 년, 월, 일을 나타내는 %Y%M%D의 형식으로 출력될 수 있다. time 타입(502)의 데이터는 하나의 값만 출력될 수 있으며, 포맷(503)은 시, 분을 나타내는 %H%M의 형식으로 출력될 수 있다. 이를 통해, 고속도로 구간, 날짜, 시간의 데이터를 수집하게 됨으로써 speed 값을 출력할 수 있게 된다.
평균 통계 명세에서 서비스에서 Service name은 평균 통계 서비스이고, 타입은 가공 서비스로 구성될 수 있다. 평균 통계 서비스에서 입력 데이터는 입력 데이터의 타입이 정의되어 있지 않은 경우(602)로, type_conf를 포함하고 입출력 데이터로 any 타입을 가질 수 있다. 기준에 대한 type_conf 입출력 데이터는 다수일 수 있으므로, multiplicity가 *, 대상 값에 대한 type_conf 입출력 데이터는 하나일 수 있으므로 multiplicity가 1이 될 수 있다.
평균 통계 서비스에서 반드시 입력해야 할 입력 데이터를 나타내는 mandatory가 true이므로, 입력 데이터는 반드시 입력되어야 하며, 입력 데이터가 반복적으로 필요한 지를 나타내는 repetition은 true이므로 입력 데이터가 반복적으로 필요하다. 기준과 대상 값에 대한 데이터가 type-conf이므로, 입력 데이터는 any 타입(603)을 가질 수 있으며, 기준에 대한 입력 데이터는 다수의 값이 입력 될 수 있으며, 대상 값에 대한 입력 데이터는 하나의 값이 입력될 수 있다.
평균 통계 서비스에서 출력 데이터는 텍스트로 나타낼 수 있으며, 반복적으로 출력 데이터를 출력할 필요가 있다. 출력 데이터는 any 타입으로 출력할 수 있고, 기준에 대한 출력 데이터는 하나의 값이 출력 될 수 있고, 대상 값에 대한 출력 데이터도 마찬가지로 하나의 값이 출력될 수 있다.
하지만 입출력 데이터로 any 타입, 다시 말해서, 어떠한 형태라도 올 수 있는 타입을 가지고 있다고 해도 서비스를 처음 구성할 때 타입을 정하기 때문에 정해진 형식에 어긋난다면 조합 수행을 할 수 없다고 판단할 수 있다. 특정 서비스의 any 타입에 대해 지정된 타입은 별도로 저장되어 있으므로 입출력 검사를 수행할 수 있다.
도 7은 본 발명의 일실시예에 따른 서비스 조합 프레임워크 시스템의 서비스 조합 방법을 나타낸 흐름도이다.
서비스를 조합하는 방법은 서비스 조합 프레임워크 시스템에 의해 수행될 수 있으며, 서비스 조합 프레임워크 시스템에 대한 설명은 도 1을 참고하기로 한다.
단계(710)에서 서비스 조합 프레임워크 시스템은 복수 개의 단위 서비스 목록을 표시할 수 있다.
단계(720)에서 서비스 조합 프레임워크 시스템은 복수 개의 단위 서비스의 각각에 대응하는 실행 모듈 및 복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일을 유지할 수 있다.
단계(730)에서 서비스 조합 프레임워크 시스템은 복수 개의 단위 서비스 중 사용자로부터 선택된 적어도 두 개의 단위 서비스를 표시하고, 선택된 적어도 두 개의 단위 서비스를 연결함으로써 워크플로우를 구성할 수 있다.
단계(740)에서 서비스 조합 프레임워크 시스템은 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행할 수 있다. 조합검사는 단위 서비스에 대응하는 서비스 명세 파일을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함 관계를 검사할 수 있다. 후행 서비스의 입력 데이터 중 사용자에 의해 입력된 데이터를 제외한 입력 데이터의 모두가 선행 서비스의 출력 데이터에 포함되는 경우, 선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터의 포맷을 검사할 수 있다. 이때, 선행 서비스의 출력 데이터 및 후행 서비스의 입력 데이터 포맷이 일치하지 않는 경우, 선행 서비스의 출력 데이터의 포맷을 상기 후행 서비스의 입력 데이터의 포맷으로 변환할 수 있다. 그 후, 후행 서비스의 서비스 명세 파일을 참조하여, 후행 서비스의 입력 데이터의 포맷이 어떤 포맷도 가능함을 지시하는 경우, 입력 데이터의 포맷의 입력을 위한 데이터 포맷 입력창을 출력할 수 있다.
단계(750)에서 서비스 조합 프레임워크 시스템은 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 워크플로우의 순서대로 단위 서비스들이 실행 가능한지 실행 검사를 수행할 수 있다. 워크플로우를 구성하는 조합된 서비스 중 적어도 하나의 입력 데이터가 사용자 데이터를 포함하는 경우, 사용자 데이터 입력을 위한 사용자 데이터 입력창을 출력할 수 있다. 이때, 워크플로우를 구성하는 조합된 서비스가 입력 데이터로 사용자 데이터를 포함하는 경우, 사용자 데이터가 모두 입력되었는지 검사하고, 사용자 데이터가 모두 입력되지 않은 경우, 워크플로우의 순서대로 단위 서비스들이 실행 가능하지 않다고 출력할 수 있다.
단계(760)에서 서비스 조합 프레임워크 시스템은 조합검사에 따라 워크플로우를 구성하는 조합된 서비스를 실행할 수 있다.
일 실시예에 따른 서비스 조합 프레임워크 시스템은 빅데이터를 활용함으로써 맞춤형 서비스를 지원할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 서비스 조합 프레임워크 시스템
110: 워크플로우 표시부
120: 워크플로우 구성부
130: 조합검사 수행부
140: 조합 서비스 실행부
150: 단위 서비스 저장부

Claims (17)

  1. 복수 개의 단위 서비스를 조합하는 서비스 조합 프레임워크 시스템에 있어서,
    복수 개의 단위 서비스의 목록을 표시하고, 상기 복수 개의 단위 서비스 중 사용자로부터 선택된 적어도 두 개의 단위 서비스를 표시하는 워크플로우 표시부;
    상기 선택된 적어도 두 개의 단위 서비스를 연결함으로써 워크플로우를 구성하는 워크플로우 구성부;
    상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 조합검사 수행부; 및
    상기 조합검사에 따라 상기 워크플로우를 구성하는 조합된 서비스를 실행하는 조합 서비스 실행부
    를 포함하는 서비스 조합 프레임워크 시스템.
  2. 제1항에 있어서,
    상기 복수 개의 단위 서비스의 각각에 대응하는 실행 모듈 및 상기 복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일을 유지하는 단위 서비스 저장부
    를 더 포함하는 서비스 조합 프레임워크 시스템.
  3. 제2항에 있어서,
    상기 조합검사 수행부는,
    상기 단위 서비스에 대응하는 서비스 명세 파일을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함 관계를 검사하는
    서비스 조합 프레임워크 시스템.
  4. 제3항에 있어서,
    상기 조합검사 수행부는,
    상기 후행 서비스의 입력 데이터 중 사용자 입력 데이터를 제외한 입력 데이터의 모두가 상기 선행 서비스의 출력 데이터에 포함되는 경우, 상기 선행 서비스의 출력 데이터 및 상기 후행 서비스의 입력 데이터의 포맷을 검사하는
    서비스 조합 프레임워크 시스템.
  5. 제4항에 있어서,
    상기 조합검사 수행부는,
    상기 선행 서비스의 출력 데이터 및 상기 후행 서비스의 입력 데이터의 포맷이 일치하지 않는 경우, 상기 선행 서비스의 출력 데이터의 포맷을 상기 후행 서비스의 입력 데이터의 포맷으로 변환하는
    서비스 조합 프레임워크 시스템.
  6. 제2항에 있어서,
    상기 단위 서비스의 타입(type)은,
    수집(inquiry) 서비스, 가공(statistics) 서비스 및 가시화(visualization) 서비스 중 적어도 하나
    를 포함하고,
    상기 서비스 명세 파일은,
    대응하는 단위 서비스의 타입에 관한 정보
    를 포함하고,
    상기 조합검사 수행부는,
    선행 서비스의 타입이 가시화 서비스인 경우, 조합 불가능으로 판단하는
    서비스 조합 프레임워크 시스템.
  7. 서비스를 조합하는 방법에 있어서,
    복수 개의 단위 서비스의 목록을 표시하는 단계;
    상기 복수 개의 단위 서비스 중 사용자로부터 선택된 적어도 두 개의 단위 서비스를 표시하고, 상기 선택된 적어도 두 개의 단위 서비스를 연결함으로써 워크플로우를 구성하는 단계;
    상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계; 및
    상기 조합검사에 따라 상기 워크플로우를 구성하는 조합된 서비스를 실행하는 단계
    를 포함하는 서비스 조합 방법.
  8. 제7항에 있어서,
    상기 복수 개의 단위 서비스의 각각에 대응하는 실행 모듈 및 상기 복수 개의 단위 서비스의 각각에 대응하는 서비스 명세 파일을 유지하는 단계
    를 더 포함하는 서비스 조합 방법.
  9. 제7항에 있어서,
    상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는,
    상기 단위 서비스에 대응하는 서비스 명세 파일을 참조하여 선행 서비스의 출력 데이터와 후행 서비스의 입력 데이터 간의 포함 관계를 검사하는 단계
    를 포함하는 서비스 조합 방법.
  10. 제9항에 있어서,
    상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는,
    상기 후행 서비스의 입력 데이터 중 사용자 입력 데이터를 제외한 입력 데이터의 모두가 상기 선행 서비스의 출력 데이터에 포함되는 경우, 상기 선행 서비스의 출력 데이터 및 상기 후행 서비스의 입력 데이터의 포맷을 검사하는 단계
    를 포함하는 서비스 조합 방법.
  11. 제10항에 있어서,
    상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는,
    상기 선행 서비스의 출력 데이터 및 상기 후행 서비스의 입력 데이터의 포맷이 일치하지 않는 경우, 상기 선행 서비스의 출력 데이터의 포맷을 상기 후행 서비스의 입력 데이터의 포맷으로 변환하는 단계
    를 포함하는 서비스 조합 방법.
  12. 제11항에 있어서,
    상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는,
    상기 후행 서비스의 서비스 명세 파일을 참조하여, 상기 후행 서비스의 입력 데이터의 포맷이 어떤 포맷도 가능함을 지시하는 경우, 상기 입력 데이터의 포맷의 입력을 위한 데이터 포맷 입력창을 출력하는 단계
    를 포함하는 서비스 조합 방법.
  13. 제8항에 있어서,
    상기 단위 서비스의 타입(type)은,
    수집(inquiry) 서비스, 가공(statistics) 서비스 및 가시화(visualization) 서비스 중 적어도 하나
    를 포함하고,
    상기 서비스 명세 파일은,
    대응하는 단위 서비스의 타입에 관한 정보
    를 포함하고,
    상기 구성된 워크플로우 내의 모든 단위 서비스들이 조합이 가능한지 여부를 검사하는 조합검사를 수행하는 단계는,
    선행 서비스의 타입이 가시화 서비스인 경우, 조합 불가능으로 판단하는 단계
    를 포함하는 서비스 조합 방법.
  14. 제7항에 있어서,
    상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계
    를 더 포함하는 서비스 조합 방법.
  15. 제14항에 있어서,
    상기 단위 서비스의 타입(type)은,
    수집(inquiry) 서비스, 가공(statistics) 서비스 및 가시화(visualization) 서비스 중 적어도 하나
    를 포함하고,
    상기 서비스 명세 파일은,
    대응하는 단위 서비스의 타입에 관한 정보
    를 포함하고,
    상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계는,
    상기 워크플로우의 최초 서비스가 수집 서비스인지 판단하는 단계
    를 포함하는 서비스 조합 방법.
  16. 제7항에 있어서,
    상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계는,
    상기 워크플로우를 구성하는 조합된 서비스 중 적어도 하나의 입력 데이터가 사용자 데이터를 포함하는 경우, 상기 사용자 데이터의 입력을 위한 사용자 데이터 입력창을 출력하는 단계
    를 포함하는 서비스 조합 방법.
  17. 제16항에 있어서,
    상기 구성된 워크플로우 내의 모든 단위 서비스들의 타입을 참조하여 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능한지 실행 검사를 수행하는 단계는,
    상기 워크플로우를 구성하는 조합된 서비스가 입력 데이터로 사용자 데이터를 포함하는 경우, 상기 사용자 데이터가 모두 입력되었는지 검사하는 단계; 및
    상기 사용자 데이터가 모두 입력되지 않은 경우, 상기 워크플로우의 순서대로 상기 단위 서비스들이 실행 가능하지 않다고 출력하는 단계
    를 더 포함하는 서비스 조합 방법.
KR1020130157018A 2013-12-17 2013-12-17 교통 빅데이터 서비스 조합 프레임워크 KR101574396B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130157018A KR101574396B1 (ko) 2013-12-17 2013-12-17 교통 빅데이터 서비스 조합 프레임워크

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130157018A KR101574396B1 (ko) 2013-12-17 2013-12-17 교통 빅데이터 서비스 조합 프레임워크

Publications (2)

Publication Number Publication Date
KR20150070606A true KR20150070606A (ko) 2015-06-25
KR101574396B1 KR101574396B1 (ko) 2015-12-04

Family

ID=53517132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130157018A KR101574396B1 (ko) 2013-12-17 2013-12-17 교통 빅데이터 서비스 조합 프레임워크

Country Status (1)

Country Link
KR (1) KR101574396B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190043446A (ko) * 2017-10-18 2019-04-26 한국전자통신연구원 워크플로우 엔진 프레임워크
US11036539B2 (en) 2017-10-18 2021-06-15 Electronics And Telecommunications Research Institute Workflow engine framework

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3964259B2 (ja) * 2002-05-10 2007-08-22 富士通株式会社 プログラム生成装置、及びプログラム生成方法、並びにプログラム生成用プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190043446A (ko) * 2017-10-18 2019-04-26 한국전자통신연구원 워크플로우 엔진 프레임워크
US11036539B2 (en) 2017-10-18 2021-06-15 Electronics And Telecommunications Research Institute Workflow engine framework

Also Published As

Publication number Publication date
KR101574396B1 (ko) 2015-12-04

Similar Documents

Publication Publication Date Title
CN110914818B (zh) 数据流图配置
JP6985350B2 (ja) データ系統の要約
JP6388711B2 (ja) 高速鉄道車両の快速設計方法及びシステム
KR101631978B1 (ko) 데이터세트 요소의 매핑
US8589884B2 (en) Method and system for identifying regression test cases for a software
EP2909750B1 (en) Specifying and applying rules to data
Florez et al. A catalog of automated analysis methods for enterprise models
CA2732643C (en) Configurable hierarchical tree view
CN111427748B (zh) 任务告警方法、系统、设备及存储介质
US20130167017A1 (en) Display processing device, display processing method, and information storage medium storing program
US9244813B2 (en) Software tracing using extensible markup language messages
CN105122733B (zh) 队列监控和可视化
US20180165385A1 (en) Constructing and enhancing a deployment pattern
US20170193375A1 (en) Rule guided fabrication of structured data and messages
US20130006888A1 (en) Autotagging Business Processes
KR101574396B1 (ko) 교통 빅데이터 서비스 조합 프레임워크
US9164746B2 (en) Automatic topology extraction and plotting with correlation to real time analytic data
CN101495978B (zh) 减少总线连接的消费者和产生者之间的消息流
US9767170B2 (en) Storage area network zone optimization
CN113568614A (zh) 任务发布方法、电子设备及存储介质
JP2009245177A (ja) フィーチャーモデル作成支援装置及びプログラム
EP1933235A2 (en) Grid modeling tool
CN103186551A (zh) 基于web应用平台的异常分析方法及仿真系统
US20160364218A1 (en) Joining operator graph elements via whole program optimization
Korrapati Design and Development of Weather Monitoring System for the Port Mann Bridge

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20181101

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191030

Year of fee payment: 5