(57)【要約】【課題】プログラムの知識のないユーザであっても最低限の指示を行うだけで、ネットワーク上に存在する様々なリソースを組み合わせて容易に統合プログラムの作成が可能な技術を実現する。【解決手段】アプリ生成サーバであらかじめコンパイルされた仮実行可能ファイルを分解してアプリＩＤとバイトコードプログラムとダミー構造体とを取り出して格納しておき、アプリ作成指示があったときにアプリ作成エンジンが生成した構造体定義ファイルに基づいてアプリＩＤとダミー構造体ファイルを置換してリンクすることで実行可能ファイルを生成できるようにした。その結果、アプリ作成指示サーバにおいて、ユーザ端末に提供するユーザインターフェースをより簡易なシート定義の選択だけで完結させるように工夫するだけでアプリ作成エンジンの構造体定義ファイルを、プログラム作成経験のないユーザでもきわめて容易に作成でき、かつコンパイル手順を知らなくても実行可能ファイル（統合アプリケーションプログラム）の作成が可能となる。【選択図】図１
2013137687.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末とネットワークを介して接続され、当該ユーザ端末からアプリ作成指示を受け付けるアプリ作成指示サーバと、
前記アプリ作成指示サーバからのアプリ作成指示に基づいて、構造体定義ファイルを生成するアプリ作成エンジンサーバと、
前記アプリ作成エンジンサーバからの指示に基づいてアプリケーションプログラムを生成するアプリ生成サーバとからなり、
前記アプリ作成指示サーバは、シート情報として少なくともコンテンツのアドレスと配置情報とが入力されると、これらの情報をアプリ作成エンジンサーバに送信するステップと、
前記情報を受信したアプリ作成エンジンサーバは、アプリＩＤとコンテンツのアドレス情報とが定義された構造体定義ファイルを生成するステップと、
前記アプリ生成サーバは、あらかじめコーディングされたリソースデータをコンパイルして雛形構造体定義ファイルとリンクして仮実行ファイルを生成し、さらにこの仮実行ファイルをアプリＩＤと、バイトコードプログラムと、ダミー構造体とに分解して自身の記憶装置内に格納しておくとともに、
前記ダミー構造体を前記アプリ作成エンジンサーバから受信した構造体定義ファイルに置換し、前記アプリＩＤを前記アプリ作成エンジンサーバから受信したアプリＩＤに置換し、これらの構造体定義ファイルとアプリＩＤとを前記バイトコードプログラムとともにリンクして実行可能ファイルを生成するステップ
とからなるコンパイルを不要とした統合アプリケーションプログラムの生成方法。
【請求項２】
ユーザ端末とネットワークを介して接続され、当該ユーザ端末からのアプリ作成指示を受け付けるアプリ作成指示サーバと、
前記アプリ作成指示サーバからのアプリ作成指示に基づいて、構造体定義ファイルを生成するアプリ作成エンジンサーバと、
前記アプリ作成エンジンサーバからの指示に基づいてアプリケーションプログラムを生成するアプリ生成サーバとからなり、
前記アプリ作成指示サーバは、シート情報として少なくともコンテンツのアドレスと配置情報とが入力されると、これらの情報をアプリ作成エンジンサーバに送信するステップと、
前記情報を受信したアプリ作成エンジンサーバは、書式の定義やコンテンツのアドレス情報が定義された構造体定義ファイルを生成するステップと、
前記アプリ生成サーバは、ソースコードをコンパイルして中間コードを生成して標準リソースファイルとリンクしてひな形アプリを生成して格納しており、前記アプリ作成エンジンサーバからアプリ作成リクエストを受け付けると、
前記ひな形アプリを中間コードとリソースファイルとに解体処理し、リソースファイルを前記構造体定義ファイルで指定されたファイルと置換して前記中間コードとリンク処理して実行可能ファイルを生成するステップ
とを順次実行することでコンパイルを不要とした統合アプリケーションプログラムの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートホン等のアプリケーションプログラム作成を専門知識不要で生成可能な技術に関する。
【背景技術】
【０００２】
一般にスマートホン等で実行される、それほど複雑でないアプリケーションプログラムであっても、ソースコードをコンパイルして中間コードを生成した後に、テキストデータ、イメージデータ等のリソースファイルとプログラムの情報を記述した構造体テンプレート(ｘｍｌファイル)をリンクさせることによって１つの実行可能ファイルを生成していた。なお一般的なコンピュータアプリケーションの生成・配布方法として特表２０１１−５２７４６５号（特許文献１）がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１１−５２７４６５号公報
【発明の概要】
【０００４】
しかし、このようなプログラム作成手順を踏襲した場合、新たなプログラムを生成する際に、必須の作業としてコンパイルが必要であるために以前使用したデータを再利用する場合でも、再度コンパイルを繰り返さなければならず、プログラム作成経験のないユーザにとっては敷居の高いものとなっていた。
【発明が解決しようとする課題】
【０００５】
本発明は、このような点に鑑みてなされたものであり、プログラムの知識のないユーザであっても最低限の指示を行うだけで、ネットワーク上に存在する様々なリソースを組み合わせて容易に統合プログラムの作成が可能な技術を実現することを技術的課題とする。
【課題を解決するための手段】
【０００６】
本発明は、前記課題を解決するために、以下の手段を採用した。
【０００７】
本発明の請求項１は、ユーザ端末とネットワークを介して接続され、当該ユーザ端末からアプリ作成指示を受け付けるアプリ作成指示サーバと、前記アプリ作成指示サーバからのアプリ作成指示に基づいて、構造体定義ファイルを生成するアプリ作成エンジンサーバと、前記アプリ作成エンジンサーバからの指示に基づいてアプリケーションプログラムを生成するアプリ生成サーバとからなり、前記アプリ作成指示サーバは、シート情報として少なくともコンテンツのアドレスと配置情報とが入力されると、これらの情報をアプリ作成エンジンサーバに送信するステップと、前記情報を受信したアプリ作成エンジンサーバは、アプリＩＤとコンテンツのアドレス情報とが定義された構造体定義ファイルを生成するステップと、前記アプリ生成サーバは、あらかじめコーディングされたリソースデータをコンパイルして雛形構造体定義ファイルとリンクして仮実行ファイルを生成し、さらにこの仮実行ファイルをアプリＩＤと、中間コードと、ダミー構造体とに分解して自身の記憶装置内に格納しておくとともに、前記ダミー構造体を前記アプリ作成エンジンサーバから受信した構造体定義ファイルに置換し、前記アプリＩＤを前記アプリ作成エンジンサーバから受信したアプリＩＤに置換し、これらの構造体定義ファイルとアプリＩＤとを前記バイトコードプログラムとともにリンクして実行可能ファイルを生成するステップとからなるコンパイルを不要とした統合アプリケーションプログラムの生成方法である。
【０００８】
また本発明の請求項２は、ユーザ端末とネットワークを介して接続され、当該ユーザ端末からのアプリ作成指示を受け付けるアプリ作成指示サーバと、
前記アプリ作成指示サーバからのアプリ作成指示に基づいて、構造体定義ファイルを生成するアプリ作成エンジンサーバと、前記アプリ作成エンジンサーバからの指示に基づいてアプリケーションプログラムを生成するアプリ生成サーバとからなり、前記アプリ作成指示サーバは、シート情報として少なくともコンテンツのアドレスと配置情報とが入力されると、これらの情報をアプリ作成エンジンサーバに送信するステップと、前記情報を受信したアプリ作成エンジンサーバは、書式の定義やコンテンツのアドレス情報が定義された構造体定義ファイルを生成するステップと、前記アプリ生成サーバは、ソースコードをコンパイルして中間コードを生成して標準リソースファイルとリンクしてひな形アプリを生成して格納しており、前記アプリ作成エンジンサーバからアプリ作成リクエストを受け付けると、前記ひな形アプリを中間コードとリソースファイルとに解体処理し、リソースファイルを前記構造体定義ファイルで指定されたファイルと置換して前記中間コードとリンク処理して実行可能ファイルを生成するステップとを順次実行することでコンパイルを不要とした統合アプリケーションプログラムの生成方法である。
【０００９】
これによれば、アプリ生成サーバであらかじめコンパイルされた仮実行可能ファイルを分解してアプリＩＤやアプリ名とバイトコードプログラムとダミー構造体（構造体定義ファイル）とを取り出して格納しておき、アプリ作成指示があったときにアプリ作成エンジンが生成した構造体定義ファイルに基づいてダミー構造体ファイルを置換してリンクしたり、リソースファイルを置換するだけで実行可能ファイルを生成することができる。そのため、アプリ作成指示サーバにおいて、ユーザ端末に提供するユーザインターフェースをより簡易なシート定義の選択だけで完結させるように工夫するだけでアプリ作成を、プログラム作成経験のないユーザでもきわめて容易に作成でき、かつコンパイル手順を知らなくても実行可能ファイル（統合アプリケーションプログラム）の作成が可能となる。
【発明の効果】
【００１０】
本発明によれば、プログラムの知識のないユーザであっても最低限の指示を行うだけで、ネットワーク上に存在する様々なリソースを組み合わせて容易に統合プログラムの作成が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態であるプログラム生成手順の詳細を示すブロック図
【図２】本発明の第１実施形態のネットワーク構成を示す説明図
【図３】本発明の第１実施形態の構造体定義ファイルの構成の一例をしめす説明図
【図４】本発明の第１実施形態の画面ユーザインターフェースを示す説明図
【図５】本発明の第２実施形態であるプログラム作成手順の概念図
【図６】本発明の第２実施形態であるアプリ生成サーバの機能を示す図
【図７】本発明の第２実施形態のネットワーク構成を示す説明図
【図８】本発明の第２実施形態の実行可能ファイル（ひな形アプリ）の再構築を説明するための図
【発明を実施するための形態】
【００１２】
（第１実施形態）
本発明を図に基づいて説明する。
【００１３】
本実施形態におけるネットワーク構成は図２に示すように、ネットワーク（ＮＷ）を介して、アプリ作成サーバ、アプリ作成エンジンサーバ、アプリ生成サーバとからなるサーバ群と、３つのターゲットサイト（MED.html、OSM.html、ITN.html）と、通信可能なパーソナルコンピュータ（ＵＳＥＲ１）、および基地局（ＢＳ）を介して通信可能なユーザ所
持端末（ＳＭＰ）とからなる。
【００１４】
サーバ群を構成する各サーバは、汎用のネットワークサーバであり、図示を省略するが、バスで接続された中央処理装置（ＣＰＵ）を中心に、メインメモリ（ＭＭ）、ハードディスク装置（ＨＤ）等の大規模記憶装置等を有している。この大規模記憶装置にはオペレーティングシステム（ＯＳ）とともに、サーバアプリケーションプログラムがインストールされており、このサーバアプリケーションプログラムが前記バスおよびメインメモリを介して中央処理装置に読み込まれて順次実行処理されることによって各サーバの機能が実現されるようになっている。
【００１５】
また、ユーザのパーソナルコンピュータ（ＵＳＥＲ１）およびスマートホン（ＳＭＰ）も汎用の通信機能を備えたパーソナルコンピュータであり、バスで接続された中央処理装置（ＣＰＵ）を中心に、メインメモリ（ＭＭ）、ハードディスク装置（ＨＤ）またはフラッシュメモリ等の大規模記憶装置等を有している。
【００１６】
なお、スマートホン（ＳＭＰ）は、オペレーティングシステム（ＯＳ）としてiOSを搭
載した米国アップル社のiPhone（アップル社の商標）、android（グーグル社の商標）を
搭載したGalaxy（サムソン社の商標）等の携帯電話端末であるがこれらに限られない。
【００１７】
３つのターゲットサイトは、たとえばそれぞれ異なる芸能人のブログサイトであり、それぞれが画像情報（JPG）、テキスト情報（TXT）、動画情報（MOV）等を有している。
【００１８】
本実施形態では、これらの３つのサイトを統合して表示するアプリケーションプログラムを生成する例で説明する。  
【００１９】
アプリ作成指示サーバでは、図１に示すように、シート状の選択枝を選択可能なインターフェース画面が用意されている。このアプリ作成指示サーバのＵＲＬを指定して自身のスマートホンにダウンロードしたユーザは前記アプリ作成指示サーバに対して、画面の定義をシートに選択的に記入していくことにより、構造体定義ファイル（config.xml）が生成される。具体的には、ユーザが生成しようとしている「ＡＢＣアプリ」では、自身がお気に入りの芸能人のＭＥＤと、ＯＳＭと、ＩＴＮの３人のブログを統合して閲覧できる統合アプリケーションプログラムを生成しようとしている。なお、本実施形態では、これらの芸能人のブログサイトのＵＲＬはユーザ自身が指示してもよいし、特定のＵＲＬがあらかじめアプリ作成指示サーバにおいて設定されていてもよい。図４は、この画面の定義に基づく構成例である。同図では画面の略全面を占めるメイン画面（ｌｏｃ１）の下部に複数のアイコン（ｌｏｃ２〜ｌｏｃ５）が配置されており、これらのアイコンが指先のタップ操作によって指定されることでそれぞれのアイコンに定義された処理が実行されるようになっている。
【００２０】
前記アプリ作成指示サーバからの指示によってアプリ作成エンジンサーバでは前記構造体定義ファイル（config.xml）が生成されるが、この構造体定義中に、アプリＩＤ、ターゲットとなるブログサイトのＵＲＬ等が自動的に記述されるようになっている。またこの構造体定義ファイル（config.xml）の配下には、図３に示すように複数の構造体ファイルが従属している。このような下位の構造体ファイルの数については、ユーザはシート定義時にアプリ作成指示サーバに対して指示しておくことができる。
【００２１】
一方、アプリ生成サーバにおいては、図１に示すように、あらかじめ用意された固有情報、たとえばテキスト情報やクラス名等が参照されてコーディングされて複数のソースファイル（図示せず）が生成される。この複数のソースファイルを複数のオブジェクトコードに変換（コンパイル）しこれらと雛形構造体ファイルとを相互にリンクして仮実行可能
ファイル（ジャバ形式）を生成しておく。
【００２２】
そして、前記仮実行可能ファイルからアプリＩＤと、バイトコードプログラムと、ダミー構造体ファイル（dummy.xml）とを分解してアプリ生成サーバの大規模記憶装置内に格
納しておく。
【００２３】
次に、アプリ作成エンジンサーバから、構造体定義ファイル（config.xml）を受信したアプリ生成サーバは、前記で格納されていたアプリＩＤを構造体定義ファイルのアプリＩＤと置き換え、前記ダミー構造体ファイル（dummy.xml）を構造体定義ファイル（config.xml）と置き換える。そして、格納してあったバイトコードプログラムを読み出して、こ
れらをリンクして新たな実行可能ファイルを生成する。
【００２４】
この実行可能ファイルはアプリ生成サーバよりネットワークを介してユーザのスマートホンにダウンロードされて実行されることによって、前述の図４で説明した画面を表示するようになっている。
【００２５】
（第２実施形態）
図５は、本発明の別の実施形態を示すプログラム作成手順を示す概念図である。
【００２６】
同図において、アプリ作成指示サーバは、Webサーバであり、ユーザがパーソナルコン
ピュータ、携帯端末（ユーザ端末）、またはタブレット端末(以下、「ユーザ端末」と総
称する)からアクセスして作成しようとするアプリケーションプログラム（アプリ）の機
能やデザインをリスト形式で選択させる機能を有している。具体的には機能毎に用意されたシートを選択できるようにし、その機能毎のコンテンツのURLを指定したり、背景の画
像データを配置したり、ツイッターのユーザネームやハッシュタグ等をプルダウンメニュー等で設定できるようになっている。また、バーや背景の表示の有無やその色等のデザインパターンを選択可能となっている。
【００２７】
アプリ作成エンジンサーバは、アプリ作成指示サーバより送信されたアプリ作成指示データを自身のデータベースに格納する。そして、アプリ作成エンジンサーバはデータベースに格納されたデータをＸＭＬファイル（構造体定義ファイル）としてエクスポートし、アプリ生成サーバからアクセス可能な状態で登録されるようになっている。
【００２８】
次に、図６に示すように、アプリ作成エンジンサーバはアプリ生成サーバに対して、アプリ生成リクエストを送信する。前記送信を受けたアプリ生成サーバは、アプリ作成エンジンサーバのＸＭLファイルを取得してアプリ生成を開始する。
【００２９】
同図において、アプリ生成サーバは、アプリ作成エンジンサーバから受信したＸＭＬファイルおよびそこで定義されたＵＲＬに基づいてアイコンファイル、スプラッシュファイル、テキストファイル、ＨＴＭＬファイル、画像ファイル、音声ファイル、動画ファイルを前記アプリ作成エンジンサーバまたはネット上から取得する。
【００３０】
次に、アプリ生成サーバには、事前に生成されたひな形アプリ（実行可能ファイル）が格納されている。この実行可能ファイルは、バイナリコードであり、テキストで記述されたソースコードがコンパイルされ、中間コードが生成され、この中間コードに対してＸＭＬファイル、アイコンファイル、スプラッシュファイル、ＨＴＭＬファイル、画像ファイル、テキストファイル、動画ファイル等のリソースファイル等がリンクされて生成されたものである。
【００３１】
次に、アプリ生成サーバでは、このようにして格納されていたひな形アプリが解体処理
される。この解体処理とは、バイナリコードからなる実行可能ファイルを少なくとも中間コードとＸＭＬファイルとアイコンファイルとスプラッシュファイル等のリソースファイルに分解することを意味するが、あくまでも中間コードの段階まで分解できればよく、前述のソースコードまで逆コンパイルする必要はないため極めて短時間での処理が可能である。
【００３２】
このように解体処理されたリソースファイル中のＸＭＬファイルに基づいて中間コードを書き換える。具体的にはアプリ名等のアプリ固有情報、アプリ毎の特定の処理等が書き換えられることになる。そして、次にＸＭＬファイルと、アイコンファイルと、スプラッシュファイル、テキストファイル、ＨＴＭＬファイル、画像ファイル、音声ファイル、動画ファイル等とを、前記アプリ作成エンジンサーバから取得したリソースファイル（ＸＭＬファイル、アイコンファイル、スプラッシュファイル、テキストファイル、ＨＴＭＬファイル、画像ファイル、音声ファイル、動画ファイル等）と置換する。
【００３３】
次に、前記で解体処理された中間コードに対して前記置換されたリソースファイルをリンク（再構築・署名）することで再度バイナリコードからなる実行可能ファイル（新アプリ）を生成する。
【００３４】
このように一旦生成された実行可能ファイルの解体処理を行い、前記構造体定義ファイルから情報取得し、前記中間コードを書き換え、リソースファイルを前記構造体定義ファイルで指定されたファイルと置換して、新しい中間コードと新しいリソースファイルを再度リンクして実行可能ファイルを再生成することによって、数MBの実行可能ファイルを想定した場合、ソースコードから中間コードにコンパイルし、リソースファイルをリンク（再構築）して実行可能ファイルを生成する時間が約３０秒であるのに対して、前述の本実施形態の実行可能ファイルを分解してリソースファイルの置換を行い再リンク（再構築）して実行可能ファイルを生成した場合は約１０秒で処理が完了することが本発明者によって明らかとなった。
【００３５】
このようにして生成された実行可能ファイルのアプリ生成サーバのアドレス（ＵＲＬ）がユーザ端末に通知され、ユーザ端末は当該アドレスから実行可能ファイルをダウンロードして自身のユーザ端末で実行する。
【産業上の利用可能性】
【００３６】
本発明は、インターネットを介したクラウド事業に利用可能である。
【符号の説明】
【００３７】
ＮＷ  ネットワーク
ＵＳＥＲ１  ユーザ端末（パーソナルコンピュータ）
ＢＳ  基地局
ＳＭＰ  スマートホン
ｌｏｃ１  メイン画面
ｌｏｃ２〜５  アイコン
【図１】
2013137687.tif 000003
【図２】
2013137687.tif 000004
【図３】
2013137687.tif 000005
【図４】
2013137687.tif 000006
【図５】
2013137687.tif 000007
【図６】
2013137687.tif 000008
【図７】
2013137687.tif 000009
【図８】
2013137687.tif 000010