JP7053983B2 - 情報処理装置と、その処理方法及びプログラム - Google Patents

情報処理装置と、その処理方法及びプログラム Download PDF

Info

Publication number
JP7053983B2
JP7053983B2 JP2017178522A JP2017178522A JP7053983B2 JP 7053983 B2 JP7053983 B2 JP 7053983B2 JP 2017178522 A JP2017178522 A JP 2017178522A JP 2017178522 A JP2017178522 A JP 2017178522A JP 7053983 B2 JP7053983 B2 JP 7053983B2
Authority
JP
Japan
Prior art keywords
application
database
data model
data
time zone
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.)
Active
Application number
JP2017178522A
Other languages
English (en)
Other versions
JP2019053637A (ja
Inventor
麻彩子 森
剛 高塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2017178522A priority Critical patent/JP7053983B2/ja
Publication of JP2019053637A publication Critical patent/JP2019053637A/ja
Application granted granted Critical
Publication of JP7053983B2 publication Critical patent/JP7053983B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データベースに接続するアプリケーションを構築するための情報処理装置と、その処理方法及びプログラムに関する。
従来、入出力定義やデータモデル定義などを設定し、アプリケーションを構築するツールやサービスが存在する。
それらのツールやサービスを用いて構築したアプリケーションは、設定されたデータモデル定義を用いてデータベースのデータを操作(検索、挿入、更新、削除等)する。その操作のうち、挿入、更新(論理削除を含む)等を行った場合、データベースの当該データの処理日時をタイムスタンプとして記憶することが一般的である。通常、そのタイムスタンプには、アプリケーションサーバ105やデータベースサーバ103のシステム日付が使用されるため、それらサーバの設置場所のタイムゾーンが適用される。また、グローバルで利用されるアプリケーションにおいて、そのタイムスタンプに監査等の目的で特定のタイムゾーン(標準時を同じくする地帯)が指定されることもある。
一方、昨今では、構築したアプリケーションをクラウド環境で動作させるケースも増えてきており、そのため上記タイムスタンプのタイムゾーンとアプリケーションを利用するエンドユーザの住む地域とのタイムゾーンが異なるケースが発生する可能性も高まってきている。つまり、エンドユーザが閲覧する日時情報(例:画面に表示する日時情報)には、エンドユーザの住む地域とのタイムゾーンを利用し、それ以外の日時情報(監査用等)には、異なるタイムゾーン(例:システム日時)を利用したいケースがある。また、世界各国のエンドユーザがアプリケーションを利用するケースもある。
以上から、データベースの1つのテーブルにおいても、複数のタイムゾーンを使い分ける必要性が出てきた。
特許文献1には、システム設置場所によらず柔軟に時刻表示できる時期情報変換プログラムの仕組みが開示されている。
特開2009-093567号公報
しかし、特許文献1の仕組みは、複数のタイムゾーンを使い分けるプログラムの仕組みであるため、当該プログラムや当該プログラムによって動作するアプリケーションを構築することはできない。
そこで、本発明の目的は、複数のタイムゾーンを使い分けるアプリケーションを構築する仕組みを提供することである。
データベースに接続するアプリケーションを構築する情報処理装置であって、前記データベースのデータの操作に用いるデータモデルの定義を記憶するデータモデル記憶手段と前記データモデル記憶手段に記憶されているデータモデル定義に第1の所定の値が設定されている場合に、当該第1の所定の値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築するアプリケーション構築手段とを備えることを特徴とする情報処理装置。
本発明によれば、複数のタイムゾーンを使い分けるアプリケーションを構築する仕組みを提供することができる。
本発明に係るプログラム生成装置、プログラム生成サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバの構成の一例を示すシステム構成図である。 本発明に係るプログラム生成装置、プログラム生成サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。 本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。 本発明に係るプログラム生成装置の構成図である。 アプリケーション生成のフローチャートの一例を示す図である。 SQL文生成のフローチャートの一例を示す図である。 日付時刻更新のフローチャートの一例を示す図である。 データモデル定義画面の一例を示す図である。 データモデル定義XMLの一例を示す図である。 INSERT押下前画面、INSERT押下後画面の一例を示す図である。 INSERT SQL文、INSERT押下後DBレコードの一例を示す図である。 UPDATE押下前画面、UPDATE押下後画面の一例を示す図である。 UPDATE押下前DBレコード、UPDATE SQL文、UPDATE押下後DBレコードの一例を示す図である。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
図1は、本発明に係わるプログラム生成装置(開発者がWebアプリケーション生成のために使用する情報処理装置)、プログラム生成サーバ、データベースサーバ、アプリケーションクライアント(クライアント装置)、アプリケーションサーバ、Webサーバの構成の一例を示すシステム(情報処理システム)構成図である。
プログラム生成装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。なお、プログラム生成装置101では、開発者の入力受付を行い、後述するプログラム生成サーバ102に実際のプログラム生成処理、アプリケーション生成処理を行うというように役割を分けてもよいし、プログラム生成装置101単体でプログラム生成、アプリケーション生成までを行ってもよい。
なお、この実施形態においては、プログラム生成装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用しないアプリケーションやシステムであってもよい。
また、本実施形態においては、プログラム生成装置101によってアプリケーションのプログラムを生成するとしたが、プログラムの生成に限定するものではなく、開発者の操作に従って設定された定義を用いて、アプリケーションやシステムが動作する環境を構築するとしてもよい。
プログラム生成サーバ102a~102b(情報処理装置)は、プログラム生成装置101により入力された開発者の設定及び指示に従って、プログラムを生成する。プログラム生成サーバ102aはLANなどのネットワーク107内に配置されてもよいし、プログラム生成サーバ102bはインターネット上やクラウド上に配置されてもよい。
データベースサーバ103a~103b(情報処理装置)は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム生成装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク107内に配置されてもよい(データベースサーバ103a)。またインターネット上やクラウド上に配置されてもよい(データベースサーバ103b)。また、プログラム生成装置101が、プログラム生成サーバ102と協調する場合には、プログラム生成サーバ102とデータベースサーバ103が同一の装置内に構成されていてもよい。
アプリケーションサーバ105(情報処理装置)は、プログラム生成装置101で生成されたアプリケーションプログラムを実行する。アプリケーションサーバ105は、LANなどのネットワーク107内に配置されてもよい(アプリケーションサーバ105)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションサーバ105b)。また、ネットワーク107、インターネット、クラウド上のデータベースサーバ103と接続して動作することが可能である。
アプリケーションクライアント104a~104b(情報処理装置)は、アプリケーションサーバ105と協調してプログラム生成装置101で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。LANなどのネットワーク107内に配置されてもよい(アプリケーションクライアント104a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションクライアント104b)。携帯端末などの情報処理装置であってもよい。
Webサーバ106(情報処理装置)は、プログラム生成装置101で生成された画面仕様ドキュメント443をアプリケーションクライアント104からのリクエストに応じて送信する。Webサーバ106は、LANなどのネットワーク107内に配置されてもよいし、またインターネット上やクラウド上等に配置されてもよい。
なお、本実施形態においては、アプリケーションサーバ105とWebサーバ106は別筐体の情報処理装置としたが、これに限定するものではなく、1つの情報処理装置であっても、仮想環境上に構築されてもよい。
図2は、本発明に係わるプログラム生成装置101、プログラム生成サーバ102、データベースサーバ103、アプリケーションクライアント104、アプリケーションサーバ105として適用可能な各ハードウェア構成の一例を示すブロック図である。
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
図3は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
プログラム生成装置101は、以下の機能部を備える。
データモデル記憶部301は、データベースのデータの操作に用いるデータモデルの定義を記憶する機能部である。
アプリケーション構築部302は、データモデル記憶部301に記憶されているデータモデル定義に第1の所定の値が設定されている場合に、当該第1の所定の値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築する機能部である。
第1判定部303は、データモデル記憶部301に記憶されているデータモデル定義に第2の所定の値が設定されているか否かを判定する機能部である。
アプリケーション構築部302は、第1判定部303の判定に従って、データベースのデータを更新するときにタイムゾーンを指定するクエリを用いるアプリケーションを構築するか、データベースのデータを更新するときにタイムゾーンを指定しないクエリを用いるアプリケーションを構築するかを制御する機能部である。
第2判定部304は、アプリケーションを利用するユーザのセッションに所定のセッションキーが存在するか否かを判定する機能部である。
アプリケーション構築部302は、第2判定部304により所定のセッションキーが存在する場合、当該セッションキーに対応する値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築する機能部である。
アプリケーション構築部302は、アプリケーションを利用するユーザのセッションとして記憶されている値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築する機能部である。
図4は、プログラム生成装置101の構成図である。
プログラム生成装置101は、リポジトリ定義部401及びWebアプリケーション生成部407を備える。
プログラム生成装置101は、Webアプリケーションを開発する開発者により設定されたリポジトリ定義部401の各定義を用いて、Webアプリケーション生成部407によりWebアプリケーションを生成する。
リポジトリ定義部401には、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406が記憶されている。これら402~406の定義は、Webアプリケーション構築ツールを介して、開発者によって入力設定または配置される。
なお、入出力定義403は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたWebアプリケーションの画面を介して当該Webアプリケーションのユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたWebアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。
Webアプリケーション生成部407は、Webアプリケーション生成用のリポジトリ定義解析部408を用いてリポジトリ定義部401に記憶されている各定義を解析し、Webアプリケーションコード生成部410及びソースコードコンパイル部411を介し、コンパイル済Java(登録商標)コード413及びHTML/JSP/JavaScript(登録商標)412を含むWebアプリケーションを生成する。すなわち、設定された定義を用いて、アプリケーションとして用いられるプログラムを生成する手段の一例である。
図5は、アプリケーション生成のフローチャートの一例を示す図である。
プログラム生成装置101は、ディレクトリ構造を用いて、リポジトリ定義部401の各定義をファイルとして管理する。なお、本実施形態においては、ディレクトリ構造600を用いて、リポジトリ定義部401の各定義をファイルとして管理するとしたが、これに限定するものではなく、例えば、データベースを用いてリポジトリ定義部401の各定義を管理してもよいし、クラウドなどネットワーク上の記憶装置を用いて管理する等としてもよい。
アプリケーション生成のフローチャートについて説明する。
ステップS501において、プログラム生成装置101は、アプリケーション定義402の設定を受け付ける。具体的には、アプリケーション構築ツールの画面を介して、アプリケーション開発者から入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定を受け付ける。
図8は、データモデル定義404の設定を受け付けるデータモデル定義画面800の一例を示す図である。アプリケーション開発者は、データモデル定義画面800を介して、データモデル定義404の設定をする。すなわち、データモデル定義404は、データベースのデータの操作に用いるデータモデルの定義を記憶する手段の一例である。
図8の加工式801のようにして、テーブルのカラムに対応する項目コード毎にタイムゾーンの指定をする。
これにより、データベースの1つのテーブルにおいても、複数のタイムゾーンを使い分けるアプリケーションを構築する仕組みを提供することができる。つまり、構築したアプリケーションをクラウド環境で動作させるケース等、エンドユーザが閲覧する日時情報(例:画面に表示する日時情報)には、エンドユーザの住む地域とのタイムゾーンを利用し、それ以外の日時情報(監査用等)には、異なるタイムゾーン(例:システム日時)を利用したいケースにおいても、複数のタイムゾーンを使い分けるアプリケーションを構築する仕組みを提供することができるようになる。また、世界各国のエンドユーザがアプリケーションを利用するケースであっても、複数のタイムゾーンを使い分けるアプリケーションを構築する仕組みを提供することができるようになる。
タイムゾーンの指定を指定する場合、加工式801に“@DBZONEDATE:[INSERT][:タイムゾーン文字列]”形式で設定をする。この設定方法について、具体的に説明する。“INSERT”を付けると、レコード挿入時のみこの項目コードに日時が記録される(つまり、レコード更新時には記録されない)。“INSERT”を省略する場合は“@DBZONEDATE::タイムゾーン文字列”と設定する(つまり、レコード挿入時及びレコード更新時にタイムゾーン日時が記録される)。
タイムゾーン文字列として、“@LOCAL”が指定された場合は、データベースサーバ103のシステム日時を使用する。(つまり、SQL文に、“AT TIME ZONE”句を付加しない)。タイムゾーン文字列は、SQL文にそのまま渡される(つまり、DBMSに準拠したタイムゾーンを指定することができる)。
タイムゾーン文字列を省略すると、SQL生成時、SQL文にタイムゾーンが付加されない。つまり、データベースサーバ103のシステム日時が登録される。
また、タイムゾーン日時に未対応のDBMSの場合、データベースサーバ103又はアプリケーションサーバ105の日時を登録する。具体的には、データベース定義406に定義された接続先データベースサーバ103のDBMSがタイムゾーン日時に対応しているか否かを判定し、対応していない場合はSQL生成時にタイムゾーン日時の指定を行わないようにする。これにより、タイムゾーン日時に未対応のDBMSであっても、SQLエラーにならず、処理を続けることが可能になる。
また、アプリケーション実行時、アプリケーション利用者のHTTPセッションにセッションキー“@TIME_ZONE”として値が設定されている場合は、“タイムゾーン文字列”の指定の有無にかかわらず、セッション値を使用する。
以上から、項目コード804~806の加工式は、“@DBZONEDATE::タイムゾーン文字列”形式であるため、レコード挿入時及びレコード更新時に指定された各タイムゾーンで処理日時を記録する。項目コード807の加工式は、“@DBZONEDATE::@LOCAL”形式であるため、レコード挿入時及びレコード更新時に指定された各タイムゾーンでデータベースサーバ103のシステム日時を記録する。項目コード808~810の加工式は、“@DBZONEDATE:INSERT:タイムゾーン文字列”形式であるため、レコード挿入時に指定された各タイムゾーンで処理日時を記録する。項目コード811の加工式は、“@DBZONEDATE:INSERT:@LOCAL”形式であるため、レコード挿入時に指定された各タイムゾーンでデータベースサーバ103のシステム日時を記録する。
なお、本実施形態においては、“@LOCAL”が指定された場合は、データベースサーバ103のシステム日杖kを使用するとしたが、これに限定するものではなく、アプリケーションサーバ105であっても、アプリケーションサーバ105又はデータベースサーバ103を選択できるとしてもよい。
また、本実施形態においては、各データモデルの各項目コード(各テーブルの各カラムに対応)にタイムゾーン設定をするとしたが、これに限定するものではなく、複数のデータモデルや複数の項目コードに対して、一括的にタイムゾーンを指定できるとしてもよい。
ステップS501にて、受け付けたアプリケーション定義402(入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406)の設定は、リポジトリ定義部401にXMLファイル形式で記憶する。例えば、データモデル定義画面800を介して受け付けた「商品データモデル」は、リポジトリ定義部401にデータモデル定義XML900(図9)のような形式で記憶する。
図9は、データモデル定義XMLの一例を示す図である。項目コード毎の設定が、<dm-item>~</dm-item>部分に記載されている。加工式801の設定は、<statement>~</statement>部分に記載される。
なお、本実施形態においては、データモデル定義404等のアプリケーション定義402をXMLファイル形式で記憶するとしたが、これに限定するものではなく、他のファイル形式やデータベースに登録する等の他の記憶方法であってもよい。
ステップS502において、プログラム生成装置101は、アプリケーション生成の指示を受け付ける。
ステップS503において、プログラム生成装置101は、リポジトリ定義部401からアプリケーション定義402を取得する。リポジトリ定義解析部408は、読み込んだ定義を解析したうえでメモリに保管しておき、解析された定義は各生成部から適宜参照される。
ステップS504において、プログラム生成装置101は、リポジトリ定義部401からデータモデル定義404を取得する。
ステップS505において、プログラム生成装置101は、リポジトリ定義部401から入出力定義403を取得する。
ステップS506において、プログラム生成装置101は、リポジトリ定義部401からビジネスプロセス定義405を取得する。
ステップS507において、プログラム生成装置101は、リポジトリ定義部401からデータベース定義406を取得する。
ステップS508において、プログラム生成装置101は、Webアプリケーション生成部407を用いて、Webアプリケーションに用いるプログラムを生成する。すなわち、ステップS508は、アプリケーションを構築する処理の一例を示すステップである。
ステップS509において、プログラム生成装置101は、SQL文を生成する(詳細は、図6の説明にて後述する)。
ステップS510において、プログラム生成装置101は、ステップS508にて生成したプログラム及びステップS509にて生成したSQL文をアプリケーションサーバ105に配置(デプロイ)する。これにより、複数のタイムゾーンを使い分けるアプリケーションを構築する仕組みを提供することができる。
以上で、図5の説明を終了する。
図6は、SQL文生成のフローチャートの一例を示す図である。
ステップS601において、プログラム生成装置101は、ステップS504にて取得したデータモデル定義404の加工式801(図9の<statement>~</statement>部分)に“@DBZONEDATE”が設定されているかを判定し、設定されている場合はステップS602に進み、設定されていない場合は図6の処理を終了する。
ステップS602において、プログラム生成装置101は、ステップS504にて取得したデータモデル定義404の加工式801に“@LOCAL”が設定されているか判定し、設定されている場合はステップS603に進み、設定されていない場合はステップS604に進む。
ステップS603において、プログラム生成装置101は、データベースサーバ103の日付を取得するSQL文を作成する(例:図11の1110又は図13の1320の対象カラム名=CURRENT_TIMESTAMP)。なお、本実施形態においては、データベースサーバ103の日付を“CURRENT_TIMESTAMP”としたが、これに限定するものではなく、DBMSの種類によっては、“SYSTIMESTAMP”等、他の表現方法であってもよい。
ステップS604において、プログラム生成装置101は、“AT TIME ZONE”付のSQL文を作成する(例:図11の1110又は図13の1320の対象カラム名=CURRENT_TIMESTAMP AT TIME ZONE タイムゾーン文字列)。すなわち、ステップS604は、データモデル定義に第1の所定の値(タイムゾーン文字列)が設定されている場合に、当該第1の所定の値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築する処理の一例を示すステップである。
なお、本実施形態においては、データベースサーバ103の日付を“CURRENT_TIMESTAMP AT TIME ZONE タイムゾーン文字列”としたが、これに限定するものではなく、DBMSの種類によっては、“SYSTIMESTAMP AT TIME ZONE タイムゾーン文字列”等、他の表現方法であってもよい。ただし、タイムゾーン文字列については、データベースの種類によってその指定方法が異なる場合があるため、加工式801に設定されたタイムゾーン文字列をそのまま利用するとした方が、汎用性が高まるため好ましい。
ステップS605において、プログラム生成装置101は、データモデル定義404の加工式801の“@DBZONEDATE”に“INSERT”が設定されているか判定し、設定されている場合はステップS606に進み、設定されていない場合はステップS607に進む。つまり、“@DBZONEDATE”に“INSERT”が設定されている場合は、レコード挿入時のみこの項目コードに日時が記録される。すなわち、ステップS605は、記憶されているデータモデル定義に第2の所定の値(“INSERT”)が設定されているか否かを判定する処理の一例を示すステップである。また、ステップS605は、判定に従って、データベースのデータを更新するときにタイムゾーンを指定するクエリを用いるアプリケーションを構築するか、データベースのデータを更新するときにタイムゾーンを指定しないクエリを用いるアプリケーションを構築するかを制御する処理の一例を示すステップである。
ステップS606において、プログラム生成装置101は、ステップS505にて取得した入出力定義403のアクション定義に“@INSERT”が定義されているか判定し、設定されている場合はステップS608に進み、設定されていない場合は図6の処理を終了する。つまり、レコード挿入を行うアクション(例;挿入ボタン押下時)によって実行される処理の場合は、INSERT SQL文に日付時刻のSQLを付加すべく、ステップS608に進む。
ステップS607において、プログラム生成装置101は、ステップS505にて取得した入出力定義403のアクション定義に“@INSERT”又は“@UPDATE”が定義されているか判定し、設定されている場合はステップS608に進み、設定されていない場合は図6の処理を終了する。つまり、レコード挿入又はレコード更新を行うアクション(例;挿入ボタン又は更新ボタン押下時)によって実行される処理の場合は、INSERT SQL文又はUPDATE SQL文に日付時刻のSQLを付加すべく、ステップS608に進む。
ステップS608において、プログラム生成装置101は、ステップS603又はステップS604で作成した日付時刻のSQLを処理SQL文に付加する。
以上で、図6の説明を終了する。
図7は、図5・図6の処理により構築されたアプリケーションが日付時刻を更新する処理のフローチャートの一例を示す図である。
ステップS701において、アプリケーションサーバ105は、デプロイしたコンパイル済Java(登録商標)コード413を実行し、生成されたSQL文に“AT TIME ZONE”句が無い且つアプリケーション利用者のHTTPセッションにセッションキー“@TIME_ZONE”として値が設定されているか判定し、Yesの場合はステップS703に進み、Noの場合はステップS702に進む。すなわち、ステップS701は、アプリケーションを利用するユーザのセッションに所定のセッションキーが存在するか否かを判定する処理の一例を示すステップである。
ステップS702において、アプリケーションサーバ105は、図6の処理により生成されたSQL文を実行する。
具体的には、「INSERT押下前画面1010(図10)」でINSERTボタン1011の押下を受け付けた場合、このINSERTボタン1011(=INSERTアクション)に対応付けられて生成された「INSERT SQL文 1110(図11)」が実行されることによって、「INSERT後 DBレコード1120(図11)」がデータベースに登録され、「INSERT押下後画面1020(図10)」のような画面が表示される。
同様に、「UPDATE押下前画面1210(図12)」でUPDATEボタン1211の押下を受け付けた場合、このUPDATEボタン1211(=UPDATEアクション)に対応付けられて生成された「UPDATE SQL文 1320(図13)」が実行されることによって、データベースに記憶されている「UPDATE前 DBレコード1310(図13)」が、「UPDATE後 DBレコード1330(図13)」に更新され、UPDATE押下後画面1220(図12)」のような画面が表示される。つまり、データモデル定義画面800の加工式801に“INSERT”を付けた項目コードについては、レコード更新時に日付は記録されない。
これにより、アプリケーション開発者が定義したデータモデル定義404の加工式801のタイムゾーン文字列に従って、挿入日時又は更新日時を記録することができるようになる。つまり、アプリケーション設計のタイムゾーンに合わせた日時の記録及びその後の日時表示ができるようになる。
ステップS703において、アプリケーションサーバ105は、図6の処理により生成されたSQL文とセッションキー“@TIME_ZONE”の値とを用いて動的にSQL文を生成し実行する。すなわち、ステップS703は、所定のセッションキーが存在する場合、当該セッションキーに対応する値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築する処理の一例を示すステップである。また、ステップS703は、所定のセッションキーが存在する場合、当該セッションキーに対応する値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築する処理の一例を示すステップである。
具体的には、アプリケーション利用者のHTTPセッションに@TIME_ZONE=“America/New_York”と記録されていた場合、図8の加工式801の“タイムゾーン文字列”の指定に関わらず、図6の処理により生成されたSQL文中のタイムゾーン文字列を“America/New_York”に置換して、動的にSQL文を生成し実行する。これにより、アプリケーション開発者が定義したデータモデル定義404の加工式801のタイムゾーン文字列に関わらず、アプリケーション利用者のタイムゾーン文字列に従って、挿入日時又は更新日時を記録することができるようになる。つまり、アプリケーション利用者のタイムゾーンに合わせた日時の記録及びその後の日時表示ができるようになる。
以上で、図7の説明を終了する。
以上により、これにより、複数のタイムゾーンを使い分けるアプリケーションを構築する仕組みを提供することができる。仕組みを提供することができる。また、データベースの1つのテーブルにおいても、複数のタイムゾーンを使い分けるアプリケーションを構築する仕組みを提供することができる。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 プログラム生成装置
102 プログラム生成サーバ
103 データベースサーバ
104 アプリケーションクライアント
105 アプリケーションサーバ
106 Webサーバ
107 ネットワーク

Claims (5)

  1. データベースに接続するアプリケーションを構築する情報処理装置であって、
    前記データベースのデータの操作に用いるデータモデルの定義を記憶するデータモデル記憶手段と
    前記データモデル記憶手段に記憶されているデータモデル定義に第1の所定の値が設定されている場合に、当該第1の所定の値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築するアプリケーション構築手段と
    を備えることを特徴とする情報処理装置。
  2. 前記データモデル記憶手段に記憶されているデータモデル定義に第2の所定の値が設定されているか否かを判定する第1判定手段を更に備え、
    前記アプリケーション構築手段は、
    前記第1判定手段の判定に従って、データベースのデータを更新するときにタイムゾーンを指定するクエリを用いるアプリケーションを構築するか、データベースのデータを更新するときにタイムゾーンを指定しないクエリを用いるアプリケーションを構築するかを制御すること
    を特徴とする請求項1に記載の情報処理装置。
  3. 前記アプリケーションを利用するユーザのセッションに所定のセッションキーが存在するか否かを判定する第2判定手段を更に備え、
    前記アプリケーション構築手段は、
    前記第2判定手段により所定のセッションキーが存在する場合、当該セッションキーに対応する値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築すること
    を特徴とする請求項1または2に記載の情報処理装置。
  4. データベースのデータの操作に用いるデータモデルの定義を記憶するデータモデル記憶手段を備え、前記データベースに接続するアプリケーションを構築する情報処理装置における処理方法であって、
    前記情報処理装置が、
    前記データモデル記憶手段に記憶されているデータモデル定義に第1の所定の値が設定されている場合に、当該第1の所定の値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築するアプリケーション構築ステップを実行することを特徴とする処理方法。
  5. データベースのデータの操作に用いるデータモデルの定義を記憶するデータモデル記憶手段を備え、前記データベースに接続するアプリケーションを構築する情報処理装置で実行可能なプログラムであって、
    前記情報処理装置を、
    前記データモデル記憶手段に記憶されているデータモデル定義に第1の所定の値が設定されている場合に、当該第1の所定の値に応じたタイムゾーンを指定するクエリを用いてデータベースのデータを操作するアプリケーションを構築するアプリケーション構築手段として機能させるためのプログラム。
JP2017178522A 2017-09-19 2017-09-19 情報処理装置と、その処理方法及びプログラム Active JP7053983B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017178522A JP7053983B2 (ja) 2017-09-19 2017-09-19 情報処理装置と、その処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017178522A JP7053983B2 (ja) 2017-09-19 2017-09-19 情報処理装置と、その処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019053637A JP2019053637A (ja) 2019-04-04
JP7053983B2 true JP7053983B2 (ja) 2022-04-13

Family

ID=66014955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017178522A Active JP7053983B2 (ja) 2017-09-19 2017-09-19 情報処理装置と、その処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7053983B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014512611A (ja) 2011-04-06 2014-05-22 メディア ダイレクト,インコーポレイティド モバイルアプリケーション開発及び展開プラットフォームにおけるシステムと方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014512611A (ja) 2011-04-06 2014-05-22 メディア ダイレクト,インコーポレイティド モバイルアプリケーション開発及び展開プラットフォームにおけるシステムと方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一志 達也,中上級ユーザー限定?! Oracle9i虎の穴,DB Magazine,日本,株式会社翔泳社,2003年08月01日,2003年 8月号,pp.216-220

Also Published As

Publication number Publication date
JP2019053637A (ja) 2019-04-04

Similar Documents

Publication Publication Date Title
JP7014960B2 (ja) 情報処理装置、サーバ、その処理方法及びプログラム
JP7053983B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP6836077B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP6795767B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP6635104B2 (ja) 情報処理装置、その処理方法及びプログラム
JP2012133567A (ja) 情報処理装置、情報処理装置の制御方法、プログラム。
JP7315817B2 (ja) 情報処理装置及びその制御方法、プログラム
JP7231823B2 (ja) プログラム、情報処理システム及びその制御方法
JP7210093B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP7048912B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP6700559B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP6756967B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP7227468B2 (ja) プログラム、情報処理システムとその制御方法装置及びプログラム処理方法
JP6331307B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6652724B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP7060788B2 (ja) 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム
WO2023162260A1 (ja) 環境構築支援装置、システム及び方法、並びに、コンピュータ可読媒体
JP2000330852A (ja) 検索システムおよび記録媒体
JP2018101237A (ja) プログラム生成装置、その処理方法及びプログラム
JP2019197280A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6361770B2 (ja) 情報処理装置とその処理方法及びプログラム
JP2020107020A (ja) プログラム、情報処理装置及び処理方法
JP2021170199A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2022178985A (ja) 情報処理装置、制御方法、プログラム
JP2015162137A (ja) 情報処理システムとその処理方法及びプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180703

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181031

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R151 Written notification of patent or utility model registration

Ref document number: 7053983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151