JP2015170198A - データ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システム - Google Patents

データ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システム Download PDF

Info

Publication number
JP2015170198A
JP2015170198A JP2014045377A JP2014045377A JP2015170198A JP 2015170198 A JP2015170198 A JP 2015170198A JP 2014045377 A JP2014045377 A JP 2014045377A JP 2014045377 A JP2014045377 A JP 2014045377A JP 2015170198 A JP2015170198 A JP 2015170198A
Authority
JP
Japan
Prior art keywords
database
syntax
program
data processing
access
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.)
Granted
Application number
JP2014045377A
Other languages
English (en)
Other versions
JP6244991B2 (ja
Inventor
阿部 哲也
Tetsuya Abe
哲也 阿部
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2014045377A priority Critical patent/JP6244991B2/ja
Publication of JP2015170198A publication Critical patent/JP2015170198A/ja
Application granted granted Critical
Publication of JP6244991B2 publication Critical patent/JP6244991B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】 効率的に更新可能なデータ処理プログラムを提供する。
【解決手段】 本発明は、データベースへのアクセスを伴うプログラムを実行するデータ処理装置に関する。そして、本発明のデータ処理装置は、データベースにアクセスする構文を保持する構文データ保持手段と、構文データ保持手段から構文を読込んで管理し、要求に応じて管理している構文に基づくデータベースへのアクセス実行を行うデータベースアクセス手段と、データベースアクセス手段を介したデータベースへのアクセスを伴うプログラムの実行を行うプログラム実行手段とを有し、構文データ保持手段に保持される構文が、データベースの構成と、プログラム実行手段の構成との差分を吸収する内容となっていることを特徴とする。
【選択図】 図1

Description

本発明は、データ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システムに関し、例えば、データベース(以下、「DB」とも表す)にアクセスするデータベースクライアントアプリケーション(以下、「DBクライアントAPL」とも呼ぶ)に適用し得る。
従来、プログラム開発を行うメーカでは、プログラムにより提供するサービスが類似する複数のシステム開発を行う際、各顧客要件に対応して細かいカスタマイズを行い、各顧客向けのファイルパッケージを作成する場合がある。
具体的には、例えば、特許文献1の記載技術のように、データベースとDBクライアントAPLを利用するシステムについても、プログラム開発企業は、DBクライアントAPL側のプログラム(DBアクセス機能実装部)、及びデータベース自体について、顧客要件毎に開発を行う場合がある。特許文献1には、プログラムソースにデータベースを操作するためのSQL(Structured Query Language)構文を埋め込んでシステム構成することについて記載されている。プログラムソースにデータベースを操作するためのSQL構文を埋め込んだ場合、例えば、図9のようなコードとなる。図9では、「加入者契約情報取得IF()」という名前のサブプログラムにおいて、データベースにアクセスする関数(図9では「SQL実行()」という関数)に、引数としてSQL構文が代入された文字列(図9では「sql_string」という文字列)を与えて実行(図9では「SQL実行(sql_string);」というステップにより実行)するコードとなっている。
プログラムを開発するメーカとしては、第1の顧客向けのソースファイルと、第2の顧客向けのソースファイルを分けて管理し、それぞれメンテナンスすることは、開発工数が増大するため、ソースファイルは共通化(=一本化)されていることが理想的である。
例えば、第1の顧客、第2の顧客共に、同じ機能の追加が発生した場合や、両方のファイルバージョンに共通する不具合を対処する場合など、ソースファイルが複数存在すると、フィードバック作業、ファイル化作業等が発生する。仮に、プログラム開発メーカがソースファイルを一本化し、例えば、通信事業者Aにのみ機能追加が発生した場合、ファイルバージョン1.1に機能を追加し、ファイルバージョン1.2として、第1の顧客向けに提供すると、通常第2の顧客向けに提供した機能も実装されることになる。
特許公開平10−161914号公報
しかしながら、提供するサービスが類似する複数のシステム(複数の顧客)について、共通的なDBクライアントAPLを利用してデータベースシステムを開発する場合、その導入の際に、顧客によっては、利用しない余計な機能が実装されたり、利用しない機能を実装するためにサービス停止(例えば、DBサーバの停止)を伴う作業が発生する等の問題が生じる場合がある。
そのため、効率的に更新可能なデータ処理プログラムを利用したデータ処理装置、データベースシステム、及び通信システムが望まれている。
第1の本発明のデータ処理装置は、(1)データベースにアクセスする構文を保持する構文データ保持手段と、(2)上記構文データ保持手段から構文を読込んで管理し、要求に応じて管理している構文に基づく上記データベースへのアクセス実行を行うデータベースアクセス手段と、(3)上記データベースアクセス手段を介した上記データベースへのアクセスを伴うプログラムの実行を行うプログラム実行手段と、(4)上記構文データ保持手段に保持される構文が、上記データベースの構成と、上記プログラム実行手段の構成との差分を吸収する内容となっていることを特徴とする。
第2の本発明のデータ処理プログラムは、コンピュータを、(1)データベースにアクセスする構文を保持する構文データ保持手段と、(2)上記構文データ保持手段から構文を読込んで管理し、要求に応じて管理している構文に基づく上記データベースへのアクセス実行を行うデータベースアクセス手段と、(3)上記データベースアクセス手段を介した上記データベースへのアクセスを伴うプログラムの実行を行うプログラム実行手段として機能させ、(4)上記構文データ保持手段に保持される構文が、上記データベースの構成と、上記プログラム実行手段の構成との差分を吸収する内容となっていることを特徴とする。
第3の本発明は、データ処理装置が行うデータ処理方法において、(1)構文データ保持手段、データベースアクセス手段、及びプログラム実行手段を備え、(2)上記構文データ保持手段は、データベースにアクセスする構文を保持し、(3)上記データベースアクセス手段は、上記構文データ保持手段から構文を読込んで管理し、要求に応じて管理している構文に基づく上記データベースへのアクセス実行を行い、(4)上記プログラム実行手段は、上記データベースアクセス手段を介した上記データベースへのアクセスを伴うプログラムの実行を行い、(5)上記構文データ保持手段に保持される構文が、上記データベースの構成と、上記プログラム実行手段の構成との差分を吸収する内容となっていることを特徴とする。
第4の本発明は、データベースと、上記データベースにアクセスしてプログラムの実行を行うデータ処理装置とを備えるデータベースシステムにおいて、上記データ処理装置として第1の本発明のデータ処理装置を適用したことを特徴とするデータベースシステム。
第5の本発明は、複数の通信装置と、データベースと、上記データベースにアクセスして上記通信装置に通信サービスを提供するデータ処理装置とを備える通信システムにおいて、上記データ処理装置として、第1の本発明のデータ処理装置を適用したことを特徴とする通信システム。
本発明によれば、効率的に更新可能なデータ処理プログラムを提供することができる。
実施形態に係るデータベースシステムの動作について示した説明図(通信事業者A向けのファイルバージョン1.1)について示した説明図である。 実施形態に係るデータベースシステムを適用した通信システムの全体公正について示したブロック図である。 実施形態に係るデータベースの構成例について示した説明図である。 実施形態に係るAPLプログラムの機能的構成の例について示したブロック図である。 実施形態に係るDBアクセスライブラリプログラムが保持するアクセスライブラリの構成について示した説明図である。 実施形態に係るDBアクセスライブラリプログラムの基本的な動作について示したフローチャートである。 実施形態に係るデータベースシステムの動作について示した説明図(通信事業者A向けのファイルバージョン1.0)について示した説明図である。 実施形態に係るデータベースシステムの動作について示した説明図(通信事業者B向けのファイルバージョン1.1)について示した説明図である。 従来のDBクライアントで、ソースコードにSQL構文を埋め込んだ場合の例である。
(A)主たる実施形態
以下、本発明によるデータ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システムの一実施形態を、図面を参照しながら詳述する。なお、以下では、本発明のデータ処理装置をデータベースクライアントに適用する例について説明する。
(A−1)実施形態の構成
図2は、この実施形態の通信システム1の全体構成を示すブロック図である。
通信システム1には、データベースシステム10を有している。そして、データベースシステム10は、DBサーバ2、及びDBクライアント3を有している。
データベースシステム10は、ネットワークNに接続する端末4(通信装置)に対して、DBサーバ2のデータを利用したアプリケーションの提供を行うシステムである。
DBサーバ2は、データベース21を有し、データベース21のデータをDBクライアント3に提供するものである。
DBクライアント3は、APLプログラム31(アプリケーションプログラム)に従ってデータベース21にアクセスし、データベース21のデータを利用して端末4に対してアプリケーションサービスを提供するものである。DBクライアント3としては、例えば、ネットワーク接続可能なコンピュータ(プログラムの実施構成)に実施形態のデータ処理プログラムを含むプログラムをインストールすることにより構成されるものであるものとする。
通信システム1の用途は限定されないものであるが、ここでは、ネットワークNは通信事業者のネットワーク(例えば、種々のIPネットワーク)であり、DBサーバ2、DBクライアント3がネットワークNに接続する加入者の端末4に対して、通信サービス(例えば、SIPを利用した各種音声通信サービス)を提供するものとして説明する。
具体的には、ここでは、DBサーバ2は、各加入者(各端末4)のサービス契約状況を示す情報(以下、「加入者契約情報」と呼ぶ)を管理するためのシステムであるものとして説明する。そして、DBクライアント3は、データベース21の加入者契約情報等を読込み、そのデータに基づいて端末4に対して各種通信サービス(例えば、SIPを利用した各種音声通信サービス)を提供する装置(例えば、呼制御装置等の通信制御装置)であるものとして説明する。
また、DBサーバ2及びDBクライアント3は、複数の通信事業者向けにカスタマイズやバージョンアップが可能な構成となっているものとする。この実施形態では、DBサーバ2及びDBクライアント3について、第1の通信事業者Aと、第2の通信事業者B向けにカスタマイズする例について説明する。また、DBサーバ2及びDBクライアント3上のデータ構成やプログラム(ソースコード)は、バージョンアップ(更新)される場合もあり得るものとする。
なお、以下では、この当初のデータベースシステム10を構成するAPLプログラム31のソースプログラム(ソースプログラムファイル)のバージョン(以下、「ファイルバージョン」と呼ぶ)を「ファイルバージョン」と呼ぶものとする。この実施形態では、まず、最初のAPLプログラム31(以下、この当初のAPLプログラム31を「ファイルバージョン1.0」と表すものとする)が、通信事業者A向けのデータベースシステム10に導入されたものとする。そして、その後、バージョン1.0のAPLプログラム31を更新(バージョンアップ)すると同時に、その更新されたAPLプログラム31を通信事業者B向けにカスタマイズする開発も行われたものとする。以下では、この更新後の通信事業者A及びB向けのAPLプログラム31を「ファイルバージョン1.1」と表すものとする。
まず、DBサーバ2を構成するデータベース21の内部構成について説明する。
図3は、DBサーバ2を構成するデータベース21の構成例について示した説明図である。
図3(a)は通信事業者A向けのデータベース21の構成例(各加入者の加入者契約情報を構成する項目の例)であり、図3(b)は通信事業者B向けのデータベース21の構成例(各加入者の加入者契約情報を構成する項目の例)である。なお、この実施形態では、説明を簡易にするため各加入者の加入者契約情報について、各加入者の契約者名、電話番号、及び各サービスの契約状況に係る項目についてのみ抜き出した構成を例として説明する。
なお、通信事業者A向けのDBサーバ2(データベース21)の構成自体については、バージョン1.0とバージョン1.1で変更はないものとして説明する。
図3(a)に示すように通信事業者Aの加入者契約情報は、「留守番電話契約」、「不在転送契約」、「キャッチフォン契約」の3種類のサービスに関する契約の有無(「あり」、又は「なし」)を示す項目で構成されている。
図3(b)に示すように通信事業者Bの加入者契約情報は、「留守番電話契約」、「不在転送契約」、「キャッチフォン契約」、「三者通話契約」、「迷惑着信お断り契約」の5種類のサービスに関する契約の有無(「あり」、又は「なし」)を示す項目で構成されている。
すなわち、通信事業者B向けでは、「三者通話契約」、及び「迷惑着信お断り契約」2つの項目(カラム)について、加入者契約情報を構成するカラムが通信事業者Aと比較して追加設定されているものとする。すなわち、この実施形態では、ファイルバージョン1.1がリリースされた時点で、「三者通話」、及び「迷惑着信お断り」の通信サービスについては通信事業者Aでは提供していないが、通信事業者Bでは提供しているものとする。
図4は、DBクライアント3を構成するAPLプログラム31の機能的構成例について示した説明図である。図4(a)は通信事業者A向けのファイルバージョン1.0のAPLプログラム31の構成例であり、図4(b)は通信事業者A及びB向けのファイルバージョン1.1のAPLプログラム31の構成例である。
図4に示すように、APLプログラム31は、サービスレイヤプログラム32及び共通部レイヤプログラム33を有する。
サービスレイヤプログラム32は、主として、端末4に対して通信サービス(例えば、IP電話サービス等)を提供するプログラム実行手段として機能するものである。ただし、サービスレイヤプログラム32は、図4に示すように、各通信サービスの機能に対応する処理部に加えて、自装置や端末4を保守するためのコマンド制御処理部321、自装置がIP交換局として必要とする局データ管理処理部322、及び収容加入者(各端末4)の契約情報を管理するための加入者管理処理部323なども実装しているものとする。
図4(a)に示すようにファイルバージョン1.0のサービスレイヤプログラム32は、通信サービスに係る処理部(プログラム)として、留守番電話処理部324、不在転送処理部325、及びキャッチフォン処理部326を有している。
これに対して、図4(b)に示すように、ファイルバージョン1・1のサービスレイヤプログラム32は、通信サービスに係る処理部(プログラム)として、留守番電話処理部324、不在転送処理部325、キャッチフォン処理部326、迷惑着信お断り処理部327、及び三者通話処理部328を有している。
すなわち、ファイルバージョン1.0のサービスレイヤプログラム32は、迷惑着信お断り処理部327及び三者通話処理部328を有していないが、ファイルバージョン1.1のサービスレイヤプログラム32は、迷惑着信お断り処理部327及び三者通話処理部328を有している。
共通部レイヤプログラム33は、上位APL、すなわち、サービスレイヤプログラム32が利用する各機能に係るライブラリが実装されている。サービスレイヤプログラム32には、少なくとも、DBサーバ2(データベース21)にアクセスするためのDBアクセスライブラリプログラム331が含まれているものとする。ただし、この実施形態では、サービスレイヤプログラム32には、端末4と通信する際の通信制御機能を定義した端末信号制御ライブラリ332等も含まれるものとして説明する。
次に、DBアクセスライブラリプログラム331の内部構成の例について説明する。
図5は、DBアクセスライブラリプログラム331の構成を概念的に示した説明図である。
DBアクセスライブラリプログラム331は、起動時に、SQL構文が識別子(以下、「タグID」と呼ぶ)と対応付けて定義されたコンフィグファイルFを読込んで、ライブラリとしてメモリ上に展開してアクセスライブラリ331aを構成する。このように、DBアクセスライブラリプログラム331は、コンフィグファイルF(構文データ)を保持する構文データ保持手段と、メモリ(アクセスライブラリ331a)上に展開したSQL構文を実行してデータベース21にアクセスするデータベースアクセス手段として機能する。
この実施形態において、ファイルバージョン1.1のAPLプログラム31(プログラムのソースコードの内容自体)は、通信事業者AとBで同じ構成のものが適用されるものとするが、通信事業者A向けのAPLプログラム31と、通信事業者B向けのAPLプログラム31とでは、読み込まれるコンフィグファイルFの内容が異なっているものとする。DBクライアント3において、コンフィグファイルFの格納領域は限定されないものであり、外部から通信によりダウンロードして取得する構成としてもよい。
なお、通信事業者AとBで、ファイルバージョン1.1のAPLプログラム31(プログラムのソースコードの内容自体)として全く同じ内容のものをリリースするようにしてもよいが、一部に改変を加えるようにしてもよいことは当然である。ただし、ファイルバージョン1.1のAPLプログラム31(プログラムのソースコードの内容自体)において、少なくとも、DBアクセスライブラリプログラム331については、通信事業者AとBでまったく同じソースプログラムが適用されることが望ましい。
コンフィグファイルFは、例えば、図5に示すように、タグID(1、2、3、…)と、当該タグIDに対応するSQL構文のテキストデータを交互に配置したファイルとしてもよい。なお、1つのタグIDに対応するSQL構文は複数のSQLコマンドを用いて構成されていてもよい。
以下では、アクセスライブラリ331aを構成する各SQL構文をSQL構文Cと呼ぶものとする。また、タグIDが1、2、3、…のSQL構文Cを、それぞれC1、C2、C3、…と表すものとする。APLプログラム31では、このタグIDが各プログラム上のタグとして機能するものとして説明する。
アクセスライブラリ331aにおけるSQL構文Cの保持形式(メモリ上での記憶の形式やメモリ上での配列パターン)については限定されないものであり、各DBアクセスライブラリプログラム331から、タグIDに基づいて対応するSQL構文Cが呼び出す(読込む)ことができる構成であればよい。
DBアクセスライブラリプログラム331が、コンフィグファイルFを読込んでアクセスライブラリ331aの構成(又は、再構成)を行うタイミングは限定されないものであり、例えば、プロセスの起動時としてもよいし、プログラム又はユーザ操作(例えば、コンフィグファイルの再読み込みを行うコマンドの実行)により再読み込みを実行することによりシステム運用中に読み込みも可能としてもよい。
DBアクセスライブラリプログラム331(アクセスライブラリ331a)は、サービスレイヤプログラム32の各サービス(処理部)用のインタフェースを実装し、サービスレイヤプログラム32の各サービス(処理部)に公開される。
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態の通信システム1の動作(実施形態のデータ処理方法)を説明する。
以下では、DBクライアント3のAPLプログラム31(DBアクセスライブラリプログラム331)が、DBサーバ2にアクセスする際の動作を中心に説明する。
(A−2−1)DBアクセスライブラリプログラムの基本動作
まず、DBアクセスライブラリプログラム331が、サービスレイヤプログラム32の要求に応じてSQL構文の実行(DBサーバ2からのデータ取得)を行う基本動作について、図6のフローチャートを用いて説明する。
DBアクセスライブラリプログラム331(サービスレイヤプログラム32の各サービス(各処理部)向けに実装された機能インタフェース)は、サービス機能(処理部)からの要求に対応したSQL構文を、アクセスライブラリ331a(メモリ上)から検索し(S101)、SQL構文を取得し、サービス機能から渡されたパラメータ(つまり、検索/更新時の条件パラメータ)を設定して(S102)、DBサーバ2にトランザクション要求(クエリ)を送信する(S103)。
そして、DBアクセスライブラリプログラム331は、そのトランザクション要求(クエリ)の結果(検索結果)をDBサーバ2から取得(DBサーバ2からの応答を取得)して(S104)、要求元(サービスレイヤプログラム32)に返答する(S105)。
DBアクセスライブラリプログラム331は、以上のような動作でサービスレイヤプログラム32からの要求に基づき、DBサーバ2にアクセスする。
(A−2−2)通信事業者A向けのシステム(ファイルバージョン1.0)の動作
次に、通信事業者A向けのファイルバージョン1.0のAPLプログラム31の動作につい図7のシーケンス図を用いて説明する。
まず、DBクライアント3において、DBアクセスライブラリプログラム331が起動(プロセスが起動)し、コンフィグファイルFが読み込まれたものとする(S201)。
次に、DBアクセスライブラリプログラム331が、メモリ上に、コンフィグファイルFに含まれる各SQL構文Cを展開して、アクセスライブラリ331aを構成する(S202)。
ここでは、図7に示すようにタグIDが1〜6の6個のSQL構文C1〜C6がアクセスライブラリ331aに展開されたものとする。
ここでは、図7に示すようにタグIDが2のSQL構文C2の内容が、「SELECT 契約者名、電話番号、留守番電話契約、不在転送契約、キャッチフォン契約 FROM 加入者契約情報」というSQL構文となっている。これは、なお、データベース21上の「加入者契約情報」という名称のデータベースから、全ての加入者について「契約者名、電話番号、留守番電話契約、不在転送契約、キャッチフォン契約」の項目のデータを取得するためのSQL構文である。
その後、サービスレイヤプログラム32のいずれかの処理部で、加入者契約情報の取得要求が発生し、DBアクセスライブラリプログラム331に、その要求があったものとする(S203)。
具体的には、例えば、サービスレイヤプログラム32の加入者管理処理部323で、DBアクセスライブラリプログラム331に加入者契約情報取得を要求するインタフェースの関数が実行(例えば、「加入者契約情報取得IF();」というソースコードに従った関数の実行)されたものとする。
そして、DBアクセスライブラリプログラム331は、その要求に基づいて、タグIDが2のSQL構文C2を取得する(S204)。なお、ここでは、DBアクセスライブラリプログラム331において、加入者契約情報の取得要求(加入者契約情報取得を要求するインタフェースの関数)に対応するタグIDとして、「2」が定義されているものとする。なお、サービスレイヤプログラム32とDBアクセスライブラリプログラム331との間のインタフェース(プログラムインタフェース)の詳細については限定されないものであり、種々の構成を適用することができる。
そして、DBアクセスライブラリプログラム331により、DBサーバ2へ取得したSQL構文に基づくトランザクション要求(クエリ)が送信され(S205)、DBサーバ2によりその結果(加入者契約情報)が返答されたものとする(S206)。
そして、DBアクセスライブラリプログラム331は、返答された加入者契約情報を、要求元(サービスレイヤプログラム32)に返答する(S207)。
その際、DBアクセスライブラリプログラム331が処理する加入者契約情報は、データ構造体の形式で表すと、図7に示すように「契約者名、電話番号、留守番電話契約、不在転送契約、キャッチフォン契約」の項目で構成されるデータ構造体となる。
以上のように、通信事業者A向けのバージョン1.0のAPLプログラム31では、加入者契約情報表のカラム構成上の項目は、留守番電話、不在転送、キャッチフォンの3種類となっており、SQL構文及び、プログラム上のデータ構造体についても、この3種類の情報を取得、設定可能な実装がなされている。
(A−2−3)通信事業者B向けのシステム(バージョン1.1)の動作
次に、通信事業者B向けのバージョン1.1のAPLプログラム31の動作につい図8のシーケンス図を用いて説明する。
図8に示す各ステップS301〜S307の動作は、ファイルバージョン1.0の動作(上述のステップS201〜S207)の動作とほぼ同様である。したがって、以下では、ファイルバージョン1.1のAPLプログラム31の動作について、ファイルバージョン1.0の動作との差異のみを説明する。
ファイルバージョン1.1のAPLプログラム31を構成するサービスレイヤプログラム32では、図4(b)に示すように、迷惑着信お断り処理部327及び三者通話処理部328が追加されている。また、それにともなって、通信事業者B向けのバージョン1.1のAPLプログラム31では、読込むコンフィグファイルFの内容(一部のSQL構文Cの内容)も更新(迷惑着信お断り処理部327及び三者通話処理部328に関する構成の追加)が成されている。
具体的には、当該APLプログラム31では、加入者契約情報の取得要求に対応するSQL構文C2(タグIDが2のSQL構文)の内容が、「SELECT 契約者名、電話番号、留守番電話契約、不在転送契約、キャッチフォン契約 三者通話契約、迷惑着信お断り契約FROM 加入者契約情報」という内容になっている。すなわち、ファイルバージョン1.1のAPLプログラム31では、加入者契約情報の取得要求に対応するSQL構文C2に、追加された通信サービスに係る情報「三者通話契約、迷惑着信お断り契約」が追加されている。
(A−2−4)通信事業者A向けのシステム(バージョン1.1)の動作
次に、通信事業者A向けのバージョン1.1のAPLプログラム31の動作につい図1のシーケンス図を用いて説明する。
図1に示す各ステップS401〜S407の動作は、ファイルバージョン1.0の動作(上述のステップS201〜S207)の動作とほぼ同様である。したがって、以下では、通信事業者A向けのファイルバージョン1.1のAPLプログラム31の動作について、ファイルバージョン1.0の動作との差異のみを説明する。
ただし、通信事業者A向けのバージョン1.1のAPLプログラム31では、DBアクセスライブラリプログラム331自体の構成は、通信事業者B向けのAPLプログラム31と同じとなる(ソースプログラムが同じであるため)。したがって、通信事業者A向けのバージョン1.1のAPLプログラム31では、サービスレイヤプログラム32向けのインタフェースで用いるデータ構造体(加入者契約情報の取得要求に対して返答する際のデータ構造体)の構造自体には、通信事業者Aの通信システム1では実装されていない(データベース21上にデータが存在しない)「三者通話」及び、「迷惑着信お断り」の項目が含まれている。
ただし、通信事業者A向けのバージョン1.1のAPLプログラム31では、加入者契約情報の取得要求に対応するSQL構文C2(タグIDが2のSQL構文)の内容が、「SELECT 契約者名、電話番号、留守番電話契約、不在転送契約、キャッチフォン契約、”契約なし”、”契約なし”FROM 加入者契約情報」という内容を設定し、データベース21の構成との差異(ギャップ)を吸収することができる。このSQL構文C2では、通信事業者B向けのSQL構文で「三者通話契約、迷惑着信お断り契約」となっていた部分について、定数(所定のデフォルト値、所定の固定データ)として「契約なし」を取得するように記述している。これにより、通信事業者A向けのバージョン1.1のAPLプログラム31では、データベース21上にデータが存在しない「留守番電話契約、不在転送契約」の2つの通信サービスに係る契約情報(カラム)にアクセスせずに、一律に「契約なし」という定数を取得することができる。
この時、コンフィグファイルFの、加入者契約情報を読み出すSQL構文が、通信事業者A向け、つまり、三者通話と迷惑着信お断りの契約についてSELECTしない、もしくは、「契約なし」(「非契約」)をデフォルト値としてSELECTするような構文が書かれていれば、サービスレイヤの機能部プログラムにおいても、顧客要件に対して動作を制限するような、プログラムの改修を必要とせずに済む。上述のような例を、具体的なSQL構文で表すと以下のような内容となる。
例えば、通信事業者B向けのファイルバージョン1.1(APLプログラム31)において、加入者契約情報の取得要求に対応するSQL構文C2(タグIDが2のSQL構文)の内容は「SELECT 留守番電話契約,不在転送契約,キャッチフォン契約,三者通話契約,迷惑着信お断り契約 FROM 加入者契約情報」となる。これに、対して、通信事業者A向けのファイルバージョン1.1(APLプログラム31)において、加入者契約情報の取得要求に対応するSQL構文C2は、「SELECT 留守番電話契約,不在転送契約,キャッチフォン契約,”契約なし”,”契約なし”FROM 加入者契約情報」という内容に置き換えることができる。これは、つまり、実行するSQL文上で「契約なし」という定数(デフォルト値)を返却する動作となり、DB上に三者通話契約や、迷惑着信お断り契約のカラムが存在しなくても問題(例えば、データベース21へのアクセス上のエラー等)は発生しない。
このように、コンフィグファイルFに記述される各SQL構文Cの内容は、データベース21の構成(カラム構成や表構成)と、サービスレイヤプログラム32の構成との差分を吸収する内容となっている。具体的には、コンフィグファイルFに記述される各SQL構文Cのうち、サービスレイヤプログラム32に搭載されている処理部(機能)であって、データベース21に存在しない処理部(機能)に係るカラムのデータ取得については、データベース21にアクセスせずに定数を取得するように記述されているものとする。
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
DBクライアント3のAPLプログラム31では、コンフィグファイルFに記述される各SQL構文Cの内容は、データベース21の構成(カラム構成や表構成)と、サービスレイヤプログラム32の構成との差分を吸収する内容となっている。その結果、DBアクセスライブラリ内プログラムではSQL構文をコンフィグファイルFから読み込むことにより、通信事業者Aと通信事業者Bに提供するDBアクセスライブラリのプログラム、すなわち、ソースファイルは同一のものとなり、バージョンアップ(更新)や開発を行う工数を抑制することができる。一方、この実施形態のようなSQL構文の処理を採用しない従来のDBクライアントAPLを適用したデータベースシステムでは、通信事業者A向けと通信事業者B向けに異なるDBアクセスライブラリプログラムを開発する必要があるため、バージョンアップ(更新)に必要な工数がその分増大することになる。
また、上述の例で、ファイルバージョン1.1から、通信事業者Aへの機能追加により、さらにファイルバージョン1.2が作成され、提供された場合を想定する。例えば、APLプログラム31開始時に、DBサーバ2から、DBクライアント3が収容する加入者(端末4)の情報をダウンロード(加入者契約情報取得要求による取得)すると、取得した加入者契約情報の中には、通信事業者Bで提供される「三者通話」と「迷惑着信お断り」の契約有無に対する処理が動作するはずであるが、実際には、通信事業者A向けのデータベース21には、これら2つの通信サービスの契約に対するカラムは存在しないはずである。具体的には、例えば、通信事業者B向けのファイルバージョン1.1(APLプログラム31)において、加入者契約情報の取得要求に対応するSQL構文C2(タグIDが2のSQL構文)の内容は、上述の通り「SELECT 留守番電話契約,不在転送契約,キャッチフォン契約,三者通話契約,迷惑着信お断り契約 FROM 加入者契約情報」となる。これに対して、通信事業者A向けのファイルバージョン1.2(APLプログラム31)においても、加入者契約情報の取得要求に対応するSQL構文C2を上述と同様に、「SELECT 留守番電話契約,不在転送契約,キャッチフォン契約,”契約なし”,”契約なし”FROM 加入者契約情報」とする。この場合、DBアクセスライブラリプログラム331が実行するSQL構文上で「契約なし」という定数を返却する動作となり、データベース21に「三者通話契約」や、「迷惑着信お断り契約」のカラムが存在しなくても問題は発生しない。
このように、APLプログラム31では、更新に伴って、誤動作させたくない機能(プログラム)や利用しない機能(プログラム)に係るパラメータについて、DBアクセスライブラリプログラム331が実行するSQL構文上で「契約なし」という定数(所定のデフォルト値)を返却する動作を行うことにより、複数のシステム(複数の顧客)で共通的なソースコードを用いた開発やバージョンアップを行った場合でも、DBサーバ2(データベース21)の構成変更(カラム追加等の変更)を行わずに、誤動作発生(例えば、バグの発生)のおそれを抑制することができる。
仮に、この実施形態のようなSQL構文の処理を採用しないDBクライアントAPLを適用したデータベースシステムで、同様の更新(バージョンアップ)を行おうとした場合を想定する。この場合、運用中のDBサーバの構成変更作業(表構成をカラム追加等により変更する作業)が発生するが、運用中システムを停止後に実施する必要があり、サービス中断に発展する。すなわち、DBクライアントAPLが共通化されたことにより、当該顧客が必要としない機能を実装するために、DBサーバを停止した作業の実施は(未使用機能が、既存システムに悪影響がないことを担保したとしても)、当該顧客の承諾を得る事は難しいと考えられる。また、DBサーバの構成変更作業は、運用中システムを停止後に実施する必要があり、サービス中断に発展するが、この実施形態のデータベースシステム10では上述のような問題の発生を抑制することができる。
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B−1)上記の実施形態では、顧客毎に異なるデータベースの表構成(上記例では、加入者契約情報のカラム構成)の差分を吸収するSQL構文について説明したが、表自体の差分について吸収するSQL構文をコンフィグファイルに設定するようにしてもよい。例えば、DBサーバ2(データベース21)に表自体が存在しない機能(他の顧客のシステムでは利用されている機能)が、APLプログラム31に追加された場合、当該機能に係るSQL構文として、「SELECT 定数,定数,定数,定数,定数・・・ FROM DUAL」という内容を適用するようにしてもよい。これは、実体を持たない架空の表(ORACLE(登録商標)データベースの場合は、DUALという表名)から、必要なカラム数分の定数を取得する定義であり、差分となる表を構成するカラムを全て、SQL構文上で定数定義をすれば良いことを示している。
1…通信システム、10…データベースシステム、2…DBサーバ、21…データベース、3…DBクライアント、31…APLプログラム、32…サービスレイヤプログラム、321…コマンド制御処理部、322…局データ管理処理部、323…加入者管理処理部、324…留守番電話処理部、325…不在転送処理部、326…キャッチフォン処理部、327…迷惑着信お断り処理部、328…三者通話処理部、33…共通部レイヤプログラム、331…DBアクセスライブラリプログラム、331a…アクセスライブラリ、332…端末信号制御ライブラリ、4…端末、C…SQL構文、F…コンフィグファイル。

