KR20210041781A - SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템 - Google Patents

SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템 Download PDF

Info

Publication number
KR20210041781A
KR20210041781A KR1020190124435A KR20190124435A KR20210041781A KR 20210041781 A KR20210041781 A KR 20210041781A KR 1020190124435 A KR1020190124435 A KR 1020190124435A KR 20190124435 A KR20190124435 A KR 20190124435A KR 20210041781 A KR20210041781 A KR 20210041781A
Authority
KR
South Korea
Prior art keywords
application
syncml
development system
sync
developer
Prior art date
Application number
KR1020190124435A
Other languages
English (en)
Inventor
이선형
Original Assignee
주식회사 에스앤제이넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에스앤제이넷 filed Critical 주식회사 에스앤제이넷
Priority to KR1020190124435A priority Critical patent/KR20210041781A/ko
Publication of KR20210041781A publication Critical patent/KR20210041781A/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 일정관리, 주소록 등과 같은 다양한 SyncML 어플리케이션의 서버 프로그램을 손쉽게 개발하기 위하여 개발자가 간단한 정보만 입력하면 어플리케이션의 소스코드를 자동으로 생성하여 주는 SyncML 서버 어플리케이션 개발을 위한통합 개발 시스템에 관한 것이다. 이를 위해, 어플리케이션의 개발을 위해 개발자(31)로부터 입력된 데이터에 기초하여 오픈 데이터베이스 인터페이스 API(33), 데이터 구조체(34), 데이터베이스 SQL 스크립트(35)를 생성하는 싱크엔진 생성수단(21); 및 오픈 데이터베이스 인터페이스 API(33)에 대한 함수포인터를 보유하여 호출 가능하고, 함수포인터와 생성된오픈 데이터베이스 인터페이스 API(33)를 맵핑 시키는 싱크 라이브러리수단(22);이 제공된다.

Description

SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템{An integrated development system for a SyncML serverapplication development}
본 발명은 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 관한 것으로, 보다 상세하게는 일정관리, 주소록등과 같은 다양한 SyncML 어플리케이션의 서버 프로그램을 손쉽게 개발하기 위하여 개발자가 간단한 정보만 입력하면어플리케이션의 소스코드를 자동으로 생성하여 주는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 관한것이다.
현재의 SyncML은 어플리케이션의 일예로서 주소록, 일정관리 등과 같은 개인정보관리 서비스를 지원하고 있으며 앞으로는 개인 및 기업에서 요구하는 다양한 종류의 정보에 대한 어플리케이션을 추가하여 확장할 수 있을 것이다. 그러나, 다양한 어플리케이션의 개발을 위해 많은 인력과 예산이 투자되고 있지만, 프로그램 개발 툴이나 테스트 기술, 표준API(Application Program Interface) 정의, 데이터 충돌시 해결 방안 등과 같은 기반기술이 미약하기 때문에 어플리케이션의 개발에 많은 비용이 소요되는 실정이다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로써, 본 발명의 목적은, 개발자로부터 SyncML 어플리케이션의 개발에 필요한 최소한의 정보 즉 어플리케이션의 이름, 식별자, 사용되는 구조체의 이름과 멤버의 속성, 데이터베이스 테이블의 이름과 속성을 GUI 방식으로 입력함으로서 어플리케이션의 소스코드를 자동으로 생성할 수 있는SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템을 제공하는 것이다.
개발자(31)로부터 어플리케이션에 관련된 데이터를 입력받는 사용자 인터페이스부(211); 및사용자 인터페이스부(211)의 데이터에 기초하여 소스코드 파일과 SQL 스크립트 파일을 생성하는 관리부(212)로 구성될수 있다.아울러, 싱크 라이브러리수단(22)은,동기화를 위한 커맨드 및 데이터를 처리하는 코어부(221); 및어플리케이션의 처리를 위한 유틸리티부(222)로 구성되는 것이 바람직하다.또한, 어플리케이션에 종속적인 처리를 담당하는 수단, 또는 데이터간 충돌이 발생하였을 경우 해결하는 수단 또는 인증절차를 처리하는 수단을 포함하는 싱크엔진; 및상기 어플리케이션에 독립적으로 SyncML 프로토콜을 구현한 싱크 에이전트;를 더 포함하는 것이 더욱 바람직하다.
본 발명의 그 밖의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되어지는 이하의 상세한 설명과 바람직한 실시예들로부터 더욱 분명해질 것이다.
상기 설명한 바와 같이 본원발명에 따른 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 의하면, 개발자로부터 SyncML 어플리케이션의 개발에 필요한 최소한의 정보 즉 어플리케이션의 이름, 식별자, 사용되는 구조체의 이름과멤버의 속성, 데이터베이스 테이블의 이름과 속성을 GUI 방식으로 입력함으로서 어플리케이션의 소스코드를 자동으로 생성할 수 있다.
따라서, 개발자는 생성된 소스코드를 기종의 SyncML 어플리케이션에 간단히 추가하는 것으로 개발을 완료할 수 있다.
이로서, 개발자가 소스코드를 하나씩 작성하여야 하는 종래의 방법에 비해 개발시간과 비용을 대폭적으로 줄일 수 있는 효과가 있다.
또한, 개발자의 수고를 덜을 수 있고, 개발자에 의해 발생할 수도 있는 오류를 최소화하는 특징이 있다.
비록 본 발명이 상기 언급된 바람직한 실시예와 관련하여 설명되어졌지만, 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허청구의 범위는 본 발명의 요지에서 속하는 이러한 수정이나변형을 포함할 것이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템에 관하여 첨부된 도면을 참조하여 상세히 설명하도록 한다.
도 1은 본 발명에 따른 통합 개발 시스템이 적용되는 네트워크 시스템의 개략적인 구성도이다. 도 1에 도시된 바와 같이,
본 발명이 적용될 수 있는 구성은 PDA, 휴대폰, 노트북 등과 같이 유선 또는 무선통신이 가능한 단말기인 SyncML 클라인언트(11)와 SyncML 서버(12)로 나눌 수 있다. SyncML 클라인언트(11)는 SyncML 서버(12)로 특정 어플리케이션에 대한 SyncML 메세지를 전송하고, SyncML 서버(12)은 이에 대한 실행 결과로 응답 메세지를 전송하게 된다.
도 2는 본 발명에 따른 통합 개발 시스템(2)의 블럭도이다. 도 2에 도시된 바와 같이, 본 발명에 따른 통합 개발 시스템(2)은 내부가 크게 싱크 엔진 생성기(21)와 싱크 라이브러리(22)로 대별될 수 있다.
싱크 엔진 생성기(Sync Engine Generator, SEG)(21)는 개발자의 많은 작업부분을 자동으로 생성하는 부분으로서 내부는 다시 개발자로부터 어플리케이션에 대한 정보를 입력받는 사용자 인터페이스(User Interfece, UI)(211)와 입력받은 내용을 실제로 소스코드 파일과 SQL 스크립트 파일을 생성하는 관리부(212)로 대별된다.싱크 라이브러리(22)는 여러 어플리케이션에서 공통적으로 이용되는 기능을 일반화하여 라이브러리의 형태로 제공한다.
이러한 싱크 라이브러리(22)의 내부 기능은 크게 코어모듈(221)과 유틸리티 모듈(222)로 대별된다. 코어모듈(221)은 동기화를 위한 커맨드 및 데이터 처리를 위한 모듈이고 어플리케이션의 종속적인 기능을 일반적인 API 로 확장한 것이다. 또한, 코어모듈(221)은 SyncML 커맨드중 어플리케이션의 동기화를 요청하는 ADD, REPLACE, DELETE, COPY 등에 대한처리와 해당 컨텐츠를 검색하는 기능을 포함한다. 또한 코어모듈(221)은 vCard, vCalendar 등의 어플리케이션 데이터 포맷을 SyncML 어플리케이션이 처리 가능한 SyncML 메세지 형식의 포맷으로 디코딩 하거나 인코딩하는 기능과 어플리케이션 컨텐츠에 대해 항목별로 비교하는 기능을 포함한다.
유틸리티 모듈(222)은 어플리케이션의 처리 및 범용적으로 이용 가능한 기능의 모듈로서, 문자열의 생성 및 제어기능, 어플리케이션의 컨텐츠의 토큰화 기능 및 기타 SyncML 어플리케이션의 다른 부분에서 범용적으로 이용 가능한 유틸리티기능을 제공한다.
싱크 라이브러리(22)는 오픈 DB 인터페이스 API 및 기타 서비스중인 다른 모든 어플리케이션에 대한 오픈 DB 인터페이스 API들에 대한 함수 포인터를 가지고 있기 때문에 해당 어플리케이션에 대한 오픈 DB 인터페이스 API를 호출할 수 있다. 싱크 라이브러리(22)는 동기화를 요청하는 어플리케이션의 타입을 매개변수로 전달받아 어떤 어플리케이션인지 결정할 수 있기 때문에 동기화를 요청하는 어플리케이션의 정확한 오픈 DB 인터페이스 API를 호출할 수 있다. 오픈 DB 인터페이스 API에 대한 함수 포인터를 설정하는 것은 SyncML 어플리케이션의 종속적인 부분을 처리하는 모듈에서 이루어지
며, 개발자(31)가 손수 처리해야 하는 부분이지만, 함수 포인터와 자동 생성한 오픈 DB 인터페이스 API 의 함수명을 일치시키는 맵핑 작업의 일종이다.
이와 같이, 싱크 라이브러리(22)는 개발자(31)에 의해 등록된 해당 어플리케이션의 콜백함수를 호출하도록 작성되었고,특정 어플리케이션에서만 사용되는 구조체를 사용하지 않는 대신 어플리케이션의 타입, 컨텐츠의 크기 그리고 컨텐츠의내용을 멤버 변수로 취하는 구조체를 사용함으로서, 특정 어플리케이션 타입에 국한되지 않고 여러가지 어플리케이션에서공통적으로 이용 가능하게 된다.
이하에서는 도 3을 참조하여 본 발명에 따른 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템의 구체적인 동작단계를 설명하도록 한다. 도 3은 본 발명에 따른 어플리케이션 개발과정의 단계적 흐름 및 해당 결과물을 도시한 블럭도이다. 도 3에 도시된 바와 같이, 개발자(31)는 SEG(21)를 이용하여 코드 생성에 필요한 최소한의 데이터의 입력, 즉 추가하고자 하는 어플리케이션의 이름, 식별자, 어플리케이션에 필요한 구조체의 이름과 멤버 속성, 데이터베이스 테이블의 이름과 속성을 입력한다. 그 결과로서, 도 3에 도시된 바와 같이, 오픈 DB 인터페이스 API(33), 데이터 저장 구조체(34), 데이터베이스 관련 SQL 스크립트(35)가 자동으로 생성된다.
추가하고자 하는 SyncML 어플리케이션은 이렇게 생성된 소스코드를 싱크엔진(37)에 추가하고, 싱크 라이브러리(22)를
링크한 후 싱크 라이브러리(22)의 API를 호출함으로서 자동 생성된 소스코드를 활용하여 신속하고 정확하게 새로운 어플리케이션을 구현할 수 있게 된다. 개발자(31)는 싱크 엔진(37) 프레임에서 싱크 라이브러리(22)의 API를 사용하기 전에 먼저 자신의 동기 서버의 오픈 DB 인터페이스 API중 변경기록을 위한 것과 어플리케이션에 관련된 것들을 싱크 라이브러리(22)의 코어모듈(221)에 콜백함수로 등록해 주어야 한다.
싱크 라이브러리(22)는 특정 동기 어플리케이션의 구조에 영향을 받지 않으며 일반적이고 공통적으로 사용 가능한 라이브러리이므로, 이 절차는 해당 처리를 위해 자신의 동기서버인 오픈 DB 인터페이스 API가 호출될 수 있도록 하기 위한 것이다. 이후에 새롭게 추가되는 어플리케이션에 대해서는 싱크 라이브러리(22)에 대한 수정은 필요없고, SEG(21)를 통해자동생성된 소스코드를 상기한 방법으로 추가하면 된다.
도 4는 본 발명에 따른 통합 개발 시스템에 의해 작성된 특정 어플리케이션 소프트웨어 모듈의 구성도의 일예이다. 이러한 특정 어플리케이션은 서버에서 직접 데이터를 추가하거나 수정할 수 있는 서버 어플리케이션(41)과 다른 SyncML 장치와 메세지를 주고 받을 수 있는 싱크 어댑터(42), SyncML 메세지를 파싱하거나 조립하기 위한 SyncML 툴키트(43), 파싱된 메세지를 처리하고 또 조립할 데이터를 생성하는 싱크 에이전트(44), 세션을 관리하기 위한 서버 세션관리부(45), 및 싱크 라이브러리(22), 그리고 본 발명에 따라 자동 생성된 싱크 엔진(37) 및 오픈 DB 인터페이스(33)로 이루어져 있다.
본 발명에서 작성된 특정 어플리케이션을 본 발명을 사용하지 않는 종래의 방식으로 작성된 어플리케이션과 비교했을때, 성능상이 차이점은 없고, 작업량과 작업시간에 있어서, 상당한 감소 효과가 있었다. 즉, 개발자가 작성해야 하는 소스코드의 양은 80% 정도 감소하였고, 반면, 서버의 실행속도는 약 2% 정도 감소하는 것으로 측정되었다.
본 발명에 따른 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템은 또한 필요에 따라 SyncML 프로토콜에 영향을 받지 않고 어플리케이션에 종속적인 처리를 담당하는 수단, 데이터간 충돌이 발생하였을 경우 이를 해결하는 수단 및인증 절차를 처리하는 수단을 포함할 수 있다.

Claims (4)

  1. 어플리케이션의 개발을 위해 개발자(31)로부터 입력된 데이터에 기초하여 오픈 데이터베이스 인터페이스 API(33), 데이터 구조체(34), 데이터베이스 SQ스크립트(35)를 생성하는 싱크엔진 생성수단(21); 및상기 오픈 데이터베이스 인터페이스 API(33)에 대한 함수포인터를 보유하여 호출 가능하고, 상기 함수포인터생성된오픈 데이터베이스 인터페이스 API(33)를 맵핑 시키는싱크라이브러리수단(22);으로 구성되는 것을 특징으로 하는SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템.
  2. 제 1 항에 있어서, 상기 싱크엔진 생성수단(21)은,
    상기 개발자(31)로부터 상기 어플리케이션에 관련된 데이터를 입력받는 사용자 인터페이스부(211); 및 상기 사용자 인터페이스부(211)의 데이터에 기초하여 소스코드 파일과 SQL 스크립트 파일을 생성하는 관리부(212)로 구성되는 것을 특징으로 하는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템.
  3. 제 1 항에 있어서, 상기 싱크 라이브러리수단(22)은,
    동기화를 위한 커맨드 및 데이터를 처리하는 코어부(221); 및
    상기 어플리케이션의 처리를 위한 유틸리티부(222)로 구성되는 것을 특징으로 하는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템.
  4. 제 1 항에 있어서,
    어플리케이션에 종속적인 처리를 담당하는 수단, 또는 데이터간 충돌이 발생하였을 경우 해결하는 수단 또는 인증 절차를 처리하는 수단을 포함하는 싱크엔진; 및상기 어플리케이션에 독립적으로 SyncML 프로토콜을 구현한 싱크 에이전트;를 더 포함하는 것을 특징으로 하는 SyncML 서버 어플리케이션 개발을 위한 통합 개발 시스템.
KR1020190124435A 2019-10-08 2019-10-08 SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템 KR20210041781A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190124435A KR20210041781A (ko) 2019-10-08 2019-10-08 SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190124435A KR20210041781A (ko) 2019-10-08 2019-10-08 SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템

Publications (1)

Publication Number Publication Date
KR20210041781A true KR20210041781A (ko) 2021-04-16

Family

ID=75743801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190124435A KR20210041781A (ko) 2019-10-08 2019-10-08 SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템

Country Status (1)

Country Link
KR (1) KR20210041781A (ko)

Similar Documents

Publication Publication Date Title
CN107015804B (zh) 一种通过配置api快速开发项目的方法及系统
CN109241384B (zh) 一种科研信息的可视化方法及装置
CN105719049B (zh) 一种智能日志的实现方法及系统
US11360993B1 (en) Automatic generation of specifications for data access layer application programming interfaces
CN104461531A (zh) 一种报表系统自定义函数的实现方法
CN112799659A (zh) 一种免编程自动生成数据接口的方法、装置及终端
CN111966340A (zh) 一种基于Mybatis框架的代码生成方法、装置、设备及介质
CN111460241A (zh) 一种数据查询方法、装置、电子设备及存储介质
CN106990974B (zh) 一种app应用更新方法、装置及电子设备
CN114722036A (zh) 数据处理方法、装置、电子设备及可读存储介质
CN110018835B (zh) Yang模型配置数据处理方法及装置、终端设备及存储介质
CN108959294B (zh) 一种访问搜索引擎的方法和装置
CN110633162B (zh) 远程调用实现方法、装置、计算机设备及存储介质
KR100545348B1 (ko) SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템
CN108196921B (zh) 单据开发方法、装置、计算机设备和存储介质
CN111443903A (zh) 软件开发文件获取方法及装置、电子设备、存储介质
KR20210041781A (ko) SyncML 서버 어플리케이션 개발을 위한 통합 개발시스템
CN113254470B (zh) 一种数据更改方法、装置、计算机设备及存储介质
CN114546410A (zh) 一种基于设计模式的代码优化方法及相关设备
CN114398152A (zh) 接口仿真服务调用方法及装置
CN108491448B (zh) 一种数据推送的方法和装置
CN111240679B (zh) 页面开发方法及系统
CN114489674A (zh) 动态数据模型的数据校验方法和装置
TWI620134B (zh) 整合裝置及其整合方法
CN111652580A (zh) 一种对节点的数据处理方法及装置