KR20130085856A - 이종 웹서비스의 조합 응용에서 웹서비스 호출을 위한 위젯 자동 생성 방법 및 그 장치 - Google Patents

이종 웹서비스의 조합 응용에서 웹서비스 호출을 위한 위젯 자동 생성 방법 및 그 장치 Download PDF

Info

Publication number
KR20130085856A
KR20130085856A KR1020120006973A KR20120006973A KR20130085856A KR 20130085856 A KR20130085856 A KR 20130085856A KR 1020120006973 A KR1020120006973 A KR 1020120006973A KR 20120006973 A KR20120006973 A KR 20120006973A KR 20130085856 A KR20130085856 A KR 20130085856A
Authority
KR
South Korea
Prior art keywords
service
web
web service
combination application
code
Prior art date
Application number
KR1020120006973A
Other languages
English (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 KR1020120006973A priority Critical patent/KR20130085856A/ko
Priority to US13/679,217 priority patent/US20130191726A1/en
Publication of KR20130085856A publication Critical patent/KR20130085856A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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

Abstract

이종 웹서비스 조합응용 개발환경 제공장치 및 그 방법이 개시된다. 본 발명의 일 실시예에 따른 조합응용 개발환경 제공장치는 조합응용을 형성하는 웹서비스들을 검색하여 조합하고, 조합응용을 실행하기 위한 실행코드를 생성하며, 생성된 실행코드를 웹브라우저로 렌더링하여 조합응용을 실행한다.

Description

이종 웹서비스의 조합 응용에서 웹서비스 호출을 위한 위젯 자동 생성 방법 및 그 장치 {Method and apparatus for creating automatically a widget to invoke heterogeneous web services in a composite application}
본 발명의 일 양상은 응용 소프트웨어 기술에 관한 것으로, 보다 상세하게는 웹서비스 조합에 관한 기술에 관한 것이다.
SOA 기반의 웹서비스들이 웹에 공개되고 그 수가 크게 늘어나면서, 서비스 조합 또는 매쉬업 기술의 핵심자원으로 여겨지고 있다. 그러나 웹서비스 기술은 다양한 형태, 예를 들면 SOAP 서비스, RESTful 서비스 등으로 실현되고 있다. 따라서, 이들을 구분없이 조합하여 새로운 서비스를 개발하기 위해서는 현실적인 제약, 예를 들면 인증, 권한, Same Origin Policy, 실행 환경 등의 제약이 따른다.
특히 웹서비스를 호출하는 프로그래밍 시에는 웹서비스의 제공 방법에 따라 적합한 프로토콜로 인코딩 및 디코딩해야 하고, 인증 절차를 거쳐야 하며, 실행될 플랫폼에 의존적인 프로그래밍 방법을 따라야 한다. 또한 실행 플랫폼이 변경되면 기존의 코드는 재사용할 수 없다. 이와 같이 웹서비스 조합 또는 매쉬업은 주어진 개발환경과 실행환경에 맞추어 개발자가 직접 프로그래밍하는 방식으로 진행되고 있다. 대표적인 웹서비스 조합 기술인 BPEL-WS(Business Process Execution Language for Web Services) 개발환경에서 서비스를 조합하고 실행코드를 자동생성하는 방법이 있기는 하나, 이는 BPEL-WS 엔진에서만 작동하는 BPEL 코드이기 때문에 이 코드를 실행하려면 반드시 BPEL 엔진이라는 특수한 실행 플랫폼이 필요하다.
선행기술 미국 공개특허 20100162274에는 일반 웹 응용을 데스크탑 위젯으로 생성하는 기술에 대해, 미국 공개특허 20090172567에는 다수의 웹 페이지들의 느슨한 통합을 위한 내비게이션 위젯을 동적으로 부가하는 기술에 대해, 한국 공개특허 제2011-0060419호에는 웹 기반 UI 구현을 위한 자바스크립트 코드를 생성하기 위한 기술에 대해 각각 개시하고 있다.
일 양상에 따라, 디바이스 및 플랫폼에 상관없이 웹서비스가 조합된 응용을 자유롭게 자동실행시킬 수 있는 이종 웹서비스 조합응용 개발환경 제공장치 및 그 방법을 제안한다.
일 양상에 따른 이종 웹서비스 조합응용 개발환경 제공장치는, 조합응용을 형성하는 웹서비스들을 검색하여 조합하는 웹서비스 조합부와, 조합응용을 실행하기 위한 실행코드를 생성하는 실행코드 생성부와, 생성된 실행코드를 웹브라우저로 렌더링하여 조합응용을 실행하는 조합응용 실행부를 포함한다.
다른 양상에 따른 이종 웹서비스 조합응용 개발환경 제공방법은, 조합응용을 형성하는 웹서비스들을 검색하여 조합하는 단계와, 조합응용을 실행하기 위한 실행코드를 생성하는 단계와, 생성된 실행코드를 웹브라우저로 렌더링하여 조합응용을 실행하는 단계를 포함한다.
또 다른 양상에 따른 이종 웹서비스 조합응용 개발환경 제공방법은, 응용 개발자가 웹서비스를 검색하기 위한 검색 창과, 검색한 웹서비스를 조합하여 조합응용을 개발하기 위한 편집 창을 제공하는 단계와, 제공된 편집 창 내에서 조합응용을 구성하는 웹서비스를 호출하기 위해 웹브라우저를 이용하여 웹서비스 별로 자바스크립트 기반의 위젯을 제공하는 단계와, 위젯을 이용하여 조합응용을 웹브라우저에서 실행하기 위해, 접근코드 획득, 웹서비스 호출 및 호출중지 기능을 포함하는 사용자 인터페이스를 제공하는 단계를 포함한다.
일 실시예에 따르면, 디바이스 또는 플랫폼에 상관없이 웹서비스 조합응용 개발을 용이하게 할 수 있다. 즉, 데스크탑 컴퓨터, 랩탑 컴퓨터, 모바일 폰, 스마트 TV 등 모든 인터넷 디바이스에서 사용 가능한 웹브라우저 상에서 웹서비스가 조합된 응용을 개발 및 실행시킬 수 있다.
또한, 조합될 웹서비스 관련 메타정보를 사전에 취득하여 서비스 레지스트리에 저장하고 이를 응용 조합 및 실행 과정에 적용함으로써 서비스 실행코드 자동 생성과 승인에 활용할 수 있다.
또한, 이종 웹서비스 형태를 응용 개발자가 인지하지 않더라도 웹서비스 형태 별로 자동으로 호출방법이 결정되어 이를 실행코드 생성에 반영할 수 있으므로 개발환경의 자동화 수준을 높일 수 있다.
또한, 서비스 실행 시 호출에 필요한 접근코드를 응용 개발자가 직접 다룰 수 있어 개발환경의 편의성을 높일 수 있다.
결론적으로, 응용 개발자가 웹서비스의 종류와 특성에 관계없이 이종 웹서비스를 조합하고 조합응용 실행코드를 실시간으로 생성해 냄으로써 응용 개발기간을 단축시킬 수 있다. 그리고, 응용 개발자가 프로그래밍 언어나 웹서비스에 숙련된 전문가가 아니더라도 웹서비스 조합응용 개발을 용이하게 할 수 있어서, 응용 개발절차와 시간 등 총 개발비용을 절감하는 효과가 있다. 그리고, 생성된 실행 코드는 웹 브라우저에서 실행 가능하므로 응용의 활용도를 높일 수 있다.
도 1은 본 발명이 적용되는 이종 웹서비스 조합응용 개발환경에서 웹서비스 호출을 위한 조합응용 실행코드 자동생성 개념을 설명하기 위한 참조도,
도 2는 본 발명의 일 실시예에 따른 이종 웹서비스 조합응용 개발환경 제공장치(2)의 구성도,
도 3은 본 발명의 일 실시예에 따른 이종 웹서비스 조합응용 개발환경 제공장치(2)를 통해 제공되는 GUI의 예시도,
도 4는 본 발명의 일 실시예에 따라 이종 웹서비스 별로 실행코드를 포함하고 있는 위젯의 구성도와 그 기능을 도시한 참조도,
도 5는 본 발명의 일 실시예에 따른 이종 웹서비스 조합응용 개발환경 제공방법을 도시한 흐름도,
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 이종 웹서비스 조합응용 개발환경 제공방법을 세부적으로 도시한 흐름도,
도 7a 내지 도 7c는 본 발명의 일 실시예에 따라 실행코드 생성 및 이종 웹서비스 조합응용 실행 프로세스를 세부적으로 도시한 흐름도이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명이 적용되는 이종 웹서비스 조합응용 개발환경(2)에서 웹서비스 호출을 위한 조합응용 실행코드 자동생성 개념을 설명하기 위한 참조도이다.
응용 개발자(이하 '개발자'라 칭함)(1)는 웹서비스를 조합하여 새로운 조합응용을 개발하고자 하는 소프트웨어 개발자이다. 본 발명은 개발자(1)가 프로그래밍 언어나 웹서비스에 숙련된 전문가가 아니더라도 디바이스 또는 플랫폼에 상관없이 웹서비스 조합응용 개발을 용이하게 하여, 응용 개발절차와 시간 등의 개발비용을 절감하게 한다. 조합응용 개발환경(2)은 웹브라우저 상에서 자바스크립트 기반의 조합응용 실행코드를 자동으로 실시간 생성하여 조합응용을 형성하는 이종 웹서비스들을 호출한다. 조합응용 개발환경(2)은 본 발명이 제안하는 시스템으로, 조합응용 개발환경 제공장치와 혼용하여 사용된다.
위젯(Widget)(3)은 개발자(1)가 조합응용 개발환경(2)을 통해 생성할 수 있는 조합응용의 실행코드 형태이다. 위젯(3)은 HTML과 CSS 및 자바스크립트로 구성될 수 있다. HTML 헤더/바디(4)는 위젯(3)의 틀을 구성한다. CSS(Cascading Style Sheet)(5)는 위젯(3)의 스타일을 결정하는 양식이다. 프리젠테이션 폼(Presentation Form)(6)은 위젯(3)에서 웹서비스(10)의 입출력(I/O), 접근코드(access code) 등을 표현하는 HTML 바디이다. 자바스크립트(Javascript)(7-1,7-2,…,7-n)는 웹서비스 별 형태에 따른 호출코드가 포함되는 부분이다. 이때, 자바스크립트 #1(7-1)의 SOAP 인코딩(8-1)은 호출하는 웹서비스가 SOAP 기반 웹서비스인 경우 SOAP 형태로 메시지를 인코딩하여 실제 호출하는 부분이다. 자바스크립트 #2(7-2)의 HTTP 인코딩(8-2)은 웹서비스가 HTTP 기반 RESTful 웹서비스인 경우 웹서비스의 operation에 따라 HTTP GET/PUT/POST/DELETE 형태로 메시지를 인코딩하여 실제 호출하는 부분이다.
웹서비스(10)는 웹서비스(10)에 대한 명세를 포함할 수 있는데, 웹서비스 형태에 따라 SOAP(Simple Object Access Protocol) 서비스인 경우 WSDL(Web Service Description Language) 명세(10-1)를 포함하고, RESTful 웹서비스인 경우 WADL(Web Application Description Language) 명세(10-2)를 포함하거나 명세 없이 서비스 설명 웹페이지(Service description)(10-3)만 포함할 수 있다. 본 발명에 따르면, WSDL 기반 웹서비스나 RESTful 웹서비스들을 웹브라우저에서 실행 가능하도록 실행코드를 위젯 형태로 자동 생성하는 데 그 목적이 있다.
서비스 레지스트리(9)는 웹서비스(10)의 명세와 부가정보가 메타정보 형태로 저장되는 저장소로서, 조합응용 개발환경(2)이 웹서비스(10) 관련 모든 정보를 획득하는데 이용된다. 메타정보는 서비스 이름, 제공자, 서비스 URL, 서비스 설명, 서비스 입출력, 사용자 평가, 서비스 가용성, 보안 방법, 제공 국가 등에 대한 정보를 포함한다.
정리하면, 도 1에 있어서 개발자(1)는 조합응용 개발환경(2)에서, 외부 또는 내부에 위치하는 웹서비스(10)에 대한 메타정보를 서비스 레지스트리(9)에서 획득하여 웹서비스들을 조합한 조합응용을 생성한 후, 조합응용 실행코드를 위젯(3) 형태로 자동 생성한다. 이때 위젯(3)은 조합응용 실행단위로서 웹서비스들을 웹브라우저에서 호출할 수 있다. 웹서비스마다 크게 폼 표현 부분(5,6)과 웹서비스 호출 부분(7-x, 8-x)으로 구성되는데, 웹서비스 호출 부분(7-x, 8-x)은 그 형태에 따라 SOAP 인코딩(8-1)되거나 HTTP 인코딩(8-2) 된다. 위젯(3) 형태로 생성된 실행코드는 디바이스나 플랫폼에 관계없이 웹브라우저가 설치된 곳이라면 어디서든 실행 가능하다.
도 2는 본 발명의 일 실시예에 따른 이종 웹서비스 조합응용 개발환경 제공장치(2)의 구성도이다.
조합응용 개발환경 제공장치(2)는 그래픽 사용자 인터페이스(22), 웹서비스 조합부(23), 조합응용 실행코드 생성부(24) 및 조합응용 실행부(25)를 포함하며, 서비스 레지스트리(9)와 웹서비스 어노테이션부(36)를 더 포함할 수 있다.
그래픽 사용자 인터페이스(Graphic User Interface: 이하 GUI라 칭함)(22)는조합응용 개발환경 제공장치(2)와 개발자(1) 간의 상호작용을 위한 사용자 인터페이스이다. 이를 위해, GUI(22)는 이종 웹서비스들(10)로 구성된 조합응용에서 웹서비스 호출을 위한 자바스크립트 기반의 조합응용 개발환경을 제공하는데, 구체적으로, 편집기, 검색기 및 웹브라우저(22-1)를 제공한다.
웹서비스 조합부(23)는 개발자(1)가 개발하고자 하는 조합응용의 목적에 부합하는 웹서비스들을 선택하여 조합하는 기능과 검색 및 편집 환경을 제공하는 SW 모듈이다. 웹서비스 조합부(23)는 서비스 검색기(23-1)와 서비스 조합 편집기(23-2)를 포함할 수 있다. 서비스 검색기(23-1)는 조합응용의 목적에 부합하는 웹서비스들을 서비스 레지스트리(9)로부터 검색하는 기능을 제공한다. 서비스 조합 편집기(23-2)는 서비스 검색기(23-1)를 통해 검색된 웹서비스들의 호출순서와 로직을 생성하는 편집 기능을 제공한다.
조합응용 실행코드 생성부(24)는 웹서비스 조합부(23)를 통해 조합된 응용을 검증하기 위하여 웹서비스들이 웹브라우저에서 호출될 수 있도록 자바스크립트 기반의 조합응용 실행코드를 생성하는 SW 모듈이다. 조합응용 실행코드 생성부(24)는 서비스 호출코드 생성기(24-1)와 서비스 호출 폼 생성기(24-2)를 포함할 수 있다. 서비스 호출코드 생성기(24-1)는 WSDL 기반의 SOAP 서비스 또는 RESTful 웹서비스 등의 웹서비스 형태에 따라 웹브라우저에서 실행 가능한 자바스크립트 호출코드를 생성한다. 서비스 호출 폼 생성기(24-2)는 웹브라우저에서 렌더링 가능한 위젯 폼을 생성하는 기능을 제공한다.
조합응용 실행부(25)는 조합응용을 웹브라우저에서 실행하고 서비스 실행환경을 제공한다. 조합응용 실행부(25)는 서비스 위젯 핸들러(25-1)와 서비스 실행 제어기(25-2)를 포함할 수 있다. 서비스 위젯 핸들러(25-1)는 웹브라우저에 위젯을 렌더링하고 서비스 실행 및 중지를 위한 사용자의 입력을 받아들이고, 결과를 출력하는 기능과 접근코드 획득 기능을 제공한다. 서비스 실행 제어기(25-2)는 실제로 웹 서비스 호출 요청을 인코딩하여 호출 코드를 실행하거나 웹서비스 제공자로부터 결과를 받아 이를 디코딩하여 서비스 위젯 핸들러(25-1)로 전달한다.
웹서비스 어노테이션부(26)는 원격 서버 또는 로컬 서버에 구축된 웹서비스로부터 메타정보를 자동으로 추출하여 서비스 레지스트리(9)에 저장하는 SW 모듈이다. 메타정보는 서비스 이름, 제공자, 서비스 URL, 서비스 설명, 서비스 입출력, 사용자 평가, 서비스 가용성, 보안 방법, 제공 국가 등에 대한 정보를 포함한다.
웹서비스 어노테이션부(26)는 WSDL 분석기(26-1)와 자동 크로올러 서비스 조합 편집기(26-2)를 포함할 수 있다. WSDL 분석기(26-1)는 웹서비스가 WSDL 기반의 웹서비스인 경우 서비스 명세인 WSDL을 구문적으로 분석하여 메타정보를 추출한다. 자동 크로올러 서비스 조합 편집기(26-2)는 WSDL 기반의 웹서비스 또는 서비스 명세가 없는 RESTful 웹서비스들의 메타정보를 획득하기 위하여 해당 서비스 웹 페이지를 크로올링하여 메타정보를 획득한다.
서비스 레지스트리(27)는 웹서비스 명세와 부가정보로부터 추출된 메타정보를 저장하는 저장소이다. 웹서비스(10)는 URL을 통해 웹 상에 공개되어 개발자(1)가 표준 인터페이스로 접근 가능한 소프트웨어 컴포넌트이다.
도 3은 본 발명의 일 실시예에 따른 이종 웹서비스 조합응용 개발환경 제공장치(2)를 통해 제공되는 GUI의 예시도이다.
GUI(22)는 웹브라우저 상에서 제공된다. 이하 웹서비스 조합부(23)와 조합응용 실행코드 생성부(24) 및 조합응용 실행부(25)의 GUI 예를 후술한다.
웹서비스 조합부(23)의 GUI 예를 들면, GUI(22)는 참조부호 30과 같이 개발자(1)가 웹서비스를 검색 및 조합하여 조합응용을 개발할 수 있도록 웹서비스 검색기를 제공하고, 에디터(editor)와 팔레트(palette)를 포함하는 개발환경을 제공한다.
조합응용 실행코드 생성부(24)의 GUI 예를 들면, 참조부호 31과 같이 조합응용을 웹브라우저에서 실행할 수 있도록 웹서비스들을 호출하기 위해 웹서비스 별로 위젯(32,33)을 제공한다. 위젯(32,33)의 구성도와 그 기능에 대해서는 도 4에서 상세히 후술한다.
조합응용 실행부(25)의 GUI 예를 들면, 참조부호 34와 같이 조합응용을 웹브라우저에서 실행하는 기능 및 그 환경을 제공한다. 예를 들면, 접근코드 획득 기능, 호출 기능 및 호출 중지 기능을 제공한다. 해당 기능에 대해서는 도 4에서 상세히 후술한다.
도 4는 본 발명의 일 실시예에 따라 이종 웹서비스 별로 실행코드를 포함하고 있는 위젯의 구성도와 그 기능을 도시한 참조도이다.
조합응용 실행코드 생성부(24)를 통해 위젯이 생성되면, 위젯은 도 4에 도시된 바와 같이 웹브라우저에 렌더링 된다. 조합응용 실행코드는 URL(400)을 가지는 HTML 문서로서, 웹서비스 별 위젯으로 구성된다. 여기서 개발자(1)는 각 웹서비스 별로 표현된 위젯을 통해 해당하는 웹서비스를 호출할 수 있다. 호출되는 웹서비스(예: getProfile)의 URL(401)은 서비스 레지스트리(9)에서 자동으로 추출되어 표시된다.
접근코드(access code)(402)는 개발자(1)가 웹서비스에 접근하기 위한 인증수단이다. 개발자(1)가 접근코드(402)를 미리 획득한 경우에는 접근코드(402)가 자동으로 화면에 표시되나, 그렇지 않은 경우에는 개발자(1)가 'new' 버튼(403)을 클릭하여 해당 웹서비스 제공자의 웹 페이지에 접근한 후 획득할 수 있다. 이어서, 개발자(1)는 'save' 버튼(404)을 클릭함으로써 획득한 접근코드를 저장할 수 있다. 저장된 접근코드는 다음 사용 시에 자동으로 추출된다. 만약 접근코드가 자동으로 추출된 경우에 기간만료 등의 이유로 접근코드(402)를 더 이상 사용할 수 없을지라도, 개발자(1)는 'new' 버튼(403)을 통해 새로운 접근코드를 획득할 수 있다.
이어서, 개발자(1)는 웹서비스 호출을 위한 입력 값(405)을 웹서비스 별로 직접 입력(Input)한 후, 'invoke' 버튼(406)을 클릭하여 해당하는 웹서비스를 호출한다. 이때 사전에 정해둔 타임아웃 값을 초과해도 결과(Output)가 도출되지 않는다면, 서비스 위젯 핸들러(25-1)는 이를 개발자(1)에게 알려, 개발자(1)가 'stop' 버튼(408)을 클릭하여 호출 프로세스를 강제 종료할 수 있게 한다. 만약 정상적으로 호출이 수행되어 결과(Output)가 도출되면 출력 값(409) 창에 결과가 표시된다. 개발자(1)는 각 웹서비스들 별로 전술한 방식을 반복하여 모든 웹서비스들을 호출할 수 있다.
도 5는 본 발명의 일 실시예에 따른 이종 웹서비스 조합응용 개발환경 제공방법을 도시한 흐름도이다.
조합응용 개발환경 제공장치(1)는 조합응용을 형성하는 웹서비스들을 검색하여 조합한다(510). 이어서, 조합응용 개발환경 제공장치(1)는 조합응용을 실행하기 위한 실행코드를 생성한다(520). 일 실시예에 따르면 실행코드 생성 단계(520)에서, 조합응용 개발환경 제공장치(1)는 위젯 형태의 조합응용 실행코드를 생성한다. 위젯은 웹서비스 입출력을 처리할 HTML 코드와, 폼을 결정하는 CSS와, 웹서비스 호출을 위한 자바스크립트로 구성된다. 이때, 조합응용 개발환경 제공장치(1)는 웹서비스의 종류에 상관없이 웹브라우저에서 실행 가능하도록 자바스크립트 기반 조합응용 실행코드를 웹서비스 별로 다르게 생성할 수 있다.
이어서, 조합응용 개발환경 제공장치(1)는 생성된 실행코드를 웹브라우저로 렌더링하여 조합응용을 실행한다(530). 일 실시예에 따르면, 조합응용 실행 단계(530)에서, 조합응용 개발환경 제공장치(1)는 조합응용을 형성하는 웹서비스들을 대상으로, 개발자(1)가 웹브라우저의 실행코드를 통해 웹서비스에 접근하기 위한 코드를 획득할 수 있는 접근코드 획득 인터페이스와, 웹서비스 호출에 필요한 값을 입력하여 웹서비스를 호출할 수 있는 호출 인터페이스와, 호출된 웹서비스를 중지시킬 수 있는 호출중지 인터페이스를 제공한다.
추가 양상에 따르면, 조합응용 개발환경 제공방법은 웹서비스들의 웹서비스 명세와 부가정보로부터 메타정보를 추출하여 서비스 레지스트리(9)에 저장하는 단계(500)를 더 포함한다. 이 경우, 웹서비스 검색 및 조합 단계(510)는, 서비스 레지스트리(9)에 저장된 메타정보를 이용하여 웹서비스들을 검색할 수 있다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 이종 웹서비스 조합응용 개발환경 제공방법을 세부적으로 도시한 흐름도이다.
도 6은 구체적으로 개발자(1)가 서비스 조합 및 실행을 위한 GUI(22)를 통해 웹서비스를 검색하여 조합하고 조합응용의 실행코드를 생성하는 전체 과정(619-631)과, 원격 또는 지역 서버에 구축된 웹서비스로부터 메타정보를 추출하여 서비스 레지스트리(9)에 저장하는 사전 준비과정(616-618)을 도시한 것이다.
우선, 웹서비스 어노테이션부(26)의 자동 크로올러(26-2)는 웹서비스들의 메타정보를 추출하기 위하여 해당 서비스의 웹 페이지를 크로올링(616)하여 웹서비스 명세 및 부가정보로부터 메타정보를 추출한다. 이때, WSDL을 획득한 경우 이를 WSDL 분석기(26-1)에 전달하여 분석을 요청한다(617). WSDL 분석기(26-1)는 WSDL 분석을 통해 메타정보를 추출하고, 추출된 메타정보를 서비스 레지스트리(9)에 저장한다(618). 전술한 어노테이션 프로세스는 주기적으로 동작하며 새로운 정보를 계속 갱신할 수 있다.
한편, 개발자(1)는 GUI(22)를 통해 웹서비스 조합부(23)의 서비스 조합 편집기(23-2)를 열람(619)하여 서비스 조합 작업을 시작한다. 이때, 개발자(1)는 웹서비스들을 하나씩 검색(620-621)해가면서 검색된 결과들로 서비스 플로우를 생성한다(622-623). 이 작업은 조합응용을 완성할 때까지 반복된다.
이어서, 개발자(1)는 조합응용 실행코드 생성부(24)의 서비스 호출코드 생성기(24-2)에 조합응용의 완성된 서비스 플로우를 전달하며 호출코드 생성을 요청한다(624). 서비스 호출코드 생성기(24-2)는 웹서비스에 대한 메타정보를 서비스 레지스트리(9)에 요청(625)하여 실행코드를 생성한다. 서비스 호출코드 생성기(24-2)는 실행코드와 함께 서비스 호출 폼 생성기(24-2)에 웹브라우저에 표현될 위젯 폼 생성을 요청한다(626).
요청결과 생성된 폼을 수신하면, 서비스 호출코드 생성기(24-2)는 조합응용 실행부(25)의 서비스 위젯 핸들러(25-1)에 웹브라우저 창 생성 및 위젯 렌더링을 요청한다(627). 그러면, 서비스 위젯 핸들러(25-1)가 웹브라우저 창을 생성하고 생성된 창에 위젯 렌더링을 수행한다(628). 웹브라우저에 호출될 웹서비스 별로 위젯이 렌더링 되면, 개발자(1)는 각 웹서비스 별로 필요한 입력 값을 입력하여 웹서비스를 호출할 수 있다(629-630). 이어서, 웹서비스로부터 호출 결과를 반환 받아(631) 이를 출력한다(632).
전술한 629-632 단계의 프로세스는 조합응용을 구성하는 모든 웹서비스들에 대해 반복 수행될 수 있다. 이때 사전에 설정해둔 타임아웃 값을 초과해도 결과가 도착하지 않는다면, 서비스 실행 제어기(25-2)는 이를 개발자(1)에게 알리고 개발자(1)는 'stop' 버튼을 클릭하여 호출 프로세스를 강제 종료시킬 수 있다. 만약 정상적으로 호출이 수행되어 결과가 반환됐다면 출력값 창에 이를 표시한다. 다른 웹서비스들도 전술한 방식으로 위젯을 통해 호출을 제어할 수 있다.
도 7a 내지 도 7c는 본 발명의 일 실시예에 따라 실행코드 생성 및 이종 웹서비스 조합응용 실행 프로세스를 세부적으로 도시한 흐름도이다.
도 7a 내지 도 7c에서는 구체적으로, 도 6b의 실행코드를 자동으로 생성하는 프로세스(624-625)와 개발자(1)가 서비스 실행을 위해 직접 실행코드를 호출하는 프로세스(626-632)에 대해 상세히 설명한다.
개발자(1)가 도 6b의 624 단계를 통해 서비스 호출코드 생성기(24-1)에, 조합응용 실행코드 생성을 요청할 때, 웹서비스 조합결과인 서비스 플로우를 전달한다(700). 서비스 플로우를 수신한 서비스 호출코드 생성기(24-1)는 서비스 플로우로부터 소정의 웹서비스를 획득한다(701). 그리고, 획득한 웹서비스에 대한 메타정보를 서비스 레지스트리(9)에 요청하여 획득한다(702). 이때, 서비스 호출코드 생성기(24-1)는 메타정보로부터 웹서비스(Svc) 형태가 SOAP 웹서비스인지 HTTTP 기반 RESTful 웹서비스인지 여부를 판별한다(703). 웹서비스 판별(703) 결과, 형태가 SOAP 웹서비스이면 SOAP 인코딩을 실행(704)하고, HTTTP 기반 RESTful 웹서비스이면 HTTP 인코딩을 실행(705)하여, 각 서비스 형태 별로 웹서비스 호출을 위한 자바스크립트를 생성한다.
웹서비스 호출 프로세스가 완성되면, 서비스 호출코드 생성기(24-1)는 서비스 호출 폼 생성기(24-2)에 코드 폼 생성을 요청한다(706). 그러면, 서비스 호출 폼 생성기(24-2)는 CSS(Cascading Style Sheet)를 생성(707)하여 서비스 호출코드 생성기(24-1)에 반환한다(708). 웹서비스 호출 부분(자바스크립트)과 CSS 폼을 확보한 서비스 호출코드 생성기(310)는 위젯을 생성한다(709). 즉, 웹서비스 입출력을 처리할 HTML 코드, 웹서비스 호출을 위한 자바스크립트, 폼을 결정하는 CSS를 이용하여 서비스 위젯을 생성한다(709). 조합응용을 형성하는 모든 웹서비스에 대해 전술한 701에서 709 단계가 반복 수행되면, 최종적으로 HTML과 자바스크립트 및 CSS의 결합형태의 위젯이 완성된다.
위젯을 완성한 서비스 호출코드 생성기(24-1)는 서비스 위젯 핸들러(25-1)에 웹브라우저에서의 위젯 렌더링을 요청한다(710). 그러면, 서비스 위젯 핸들러(25-1)는 새로운 웹브라우저를 열고(711) 서비스 위젯 핸들러(25-1)를 자체 참조하여, GUI(22)의 웹브라우저에 위젯을 렌더링한다(713).
이후, 개발자(1)는 웹브라우저에 렌더링된 위젯에서 서비스 인증 및 호출을 위한 다음의 작업을 수행한다. 즉, 개발자(1)는 호출하고자 하는 웹서비스에 관한 접근코드가 있는지 여부를 확인(714)하고, 접근코드가 없으면, 'new' 버튼(도 4의 403)을 클릭하고, 서비스 위젯 핸들러(25-1)를 통해 웹서비스 제공자에게 접속하여 새로운 접근코드를 획득한다(716-719).
이어서, 개발자(1)는 'save' 버튼(도 4의 404)을 클릭하고(720), 서비스 위젯 핸들러(25-1)를 통해 새로 획득한 접근코드를 서비스 레지스트리(9)에 저장한다(721-723). 이에 따라 추후 해당 웹서비스를 호출하게 될 때 개발자(1)가 새로 해당하는 접근코드를 획득할 필요 없이 서비스 레지스트리(9)에 저장된 접근코드를 읽어 들이기만 하면 된다.
이어서, 개발자(1)는 웹서비스 호출에 필요한 입력 값을 위젯에 입력하고 'invoke' 버튼(도 4의 406)을 클릭하면(724), 접근코드와 입력 값이 서비스 위젯 핸들러(25-1)에 전달(725)되고, 서비스 실행 제어기(25-2)는 이종 웹 서비스(예: SOAP 또는 REST 웹서비스)의 호출 방법 별로 웹서비스 호출요청을 인코딩하여 호출코드를 실행하거나(727) 웹서비스 제공자로부터 웹서비스 호출 결과를 받아들여 이를 디코딩(729)하며, 서비스 위젯 핸들러(25-1)는 GUI(22)를 통해 디코딩 결과값을 출력한다. 한편, 서비스 위젯 핸들러(25-1)는 타임아웃 값을 설정해 두었다가(728) 타임아웃 전에 호출 결과가 도착하면(729), 그 결과를 결과 창에 디스플레이한다(730-731). 이에 비해, 타임아웃이 발생(733)하면 서비스 위젯 핸들러(25-1)는 이 사실을 개발자(1)에게 알림으로써(734-736), 개발자(1)는 'stop' 버튼(도 4의 408)을 클릭하여(737-738) 호출 프로세스를 강제 종료할 수 있다(739). 한편, 다른 웹서비스들도 전술한 방식으로 위젯을 통해 호출을 제어할 수 있다. 조합응용에 포함된 모든 웹서비스들에 대해 실행을 반복할 수 있으며, 개발자(1)가 위젯 창을 닫으면(740) 조합응용 실행부(25)의 기능도 자동 종료된다(741). 이로써, 이종 웹서비스 실행코드 자동 생성(701-709)과 개발자에 의한 조합응용 실행 제어(714-738)가 가능하게 된다.
이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1 : 응용 개발자 2 : 조합응용 개발환경 제공장치
9 : 서비스 레지스트리 22 : 그래픽 사용자 인터페이스
23 : 웹서비스 조합부 23-1 : 서비스 검색기
23-2 : 서비스 조합 편집기 24 : 조합응용 실행코드 생성부
24-1 : 서비스 호출코드 생성기 24-2 : 서비스 호출 폼 생성기
25 : 조합응용 실행부 25-1 : 서비스 위젯 핸들러
25-2 : 서비스 실행 제어기 26 : 웹서비스 어노테이션부
26-1 : WSDL 분석기 26-2 : 자동 크로올러

Claims (11)

  1. 이종 웹서비스 조합응용을 형성하는 웹서비스들을 검색하여 조합하는 웹서비스 조합부;
    상기 조합응용을 실행하기 위한 실행코드를 생성하는 실행코드 생성부; 및
    상기 생성된 실행코드를 웹브라우저로 렌더링하여 조합응용을 실행하는 조합응용 실행부;
    를 포함하는 것을 특징으로 하는 조합응용 개발환경 제공장치.
  2. 제 1 항에 있어서, 상기 실행코드 생성부는,
    위젯(widget) 형태의 조합응용 실행코드를 생성하고,
    상기 위젯은 웹서비스 입출력을 처리할 HTML 코드와, 폼을 결정하는 CSS와, 이종 웹서비스 별로 그의 호출을 위한 자바스크립트를 생성하는 것을 특징으로 하는 조합응용 개발환경 제공장치.
  3. 제 2 항에 있어서, 상기 실행코드 생성부는,
    웹서비스의 종류에 상관없이 웹브라우저에서 실행 가능하도록 자바스크립트 기반 조합응용 실행코드를 웹서비스 별로 다르게 생성하는 것을 특징으로 하는 조합응용 개발환경 제공장치.
  4. 제 1 항에 있어서, 상기 조합응용 실행코드 생성부는,
    이종 웹서비스의 호출 방법 별로 웹브라우저에서 실행 가능한 자바스크립트 기반 호출코드를 생성하는 서비스 호출코드 생성기; 및
    웹브라우저에서 렌더링 가능한 위젯 폼을 생성하는 서비스 호출 폼 생성기;
    를 포함하는 것을 특징으로 하는 조합응용 개발환경 제공장치.
  5. 제 4 항에 있어서, 상기 서비스 호출코드 생성기는,
    웹서비스 조합결과인 웹서비스들의 플로우를 대상으로 플로우를 구성하는 웹서비스 별 메타정보를 획득하고, 획득한 메타정보를 이용하여 웹 서비스 형태별로 인코딩을 수행하여 웹 서비스 형태별 자바스크립트를 생성하고, 상기 서비스 호출 폼 생성기에 CSS 생성을 요청하여 상기 서비스 호출 폼 생성기로부터 CSS를 제공받아, 상기 자바스크립트와 CSS를 이용하여 위젯을 생성하는 것을 특징으로 하는 조합응용 개발환경 제공장치.
  6. 제 1 항에 있어서, 상기 조합응용 실행부는,
    웹브라우저에 위젯을 렌더링하고 서비스 호출 실행을 위해 접근코드 획득 기능, 웹서비스 호출 기능 및 호출중지 기능을 제공하는 서비스 위젯 핸들러; 및
    이종 웹서비스의 각 호출 방식 별로 웹서비스 호출 요청 인코딩과 웹서비스 호출 결과 디코딩을 수행하는 서비스 실행 제어기;
    를 포함하는 것을 특징으로 하는 조합응용 개발환경 제공장치.
  7. 조합응용을 형성하는 웹서비스들을 검색하여 조합하는 단계;
    상기 조합응용을 실행하기 위한 실행코드를 생성하는 단계; 및
    상기 생성된 실행코드를 웹브라우저로 렌더링하여 조합응용을 실행하는 단계;
    를 포함하는 것을 특징으로 하는 조합응용 개발환경 제공방법.
  8. 제 7 항에 있어서, 상기 실행코드를 생성하는 단계는,
    위젯 형태의 조합응용 실행코드를 생성하고,
    상기 위젯은 웹서비스 입출력을 처리할 HTML 코드와, 폼을 결정하는 CSS와, 웹서비스 호출을 위한 자바스크립트로 구성되는 것을 특징으로 하는 조합응용 개발환경 제공방법.
  9. 제 8 항에 있어서, 상기 실행코드를 생성하는 단계는,
    웹서비스의 종류에 상관없이 웹브라우저에서 실행 가능하도록 자바스크립트 기반 조합응용 실행코드를 웹서비스 별로 다르게 생성하는 것을 특징으로 하는 조합응용 개발환경 제공방법.
  10. 응용 개발자가 웹서비스를 검색하기 위한 검색 창과, 검색한 웹서비스를 조합하여 조합응용을 개발하기 위한 편집 창을 제공하는 단계;
    웹서비스 검색 및 편집 수행 이후, 조합응용을 구성하는 웹서비스를 호출하기 위해 웹브라우저를 이용하여 웹서비스 별로 자바스크립트 기반의 위젯을 제공하는 단계; 및
    상기 제공된 위젯을 이용하여 조합응용을 웹브라우저에서 실행하기 위해, 접근코드 획득, 웹서비스 호출 및 호출중지 기능을 포함하는 사용자 인터페이스를 제공하는 단계;
    를 포함하는 것을 특징으로 하는 조합응용 개발환경 제공방법.
  11. 제 10 항에 있어서, 상기 사용자 인터페이스를 제공하는 단계는,
    응용 개발자가 접근코드를 미리 획득한 경우에는 접근코드를 자동으로 표시하고, 그렇지 않은 경우에는 상기 접근코드 획득 인터페이스를 통해 해당 웹서비스 제공자의 웹 페이지에 접근하여 접근코드를 획득하도록 하는 단계; 및
    상기 획득한 접근코드를 서비스 레지스트리에 저장하여 추후 해당 웹서비스를 호출하게 될 때 응용 개발자가 새로 접근코드를 획득할 필요 없이 상기 서비스 레지스트리에 저장된 접근코드를 읽어 들이는 단계;
    를 포함하는 것을 특징으로 하는 조합응용 개발환경 제공방법.
KR1020120006973A 2012-01-20 2012-01-20 이종 웹서비스의 조합 응용에서 웹서비스 호출을 위한 위젯 자동 생성 방법 및 그 장치 KR20130085856A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120006973A KR20130085856A (ko) 2012-01-20 2012-01-20 이종 웹서비스의 조합 응용에서 웹서비스 호출을 위한 위젯 자동 생성 방법 및 그 장치
US13/679,217 US20130191726A1 (en) 2012-01-20 2012-11-16 Automatic widget creation apparatus and method for invoking heterogeneous web services in a composite application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120006973A KR20130085856A (ko) 2012-01-20 2012-01-20 이종 웹서비스의 조합 응용에서 웹서비스 호출을 위한 위젯 자동 생성 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20130085856A true KR20130085856A (ko) 2013-07-30

Family

ID=48798271

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120006973A KR20130085856A (ko) 2012-01-20 2012-01-20 이종 웹서비스의 조합 응용에서 웹서비스 호출을 위한 위젯 자동 생성 방법 및 그 장치

Country Status (2)

Country Link
US (1) US20130191726A1 (ko)
KR (1) KR20130085856A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124708A1 (en) * 2011-11-10 2013-05-16 Electronics And Telecommunications Research Institute Method and system for adaptive composite service path management
CN104322031A (zh) 2012-03-23 2015-01-28 网络存储技术公司 使用通过本地策略框架执行的策略指令实施针对企业网络的策略
US9117027B2 (en) * 2012-09-03 2015-08-25 Tata Consultancy Services Limited Method and system for compliance testing in a cloud storage environment
KR101428365B1 (ko) * 2013-02-25 2014-08-08 주식회사 팬택 모바일 기기의 홈 스크린에서 위젯을 제공하는 방법 및 시스템
US20150201003A1 (en) * 2014-01-14 2015-07-16 Netapp, Inc. System and method for utilizing script logic in connection with an installed enterprise service application
WO2015143416A1 (en) * 2014-03-21 2015-09-24 Ptc Inc. Systems and methods for developing and using real-time data applications
US9705973B2 (en) 2015-04-29 2017-07-11 International Business Machines Corporation Release and management of composite applications on PaaS

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499028B2 (en) * 2005-02-23 2013-07-30 International Business Machines Corporation Dynamic extensible lightweight access to web services for pervasive devices
US20080222237A1 (en) * 2007-03-06 2008-09-11 Microsoft Corporation Web services mashup component wrappers
US8972873B2 (en) * 2010-11-30 2015-03-03 International Business Machines Corporation Multi-environment widget assembly, generation, and operation

Also Published As

Publication number Publication date
US20130191726A1 (en) 2013-07-25

Similar Documents

Publication Publication Date Title
KR102220127B1 (ko) 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치
US10216554B2 (en) API notebook tool
KR102218995B1 (ko) 코드 가상화 및 원격 프로세스 호출 생성을 위한 방법 및 장치
KR20130085856A (ko) 이종 웹서비스의 조합 응용에서 웹서비스 호출을 위한 위젯 자동 생성 방법 및 그 장치
CN106997298B (zh) 一种应用资源获取方法及装置
EP2339465A1 (en) Location independent execution of user interface operations
US20080222237A1 (en) Web services mashup component wrappers
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
Fenoy et al. ZOO-Project: the open WPS platform
US11023558B1 (en) Executing functions on-demand on a server utilizing web browsers
US20140317537A1 (en) Browser based application program extension method and device
Green Web workers: Multithreaded programs in javascript
Nichols et al. Highlight: a system for creating and deploying mobile web applications
CN111880790A (zh) 页面渲染方法、页面渲染系统和计算机可读存储介质
US20140215307A1 (en) Generating web pages with integrated content
CN113360377A (zh) 一种测试方法和装置
CN107239265B (zh) Java函数与C函数的绑定方法及装置
CN111880789A (zh) 页面渲染方法、装置、服务端和计算机可读存储介质
Haja et al. Location, proximity, affinity–the key factors in FaaS
Kim Cloud computing to improve Javascript processing efficiency of mobile applications
Jadhav et al. Role of Node. js in Modern Web Application Development
Wettinger et al. Streamlining APIfication by generating APIs for diverse executables using any2API
WO2010017828A1 (en) Secure browser-based access to web services
CN113568765B (zh) 客户端的开发方法和系统
Wu et al. Toward an opensocial life science gateway

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid