KR20050055545A - An integrated development system for a syncml server application development - Google Patents

An integrated development system for a syncml server application development Download PDF

Info

Publication number
KR20050055545A
KR20050055545A KR1020030088770A KR20030088770A KR20050055545A KR 20050055545 A KR20050055545 A KR 20050055545A KR 1020030088770 A KR1020030088770 A KR 1020030088770A KR 20030088770 A KR20030088770 A KR 20030088770A KR 20050055545 A KR20050055545 A KR 20050055545A
Authority
KR
South Korea
Prior art keywords
application
syncml
sink
data
developer
Prior art date
Application number
KR1020030088770A
Other languages
Korean (ko)
Other versions
KR100545348B1 (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 KR1020030088770A priority Critical patent/KR100545348B1/en
Publication of KR20050055545A publication Critical patent/KR20050055545A/en
Application granted granted Critical
Publication of KR100545348B1 publication Critical patent/KR100545348B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Abstract

본 발명은 일정관리, 주소록 등과 같은 다양한 SyncML 어플리케이션의 서버 프로그램을 손쉽게 개발하기 위하여 개발자가 간단한 정보만 입력하면 어플리케이션의 소스코드를 자동으로 생성하여 주는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 관한 것이다. 이를 위해, 어플리케이션의 개발을 위해 개발자(31)로부터 입력된 데이터에 기초하여 오픈 데이터베이스 인터페이스 API(33), 데이터 구조체(34), 데이터베이스 SQL 스크립트(35)를 생성하는 싱크엔진 생성수단(21); 및 오픈 데이터베이스 인터페이스 API(33)에 대한 함수포인터를 보유하여 호출 가능하고, 함수포인터와 생성된 오픈 데이터베이스 인터페이스 API(33)를 맵핑 시키는 싱크 라이브러리수단(22);이 제공된다.The present invention relates to an integrated development system for developing a SyncML server application that automatically generates source code of an application when a developer only inputs simple information in order to easily develop a server program of various SyncML applications such as a schedule management and an address book. To this end, sink engine generation means 21 for generating an open database interface API 33, a data structure 34, and a database SQL script 35 based on data input from the developer 31 for the development of an application; And a sink library means 22 which has a function pointer to the open database interface API 33 and can be called and maps the function pointer to the generated open database interface API 33.

Description

SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템{An integrated development system for a SyncML server application development}An integrated development system for a SyncML server application development

본 발명은 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 관한 것으로, 보다 상세하게는 일정관리, 주소록 등과 같은 다양한 SyncML 어플리케이션의 서버 프로그램을 손쉽게 개발하기 위하여 개발자가 간단한 정보만 입력하면 어플리케이션의 소스코드를 자동으로 생성하여 주는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 관한 것이다.The present invention relates to an integrated development system for developing a SyncML server application. More specifically, in order to easily develop a server program of various SyncML applications such as a schedule management and an address book, the developer automatically inputs the source code of the application by simply inputting simple information. It relates to an integrated development system for developing SyncML server application generated by.

일반적으로, 데이터 동기화는 서로 다른 다수의 단말기에 존재하는 동일한 데이터 항목에 대하여 갱신된 내용을 반영하고 데이터간의 신구 버젼의 차이를 해결하여 항상 최신의 값으로 일치시키는 중재동작이다.In general, data synchronization is an arbitration operation that reflects updated contents of the same data item existing in a plurality of different terminals, solves the difference between the old and new versions of data, and always matches the latest value.

그리고, SyncML(Synchronization Markup Language)은 과거의 데이터 동기화 기술들이 제품간, 어플리케이션 간 상호 호환성을 극복하지 못하는 문제점을 해결하기 위하여 제정된 표준 동기화 프로토콜이다. 이러한 SyncML은 XML(Extensible Markup Language) 기반으로 표현된 메세지를 서버와 다수의 클라이언트 단말기간에 주고 받음으로서 데이터 동기화를 수행한다.In addition, SyncML (Synchronization Markup Language) is a standard synchronization protocol established to solve the problem that data synchronization technologies of the past do not overcome mutual compatibility between products and applications. The SyncML performs data synchronization by exchanging a message expressed in XML (Extensible Markup Language) based between a server and a plurality of client terminals.

현재의 SyncML은 어플리케이션의 일예로서 주소록, 일정관리 등과 같은 개인정보관리 서비스를 지원하고 있으며 앞으로는 개인 및 기업에서 요구하는 다양한 종류의 정보에 대한 어플리케이션을 추가하여 확장할 수 있을 것이다. 그러나, 다양한 어플리케이션의 개발을 위해 많은 인력과 예산이 투자되고 있지만, 프로그램 개발 툴이나 테스트 기술, 표준 API(Application Program Interface) 정의, 데이터 충돌시 해결 방안 등과 같은 기반기술이 미약하기 때문에 어플리케이션의 개발에 많은 비용이 소요되는 실정이다.Currently, SyncML supports personal information management services such as address book, calendar, etc. as an example of the application. In the future, SyncML may be extended by adding applications for various types of information required by individuals and companies. However, although a lot of manpower and budget are invested in the development of various applications, the basic technologies such as program development tools, test techniques, standard API (Application Program Interface) definition, and solution for data conflicts are weak. It is a very expensive situation.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로써, 본 발명의 목적은, 개발자로부터 SyncML 어플리케이션의 개발에 필요한 최소한의 정보 즉 어플리케이션의 이름, 식별자, 사용되는 구조체의 이름과 멤버의 속성, 데이터베이스 테이블의 이름과 속성을 GUI 방식으로 입력함으로서 어플리케이션의 소스코드를 자동으로 생성할 수 있는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템을 제공하는 것이다.Accordingly, the present invention has been made to solve the above problems, and an object of the present invention is to provide the minimum information necessary for the development of a SyncML application from a developer, namely, the name of the application, the identifier, the name and member of the structure to be used. It provides an integrated development system for the development of SyncML server application that can automatically generate the source code of an application by inputting the attribute, the name of the database table and the attribute in the GUI method.

상기와 같은 본 발명의 목적은,The object of the present invention as described above,

어플리케이션의 개발을 위해 개발자(31)로부터 입력된 데이터에 기초하여 오픈 데이터베이스 인터페이스 API(33), 데이터 구조체(34), 데이터베이스 SQL 스크립트(35)를 생성하는 싱크엔진 생성수단(21); 및Sink engine generating means (21) for generating an open database interface API (33), a data structure (34), and a database SQL script (35) based on data input from the developer (31) for the development of an application; And

오픈 데이터베이스 인터페이스 API(33)에 대한 함수포인터를 보유하여 호출 가능하고, 함수포인터와 생성된 오픈 데이터베이스 인터페이스 API(33)를 맵핑 시키는 싱크 라이브러리수단(22);으로 구성되는 것을 특징으로 하는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 의해 달성될 수 있다.SyncML server application, characterized in that consisting of; library function 22 for mapping the function pointer and the generated open database interface API (33) and callable, having a function pointer to the open database interface API (33) It can be achieved by an integrated development system for development.

그리고, 싱크엔진 생성수단(21)은,And the sink engine generating means 21,

개발자(31)로부터 어플리케이션에 관련된 데이터를 입력받는 사용자 인터페이스부(211); 및A user interface unit 211 which receives data related to an application from the developer 31; And

사용자 인터페이스부(211)의 데이터에 기초하여 소스코드 파일과 SQL 스크립트 파일을 생성하는 관리부(212)로 구성될 수 있다.The management unit 212 may generate a source code file and an SQL script file based on the data of the user interface unit 211.

아울러, 싱크 라이브러리수단(22)은,In addition, the sink library means 22,

동기화를 위한 커맨드 및 데이터를 처리하는 코어부(221); 및A core unit 221 for processing commands and data for synchronization; And

어플리케이션의 처리를 위한 유틸리티부(222)로 구성되는 것이 바람직하다.It is preferable that the utility unit 222 for processing the application.

또한, 어플리케이션에 종속적인 처리를 담당하는 수단, 또는 데이터간 충돌이 발생하였을 경우 해결하는 수단 또는 인증 절차를 처리하는 수단을 포함하는 싱크엔진; 및 In addition, a sink engine including a means for performing an application-dependent processing, a means for resolving when a data collision occurs, or a means for processing an authentication procedure; And

상기 어플리케이션에 독립적으로 SyncML 프로토콜을 구현한 싱크 에이전트;를 더 포함하는 것이 더욱 바람직하다.More preferably, the device further includes a sink agent implementing SyncML protocol independently of the application.

본 발명의 그 밖의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되어지는 이하의 상세한 설명과 바람직한 실시예들로부터 더욱 분명해질 것이다.Other objects, specific advantages and novel features of the present invention will become more apparent from the following detailed description and the preferred embodiments associated with the accompanying drawings.

이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 관하여 첨부된 도면을 참조하여 상세히 설명하도록 한다.Hereinafter, an integrated development system for developing a SyncML server application according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 통합 개발 시스템이 적용되는 네트워크 시스템의 개략적인 구성도이다. 도 1에 도시된 바와 같이, 본 발명이 적용될 수 있는 구성은 PDA, 휴대폰, 노트북 등과 같이 유선 또는 무선통신이 가능한 단말기인 SyncML 클라인언트(11)와 SyncML 서버(12)로 나눌 수 있다. SyncML 클라인언트(11)는 SyncML 서버(12)로 특정 어플리케이션에 대한 SyncML 메세지를 전송하고, SyncML 서버(12)은 이에 대한 실행 결과로 응답 메세지를 전송하게 된다.1 is a schematic configuration diagram of a network system to which an integrated development system according to the present invention is applied. As shown in FIG. 1, a configuration to which the present invention can be applied may be divided into a SyncML client 11 and a SyncML server 12, which are terminals capable of wired or wireless communication such as a PDA, a mobile phone, a notebook computer, and the like. The SyncML client 11 sends a SyncML message for a specific application to the SyncML server 12, and the SyncML server 12 sends a response message as a result of the execution.

도 2는 본 발명에 따른 통합 개발 시스템(2)의 블럭도이다. 도 2에 도시된 바와 같이, 본 발명에 따른 통합 개발 시스템(2)은 내부가 크게 싱크 엔진 생성기(21)와 싱크 라이브러리(22)로 대별될 수 있다.2 is a block diagram of an integrated development system 2 according to the present invention. As shown in FIG. 2, the integrated development system 2 according to the present invention may be roughly divided into a sink engine generator 21 and a sink library 22.

싱크 엔진 생성기(Sync Engine Generator, SEG)(21)는 개발자의 많은 작업부분을 자동으로 생성하는 부분으로서 내부는 다시 개발자로부터 어플리케이션에 대한 정보를 입력받는 사용자 인터페이스(User Interfece, UI)(211)와 입력받은 내용을 실제로 소스코드 파일과 SQL 스크립트 파일을 생성하는 관리부(212)로 대별된다.The Sync Engine Generator (SEG) 21 is a part that automatically generates a large portion of a developer's work, and has an internal user interface (UI) 211 that receives information about an application from a developer. The input content is roughly divided into a management unit 212 that actually generates a source code file and an SQL script file.

싱크 라이브러리(22)는 여러 어플리케이션에서 공통적으로 이용되는 기능을 일반화하여 라이브러리의 형태로 제공한다. 이러한 싱크 라이브러리(22)의 내부 기능은 크게 코어모듈(221)과 유틸리티 모듈(222)로 대별된다. 코어모듈(221)은 동기화를 위한 커맨드 및 데이터 처리를 위한 모듈이고 어플리케이션의 종속적인 기능을 일반적인 API 로 확장한 것이다. 또한, 코어모듈(221)은 SyncML 커맨드중 어플리케이션의 동기화를 요청하는 ADD, REPLACE, DELETE, COPY 등에 대한 처리와 해당 컨텐츠를 검색하는 기능을 포함한다. 또한 코어모듈(221)은 vCard, vCalendar 등의 어플리케이션 데이터 포맷을 SyncML 어플리케이션이 처리 가능한 SyncML 메세지 형식의 포맷으로 디코딩 하거나 인코딩하는 기능과 어플리케이션 컨텐츠에 대해 항목별로 비교하는 기능을 포함한다.The sink library 22 generalizes functions commonly used in various applications and provides them in the form of a library. The internal functions of the sink library 22 are roughly divided into the core module 221 and the utility module 222. The core module 221 is a module for processing commands and data for synchronization and extends application dependent functions to a general API. In addition, the core module 221 includes processing for ADD, REPLACE, DELETE, COPY, etc. requesting synchronization of an application among SyncML commands, and a function for searching the corresponding contents. In addition, the core module 221 includes a function of decoding or encoding an application data format such as vCard, vCalendar, etc. into a SyncML message format that can be processed by a SyncML application, and a function of comparing application contents item by item.

유틸리티 모듈(222)은 어플리케이션의 처리 및 범용적으로 이용 가능한 기능의 모듈로서, 문자열의 생성 및 제어기능, 어플리케이션의 컨텐츠의 토큰화 기능 및 기타 SyncML 어플리케이션의 다른 부분에서 범용적으로 이용 가능한 유틸리티 기능을 제공한다.The utility module 222 is a module for processing and universally available functions of an application. The utility module 222 is a module for generating and controlling character strings, tokenizing functions of application contents, and utility functions that are universally available in other parts of a SyncML application. to provide.

싱크 라이브러리(22)는 오픈 DB 인터페이스 API 및 기타 서비스중인 다른 모든 어플리케이션에 대한 오픈 DB 인터페이스 API들에 대한 함수 포인터를 가지고 있기 때문에 해당 어플리케이션에 대한 오픈 DB 인터페이스 API를 호출할 수 있다. 싱크 라이브러리(22)는 동기화를 요청하는 어플리케이션의 타입을 매개변수로 전달받아 어떤 어플리케이션인지 결정할 수 있기 때문에 동기화를 요청하는 어플리케이션의 정확한 오픈 DB 인터페이스 API를 호출할 수 있다. 오픈 DB 인터페이스 API에 대한 함수 포인터를 설정하는 것은 SyncML 어플리케이션의 종속적인 부분을 처리하는 모듈에서 이루어지며, 개발자(31)가 손수 처리해야 하는 부분이지만, 함수 포인터와 자동 생성한 오픈 DB 인터페이스 API 의 함수명을 일치시키는 맵핑 작업의 일종이다. Since the sink library 22 has function pointers to the open DB interface APIs and the open DB interface APIs for all other applications in service, the sink library 22 can call the open DB interface API for the corresponding application. Since the sink library 22 may determine the type of application by receiving the type of the application requesting the synchronization as a parameter, the sink library 22 may call the correct open DB interface API of the application requesting the synchronization. Setting the function pointer to the open DB interface API is done in the module that handles the dependent part of the SyncML application, and it is a part that the developer 31 must handle manually, but the function pointer and the function name of the automatically generated open DB interface API This is a kind of mapping operation that matches.

이와 같이, 싱크 라이브러리(22)는 개발자(31)에 의해 등록된 해당 어플리케이션의 콜백함수를 호출하도록 작성되었고, 특정 어플리케이션에서만 사용되는 구조체를 사용하지 않는 대신 어플리케이션의 타입, 컨텐츠의 크기 그리고 컨텐츠의 내용을 멤버 변수로 취하는 구조체를 사용함으로서, 특정 어플리케이션 타입에 국한되지 않고 여러가지 어플리케이션에서 공통적으로 이용 가능하게 된다.As such, the sink library 22 is written to call the callback function of the corresponding application registered by the developer 31. Instead of using a structure used only in a specific application, the sink library 22 uses the type of the application, the size of the content, and the content of the content. By using a structure that takes a as a member variable, it is not limited to a specific application type but can be commonly used in various applications.

이하에서는 도 3을 참조하여 본 발명에 따른 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템의 구체적인 동작 단계를 설명하도록 한다. 도 3은 본 발명에 따른 어플리케이션 개발과정의 단계적 흐름 및 해당 결과물을 도시한 블럭도이다. 도 3에 도시된 바와 같이, 개발자(31)는 SEG(21)를 이용하여 코드 생성에 필요한 최소한의 데이터의 입력, 즉 추가하고자 하는 어플리케이션의 이름, 식별자, 어플리케이션에 필요한 구조체의 이름과 멤버 속성, 데이터베이스 테이블의 이름과 속성을 입력한다. 그 결과로서, 도 3에 도시된 바와 같이, 오픈 DB 인터페이스 API(33), 데이터 저장 구조체(34), 데이터베이스 관련 SQL 스크립트(35)가 자동으로 생성된다.Hereinafter, with reference to FIG. 3 will be described a specific operation step of the integrated development system for developing a SyncML server application according to the present invention. 3 is a block diagram showing a step-by-step flow of the application development process according to the present invention and the result. As shown in FIG. 3, the developer 31 uses the SEG 21 to input minimum data necessary for code generation, that is, the name, identifier of the application to be added, the name and member properties of the structure required for the application, Enter the name and attributes of the database table. As a result, as shown in FIG. 3, an open DB interface API 33, data storage structure 34, and database related SQL script 35 are automatically generated.

추가하고자 하는 SyncML 어플리케이션은 이렇게 생성된 소스코드를 싱크엔진(37)에 추가하고, 싱크 라이브러리(22)를 링크한 후 싱크 라이브러리(22)의 API를 호출함으로서 자동 생성된 소스코드를 활용하여 신속하고 정확하게 새로운 어플리케이션을 구현할 수 있게 된다. 개발자(31)는 싱크 엔진(37) 프레임에서 싱크 라이브러리(22)의 API를 사용하기 전에 먼저 자신의 동기 서버의 오픈 DB 인터페이스 API중 변경기록을 위한 것과 어플리케이션에 관련된 것들을 싱크 라이브러리(22)의 코어모듈(221)에 콜백함수로 등록해 주어야 한다.The SyncML application to be added adds the generated source code to the sink engine 37, links the sink library 22, and then calls the API of the sink library 22 to utilize the automatically generated source code. You will be able to implement your new application correctly. Before using the sink library 22 API in the sink engine 37 frame, the developer 31 first checks the open DB interface API of its sync server for change recording and related to the application core of the sink library 22. It should be registered as a callback function in the module 221.

싱크 라이브러리(22)는 특정 동기 어플리케이션의 구조에 영향을 받지 않으며 일반적이고 공통적으로 사용 가능한 라이브러리이므로, 이 절차는 해당 처리를 위해 자신의 동기서버인 오픈 DB 인터페이스 API가 호출될 수 있도록 하기 위한 것이다. 이후에 새롭게 추가되는 어플리케이션에 대해서는 싱크 라이브러리(22)에 대한 수정은 필요없고, SEG(21)를 통해 자동생성된 소스코드를 상기한 방법으로 추가하면 된다.Since the sink library 22 is not affected by the structure of a specific synchronous application and is a general and commonly available library, this procedure is for allowing the open DB interface API, which is its own synchronization server, to be called for the processing. There is no need to modify the sink library 22 for the newly added application, and the source code generated automatically through the SEG 21 may be added in the above-described manner.

도 4는 본 발명에 따른 통합 개발 시스템에 의해 작성된 특정 어플리케이션 소프트웨어 모듈의 구성도의 일예이다. 이러한 특정 어플리케이션은 서버에서 직접 데이터를 추가하거나 수정할 수 있는 서버 어플리케이션(41)과 다른 SyncML 장치와 메세지를 주고 받을 수 있는 싱크 어댑터(42), SyncML 메세지를 파싱하거나 조립하기 위한 SyncML 툴키트(43), 파싱된 메세지를 처리하고 또 조립할 데이터를 생성하는 싱크 에이전트(44), 세션을 관리하기 위한 서버 세션관리부(45), 및 싱크 라이브러리(22), 그리고 본 발명에 따라 자동 생성된 싱크 엔진(37) 및 오픈 DB 인터페이스(33)로 이루어져 있다.4 is an example of configuration diagram of a specific application software module created by the integrated development system according to the present invention. These specific applications include a server adapter 41 that can add or modify data directly on the server, a sync adapter 42 that can exchange messages with other SyncML devices, a SyncML toolkit 43 for parsing or assembling SyncML messages, A sink agent 44 for processing parsed messages and generating data to be assembled, a server session manager 45 for managing sessions, and a sink library 22, and a sink engine 37 automatically generated according to the present invention. And an open DB interface 33.

본 발명에서 작성된 특정 어플리케이션을 본 발명을 사용하지 않는 종래의 방식으로 작성된 어플리케이션과 비교했을 때, 성능상이 차이점은 없고, 작업량과 작업시간에 있어서, 상당한 감소 효과가 있었다. 즉, 개발자가 작성해야 하는 소스코드의 양은 80% 정도 감소하였고, 반면, 서버의 실행속도는 약 2% 정도 감소하는 것으로 측정되었다.When comparing the specific application created in the present invention with an application written in a conventional manner not using the present invention, there is no difference in performance, and there is a significant reduction in the amount of work and the working time. In other words, the amount of source code that a developer has to write has decreased by 80%, while the execution speed of the server has been reduced by about 2%.

본 발명에 따른 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템은 또한 필요에 따라 SyncML 프로토콜에 영향을 받지 않고 어플리케이션에 종속적인 처리를 담당하는 수단, 데이터간 충돌이 발생하였을 경우 이를 해결하는 수단 및 인증 절차를 처리하는 수단을 포함할 수 있다.The integrated development system for developing a SyncML server application according to the present invention also provides a means for handling application-dependent processing without being affected by the SyncML protocol as necessary, a means for resolving a collision between data, and an authentication procedure. Means for processing.

상기 설명한 바와 같이 본원발명에 따른 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 의하면, 개발자로부터 SyncML 어플리케이션의 개발에 필요한 최소한의 정보 즉 어플리케이션의 이름, 식별자, 사용되는 구조체의 이름과 멤버의 속성, 데이터베이스 테이블의 이름과 속성을 GUI 방식으로 입력함으로서 어플리케이션의 소스코드를 자동으로 생성할 수 있다. As described above, according to the integrated development system for developing a SyncML server application according to the present invention, the minimum information necessary for the development of a SyncML application from a developer, that is, the name of the application, the identifier, the names of the structures and members of the structure used, and the database table. The source code of the application can be automatically generated by entering the name and the attribute of the GUI in the GUI method.

따라서, 개발자는 생성된 소스코드를 기종의 SyncML 어플리케이션에 간단히 추가하는 것으로 개발을 완료할 수 있다. 이로서, 개발자가 소스코드를 하나씩 작성하여야 하는 종래의 방법에 비해 개발시간과 비용을 대폭적으로 줄일 수 있는 효과가 있다. Therefore, the developer can complete the development simply by adding the generated source code to the existing SyncML application. As a result, the development time and cost can be significantly reduced compared to the conventional method in which the developer has to write the source code one by one.

또한, 개발자의 수고를 덜을 수 있고, 개발자에 의해 발생할 수도 있는 오류를 최소화하는 특징이 있다.In addition, there is a feature that can reduce the effort of the developer, and minimizes errors that may be caused by the developer.

비록 본 발명이 상기 언급된 바람직한 실시예와 관련하여 설명되어졌지만, 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허청구의 범위는 본 발명의 요지에서 속하는 이러한 수정이나 변형을 포함할 것이다.Although the present invention has been described in connection with the above-mentioned preferred embodiments, it is possible to make various modifications or variations without departing from the spirit and scope of the invention. Accordingly, the appended claims will cover such modifications and variations as fall within the spirit of the invention.

도 1은 본 발명에 따른 통합 개발 시스템이 적용되는 네트워크 시스템의 개략적인 구성도,1 is a schematic configuration diagram of a network system to which an integrated development system according to the present invention is applied;

도 2는 본 발명에 따른 통합 개발 시스템의 블럭도,2 is a block diagram of an integrated development system in accordance with the present invention;

도 3은 본 발명에 따른 어플리케이션 개발과정의 단계적 흐름 및 해당 결과물을 도시한 블럭도,3 is a block diagram showing a step-by-step flow and the resulting output of the application development process according to the present invention,

도 4는 본 발명에 따른 통합 개발 시스템에 의해 작성된 어플리케이션 소프트웨어 모듈의 구성도의 일예이다.4 is an example of configuration diagram of an application software module created by the integrated development system according to the present invention.

<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>

11 : SyncML 어플리케이션 클라이언트 단말기,11: SyncML application client terminal,

12 : SyncML 어플리케이션 서버,12: SyncML application server,

21 : SyncML 엔진 모듈 소스코드 자동생성기(SEG),21: SyncML engine module source code automatic generator (SEG),

22 : SyncML 어플리케이션에 이용되는 공통기능을 구현한 싱크 라이브러리.22: Sync library that implements common functions used in SyncML applications.

211 : 사용자 인터페이스 모듈,211: user interface module,

212 : 소스코드 및 스크립트 파일 생성모듈,212 source code and script file generation module,

221 : 어플리케이션에 대한 API 제공모듈,221: API providing module for the application,

222 : 기타 필요로 하는 공통기능 API 제공모듈,222: other common function API providing module,

31 : 개발자,31: developer,

33 : 자동 생성된 오픈 DB 인터페이스,33: automatically generated open DB interface,

34 : 자동생성된 데이터 구조체,34: auto-generated data structure,

35 : 자동생성된 데이터베이스 SQL 스크립트,35: auto-generated database SQL script,

37 : 최종 생성된 SyncML 엔진 프레임,37: SyncML engine frame created last,

41 : SyncML 서버의 어플리케이션 데이터 관리부,41: application data management unit of the SyncML server,

42 : SyncML 서버의 SyncML 어댑터 프레임,42: SyncML adapter frame on SyncML server,

43 : SyncML 툴키트,43: SyncML Toolkit,

44 : SyncML 서버의 SyncML 에이전트 프레임,44: SyncML agent frame on SyncML server,

45 : SyncML 서버의 세션 관리부 프레임.45: Session management unit frame of SyncML server.

Claims (4)

어플리케이션의 개발을 위해 개발자(31)로부터 입력된 데이터에 기초하여 오픈 데이터베이스 인터페이스 API(33), 데이터 구조체(34), 데이터베이스 SQL 스크립트(35)를 생성하는 싱크엔진 생성수단(21); 및Sink engine generating means (21) for generating an open database interface API (33), a data structure (34), and a database SQL script (35) based on data input from the developer (31) for the development of an application; And 상기 오픈 데이터베이스 인터페이스 API(33)에 대한 함수포인터를 보유하여 호출 가능하고, 상기 함수포인터와 생성된 오픈 데이터베이스 인터페이스 API(33)를 맵핑 시키는 싱크 라이브러리수단(22);으로 구성되는 것을 특징으로 하는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템.A sync library means 22 capable of holding and calling a function pointer to the open database interface API 33 and mapping the function pointer to the generated open database interface API 33; Integrated development system for server application development. 제 1 항에 있어서, 상기 싱크엔진 생성수단(21)은,The method of claim 1, wherein the sink engine generating means 21, 상기 개발자(31)로부터 상기 어플리케이션에 관련된 데이터를 입력받는 사용자 인터페이스부(211); 및A user interface unit 211 which receives data related to the application from the developer 31; And 상기 사용자 인터페이스부(211)의 데이터에 기초하여 소스코드 파일과 SQL 스크립트 파일을 생성하는 관리부(212)로 구성되는 것을 특징으로 하는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템.Integrated development system for the SyncML server application development, characterized in that consisting of a management unit for generating a source code file and a SQL script file based on the data of the user interface (211). 제 1 항에 있어서, 상기 싱크 라이브러리수단(22)은,The method of claim 1, wherein the sink library means 22, 동기화를 위한 커맨드 및 데이터를 처리하는 코어부(221); 및A core unit 221 for processing commands and data for synchronization; And 상기 어플리케이션의 처리를 위한 유틸리티부(222)로 구성되는 것을 특징으로 하는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템.Integrated development system for the SyncML server application development, characterized in that consisting of a utility unit for processing the application (222). 제 1 항에 있어서, The method of claim 1, 어플리케이션에 종속적인 처리를 담당하는 수단, 또는 데이터간 충돌이 발생하였을 경우 해결하는 수단 또는 인증 절차를 처리하는 수단을 포함하는 싱크엔진; 및A sink engine including means for performing application-dependent processing, means for resolving when a data collision occurs, or means for processing an authentication procedure; And 상기 어플리케이션에 독립적으로 SyncML 프로토콜을 구현한 싱크 에이전트;를 더 포함하는 것을 특징으로 하는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템.And a sync agent that implements the SyncML protocol independently of the application.
KR1020030088770A 2003-12-08 2003-12-08 An integrated development system for a SyncML server application development KR100545348B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030088770A KR100545348B1 (en) 2003-12-08 2003-12-08 An integrated development system for a SyncML server application development

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030088770A KR100545348B1 (en) 2003-12-08 2003-12-08 An integrated development system for a SyncML server application development

Publications (2)

Publication Number Publication Date
KR20050055545A true KR20050055545A (en) 2005-06-13
KR100545348B1 KR100545348B1 (en) 2006-01-24

Family

ID=37250507

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030088770A KR100545348B1 (en) 2003-12-08 2003-12-08 An integrated development system for a SyncML server application development

Country Status (1)

Country Link
KR (1) KR100545348B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100429891C (en) * 2005-11-17 2008-10-29 乐金电子(中国)研究开发中心有限公司 Data synchronization method
WO2013024927A1 (en) * 2011-08-12 2013-02-21 Heo Jun Open database management system
KR101255040B1 (en) * 2010-12-22 2013-04-16 주식회사 케이티 System and method of providing development kit for widget development using at iptv

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163818B1 (en) 2020-06-18 2020-10-12 주식회사 테크스페이스 Automatically completed backend flatform building apprarus
KR102255140B1 (en) 2020-11-11 2021-05-24 주식회사 테크스페이스 Hacking prevention apparatus for backend flatform using block chain

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100429891C (en) * 2005-11-17 2008-10-29 乐金电子(中国)研究开发中心有限公司 Data synchronization method
KR101255040B1 (en) * 2010-12-22 2013-04-16 주식회사 케이티 System and method of providing development kit for widget development using at iptv
WO2013024927A1 (en) * 2011-08-12 2013-02-21 Heo Jun Open database management system

Also Published As

Publication number Publication date
KR100545348B1 (en) 2006-01-24

Similar Documents

Publication Publication Date Title
US7953759B2 (en) Simplifying application access to schematized contact data
US7386575B2 (en) System and method for synchronizing related data elements in disparate storage systems
CN108388622B (en) API interface dynamic generation method and device, computer equipment and storage medium
US6996801B2 (en) System and method for automatically generating program
KR20080084966A (en) Conforming web services to an updated contract
US7523461B2 (en) Modification of logic in an application
WO2012034440A1 (en) Method and device for generating database upgrading script
WO2019134340A1 (en) Salary calculation method, application server, and computer readable storage medium
WO2019161620A1 (en) Application dependency update method, terminal and device, and storage medium
US8392298B2 (en) Invoice adjustment data object for a common data object format
US8464210B1 (en) Software development and testing environment
KR100545348B1 (en) An integrated development system for a SyncML server application development
CN110633162B (en) Remote call implementation method and device, computer equipment and storage medium
CN108196921B (en) Document development method and device, computer equipment and storage medium
CN114819631A (en) Multitask visualization method and device, computer equipment and storage medium
CN113254470B (en) Data modification method, device, computer equipment and storage medium
CN114546410A (en) Code optimization method based on design mode and related equipment
KR20210041781A (en) An integrated development system for a SyncML serverapplication development
CN114398152A (en) Interface simulation service calling method and device
US10496557B1 (en) Transport protocol for disparate entity applications
CN108491448B (en) Data pushing method and device
US10133769B2 (en) Integration device and integration method thereof
CN111652580A (en) Method and device for processing data of nodes
US11888937B2 (en) Domain specific provider contracts for core data services
CN111831274B (en) Metadata analysis engine configuration system, method, terminal and readable storage medium

Legal Events

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

Payment date: 20130102

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150102

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee