KR100982732B1 - Xforms based automated client-page composition system and the client-page composition method - Google Patents

Xforms based automated client-page composition system and the client-page composition method Download PDF

Info

Publication number
KR100982732B1
KR100982732B1 KR1020100053895A KR20100053895A KR100982732B1 KR 100982732 B1 KR100982732 B1 KR 100982732B1 KR 1020100053895 A KR1020100053895 A KR 1020100053895A KR 20100053895 A KR20100053895 A KR 20100053895A KR 100982732 B1 KR100982732 B1 KR 100982732B1
Authority
KR
South Korea
Prior art keywords
view
data
input
xforms
service
Prior art date
Application number
KR1020100053895A
Other languages
Korean (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 KR1020100053895A priority Critical patent/KR100982732B1/en
Application granted granted Critical
Publication of KR100982732B1 publication Critical patent/KR100982732B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Abstract

PURPOSE: An XForms based automated client-page composition system and a client-page composition method thereof are provided to generate an XForms based client pages on the basis of analyzed contents. CONSTITUTION: A data model generating unit(322) generates a data model for storing an input parameter and result data, and a submission generating unit(324) generates a submission element of which data model position is designated for each method of a service specification. A data path, an input media variable and result data which are referred by a view corresponding to the method are stored at the data model position. A view generating unit(326) uses plural views extracted from the service specification analysis unit and a view flow of the analysis to create a client page in an XForms code.

Description

XForms 기반의 클라이언트 페이지 자동 생성 시스템 및 클라이언트 페이지 자동 생성 방법{XForms based automated client-page composition system and the client-page composition method}XForms based automated client-page composition system and the client-page composition method}

본 발명은 XForms 기반의 클라이언트 페이지 자동 생성 시스템 및 클라이언트 페이지 자동 생성 방법에 관한 것으로서, 더욱 상세하게는 여러가지 웹서비스를 조합하여 하나의 화면에서 다중서비스를 제공하는 클라이언트 페이지를 생성함에 있어서, WADL 기반의 서비스 명세를 스키마 파싱하여 각 서비스 명세간의 타입관계도를 도출하고, 상기 도출된 타입관계도에 기초하여 각각의 서비스 명세로부터 제공가능한 다수개의 뷰(View)를 추출한 뒤, 추출된 뷰들간의 뷰흐름도를 도출하여 분석된 내용을 토대로 XForms 기반의 클라이언트 페이지를 생성함으로써, REST 기반의 동적인 서비스 환경에서 다중 서비스 간의 연결과 뷰 이동을 제공할 수 있는 XForms 기반의 클라이언트 페이지 자동 생성 시스템 및 클라이언트 페이지 자동 생성 방법에 관한 것이다.The present invention relates to a system for automatically generating a client page based on XForms and a method for automatically generating a client page, and more particularly, to generate a client page providing multiple services in one screen by combining various web services. Schema parsing service specification to derive the type relationship diagram between each service specification, and based on the derived type relationship diagram, extracts a plurality of views that can be provided from each service specification, the view flow diagram between the extracted views XForms-based client page generation system and client page automatic generation that can provide connection and view movement between multiple services in REST-based dynamic service environment by generating It is about a method.

웹 서비스는 서비스 지향적인 분산 컴퓨팅 기술의 하나로, 네트워크 상에서 서로 상이한 컴퓨터들 간에 상호작용을 하기 위한 소프트웨어 시스템이다. 웹 서비스 프로토콜 스택은 XML-RPC, SOAP, UDDI, WSDL 등으로 구성된다. XML-RPC의 확장 또는 발전형이라고도 할 수 있는 SOAP을 통한 웹서비스는 XML 메시지 기반의 프로토콜이었기 때문에 플랫폼이 독립적이고 기술습득에 용이하다는 이유로 많은 인기를 끌었다.Web services are a service-oriented distributed computing technology, a software system for interacting between different computers on a network. The web service protocol stack consists of XML-RPC, SOAP, UDDI, WSDL, and so on. Web services over SOAP, which can be called an extension or evolution of XML-RPC, were popular because they were platform-independent and easy to acquire because they were XML message-based protocols.

SOAP의 등장 이후, 이를 이용하여 공개된 웹 서비스가 등장하였으나, 표준화된 기술방법이 존재하지 않았기에 이를 사용하기 위해서는 일일이 각 서비스의 설명을 참고해야 했다. 따라서 인터페이스를 기술하기 위한 표준이 필요하게 되었고, 이에 따라 XML 기반의 WSDL이 등장하였다. 더불어, 2003년 Web 2.0의 확산과 함께 HTTP의 기본기능인 GET, POST 등을 적극 활용하고 XML 형식의 메시지 전송도 지원하는 REST(Representational State Transfer) 웹서비스가 대두되었다. Since the emergence of SOAP, open web services have appeared, but since there was no standardized technical method, it was necessary to refer to each service description in order to use it. Therefore, a standard for describing an interface is needed, and accordingly, an XML-based WSDL has emerged. In addition, with the proliferation of Web 2.0 in 2003, REST (Representational State Transfer) web service has emerged, which actively utilizes the basic functions of HTTP such as GET and POST, and also supports the transmission of messages in XML format.

REST 웹 서비스가 개발자들 사이에서 각광을 받으면서 REST 웹 서비스의 인터페이스를 기술하기 위한 다양한 방법들이 제안되기 시작하였다. REST API를 기술하기 위한 언어들이 여러가지 있지만, 아직까지 주류가 형성되지는 않은 상황이며, 기존의 WSDL도 2.0버전에서 SOAP은 물론 REST도 기술할 수 있게 확장 되었지만 복잡성 때문에 많이 쓰이지는 못하고 있다. 이에 썬 마이크로시스템은 간략하면서도 범용성이 뛰어난 WADL(Web Application Description Language)을 발표하였다. As REST web services have been in the spotlight among developers, various methods for describing the interface of REST web services have begun to be proposed. Although there are many languages for describing REST API, the mainstream has not been formed yet. Existing WSDL was extended to describe REST as well as SOAP in 2.0, but it is not used much because of the complexity. Sun Microsystems released a simple yet versatile Web Application Description Language (WADL).

WADL은 HTTP기반의 웹 어플리케이션들에 대한 기계 판독이 가능한 기술을 제공하는 XML기반의 파일형식으로서, 플랫폼과 언어에 독립적이며, 어플리케이션의 재사용성 증대를 목적으로 한다. WADL은 서비스에 의해 제공되는 자원들과 자원들 사이의 관계를 모델링할 수 있으며, 자동으로 Stub/skeleton 코드를 생성함으로써 REST 웹 서비스를 배포하고 이용하는 개발자들에게 유용하다.WADL is an XML-based file format that provides machine-readable technology for HTTP-based web applications. It is platform and language independent and aims to increase application reusability. WADL can model the resources provided by services and the relationships between them, and is useful for developers who deploy and use REST web services by automatically generating stub / skeleton code.

그러나 WADL의 경우 WSDL처럼 WADL 문서를 분석하여 자동으로 클라이언트 코드를 생성해주는 툴이 없어 개발자들이 직접 서버와 클라이언트의 코드를 작성해야만 하는 문제점이 있으며, 이는 동적으로 생성되는 서비스를 빠르게 지원하여 조합함으로써 보다 나은 서비스를 제공하는데 심각한 장애가 되었다.However, in the case of WADL, there is no tool that automatically generates client code by analyzing WADL documents like WSDL. Therefore, developers have to write their own server and client code. It has been a serious obstacle to providing better services.

특히, 다양한 웹서비스를 조합하여 제공하는 유저 인터페이스(UI)의 클라이언트 페이지는 뷰 이동이나 다음 서비스를 호출하기 위한 코드를 가져야 하며, 특히 모바일 환경에서는 여러 개의 뷰를 가지는 클라이언트 어플리케이션에서 뷰 간의 이동이나 메소드 호출 순서를 표현할 수 있어야 하는데 반해, WADL의 경우 아직 웹서비스 조합 유저 인터페이스의 클라이언트 페이지 코드를 자동으로 생성해주는 기술이 없어 개발자들에게는 불편함이 야기되었다. In particular, a client page of a user interface (UI) providing a combination of various web services should have a code for moving a view or calling the next service. In particular, in a mobile environment, a client application having multiple views moves or moves between views. While the calling order must be able to be expressed, WADL has been inconvenient for developers because it does not yet have the technology to automatically generate the client page code of the web service assembly user interface.

본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것이다. 즉, 본 발명의 목적은 여러가지 웹서비스를 조합하여 하나의 화면에서 다중서비스를 제공하는 클라이언트 페이지를 생성함에 있어서, WADL 기반의 서비스 명세를 스키마 파싱하여 각 서비스 명세간의 타입관계도를 도출하고, 상기 도출된 타입관계도에 기초하여 각각의 서비스 명세로부터 제공가능한 다수개의 뷰(View)를 추출한 뒤, 추출된 뷰들간의 뷰흐름도를 도출하여 분석된 내용을 토대로 XForms 기반의 클라이언트 페이지를 생성함으로써, REST 기반의 동적인 서비스 환경에서 다중 서비스 간의 연결과 뷰 이동을 제공할 수 있는 XForms 기반의 클라이언트 페이지 자동 생성 시스템 및 클라이언트 페이지 자동 생성 방법을 제공함에 있다. The present invention is to solve the above problems according to the prior art. That is, an object of the present invention is to generate a client page that provides multiple services on one screen by combining various web services, schema parsing WADL-based service specification to derive a type relationship diagram between each service specification, After extracting a plurality of views that can be provided from each service specification based on the derived type relationship diagram, the view flow diagram between the extracted views is derived, and an XForms-based client page is generated based on the analyzed contents. It provides XForms-based client page automatic generation system and client page automatic generation method that can provide connection and view movement between multiple services in dynamic service based environment.

상기의 목적을 달성하기 위한 기술적 사상으로서 본 발명은, 스키마 파서를 이용하여 선택된 서비스 명세에 정의된 데이터 타입을 분석하고, 이를 통한 데이터 타입들 간의 포함관계를 분석하여 타입관계도를 도출하는 데이터 타입 분석부, 상기 데이터 타입 분석부에서 도출한 타입관계도에 기초하여, WADL 파서를 이용하여 상기 선택된 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출하고, 추출된 목록에 포함된 다수개의 뷰 간의 흐름을 분석하여 뷰 흐름도를 도출하는 서비스 명세 분석부, 입력 매개변수와 결과데이터의 저장을 위한 데이터 모델을 생성하는 데이터 모델 생성부, 상기 서비스 명세의 각 메소드마다 메소드에 해당하는 뷰가 참조하는 데이터의 경로 및 입력 매개변수와 결과데이터가 저장될 데이터 모델위치가 지정된 서브미션 요소를 생성하는 서브미션 생성부, 상기 서비스 명세 분석부에서 추출된 다수개의 뷰와 그에 따른 뷰 흐름도를 이용하여 메소드 호출 및 뷰 이동이 가능한 클라이언트 페이지를 XForms 코드로 생성하는 뷰 생성부를 포함하여 구성되는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템을 제공한다.As a technical idea for achieving the above object, the present invention analyzes the data types defined in the selected service specification using a schema parser, and derives a type relationship diagram by analyzing the inclusion relations between the data types. Based on the type relationship diagram derived from the analysis unit and the data type analysis unit, a list of views to be displayed in the selected service specification is extracted using a WADL parser, and a flow between a plurality of views included in the extracted list. A service specification analysis unit for deriving a view flow diagram by analyzing the data, a data model generation unit for generating a data model for storing input parameters and result data, and a method of data referenced by a view corresponding to a method for each method of the service specification. Sub with the path and input parameters and the data model location where the result data will be stored Submission generation unit for generating option elements, View generation unit for generating a client page that can call the method and view movement using XForms code using a plurality of views extracted from the service specification analysis unit and the corresponding view flow diagram It provides XForms-based client page automatic generation system.

또한, 본 발명은 상기 서비스 명세 목록이 저장된 서버로부터 상기 사용자가 선택한 서비스 명세를 전송받는 단계와, 스키마 파서를 이용하여 선택된 서비스 명세에 정의된 데이터 타입을 분석하고, 이를 통한 데이터 타입들 간의 포함관계를 분석하여 타입관계도를 도출하는 단계와, 상기 도출된 타입관계도에 기초하여, WADL 파서를 이용하여 상기 선택된 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출하는 단계와, 상기 추출된 목록에 포함된 다슈개의 뷰 간의 흐름을 분석하여 뷰 흐름도를 도출하는 단계와, 입력 매개변수와 결과데이터의 저장을 위한 데이터 모델을 생성하는 단계와, 상기 서비스 명세의 각 메소드마다 메소드에 해당하는 뷰가 참조하는 데이터의 경로 및 입력 매개변수와 결과데이터가 저장될 데이터 모델위치가 지정된 서브미션 요소를 생성하는 단계와, 상기 추출된 다수개의 뷰와 그에 따른 뷰 흐름도를 이용하여, 상기 서브미션 요소에 지정된 정보를 통해 메소드 호출 및 뷰 이동이 가능한 클라이언트 페이지를 XForms 코드로 생성하는 단계를 포함하여 구성되는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 방법을 제공한다.The present invention also provides a method for receiving a service specification selected by the user from a server storing the service specification list, analyzing a data type defined in a selected service specification using a schema parser, and including a relationship between data types. Extracting a list of views that require display from the selected service specification by using a WADL parser, based on the derived type relationship diagram, Analyzing the flow between the included Dash dog views, deriving a view flow chart, generating a data model for storing input parameters and result data, and a view corresponding to a method for each method of the service specification The path and input parameters of the data to be stored and the data model location where the result data will be stored. Generating a submission element, and using the extracted plurality of views and the corresponding view flow diagram, generating a client page in XForms code capable of calling a method and moving a view through information specified in the submission element. It provides XForms-based client page automatic generation method that is configured to include.

본 발명에 따른 XForms 기반의 클라이언트 페이지 자동 생성 시스템 및 클라이언트 페이지 자동 생성 방법은, REST 기반의 동적인 서비스 환경에서 다양한 서비스를 연결하는 다중 서비스 장치를 사용자가 쉽게 개발할 수 있도록 지원해주며, 기존에 개발자가 직접 작성해야 했던 클라이언트 페이지 코드를 자동으로 생성함으로써 개발자가 보다 다양한 서비스를 창출하여 빠르게 제공할 수 있게 한다.The XForms-based automatic client page generation system and client page automatic generation method according to the present invention support a user to easily develop a multi-service device connecting various services in a REST-based dynamic service environment. By automatically generating client page code that had to be written by hand, developers can create more services and provide them faster.

또한, WADL 기반의 서비스 명세가 등록됨과 동시에 서비스 제공이 가능하여 웹 환경에서 매우 유용하며, 여러개의 서비스를 조합하여 새로운 서비스를 창출하는 다중 웹서비스가 점점 중요한 소프트웨어 아키텍처로 주목받고 있는 바, 본 발명은 다중 웹서비스 소프트웨어 개발의 생산성을 높이고 개발자의 편리성을 향상시킬 수 있는 기반 기술을 제공할 수 있을 것으로 기대된다.In addition, the service description based on WADL is registered and provided at the same time, it is very useful in the web environment, and multiple web services that create new services by combining several services are attracting attention as an important software architecture. It is expected to provide a foundational technology that can increase productivity and improve developer convenience of multi-web service software development.

도 1은 본 발명의 일실시예에 따른 클라이언트 페이지 자동 생성 시스템의 개략적인 구성도.
도 2는 도 1에 도시된 클라이언트 페이지 자동 생성 시스템의 내부구성을 보여주는 블록도.
도 3은 본 발명의 일실시예에 따른 메소드 다이어그램의 예.
도 4는 본 발명의 일실시예에 따른 뷰에서의 메소드 호출 관계를 나타낸 예.
도 5는 본 발명의 일실시예에 따른 현재 뷰에서 다른 뷰로의 이동 관계를 나타낸 예.
도 6은 본 발명의 일실시예에 따른 클라이언트 페이지 자동 생성 방법을 도시한 순서도.
도 7은 본 발명의 일실시예에 따른 서비스 명세의 예.
도 8은 본 발명의 일실시예에 따른 타입관계도의 예.
도 9는 본 발명의 일실시예에 따른 서비스 명세간에 뷰에서의 메소드 호출 관계가 분석된 예.
도 10은 본 발명의 일실시예에 따른 서비스 명세간에 다른 뷰로의 이동관계가 분석된 예.
도 11은 도 7에 도시된 서비스 명세에서 지역 데이터 모델 코드가 생성된 예.
도 12는 도 7에 도시된 서비스 명세에서 서브미션 코드가 생성된 예.
도 13은 도 7에 도시된 서비스 명세에서 뷰코드가 생성된 예.
도 14는 도 7에 도시된 서비스 명세에서 서비스 메소드 호출을 위한 코드가 생성된 예.
도 15는 도 7에 도시된 서비스 명세에서 다른 뷰로의 이동을 위한 코드가 생성된 예.
도 16은 본 발명의 일실시예에 따른 서비스 명세 목록 제공 서버에서 제공하는 서비스 명세 목록과 그에 따라 사용자가 서비스 명세를 선택할 수 있는 화면을 도시한 예.
도 17은 본 발명의 일실시예에 따른 XForms 기반의 클라이언트 페이지가 생성된 예.
도 18은 본 발명의 일실시예에 따른 XForms 기반의 클라이언트 페이지가 생성된 예.
1 is a schematic configuration diagram of a system for automatically generating a client page according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the internal structure of the automatic client page generation system shown in FIG.
3 is an example of a method diagram in accordance with one embodiment of the present invention.
4 is an example illustrating a method call relationship in a view according to an embodiment of the present invention.
5 is an example illustrating a movement relationship from a current view to another view according to an embodiment of the present invention.
6 is a flowchart illustrating a method of automatically generating a client page according to an embodiment of the present invention.
7 is an example of a service description according to one embodiment of the invention.
8 is an example of a type relationship diagram according to an embodiment of the present invention.
9 is an example in which a method call relationship in a view is analyzed between service descriptions according to an embodiment of the present invention.
10 is an example in which a movement relationship to another view is analyzed between service descriptions according to an embodiment of the present invention.
11 is an example in which a regional data model code is generated in the service description shown in FIG. 7;
12 is an example in which a submission code is generated in the service description shown in FIG.
FIG. 13 illustrates an example in which a view code is generated in the service specification illustrated in FIG. 7.
14 is an example in which code for a service method call is generated in the service specification shown in FIG. 7;
15 is an example in which code for moving to another view is generated in the service description shown in FIG. 7;
FIG. 16 illustrates an example of a service specification list provided by a service specification list providing server according to an embodiment of the present invention, and a screen for allowing a user to select a service specification accordingly. FIG.
17 illustrates an example in which an XForms-based client page is generated according to an embodiment of the present invention.
18 is an example in which an XForms-based client page is generated according to an embodiment of the present invention.

