KR20150069793A - Method and apparatus for sharing application database - Google Patents
Method and apparatus for sharing application database Download PDFInfo
- Publication number
- KR20150069793A KR20150069793A KR1020130156341A KR20130156341A KR20150069793A KR 20150069793 A KR20150069793 A KR 20150069793A KR 1020130156341 A KR1020130156341 A KR 1020130156341A KR 20130156341 A KR20130156341 A KR 20130156341A KR 20150069793 A KR20150069793 A KR 20150069793A
- Authority
- KR
- South Korea
- Prior art keywords
- database
- application
- native
- server
- service
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000001514 detection method Methods 0.000 claims abstract description 3
- 238000004891 communication Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims 3
- 230000003213 activating effect Effects 0.000 claims 1
- 238000007792 addition Methods 0.000 claims 1
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 238000007726 management method Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 9
- 239000011230 binding agent Substances 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 2
- 101150026173 ARG2 gene Proteins 0.000 description 1
- 101100005166 Hypocrea virens cpa1 gene Proteins 0.000 description 1
- 101100379633 Xenopus laevis arg2-a gene Proteins 0.000 description 1
- 101100379634 Xenopus laevis arg2-b gene Proteins 0.000 description 1
- 101150088826 arg1 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
- G06F9/44563—Sharing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44584—Portable applications, i.e. making applications self-contained, e.g. U3 standard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 이동통신 어플리케이션 분야에 관한 것으로, 특히 서로 다른 코드로 작성된 어플리케이션간에 데이터베이스를 공유할 수 있는 방법 및 장치에 관한 것이다.Field of the Invention [0002] The present invention relates to a mobile communication application field, and more particularly, to a method and apparatus for sharing a database between applications written in different codes.
통신기술이 발달하고, 사용자의 필요에 따라서 이동 단말기의 사양은 점차 높아지고, 이동 통신사는 종래에 제공하지 않았던 다양한 서비스를 제공하고 있다. 예컨대, 종래에는 이동 단말기를 이용하여 음성 통화하거나 단문메시지를 전송하는 것만이 가능하였다면, 최근에는 영상 통화를 하거나 카메라를 조작하여 사진/동영상을 촬영하거나 DMB(Digital Multimedia Broadcasting)를 시청하거나 무선 인터넷을 이용할 수도 있게 되었다.[0004] 2. Description of the Related Art [0005] With the development of communication technologies, specifications of mobile terminals are gradually increasing according to the needs of users, and mobile communication companies provide various services that have not been provided in the past. For example, in the past, if it is only possible to make a voice call or send a short message using a mobile terminal, recently, it is possible to make a video call or operate a camera to take pictures or videos, watch DMB (Digital Multimedia Broadcasting) It is also possible to use it.
이동 단말기에는 다양한 어플리케이션(application)이 탑재되는데, 어플리케이션은 구현 방식에 따라 네이티브 어플리케이션(native application)과 자바 어플리케이션(java application)으로 구분할 수 있다.Various applications are loaded in the mobile terminal, and the application can be classified into a native application and a java application according to the implementation method.
네이티브 어플리케이션이란, C 또는 C++ 등의 네이티브 코드로 작성되어 컴파일된 소프트웨어 로직(softwarelogic){사용자 인터페이스(User Interface: UI)에 대응되는 사용자 인터페이스 로직을 포함} 및 데이터(data) 등이 어플리케이션에 포함되어, 실행시 이동 단말기의 플랫폼에 기반하여 바로 실행되는 어플리케이션을 의미한다.The native application includes software logic (including user interface logic corresponding to a user interface (UI)) and data written and compiled in native code such as C or C ++ Refers to an application that is executed immediately based on the platform of the mobile terminal at the time of execution.
자바 어플리케이션이란, 웹(Web) 기반의 HTML, JS(JavaScript: 자바스크립트), CSS(Cascading Style Sheets) 등의 웹 코드로 작성된 어플리케이션으로서, 이동 단말기에서 실행 시에 브라우저 엔진(browser engine)의 해석을 통해 실행될 수 있는 어플리케이션을 의미한다. 브라우저 엔진(browser engine)의 해석 과정은 웹서핑을 위한 인터넷 브라우저가 웹 서버로부터 전송받은 웹 코드로 된 웹 페이지를 해석하여 보여주는 과정과 유사하다. 자바 어플리케이션의 실행 중 웹 코드로 정의된 사항에 따라 필요한 웹 코드로 작성된 데이터 또는 이미지 등의 데이터를 웹 서버로부터 전송받아 해석하여 보여주는 것도 가능하다.A Java application is an application written in Web code such as Web-based HTML, JS (JavaScript: JavaScript), and CSS (Cascading Style Sheets) ≪ / RTI > The process of interpreting the browser engine is similar to the process of interpreting and displaying a web page in web code received from a web server by a web browser for web surfing. It is also possible to transmit data such as data or images written in necessary web code from the web server according to the definition of the web code during the execution of the Java application, and to interpret the data.
네이티브 어플리케이션은 개발이 어렵고 사용자의 의지에 따른 변형(확장)이 힘들기 때문에, 근래에는 웹 기반의 언어로 구현된 자바 어플리케이션을 실행할 수 있는 이동 단말기 플랫폼이 개발되고 있다. 한편, 자바 어플리케이션은 네이티브 어플리케이션에 비해 개발이 쉽고, 저렴한 비용으로 구현가능하며, 관리가 용이하고, 확장성이 뛰어나다는 장점이 있다.Since a native application is difficult to develop and difficult to be modified (extended) according to a user's will, a mobile terminal platform capable of executing a Java application implemented in a web-based language is being developed. On the other hand, the Java application is advantageous in that it is easy to develop, can be implemented at a low cost, is easy to manage, and has excellent scalability as compared with a native application.
도 1은 안드로이드 시스템에서 자바 어플리케이션들 간 동일 데이터베이스를 공유하는 방법을 보여주는 도면이다. 안드로이드 시스템에서 자바 어플리케이션(10)은 데이터를 저장하기 위해 데이터베이스(10a)를 사용하며, 기본적으로 데이터베이스(10a)는 데이터를 저장한 자바 어플리케이션(10)만이 접근 가능하기 때문에 타 자바 어플리케이션(30)들이 접근할 수 없는 구조로 되어 있다. 타 자바 어플리케이션(30)들이 데이터베이스(10a)에 접근하도록 하기 위해서 데이터베이스(10a)를 소유한 자바 어플리케이션(10)은 콘텐츠 프로바이더(10b)를 제공하고 타 자바 어플리케이션(30)들은 콘텐츠 리졸버(20)를 이용하여 데이터베이스(10a)에 접근이 가능하다. 또한 콘텐츠 옵저버(40)를 통해 데이터베이스(10a)가 변경된 경우 데이터베이스의 어떤 테이블이 변경되었는지 통지받을 수 있게 됨으로써 데이터베이스(10a)를 이용하는 모든 자바 어플리케이션(30) 들은 동일한 데이터베이스(10a)의 공유가 가능하다.1 is a diagram illustrating a method of sharing the same database between Java applications in an Android system. In the Android system, the Java
종래기술에 의하면, 데이터베이스를 공유해야 하는 C/C++로 구현된 네이티브 어플리케이션들은 안드로이드 시스템의 어플리케이션 프레임워크를 이용하지 않고 데이터베이스(10a)에 직접 접근할 수 있으나, 이 경우 네이티브 어플리케이션들에 의해 데이터베이스가 변경되는 경우 자바 어플리케이션(30)들은 실시간으로 변경 내용을 알 수 없으며, 반대로 자바 어플리케이션(30)들에 의해 변경된 데이터베이스는 실시간으로 네이티브 어플리케이션들이 알 수 없어 동일 데이터베이스(10a)에 대한 공유가 불가능한 문제점이 있다.According to the related art, native applications implemented in C / C ++ that need to share a database can directly access the
이로 인해 동일 데이터베이스(10a)를 공유해야 하는 모든 어플리케이션들을 자바로만 개발을 해야만 하고, 기존에 C/C++로 개발된 네이티브 어플리케이션들을 재활용할 수 없게 되며, 소정 성능을 요구하는 어플리케이션도 자바로만 개발을 해야 하는 문제점이 있다. 또한 안드로이드를 이용한 어플리케이션 개발시 사용할 수 있는 프로그램 언어 선택에 있어서도 제약을 가져올 수 있는 문제점이 있다.As a result, all applications that need to share the
본 발명은 서로 다른 코드로 작성된 어플리케이션간에 데이터베이스를 공유할 수 있는 방법 및 장치를 제공한다.The present invention provides a method and apparatus for sharing a database between applications written in different codes.
본 발명의 어플리케이션 데이터베이스 공유 장치는, 자바 어플리케이션(java application) 및 네이티브 어플리케이션(native application)이 사용하는 데이터를 데이터베이스에 저장하고, 상기 데이터베이스 변경 발생시 상기 네이티브 어플리케이션에 통지하는, 데이터베이스 관리 어플리케이션을 포함한다.The application database sharing apparatus of the present invention includes a database management application that stores data used by a Java application and a native application in a database and notifies the native application when the database change occurs.
본 발명의 어플리케이션 데이터베이스 공유 장치는, 자바 어플리케이션(java application) 및 네이티브 어플리케이션(native application)이 사용하는 데이터를 저장하는 데이터베이스를 관리하는, 데이터베이스 관리 어플리케이션과, 상기 네이티브 어플리케이션의 요청 사항을 상기 데이터베이스 관리 어플리케이션으로 전달하며, 상기 데이터베이스 관리 어플리케이션으로부터의 데이터베이스 변경 통지를 수신하는, 네이티브 서비스와, 상기 데이터베이스 관리 어플리케이션 및 상기 네이티브 서비스 사이에 통신을 수행하기 위한, 네이티브 서비스 클라이언트를 포함한다.The application database sharing apparatus of the present invention includes: a database management application for managing a database for storing data used by a Java application and a native application; and a database management application for managing the request of the native application, And receiving a database change notification from the database management application, and a native service client for performing communications between the database management application and the native service.
또한 본 발명의 어플리케이션 데이터베이스 공유 방법은, 자바 어플리케이션(java application) 및 네이티브 어플리케이션(native application)이 사용하는 데이터를 데이터베이스에 저장하는 단계와, 상기 데이터베이스에 저장된 데이터 변경을 감지하는 단계와, 상기 데이터 변경 감지에 기초하여 데이터베이스 변경 통지를 전송하는 단계를 포함한다.According to another aspect of the present invention, there is provided an application database sharing method including storing data used by a Java application and a native application in a database, detecting a data change stored in the database, And sending a database change notification based on the detection.
본 발명에 따르면, 자바 어플리케이션(Java Application)과 C/C++로 구현된 네이티브(Native) 어플리케이션이 동일 데이터베이스를 실시간으로 공유할 수 있게 됨으로써, 신규로 개발해야 하는 어플리케이션을 자바로만 개발할 필요가 없으며, 기존에 C/C++로 개발된 어플리케이션들을 포팅하여 안드로이드의 데이터베이스 시스템을 쉽게 사용할 수 있는 이점이 있다. 또한 안드로이드의 콘텐츠 프로바이더를 제공하는 기존의 안드로이드 자바 어플리케이션의 데이터베이스까지 C/C++로 구현된 네이티브 어플리케이션들이 실시간으로 공유할 수 있다.According to the present invention, since a Java application and a native application implemented in C / C ++ can share the same database in real time, there is no need to develop a new application only in Java, And C / C ++ to port the applications developed in C / C ++ to easily use the Android database system. In addition, native applications implemented in C / C ++ can be shared in real time, from databases of existing Android Java applications that provide content providers for Android.
도 1은 안드로이드 시스템에서 자바 어플리케이션들 간 동일 데이터베이스를 공유하는 방법을 보이는 예시도.
도 2는 본 발명의 실시예에 따른 자바 어플리케이션들과 네이티브 어플리케이션들간 실시간 데이터베이스 공유 방법을 보이는 구성도.
도 3은 본 발명의 실시예에 따른 데이터베이스 관리 어플리케이션과 네이티브 서비스의 초기화 과정을 나타내는 예시도.
도 4는 본 발명의 실시예에 따른 자바 어플리케이션이 데이터베이스의 특정 테이블의 데이터를 변경한 경우 변경 내용을 자바 어플리케이션과 네이티브 어플리케이션에게 통지하는 방법을 보이는 구성도.
도 5는 본 발명의 실시 예에 따른 네이티브 어플리케이션이 데이터베이스의 특정 테이블의 데이터를 조회한 경우 그 결과를 네이티브 어플리케이션에게 전달하기 위한 방법을 보이는 구성도.
도 6은 본 발명의 실시 예에 따른 네이티브 어플리케이션이 데이터베이스의 특정 테이블의 데이터를 변경한 경우 그 변경 내용을 자바 어플리케이션과 네이티브 어플리케이션에게 통지하는 방법을 보이는 구성도.FIG. 1 is an exemplary view showing a method of sharing the same database between Java applications in an Android system; FIG.
2 is a block diagram illustrating a method for sharing a real-time database between Java applications and native applications according to an embodiment of the present invention.
3 is a diagram illustrating an initialization process of a database management application and a native service according to an embodiment of the present invention;
4 is a diagram illustrating a method of notifying a Java application and a native application of a change in a data of a specific table of a database according to an embodiment of the present invention.
5 is a configuration view showing a method for transmitting a result of a native application according to an embodiment of the present invention to a native application when data of a specific table of the database is looked up.
FIG. 6 is a diagram showing a method of notifying a Java application and a native application of a change in data of a specific table of a database, when a native application according to an embodiment of the present invention changes data.
이하 첨부된 도면을 참조하여 본 발명의 실시예들에 대해 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions will not be described in detail if they obscure the subject matter of the present invention.
본 발명은 안드로이드(Android)의 어플리케이션 프레임워크(Application Framework)를 이용한 자바 어플리케이션(Java Application)들과 C/C++로 구현된 네이티브 어플리케이션들간 실시간 데이터베이스 공유방법에 대한 것으로 안드로이드 어플리케이션 프레임워크 대한 자세한 설명은 생략한다.The present invention relates to a method for real-time database sharing between Java applications using Android's application framework and native applications implemented in C / C ++, and a detailed description of the Android application framework is omitted. do.
도 2는 본 발명의 실시예에 따른 자바 어플리케이션들과 네이티브 어플리케이션들간 실시간 데이터베이스 공유 방법을 보이는 구성도이다. 2 is a block diagram illustrating a method for sharing a real-time database between Java applications and native applications according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시예에 따른 안드로이드에서 자바 어플리케이션들과 네이티브 어플리케이션들간 실시간 데이터베이스 공유 방법은 데이터베이스 관리 어플리케이션(100), 콘텐츠 리졸버(content resolver, 200), 자바 어플리케이션(300), 네이티브 서비스 클라이언트(400), 네이티브 서비스(500), 네이티브 어플리케이션(600), API(Application Programmable Interface) 모듈(700) 및 콘텐츠 옵저버(content observer, 800)를 포함할 수 있다.Referring to FIG. 2, a real-time database sharing method between Java applications and native applications in the Android according to an embodiment of the present invention includes a
데이터베이스 관리 어플리케이션(100)은 자바 어플리케이션(300)들과 네이티브 어플리케이션(600)들이 사용하는 모든 데이터를 포함하는 데이터베이스(100a)를 포함할 수 있다. 각각의 자바 어플리케이션(300)들과 네이티브 어플리케이션(600)들이 자신의 데이터를 각각 가지고 있을 수 있지만 데이터베이스의 관리 측면에서 집중화 및 안정화를 위해 데이터베이스 관리 어플리케이션(100)이 모든 데이터를 가지고 데이터베이스 초기화, 백업 또는 업그레이드 기능을 수행하며, 네이티브 어플리케이션(600)들로부터의 데이터베이스 접근요청을 수행하며, 데이터베이스 변경 발생시 이를 네이티브 어플리케이션(600)들에게 통지하는 기능을 수행할 수 있다.The
각각의 자바 어플리케이션(300)들은 안드로이드 어플리케이션 프레임워크에서 제공되는 콘텐츠 리졸버(200)와 콘텐츠 옵저버(800)를 이용하여 데이터베이스 관리 어플리케이션(100)의 데이터베이스(100a)에 접근할 수 있으며, 데이터베이스(100a) 변경 발생시 콘텐츠 옵저버(800)에 의해 데이터베이스(100a)내의 어떤 테이블이 변경되었는지 통보를 받을 수 있으며, 통보를 받은 자바 어플리케이션(300)들은 데이터베이스(100a)내의 변경된 테이블을 조회한 후 변경된 데이터에 따라 알맞은 동작을 수행할 수 있다.Each of the Java
네이티브 어플리케이션(600)들은 안드로이드의 어플리케이션 프레임워크를 이용할 수 없기 때문에 본 실시예에 포함된 API 모듈(700)을 이용하여 자바 어플리케이션(300)과 동일하게 동작을 수행할 수 있다.Since the
네이티브 어플리케이션(600)은 안드로이드 빌드 시스템(bionic library)에서 빌드된 네이티브 어플리케이션 및 순수 리눅스(glic)에서 빌드된 네이티브 어플리케이션으로 분류할 수 있다. 안드로이드 빌드 시스템(bionic library)에서 빌드된 네이티브 어플리케이션은 안드로이드의 LIBRARIES 계층(layer)에서 제공되는 기능들은 사용할 수 있으며, 순수 리눅스(glic)에서 빌드된 네이티브 어플리케이션은 LIBRARIES 계층에서 제공되는 기능들을 사용할 수 없다.The
자바로 구현된 어플리케이션은 안드로이드의 프레임워크 상에서 동작하며 안드로이드의 프레임워크에서 제공되는 기능{예: 콘텐츠 프로바이더(provider), 콘텐츠 리졸버(contents resolver), 데이터베이스 시스템(database system) 등}을 이용하고 있다.An application implemented in Java runs on the Android framework and uses features provided by the Android framework (eg, content provider, content resolver, database system, etc.) .
네이티브 서비스 클라이언트(400)는 데이터베이스 관리 어플리케이션(100)으로부터의 요청을 네이티브 서비스(500)로 전달하며, 반대로 네이티브 서비스(500)로부터의 요청을 데이터베이스 관리 어플리케이션(100)으로 전달하는 기능을 수행할 수 있다. 데이터베이스 관리 어플리케이션(100)은 자바 영역에 위치하고, 네이티브 서비스 클라이언트(400)는 C/C++영역에 위치하기 때문에 데이터베이스 관리 어플리케이션(100)과 네이티브 서비스 클라이언트(400)간 통신을 위해서는 JNI(Java Native Interface)가 사용될 수 있다.The
자바 어플리케이션을 구현하다 보면 시스템의 자원을 직접 이용해야 하는 경우 C/C++로 구현된 라이브러리를 이용해야 하는데 자바 어플리케이션에서 C/C++로 구현된 네이티브 라이브러리를 바로 사용할 수 없다. 그래서 자바 어플리케이션과 네이티브 어플리케이션을 연결해 주는 JNI가 필요하며 안드로이드 시스템에서는 필수 사항이다.When implementing Java applications, if you need to use system resources directly, you have to use a library implemented in C / C ++. You can not use a native library implemented in C / C ++ directly in a Java application. So you need a JNI to connect your Java and native applications, and it is a requirement for Android systems.
네이티브 서비스(500)는 안드로이드 시스템 부팅 시 시작되는 프로세스로서 네이티브 서비스 클라이언트(400)와의 연동을 위한 네이티브 서비스 서버(500b)와 네이티브 어플리케이션(600)과의 연동을 위한 네이티브 어플리케이션 서버(500c)를 기동시키며, 데이터베이스 관리 어플리케이션(100)이 가지고 있는 데이터를 그대로 캐싱(cashing)하여, 네이티브 어플리케이션(600)으로부터 특정 테이블 데이터 요청 수신 시 요청된 테이블 데이터를 네이티브 어플리케이션(600)으로 전달하는 기능을 수행할 수 있다.The
도 3은 본 발명의 실시예에 따른 데이터베이스 관리 어플리케이션(100)과 네이티브 서비스(500)의 초기화 과정을 나타내는 예시도이다. 3 is an exemplary diagram showing an initialization process of the
도 3을 참조하면, 안드로이드 부팅 시 데이터베이스 관리 어플리케이션(100)과 네이티브 서비스(500)가 기동되면서 메인 서버(500a)에 의해 네이티브 서비스 서버(500b)가 기동되고, 네이티브 서비스 클라이언트(400)와 네이티브 서비스 서버(500b)가 통신을 위해 서로 연결될 수 있다. 이 후 데이터베이스 관리 서비스(100c)는 데이터베이스 테이블 관리 모듈(100d)을 초기화한 후 데이터베이스(100a)에 존재하는 모든 테이블에 대한 데이터를 요청할 수 있다(①). 이때 데이터베이스 관리 어플리케이션(100)에 포함된 데이터베이스(100a)뿐만 아니라 안드로이드 시스템의 콘텐츠 프로바이더를 제공하는 자바 어플리케이션의 데이터베이스(예를 들면, 콜 로그 또는 전화번호부)에 접근하여 데이터를 요청할 수 있다. 데이터베이스 테이블 관리 모듈(100d)은 안드로이드의 콘텐츠 리졸버(200)를 통해 모든 테이블에 대한 데이터를 요청한 후(②~⑤) 그 결과를 데이터베이스 관리 서비스(100c)에게 반환할 수 있다(⑥). 데이터베이스 관리 서비스(100c)는 반환받은 테이블 데이터를 JNI를 이용하여 네이티브 서비스 클라이언트(400)에게 전달할 수 있다(⑦). 네이티브 서비스 클라이언트(400)는 전달받은 데이터를 네이티브 서비스 서버(500b)에게 전달할 수 있다(⑧). 네이티브 서비스 서버(500b)는 전달받은 데이터를 메인 서버(500a)의 메시지 큐로 전송할 수 있다(⑨). 메인 서버(500a)는 메시지큐에 있는 모든 테이블 데이터를 자신의 메모리에 저장하며, 네이티브 어플리케이션(600)으로부터 테이블에 대한 조회 요청 수신 시 사용할 수 있다. 데이터 베이스에는 여러 개의 테이블이 존재할 수 있다. 일 실시예로서, 개발된 디바이스의 경우 20개의 테이블이 데이터베이스에 존재할 수 있다. 부팅 시에는 모든 테이블 데이터를 한번에 메인 서버(500a)의 메모리에 저장할 수 있으며, 이후에는 특정 테이블에 변경이 발생할 때마다 해당 테이블만 메인 서버(500a)의 메모리에 복사할 수 있다.Referring to FIG. 3, when the Android is booted, the
네이티브 서비스 클라이언트(400)와 네이티브 서비스 서버(500b)간 연결을 위한 통신 방법으로 여러 방법이 존재할 수 있지만, 안드로이드 시스템에서 사용되는 기본 통신 방법인 바인더(binder)를 사용하는 방법이 보다 안정적이고 바람직할 수 있다.There are various communication methods for connection between the
바인더는 안드로이드 시스템에서 기본적으로 제공되는 핵심적인 통신 방법으로서, 네이티브 서비스 서버는 바인더 서비스(서버) 역할을 하며 네이티브 서비스 클라이언트(400)는 바인더 클라이언트 역할을 할 수 있다. 네이티브 서비스 클라이언트(400)는 네이티브 서비스 서버와 바인더 연결을 시도하고 연결이 완료된 후 네이티브 서비스 서버에서 방출한(expose) RPC(Remote Procedure Call)를 자신의 함수처럼 호출하여 사용할 수 있다.The binder is a core communication method fundamentally provided in the Android system. The native service server serves as a binder service and the
도 4는 본 발명의 실시예에 따른 자바 어플리케이션이 데이터베이스(100a)의 특정 테이블의 데이터를 변경한 경우 변경 내용을 자바 어플리케이션(300)과 네이티브 어플리케이션(600)들에게 통지하는 방법을 보이는 구성도이다. 4 is a diagram illustrating a method of notifying a
도 4를 참조하면, 자바 어플리케이션(300)이 안드로이드 시스템의 콘텐츠 리졸버(200)를 통해 데이터베이스의 특정 테이블의 데이터 변경을 시도할 수 있다(①). 안드로이드 시스템의 콘텐츠 리졸버(200)는 안드로이드 시스템의 콘텐츠 프로바이더를 통해 데이터베이스(100a)에 저장된 데이터를 변경할 수 있다(②,③). 데이터 변경이 완료된 후 자바 어플리케이션(300)들과 데이터베이스 관리 서비스(100c)는 안드로이드의 콘텐츠 옵저버(800)로부터 데이터베이스(100a)의 특정 테이블이 변경되었음을 통보받을 수 있다(④). 데이터베이스 관리 서비스(100c)는 데이터베이스 테이블 관리모듈(100d)을 통해 변경된 테이블에 대한 데이터 조회를 한 후 조회된 데이터를 JNI를 이용하여 네이티브 서비스 클라이언트(400)에게 전달할 수 있다(⑤). 네이티브 서비스 클라이언트(400)는 전달받은 데이터를 네이티브 서비스 서버(500b)에게 전달할 수 있다(⑥). 네이티브 서비스 서버는 전달받은 데이터를 메인 서버(500a)의 메시지큐로 보낼 수 있다(⑦). 메인 서버(500a)는 메시지큐에 있는 변경된 테이블 데이터를 네이티브 어플리케이션 서버(500c)의 메모리에 업데이트한 후 네이티브 어플리케이션 서버(500c)에게 특정 테이블의 데이터가 변경되었음을 네이티브 어플리케이션(600)들에게 통지할 것을 요청할 수 있다(⑧). 네이티브 어플리케이션 서버(500c)는 API 모듈(700)을 통해 콜백이 등록된 네이티브 어플리케이션(600)들에게 특정 테이블의 데이터가 변경되었음을 통지할 수 있으며(⑨), 통지를 받은(⑩) 네이티브 어플리케이션(600)들은 API 모듈(700)을 통해 변경된 테이블을 조회하여 테이블 데이터를 새롭게 업데이트 할 수 있다.Referring to FIG. 4, the
일 실시예로서, 소스 코드를 이용하여 설명하면, 네이티브 어플리케이션(600)은 API 모듈(700)에서 제공되는 init 함수를 호출할 때 콜백(callback)을 등록해 주면(예를 들어: init("native app" callback);), 어플리케이션 서버(500c)의 테이블 데이터가 변경될 때마다 void callback(int msgType, int arg1, int arg2, void *data) 함수가 호출되도록 설정할 수 있다. 이렇게 되면 네이티브 어플리케이션(600)은 어떤 테이블이 변경되었는지 알게 되며 변경된 테이블을 조회하여 자신이 가지고 있던 테이블 데이터를 갱신하게 된다.The
메인 서버(500a)가 네이티브 어플리케이션 서버(500c) 영역의 메모리에 변경된 테이블 데이터를 업데이트할 수 있다. 그리고, 데이터 변경 통지를 받은 네이티브 어플리케이션(600)들은 API 모듈(700)을 통해 네이티브 어플리케이션 서버(500c)에 저장되어 있는 테이블 데이터를 조회하여 네이티브 어플리케이션 서버(500c)가 가지고 있던 테이블 데이터를 갱신할 수 있다.The
네이티브 어플리케이션 서버(500c)와 네이티브 어플리케이션(600)간 연결을 위한 통신 방법으로 여러 방법이 존재할 수 있지만 여러 종류의 네이티브 어플리케이션들을 무난하게 연결할 수 있는 방법으로 소켓이 바람직할 수 있으며, 네이티브 어플리케이션(600)들은 네이티브 어플리케이션 서버(500c)와 직접 연결을 할 수 있지만 관리적인 측면 및 연동의 편의성을 위해 API 모듈(700)을 사용하는 것이 바람직할 수 있다.There are various methods for communication between the
네이티브 어플리케이션(600)은 API 모듈(.so 라이브러리)을 사용하거나 또는 직접 소켓 라이브러리를 이용하여 네이티브 어플리케이션 서버(500c)와 통신을 할 수 있다. 하지만, 관리적인 측면과 편의성을 위해 API 모듈(700) 사용이 권장될 수 있다.The
네이티브 어플리케이션 서버(500c)는 소켓 서버로 동작하고 있고, API 모듈(700)은 소켓 클라이언트로 동작하도록 설정될 수 있다.The
네이티브 어플리케이션 서버(500c)와 네이티브 어플리케이션(600)들은 서로 독립된 프로세스로 동작하기 때문에 서로 데이터를 주고받기 위해 상호간 통신을 해야한다. 네이티브 어플리케이션(600)들이 직접 소켓 클라이언트로서 네이티브 어플리케이션 서버(500c)와 통신을 할 수 있지만 편의성을 위해 API 모듈(700)을 라이브러리(.so) 형태로 제공하고 있으며 API 모듈(700) 내부에서 소켓 라이브러리로 이용하여 소켓 통신을 이용할 수 있다.Since the
도 5는 본 발명의 실시 예에 따른 네이티브 어플리케이션(600)이 데이터베이스(100a)의 특정 테이블의 데이터를 조회한 경우 그 결과를 네이티브 어플리케이션(600)에게 전달하기 위한 방법을 보이는 구성도이다. 5 is a configuration diagram showing a method for transmitting a result of a
도 5를 참조하면, 네이티브 어플리케이션(600)은 API 모듈(700)을 통해 특정 테이블의 데이터를 조회할 수 있다(①). 조회 요청을 받은 API 모듈(700)은 네이티브 어플리케이션 서버(500c)에게 요청 사항을 전달할 수 있다(②). 네이티브 어플리케이션 서버(500c)는 요청 사항을 메인 서버(500a)의 메시지큐로 보낼 수 있다(③). 메인 서버(500a)는 자신의 메모리에 존재하고, 네이티브 어플리케이션 서버(500c)로부터 요청받은 테이블 데이터를 네이티브 어플리케이션 서버(500c)에게 보낼 수 있다(④). 네이티브 어플리케이션 서버(500c)는 API 모듈(700)로 테이블 데이터를 보내며(⑤), 네이티브 어플리케이션(600)은 API 모듈(700)을 통해 요청 사항에 대한 결과값을 수신할 수 있다(⑥).Referring to FIG. 5, the
도 6은 본 발명의 실시 예에 따른 네이티브 어플리케이션(600)이 데이터베이스(100a)의 특정 테이블의 데이터를 변경한 경우 그 변경 내용을 자바 어플리케이션(300)과 네이티브 어플리케이션(600)에게 통지하는 방법을 보이는 구성도이다. 6 shows a method of notifying a
도 6을 참조하면, 네이티브 어플리케이션(600)이 API 모듈(700)을 통해 특정 테이블의 데이터 변경을 요청할 수 있다(S601). 변경 요청을 수신한 API 모듈(700)은 네이티브 어플리케이션 서버(500c)로 요청사항을 전달할 수 있다(S602). 네이티브 어플리케이션 서버(500c)는 요청 사항을 메인 서버(500a)의 메시지 큐로 보낼 수 있다(S603). 메인 서버(500a)는 요청 사항을 네이티브 서비스 서버(500b)로 전달할 수 있다(S604). 네이티브 서비스 서버(500b)는 요청사항을 네이티브 서비스 클라이언트(400)로 전달할 수 있다(S605). 네이티브 서비스 클라이언트(400)는 요청사항을 JNI를 이용하여 데이터베이스 관리 서비스(100c)로 전달할 수 있다(S606). 데이터베이스 관리 서비스(100c)는 데이터베이스 관리 모듈(100d)을 통해 요청받은 특정 테이블의 데이터 변경을 시도할 수 있다(S607). 데이터베이스 테이블 관리 모듈(100d)은 안드로이드의 콘텐츠 리졸버(200)를 이용해 요청받은 테이블에 대한 변경을 요청할 수 있다(S608). 안드로이드 콘텐츠 리졸버(200)는 안드로이드의 콘텐츠 프로바이더(100b)로 변경을 요청할 수 있다(S609). 데이터 변경이 완료된 후 자바 어플리케이션(300)들과 데이터베이스 관리 서비스(100c)는 안드로이드의 콘텐츠 옵저버(800)로부터 데이터베이스(100a)의 특정 테이블이 변경되었음을 통보받을 수 있다(S610). 데이터베이스 관리 서비스(100c)는 데이터베이스 테이블 관리모듈(100d)을 통해 변경된 테이블에 대한 데이터 조회를 한 후 그 데이터를 JNI를 이용하여 네이티브 서비스 클라이언트(400)에게 전달할 수 있다(S611). 네이티브 서비스 클라이언트(400)는 전달받은 데이터를 네이티브 서비스 서버(500b)에게 전달할 수 있다(S612). 네이티브 서비스 서버는 전달받은 데이터를 메인 서버(500a)의 메시지큐로 보낼 수 있다(S613). 메인 서버(500a)는 메시지큐에 있는 변경된 테이블 데이터를 자신의 메모리에 업데이트한 후 네이티브 어플리케이션 서버(500c)에게 특정 테이블의 데이터가 변경되었음을 네이티브 어플리케이션(600)들에게 통지할 것을 요청할 수 있다(S614). 네이티브 어플리케이션 서버(500c)는 API 모듈(700)을 통해 콜백이 등록된 네이티브 어플리케이션(600)들에게 특정 테이블의 데이터가 변경되었음을 통지할 수 있으며(S615), 통지를 받은(S616) 네이티브 어플리케이션들은 API모듈(700)을 통해 변경된 테이블을 조회하여 테이블 데이터를 새로 업데이트 한 후 변경된 데이터에 따라 알맞은 동작을 수행하게 된다.Referring to FIG. 6, the
상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Although the method has been described through particular embodiments, the method may also be implemented as computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the above embodiments can be easily deduced by programmers of the present invention.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 당업자가 이해할 수 있는 본 발명의 정신 및 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present invention has been described in connection with some embodiments thereof, it should be understood that various changes and modifications may be made therein without departing from the spirit and scope of the invention as understood by those skilled in the art. something to do. It is also contemplated that such variations and modifications are within the scope of the claims appended hereto.
10: 자바 어플리케이션
10a: 데이터베이스
10b: 콘텐츠 프로바이더
20: 콘텐츠 리졸버
30: 자바 어플리케이션
40: 콘텐츠 옵저버
100: 데이터베이스 관리 어플리케이션
100a: 데이터베이스
100b: 콘텐츠 프로바이더
100c: 데이터베이스 관리 서비스
100d: 데이터베이스 테이블 관리 모듈 200: 콘텐츠 리졸버
300: 자바 어플리케이션
400: 네이티브 서비스 클라이언트
500: 네이티브 서비스
500a: 메인 서버
500b: 네이티브 서비스 서버
500c: 네이티브 어플리케이션 서버
600: 네이티브 어플리케이션
700: API 모듈
800: 콘텐츠 옵저버10:
10b: content provider 20: content resolver
30: Java application 40: Content observer
100:
100b:
100d: Database table management module 200: Content resolver
300: Java application 400: Native service client
500:
500b:
600: native application 700: API module
800: Content observer
Claims (10)
자바 어플리케이션(java application) 및 네이티브 어플리케이션(native application)이 사용하는 데이터를 데이터베이스에 저장하고, 상기 데이터베이스 변경 발생시 상기 네이티브 어플리케이션에 통지하는 데이터베이스 관리 어플리케이션을 포함하는, 데이터베이스 공유 장치.As an application database sharing device,
And a database management application that stores data used by a Java application and a native application in a database and notifies the native application when the database change occurs.
자바 어플리케이션(java application) 및 네이티브 어플리케이션(native application)이 사용하는 데이터를 저장하는 데이터베이스를 관리하는 데이터베이스 관리 어플리케이션과,
상기 네이티브 어플리케이션의 요청 사항을 상기 데이터베이스 관리 어플리케이션으로 전달하며, 상기 데이터베이스 관리 어플리케이션으로부터의 데이터베이스 변경 통지를 수신하는 네이티브 서비스와,
상기 데이터베이스 관리 어플리케이션 및 상기 네이티브 서비스 사이에 통신을 수행하기 위한 네이티브 서비스 클라이언트를 포함하는, 데이터베이스 공유 장치.As an application database sharing device,
A database management application that manages a database that stores data used by Java applications and native applications,
A native service for delivering a request for the native application to the database management application and receiving a database change notification from the database management application;
And a native service client for communicating between the database management application and the native service.
상기 데이터베이스 관리 어플리케이션은,
상기 데이터베이스의 초기화, 백업 및 업그레이드를 수행하며, 상기 데이터베이스가 포함하는 테이블에 대해 조회, 변경, 추가 또는 삭제를 수행하기 위한 데이터베이스 테이블 관리 모듈과,
백그라운드로 항시 동작하고, 상기 데이터베이스 테이블 관리 모듈을 이용하여 상기 데이터베이스에 대한 조회 및 변경을 수행하며, 상기 데이터베이스가 변경된 경우 이를 감지하여 변경 내용을 상기 네이티브 서비스 클라이언트로 전송하고, 상기 네이티브 서비스 클라이언트로부터의 요청 사항을 수신하여 처리하는 데이터베이스 관리 서비스를 포함하는, 데이터베이스 공유 장치.3. The method according to claim 1 or 2,
The database management application comprising:
A database table management module for performing initialization, backup, and upgrade of the database, and for performing a lookup, modification, addition, or deletion of a table included in the database;
Wherein the database management module is always in the background and performs inquiry and modification of the database using the database table management module, detects change of the database and transmits the changed contents to the native service client, And a database management service for receiving and processing the request.
상기 네이티브 서비스는,
상기 네이티브 서비스 클라이언트로부터 요청 사항을 수신하여 처리하는 네이티브 서비스 서버와,
상기 네이티브 어플리케이션으로부터 요청 사항을 수신하여 처리하는 네이티브 어플리케이션 서버와,
상기 네이티브 서비스 서버와 상기 네이티브 어플리케이션 서버를 기동시키며, 상기 네이티브 서비스 서버와 상기 네이티브 어플리케이션 서버간 통신을 위한 메시지 큐를 제공하는 메인 서버를 포함하는, 데이터베이스 공유 장치.3. The method of claim 2,
The native service includes:
A native service server for receiving and processing requests from the native service client,
A native application server for receiving and processing requests from the native application;
And a main server for activating the native service server and the native application server and providing a message queue for communication between the native service server and the native application server.
상기 네이티브 어플리케이션이 상기 네이티브 어플리케이션 서버에 접근하기 위한, API(Application Programmable Interface) 모듈을 더 포함하는, 데이터베이스 공유 장치.5. The method of claim 4,
Further comprising an API (Application Programmable Interface) module for the native application to access the native application server.
상기 API모듈은,
상기 데이터베이스의 변경된 테이블을 알려주기 위한 콜백(callback)을 포함하는, 데이터베이스 공유 장치.6. The method of claim 5,
Wherein the API module comprises:
And a callback for informing the changed table of the database.
상기 데이터베이스 테이블 관리 모듈은,
상기 데이터베이스의 초기화, 백업 및 업그레이드를 위한 인터페이스를 포함하며, 상기 데이터베이스가 포함하는 테이블에 대해 조회, 변경, 추가 및 삭제 기능을 수행하기 위한 인터페이스를 상기 데이터베이스 관리 서비스에 제공하며, 다른 어플리케이션에 의해 상기 데이터베이스 변경 발생 시 상기 데이터베이스 관리 서비스에게 통보하는 기능을 수행하는, 데이터베이스 공유 장치.The method of claim 3,
Wherein the database table management module comprises:
An interface for initializing, backing up, and upgrading the database, and providing an interface for performing a query, change, add, and delete functions to a table included in the database to the database management service, And notifies the database management service when a database change occurs.
상기 데이터베이스 관리 어플리케이션이 포함하는 데이터베이스뿐만 아니라 안드로이드 시스템의 콘텐츠 프로바이더를 제공하는 자바 어플리케이션의 데이터베이스에 접근하여 데이터를 요청하는, 데이터베이스 공유 장치.3. The method according to claim 1 or 2,
And accesses a database of a Java application providing a content provider of an Android system as well as a database included in the database management application to request data.
자바 어플리케이션(java application) 및 네이티브 어플리케이션(native application)이 사용하는 데이터를 데이터베이스에 저장하는 단계와,
상기 데이터베이스에 저장된 데이터 변경을 감지하는 단계와,
상기 데이터 변경 감지에 기초하여 데이터베이스 변경 통지를 전송하는 단계를 포함하는, 데이터베이스 공유 방법.An application database sharing method,
Storing data used by a Java application and a native application in a database,
Detecting a change in data stored in the database;
And sending a database change notification based on the data change detection.
상기 데이터베이스 변경 통지를 전송하는 단계는,
상기 데이터베이스에 저장된 데이터의 변경 여부에 대한 요청이 있을 경우 상기 데이터베이스 변경 통지를 전송하는 단계를 포함하는, 데이터베이스 공유 방법.10. The method of claim 9,
Wherein the transmitting the database change notification comprises:
And transmitting the database change notification when there is a request to change data stored in the database.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130156341A KR101868173B1 (en) | 2013-12-16 | 2013-12-16 | Method and apparatus for sharing application database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130156341A KR101868173B1 (en) | 2013-12-16 | 2013-12-16 | Method and apparatus for sharing application database |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150069793A true KR20150069793A (en) | 2015-06-24 |
KR101868173B1 KR101868173B1 (en) | 2018-06-15 |
Family
ID=53516826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130156341A KR101868173B1 (en) | 2013-12-16 | 2013-12-16 | Method and apparatus for sharing application database |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101868173B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023075156A1 (en) * | 2021-10-26 | 2023-05-04 | 한화테크윈 주식회사 | Device and method for performing data communication between multiple applications |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05265837A (en) * | 1992-03-24 | 1993-10-15 | Canon Inc | Data managing system |
KR20080070337A (en) | 2007-01-26 | 2008-07-30 | 에스케이커뮤니케이션즈 주식회사 | Java script based web-client application framework, web contents processing method using the framework and computer readable medium processing the method |
KR20100087860A (en) * | 2009-01-29 | 2010-08-06 | 주식회사 로코드 | A mobile web application framework, mobile terminal, and, a storage medium |
KR20110130611A (en) * | 2010-05-28 | 2011-12-06 | 야마이아 주식회사 | Web platform unit for mobile terminal connectioned web-application program in heterogeneous operating system |
KR20130036645A (en) * | 2011-10-04 | 2013-04-12 | 주식회사 오비고 | Method, system and computer-readable recording medium for executing home applicatoin and user interface framework on smart phone |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100777426B1 (en) * | 2006-03-29 | 2007-11-22 | (주)닥터소프트 | Application joint service system, Client process module for application joint service providers, and Client process module for application joint service users |
-
2013
- 2013-12-16 KR KR1020130156341A patent/KR101868173B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05265837A (en) * | 1992-03-24 | 1993-10-15 | Canon Inc | Data managing system |
KR20080070337A (en) | 2007-01-26 | 2008-07-30 | 에스케이커뮤니케이션즈 주식회사 | Java script based web-client application framework, web contents processing method using the framework and computer readable medium processing the method |
KR20100087860A (en) * | 2009-01-29 | 2010-08-06 | 주식회사 로코드 | A mobile web application framework, mobile terminal, and, a storage medium |
KR20110130611A (en) * | 2010-05-28 | 2011-12-06 | 야마이아 주식회사 | Web platform unit for mobile terminal connectioned web-application program in heterogeneous operating system |
KR20130036645A (en) * | 2011-10-04 | 2013-04-12 | 주식회사 오비고 | Method, system and computer-readable recording medium for executing home applicatoin and user interface framework on smart phone |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023075156A1 (en) * | 2021-10-26 | 2023-05-04 | 한화테크윈 주식회사 | Device and method for performing data communication between multiple applications |
Also Published As
Publication number | Publication date |
---|---|
KR101868173B1 (en) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10244058B2 (en) | Extending functionality of applications | |
US7571208B2 (en) | Creating proxies from service description metadata at runtime | |
US20060253548A1 (en) | Method and system for hosting and executing a component application | |
KR101991537B1 (en) | Autonomous network streaming | |
US10033790B2 (en) | Method for a connector providing transactional interoperability to multiple messaging providers to multiple application servers using the same implementation | |
US8387039B2 (en) | System and method for customized provisioning of application content | |
GB2520246A (en) | Method for accessing business object resources and machine-to-machine communication environment | |
US20020046304A1 (en) | Dynamic class loading | |
US9128886B2 (en) | Computer implemented method, computer system, electronic interface, mobile computing device and computer readable medium | |
CN112835632B (en) | Method and equipment for calling end capability and computer storage medium | |
US8127271B2 (en) | Method and system for accessing a resource implemented in a computer network | |
CN114201317A (en) | Data transmission method, device, storage medium and electronic equipment | |
KR101663883B1 (en) | Image processing system and device of meteorological and environmental satellite, and method using the same | |
KR101868173B1 (en) | Method and apparatus for sharing application database | |
US20130143611A1 (en) | Mobile application using text messaging service protocol or other network protocol requiring a data plan | |
CN111581576A (en) | Development processing method and device based on micro-service and storage medium | |
CN111953718A (en) | Page debugging method and device | |
US7792921B2 (en) | Metadata endpoint for a generic service | |
EP4000239B1 (en) | 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination | |
KR20190015817A (en) | Method, Apparatus and System for Monitoring Using Middleware | |
US9052973B2 (en) | Inter-process communication mechanism | |
Kim et al. | The spatial data server based on open gis standards in heterogeneous distributed environment | |
KR102479595B1 (en) | Library Service System | |
US11811878B1 (en) | Session manager providing bidirectional data transport | |
US20210382856A1 (en) | Cloud data sharing method supporting native applications and containerized applications and storage device using same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |