JP2013080470A - Hybrid application execution device and method using web technology - Google Patents
Hybrid application execution device and method using web technology Download PDFInfo
- Publication number
- JP2013080470A JP2013080470A JP2012212675A JP2012212675A JP2013080470A JP 2013080470 A JP2013080470 A JP 2013080470A JP 2012212675 A JP2012212675 A JP 2012212675A JP 2012212675 A JP2012212675 A JP 2012212675A JP 2013080470 A JP2013080470 A JP 2013080470A
- Authority
- JP
- Japan
- Prior art keywords
- application
- logic
- data
- terminal device
- bridge
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- 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/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
本発明は、アプリケーションの作成及び実行技術に関し、より詳細には、モバイル端末におけるアプリケーションの作成及び実行技術にウェブ技術を活用してアプリケーションの作成及び実行を改善することのできる装置及び方法に関する。 The present invention relates to an application creation and execution technique, and more particularly, to an apparatus and a method capable of improving the creation and execution of an application using web technology for the application creation and execution technique in a mobile terminal.
スマートフォンやタブレットPCなどの機器は、従来のOS環境とは異なる環境で動作し、アプリケーション(Application;App)の配布(distribution)及びアップデートは、スマートフォンなどの機器を活用するために重要な部分である。なお、アップデートを再配布(redistribution)と呼ぶこともある。 Devices such as smartphones and tablet PCs operate in an environment different from the conventional OS environment, and distribution (application) and updates are important parts for utilizing devices such as smartphones. . Note that the update is sometimes referred to as redistribution.
通常のアプリケーションの配布及び再配布過程は、アプリケーションストアまたはマーケットへの登録、審査などの手続きを含み、開発者はアプリケーションの配布及び再配布において、ストアまたはマーケットの運用主体に応じた影響を受ける。 The normal distribution and redistribution process of an application includes procedures such as registration and examination in an application store or market, and a developer is affected depending on a store or market operator in distribution and redistribution of an application.
このような影響は、アプリケーションの健全性の確保とストアの運用のために必要ではあるものの、開発者は、スマートフォンの登場前とは異なり、アプリケーションソフトウェアの配布及び再配布の主導権を、他の主体に譲り渡すことによって生じる様々な不便を感じざるを得なかった。 Although these impacts are necessary to ensure application health and store operations, developers will have the initiative to distribute and redistribute application software to others, unlike before the advent of smartphones. I had to feel various inconveniences caused by handing over to the subject.
一方、アプリケーションそのものの配布及び再配布は、登録、審査などの順序を踏まなければならないが、ウェブブラウザ上におけるウェブ技術を用いたページレンダリングは、登録や審査を行うものではない。このようなウェブ技術においては、該当ページがブラウザのサポートしている技術によるページであれば、そのコンテンツの変更は極めてフレキシブルなものであった。 On the other hand, distribution and redistribution of the application itself must follow the order of registration and examination, but page rendering using web technology on a web browser does not perform registration or examination. In such a web technology, if the corresponding page is a page based on a technology supported by the browser, the content change is extremely flexible.
本発明の目的は、ウェブ技術をアプリケーションの開発及び実行技術に適用して、開発者がアプリケーションコンテンツ及び構成を、アプリケーションの再配布を行わなくとも変更することのできるアプリケーションの開発及び実行装置を提供することにある。 An object of the present invention is to provide an application development and execution device that allows a developer to change application content and configuration without redistributing an application by applying web technology to application development and execution technology. There is to do.
本発明の一実施形態によると、アプリケーションを実行する装置において、前記アプリケーションが指示するWASへのネットワーク接続が行われた場合、前記WASから前記アプリケーションの実行のためのデータを受信してパーシングするパーサー部と、前記パーシングされた前記データを用いて前記アプリケーションを実行するブリッジ部とを備えるアプリケーション実行装置が提供される。 According to an embodiment of the present invention, in a device that executes an application, when a network connection to the WAS instructed by the application is performed, a parser that receives and parses data for executing the application from the WAS An application execution device is provided that includes a section and a bridge section that executes the application using the parsed data.
アプリケーション実行装置は、アプリケーション実行装置の少なくとも1つのリソースをそれぞれコンポーネントに管理し、前記ブリッジが前記アプリケーション実行過程で制御できるようにするネイティブコンポーネント管理部をさらに備えてもよい。 The application execution apparatus may further include a native component management unit that manages at least one resource of the application execution apparatus with each component, and allows the bridge to control in the application execution process.
この場合、ブリッジ部は、前記ネイティブコンポーネント管理部へのアクセスを制御するセキュリティモジュールを含み、前記ネイティブコンポーネント管理部と前記ブリッジ部との間のデータ交換は前記セキュリティモジュールを経由してのみ行われてもよい。 In this case, the bridge unit includes a security module that controls access to the native component management unit, and data exchange between the native component management unit and the bridge unit is performed only via the security module. Also good.
一方、ネイティブコンポーネント管理部は、ウェブ技術によるデータを処理するウェブキットブラウザ、前記アプリケーションのフレームを実現するネイティブユーザインタフェース及び前記少なくとも1つのリソースに関するデバイスリソース情報を管理する。 On the other hand, the native component management unit manages a web kit browser that processes data based on web technology, a native user interface that realizes the frame of the application, and device resource information related to the at least one resource.
本発明の他の一実施形態によると、アプリケーションを実行する装置において、前記アプリケーションは、基本フレームをレンダリングするためのソースコード及びWASから受信されるデータを処理して前記アプリケーションに適用するためのソースコードを含み、前記装置は、前記装置とネットワークを介して接続されたWASから前記アプリケーションに関連するデータが受信される場合、前記データをサービスロジックを実行するためのスクリプト、ユーザインタフェースを構成するためのマークアップ及びタグに分離するパーサー部と、前記分離するサービスロジック、マークアップ及びタグを用いて前記装置を制御して前記アプリケーションコンテンツをレンダリングするブリッジ部とを備えるアプリケーション実行装置が提供される。 According to another embodiment of the present invention, in an apparatus for executing an application, the application processes a source code for rendering a basic frame and data received from a WAS and applies the data to the application. The apparatus includes a code, and when the data related to the application is received from a WAS connected to the apparatus via a network, the apparatus configures a script and a user interface for executing the service logic on the data. Provided with an application execution device comprising: a parser unit for separating the markup and tags; and a bridge unit for controlling the device using the separated service logic, markup and tags to render the application content It is.
この場合、装置は、前記アプリケーション実行装置の少なくとも1つのリソースをそれぞれコンポーネントに管理して前記ブリッジが制御できるようにするネイティブコンポーネント管理部をさらに備え、ブリッジ部は、前記ネイティブコンポーネント管理部へのアクセスを制御するセキュリティモジュールを含み、前記ネイティブコンポーネント管理部と前記ブリッジ部との間のデータ交換は前記セキュリティモジュールを経由してのみ行われてもよい。 In this case, the apparatus further includes a native component management unit that manages at least one resource of the application execution device with each component so that the bridge can control the bridge, and the bridge unit accesses the native component management unit. The data exchange between the native component management unit and the bridge unit may be performed only via the security module.
本発明の他の一実施形態によると、アプリケーションを実行する端末装置において、端末装置は、アプリケーションコンテンツを提供するユーザインタフェース提供部と、少なくとも1つのプロセッサと、メモリとを含み、アプリケーションは、前記メモリに格納されて前記少なくとも1つのプロセッサによって実行されるように構成され、アプリケーションは、ウェブアプリケーションサーバから受信したデータをサービスロジックを実行するためのスクリプト、ユーザインタフェースを構成するためのマークアップ及びタグに分離するパーサーロジックと、前記分離するサービスロジック、マークアップ及びタグを用いて前記端末装置を制御して前記アプリケーションコンテンツを前記ユーザインタフェース提供部上でレンダリングするブリッジロジックとを含む。 According to another embodiment of the present invention, in a terminal device that executes an application, the terminal device includes a user interface providing unit that provides application content, at least one processor, and a memory. Stored in the server and configured to be executed by the at least one processor, and the application includes data received from the web application server in scripts for executing service logic, markup and tags for configuring a user interface. The application content is rendered on the user interface providing unit by controlling the terminal device using the separating parser logic and the separating service logic, markup, and tag. And a ridge logic.
本発明の他の一実施形態によると、プロセッサを含む端末装置が前記端末装置に格納されたアプリケーションを実行する方法において、アプリケーションが指示するWASへのネットワーク接続が行われた場合、前記WASから前記アプリケーションの実行のためのデータを受信してパーシングし、前記パーシングされた前記データを用いて前記アプリケーションを実行することとを含むアプリケーション実行方法が提供される。 According to another embodiment of the present invention, in a method in which a terminal device including a processor executes an application stored in the terminal device, when a network connection to the WAS indicated by the application is performed, the WAS Receiving and parsing data for execution of the application, and executing the application using the parsed data is provided.
この場合、前記方法は、前記端末装置の少なくとも1つのリソースをそれぞれコンポーネントに作成して管理することをさらに含み、前記アプリケーションを実行することは、前記少なくとも1つのリソースそれぞれに対するコンポーネントを制御することを含んでもよい。 In this case, the method further includes creating and managing at least one resource of the terminal device in each component, and executing the application includes controlling the component for each of the at least one resource. May be included.
本発明によると、ウェブ技術とネイティブアプリケーション技術を共に活用したハイブリッドアプリケーションを提供することにより、アプリケーションの再配布を行わなくとも開発者がアプリケーションの構成やコンテンツを変更することが可能となる。 According to the present invention, by providing a hybrid application using both web technology and native application technology, a developer can change the configuration and contents of an application without redistributing the application.
以下、本発明の一部実施形態を、添付図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されることはない。各図面に示された同一の参照符号は同一の部材を示す。 Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. The same reference numerals shown in the drawings indicate the same members.
図1は、本発明の一実施形態に係る概略構成を示す図である。 FIG. 1 is a diagram showing a schematic configuration according to an embodiment of the present invention.
アプリケーション実行装置100は、ネットワーク101を介してウェブアプリケーションサーバ(Web Application Server;WAS)と接続される。 The application execution apparatus 100 is connected to a web application server (WAS) via the network 101.
一般的なパーソナルコンピュータのOS環境では、アプリケーションソフトウェアは、開発者または配布者がユーザに直接配布する形態で配布することができ、ユーザの装置にインストールされたアプリケーションのアップデートは、ユーザの同意下で開発者または配布者が自由に行うことができる。 In a general personal computer OS environment, application software can be distributed in a form that a developer or distributor directly distributes to a user, and an update of an application installed on a user's device is performed under the consent of the user. Can be done freely by developers or distributors.
しかし、アプリケーション実行装置100のように、スマートフォン、タブレットPCなどのモバイル環境では、アプリケーションの配布が開発者から直接にユーザへ行われるものではなく、別途のアプリケーションストアまたはマーケットに登録された後に配布されるものである。 However, in mobile environments such as smartphones and tablet PCs like the application execution device 100, the application is not distributed directly to the user from the developer, but distributed after being registered in a separate application store or market. Is.
そして、このような登録後の配布は、ストア管理者の政策による審査や登録拒否などがある。このような差異により、モバイル環境ではアプリケーションの健全性を担保しつつ、開発者が収益モデルを得ることができることは確かである。 Such distribution after registration includes screening by the store manager's policy and registration refusal. These differences certainly allow developers to obtain a revenue model while ensuring the health of the application in the mobile environment.
しかし、有料アプリケーションを配布せずに、多くのユーザに多様かつ流動的な情報を提供しようとする開発者、例えば、ポータルサービス提供業者には、このようなアプリケーション登録及び審査による機能上の制約や、登録及び審査に所要する時間が制限的な要素になりかねない。 However, developers who want to provide diverse and fluid information to many users without distributing paid applications, such as portal service providers, have the functional limitations and The time required for registration and review may be a limiting factor.
また、すでに配布されたアプリケーションに対してマイナーアップデートを行う場合にも、アップデート情報のみを送信してパッチするのではなく、新しいバージョンのアプリケーションを再配布しなければならないという不便があった。 In addition, when a minor update is performed on an application that has already been distributed, there is an inconvenience that a new version of the application must be redistributed instead of sending only the update information and patching.
本発明の一実施形態によると、アプリケーション実行装置100、例えば、モバイル端末にインストールされている間に、特に、実行されている間に、ネットワーク101を介して接続されたWAS102から受信されるデータを用いて、アプリケーションの少なくとも一部のフレーム120の構成やコンテンツが直ちに変更されてもよい。 According to an embodiment of the present invention, data received from the WAS 102 connected via the network 101 while being installed in the application execution apparatus 100, for example, a mobile terminal, in particular, while being executed. By using, the configuration and contents of at least a part of the frame 120 of the application may be changed immediately.
このような実施形態は、モバイル端末で汎用ウェブブラウザを実行して特定URLに対応するページを開いたとき、そのページの最新ソースコードがブラウザでレンダリングされることとは異なる。汎用ブラウザではない特定アプリケーションの実行に関連するためである。 In such an embodiment, when a general-purpose web browser is executed on a mobile terminal to open a page corresponding to a specific URL, the latest source code of the page is rendered in the browser. This is because it relates to the execution of a specific application that is not a general-purpose browser.
また、このような実施形態は、モバイル端末でアプリケーションが実行される間に、固定されたフレーム内に表示される情報、例えば、テキストやイメージなどのコンテンツが更新されることとは異なる。コンテンツの変更ではなく、アプリケーション自体の構成やコンテンツ変更に関連するためである。 In addition, such an embodiment is different from updating information displayed in a fixed frame, for example, contents such as text and images, while an application is executed on the mobile terminal. This is not related to the content change, but is related to the configuration of the application itself and the content change.
例えば、WAS102からフレーム120のアプリケーションコンポーネント、例えば、GUI(Graphic User Interface)121、122の構成やコンテンツ変更に関するアップデート情報が受信されると、このようなアップデート情報がフレーム120に直ちに適用される。 For example, when update information regarding the application component of the frame 120, for example, GUI (Graphical User Interface) 121, 122 or content change is received from the WAS 102, such update information is immediately applied to the frame 120.
アプリケーション全体110としては、フレーム120の他に変更されない部分、例えば、ネイティブアプリケーションコンポーネントもある。もちろん、図1に図示されたコンテンツは、本発明の実施形態に対する理解のために提示された例示的かつ概念的なコンテンツであり、本発明は特定のフレーム120の構造や位置、大きさなどについて図示された一部のコンテンツによって制限的に解釈されることはない。 In addition to the frame 120, the entire application 110 includes a part that is not changed, for example, a native application component. Of course, the content illustrated in FIG. 1 is exemplary and conceptual content presented for understanding of the embodiment of the present invention, and the present invention relates to the structure, position, size, and the like of a specific frame 120. It is not construed restrictively by some of the illustrated contents.
アプリケーション実行装置100は、予め配布されたアプリケーションを実行するいずれの機器であってもよく、後述する個別ハードウェア構成(element)は、汎用性のあるプロセッサによって実現されてもよい。このような例が図2に図示されている。 The application execution apparatus 100 may be any device that executes an application distributed in advance, and an individual hardware element (element) described later may be realized by a general-purpose processor. Such an example is illustrated in FIG.
図2は、本発明の一実施形態に係るアプリケーション実行端末装置200を示す図である。 FIG. 2 is a diagram illustrating an application execution terminal device 200 according to an embodiment of the present invention.
端末装置200には、図1に示すネットワーク101への通信を可能にする通信モジュール210、アプリケーションを実行するプロセッサ220、アプリケーションの実行を補助するメインメモリ230、アプリケーションのソースコード及びユーザデータを格納するストレージ240、及びアプリケーションをレンダリングしてユーザの入力を受信することのできるユーザインタフェース提供部250などを備えてもよい。 The terminal device 200 stores a communication module 210 that enables communication with the network 101 shown in FIG. 1, a processor 220 that executes an application, a main memory 230 that assists execution of the application, application source code, and user data. The storage 240 may include a user interface providing unit 250 that can render an application and receive user input.
本発明の一実施形態に係るアプリケーションは、端末装置200のストレージ240に格納されてメインメモリ230にロードされてプロセッサ220によって実行される。 The application according to the embodiment of the present invention is stored in the storage 240 of the terminal device 200, loaded into the main memory 230, and executed by the processor 220.
実行中に図1に示すWAS102から受信されたアプリケーションアップデート情報が通信モジュール210から受信されると、プロセッサ220は、アプリケーションソースコードに含まれたパーサー(parser)ロジックを実行して、WAS102から受信したデータを、サービスロジックを実行するためのスクリプト、ユーザインタフェースを構成するためのマークアップ及びタグに分離する。 When the application update information received from the WAS 102 shown in FIG. 1 is received from the communication module 210 during execution, the processor 220 executes the parser logic included in the application source code and receives it from the WAS 102. The data is separated into scripts for executing service logic, markups for configuring user interfaces, and tags.
そして、プロセッサ220は、アプリケーションソースコードに含まれたブリッジ(bridge)ロジックを実行して、このように分離されたサービスロジック、マークアップ及びタグを用いて端末装置を制御してアプリケーションコンテンツをユーザインタフェース提供部250上でレンダリングする。 Then, the processor 220 executes a bridge logic included in the application source code, and controls the terminal device using the service logic, markup, and tags separated in this way, and the application content is transmitted to the user interface. Rendering is performed on the providing unit 250.
アプリケーションソースコードには端末装置200の少なくとも1つのリソース(resource)のそれぞれをコンポーネントとして管理し、ブリッジロジックが制御できるようにするネイティブコンポーネントロジックを含んでもよい。 The application source code may include native component logic that manages each of at least one resource of the terminal device 200 as a component and allows the bridge logic to control it.
リソースには、端末装置200に含まれて制御されることのできるカメラモジュール、GPSモジュール、タッチ検出モジュール、各種のセンサモジュールなどがあり、一部のコンテンツに制限されない。 The resources include a camera module, a GPS module, a touch detection module, various sensor modules, and the like that are included in the terminal device 200 and can be controlled, and are not limited to some contents.
そして、ブリッジロジックは、ネイティブコンポーネントロジックが管理する各コンポーネントへのアクセスを制御するセキュリティロジックを含んでもよい。 The bridge logic may include security logic that controls access to each component managed by the native component logic.
この場合、ネイティブコンポーネントロジックとブリッジロジックとの間のデータ交換は、セキュリティロジックを経由してのみ行われる。 In this case, data exchange between the native component logic and the bridge logic is performed only via the security logic.
アプリケーション実行中の任意の時点に、または、アプリケーションが定めた所定の周期ごとに、または、ユーザの所望する時点に、アプリケーションがアップデートされてもよい。 The application may be updated at any time during the execution of the application, every predetermined period determined by the application, or at a time desired by the user.
このようなアプリケーションのアップデートは、パーサーロジック及びブリッジロジックをプロセッサ220が実行して行われてもよい。より詳細な内容は図3を参照して後述する。 Such an application update may be performed by the processor 220 executing the parser logic and the bridge logic. More detailed contents will be described later with reference to FIG.
図3は、本発明の一実施形態に係るアプリケーション実行方法を説明するためのブロック図300を示す。 FIG. 3 shows a block diagram 300 for explaining an application execution method according to an embodiment of the present invention.
ブロック図300において、パーサー310、ブリッジ320及びネイティブコンポーネント330は、アプリケーションに含まれるロジックとして、図2に示すプロセッサ220によって実行されてもよい。しかし、他の実施形態では、汎用プロセッサ220ではない専用ハードウェアモジュール(dedicated HW)によって実現されてもよい。 In block diagram 300, parser 310, bridge 320 and native component 330 may be executed by processor 220 shown in FIG. 2 as logic included in the application. However, in other embodiments, it may be realized by a dedicated hardware module (dedicated HW) that is not the general-purpose processor 220.
パーサー310は、WAS102からHTML(HyperText Markup Language)、JS(JavaScript(登録商標))、CSS(Cascading Style Sheets)などをHTTPで受信した後、アプリケーションのサービスロジックを実行するためのスクリプト、画面UIを構成するマークアップ(markup)、タグ(tag)などを分離する。 The parser 310 receives an HTML (HyperText Markup Language), JS (JavaScript (registered trademark)), CSS (Cascading Style Sheets), etc. from the WAS 102 via HTTP, and then executes a script I for executing the service logic of the application I. Separate markup, tags, etc.
パーシングされたデータのうち、端末装置(device)200を制御するロジックが入っているJSは、ブリッジ320でウェブビュー(Web View)のAPIにアクセスできるように備えられるが、この部分はビジネスロジック(business logic)のための装置コントロールを行うコントローラ321によって行われてもよい。 Among the parsed data, the JS including the logic for controlling the terminal device 200 is provided so that the bridge 320 can access the API of the web view (Web View). It may be performed by a controller 321 that performs device control for business logic.
パーシングされたデータのうち、HTMLマークアップのタグは、動的レイアウト(dynamic layout)323に関連してアプリケーションをレンダリングする。 Of the parsed data, HTML markup tags render the application in conjunction with a dynamic layout 323.
ブリッジ320のコントローラ321は、パーサー310が区分しておいたJS形態のビジネスロジックとマークアップタグを制御し、動的レイアウト323はこのような制御によって構成されたユーザインタフェース画面をレンダリングしてアプリケーションが実行される形状をユーザに提供する。 The controller 321 of the bridge 320 controls JS-type business logic and markup tags that the parser 310 has classified, and the dynamic layout 323 renders the user interface screen configured by such control, and the application Provide the user with the shape to be executed.
アプリケーションを通したハードウェアリソースの非正常的なアクセスを防止するために、セキュリティ322によってのみネイティブコンポーネント330へのアクセスを可能にする。 Only the security 322 allows access to the native component 330 to prevent unauthorized access of hardware resources through the application.
ネイティブコンポーネント330は、端末装置200が有する様々なネイティブリソースをコンポーネント化し、ブリッジが使えるようにハイブリッドアプリケーション開発フレームワークを用いてラッピング(wrapping)したオブジェクトである。ネイティブコンポーネント330は、ウェブ技術によるデータを処理するウェブキットブラウザ331、アプリケーションのフレームを実現するネイティブユーザインタフェース333及び少なくとも1つのリソースに関するデバイスリソース332を管理する。 The native component 330 is an object obtained by wrapping various native resources of the terminal device 200 into components and using a hybrid application development framework so that a bridge can be used. The native component 330 manages a web kit browser 331 that processes data based on web technology, a native user interface 333 that implements an application frame, and a device resource 332 related to at least one resource.
図4は、本発明の一実施形態に係るアプリケーション実行方法を示すフローチャートである。 FIG. 4 is a flowchart illustrating an application execution method according to an embodiment of the present invention.
アプリケーション実行装置100がアプリケーションを実行する(S410)。そして、アプリケーションのうちウェブコンポーネントを必要とする部分を受信するためにネットワーク101を介して接続されたWAS102にウェブコンポーネントをリクエストする(S420)。 The application execution apparatus 100 executes the application (S410). Then, in order to receive a portion of the application that requires the web component, the web component is requested to the WAS 102 connected via the network 101 (S420).
そして、リクエストに対して応答を受信すると(S430)、ウェブコンポーネントからスクリプト、マークアップ及びタグなどの要素をパーシングする(S440)。 When a response to the request is received (S430), elements such as a script, markup, and tags are parsed from the web component (S440).
そして、このような要素によってネイティブアプリケーションコンポーネントを用いてアプリケーション内にウェブコンポーネントをレンダリングする(S450)。 Then, the web component is rendered in the application using the native application component by such an element (S450).
任意の時点にWAS102がリフレッシュ(refresh)をリクエストしたり(S460)、ユーザのリクエストがあるか、または予め指定された所定の周期に応じてリフレッシュが行われると、再びステップS420以下のステップを繰り返す。 When the WAS 102 requests a refresh at an arbitrary time (S460), there is a user request, or refresh is performed according to a predetermined cycle specified in advance, the steps after step S420 are repeated again. .
そうでなければ、現在レンダリングされたアプリケーションが維持され(S470)、通常のユーザのアプリケーションを利用可能になる。 Otherwise, the currently rendered application is maintained (S470) and the normal user application is available.
図5は、本発明の一実施形態に係るアプリケーション実行方法を示すブロック図である。 FIG. 5 is a block diagram illustrating an application execution method according to an embodiment of the present invention.
端末装置510内にインタフェースB512を介してユーザのインタラクションが受信されると、これはアプリケーション520のコントローラ523によって処理され、インタフェースA511を介して処理結果がレンダリングされる。 When a user interaction is received in the terminal device 510 via the interface B512, this is processed by the controller 523 of the application 520, and the processing result is rendered via the interface A511.
アプリケーションの基本UIパターンや動作を定義するテンプレート521は、アプリケーションで固定的に提供されるコンテンツを提示し、動的レイアウトビルド522は、WAS530によって受信されるリアルタイムウェブコンポーネントをインタフェースA511内にともにレンダリングする。 A template 521 that defines the basic UI pattern and behavior of the application presents content that is fixedly provided by the application, and a dynamic layout build 522 renders the real-time web components received by the WAS 530 together in the interface A511. .
WAS530から受信される情報にはウェブページでビジネスロジックを提供するためにコントローラ523に提供されるスクリプト533、動的レイアウトを形成するためのマークアップ531及びその他のデータ532が含まれる。 Information received from the WAS 530 includes a script 533 provided to the controller 523 to provide business logic on the web page, markup 531 to form a dynamic layout, and other data 532.
このようなマークアップ531、データ532及びスクリプト533などの分離はパーシング過程によって行われる。 Such separation of markup 531, data 532, script 533, etc. is performed by a parsing process.
図6は、本発明の一実施形態に係るアプリケーション実行方法の例示的な結果を説明するための図である。 FIG. 6 is a diagram for explaining exemplary results of the application execution method according to an embodiment of the present invention.
図1で示すようにアプリケーション110の所定のフレーム120内において、GUIの構成が、図6に示す結果600では変更されたことが確認できる。 As shown in FIG. 1, it can be confirmed that the GUI configuration is changed in the result 600 shown in FIG. 6 within the predetermined frame 120 of the application 110.
例えば、図1ではフレーム120内に9個の含まれたGUIが4個に軽減し、それぞれの大きさが大きくなっていることがわかる。 For example, in FIG. 1, nine GUIs included in the frame 120 are reduced to four, and it can be seen that each size is increased.
そして、カメラ実行のためのGUI610は、図1に示すGUI121に比べて大きさが大きくなり、検索のためのGUI620は、図1に示すGUI122に比べて大きさが大きくなり、さらにグラフィックが変更されたことがわかる。また、図1では図示されていない新しいGUI630が含まれ、図1の他のGUIは提示せずに「more」というGUI640を介してアクセスされるように変更されていることがわかる。 The GUI 610 for executing the camera is larger than the GUI 121 shown in FIG. 1, the GUI 620 for searching is larger than the GUI 122 shown in FIG. 1, and the graphic is changed. I understand that. Further, it can be seen that a new GUI 630 not shown in FIG. 1 is included, and the other GUI of FIG. 1 is changed to be accessed through the GUI 640 “more” without presenting it.
従来にはアプリケーション内のこのような構成を変更するために、新しいバージョンのアプリケーションがアプリケーションストアに登録された後、再配布される必要があったが、本発明の一実施形態によると、WAS102から受信した情報を用いてフレーム120内の構成やコンテンツが自由にリアルタイムで変更することができる。 In the past, to change such a configuration in an application, a new version of the application had to be redistributed after being registered in the application store, but according to one embodiment of the present invention, from the WAS 102 The configuration and content in the frame 120 can be freely changed in real time using the received information.
このような点は、アプリケーションの開発者自身が配布したアプリケーションのアップデートの提供に役立ち、必要に応じて、広告、電子商取引など様々なものに活用することができる。 Such a point is useful for providing application updates distributed by application developers themselves, and can be used for various things such as advertisements and electronic commerce as needed.
本発明の一実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などの単独または組み合わせたものを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コード(machine code)だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード(higher level code)を含む。上述したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアのレイヤで動作するように構成されてもよい。 The method according to an embodiment of the present invention may be realized in the form of program instructions capable of executing various processes via various computer means and recorded on a computer-readable recording medium. The computer readable medium may include program instructions, data files, data structures, etc., alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the purposes of the present invention, and are known and usable by those skilled in the art in the field of computer software. Also good. Examples of computer-readable recording media include magnetic media such as hard disks, floppy (registered trademark) disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as optical disks, and ROMs. A hardware device specially configured to store and execute program instructions, such as RAM, flash memory, etc., may be included. Examples of the program instructions include not only machine language code generated by a compiler but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate at one or more software layers to perform the operations of the present invention.
以上のように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。 As described above, the present invention has been described with reference to the limited embodiments and drawings. However, the present invention is not limited to the above-described embodiments, and any person having ordinary knowledge in the field to which the present invention belongs can be used. Various modifications and variations are possible from such an embodiment.
したがって、本発明の範囲は、開示された実施形態に限定して定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。 Therefore, the scope of the present invention is not limited to the disclosed embodiments, but is defined by the claims and equivalents of the claims.
100 アプリケーション実行装置
101 ネットワーク
102 WAS(Web Application Server)
120 アプリケーションフレーム
DESCRIPTION OF SYMBOLS 100 Application execution apparatus 101 Network 102 WAS (Web Application Server)
120 Application frame
Claims (14)
前記アプリケーションが指示するWASへのネットワーク接続が行われた場合、前記WASから前記アプリケーションの実行のためのデータを受信してパーシングするパーサー部と、
前記パーシングされた前記データを用いて前記アプリケーションを実行するブリッジ部と、
を備えることを特徴とするアプリケーション実行装置。 In a device that executes an application,
When a network connection to the WAS instructed by the application is performed, a parser unit that receives and parses data for executing the application from the WAS;
A bridge unit that executes the application using the parsed data;
An application execution apparatus comprising:
前記アプリケーションは、基本フレームをレンダリングするためのソースコード及びWASから受信されるデータを処理して前記アプリケーションに適用するためのソースコードを含み、
前記装置は、
前記装置とネットワークを介して接続されたWASから前記アプリケーションに関連するデータが受信される場合、前記データをサービスロジックを実行するためのスクリプト、ユーザインタフェースを構成するためのマークアップ及びタグに分離するパーサー部と、
前記分離するサービスロジック、マークアップ及びタグを用いて前記装置を制御して前記アプリケーションコンテンツをレンダリングするブリッジ部と、
を備えることを特徴とするアプリケーション実行装置。 In a device that executes an application,
The application includes source code for rendering a basic frame and source code for processing data received from the WAS and applying it to the application,
The device is
When data related to the application is received from a WAS connected to the device via a network, the data is separated into scripts for executing service logic, markups for configuring a user interface, and tags. The parser section,
A bridge unit for controlling the device to render the application content using the service logic to be separated, markup and tags;
An application execution apparatus comprising:
前記ブリッジ部は、前記ネイティブコンポーネント管理部へのアクセスを制御するセキュリティモジュールを含み、前記ネイティブコンポーネント管理部と前記ブリッジ部との間のデータ交換は前記セキュリティモジュールを経由してのみ行われることを特徴とする請求項5に記載のアプリケーション実行装置。 The device further includes a native component management unit that manages at least one resource of the application execution device in a component so that the bridge can control the component.
The bridge unit includes a security module for controlling access to the native component management unit, and data exchange between the native component management unit and the bridge unit is performed only via the security module. The application execution device according to claim 5.
前記端末装置は、
アプリケーションコンテンツを提供するユーザインタフェース提供部と、
少なくとも1つのプロセッサと、
メモリと、
を含み、
前記アプリケーションは、前記メモリに格納されて前記少なくとも1つのプロセッサによって実行されるように構成され、
前記アプリケーションは、
ウェブアプリケーションサーバから受信したデータをサービスロジックを実行するためのスクリプト、ユーザインタフェースを構成するためのマークアップ及びタグに分離するパーサーロジックと、
前記分離するサービスロジック、マークアップ及びタグを用いて前記端末装置を制御して前記アプリケーションコンテンツを前記ユーザインタフェース提供部上でレンダリングするブリッジロジックと、
を含むことを特徴とする端末装置。 In the terminal device that executes the application,
The terminal device
A user interface provider that provides application content;
At least one processor;
Memory,
Including
The application is configured to be stored in the memory and executed by the at least one processor;
The application is
Parser logic that separates data received from the web application server into scripts for executing service logic, markup and tags for configuring a user interface;
Bridge logic for controlling the terminal device using the service logic to be separated, markup, and a tag to render the application content on the user interface providing unit;
The terminal device characterized by including.
前記アプリケーションが指示するWASへのネットワーク接続が行われた場合、前記WASから前記アプリケーションの実行のためのデータを受信してパーシングし、
前記パーシングされた前記データを用いて前記アプリケーションを実行することを含むことを特徴とするアプリケーション実行方法。 In a method in which a terminal device including a processor executes an application stored in the terminal device,
When a network connection to the WAS instructed by the application is made, the data for executing the application is received from the WAS and parsed
An application execution method comprising: executing the application using the parsed data.
前記アプリケーションを実行することは、前記少なくとも1つのリソースそれぞれに対するコンポーネントを制御することを含むことを特徴とする請求項12に記載のアプリケーション実行方法。 Further comprising creating and managing at least one resource of the terminal device in each component,
The method of claim 12, wherein executing the application includes controlling a component for each of the at least one resource.
前記アプリケーションは、
前記アプリケーションが指示するWASへのネットワーク接続が行われた場合、前記WASから前記アプリケーションの実行のためのデータを受信してパーシングするパーシングロジックと、
前記パーシングされた前記データを用いて前記アプリケーションを実行するブリッジロジックと、
を含むことを特徴とするコンピュータで読み出し可能な記録媒体。 In a computer-readable recording medium that records the application,
The application is
Parsing logic that receives and parses data for execution of the application from the WAS when a network connection to the WAS instructed by the application is performed;
Bridge logic that executes the application using the parsed data;
A computer-readable recording medium comprising:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110099870A KR101350661B1 (en) | 2011-09-30 | 2011-09-30 | Apparatus and method for executing hybrid application using web technology |
KR10-2011-0099870 | 2011-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013080470A true JP2013080470A (en) | 2013-05-02 |
Family
ID=48437328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012212675A Pending JP2013080470A (en) | 2011-09-30 | 2012-09-26 | Hybrid application execution device and method using web technology |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2013080470A (en) |
KR (1) | KR101350661B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5470500B1 (en) * | 2013-10-09 | 2014-04-16 | 株式会社テンダ | Application generation apparatus, application generation system, and application generation method |
JP2016014919A (en) * | 2014-06-30 | 2016-01-28 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
US9582232B2 (en) | 2014-06-30 | 2017-02-28 | Canon Kabushiki Kaisha | Information processing apparatus, processing method, and storage medium for building a print application using a hybrid application |
US9671981B2 (en) | 2014-06-30 | 2017-06-06 | Canon Kabushiki Kaisha | Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium for controlling and stopping display of an indicator for causing a user to recognize that image processing is in progress |
US9769335B2 (en) | 2014-06-13 | 2017-09-19 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102429530B1 (en) * | 2020-01-02 | 2022-08-04 | 플랜트에셋 주식회사 | The realtime intelligent P&ID searching method based on mobile for managing effecive plant operation |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10283235A (en) * | 1997-04-07 | 1998-10-23 | Pfu Ltd | File management method on web |
JPH1195989A (en) * | 1997-09-24 | 1999-04-09 | Ntt Data Corp | Program updating system |
JP2000194622A (en) * | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | Distributed operation system and recording medium |
JP2002501241A (en) * | 1998-01-07 | 2002-01-15 | マイクロソフト コーポレイション | A system that delivers data content over a low bit rate transmission channel. |
JP2004139357A (en) * | 2002-10-17 | 2004-05-13 | Techfirm Kk | Application server, mobile terminal and communication system equipped therewith |
JP2010182299A (en) * | 2009-02-06 | 2010-08-19 | Nhn Corp | Method and system for providing html-based application capable of controlling web action and client |
WO2010150937A1 (en) * | 2009-06-26 | 2010-12-29 | 주식회사 넥슨 | Online game providing system through storage media and method thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4358268B2 (en) | 2000-08-15 | 2009-11-04 | 富士通株式会社 | Web application execution system |
KR20070066629A (en) * | 2005-12-22 | 2007-06-27 | 주식회사 팬택 | Method and system for providing independent user interface by using extensible markup language and mobile communication terminal therefor |
WO2009043033A2 (en) * | 2007-09-28 | 2009-04-02 | Xcerion Aktiebolag | Network operating system |
-
2011
- 2011-09-30 KR KR1020110099870A patent/KR101350661B1/en active IP Right Grant
-
2012
- 2012-09-26 JP JP2012212675A patent/JP2013080470A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10283235A (en) * | 1997-04-07 | 1998-10-23 | Pfu Ltd | File management method on web |
JPH1195989A (en) * | 1997-09-24 | 1999-04-09 | Ntt Data Corp | Program updating system |
JP2002501241A (en) * | 1998-01-07 | 2002-01-15 | マイクロソフト コーポレイション | A system that delivers data content over a low bit rate transmission channel. |
JP2000194622A (en) * | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | Distributed operation system and recording medium |
JP2004139357A (en) * | 2002-10-17 | 2004-05-13 | Techfirm Kk | Application server, mobile terminal and communication system equipped therewith |
JP2010182299A (en) * | 2009-02-06 | 2010-08-19 | Nhn Corp | Method and system for providing html-based application capable of controlling web action and client |
WO2010150937A1 (en) * | 2009-06-26 | 2010-12-29 | 주식회사 넥슨 | Online game providing system through storage media and method thereof |
Non-Patent Citations (1)
Title |
---|
JPN6015012025; 坂本俊之: Web技術者のための HTML5+JavaScriptで作るAndroidアプリ 初版, 20110707, p.108-119, 株式会社シーアンドアール研究所 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5470500B1 (en) * | 2013-10-09 | 2014-04-16 | 株式会社テンダ | Application generation apparatus, application generation system, and application generation method |
JP2015075911A (en) * | 2013-10-09 | 2015-04-20 | 株式会社テンダ | Application generation device, application generation system, and application generation method |
US9769335B2 (en) | 2014-06-13 | 2017-09-19 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
JP2016014919A (en) * | 2014-06-30 | 2016-01-28 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
US9436413B2 (en) | 2014-06-30 | 2016-09-06 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium storing program |
US9582232B2 (en) | 2014-06-30 | 2017-02-28 | Canon Kabushiki Kaisha | Information processing apparatus, processing method, and storage medium for building a print application using a hybrid application |
US9671981B2 (en) | 2014-06-30 | 2017-06-06 | Canon Kabushiki Kaisha | Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium for controlling and stopping display of an indicator for causing a user to recognize that image processing is in progress |
US10146484B2 (en) | 2014-06-30 | 2018-12-04 | Canon Kabushiki Kaisha | Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium for controlling display of an indicator |
US10712978B2 (en) | 2014-06-30 | 2020-07-14 | Canon Kabushiki Kaisha | Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
KR101350661B1 (en) | 2014-01-10 |
KR20130035526A (en) | 2013-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210142003A1 (en) | Combined synchronous and asynchronous tag deployment | |
AU2018319444B2 (en) | Editing a database during preview of a virtual web page | |
US11863611B2 (en) | Delivery of instructions in host applications | |
US10705942B1 (en) | Simulated testing of API | |
US20180173390A1 (en) | Content Management System Extensions | |
US11635974B2 (en) | Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction | |
CN102939583B (en) | Creation task session | |
US20160196245A1 (en) | Systems and Methods for 3-Tier Tag Container Architecture | |
US20130262986A1 (en) | Systems, Methods, and Media for Managing Editable Previews of Webpages | |
JP2013080470A (en) | Hybrid application execution device and method using web technology | |
KR20100113071A (en) | Browser-based proxy server for customization and distribution of existing applications | |
US10417317B2 (en) | Web page profiler | |
US20150188980A1 (en) | Systems and Methods for Hosted Application Marketplaces | |
JP5936103B2 (en) | System, computer, method and program for calling Java method on client | |
CN105867984A (en) | Method, device and client for displaying task state in web page as well as mobile equipment | |
US10291743B2 (en) | Configuring service endpoints in native client applications | |
RU2634221C2 (en) | Method and device for drawing presentation of electronic document on screen | |
Koehl et al. | M. site: Efficient content adaptation for mobile devices | |
KR102191458B1 (en) | Apparatus and method for scrapping web data | |
US10416855B2 (en) | Integrating remote assets from content management service with content developed by content creation applications | |
US20150365300A1 (en) | Distributed user interfaces as a service | |
US8291311B2 (en) | Web display program conversion system, web display program conversion method and program for converting web display program | |
Selvaraj | Building Progressive Web Applications (PWAs) with Laravel | |
Wang | A Web-Component-Based Cross-Platform Mobile Application Development Environment for Ordinary Users | |
JP2012032938A (en) | Method of allowing user terminal to analyze and execute script program, script program, and user terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20131118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140129 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150331 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150630 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151208 |