Claims (6)

  1. データベースにアクセスする構文を保持する構文データ保持手段と、
    上記構文データ保持手段から構文を読込んで管理し、要求に応じて管理している構文に基づく上記データベースへのアクセス実行を行うデータベースアクセス手段と、
    上記データベースアクセス手段を介した上記データベースへのアクセスを伴うプログラムの実行を行うプログラム実行手段と、
    上記構文データ保持手段に保持される構文が、上記データベースの構成と、上記プログラム実行手段の構成との差分を吸収する内容となっていること
    を特徴とするデータ処理装置。
  2. 上記構文データ保持手段に保持される構文のうち、上記プログラム実行手段に搭載されている機能であって、上記データベース上に存在しない機能に係るカラムのデータ取得については、上記データベースにアクセスせずに所定データを取得するように記述されていることを特徴とする請求項1に記載のデータ処理装置。
  3. コンピュータを、
    データベースにアクセスする構文を保持する構文データ保持手段と、
    上記構文データ保持手段から構文を読込んで管理し、要求に応じて管理している構文に基づく上記データベースへのアクセス実行を行うデータベースアクセス手段と、
    上記データベースアクセス手段を介した上記データベースへのアクセスを伴うプログラムの実行を行うプログラム実行手段として機能させ、
    上記構文データ保持手段に保持される構文が、上記データベースの構成と、上記プログラム実行手段の構成との差分を吸収する内容となっていること
    を特徴とするデータ処理プログラム。
  4. データ処理装置が行うデータ処理方法において、
    構文データ保持手段、データベースアクセス手段、及びプログラム実行手段を備え、
    上記構文データ保持手段は、データベースにアクセスする構文を保持し、
    上記データベースアクセス手段は、上記構文データ保持手段から構文を読込んで管理し、要求に応じて管理している構文に基づく上記データベースへのアクセス実行を行い、
    上記プログラム実行手段は、上記データベースアクセス手段を介した上記データベースへのアクセスを伴うプログラムの実行を行い、
    上記構文データ保持手段に保持される構文が、上記データベースの構成と、上記プログラム実行手段の構成との差分を吸収する内容となっていること
    を特徴とするデータ処理方法。
  5. データベースと、上記データベースにアクセスしてプログラムの実行を行うデータ処理装置とを備えるデータベースシステムにおいて、上記データ処理装置として請求項1又は2に記載のデータ処理装置を適用したことを特徴とするデータベースシステム。
  6. 複数の通信装置と、データベースと、上記データベースにアクセスして上記通信装置に通信サービスを提供するデータ処理装置とを備える通信システムにおいて、
    上記データ処理装置として、請求項1又は2に記載のデータ処理装置を適用したことを特徴とする通信システム。
JP2014045377A 2014-03-07 2014-03-07 データ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システム Active JP6244991B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014045377A JP6244991B2 (ja) 2014-03-07 2014-03-07 データ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014045377A JP6244991B2 (ja) 2014-03-07 2014-03-07 データ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システム

Publications (2)

Publication Number Publication Date
JP2015170198A true JP2015170198A (ja) 2015-09-28
JP6244991B2 JP6244991B2 (ja) 2017-12-13

Family

ID=54202859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014045377A Active JP6244991B2 (ja) 2014-03-07 2014-03-07 データ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システム

Country Status (1)

Country Link
JP (1) JP6244991B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1125100A (ja) * 1997-06-27 1999-01-29 Internatl Business Mach Corp <Ibm> データベース・アクセス・システム
JP2000259461A (ja) * 1999-03-08 2000-09-22 Mitsubishi Electric Systemware Corp データ結合方式及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002132555A (ja) * 2000-10-19 2002-05-10 Nec Corp データベースアクセス方式,方法,および記録媒体
JP2002324078A (ja) * 2001-04-24 2002-11-08 Sharp Corp データベース操作装置、データベース操作方法、およびデータベースを操作するためのプログラム
JP2012216023A (ja) * 2011-03-31 2012-11-08 Toshiba Corp 通信装置、通信プログラム、及び通信システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1125100A (ja) * 1997-06-27 1999-01-29 Internatl Business Mach Corp <Ibm> データベース・アクセス・システム
US6212513B1 (en) * 1997-06-27 2001-04-03 International Business Machines Corporation Database access system
JP2000259461A (ja) * 1999-03-08 2000-09-22 Mitsubishi Electric Systemware Corp データ結合方式及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002132555A (ja) * 2000-10-19 2002-05-10 Nec Corp データベースアクセス方式,方法,および記録媒体
JP2002324078A (ja) * 2001-04-24 2002-11-08 Sharp Corp データベース操作装置、データベース操作方法、およびデータベースを操作するためのプログラム
JP2012216023A (ja) * 2011-03-31 2012-11-08 Toshiba Corp 通信装置、通信プログラム、及び通信システム

Also Published As

Publication number Publication date
JP6244991B2 (ja) 2017-12-13

Similar Documents

Publication Publication Date Title
CN106951233B (zh) 混合模式智能手机应用开发框架系统
CN107515776B (zh) 业务不间断升级方法、待升级节点和可读存储介质
EP2825973B1 (en) Network resource deployment for cloud-based services
CN106537338B (zh) 自扩展云
US10452372B2 (en) Method and deployment module for managing a container to be deployed on a software platform
JP6217034B2 (ja) 関連プラグインの管理方法、装置およびシステム
US20180324051A1 (en) User interface for automated flows within a cloud based developmental platform
KR101481900B1 (ko) 다운로드가능한 플러그가능 서비스
US20180321833A1 (en) User interface for automated flows within a cloud based developmental platform
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US20150067167A1 (en) Hot pluggable extensions for access management system
JP2008507775A (ja) ソフトウェアアプリケーションリポジトリ内のアプリケーションメタ情報の抽出と作成のためのシステムおよび方法
CN107665302B (zh) 一种Android应用多开实现方法、移动终端及存储介质
US20180052671A1 (en) System and method to control hybrid deployment of an application
CN114168179A (zh) 微服务管理方法、装置、计算机设备和存储介质
US20170270031A1 (en) Information processing apparatus, test execution method, and computer-readable recording medium
US7962922B2 (en) Delivering callbacks into secure application areas
JP6244991B2 (ja) データ処理装置、データ処理プログラム、データ処理方法、データベースシステム、及び通信システム
JP6781126B2 (ja) 仮想マシン設定投入システム、仮想マシン設定投入方法、及びプログラム
CN113672334A (zh) 一种容器管理方法及装置
CN113760481A (zh) 一种分布式定时任务调度系统和方法
CN108804236B (zh) 一种aidl文件的共享方法及系统
CN105786532A (zh) 一种基于Web Service的版本更新方法
US11474845B2 (en) System and method for versioned script management
US20220150086A1 (en) Mass-Notification System and Method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171006

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: 20171017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R150 Certificate of patent or registration of utility model

Ref document number: 6244991

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150