이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 클라이언트 페이지 자동 생성 시스템의 개략적인 구성도이다.1 is a schematic diagram of a system for automatically generating a client page according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 클라이언트 페이지 자동 생성 시스템(300)은, 클라이언트 단말기(400) 및 서비스 명세 목록 제공 서버(200)와 유/무선 인터넷망으로 연결되며, 사용자가 클라이언트 단말기(400)를 통해 서비스 명세 목록 제공 서버(200)에서 제공하는 서비스 명세 목록 중 원하는 서비스 명세를 선택하여 요청할 경우, 클라이언트 페이지 자동 생성 시스템(300)은 사용자가 선택한 서비스 명세를 분석하고, 사용자가 선택한 서비스들 간의 연결과 뷰 이동이 가능한 XForms 기반의 클라이언트 페이지를 자동으로 생성하여 제공한다. As shown in FIG. 1, the automatic client page generation system 300 of the present invention is connected to the client terminal 400 and the service specification list providing server 200 through a wired / wireless internet network, and the user is connected to the client terminal ( When the request is made by selecting the desired service specification from the service specification list provided by the server 200 through 400, the client page automatic generation system 300 analyzes the service specification selected by the user, and the service selected by the user. Automatically creates and provides XForms-based client pages that can be connected and moved between views.

서비스 명세 목록 제공 서버(200)는 다수개의 서비스 프로바이더(100)와 연결되어 웹에서 공유되는 모든 서비스 집합인 WADL 기반의 서비스 명세 목록을 제공하며, 웹상에 새로운 서비스가 나타나면 즉시 해당 서비스의 명세를 등록함으로써 사용자에게 그 시점에서 제공가능한 모든 서비스를 실시간으로 제공한다.Service specification list providing server 200 is connected to a plurality of service providers 100 provides a service list list based on WADL, which is a set of all services shared on the web, and when a new service appears on the web, the service specification is immediately provided. Registration provides the user with all the services available at that time in real time.

클라이언트 페이지 자동 생성 시스템(300)은 사용자가 서비스 명세 목록 제공 서버(200)에서 제공하는 WADL 기반의 서비스 명세 목록 중 원하는 서비스 명세를 선택하여 요청하면, 요청된 서비스 명세를 분석하고, 사용자가 선택한 서비스들 간의 연결과 뷰 이동이 가능한 XForms 기반의 클라이언트 페이지를 자동으로 생성하여 제공한다. 이를 위해, 클라이언트 페이지 자동 생성 시스템(300)은, 사용자가 선택한 서비스 명세들을 스키마 파싱하여 각 서비스 명세간의 타입관계도를 도출하고, 상기 도출된 타입관계도에 기초하여 각각의 서비스 명세로부터 제공가능한 다수개의 뷰(view)를 추출한 뒤, 추출된 뷰들간의 뷰흐름도를 도출하여 분석된 내용을 토대로 XForms 기반의 클라이언트 페이지를 생성한다. 이러한 클라이언트 페이지 자동 생성 시스템(300)의 세부 구성에 대해서는, 후술하는 도2를 통해 보다 상세히 설명하기로 한다.
The client page automatic generation system 300 analyzes the requested service specification when the user selects and requests a desired service specification from the WADL-based service specification list provided by the service specification list providing server 200, and analyzes the requested service specification. Automatically creates and provides XForms-based client pages that can be connected and moved between views. To this end, the client page automatic generation system 300, through the schema parsing of the service specifications selected by the user to derive a type relationship diagram between each service specification, based on the derived type relationship diagram a plurality of available from each service specification After extracting the two views, we derive the view flow diagram between the extracted views and create an XForms-based client page based on the analyzed contents. The detailed configuration of the client page automatic generation system 300 will be described in more detail with reference to FIG. 2.

도 2는 도 1에 도시된 클라이언트 페이지 자동 생성 시스템의 내부구성을 보여주는 블록도이다.FIG. 2 is a block diagram illustrating an internal configuration of a system for automatically generating a client page shown in FIG. 1.

도 2에 도시된 바와 같이, 본 발명에 따른 클라이언트 페이지 자동 생성 시스템은, 데이터 타입 분석부(312), 서비스 명세 분석부(314)로 구성된 분석부(310) 및 데이터 모델 생성부(322), 서브미션 생성부(324), 뷰 생성부(326)로 구성된 코드생성부(320)를 포함하여 구성된다. As shown in FIG. 2, the automatic client page generation system according to the present invention includes an analysis unit 310 and a data model generator 322 including a data type analyzer 312, a service specification analyzer 314, The code generator 320 includes a submission generator 324 and a view generator 326.

먼저, 분석부(310)의 데이터 타입 분석부(312)는 스키마 파서를 이용하여 서비스 명세에 정의된 데이터 타입을 분석하고, 이를 통한 데이터 타입들 간의 포함관계를 분석하여 타입관계도를 도출한다. 기본적으로, WADL 기반의 서비스 명세는 웹 서비스 메소드의 집합으로 정의되며, 웹 서비스의 메소드는 호출할 주소와 이름을 포함하는 URL, XML 스키마(Schema)에 정의된 요소 이름으로 표시되는 입력 매개변수 타입과 결과타입을 포함한다. 이에 따라 서비스 명세의 데이터 타입들은 XML 스키마 구조 정의에 의해 서로 포함관계를 가지며, 이러한 포함관계는 메소드 간의 관계를 분석할 수 있게 해준다.First, the data type analyzer 312 of the analyzer 310 analyzes the data types defined in the service specification using a schema parser, and derives a type relation diagram by analyzing the inclusion relations between the data types. By default, a WADL-based service specification is defined as a set of web service methods, which are URLs containing the address and name to call, and input parameter types represented as element names defined in an XML Schema. And result types. Accordingly, the data types of the service specification have inclusion relations with each other by XML schema structure definition, and this inclusion relation enables analysis of the relationship between methods.

본 발명의 일실시예에 따른 데이터 타입 분석부(312)는 XML 스키마 상의 조상·후손 관계를 이용하여 서비스 명세의 데이터 타입들의 포함관계를 분석하며, 스키마 상의 조상·후손 관계로 정의되는 타입관계도를 도출한다.The data type analysis unit 312 according to an embodiment of the present invention analyzes an inclusion relationship between data types of a service specification by using an ancestor and descendant relationship on an XML schema, and a type relationship diagram defined by an ancestor and descendant relationship on a schema. To derive

서비스 명세 분석부(314)는 상기 데이터 타입 분석부(312)에서 도출된 타입관계도를 기초하여, WADL 파서를 이용하여 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출한다. 또한, 추출된 목록에 포함된 다수개의 뷰 간의 흐름을 분석하여 뷰 흐름도를 도출한다.The service specification analyzer 314 extracts a list of views that are required to be displayed in the service specification by using the WADL parser based on the type relationship diagram derived from the data type analyzer 312. In addition, a flow of views is derived by analyzing flows among a plurality of views included in the extracted list.

이러한 뷰의 목록을 추출하기 위해, 서비스 명세 분석부(314)는 우선 서비스 명세에 포함된 모든 메소드에 대해 입력뷰 및 결과뷰를 하나씩 가정한다. 상기 입력뷰는 사용자가 서버에 전송할 매개변수 데이터를 준비하고 확인하는 뷰이고, 결과뷰는 서버로부터의 회신을 사용자에게 보여주기 위한 뷰이다. 이때, 이전 뷰에서 입력 매개변수 데이터가 결정되어 바로 메소드를 호출할 수 있을 경우의 메소드는 입력뷰를 생략하고, 결과 데이터가 없는 메소드의 경우에는 결과뷰를 생략할 수 있다. 이에 따라, 각각의 메소드 마다 생략될 수 있는 입력뷰와 결과뷰를 제외함으로써, 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출할 수 있게 된다.In order to extract the list of such views, the service specification analyzer 314 first assumes input views and result views for each method included in the service specification. The input view is a view in which the user prepares and confirms parameter data to be sent to the server, and the result view is a view for showing the reply from the server to the user. In this case, when the input parameter data is determined in the previous view and the method can be called immediately, the method may omit the input view, and in the case of the method having no result data, the result view may be omitted. Accordingly, by excluding the input view and the result view that can be omitted for each method, it is possible to extract a list of views that require display from the service specification.

이렇게 추출된 뷰의 목록을 이용하여 서비스 명세 분석부(314)는 추출된 목록에 포함된 다수개의 뷰 간의 흐름을 분석한다. 뷰 간의 흐름을 분석하기 위해서는 먼저, 뷰의 관점에서 뷰가 갖는 데이터 타입을 분석해야 한다. 뷰가 갖는 데이터 타입은 입력뷰의 입력 타입과 결과뷰의 출력 타입이 있으며, 추가적으로 현재 뷰에서 다른 뷰로 전달되어야 하는 데이터 타입이 있다. 이러한 뷰와 데이터 타입의 정의를 상기 데이터 타입 분석부(312)에 의해 도출되었던 타입관계도를 기초하여 추출된 목록에 포함된 다수개의 뷰 간의 이동관계를 분석한다. Using the extracted list of views, the service specification analyzer 314 analyzes the flow between the plurality of views included in the extracted list. To analyze the flow between views, we first need to analyze the data types that the view has in terms of the view. The data type of the view includes the input type of the input view and the output type of the result view. In addition, there are data types to be transferred from the current view to other views. The movement relationship between the plurality of views included in the extracted list is analyzed based on the type relationship diagram derived by the data type analyzer 312 based on the definition of the view and the data type.

뷰 간의 이동관계는 뷰에서의 메소드 호출이 가능한 관계와 현재 뷰에서 다른 뷰로의 이동이 가능한 관계로 나뉜다. 만약, 현재 뷰가 메소드의 입력 뷰 이거나, 뷰의 데이터 타입이 메소드의 입력 데이터 타입을 포함하는 경우에는 뷰에서의 메소드 호출이 가능한 관계로 정의한다. 뷰에서의 메소드 호출이 가능한 관계는 현재 뷰에서 포함하고 있는 데이터를 이용하여 페이지에서 제공하는 다른 메소드를 호출할 수 있는 경우 모든 호출을 허용한다. The movement relationship between views is divided into a relationship between a method call in a view and a relationship from a current view to another view. If the current view is the input view of a method or the data type of the view includes the input data type of a method, it is defined as a relation that can be called by the method in the view. A method callable method in the view allows all calls if other methods provided by the page can be called using the data contained in the current view.

예를 들어, 도 3에 도시된 바와 같은 메소드를 가지고, 도 4에 도시된 바와 같은 list를 데이터 타입으로 갖는 회원 리스트 뷰와 user를 데이터 타입으로 갖는 상세보기 뷰가 있다고 가정한다. 회원 리스트 뷰에서 첫번째 아이템이 바인딩 된 이 항목은 Get 메소드의 입력 데이터 타입으로 필요한 uid를 가지므로 Get 메소드를 호출할 수 있다. 이와 마찬가지로, 상세보기 뷰에서도 user의 자식 요소로 uid를 포함하므로 Delete 메소드를 호출할 수 있게 된다.For example, suppose that there is a member list view having a method as shown in FIG. 3, a list having a data type as shown in FIG. 4, and a detail view view having a user as a data type. This item, bound to the first item in the member list view, has the uid required as the input data type of the Get method, so the Get method can be called. Similarly, the detail view includes the uid as a child element of the user, so the Delete method can be called.

또한, 현재 뷰에서 타겟 뷰로 이동하기 위하여 타겟 뷰가 호출 메소드에 대한 입력뷰이고, 타겟 뷰의 입력 데이터 타입이 현재 뷰의 데이터 타입을 포함하는 경우에는 현재 뷰에서 다른 뷰로의 이동이 가능한 관계로 정의한다.Also, to move from the current view to the target view, when the target view is the input view to the calling method and the input data type of the target view includes the data type of the current view, it is defined as a relation that can be moved from the current view to another view. do.

예를 들어, 도 5에 도시된 바와 같이, search와 create의 경우 사용자가 공집합으로 시작하여 데이터를 입력할 수 있으므로 회원 리스트 뷰에서는 search와 create의 입력뷰로 이동이 가능하며, update의 경우 기존의 user 데이터가 입력 뷰의 데이터로 필요하기 때문에 데이터 타입이 user가 되고, 회원 상세보기 뷰는 user를 데이터 타입으로 가지므로 create 및 search의 입력뷰 뿐만 아니라 update의 입력뷰로도 이동이 가능하다.For example, as shown in FIG. 5, in the case of search and create, the user may input data starting with the empty set, so the member list view may move to the input view of search and create, and in the case of update, the existing user Since data is needed as the input view data, the data type becomes user, and the member detail view view has user as the data type, so it is possible to move to the input view of update as well as the input view of create and search.

상기와 같은 과정을 통해, 서비스 명세 분석부(314)는 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출하고, 추출된 목록에 포함된 다수개의 뷰 간의 흐름을 분석하여, 뷰 흐름도를 도출할 수 있게 된다.Through the above process, the service specification analyzer 314 extracts a list of views required for display from the service specification and analyzes the flow between a plurality of views included in the extracted list to derive a view flow chart. Will be.

코드생성부(320)의 데이터 모델 생성부(322)는, 입력 매개변수와 결과 데이터가 저장되기 위한 데이터 모델을 생성한다. 이러한 데이터 모델은 서비스 메소드 명세의 입력 타입과 결과 타입의 분석을 통해 생성되며, 입력타입을 저장하는 인스턴스와 호출결과를 저장하는 인스턴스를 생성한 뒤, 각각의 인스턴스에 대해서 메소드별로 입력 및 결과 타입이 자식요소로 추가된다.The data model generator 322 of the code generator 320 generates a data model for storing input parameters and result data. This data model is created through the analysis of the input type and result type of the service method specification. After creating an instance to store the input type and an instance to store the call result, the input and result types for each instance are changed. It is added as a child element.

데이터 모델 생성부(322)를 통해 생성된 데이터 모델은 클라이언트가 필요로 하는 데이터의 복사본으로 볼 수 있으며, 입력 매개변수를 위한 메모리 역할을 하고 서비스 호출의 결과 데이터가 저장되는 공간이기도 하다. 결과 데이터는 부분 트리의 형태로 데이터 모델에 저장되며, 서비스 호출의 응답이 돌아오면 해당 부분 트리가 갱신된다.The data model generated by the data model generator 322 may be viewed as a copy of the data required by the client. The data model may also serve as a memory for the input parameter and may be a space for storing the result data of the service call. The resulting data is stored in the data model in the form of a partial tree, which is updated when the service call returns.

서브미션 생성부(324)는 서버와의 연결정보와 서버로부터 회신을 받은 후 응답의 처리를 위한 컬백 연산 기술을 위해 서비스 명세의 각 메소드마다 서브미션(submission) 요소를 생성한다. 서브미션 요소는 메소드의 주소와 이름, 입력 요소와 결과 데이터를 저장할 위치와 경로를 가지며, 서브미션 요소의 주소와 이름은, 각각의 메소드의 아이디와 호출할 주소값에서 얻어진다. 또한, 입력요소와 결과 데이터를 저장할 위치와 경로는 데이터 모델 생성부에서 생성된 데이터 모델로부터 구해진다. 이와 같이, 서브미션 요소가 구해지면 그에 대응하는 XForms 코드가 생성될 수 있다. The submission generator 324 generates a submission element for each method of the service specification for the callback operation technique for processing the response after receiving the connection information and the reply from the server. The submission element has a method address and name, an input element and a location and path to store the result data. The address and name of the submission element is obtained from the ID of each method and the address value to be called. In addition, a location and a path for storing the input element and the result data are obtained from the data model generated by the data model generator. As such, when a submission element is obtained, corresponding XForms code may be generated.

뷰 생성부(326)는 상기 서비스 명세 분석부(314)에서 추출된 뷰의 목록과 그에 따른 뷰 흐름도를 통해 메소드 호출 및 뷰 이동이 가능한 클라이언트 페이지의 XForms 코드를 생성한다. 뷰 생성부(326)는 먼저 생성할 뷰의 타입을 스키마의 요소로 가져오며, 뷰의 사용자 컨트롤을 생성하기 위해 메소드에 대해서 뷰타입이 반복부를 포함하고 있는지 분석하고, 그에 따른 입력뷰 또는 결과뷰를 생성한다. 그리고 해당 뷰에 대한 서비스 메소드 호출을 위한 XForms코드와 다른 뷰로의 이동을 위한 XForms코드를 생성한다.The view generator 326 generates an XForms code of a client page capable of calling a method and moving a view through a list of views extracted by the service specification analyzer 314 and a view flow diagram according thereto. The view generator 326 first imports the type of the view to be created as an element of the schema, and analyzes whether the view type includes an iterator for a method to create a user control of the view, and accordingly input view or result view. Create It creates XForms code for calling the service method of the view and XForms code for moving to another view.

이때, 뷰가 다루어야 할 실제 데이터는 서브미션 생성부(324)에서 생성된 서브미션 요소로부터 얻을 수 있다. 즉, 뷰가 입력뷰인 경우, 뷰가 다룰 대상 데이터가 서브미션의 입력 데이터의 속성과 같고, 결과뷰인 경우 결과 데이터의 속성과 같다. 이것은 뷰가 실제 참조하는 데이터의 위치가 된다. 각 뷰는 메소드 호출과 다른 뷰로의 이동을 위한 XForms코드를 생성하게 되는데, 이것은 서비스 명세 분석부(314)에서 생성한 뷰 흐름도와 대응한다. 단, 뷰의 서비스 메소드 호출을 위한 코드와 다른 뷰로의 이동을 위한 코드를 생성하기 위해서는 필요한 데이터가 이전 뷰의 참조위치 데이터로부터 해당 뷰의 참조 위치에 복사되어야 한다. In this case, the actual data to be handled by the view may be obtained from the submission element generated by the submission generator 324. That is, when the view is an input view, the data to be handled by the view is the same as the attribute of the input data of the submission, and when the view is the result, it is the same as the attribute of the result data. This is the location of the data that the view actually references. Each view generates XForms code for calling a method and moving to another view, which corresponds to the view flowchart generated by the service specification analyzer 314. However, in order to generate the code for calling the service method of the view and the code for moving to another view, the necessary data must be copied from the reference position data of the previous view to the reference position of the corresponding view.

XForms 표준의 몇가지 액션 요소의 결합으로 복사 연산을 기술할 수 있으나, 본 발명의 일실시예에서는 코드 생성과 논의의 단순화를 위하여 <copy> 요소를 삽입과 값의 복사를 통한 트리의 복사 연산으로 새로 정의하였다. copy 액션은 <copy ref='path1' value='pate2'/>의 형태를 가지며, ref 속성은 원본 트리의 경로, value는 복사할 목적의 요소의 경로를 가진다. 이 액션은 결과 인스턴스 트리에서 매개변수 트리로, 또는 반대 방향으로의 데이터 복사를 위하여 사용된다.
Although a copy operation can be described by combining several action elements of the XForms standard, in one embodiment of the present invention, a <copy> element is newly added as a copy operation of a tree through insertion and copying of values to simplify code generation and discussion. Defined. The copy action has the form <copy ref = 'path1' value = 'pate2'/>, the ref attribute is the path of the source tree, and value is the path of the element to copy. This action is used to copy data from the resulting instance tree to the parameter tree or in the opposite direction.

도 6은 본 발명의 일실시예에 따른 클라이언트 페이지 자동 생성 시스템을 이용한 클라이언트 페이지 자동 생성 방법을 도시한 순서도이다.6 is a flowchart illustrating a method of automatically generating a client page using a system for automatically generating a client page according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 먼저 사용자는 클라이언트 단말기를 통해 서비스 명세 목록 제공 서버가 제공하는 WADL 기반의 서비스 명세 목록 중에서 원하는 서비스를 선택한 뒤, 클라이언트 페이지 자동 생성 시스템을 통한 클라이언트 페이지 자동 생성을 요청한다(S612).As shown in FIG. 6, a user first selects a desired service from a WADL-based service specification list provided by a service specification list providing server through a client terminal, and then requests automatic generation of a client page through a client page automatic generation system. (S612).

사용자의 요청에 따라 클라이언트 페이지 자동 생성 시스템은, 데이터 타입 분석부를 통해 스키마 파서를 이용하여 상기 선택된 서비스 명세에 정의된 데이터 타입을 분석하고(S614), 이를 통한 포함관계를 분석하여 타입관계도를 도출한다(S616).According to the user's request, the client page automatic generation system analyzes the data type defined in the selected service specification using the schema parser through the data type analysis unit (S614), and derives the type relationship diagram by analyzing the inclusion relationship therethrough. (S616).

예를 들어, 도 7에 도시된 서비스 명세를 분석한다고 가정할 경우, 데이터 타입 분석부는 서비스 명세에서 루트요소인 WCDLClient 속성으로 기술되어 있는 XML 스키마에 정의된 요소이름을 확인한다. 그 후 method 요소의 base 속성과 path 속성으로 호출 URL을 저장하고, name 속성으로 호출방식을 저장한다. request 요소의 자식요소로 기술되는 param 요소는 서비스 호출을 위한 입력 매개변수이며, param 요소의 type 속성을 WCDLClient 속성에 정의된 요소 이름을 참조하여 입력 매개변수의 입력타입을 분석한다. 또한, reponse 요소의 자식요소로 기술되는 representation 요소는 서비스 호출에 대한 결과 정보이며, representation 요소의 element 속성을 WCDLClient 속성에 정의된 요소 이름을 참조하여 결과정보의 결과타입을 분석한다. 도 7에 도시된 서비스 명세는 입력 매개변수인 스케줄 아이디에 대한 스케줄 상세정보가 호출결과로 리턴되는 결과를 가지는 서비스 명세이다.For example, assuming that the service specification shown in FIG. 7 is analyzed, the data type analyzer checks the element name defined in the XML schema described as the WCDLClient attribute as the root element in the service specification. After that, the calling URL is saved with the base and path attributes of the method element, and the calling method is saved with the name attribute. The param element described as a child element of the request element is an input parameter for invoking the service, and the input type of the param element is analyzed by referring to the element name defined in the WCDLClient attribute of the type attribute of the param element. In addition, the representation element described as a child element of the response element is the result information for the service invocation, and the result type of the result information is analyzed by referring to the element name defined in the WCDLClient attribute of the element attribute of the representation element. The service specification illustrated in FIG. 7 is a service specification having a result in which schedule detail information about a schedule ID, which is an input parameter, is returned as a call result.

상기와 같은 과정을 통해 데이터 타입 분석부는 서비스 명세에 정의된 데이터 타입을 분석하며, 도 8에 도시된 바와 같이, XML 스키마 상의 조상·후손 관계를 이용하여 서비스 명세들에 정의된 데이터 타입들에 대한 타입관계도를 도출한다. Through the above process, the data type analyzer analyzes the data types defined in the service specification. As shown in FIG. 8, the data type analyzer analyzes data types defined in the service specifications by using an ancestor and descendant relationship on the XML schema. Deriving the type relation diagram.

이어서, 서비스 명세 분석부를 통해 상기 데이터 타입 분석부에서 도출된 타입 관계도에 기초하여, WADL 파서를 이용하여 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출한다(S618). 상기 뷰의 목록을 추출하기 위해, 서비스 명세 분석부는 우선 선택된 서비스 명세에 포함되는 모든 메소드에 대해 입력 및 결과뷰를 하나씩 가정하며, 이전 뷰에서 입력 매개변수 데이터가 결정되어 바로 메소드를 호출할 수 있을 경우는 메소드의 입력뷰를 생략하고, 결과 데이터가 없는 메소드의 경우에는 결과뷰를 생략함으로써, 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출한다. Subsequently, based on the type relationship diagram derived from the data type analyzer through the service specification analyzer, a list of views required for display in the service specification is extracted using the WADL parser (S618). In order to extract the list of views, the service specification analyzer first assumes one input and one result view for all methods included in the selected service specification, and the input parameter data is determined in the previous view so that the method can be called immediately. In this case, the input view of the method is omitted, and in the case of a method without the result data, the result view is omitted, thereby extracting a list of views requiring display from the service specification.

하기의 표 1은 호출 메소드에 따라 생성되는 뷰의 집합 예를 나타낸 표이다.Table 1 below is a table showing an example of a set of views generated by the calling method.

액션action HTTP 메소드HTTP method 입력타입Input type 입력뷰Input view 결과타입Result type 결과뷰Result view searchsearch GETGET pid, date, stringpid, date, string OO slistslist OO readread sidsid scheduleschedule OO createcreate POSTPOST scheduleschedule OO -- updateupdate PUTPUT scheduleschedule OO -- deletedelete DELETEDELETE sidsid --

표 1에 도시된 바와 같이, 각각의 http 메소드 별로 search, read, create, update, delete 액션이 정의되어 있으며, GET 메소드는 아이디로 해당 리소스의 내용을 반환하는 Read 액션과, 조건에 의해 리소스의 내용을 반환하는 Search 액션으로 나눌수 있다. 스케줄 리소스는 각 액션별로 입력 타입과 결과 타입을 가진다. 여기서 타입을 갖지 않는 경우 뷰가 생략 가능하고, id를 입력 타입으로 갖는 액션은 이전 뷰에서 입력 타입이 결정되어 입력뷰없이 메소드 호출이 가능하다. DELETE 메소드는 입력 파라매터로 아이디 값을 가지고 결과 데이터는 없는데, 이 경우 입력 및 결과 뷰는 생략 가능하다. 이와 같은 과정으로 메소드의 별로 다섯 개의 뷰가 정해질 수 있다.As shown in Table 1, the search, read, create, update, and delete actions are defined for each http method, and the GET method has a Read action that returns the contents of the resource by ID, and the contents of the resource by conditions. Can be broken down into a Search action that returns. The schedule resource has an input type and a result type for each action. If the type does not have a view, the view can be omitted, and the action with id as the input type can be called without a input view because the input type is determined in the previous view. The DELETE method has an ID value as an input parameter and no result data. In this case, the input and result views can be omitted. In this way, five views can be defined for each method.

상기와 같은 과정을 통해 디스플레이가 요구되는 뷰의 목록이 추출되면, 서비스 명세 분석부는 뷰가 갖는 데이터 타입을 분석한 뒤 추출된 목록에 포함된 다수개의 뷰 간의 흐름을 분석한다(S620). 뷰 간의 흐름은 크게 뷰에서의 메소드 호출이 가능한 관계와, 현재 뷰에서 다른 뷰로의 이동이 가능한 관계로 나뉜다.When the list of views requiring display is extracted through the above process, the service specification analyzer analyzes the data type of the view and then analyzes the flow between the plurality of views included in the extracted list (S620). The flow between views is largely divided into a method that can call a method in a view and a view that can move from one view to another.

만약, 현재 뷰가 메소드의 입력 뷰 이거나 뷰의 데이터 타입이 메소드의 입력 타입을 포함하는 경우에는 뷰에서의 메소드 호출이 가능한 관계로 정의하며, 이때는 현재 뷰에서 포함하고 있는 데이터를 이용해서 페이지에서 제공하는 다른 메소드를 호출할 수 있는 경우 모든 호출을 허용한다. If the current view is the input view of the method or the data type of the view includes the input type of the method, the method can be called in the view. In this case, the page is provided using the data included in the current view. If all other methods that can be called can be called, all calls are allowed.

예를 들어, 도 9에 도시된 바와 같이, 첫번째 스케줄 리소스의 Read 메소드와 두번째 룸 리소스의 Read 메소드의 뷰 간의 흐름을 분석하면, 스케줄 Read 메소드의 결과 뷰의 데이터 타입인 schedule의 스키마가 룸의 Read 메소드의 입력 데이터인 rid를 자식요소로 포함하고 있으므로 스케줄 Read 요청의 결과 뷰에서 룸의 Read 메소드를 호출할 수 있게된다. 이에 따라, 리드 Read 스케쥴 뷰에서 룸의 Read 요청을 수행할 수 있는 메뉴가 추가된다. For example, as shown in FIG. 9, when analyzing the flow between the view of the read method of the first schedule resource and the read method of the second room resource, the schema of schedule, which is the data type of the result view of the schedule read method, is read in the room. Since the method's input data rid is included as a child element, the room's Read method can be called from the result view of the schedule Read request. Accordingly, a menu for performing a read request of a room in the read read schedule view is added.

또한, 현재 뷰에서 타켓 뷰로 이동하기 위하여 타겟 뷰가 호출 메소드에 대한 입력뷰이고, 타겟 뷰의 입력 데이터 타입이 현재 뷰의 데이터 타입을 포함하는 경우에는 현재 뷰에서 다른 뷰로의 이동이 가능한 관계로 정의한다.Also, in order to move from the current view to the target view, when the target view is the input view to the calling method and the input data type of the target view includes the data type of the current view, the target view is defined as being able to move from the current view to another view. do.

예를 들어, 도 10에 도시된 바와 같이, 스케줄 메소드와 스케줄 업데이트를 위한 메소드의 뷰 간의 흐름을 분석하면, 스케줄 요청의 결과타입이 업데이트 메소드의 입력뷰와 같은 타입이기 때문에 스케줄 요청의 결과뷰에서 업데이트 요청의 입력 뷰로 이동할수 있게 된다. For example, as shown in FIG. 10, when analyzing the flow between the schedule method and the view of the method for updating the schedule, the result view of the schedule request is the same type as the input view of the update method. You will be taken to the input view of the update request.

이어서, 데이터 모델 생성부를 통해 서비스 인터페이스를 위한 데이터 모델을 생성한다(S622). 이러한 데이터 모델은 서비스 메소드 명세의 입력 타입과 결과 타입의 분석을 통해 생성되며, 입력타입을 저장하는 인스턴스와 호출결과를 저장하는 인스턴스를 생성한 뒤, 각가의 인스턴스에 대해서 메소드별로 입력 및 결과 타입이 자식요소로 추가된다.Subsequently, a data model for a service interface is generated through the data model generator (S622). This data model is created through the analysis of the input type and result type of the service method specification. After creating an instance that stores the input type and an instance that stores the call result, the input and result types for each instance are changed. It is added as a child element.

예를 들어, 도 7에 도시된 WADL 문서를 이용하여 데이터 모델을 생성할 경우, 우선 입력타입을 저장하는 "inputParam"인스턴스와 호출결과를 저장하는 "outputResult"인스턴스로 두개의 인스턴스가 생성된다. 이어서, 입력타입인 스케쥴 아이디(sch:sid)가 메소드 요소의 id값을 속성으로 하여 inputparm 인스턴스의 자식요소로 생성되며, 결과타입인 스케쥴 상세정보(sch:schedule)가 outputResult 인스턴스의 자식요소로 생성된다. 이때, 결과 타입의 인스턴스의 트리는 서버에서 리턴되는 XML 요소로 복사되기 때문에 루트요소만 생성해주면 된다. 이와 같은 과정을 통해 도 11에 도시된 바와 같은 지역 데이터 모델 코드가 생성된다.For example, when a data model is generated using the WADL document shown in FIG. 7, two instances are created, an "inputParam" instance that stores an input type and an "outputResult" instance that stores a call result. Subsequently, an input type schedule id (sch: sid) is created as a child element of the inputparm instance with the id value of the method element as an attribute, and the result type schedule details (sch: schedule) is created as a child element of the outputResult instance. do. In this case, the tree of the result type instance is copied to the XML element returned from the server, so only the root element needs to be created. Through this process, the regional data model code as shown in FIG. 11 is generated.

다음으로, 서브미션 생성부를 통해 서비스 명세의 각 메소드 마다 서비스미션 요소를 생성한다(S624). 서브미션 요소는 메소드의 주소와 이름, 입력요소와 결과데이터를 저장할 위치의 경로를 가진다. 이때, 서브미션의 아이디와 액션 속성은 메소드의 ID와 base, path 값으로 구해지며, 입력 및 결과 요소의 위치는 지역 데이터 모델로부터 구해진다. 도 12는 도 7에 도시된 WADL 문서에서 생성된 서브미션 코드 부분을 도시한 것이다. 도 12에 도시된 바와 같이, 메소드의 입력 요소 레이블이 sid이므로 서브미션 요소의 ref 속성은 도 11에 도시된 지역 데이터 모델의 XPath 뒤에 sid 요소를 붙인다. 이와 마찬가지로, 결과 데이터가 저장될 요소의 경로는 instance와 target 속성으로 표시된다.Next, the service generation element is generated for each method of the service specification through the submission generator (S624). The submission element contains the address and name of the method, and the path to the location to store the input element and result data. At this time, the ID and action attribute of the submission are obtained from the ID, base, and path values of the method, and the positions of the input and result elements are obtained from the local data model. FIG. 12 illustrates a portion of a submission code generated in the WADL document shown in FIG. 7. As shown in FIG. 12, since the input element label of the method is sid, the ref attribute of the submission element attaches the sid element after the XPath of the local data model shown in FIG. Similarly, the path of the element where the result data will be stored is indicated by the instance and target attributes.

이어서, 뷰 코드 생성부를 통해 뷰와 메소드 호출 및 뷰 이동이 가능한 클라이언트 페이지를 XForms 코드로 생성한다(S626). 클라이언트 페이지는 <group> 요소를 이용하여 생성되며, <group> 요소의 id속성은 이름을 사용하고, nodeset 속성은 뷰가 참조하는 데이터의 위치를 사용한다. 도 13은 도 7에 도시된 WADL 문서에서 <group>요소를 이용하여, 클라이언트 페이지가 생성된 예이다. Subsequently, the client page capable of calling the view and the method and moving the view through the view code generator generates the XForms code (S626). Client pages are created using the <group> element. The id attribute of the <group> element uses a name, and the nodeset attribute uses the location of the data referenced by the view. FIG. 13 illustrates an example in which a client page is generated using a <group> element in the WADL document illustrated in FIG. 7.

생성된 클라이언트 페이지는 상기 도출된 뷰 흐름에 따라서 서비스 메소드 호출을 위한 코드와 다른 뷰로의 이동을 위한 코드를 포함한다. 도 14는 <submit>요소를 이용하여, 도 7에 도시된 메소드 "m3"를 호출하기 위한 코드를 생성한 예이다. 도 14에 도시된 바와 같이, 메소드 "m3"를 호출하기 위해 submit 요소의 서브미션 속성 값으로 해당 서브미션 요소를 찾으며, 메소드 "m3"를 호출하기 위한 입력 매개변수의 참조 위치에 값을 복사하기 위해 setvalue 액션 코드가 생성되었다. The generated client page contains code for moving to another view and code for calling a service method according to the derived view flow. FIG. 14 illustrates an example of generating code for calling the method "m3" shown in FIG. 7 using the <submit> element. As shown in Fig. 14, finding the corresponding submission element with the submission attribute value of the submit element to call the method "m3", and copying the value to the reference position of the input parameter for calling the method "m3". Setvalue action code was generated.

도 15는 <trigger>요소를 이용하여, 메소드 "m3"의 결과 뷰에서 수정 뷰로 이동하기 위해 자동 생성된 코드를 나타낸 예이다. 수정 뷰로 이동하기 위해 "m3"의 결과 뷰의 데이터 값을 수정 뷰의 참조 위치에 복사하는 copy 액션 코드가 생성되었고, 수정 뷰로 이동하기 위한 setfocus 액션 코드가 생성되었다.
15 shows an example of automatically generated code for moving from the result view of the method "m3" to the modified view using the <trigger> element. To move to the modification view, a copy action code is generated that copies the data value of the result view of "m3" to the reference position of the modification view. A setfocus action code is generated to move to the modification view.

상기와 같은 과정을 통해, 사용자는 서비스 명세 목록 제공 서버에서 제공하는 서비스 명세 목록 중 원하는 서비스 명세를 선택하여 요청할 경우, 사용자가 선택한 서비스가 조합되고, 그에 따른 메소드 호출과 뷰 이동이 가능한 XForms 기반의 클라이언트 페이지가 자동으로 생성된다. Through the above process, when the user selects and requests a desired service specification from the service specification list provided by the service specification list providing server, the service selected by the user is combined, and the method call and view movement according to the XForms-based Client pages are automatically generated.

도 16은 본 발명의 일실시예에 따른, 서비스 명세 목록 제공 서버에서 제공하는 서비스 명세 목록과 그에 따라 사용자가 서비스 명세를 선택할 수 있는 화면을 도시한 예이며, 도 17 및 도 18은 사용자가 선택한 서비스가 조합되어 생성된 XForms 기반의 클라이언트 페이지가 생성된 예를 나타낸 도면이다.FIG. 16 illustrates an example of a service specification list provided by a service specification list providing server and a screen for allowing a user to select a service specification according to an embodiment of the present invention. FIGS. 17 and 18 illustrate a user selection. The following figure shows an example of creating an XForms-based client page created by combining services.

도 16에 도시된 바와 같이, 사용자는 서비스 명세 목록 제공 서버에서 제공하는 서비스 명세 목록중 사용자가 원하는 서비스 명세를 선택할 수 있으며, 본 발명에서는 스케쥴에 따라 버스정보를 검색할 수 있는 서비스 조합을 위해, 스케쥴 서비스 명세와 버스정보 서비스 명세를 선택한 화면의 예를 나타내었다.As shown in FIG. 16, a user may select a desired service specification from a service specification list provided by a service specification list providing server. In the present invention, for a service combination capable of searching for bus information according to a schedule, The following shows an example of a screen for selecting a schedule service specification and a bus information service specification.

클라이언트 페이지 자동 생성 시스템은 사용자가 선택한 스케쥴 서비스 명세와 버스정보 서비스 명세를 분석하여, 도 17에 도시된 바와 같이 스케쥴 서비스와 버스정보 서비스 연결에 필요한 뷰를 생성하며, 도 18에 도시된 바와 같이 뷰 이동 및 서비스 호출을 위한 메뉴가 생성된 XForms 기반의 클라이언트 페이지를 제공한다. 이에 따라, 생성된 클라이언트 페이지를 이용하여 원하는 날짜를 입력하여 해당 날짜의 스케쥴을 검색할 수 있으며, 이와 동시에 스케쥴에 해당하는 위치장소를 가기 위한 버스 검색과, 해당 버스에 대한 노선을 검색할 수 있는 다중 서비스를 제공받을 수 있게 된다.
The client page automatic generation system analyzes the schedule service specification and the bus information service specification selected by the user, and generates a view necessary for connecting the schedule service and the bus information service as shown in FIG. 17, and as shown in FIG. 18. Provides an XForms-based client page with a menu for navigation and service invocation. Accordingly, by using the generated client page, the user can input the desired date to search the schedule of the date. At the same time, the bus search for the location of the schedule and the route for the bus can be searched. Multiple services can be provided.

이상에서 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.The present invention is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be clear to those who have knowledge of God.

100 : 서비스 프로바이더 200 : 서비스 명세 목록 제공 서버
300 : 클라이언트 페이지 자동 생성 시스템
310 : 분석부 312 : 데이터 타입 분석부
314 : 서비스 명세 분석부 320 : 코드생성부
322 : 데이터 모델 생성부 324 : 서비스 미션 생성부
326 : 뷰 생성부 400 : 클라이언트 단말기
100: service provider 200: service specification list providing server
300: automatic client page generation system
310: analysis unit 312: data type analysis unit
314: service specification analysis unit 320: code generation unit
322: data model generation unit 324: service mission generation unit
326: view generating unit 400: client terminal

Claims (15)

WADL(Web Application Description Language)기반의 서비스 명세 목록이 저장된 서버와 연결되어 사용자가 선택한 적어도 하나 이상의 서비스에 대한 다중 서비스를 제공하는 클라이언트 페이지를 생성하는 시스템에 있어서,
스키마 파서를 이용하여 선택된 서비스 명세에 정의된 데이터 타입을 분석하고, 이를 통한 데이터 타입들 간의 포함관계를 분석하여 타입관계도를 도출하는 데이터 타입 분석부;
상기 데이터 타입 분석부에서 도출한 타입관계도에 기초하여, WADL 파서를 이용하여 상기 선택된 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출하고, 추출된 목록에 포함된 다수개의 뷰 간의 흐름을 분석하여 뷰 흐름도를 도출하는 서비스 명세 분석부;
입력 매개변수와 결과데이터의 저장을 위한 데이터 모델을 생성하는 데이터 모델 생성부;
상기 서비스 명세의 각 메소드마다 메소드에 해당하는 뷰가 참조하는 데이터의 경로 및 입력 매개변수와 결과데이터가 저장될 데이터 모델위치가 지정된 서브미션 요소를 생성하는 서브미션 생성부;
상기 서비스 명세 분석부에서 추출된 다수개의 뷰와 그에 따른 뷰 흐름도를 이용하여 메소드 호출 및 뷰 이동이 가능한 클라이언트 페이지를 XForms 코드로 생성하는 뷰 생성부;
를 포함하여 구성되는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
A system for generating a client page that provides a multi-service for at least one service selected by a user connected to a server storing a service application list based on a web application description language (WADL),
A data type analysis unit for analyzing a data type defined in the selected service specification using a schema parser, and analyzing a inclusion relationship between the data types to derive a type relationship diagram;
Based on the type relationship diagram derived from the data type analysis unit, a list of views that are required to be displayed in the selected service specification is extracted using a WADL parser, and the flow between a plurality of views included in the extracted list is analyzed. A service specification analyzer for deriving a view flowchart;
A data model generator for generating a data model for storing input parameters and result data;
A submission unit for generating a submission element for each method of the service specification, the path of the data referenced by the view corresponding to the method, an input parameter, and a data model location to store the result data;
A view generator for generating a client page capable of calling a method and moving a view using XForms code using a plurality of views extracted from the service specification analyzer and a view flow diagram thereof;
XForms-based client page automatic generation system characterized in that the configuration, including.
제 1항에 있어서,
상기 데이터 타입 분석부는,
XML 스키마 구조 정의에 의해 조상·후손 관계로 정의된 타입관계도를 도출하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
The method of claim 1,
The data type analysis unit,
XForms-based automatic client page generation system, which derives the type relation diagram defined by ancestor and descendant relation by XML schema structure definition.
제 1항에 잇어서,
상기 서비스 명세 분석부는,
상기 선택된 서비스 명세에 포함된 모든 메소드에 입력뷰 및 결과뷰를 하나씩 부여한 뒤, 생략가능한 입력뷰와 결과뷰를 제외하여 디스플레이가 요구되는 뷰의 목록을 추출하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
In accordance with claim 1,
The service specification analysis unit,
After assigning input view and result view one by one to all methods included in the selected service specification, XForms-based client page automatically extracts a list of views requiring display except input view and result view that can be omitted. Generating system.
제 3항에 있어서,
상기 서비스 명세 분석부는,
이전 뷰에서 입력 매개변수 데이터가 결정되어 바로 메소드를 호출 할 수 있는 경우에는 입력뷰를 생략하고, 결과 데이터가 없는 메소드의 경우에는 결과뷰를 생략하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
The method of claim 3, wherein
The service specification analysis unit,
XForms-based client page automatic generation system, characterized in that if input parameter data is determined from previous view and method can be called immediately, input view is skipped and result view is skipped for methods without result data. .
제 1항에 있어서,
상기 서비스 명세 분석부는,
뷰에서의 메소드 호출이 가능한 관계 및 현재 뷰에서 다른 뷰로의 이동이 가능한 관계로 정의된 뷰흐름도를 도출하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
The method of claim 1,
The service specification analysis unit,
An XForms-based automatic client page generation system, which derives a view flow chart defined by a method call from a view and a relationship from a current view to another.
제 5항에 있어서,
상기 서비스 명세 분석부는 상기 뷰 흐름도를 도출하는 과정에서,
현재 뷰가 메소드의 입력뷰이거나, 뷰의 데이터 타입이 메소드의 입력 데이터 타입을 포함하는 경우 뷰에서의 메소드 호출이 가능한 관계로 정의하고,
현재 뷰에서 타겟 뷰로 이동하기 위하여, 타겟 뷰가 호출 메소드에 대한 입력뷰이고, 타겟뷰의 입력 데이터 타입이 현재 뷰의 데이터 타입을 포함하는 경우 현재 뷰에서 다른 뷰로의 이동이 가능한 관계로 정의하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
6. The method of claim 5,
In the process of deriving the view flow chart, the service specification analysis unit,
If the current view is the input view of the method or the data type of the view contains the input data type of the method, define as a relation that can be called by the method in the view.
In order to move from the current view to the target view, the target view is the input view to the calling method, and if the input data type of the target view includes the data type of the current view, it is defined as a relation that can be moved from the current view to another view. XForms based client page automatic generation system.
제 1항에 있어서,
상기 데이터 모델 생성부는,
입력타입을 저장하는 인스턴스와 호출결과를 저장하는 인스턴스를 생성한 뒤, 각각의 인스턴스에 대해서 메소드별로 입력 및 결과타입이 자식요소로 추가되는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
The method of claim 1,
The data model generation unit,
XForms-based automatic client page generation system, characterized in that the input and result types are added as child elements for each instance after creating an instance to store the input type and the result of the call.
제 1항에 있어서,
상기 데이터 모델 생성부에서 생성된 데이터 모델에는,
입력 매개변수와 서비스 호출의 결과 데이터가 저장되며, 결과 데이터는 부분 트리의 형태로 저장되어 서비스 호출의 응답이 돌아오면 해당 부분 트리가 갱신되는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
The method of claim 1,
In the data model generated by the data model generator,
An input parameter and the result data of a service call are stored, and the result data is stored in the form of a partial tree, and when the response of the service call is returned, the corresponding partial tree is updated.
제 1항에 있어서,
상기 서브미션 요소는,
주소와 이름, 입력요소와 결과 데이터를 저장할 위치와 경로로 구성되며, 상기 서브미션 요소의 주소와 이름은 해당 메소드의 아이디와 호출할 주소값에서, 입력요소와 결과 데이터 저장 위치의 경로는 상기 데이터 모델 생성부에서 생성된 데이터 모델로 부터 구해지는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 시스템.
The method of claim 1,
The submission element,
It consists of address and name, location and path to store input element and result data, address and name of submission element are ID of corresponding method and address value to call, path of input element and result data storage location is the data XForms-based automatic client page generation system, characterized in that obtained from the data model generated by the model generator.
WADL(Web Application Description Language)기반의 서비스 명세 목록이 저장된 서버와 연결되어 사용자가 선택한 적어도 하나 이상의 서비스에 대한 다중 서비스를 제공하는 클라이언트 페이지를 생성하는 시스템을 이용하여 클라이언트 페이지를 생성하는 방법에 있어서,
상기 서비스 명세 목록이 저장된 서버로부터 상기 사용자가 선택한 서비스 명세를 전송받는 단계와;
스키마 파서를 이용하여 선택된 서비스 명세에 정의된 데이터 타입을 분석하고, 이를 통한 데이터 타입들 간의 포함관계를 분석하여 타입관계도를 도출하는 단계와;
상기 도출된 타입관계도에 기초하여, WADL 파서를 이용하여 상기 선택된 서비스 명세에서 디스플레이가 요구되는 뷰의 목록을 추출하는 단계와;
상기 추출된 목록에 포함된 다슈개의 뷰 간의 흐름을 분석하여 뷰 흐름도를 도출하는 단계와;
입력 매개변수와 결과데이터의 저장을 위한 데이터 모델을 생성하는 단계와;
상기 서비스 명세의 각 메소드마다 메소드에 해당하는 뷰가 참조하는 데이터의 경로 및 입력 매개변수와 결과데이터가 저장될 데이터 모델위치가 지정된 서브미션 요소를 생성하는 단계와;
상기 추출된 다수개의 뷰와 그에 따른 뷰 흐름도를 이용하여, 상기 서브미션 요소에 지정된 정보를 통해 메소드 호출 및 뷰 이동이 가능한 클라이언트 페이지를 XForms 코드로 생성하는 단계;
를 포함하여 구성되는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 방법.
Claims [1] A method of generating a client page by using a system for generating a client page that provides a multi-service for at least one service selected by a user connected to a server storing a web application description language (WADL) -based service specification list.
Receiving a service specification selected by the user from a server in which the service specification list is stored;
Analyzing a data type defined in the selected service specification using a schema parser, and analyzing a inclusion relationship between the data types to derive a type relationship diagram;
Extracting a list of views for which display is required from the selected service specification based on the derived type relationship diagram;
Deriving a view flow chart by analyzing a flow between the views of Dash included in the extracted list;
Generating a data model for storage of input parameters and result data;
Generating a submission element for each method of the service specification, the path of the data referenced by the view corresponding to the method, an input parameter, and a data model location to store the result data;
Generating, by XForms code, a client page capable of calling a method and moving a view through information specified in the submission element by using the extracted plurality of views and a view flow diagram thereof;
XForms-based client page automatic generation method characterized in that the configuration, including.
제 10항에 있어서,
상기 타입관계도를 도출하는 단계는,
XML 스키마 구소 정의에 의해 조상·후손 관계로 정의된 타입관계도를 도출하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 방법.
The method of claim 10,
Deriving the type relationship diagram,
An XForms-based client page automatic generation method characterized by deriving a type relationship diagram defined by an ancestor and descendant relationship by defining an XML schema structure.
제 10항에 있어서,
상기 뷰의 목록을 추출하는 단계는,
상기 선택한 서비스 명세에 포함된 모든 메소드에 입력뷰 및 결과뷰를 하나씩 부여한 뒤, 이전 뷰에서 입력 매개변수 데이터가 결정되어 바로 메소드를 호출 할 수 있는 경우에는 입력뷰를 생략하고, 결과 데이터가 없는 메소드의 경우에는 결과뷰를 생략하여 디스플레이가 요구되는 뷰의 목록을 추출하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 방법.
The method of claim 10,
Extracting the list of views,
After assigning input view and result view one by one to all methods included in the selected service specification, if input parameter data is determined in the previous view and the method can be called immediately, the input view is omitted and the method has no result data. In the case of XForms-based client page automatic generation method, characterized in that to extract the list of views for display by omitting the result view.
제 10항에 있어서,
상기 뷰 흐름도를 도출하는 단계는,
현재 뷰가 메소드의 입력뷰이거나, 뷰의 데이터 타입이 메소드의 입력 데이터 타입을 포함하는 경우 뷰에서의 메소드 호출이 가능한 관계로 정의하고,
현재 뷰에서 타겟 뷰로 이동하기 위하여, 타겟 뷰가 호출 메소드에 대한 입력뷰이고, 타겟뷰의 입력 데이터 타입이 현재 뷰의 데이터 타입을 포함하는 경우 현재 뷰에서 다른 뷰로의 이동이 가능한 관계로 정의한 뷰 흐름도를 도출하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 방법.
The method of claim 10,
Deriving the view flow chart,
If the current view is the input view of the method or the data type of the view contains the input data type of the method, define as a relation that can be called by the method in the view.
In order to move from the current view to the target view, when the target view is the input view to the calling method and the input data type of the target view includes the data type of the current view, the view flow chart is defined as the relation that can be moved from the current view to another view. XForms-based client page automatic generation method characterized in that the derivation.
제 10항에 있어서,
상기 데이터 모델을 생성하는 단계는,
입력타입을 저장하는 인스턴스와 호출결과를 저장하는 인스턴스를 생성한 뒤, 각각의 인스턴스에 대해서 메소드별로 입력 및 결과타입을 자식요소로 추가하여 데이터 모델을 생성하는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 방법.
The method of claim 10,
Generating the data model,
Automatically create an XForms-based client page, by creating an instance that stores the input type and an instance that stores the call result, and then creating a data model by adding input and result types as child elements for each instance. How to produce.
제 14항에 있어서,
상기 생성된 데이터 모델에는, 입력 매개변수와 서비스 호출의 결과 데이터가 저장되며, 결과 데이터는 부분 트리의 형태로 저장되어 서비스 호출의 응답이 돌아오면 해당 부분 트리가 갱신되는 것을 특징으로 하는 XForms 기반의 클라이언트 페이지 자동 생성 방법.
The method of claim 14,
In the generated data model, input parameters and the result data of the service call are stored, and the result data is stored in the form of a partial tree, and when the response of the service call is returned, the corresponding partial tree is updated. How to automatically generate client pages.
KR1020100053895A 2010-06-08 2010-06-08 Xforms based automated client-page composition system and the client-page composition method KR100982732B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100053895A KR100982732B1 (en) 2010-06-08 2010-06-08 Xforms based automated client-page composition system and the client-page composition method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100053895A KR100982732B1 (en) 2010-06-08 2010-06-08 Xforms based automated client-page composition system and the client-page composition method

Publications (1)

Publication Number Publication Date
KR100982732B1 true KR100982732B1 (en) 2010-09-20

Family

ID=43010235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100053895A KR100982732B1 (en) 2010-06-08 2010-06-08 Xforms based automated client-page composition system and the client-page composition method

Country Status (1)

Country Link
KR (1) KR100982732B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101324393B1 (en) * 2012-02-27 2013-11-01 충북대학교 산학협력단 Method and system for RESTful web service composition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020069795A (en) * 2001-02-28 2002-09-05 (주)모든넷 The method for recognize markup language to utilize universal document type definition and its readable form
KR20050034237A (en) * 2003-10-09 2005-04-14 (주)아이비리더스 Web sheet component for enhancemant of developing performance of business application using by active-x
KR20090000199A (en) * 2007-01-30 2009-01-07 에스케이커뮤니케이션즈 주식회사 Web server application framework, web application processing method using the framework and computer readable medium processing the method
KR20090106202A (en) * 2008-04-04 2009-10-08 (주)에이티솔루션 Apparatus and method for providing web application without HTTP

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020069795A (en) * 2001-02-28 2002-09-05 (주)모든넷 The method for recognize markup language to utilize universal document type definition and its readable form
KR20050034237A (en) * 2003-10-09 2005-04-14 (주)아이비리더스 Web sheet component for enhancemant of developing performance of business application using by active-x
KR20090000199A (en) * 2007-01-30 2009-01-07 에스케이커뮤니케이션즈 주식회사 Web server application framework, web application processing method using the framework and computer readable medium processing the method
KR20090106202A (en) * 2008-04-04 2009-10-08 (주)에이티솔루션 Apparatus and method for providing web application without HTTP

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101324393B1 (en) * 2012-02-27 2013-11-01 충북대학교 산학협력단 Method and system for RESTful web service composition

Similar Documents

Publication Publication Date Title
US10572582B2 (en) Clipboard augmentation with references
Liu et al. iMashup: a mashup-based framework for service composition
US8510371B2 (en) Method and system for creating IT-oriented server-based web applications
EP2819035B1 (en) Systems and methods for presentations with live application integration
US7870482B2 (en) Web browser extension for simplified utilization of web services
US7765464B2 (en) Method and system for dynamically assembling presentations of web pages
CN107122187A (en) A kind of operation system OS accesses design method
CN102096582A (en) Off-line gadget integration development environment
CN111602120A (en) Displaying an indication of changes made to content at a source
Gottfried et al. Drawsocket: A browser based system for networked score display
Heinrich et al. Reusable awareness widgets for collaborative web applications–a non-invasive approach
JP2004272871A (en) Method and system for extracting and distributing data in web contents
US10068030B2 (en) Extending java server faces web pages to support multiple devices
KR100982732B1 (en) Xforms based automated client-page composition system and the client-page composition method
Luyten et al. Runtime transformations for modal independent user interface migration
Tanaka et al. Meme media for clipping and combining web resources
Rienzi et al. Towards an ESB-Based Enterprise Integration Platform for Geospatial Web Services
CN101676905A (en) Layout for modifying resource contents based on customized rules
Firmenich et al. Distributed Web browsing: supporting frequent uses and opportunistic requirements
Han et al. Deep mashup: A description-based framework for lightweight integration of Web contents
Krug et al. SmartComposition: extending web applications to multi-screen mashups
Pohja Web application user interface technologies
Hanczaryk XML Content Transformation and Import Interfaces for Content Delivery Portals
Gröhbiel REST engineering on the server-and client-side
Guo et al. Partial information extraction approach to lightweight integration on the web

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee