以下に本発明の各実施形態について図面を参照して説明する。
[第1実施形態]
図1には、本発明の第1実施形態のサイト提供システム10およびその構築支援システム60の全体構成が示されている。図2および図3には、サイト提供システム10によるサービス提供に関する処理の流れがフローチャートで示されている。図4には、構築支援システム60によるサイト構築支援に関する処理の流れがフローチャートで示されている。
図1において、サイト提供システム10は、ネットワーク1を介して接続される様々なデバイスの顧客端末70,80,90等に対し、各種のサービス業務を行うウェブサイトを提供するシステムである。例えば、証券会社等の金融機関が運営・管理するサイト提供システム10の場合には、顧客の保有する株式・債券・投資信託等の各種の有価証券や預金の残高を表示するサービス、買付余力を表示するサービス、取引残高報告書を表示するサービス、金融商品の売買注文を受け付けるサービス、入出金を受け付けるサービス等である。なお、本願明細書でサービスというときは、サイト全体で提供される包括的な概念のサービスではなく、ウェブ画面上での顧客の操作(クリックやタッチによる選択操作、入力操作等)により実行される各々の業務処理を指すものとする。
ネットワーク1は、主としてインターネットにより構成され、このインターネットに、例えばイントラネットやローカル・エリア・ネットワーク(LAN)等の各種の通信網が接続されて構成されている。
サイト提供システム10は、1台または複数台のコンピュータにより構成され、本実施形態では、一例として、ウェブサーバおよびアプリケーションサーバの機能を有するWEB/APサーバ20と、セッション管理サーバ40と、データベースサーバ50とを備えて構成されている。なお、サイト提供システム10を構成するサーバ(コンピュータ)の台数は任意であり、例えば、ウェブサーバとアプリケーションサーバとを異なるコンピュータで構成してもよく、逆に、セッション管理サーバ40やデータベースサーバ50を、WEB/APサーバ20と同じコンピュータにより構成してもよい。
WEB/APサーバ20は、1台または複数台のコンピュータにより構成され、ログイン処理手段21と、業務共通処理手段22と、業務処理手段23と、画面表示共通処理手段24と、画面表示処理手段25と、顧客情報記憶手段30と、画面定義ファイル記憶手段31と、画面ファイル記憶手段32とを含んで構成されている。
ログイン処理手段21は、顧客端末70等からの要求に応じてログイン画面を送信し、顧客端末70等からネットワーク1を介して送信されてくる顧客のログイン情報(画面の種別を示す情報を含む。)を受信し、受信したログイン情報を用いて顧客端末70等の画面の種別を判定し、判定した画面の種別を示す画面判定区分を、セッションIDと関連付けてセッション管理サーバ40のセッション情報記憶手段42(画面判定区分記憶手段を含む。)に記憶させる処理を実行するものである。
具体的には、ログイン処理手段21は、顧客端末70等からネットワーク1を介して送信されてくるログイン画面の表示要求信号を受信し、受信した表示要求信号に対応するログイン画面(PCログイン画面、RWDログイン画面、またはその他のデバイス用のログイン画面)のファイルを画面ファイル記憶手段32から取得し、そのログイン画面の表示用データを、ネットワーク1を介して要求元の顧客端末70等へ送信する処理を実行する。
また、ログイン処理手段21は、ログイン画面が表示されている顧客端末70等からネットワーク1を介して送信されてくるログイン情報(顧客識別情報、ログインパスワードに加え、画面の種別を示す情報を含む。)を受信し、受信した顧客識別情報およびログインパスワードと、顧客情報記憶手段30に記憶された顧客識別情報およびログインパスワードとを比較して顧客のログイン認証処理を実行し、認証された場合には、受信したログイン情報に含まれる画面の種別(PC画面、RWD画面、またはその他のデバイス用の画面の別)を示す情報を用いて要求元の顧客端末70等の画面の種別を判定し、判定結果として得られた画面判定区分を、認証された顧客についての顧客名や口座情報等(顧客情報記憶手段30に記憶されているデータ)とともに、セッション管理サーバ40へ渡す処理を実行する。
さらに、ログイン処理手段21は、ログイン認証後に、要求元の顧客端末70等の画面の種別に応じたトップ画面(PCトップ画面、RWDトップ画面、またはその他のデバイス用のトップ画面)のファイルを、画面ファイル記憶手段32から取得し、そのトップ画面の表示用データ(顧客情報記憶手段30から取得した顧客名等が含まれていてもよい。)を、ネットワーク1を介して要求元の顧客端末70等へ送信する処理を実行する。
業務共通処理手段22は、顧客端末70等からネットワーク1を介して送信されてくる画面表示要求信号(次の画面のURL、セッションIDおよびアプリケーションIDを含む。)を受信し、受信した画面表示要求信号に含まれるセッションIDに関連付けられてセッション情報記憶手段42(画面判定区分記憶手段を含む。)に記憶された画面判定区分を、セッション管理サーバ40から取得し、取得した画面判定区分に対応する画面定義ファイルを、画面定義ファイル記憶手段31から読み込むことにより、受信した画面表示要求信号に含まれるアプリケーションID(aid)に関連付けられた画面ファイル(JSP)のパス、画面表示アプリの識別情報(class)、および状態(code)を取得する処理を、複数種類のサービスの全ての業務処理に共通するフレームワークの処理として実行するものである。
また、業務共通処理手段22は、下記の業務処理手段23でデータベースサーバ50のデータベース52から取得したデータ、並びに、画面定義ファイルから取得した正常時または異常時についての画面ファイル(JSP)のパスおよび画面表示アプリの識別情報(class)を、セッションIDとともに、画面表示共通処理手段24に渡す処理を実行する。
業務処理手段23は、業務共通処理手段22により受信した画面表示要求信号に含まれるアプリケーションID(aid)の業務処理アプリケーションにより、要求に係るサービスの業務処理を実行するものである。この業務処理手段23は、要求に係るサービスの業務処理として、そのサービスの提供に必要なデータを、データベースサーバ50のデータベース52から取得する処理を実行する。従って、業務共通処理手段22が複数種類のサービスの全てに共通する処理を実行するのに対し、この業務処理手段23は、個々のサービスの処理を実行するものであり、サービス毎に設けられている。
具体的には、サービスに係る業務処理を実行するプログラムを、一例としてjava(登録商標)で記述する場合には、業務処理手段23は、業務共通処理手段22による業務共通処理を継承する業務処理を実行するプログラム(class)により実現される。従って、業務共通処理手段22を実現するプログラム(class)は、継承元の親クラス(スーパークラス、基底クラス等とも称される。)となる。
画面表示共通処理手段24は、業務共通処理手段22から受け取った画面ファイル(JSP)のパスを用いて、要求に係るサービスで使用する画面ファイル(JSP)を画面ファイル記憶手段32から読み込み、読み込んだ画面ファイル(JSP)を用いて、要求に係るサービスの画面の表示用データ(Webページ)を作成し、作成した画面の表示用データを、ネットワーク1を介して要求元の顧客端末70等へ送信する処理を、複数種類のサービスの全ての画面表示処理に共通するフレームワークの処理として実行するものである。なお、ここで作成されて顧客端末70等へ送信される画面の表示用データ(Webページ)には、その次の画面に遷移するためのボタン(例えば「次へ」ボタン等)が設けられ、このボタンの付帯情報として、その次の画面のURL、セッションIDおよびアプリケーションID(aid)が含まれているので、顧客端末70等で、そのボタン(例えば「次へ」ボタン等)が選択操作(クリック操作等)されると、それらの付帯情報がWEB/APサーバ20へ送信されてくることになる。
画面表示処理手段25は、画面表示共通処理手段24で業務共通処理手段22から受け取った名称(class:画面表示アプリの識別情報)の画面表示アプリケーションにより、業務共通処理手段22から受け取ったデータ(業務処理手段23による業務処理でデータベースサーバ50のデータベース52から取得したデータ)を用いて、画面表示共通処理手段24により読み込んだ画面ファイル(JSP)で作成される画面のうち、要求に係るサービスのデータを用いて表示される動的部分を作成する処理を実行するものである。従って、画面表示共通処理手段24が複数種類のサービスの全てに共通する処理を実行するのに対し、この画面表示処理手段25は、個々のサービスの処理を実行するものであり、サービス毎に設けられている。
具体的には、サービスに係る画面表示処理を実行するプログラムを、一例としてjava(登録商標)で記述する場合には、画面表示処理手段25は、画面表示共通処理手段24による画面表示共通処理を継承する画面表示処理を実行するプログラム(class)により実現される。従って、画面表示共通処理手段24を実現するプログラム(class)は、継承元の親クラスとなる。
顧客情報記憶手段30は、顧客名、顧客識別情報である口座情報(部店コード、口座番号等)、ログインパスワード等を対応付けて記憶するものである。
画面定義ファイル記憶手段31は、画面判定区分に対応して用意されている画面定義ファイルを記憶するものである。この画面定義ファイルは、例えば、XMLで記述されている。画面判定区分=0(PC画面)の場合には、例えば、「zandakaSyokai_0.xml」というファイル名の画面定義ファイルを用意し、画面判定区分=1(RWD画面)の場合には、例えば、「zandakaSyokai_1.xml」というファイル名の画面定義ファイルを用意すること等により、画面判定区分に対応させることができる。その他のデバイスに対応する場合も、別のファイル名の画面定義ファイルを用意することで対応することができる。また、用意する画面定義ファイルの数は、画面判定区分の数と同数としてもよいが、必ずしも同数とする必要はなく、例えば、上記の例のように残高照会という種類のサービスについて、画面判定区分の数と同数の画面定義ファイルを用意する等、サービスの種類毎に用意してもよく、要するに、同じサービスについて画面判定区分に対応させて画面判定区分の数と同数の画面定義ファイルを用意すればよい。
画面定義ファイルには、各サービスに関する個別の業務処理を実行する業務処理アプリケーションソフトを識別するためのアプリケーションID(例えば、主要口座お預り資産を表示する業務処理では、aid=“zan012”等)と関連付けられた状態で、正常時および異常時(タイムエラー、システムエラー等)のそれぞれについての画面ファイル(JSP)のパス(例えば、jsp=“/…/….jsp”)、画面表示アプリの識別情報(class=“…”)、状態(code=“…”)が記述されている。
このうち、画面ファイル(JSP)のパスについては、PC画面用の画面定義ファイルでは、例えば、jsp=“/JSP/inter/zandakaSyokai/AzukariShisanSummary.jsp”となり、RWD画面用の画面定義ファイルでは、例えば、jsp=“/JSP/rwd/zandakaSyokai/AzukariShisanSummary.jsp”となる等、異なるパスが定義されている。この例では、ファイル名は同じだが、画面ファイルを格納するフォルダ名を別の名称にしている。なお、画面表示アプリの識別情報(class)は、PC画面用の画面定義ファイルとRWD画面用の画面定義ファイルとで原則同じ名称とする。
また、状態については、正常時であれば、例えば、code=“AZUKARI_SHISAN_SUMMARY”等となり、異常時であれば、例えば、code=“TIME_ERROR”、code=“SYSTEM_ERROR”等となる。
画面ファイル記憶手段32は、PC画面、RWD画面、その他のデバイス向けの画面のそれぞれについての画面ファイル(JSP)を記憶するものである。この画面ファイルは、各サービスで使用する画面を作成するためのファイルであり、データベース52から取得したデータを用いて表示される動的部分を含む画面を作成するためのコードが記述されている。本実施形態では、一例として、画面ファイルは、WEBページ内にJavaコード(Javaは登録商標)を埋め込んだJSP(JavaServer Pages)とするので、このJavaコードをWEB/APサーバ20上で実行して得られた結果を反映したページを動的に生成することができる。なお、PC画面用の画面ファイル(JSP)と、RWD画面用の画面ファイル(JSP)と、その他のデバイス向けの画面用の画面ファイル(JSP)とは、別のフォルダに格納され、異なるパスを指定して取得できるようになっている。
また、画面ファイル記憶手段32には、PC画面、RWD画面、その他のデバイス向けの画面のそれぞれについてのログイン画面およびトップ画面のファイルも記憶されている。なお、トップ画面もJSPで作成してもよいが、本実施形態では、説明の便宜上、その場合の処理の流れの記載は省略している(図2参照)。
セッション管理サーバ40は、1台または複数台のコンピュータにより構成され、セッション管理手段41と、セッション情報記憶手段42とを含んで構成されている。
セッション管理手段41は、顧客のログイン時に、ログイン認証された顧客についての顧客名や口座情報等、および画面判定区分を、WEB/APサーバ20のログイン処理手段21から受け取り、この顧客からのアクセスに対し、セッションIDを自動付与し、セッション情報記憶手段42に、そのセッションIDを含むセッション情報および画面判定区分を格納する領域を生成して確保し、確保した領域に、顧客名や口座情報等、および画面判定区分を、セッションIDと関連付けて記憶させる処理を実行するものである。
また、セッション管理手段41は、WEB/APサーバ20の業務共通処理手段22からの画面判定区分の問い合わせ信号(セッションIDを伴う。)を受け付け、受け付けたセッションIDに関連付けられた画面判定区分をセッション情報記憶手段42から取得し、取得した画面判定区分を、WEB/APサーバ20の業務共通処理手段22に渡す処理も実行する。
セッション情報記憶手段42は、セッション情報(セッションID、顧客名、口座情報等を含む。)および画面判定区分を対応付けて記憶するものである。従って、このセッション情報記憶手段42には、本発明における画面判定区分記憶手段(請求項に記載された画面判定区分記憶手段)が含まれる。なお、セッション情報(セッションID、顧客名、口座情報等を含む。)とは別に、画面判定区分をセッションIDと関連付けて記憶する画面判定区分記憶手段を設けてもよい。
データベースサーバ50は、1台または複数台のコンピュータにより構成され、データベース管理手段51と、データベース52とを含んで構成されている。
データベース管理手段51は、データベース52を管理し、外部のソフトウェア(ここでは、WEB/APサーバ20の業務処理手段23を構成する業務処理アプリケーション)からの要求に応えてデータベース52の操作処理を実行するものであり、いわゆるデータベース・マネジメント・システム(DBMS)である。
データベース52は、業務処理手段23による各サービスに関する個別の業務処理で使用される各種のデータを記憶するものである。例えば、証券会社等の金融機関のサイトの場合には、データベース52に記憶されるデータは、顧客の保有する株式・債券・投資信託等の各種の有価証券の保有数量データ、顧客の預金残高データ、顧客の買付余力のデータ、取引残高報告書のデータ、売買履歴データ、各種の金融商品の時価データ等である。このうち、各顧客のデータについては、顧客識別情報(例えば、顧客の口座情報等)に関連付けられて記憶され、各種の金融商品に関するデータについては、金融商品の銘柄識別情報(銘柄コード)に関連付けられて記憶されている。
構築支援システム60は、1台または複数台のコンピュータにより構成され、画面定義ファイル読込手段61と、画面ファイル読込手段62と、抽出手段63と、対比結果出力手段64とを含んで構成されている。
画面定義ファイル読込手段61は、完成している既存の種別の画面についての画面定義ファイル(例えばPC画面用の画面定義ファイル)および開発中の種別の画面についての画面定義ファイル(例えばRWD画面用の画面定義ファイル)を読み込む処理を実行するものである。通常は、開発環境下の画面定義ファイル記憶手段31から読み込むが、本番環境下の画面定義ファイル記憶手段31から読み込んでもよく、あるいは画面定義ファイル記憶手段31とは別の格納場所や、サイト提供システム10を構成するコンピュータとは別のコンピュータのハードディスクやUSBメモリ等の記録媒体から読み込んでもよい。
画面ファイル読込手段62は、画面定義ファイル読込手段61により読み込んだ画面定義ファイルから、同一のアプリケーションID(aid)に関連付けられ、かつ、同一の状態(code)で使用される既存の種別の画面(例えば、PC画面)および開発中の種別の画面(例えば、RWD画面)についての画面ファイル(JSP)のパスを取得し、取得したパスを用いて、画面ファイル記憶手段32から、既存の種別および開発中の種別の画面についての各画面ファイル(JSP)を読み込む処理を実行するものである。通常は、開発環境下の画面ファイル記憶手段32から読み込むが、本番環境下の画面ファイル記憶手段32から読み込んでもよい。
抽出手段63は、画面ファイル読込手段62により読み込んだ各画面ファイル(JSP)から、画面の動的部分を記述したコードを抽出する処理を実行するものである。動的部分とは、固定されたコードの部分ではなく、変数(パラメータ)になっている部分であり、例えば、データベース52から取得されたデータの表示部分等である。抽出するのは、動的部分の中心となる変数(パラメータ)だけでもよいが、その周囲のコードも含めて抽出してもよい。
対比結果出力手段64は、抽出手段63により抽出した既存の種別の画面(例えば、PC画面)および開発中の種別の画面(例えば、RWD画面)の動的部分を記述したコードを対比して画面表示および/または印刷する処理、動的部分を記述したコードの差異若しくは過不足を画面表示および/または印刷する処理、動的部分を記述したコードの抽出数を対比して画面表示および/または印刷する処理のうちの少なくとも1つの処理を実行するものである。
顧客端末70は、パーソナル・コンピュータにより構成され、顧客端末80は、スマートフォンやタブレットにより構成され、顧客端末90は、その他のデバイス(例えばウェアラブル端末、音声認識端末、立体画像端末等の新しいデバイスを含む。)により構成されている。いずれのデバイスによる顧客端末70,80,90も、マウスやキーボードや音声認識器等の入力手段と、サイトの構成画面を表示する液晶ディスプレイ等の表示手段とを備えている。また、適宜、印刷装置を備えていてもよい。
以上において、サイト提供システム10のWEB/APサーバ20に設けられた業務共通処理手段22、業務処理手段23、画面表示共通処理手段24、および画面表示処理手段25、セッション管理サーバ40に設けられたセッション管理手段41、データベースサーバ50に設けられたデータベース管理手段51、並びに、構築支援システム60の画面定義ファイル読込手段61、画面ファイル読込手段62、抽出手段63、および対比結果出力手段64は、サイト提供システム10の各サーバ20,40,50や構築支援システム60を構成する各コンピュータ本体の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。
また、サイト提供システム10のWEB/APサーバ20に設けられた顧客情報記憶手段30、画面定義ファイル記憶手段31、および画面ファイル記憶手段32、セッション管理サーバ40に設けられたセッション情報記憶手段42、並びに、データベースサーバ50に設けられたデータベース52は、例えばハードディスク等により好適に実現されるが、記憶容量やアクセス速度等に問題が生じない範囲であれば、例えばフラッシュ・メモリ等の他の記録媒体を採用してもよい。
このような第1実施形態においては、以下のようにしてサイト提供システム10により、顧客へのサービス提供に関する各種処理が実行される。
図2において、先ず、WEB/APサーバ20で、ログイン処理手段21により、顧客端末70等からネットワーク1を介して送信されてくる顧客のログイン画面の表示要求信号を受信すると、その表示要求信号が、パーソナル・コンピュータ用のPCログイン画面(例えば、http://…/login.htmlというURL)の表示要求信号である場合には、画面ファイル記憶手段32に記憶されているPCログイン画面のファイルを取得し、PCログイン画面の表示用データを、ネットワーク1を介して要求元の顧客端末(通常は、PCがデバイスである顧客端末70となる。)へ送信する(ステップS1)。また、受信した表示要求信号が、スマートフォンやタブレットにも対応可能なRWDログイン画面(例えば、http://…/login_r.htmlというURL)の表示要求信号である場合には、画面ファイル記憶手段32に記憶されているRWDログイン画面のファイルを取得し、RWDログイン画面の表示用データを、ネットワーク1を介して要求元の顧客端末(通常は、スマートフォンやタブレットがデバイスである顧客端末80となる。)へ送信する(ステップS1)。
なお、PCの顧客端末70で検索を行った場合には、通常は、PCログイン画面(例えば、http://…/login.htmlというURL)がヒットし、スマートフォンやタブレットの顧客端末80で検索を行った場合には、通常は、RWDログイン画面(例えば、http://…/login_r.htmlというURL)がヒットするようになっている。従って、例えば、RWDログイン画面のURLを記憶しておき、それをPCで打ち込んで表示させるといった特殊な操作を行わない限り、アクセス元のデバイスに対応したログイン画面が表示される。
また、ここでは、主としてPCの顧客端末70、およびスマートフォン/タブレットの顧客端末80からのアクセスがあるものとして説明を行うが、本実施形態のサイト提供システム10へのアクセスを行うデバイスの種別は、これらに限定されるものではない。従って、例えばウェアラブル端末や音声認識端末等、新しいデバイスが世の中に登場し、それに対して、新しいデバイス向けのログイン画面が用意され、新しいサイトが用意された場合には、その新しいデバイス向けのログイン画面の表示用データを、ネットワーク1を介して要求元の新しいデバイスの顧客端末90へ送信することになる。
続いて、ログイン処理手段21により、ログイン画面が表示されている顧客端末70等からネットワーク1を介して送信されてくるログイン情報(顧客識別情報、ログインパスワードに加え、画面の種別を示す情報を含む。)を受信し、受信した顧客識別情報およびログインパスワードと、顧客情報記憶手段30に記憶された顧客識別情報およびログインパスワードとを比較して顧客のログイン認証処理を実行する(ステップS1)。なお、顧客識別情報は、証券会社等の金融機関のサイトである場合には、例えば、顧客の口座情報(部店コード、口座番号等)である。
さらに、アクセスした顧客が認証された場合には、ログイン処理手段21により、受信したログイン情報に含まれる画面の種別を示す情報を用いて要求元の顧客端末70等の画面の種別を判定し、画面判定区分を決定する(ステップS1)。例えば、画面の種別を示す情報が、PC画面を示す情報(例えばroot=pc)である場合(PCログイン画面からのログインである場合)には、画面判定区分=0とし、RWD画面を示す情報(例えばroot=rwd)である場合(RWDログイン画面からのログインである場合)には、画面判定区分=1とする。なお、本実施形態では、画面判定区分は、0,1のような数値情報であるが、提供するサイトの数(画面の種別の数)が2つの場合には、フラグのように、ON、OFFとしてもよく、本願明細書でいう画面判定区分は、画面判定フラグを含む概念である。
そして、ログイン処理手段21により、得られた画面判定区分を、認証された顧客についての顧客名や口座情報等(顧客情報記憶手段30に記憶されているデータ)とともに、セッション管理サーバ40へ渡す(ステップS1)。
セッション管理サーバ40では、セッション管理手段41により、認証された顧客についての顧客名や口座情報等、および画面判定区分を、WEB/APサーバ20のログイン処理手段21から受け取り、この顧客からのアクセスに対し、セッションIDを自動付与し、セッション情報記憶手段42に、そのセッションIDを含むセッション情報および画面判定区分を格納する領域を生成して確保し、確保した領域に、顧客名や口座情報等、および画面判定区分を、セッションIDと関連付けて記憶させる(ステップS1)。
次に、ログイン処理手段21により、要求元の顧客端末70等の画面の種別に応じたトップ画面のファイルを、画面ファイル記憶手段32から取得し、そのファイルを用いてトップ画面の表示用データを作成し、作成したトップ画面の表示用データを、ネットワーク1を介して要求元の顧客端末70等へ送信する(ステップS2)。例えば、PCログイン画面からのログインがあった場合には、PCトップ画面を送信し、RWDログイン画面からのログインがあった場合には、RWDトップ画面を送信し、その他のデバイス向けのログイン画面からのログインがあった場合には、その他のデバイス向けのトップ画面を送信する。この際、要求元の顧客端末70等に送信するトップ画面の表示用データには、次画面のURL、業務処理アプリケーションを識別するアプリケーションID、およびセッションIDが含まれている。また、トップ画面の表示用データには、顧客情報記憶手段30から取得した顧客名等が含まれていてもよい。なお、トップ画面についても、以下に述べるように、その次の画面以降の画面と同様に、動的部分を含む画面を作成するための画面ファイル(JSP)を用いて作成してもよいが、ここでは、説明の便宜上、その場合の処理の流れの記載は省略している。
図3において、業務共通処理手段22により、顧客端末70等からネットワーク1を介して送信されてくる画面表示要求信号(次の画面のURL、セッションIDおよびアプリケーションIDを含む。)を受信する(ステップS3)。
続いて、業務共通処理手段22により、顧客端末70等から受信した画面表示要求信号に含まれるセッションIDをセッション管理サーバ40に渡す(ステップS3)。セッション管理サーバ40では、セッション管理手段41により、WEB/APサーバ20の業務共通処理手段22からの画面判定区分の問い合わせ信号(セッションIDを伴う。)を受け付け、受け付けたセッションIDに関連付けられた画面判定区分をセッション情報記憶手段42から取得し、取得した画面判定区分を、WEB/APサーバ20の業務共通処理手段22に渡す(ステップS3)。
WEB/APサーバ20では、業務共通処理手段22により、画面判定区分を受け取ると、その画面判定区分に対応する画面定義ファイルを、画面定義ファイル記憶手段31から読み込む。例えば、画面判定区分=0の場合には、PC画面用の画面定義ファイルを読み込み、画面判定区分=1の場合には、RWD画面用の画面定義ファイルを読み込む。なお、この読込は、画面判定区分=0の場合に読み込むべきPC画面用の画面定義ファイルの識別情報(名称)、および画面判定区分=1の場合に読み込むべきRWD画面用の画面定義ファイルの識別情報(名称)が、業務共通処理手段22を構成するフレームワーク(java(登録商標)の場合には親クラス)に記述されていることにより実現される。そして、読み込んだ画面定義ファイルの中から、受信した画面表示要求信号に含まれるアプリケーションID(aid)に関連付けられた画面ファイル(JSP)のパス、画面表示アプリの識別情報(class)、および状態(code)を取得する(ステップS3)。従って、ここで取得する画面ファイル(JSP)のパスは、画面判定区分=0の場合には、PC画面用の画面ファイル(JSP)のパスであり、画面判定区分=1の場合には、RWD画面用の画面ファイル(JSP)のパスである。
それから、業務処理手段23により、業務共通処理手段22で受信した画面表示要求信号に含まれるアプリケーションID(aid)の業務処理アプリケーションにより、要求に係るサービスの業務処理を実行する。すなわち、業務処理手段23により、要求に係るサービスの提供に必要なデータを、データベースサーバ50のデータベース52から取得する(ステップS4)。なお、このステップS4のデータ取得処理は、前述したステップS3の画面定義ファイルの読み込み処理の前に実行してもよい。
その後、業務処理手段23でデータベースサーバ50のデータベース52から取得したデータ、並びに、画面定義ファイルから取得した正常時または異常時についての画面ファイル(JSP)のパスおよび画面表示アプリの識別情報(class)を、セッションIDとともに、業務共通処理手段22から画面表示共通処理手段24へ渡す(ステップS5)。具体的には、データベース52から取得したデータとして、例えば、顧客の残高データであれば「ZANDAKA,1000000」、法人フラグであれば「HOJIN_FLG,1」等のデータを渡す。また、画面定義ファイルから取得した画面情報として、例えば、正常時について定義された情報であれば「NORMAL,class=“…”,jsp=“/…/….jsp”」、異常時について定義された情報であれば「TIME_ERROR,class=“…”,jsp=“/…/….jsp”」、「SYSTEM_ERROR,class=“…”,jsp=“/…/….jsp”」等の画面情報を渡す。
続いて、画面表示共通処理手段24により、業務共通処理手段22から受け取った画面ファイル(JSP)のパスを用いて、要求に係るサービスで使用する画面ファイル(JSP)を画面ファイル記憶手段32から読み込む(ステップS5)。
さらに、画面表示処理手段25により、画面表示共通処理手段24で業務共通処理手段22から受け取った名称(class:画面表示アプリの識別情報)の画面表示アプリにより、業務共通処理手段22から受け取ったデータ(業務処理手段23による業務処理で得られたデータ)を用いて、画面表示共通処理手段24により読み込んだ画面ファイル(JSP)で作成される画面のうち、要求に係るサービスのデータを用いて表示される動的部分を作成する(ステップS6)。例えば、業務共通処理手段22から、「ZANDAKA,1000000」という残高データを受け取ったとすれば「1,000,000円」という動的部分を作成し、「HOJIN_FLG,1」という法人フラグのデータを受け取ったとすれば「“法人”」という動的部分を作成する。
そして、画面表示共通処理手段24により、読み込んだ画面ファイル(JSP)を用いて、画面表示処理手段25で作成された画面の動的部分も含め、要求に係るサービスの画面の表示用データ(Webページ)を作成し、作成した画面の表示用データを、ネットワーク1を介して要求元の顧客端末70等へ送信する(ステップS7)。この際、顧客端末70等へ送信される画面の表示用データ(Webページ)には、その次の画面に遷移するための情報として、その次の画面のURL、セッションIDおよびアプリケーションID(aid)が含まれている。
なお、以上のステップS3〜S7の処理は、各サービスの提供を受けるための顧客端末70等からの画面表示要求がある都度に繰り返される。
また、第1実施形態においては、以下のようにして構築支援システム60により、サイト提供システム10の構築支援に関する各種処理が実行される。
図4において、先ず、画面定義ファイル読込手段61により、完成している既存の種別の画面についての画面定義ファイル(例えばPC画面用の画面定義ファイル)および開発中の種別の画面についての画面定義ファイル(例えばRWD画面用の画面定義ファイル)を読み込む(ステップS11)。この際、通常は、開発環境下の画面定義ファイル記憶手段31から読み込むが、本番環境下の画面定義ファイル記憶手段31から読み込んでもよく、あるいは画面定義ファイル記憶手段31以外の保存場所(例えば、開発者のコンピュータ等)から読み込んでもよい。
次に、画面ファイル読込手段62により、読み込んだ各画面定義ファイルから、同一のアプリケーションID(aid)に関連付けられ、かつ、同一の状態(code)で使用される既存の種別の画面(例えば、PC画面)および開発中の種別の画面(例えば、RWD画面)についての画面ファイル(JSP)のパスを取得する(ステップS12)。通常、各画面定義ファイルには、多くのパスが定義されているので、対になるパスを全て取得する。なお、開発漏れ等があれば、対になるべきパスの一方が存在しない場合もあるが、その場合も、以下では、説明の便宜上、対になるパスと呼ぶものとする。
続いて、画面ファイル読込手段62により、取得したパスを用いて、画面ファイル記憶手段32から、既存の種別の画面(例えば、PC画面)および開発中の種別の画面(例えば、RWD画面)についての各画面ファイル(JSP)を読み込む(ステップS13)。この際、通常は、開発環境下の画面ファイル記憶手段32から読み込むが、本番環境下の画面ファイル記憶手段32から読み込んでもよい。
なお、サイトの規模(画面ファイルの個数)にもよるが、通常は、ステップS12において、各画面定義ファイルから、多くの対になるパスが取得されることになる。この際、ステップS13以降の処理(画面ファイルの読込、動的部分の抽出、結果の出力)を行うにあたり、対になるパスを1対ずつ処理していってもよく(対の数だけ画面ファイルの読込、動的部分の抽出、結果の出力という順序の処理を繰り返す。)、幾つかの対になるパス(複数対のパス)をまとめて処理してもよく(まとめられた集合の数だけ画面ファイルの読込、動的部分の抽出、結果の出力という順序の処理を繰り返す。)、対になるパスの全てをまとめて処理してもよい。
それから、抽出手段63により、読み込んだ各画面ファイル(JSP)から、画面の動的部分を記述したコードを抽出する(ステップS14)。より具体的には、データベース52から取得されたデータ(例えば残高等)の表示部分等のように、変数(パラメータ)になっている部分のコード(例えば“ZANDAKA”等)を抽出する。
そして、対比結果出力手段64により、抽出した既存の種別の画面(例えば、PC画面)および開発中の種別の画面(例えば、RWD画面)の動的部分を記述したコードを対比した結果を出力(画面表示や印刷)する(ステップS15)。
対比結果の出力の態様は任意であり、例えば、次のような出力の態様がある。なお、出力の態様を使用者(システム開発者)が選択できるようにしてもよい。
第1の出力の態様では、抽出した動的部分を記述したコードを、そのままコードの状態で、図4に示すように、左右に並べる等して対比して出力する。同一のアプリケーションID(aid)および同一の状態(code)に関連付けられたパスを用いて、対応する各画面ファイル(JSP)を読み込んでいるので、図4の例では、アプリケーションID(aid)および状態(code)を表示した後に、対応する各画面ファイル(JSP)からそれぞれ抽出した画面の動的部分を記述したコードを、左右に並べて配置し、出力(画面表示や印刷)している。従って、開発中の種別の画面(例えば、RWD画面)について、開発漏れがあれば、開発中の種別の画面側が空欄になるか、対応するコードが存在しない旨を示す文字や記号等が出力される。一方、開発中の種別の画面(例えば、RWD画面)について、余分な動的部分が含まれていれば、既存の種別の画面(例えば、PC画面)側が空欄になるか、対応するコードが存在しない旨を示す文字や記号等が出力される。
第2の出力の態様では、双方の画面の動的部分を記述したコードについて、差異若しくは過不足がある場合に、その差異若しくは過不足があるところだけを、左右に並べる等して対比して出力する。従って、第1の出力の態様では、差異や過不足がなくても、対応する動的部分のコードを出力するが、第2の出力の態様では、差異若しくは過不足がある場合にのみ、対応する動的部分のコードを出力する。この際、対応するコードが無い場合は、空欄にするか、対応するコードが存在しない旨を示す文字や記号等を出力するのは、第1の出力の態様と同様である。
第3の出力の態様では、抽出した動的部分を記述したコードそのものを出力するのではなく、抽出数を対比して出力する。例えば、既存の種別の画面(例えば、PC画面)には、動的部分が100箇所あり、開発中の種別の画面(例えば、RWD画面)には、動的部分が98箇所ある等の数値情報を出力する。この際、細かい単位(例えばサービスの細目)で区切って抽出数の対比出力を行ってもよく、全サービスをトータルして抽出数の対比出力を行ってもよい。なお、抽出数の対比出力だけでは、前者のように細かい単位で区切って抽出数の対比出力を行わないと、どこに過不足があるのかを直ぐに特定することは困難であるが、画面開発の全体的な進捗を確認することは容易になる。例えば、画面開発をほぼ終えた段階では、双方の抽出数は、ほぼ同数になるが、既存の種別の画面(例えば、PC画面)には、動的部分が100箇所あり、開発中の種別の画面(例えば、RWD画面)には、動的部分が60箇所ある等と出力されれば、6割程度の進捗であることがわかる。
このような第1実施形態によれば、次のような効果がある。すなわち、サイト提供システム10では、各サービスの提供に必要な画面についての画面ファイルのパスが画面定義ファイルに記述され、この画面定義ファイルからの画面ファイルのパスの取得が、業務共通処理手段22によるフレームワークの処理として行われる。従って、既存サイトを継続して提供することを前提として、別のデバイス向けに新サイトを提供する際には、別のデバイス用の画面定義ファイルおよび画面ファイルを新たに作成して用意する必要があるが、処理の内容としては、業務処理手段23により実行される各サービスの個々の業務処理については変更する必要がなく、業務共通処理手段22によるフレームワークの処理に、増やす画面判定区分(追加する別のデバイス用の画面の種別を示す画面判定区分)に対応する別のデバイス用の画面定義ファイルを読み込む分岐を増やす変更を行えばよい。
例えば、PC画面による既存サイトが稼働しているときに、これと並行稼働するRWD画面による新サイトを提供する場合には、ログイン手段21による画面の種別の判定処理において、RWD画面を示す画面判定区分についての分岐を増やし、RWDログイン画面、RWDトップ画面、およびその他のRWD画面についての画面ファイルを新たに作成するとともに、RWD画面用の画面定義ファイルを新たに作成する。そして、業務共通処理手段22を構成するフレームワーク(java(登録商標)の場合には、親クラス)に、セッション情報記憶手段42に記憶された画面判定区分がRWD画面を示す画面判定区分(例えば、画面判定区分=1)だった場合に読み込むべきRWD画面用の画面定義ファイルの識別情報(名称)についての記述を追加する。一方、業務処理手段23を構成する各サービスの個々の業務処理アプリケーション(java(登録商標)の場合には、子クラス)には変更を加える必要はない。また、画面表示共通処理手段24を構成するフレームワーク(java(登録商標)の場合には、親クラス)および画面表示処理手段25を構成する画面表示アプリケーション(java(登録商標)の場合には、子クラス)にも変更を加える必要はない。従って、サイトを追加する際の修正範囲は、複数種類のサービスの全てで共通利用されるフレームワークに限定される。
このため、開発範囲の狭小化を図ることができ、開発作業を容易化することができるので、開発期間の短縮、開発コストの低減を実現することができる。
また、サイトを追加する際に、フレームワークの処理以外の個々の処理を実行するサーバアプリケーション、すなわち業務処理手段23を構成する業務処理アプリおよび画面表示処理手段25を構成する画面表示アプリを修正せずに対応することができるので、サーバアプリの開発において、新たなバグが埋め込まれてしまう可能性を少なくすることができ、ビジネスリスクを減少させることができる。
さらに、サイトの追加が容易になるので、既存の画面(例えばPC画面)によるサイトと、別の画面(例えばRWD画面)によるサイトとの並行稼働を容易に実現することができるため、別のデバイス向けの画面(例えばスマートフォンやタブレットにも対応可能なRWD画面)によるサイトの設置が必要になり、あるいは別のデバイスが主流になった場合でも、サービス提供の場を新設のサイト(例えばRWDサイト)に完全に置き換えてしまうのではなく、既存サイト(例えばPCサイト)の利用者へのサービス提供を継続することができる。このため、例えば、顧客端末70が、RWD画面に対応できない古いバージョンのWebブラウザを搭載しているPCである場合等にも対応することができる。
また、複数のサイトの並行稼働を容易に実現することができるため、システム障害発生時の代替手段を確保することもできる。
そして、今後、未だ世の中に存在しないか、普及していない新しいタイプのデバイス(例えばウェアラブル端末、音声認識端末、立体画像端末等)が開発され、その新しいタイプのデバイス向けの画面によるサイトを提供する必要性が生じた場合でも、現存しているか、現在普及している別のデバイス向けの画面によるサイトを追加する場合と同様に、開発の対応範囲が限定的なものとなるので、その新しいタイプのデバイス向けの画面によるサイトを容易に追加することができる。例えば、PCの顧客端末70を操作する顧客、およびスマートフォン/タブレットの顧客端末80を操作する顧客の双方へのサービス提供を実現するために、PC画面によるサイトと、RWD画面によるサイトとを並行稼働させているときに、さらにウェアラブル端末等の新機種の顧客端末90を操作する顧客へのサービス提供を開始することになった場合でも、その新機種向けの画面によるサイトを容易に追加することができる。
また、追加するサイトで使用される画面(例えばRWD画面)の開発は、既存の画面(例えばPC画面)の情報を利用して行うことができるので、画面開発においてバグが埋め込まれてしまう可能性も極力排除することができる。
さらに、異なるデバイス向けの複数のサイト(例えば、PCサイトおよびRWDサイト)を同時期に新設する場合にも、各デバイス用の画面定義ファイルおよび画面ファイルをそれぞれ新たに作成して用意する必要はあるが、処理の内容としては、業務処理手段23により実行される各サービスの個々の業務処理において各サイトへの分岐処理を設ける必要はなく、業務共通処理手段22によるフレームワークの処理に、各デバイス用の画面の種別を示す画面判定区分に対応する各デバイス用の画面定義ファイル(例えば、PC画面用の画面定義ファイルおよびRWD画面用の画面定義ファイル)を読み込む分岐処理を設ければよい。このため、複数のサイト(例えば、PCサイトおよびRWDサイト)を同時期に構築することも容易に行うことができる。
そして、以上のように、サイト提供システム10は、サイトの追加を容易に行うことができる構成とされているので、並行稼働している複数のサイトのうち、一部のサイトを閉鎖することも容易に行うことができる。すなわち、画面の種別の判定処理における分岐や、画面判定区分に対応する画面定義ファイルの読込処理における分岐を減らすだけでよい。なお、余分な分岐が存在しても処理に悪影響が出ない場合には、その分岐を削除しなくてもよい。
また、構築支援システム60では、既存の種別の画面(例えばPC画面)および開発中の種別の画面(例えばRWD画面)の動的部分を記述したコードを対比して確認することができるので、画面開発においてバグが埋め込まれてしまう可能性を低減することができる。すなわち、サーバアプリケーションを共通利用して新規画面のサイトを提供する場合には、バグが生じる可能性が高いのは、画面の動的項目の部分であるので、デザイン上の制約がない状態で新規画面(例えばRWD画面)を開発し、その後、既存の種別の画面(例えばPC画面)についての画面ファイルと、開発中の種別の画面(例えばRWD画面)についての画面ファイルとを読み込み、それらから抽出した動的部分を記述したコードを対比して出力し、あるいは差異や過不足、抽出数を出力することで、バグの埋め込みを回避することができる。
また、既存の種別の画面(例えばPC画面)および開発中の種別の画面(例えばRWD画面)についての画面ファイルを読み込む際には、画面定義ファイルに記述されている画面ファイルのパスを取得し、取得したパスを用いて読込処理を行うので、対応する多くの画面ファイルの対比チェックを容易に、かつ短時間で行うことができるため、画面開発の開発効率の向上を図ることができる。そして、画面開発の進捗管理も容易に行うことができる。
さらに、対応する画面ファイルを1対ずつ順番に読み込んで対比して確認する作業を繰り返す場合には、確認作業者が、確認対象の各画面ファイルのパスを把握していて、それを読込対象として毎回入力することになるので、手間がかかるうえ、対応する画面ファイルのパスが、確認作業者にとって記憶しやすく、把握しやすいものになっている必要がある。これに対し、構築支援システム60では、画面定義ファイルに記述されている画面ファイルのパスを利用して自動的に読込処理を行うので、画面ファイルのパスが確認作業者にとって記憶しにくく、把握しにくいものになっていたとしても、容易に画面ファイルの読込処理を行うことができる。
[第2実施形態]
図5には、本発明の第2実施形態のサイト提供システム200およびその構築支援システム260の全体構成が示されている。図6および図7には、サイト提供システム200によるサービス提供に関する処理の流れがフローチャートで示されている。図8には、構築支援システム260によるサイト構築支援に関する処理の流れがフローチャートで示されている。
第2実施形態のサイト提供システム200は、従来方式([発明が解決しようとする課題]で述べた第1、第2の従来方式のいずれでもよい。)で複数のサイトの並行稼働を実現している場合において、さらに別のサイトを追加するときに採用される構成を備え、前記第1実施形態のサイト提供システム10と同様な構成を有する部分も多いので、同様な構成を有する部分については同一の符号を付して詳しい説明を省略し、以下では、異なる構成を有する部分を中心に説明する。
図5において、サイト提供システム200は、ネットワーク1を介して接続される様々なデバイスの顧客端末70,71,80,90等に対し、各種のサービス業務を行うウェブサイトを提供するシステムである。
サイト提供システム200は、1台または複数台のコンピュータにより構成され、本実施形態では、一例として、ウェブサーバおよびアプリケーションサーバの機能を有するWEB/APサーバ220と、セッション管理サーバ40と、データベースサーバ50とを備えて構成されている。なお、サイト提供システム200を構成するサーバ(コンピュータ)の台数は任意であり、例えば、ウェブサーバとアプリケーションサーバとを異なるコンピュータで構成してもよく、逆に、セッション管理サーバ40やデータベースサーバ50を、WEB/APサーバ220と同じコンピュータにより構成してもよい。
WEB/APサーバ220は、1台または複数台のコンピュータにより構成され、ログイン処理手段221と、業務共通処理手段222と、業務処理手段223と、画面表示共通処理手段224と、画面表示処理手段225と、顧客情報記憶手段230と、画面定義ファイル記憶手段231と、画面ファイル記憶手段232とを含んで構成されている。
ログイン処理手段221は、前記第1実施形態のログイン処理手段21と略同様な構成を備え、顧客端末70等からの要求に応じてログイン画面を送信し、顧客端末70等からネットワーク1を介して送信されてくる顧客のログイン情報(画面の種別を示す情報を含む。)を受信し、受信したログイン情報を用いて顧客端末70等の画面の種別を判定し、判定した画面の種別を示す画面判定区分を、セッションIDと関連付けてセッション管理サーバ40のセッション情報記憶手段42(画面判定区分記憶手段を含む。)に記憶させる処理を実行するものである。
前記第1実施形態のログイン処理手段21では、例えば、PCの顧客端末70に表示されたPCログイン画面からのログインがあった場合には、画面判定区分=0をセッション管理サーバ40のセッション情報記憶手段42(画面判定区分記憶手段を含む。)に記憶させ、スマートフォン/タブレットの顧客端末80に表示されたRWDログイン画面からのログインがあった場合には、画面判定区分=1を記憶させ、新デバイスの顧客端末90に表示された新機種ログイン画面からのログインがあった場合には、画面判定区分=2を記憶させる等のように、画面の種別が異なれば、それぞれに異なる画面判定区分を割り当てていたのに対し、本第2実施形態のログイン処理手段221では、従来方式で並行稼働している複数のサイトの構成画面の種別(本願明細書では、特定種別と呼んでいる。)については、同じ画面判定区分を割り当てる点が異なっている。例えば、本第2実施形態のログイン処理手段221は、PC画面によるサイトと携帯画面によるサイトとが従来方式で並行稼働していたとすると、PCの顧客端末70に表示されたPCログイン画面からのログインがあった場合には、画面判定区分=0をセッション管理サーバ40のセッション情報記憶手段42(画面判定区分記憶手段を含む。)に記憶させ、携帯電話機の顧客端末71に表示された携帯ログイン画面からのログインがあった場合にも、同じく画面判定区分=0を記憶させる等、特定種別の画面については、同じ画面判定区分を割り当てる。しかし、スマートフォン/タブレットの顧客端末80に表示されたRWDログイン画面からのログインがあった場合には、画面判定区分=1を記憶させ、新デバイスの顧客端末90に表示された新機種ログイン画面からのログインがあった場合には、画面判定区分=2を記憶させる等、特定種別以外の種別の画面については、それぞれ異なる画面判定区分を割り当てる。
業務共通処理手段222は、前記第1実施形態の業務共通処理手段22と異なる構成を備え、顧客端末70等からネットワーク1を介して送信されてくる画面表示要求信号(次の画面のURL、セッションIDおよびアプリケーションIDを含む。)を受信する処理を、複数種類のサービスの全ての業務処理に共通するフレームワークの処理として実行するものである。この業務共通処理手段222は、従来方式で複数のサイトの並行稼働を実現している場合の構成と同じである。
前記第1実施形態の業務共通処理手段22では、顧客端末70等から受信した画面表示要求信号に含まれるセッションIDに関連付けられてセッション情報記憶手段42(画面判定区分記憶手段を含む。)に記憶された画面判定区分を、セッション管理サーバ40から取得し、取得した画面判定区分に対応する画面定義ファイルを、画面定義ファイル記憶手段31から読み込む処理を行っていたのに対し、本第2実施形態の業務共通処理手段222では、セッション管理サーバ40からの画面判定区分の取得処理や、画面定義ファイル記憶手段231からの画面定義ファイルの読込処理は行わない点が異なる。なお、本第2実施形態のサイト提供システム200では、セッション管理サーバ40からの画面判定区分の取得処理や、画面定義ファイル記憶手段231からの画面定義ファイルの読込処理は、画面表示共通処理手段224により行われる。
また、業務共通処理手段222は、下記の業務処理手段223でデータベースサーバ50のデータベース52から取得したデータを、セッションIDとともに、画面表示共通処理手段224に渡す処理を実行する。なお、これらのデータやセッションIDを、業務に関する処理から画面表示に関する処理へと伝達するのは、業務共通処理手段222によりフレームワークの処理として行うのではなく、業務処理手段223により各サービスの個別の処理として行うようにしてもよい。従って、例えば、業務処理手段223を構成する業務処理アプリにより、画面表示処理手段225を構成する画面表示アプリを呼び出すとともに、これらのデータやセッションIDを画面表示アプリに渡すようにしてもよい。
業務処理手段223は、業務共通処理手段222により顧客端末70等から受信した画面表示要求信号に含まれるアプリケーションID(aid)の業務処理アプリケーションにより、要求に係るサービスの業務処理を実行するものである。この業務処理手段223は、要求に係るサービスの業務処理として、そのサービスの提供に必要なデータを、データベースサーバ50のデータベース52から取得する処理を実行する。従って、業務共通処理手段222が複数種類のサービスの全てに共通する処理を実行するのに対し、この業務処理手段223は、個々のサービスの処理を実行するものであり、サービス毎に設けられている。この点では、業務処理手段223は、前記第1実施形態の業務処理手段23と同様な構成を備えている。
また、業務処理手段223は、画面表示処理手段225を構成する画面表示アプリの識別情報(名称:class)を指定する処理も実行する。この点で、業務処理手段223は、前記第1実施形態の業務処理手段23とは異なる構成を有している。従って、業務処理手段223を構成する業務処理アプリには、画面表示処理手段225を構成する画面表示アプリの識別情報(名称)が記述され、これにより業務処理アプリが、対応する画面表示アプリを呼び出すようになっている。例えば、java(登録商標)の場合には、業務共通処理を継承した業務処理が、画面表示共通処理を継承した画面表示処理を呼び出すという形になる。そして、業務処理アプリには、正常時および異常時(タイム・エラーやシステム・エラー等)のそれぞれで使用される画面表示アプリの識別情報(名称)が記述され、正常時には、正常時用に指定された画面表示アプリが呼び出され、異常時には、異常時用に指定された画面表示アプリが呼び出されるようになっている。
さらに、[発明が解決しようとする課題]で述べた第1の従来方式により複数のサイトを並行稼働させていた場合には、業務処理手段223が業務共通処理手段222から受け取るアプリケーションID(aid)は、画面の種別毎のアプリケーションIDとなっており、例えば、PC画面用のアプリケーションIDにより特定されたPC画面用の業務処理アプリに、PC画面用の画面表示アプリの識別情報(名称)が記述されていて、これによりPC画面用の業務処理アプリが、PC画面用の画面表示アプリを呼び出し、また、携帯画面用のアプリケーションIDにより特定された携帯画面用の業務処理アプリには、携帯画面用の画面表示アプリの識別情報(名称)が記述されていて、これにより携帯画面用の業務処理アプリが、携帯画面用の画面表示アプリを呼び出すようになっている。但し、特定種別以外の種別の画面(例えばRWD画面)用の業務処理アプリや画面表示アプリは用意されていないので、特定種別以外の種別の画面(例えばRWD画面)からのアクセスがあった場合(この場合、例えば、スマートフォン/タブレットの顧客端末80からの画面表示要求信号に含まれているアプリケーションIDは、RWD画面用のアプリケーションIDではなく、PC画面用または携帯画面用のアプリケーションIDになっている。)には、特定種別のうちのいずれかの種別の画面(例えばPC画面または携帯画面)用の業務処理アプリや画面表示アプリで代用することになる。このような代用が行われた場合には、特定種別以外の種別の画面(例えばRWD画面)用の画面定義ファイルを用いて、特定種別の画面(例えばPC画面または携帯画面)用の画面ファイルのパスから特定種別以外の種別の画面(例えばRWD画面)用の画面ファイルのパスへの変換が行われ、特定種別以外の種別の画面(例えばRWD画面)用の画面ファイルの取得処理が行われることになる。
一方、[発明が解決しようとする課題]で述べた第2の従来方式により複数のサイトを並行稼働させていた場合には、業務処理手段223が業務共通処理手段222から受け取るアプリケーションID(aid)は、複数の画面の種別に共通のアプリケーションIDとなっており、例えば、その共通のアプリケーションIDにより特定されたPC画面および携帯画面に共有の業務処理アプリに、PC画面および携帯画面に共有の画面表示アプリの識別情報(名称)が記述されていて、これによりPC画面および携帯画面に共有の業務処理アプリが、PC画面および携帯画面に共有の画面表示アプリを呼び出すか、あるいは、その共通のアプリケーションIDにより特定されたPC画面および携帯画面に共有の業務処理アプリに、PC画面用および携帯画面用のそれぞれの画面表示アプリの識別情報(名称)が記述されていて、これによりPC画面および携帯画面に共有の業務処理アプリが、顧客端末70等からの画面表示要求信号に含まれる情報を用いて判定された画面の種別に応じ、PC画面用の画面表示アプリまたは携帯画面用の画面表示アプリを選択して呼び出すようになっている。なお、特定種別以外の種別の画面(例えばRWD画面)からのアクセスがあった場合に、特定種別のうちのいずれかの種別の画面(例えばPC画面または携帯画面)用の業務処理アプリや画面表示アプリで代用するのは、上述した第1の従来方式により複数のサイトを並行稼働させていた場合と同様である。
画面表示共通処理手段224は、前記第1実施形態の画面表示共通処理手段24とは異なる構成を有し、業務共通処理手段222から受け取ったセッションID(業務共通処理手段222により受信した画面表示要求信号に含まれるセッションID)に関連付けられてセッション情報記憶手段42(画面判定区分記憶手段を含む。)に記憶された画面判定区分をセッション管理サーバ40から取得し、取得した画面判定区分が特定種別(従来方式で並行稼働していた各サイトの構成画面の種別のうちのいずれかの種別)である場合には、下記の画面表示処理手段225により指定された特定種別の画面についての画面ファイル(JSP)のパスをそのまま用いて、要求に係るサービスで使用する画面ファイル(JSP)を画面ファイル記憶手段232から読み込み、一方、取得した画面判定区分が特定種別以外の種別である場合には、取得した画面判定区分に対応する画面定義ファイルを画面定義ファイル記憶手段231から読み込むことにより、下記の画面表示処理手段225により指定された特定種別の画面についての画面ファイル(JSP)のパスを、特定種別以外の種別の画面についての画面ファイル(JSP)のパスに変換し、この変換後のパスを用いて、要求に係るサービスで使用する画面ファイル(JSP)を画面ファイル記憶手段232から読み込み、読み込んだ画面ファイル(JSP)を用いて、要求に係るサービスの画面の表示用データ(Webページ)を作成し、作成した画面の表示用データを、ネットワーク1を介して要求元の顧客端末70等へ送信する処理を、複数種類のサービスの全ての画面表示処理に共通するフレームワークの処理として実行するものである。
画面表示処理手段225は、前記第1実施形態の画面表示処理手段25とは異なる構成を有し、業務処理手段223を構成する業務処理アプリにより呼び出された画面表示アプリにより、特定種別(従来方式で並行稼働していた各サイトの構成画面の種別のうちのいずれかの種別)の画面についての画面ファイル(JSP)のパスを指定するとともに、業務共通処理手段222から受け取ったデータ(業務処理手段223による業務処理でデータベースサーバ50のデータベース52から取得したデータ)を用いて、画面表示共通処理手段224により読み込んだ画面ファイル(JSP)で作成される画面のうち、要求に係るサービスのデータを用いて表示される動的部分を作成する処理を実行するものである。従って、画面表示共通処理手段224が複数種類のサービスの全てに共通する処理を実行するのに対し、この画面表示処理手段225は、個々のサービスの処理を実行するものであり、サービス毎に設けられている。
また、[発明が解決しようとする課題]で述べた第1の従来方式により複数のサイトを並行稼働させていた場合には、画面の種別毎に業務処理アプリおよび画面表示アプリが存在するので、例えば、PC画面用の業務処理アプリに呼び出されたPC画面用の画面表示アプリに、PC画面用の画面ファイル(JSP)のパスが記述され、また、携帯画面用の業務処理アプリに呼び出された携帯画面用の画面表示アプリに、携帯画面用の画面ファイル(JSP)のパスが記述されている。
一方、[発明が解決しようとする課題]で述べた第2の従来方式により複数のサイトを並行稼働させていた場合には、複数の画面の種別に共有の業務処理アプリとなるので、例えば、PC画面および携帯画面に共有の業務処理アプリにより呼び出されたPC画面および携帯画面に共有の画面表示アプリに、PC画面用および携帯画面用の画面ファイル(JSP)のパスが記述され、PC画面および携帯画面に共有の画面表示アプリが、顧客端末70等からの画面表示要求信号に含まれる情報を用いて判定された画面の種別に応じ、PC画面用の画面ファイル(JSP)のパスまたは携帯画面用の画面ファイル(JSP)のパスを選択して指定するようになっているか、あるいは、PC画面および携帯画面に共有の業務処理アプリにより、顧客端末70等からの画面表示要求信号に含まれる情報を用いて判定された画面の種別に応じ、選択的に呼び出されたPC画面用の画面表示アプリに、PC画面用の画面ファイル(JSP)のパスが記述され、また、選択的に呼び出された携帯画面用の画面表示アプリに、携帯画面用の画面ファイル(JSP)のパスが記述されている。
顧客情報記憶手段230は、前記第1実施形態の顧客情報記憶手段30と同じものである。
画面定義ファイル記憶手段231は、前記第1実施形態の画面定義ファイル記憶手段31とは異なり、特定種別(従来方式で並行稼働していた各サイトの構成画面の種別)以外の種別の画面について割り当てられた画面判定区分に対応して用意されている画面定義ファイルを記憶するものである。例えば、PC画面および携帯画面が特定種別の画面であるとすれば、これらのPC画面用の画面定義ファイルや携帯画面用の画面定義ファイルは存在しない。すなわち、PC画面や携帯画面を示す画面判定区分=0に対応する画面定義ファイルは存在しない。従って、スマートフォンやタブレット向けのRWD画面によるサイトや、その他の新しいタイプのデバイス向けの新機種画面によるサイト等を追加する場合に、それらの画面用の画面定義ファイルが作成され、例えば、RWD画面を示す画面判定区分=1に対応する画面定義ファイル等が用意されることになる。この点で、全ての種別の画面用の画面定義ファイルが記憶されている前記第1実施形態の画面定義ファイル記憶手段31とは異なる。
また、画面定義ファイル記憶手段231に記憶される画面定義ファイルの内容も前記第1実施形態の場合とは異なっている。本第2実施形態では、画面定義ファイルには、特定種別の画面についての画面ファイル(JSP)のパスと、特定種別以外の種別の画面についての画面ファイル(JSP)のパスとが関連付けられて記憶されている。
例えば、PC画面および携帯画面が特定種別の画面であり(すなわち、既設サイトは、PCサイトおよび携帯サイトである。)、RWD画面によるサイトが追加されたサイトであるとすれば、PC画面用の画面ファイル(JSP)のパスと、RWD画面用の画面ファイル(JSP)のパスとが関連付けられた画面定義ファイルを用意するか、あるいは、携帯画面用の画面ファイル(JSP)のパスと、RWD画面用の画面ファイル(JSP)のパスとが関連付けられた画面定義ファイルを用意する。また、PC画面用の画面ファイル(JSP)のパスと、RWD画面用の画面ファイル(JSP)のパスとの関連付け、および、携帯画面用の画面ファイル(JSP)のパスと、RWD画面用の画面ファイル(JSP)のパスとの関連付けの双方が定義された画面定義ファイルを用意してもよい。
画面ファイル記憶手段232は、前記第1実施形態の画面ファイル記憶手段32と同様な構成を備え、PC画面、携帯画面、RWD画面、その他のデバイス向けの画面のそれぞれについての画面ファイル(JSP)を記憶するものである。なお、PC画面用の画面ファイル(JSP)と、携帯画面用の画面ファイル(JSP)と、RWD画面用の画面ファイル(JSP)と、その他のデバイス向けの画面用の画面ファイル(JSP)とは、別のフォルダに格納され、異なるパスを指定して取得できるようになっている。
また、画面ファイル記憶手段232には、PC画面、携帯画面、RWD画面、その他のデバイス向けの画面のそれぞれについてのログイン画面およびトップ画面のファイルも記憶され、この点も、前記第1実施形態の画面ファイル記憶手段32と同様である。
セッション管理サーバ40は、前記第1実施形態の場合と同じものである。前記第1実施形態では、セッション管理手段41は、WEB/APサーバ20の業務共通処理手段22からの画面判定区分の問い合わせ信号(セッションIDを伴う。)に返答していたのに対し、本第2実施形態では、WEB/APサーバ220の画面表示共通処理手段224からの画面判定区分の問い合わせ信号(セッションIDを伴う。)に返答する点は異なるが、システム構成自体は同じである。
データベースサーバ50は、前記第1実施形態の場合と同じものである。
構築支援システム260は、1台または複数台のコンピュータにより構成され、画面定義ファイル読込手段261と、画面ファイル読込手段262と、抽出手段263と、対比結果出力手段264とを含んで構成されている。
画面定義ファイル読込手段261は、開発中の種別の画面についての画面定義ファイル(例えばRWD画面用の画面定義ファイル)を読み込む処理を実行するものである。通常は、開発環境下の画面定義ファイル記憶手段231から読み込むが、本番環境下の画面定義ファイル記憶手段231から読み込んでもよく、あるいは画面定義ファイル記憶手段231とは別の格納場所や、サイト提供システム200を構成するコンピュータとは別のコンピュータのハードディスクやUSBメモリ等の記録媒体から読み込んでもよい。
前記第1実施形態の画面定義ファイル読込手段61は、対比する画面の双方についての画面定義ファイル、すなわち、完成している既存の種別の画面についての画面定義ファイル(例えばPC画面用の画面定義ファイル)、および開発中の種別の画面についての画面定義ファイル(例えばRWD画面用の画面定義ファイル)を読み込む構成とされていたが、本第2実施形態の画面定義ファイルには、パスの変換情報が定義されているので、その変換情報から、対比する画面の双方についての情報が得られるため、本第2実施形態の画面定義ファイル読込手段261は、対応する画面定義ファイルの双方を読み込む構成にはなっていない点が異なっている。
画面ファイル読込手段262は、画面定義ファイル読込手段261により読み込んだ画面定義ファイルから、対応付けられている特定種別の画面(例えばPC画面または携帯画面)についての画面ファイルのパス、および開発中の種別の画面(例えばRWD画面)についての画面ファイルのパスを取得し、取得したパスを用いて、画面ファイル記憶手段232から、特定種別および開発中の種別の画面についての各画面ファイル(JSP)を読み込む処理を実行するものである。通常は、開発環境下の画面ファイル記憶手段232から読み込むが、本番環境下の画面ファイル記憶手段232から読み込んでもよい。
抽出手段263は、前記第1実施形態の抽出手段63と同様な構成を備え、画面ファイル読込手段262により読み込んだ各画面ファイル(JSP)から、画面の動的部分を記述したコードを抽出する処理を実行するものである。
対比結果出力手段264は、抽出手段263により抽出した特定種別の画面(例えばPC画面または携帯画面)および開発中の種別の画面(例えばRWD画面)の動的部分を記述したコードを対比して画面表示および/または印刷する処理、動的部分を記述したコードの差異若しくは過不足を画面表示および/または印刷する処理、動的部分を記述したコードの抽出数を対比して画面表示および/または印刷する処理のうちの少なくとも1つの処理を実行するものである。
顧客端末70、顧客端末80、および顧客端末90は、前記第1実施形態の場合と同じものである。顧客端末71は、携帯電話機(スマートフォンのような多機能携帯電話機を除く従来型の携帯電話機である。)により構成され、キー入力やボタン操作を行う入力手段と、液晶ディスプレイ等の表示手段とを備えている。
このような第2実施形態においては、以下のようにしてサイト提供システム200により、顧客へのサービス提供に関する各種処理が実行される。
図6において、先ず、WEB/APサーバ220で、ログイン処理手段221により、前記第1実施形態の場合と同様にして、顧客端末70等からの顧客によるログイン画面の表示要求に応じ、画面ファイル記憶手段232に記憶されているPCログイン画面、携帯ログイン画面、RWDログイン画面、その他のデバイス向けのログイン画面のうち、表示要求に係るログイン画面の表示用データを、ネットワーク1を介して要求元の顧客端末70等へ送信する(ステップS201)。
続いて、ログイン処理手段221により、前記第1実施形態の場合と同様にして、顧客端末70等からネットワーク1を介して送信されてくるログイン情報(顧客識別情報、ログインパスワードに加え、画面の種別を示す情報を含む。)を受信し、顧客のログイン認証処理を実行する(ステップS201)。
さらに、アクセスした顧客が認証された場合には、ログイン処理手段221により、前記第1実施形態の場合と同様にして、受信したログイン情報に含まれる画面の種別を示す情報を用いて要求元の顧客端末70等の画面の種別を判定し、画面判定区分を決定する(ステップS201)。この際、前記第1実施形態の場合と異なるのは、画面の種別を示す情報が、特定種別(従来方式で並行稼働していた各サイトの構成画面の種別)であるPC画面を示す情報(例えばroot=pc)または携帯画面を示す情報(例えばroot=mo)である場合には、これらを区別することなく、いずれも画面判定区分=0とする点である。そして、画面の種別を示す情報が、RWD画面を示す情報(例えばroot=rwd)である場合には、画面判定区分=1とする。なお、2つの特定種別に対し、互いに異なる画面判定区分を割り当てても、本発明を適用することは可能であり、要するに、特定種別と特定種別以外の種別とを区別することができ、さらに、特定種別以外の種別が複数種別ある場合には、それらの区別も付くようになっていればよい。また、特定種別である複数の種別(例えば、PC画面と携帯画面)を区別する必要がないのは、元々、本発明を適用せずに、すなわち本発明における画面判定区分を設けることなく、従来方式で並行稼働を実現していた状態が存在し、その状態を利用する形で本発明のサイト提供システム200を構築したからである。
そして、ログイン処理手段221により、前記第1実施形態の場合と同様にして、得られた画面判定区分を、認証された顧客についての顧客名や口座情報等(顧客情報記憶手段230に記憶されているデータ)とともに、セッション管理サーバ40へ渡し、これらの顧客名や口座情報等、および画面判定区分を、セッションIDと関連付けてセッション情報記憶手段42に記憶させる(ステップS201)。
次に、ログイン処理手段221により、前記第1実施形態の場合と同様にして、要求元の顧客端末70等の画面の種別に応じたトップ画面のファイルを、画面ファイル記憶手段232から取得し、トップ画面の表示用データを、ネットワーク1を介して要求元の顧客端末70等へ送信する(ステップS202)。
図7において、業務共通処理手段222により、顧客端末70等からネットワーク1を介して送信されてくる画面表示要求信号(次の画面のURL、セッションIDおよびアプリケーションIDを含む。)を受信する(ステップS203)。
続いて、業務処理手段223により、業務共通処理手段222により顧客端末70等から受信した画面表示要求信号に含まれるアプリケーションID(aid)の業務処理アプリケーションにより、要求に係るサービスの業務処理を実行する。なわち、業務処理手段223により、要求に係るサービスの提供に必要なデータを、データベースサーバ50のデータベース52から取得する(ステップS204)。
また、業務処理手段223により、画面表示処理手段225を構成する画面表示アプリの識別情報(名称:class)を指定する。すなわち、業務処理手段223を構成する業務処理アプリにより、この業務処理アプリに記述された名称(class:画面表示アプリの識別情報)の画面表示アプリを呼び出す(ステップS204)。
例えば、[発明が解決しようとする課題]で述べた第1の従来方式により複数のサイトを並行稼働させていた場合には、業務共通処理手段222から受け取ったアプリケーションIDにより特定されたPC画面用の業務処理アプリにより、PC画面用の画面表示アプリを呼び出す。また、業務共通処理手段222から受け取ったアプリケーションIDにより特定された携帯画面用の業務処理アプリにより、携帯画面用の画面表示アプリを呼び出す。
一方、[発明が解決しようとする課題]で述べた第2の従来方式により複数のサイトを並行稼働させていた場合には、業務共通処理手段222から受け取ったアプリケーションIDにより特定されたPC画面および携帯画面に共有の業務処理アプリにより、PC画面および携帯画面に共有の画面表示アプリを呼び出すか、あるいは、業務共通処理手段222から受け取ったアプリケーションIDにより特定されたPC画面および携帯画面に共有の業務処理アプリにより、顧客端末70等からの画面表示要求信号に含まれる情報を用いて判定された画面の種別に応じ、PC画面用の画面表示アプリまたは携帯画面用の画面表示アプリを選択して呼び出す。
そして、業務共通処理手段222により、業務処理手段223でデータベースサーバ50のデータベース52から取得したデータを、セッションIDとともに、画面表示共通処理手段224に渡す(ステップS205)。なお、これらのデータやセッションIDを、業務に関する処理から画面表示に関する処理へと伝達するのは、業務共通処理手段222によりフレームワークの処理として行うのではなく、業務処理手段223により各サービスの個別の処理として行うようにしてもよい。従って、例えば、業務処理手段223を構成する業務処理アプリにより、画面表示処理手段225を構成する画面表示アプリを呼び出すとともに、これらのデータやセッションIDを画面表示アプリに渡すようにしてもよい。
その後、画面表示処理手段225により、すなわち業務処理手段223を構成する業務処理アプリにより呼び出された画面表示アプリにより、業務共通処理手段222から受け取ったデータ(業務処理手段223による業務処理でデータベースサーバ50のデータベース52から取得したデータ)を用いて、画面表示共通処理手段224により読み込む画面ファイル(JSP)で作成される画面のうち、要求に係るサービスのデータを用いて表示される動的部分を作成する(ステップS206)。
また、画面表示処理手段225により、すなわち業務処理手段223を構成する業務処理アプリにより呼び出された画面表示アプリにより、特定種別(従来方式で並行稼働していた各サイトの構成画面の種別のうちのいずれかの種別)の画面についての画面ファイル(JSP)のパスを指定する(ステップS206)。なお、画面ファイル(JSP)のパスは、呼び出された画面表示アプリに記述されている。
例えば、[発明が解決しようとする課題]で述べた第1の従来方式により複数のサイトを並行稼働させていた場合には、PC画面用の業務処理アプリに呼び出されたPC画面用の画面表示アプリに、PC画面用の画面ファイル(JSP)のパスが記述されている。また、携帯画面用の業務処理アプリに呼び出された携帯画面用の画面表示アプリに、携帯画面用の画面ファイル(JSP)のパスが記述されている。
一方、[発明が解決しようとする課題]で述べた第2の従来方式により複数のサイトを並行稼働させていた場合には、PC画面および携帯画面に共有の業務処理アプリにより呼び出されたPC画面および携帯画面に共有の画面表示アプリに、PC画面用および携帯画面用の画面ファイル(JSP)のパスが記述され、PC画面および携帯画面に共有の画面表示アプリが、顧客端末70等からの画面表示要求信号に含まれる情報を用いて判定された画面の種別に応じ、PC画面用の画面ファイル(JSP)のパスまたは携帯画面用の画面ファイル(JSP)のパスを選択して指定する。あるいは、PC画面および携帯画面に共有の業務処理アプリにより、顧客端末70等からの画面表示要求信号に含まれる情報を用いて判定された画面の種別に応じ、選択的に呼び出されたPC画面用の画面表示アプリに、PC画面用の画面ファイル(JSP)のパスが記述され、また、選択的に呼び出された携帯画面用の画面表示アプリに、携帯画面用の画面ファイル(JSP)のパスが記述されている。
続いて、画面表示共通処理手段224により、業務共通処理手段222から受け取ったセッションID(業務共通処理手段222により受信した画面表示要求信号に含まれるセッションID)をセッション管理サーバ40に渡す(ステップS207)。セッション管理サーバ40では、セッション管理手段41により、WEB/APサーバ220の画面表示共通処理手段224からの画面判定区分の問い合わせ信号(セッションIDを伴う。)を受け付け、受け付けたセッションIDに関連付けられた画面判定区分をセッション情報記憶手段42(画面判定区分記憶手段を含む。)から取得し、取得した画面判定区分を、WEB/APサーバ220の画面表示共通処理手段224に渡す(ステップS207)。
そして、取得した画面判定区分が特定種別(従来方式で並行稼働していた各サイトの構成画面の種別のうちのいずれかの種別)である場合には、画面表示共通処理手段224により、画面表示処理手段225により指定された特定種別の画面についての画面ファイル(JSP)のパスをそのまま用いて、要求に係るサービスで使用する画面ファイル(JSP)を画面ファイル記憶手段232から読み込む(ステップS207)。例えば、画面判定区分=0の場合には、業務処理アプリにより呼び出された画面表示アプリに記述されているPC画面用の画面ファイル(JSP)のパスを用いて、PC画面用の画面ファイル(JSP)を読み込むか、または、業務処理アプリにより呼び出された画面表示アプリに記述されている携帯画面用の画面ファイル(JSP)のパスを用いて、携帯画面用の画面ファイル(JSP)を読み込む。
一方、取得した画面判定区分が特定種別以外の種別である場合には、画面表示共通処理手段224により、取得した画面判定区分に対応する画面定義ファイルを画面定義ファイル記憶手段231から読み込むことにより、その画面定義ファイルに定義された関連付けに従って、画面表示処理手段225により指定された特定種別の画面についての画面ファイル(JSP)のパスを、特定種別以外の種別の画面についての画面ファイル(JSP)のパスに変換し、この変換後のパスを用いて、要求に係るサービスで使用する画面ファイル(JSP)を画面ファイル記憶手段232から読み込む(ステップS207)。例えば、画面判定区分=1の場合には、画面判定区分=1に対応するRWD画面用の画面定義ファイルを画面定義ファイル記憶手段231から読み込むことにより、そのRWD画面用の画面定義ファイルに定義された関連付け(PC画面用の画面ファイルのパスからRWD画面用の画面ファイルのパスへの変換情報、または、携帯画面用の画面ファイルのパスからRWD画面用の画面ファイルのパスへの変換情報)に従って、画面表示アプリ(代用)に記述されているPC画面用の画面ファイル(JSP)のパスをRWD画面用の画面ファイル(JSP)のパスに変換するか、または、画面表示アプリ(代用)に記述されている携帯画面用の画面ファイル(JSP)のパスをRWD画面用の画面ファイル(JSP)のパスに変換し、変換後のRWD画面用の画面ファイル(JSP)のパスを用いて、RWD画面用の画面ファイル(JSP)を読み込む。
それから、画面表示共通処理手段224により、読み込んだ画面ファイル(JSP)を用いて、前述したステップS206で画面表示処理手段225により作成した動的部分を含め、要求に係るサービスの画面の表示用データ(Webページ)を作成し、作成した画面の表示用データを、ネットワーク1を介して要求元の顧客端末70等へ送信する(ステップS207)。
なお、以上のステップS203〜S207の処理は、各サービスの提供を受けるための顧客端末70等からの画面表示要求がある都度に繰り返される。
また、第2実施形態においては、以下のようにして構築支援システム260により、サイト提供システム200の構築支援に関する各種処理が実行される。
図8において、先ず、画面定義ファイル読込手段261により、開発中の種別の画面についての画面定義ファイル(例えばRWD画面用の画面定義ファイル)を読み込む(ステップS211)。この際、通常は、開発環境下の画面定義ファイル記憶手段231から読み込むが、本番環境下の画面定義ファイル記憶手段231から読み込んでもよく、あるいは画面定義ファイル記憶手段231以外の保存場所(例えば、開発者のコンピュータ等)から読み込んでもよい。
次に、画面ファイル読込手段262により、画面定義ファイル読込手段261により読み込んだ画面定義ファイルから、対応付けられている特定種別の画面(例えばPC画面または携帯画面)についての画面ファイルのパス、および開発中の種別の画面(例えばRWD画面)についての画面ファイルのパスを取得する(ステップS212)。
続いて、画面ファイル読込手段262により、取得したパスを用いて、画面ファイル記憶手段232から、特定種別の画面(例えばPC画面または携帯画面)および開発中の種別の画面(例えばRWD画面)についての各画面ファイル(JSP)を読み込む(ステップS213)。この際、通常は、開発環境下の画面ファイル記憶手段232から読み込むが、本番環境下の画面ファイル記憶手段232から読み込んでもよい。
なお、サイトの規模(画面ファイルの個数)にもよるが、通常は、ステップS212において、画面定義ファイルから、多くの対になるパスが取得されることになる。この際、ステップS213以降の処理(画面ファイルの読込、動的部分の抽出、結果の出力)を行うにあたり、対になるパスを1対ずつ処理していってもよく(対の数だけ画面ファイルの読込、動的部分の抽出、結果の出力という順序の処理を繰り返す。)、幾つかの対になるパス(複数対のパス)をまとめて処理してもよく(まとめられた集合の数だけ画面ファイルの読込、動的部分の抽出、結果の出力という順序の処理を繰り返す。)、対になるパスの全てをまとめて処理してもよい。この点は、前記第1実施形態の場合と同様である。
それから、抽出手段263により、読み込んだ各画面ファイル(JSP)から、画面の動的部分を記述したコードを抽出する(ステップS214)。より具体的には、データベース52から取得されたデータ(例えば残高等)の表示部分等のように、変数(パラメータ)になっている部分のコード(例えば“ZANDAKA”等)を抽出する。
そして、対比結果出力手段264により、抽出した特定種別の画面(例えばPC画面または携帯画面)および開発中の種別の画面(例えばRWD画面)の動的部分を記述したコードを対比した結果を出力(画面表示や印刷)する(ステップS215)。
対比結果の出力の態様は任意であり、例えば、次のような出力の態様がある。なお、出力の態様を使用者(システム開発者)が選択できるようにしてもよい。この点は、前記第1実施形態の場合と同様である。
第1の出力の態様では、抽出した動的部分を記述したコードを、そのままコードの状態で、図8に示すように、左右に並べる等して対比して出力する。画面表示アプリにより特定種別の画面用の画面ファイル(JSP)のパスが指定されるので、図8の例では、画面表示アプリの識別情報(名称:クラス)を表示した後に、対応する各画面ファイル(JSP)からそれぞれ抽出した画面の動的部分を記述したコードを、左右に並べて配置し、出力(画面表示や印刷)している。従って、開発中の種別の画面(例えば、RWD画面)について、開発漏れがあれば、開発中の種別の画面側が空欄になるか、対応するコードが存在しない旨を示す文字や記号等が出力される。一方、開発中の種別の画面(例えば、RWD画面)について、余分な動的部分が含まれていれば、特定種別の画面(例えば、PC画面または携帯画面)側が空欄になるか、対応するコードが存在しない旨を示す文字や記号等が出力される。
第2の出力の態様では、双方の画面の動的部分を記述したコードについて、差異若しくは過不足がある場合に、その差異若しくは過不足があるところだけを、左右に並べる等して対比して出力する。従って、第1の出力の態様では、差異や過不足がなくても、対応する動的部分のコードを出力するが、第2の出力の態様では、差異若しくは過不足がある場合にのみ、対応する動的部分のコードを出力する。この際、対応するコードが無い場合は、空欄にするか、対応するコードが存在しない旨を示す文字や記号等を出力するのは、第1の出力の態様と同様である。
第3の出力の態様では、抽出した動的部分を記述したコードそのものを出力するのではなく、抽出数を対比して出力する。例えば、特定種別の画面(例えば、PC画面または携帯画面)には、動的部分が100箇所あり、開発中の種別の画面(例えば、RWD画面)には、動的部分が98箇所ある等の数値情報を出力する。この際、細かい単位(例えばサービスの細目)で区切って抽出数の対比出力を行ってもよく、全サービスをトータルして抽出数の対比出力を行ってもよい。なお、抽出数の対比出力だけでは、前者のように細かい単位で区切って抽出数の対比出力を行わないと、どこに過不足があるのかを直ぐに特定することは困難であるが、画面開発の全体的な進捗を確認することは容易になる。例えば、画面開発をほぼ終えた段階では、双方の抽出数は、ほぼ同数になるが、特定種別の画面(例えば、PC画面または携帯画面)には、動的部分が100箇所あり、開発中の種別の画面(例えば、RWD画面)には、動的部分が60箇所ある等と出力されれば、6割程度の進捗であることがわかる。
このような第2実施形態によれば、次のような効果がある。すなわち、サイト提供システム200では、各サービスの提供に必要な画面についての画面ファイル(JSP)のパスを変換するための情報が画面定義ファイルに記述され、この画面定義ファイルからの画面ファイル(JSP)のパスの変換情報の取得が、画面表示共通処理手段224によるフレームワークの処理として行われる。従って、従来方式([発明が解決しようとする課題]で述べた第1、第2の従来方式のいずれでもよい。)で並行稼働している複数のサイト(例えばPCサイトおよび携帯サイト)を継続して提供することを前提として、別のデバイス向けに新サイト(例えばRWDサイト)を提供する際には、別のデバイス用の画面定義ファイルおよび画面ファイルを新たに作成して用意する必要があるが、処理の内容としては、画面表示処理手段225により実行される各サービスの個々の画面表示処理を変更する必要はなく、また、業務共通処理手段222や業務処理手段223による処理についても変更する必要がなく、画面表示共通処理手段224によるフレームワークの処理に、新設の画面判定区分(追加する別のデバイス用の画面の種別を示す画面判定区分)に対応する別のデバイス用の画面定義ファイル(例えばRWD画面用の画面定義ファイル)を読み込む分岐を増やす変更を行えばよい。従って、サイトを追加する際の修正範囲は、複数種類のサービスの全てで共通利用されるフレームワークに限定される。
このため、開発範囲の狭小化を図ることができ、開発作業を容易に行うことができるので、開発期間の短縮、開発コストの低減を実現することができる。
また、サイトを追加する際に、フレームワークの処理以外の個々の処理を実行するサーバアプリケーション、すなわち画面表示処理手段225を構成する画面表示アプリや、業務処理手段223を構成する業務処理アプリを修正せずに対応することができるので、サーバアプリの開発において、新たなバグが埋め込まれてしまう可能性を少なくすることができ、ビジネスリスクを減少させることができる。
さらに、サイトの追加が容易になるので、従来方式で並行稼働している複数の既存サイト(例えばPCサイトおよび携帯サイト)と、さらに別の画面によるサイト(例えばRWDサイト)との並行稼働を容易に実現することができるため、別のデバイス向けの画面によるサイトの設置が必要になり、あるいは別のデバイスが主流になった場合でも、サービス提供の場を新設のサイト(例えばRWDサイト)に完全に置き換えてしまうのではなく、従来方式で並行稼働している複数の既存サイト(例えばPCサイトおよび携帯サイト)の利用者へのサービス提供を継続することができる。このため、例えば、顧客端末70が、RWD画面に対応できない古いバージョンのWebブラウザを搭載しているPCである場合等にも対応することができる。
また、複数の既存サイトおよび追加の新設サイトの並行稼働を容易に実現することができるため、システム障害発生時の代替手段を確保することもできる。
そして、今後、未だ世の中に存在しないか、普及していない新しいタイプのデバイス(例えばウェアラブル端末、音声認識端末、立体画像端末等)が開発され、その新しいタイプのデバイス向けの画面によるサイトを提供する必要性が生じた場合でも、現存しているか、現在普及している別のデバイス向けの画面によるサイトを追加する場合と同様に、開発の対応範囲が限定的なものとなるので、その新しいタイプのデバイス向けの画面によるサイトを容易に追加することができる。例えば、PCの顧客端末70、携帯電話機の顧客端末71、およびスマートフォン/タブレットの顧客端末80を操作する各顧客へのサービス提供を実現するために、PC画面によるサイトと、携帯画面によるサイトと、RWD画面によるサイトとを並行稼働させているときに、さらにウェアラブル端末等の新機種の顧客端末90を操作する顧客へのサービス提供を開始することになった場合でも、その新機種向けの画面によるサイトを容易に追加することができる。
また、追加するサイトで使用される画面(例えばRWD画面)の開発は、既存の画面(例えばPC画面または携帯画面)の情報を利用して行うことができるので、画面開発においてバグが埋め込まれてしまう可能性も極力排除することができる。
さらに、従来方式で並行稼働している複数の既存サイト(例えばPCサイトおよび携帯サイト)に対し、別の1つのサイト(例えばRWDサイト)を追加する場合と同様にして、従来方式で並行稼働している複数の既存サイトに対し、複数のサイトを同時期に追加すること、別の1つのサイトを追加した後に、さらに別の1つのサイトを追加すること、別の1つのサイトを追加した後に、さらに別の複数のサイトを同時期に追加すること、複数のサイトを同時期に追加した後に、さらに別の複数のサイトを同時期に追加すること等を容易に行うことができる。
そして、以上のように、サイト提供システム200は、サイトの追加を容易に行うことができる構成とされているので、並行稼働している複数のサイトのうち、一部のサイトを閉鎖することも容易に行うことができる。すなわち、画面の種別の判定処理における分岐や、画面判定区分に対応する画面定義ファイルの読込処理における分岐を減らすだけでよい。なお、余分な分岐が存在しても処理に悪影響が出ない場合には、その分岐を削除しなくてもよい。
また、構築支援システム260では、特定種別(従来方式で並行稼働している複数の既設サイトの構成画面の種別のうちのいずれかの種別)の画面(例えばPC画面または携帯画面)および開発中の種別の画面(例えばRWD画面)の動的部分を記述したコードを対比して確認することができるので、画面開発においてバグが埋め込まれてしまう可能性を低減することができる。すなわち、サーバアプリケーションを共通利用して新規画面のサイトを提供する場合には、バグが生じる可能性が高いのは、画面の動的項目の部分であるので、デザイン上の制約がない状態で新規画面(例えばRWD画面)を開発し、その後、特定種別の画面(例えばPC画面または携帯画面)についての画面ファイルと、開発中の種別の画面(例えばRWD画面)についての画面ファイルとを読み込み、それらから抽出した動的部分を記述したコードを対比して出力し、あるいは差異や過不足、抽出数を出力することで、バグの埋め込みを回避することができる。
また、特定種別の画面(例えばPC画面または携帯画面)および開発中の種別の画面(例えばRWD画面)についての画面ファイルを読み込む際には、画面定義ファイルに記述されている画面ファイルのパスを取得し、取得したパスを用いて読込処理を行うので、対応する多くの画面ファイルの対比チェックを容易に、かつ短時間で行うことができるため、画面開発の開発効率の向上を図ることができる。そして、画面開発の進捗管理も容易に行うことができる。
さらに、対応する画面ファイルを1対ずつ順番に読み込んで対比して確認する作業を繰り返す場合には、確認作業者が、確認対象の各画面ファイルのパスを把握していて、それを読込対象として毎回入力することになるので、手間がかかるうえ、対応する画面ファイルのパスが、確認作業者にとって記憶しやすく、把握しやすいものになっている必要がある。これに対し、構築支援システム260では、画面定義ファイルに記述されている画面ファイルのパスを利用して自動的に読込処理を行うので、画面ファイルのパスが確認作業者にとって記憶しにくく、把握しにくいものになっていたとしても、容易に画面ファイルの読込処理を行うことができる。
[変形の形態]
なお、本発明は前記各実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
例えば、前記各実施形態では、WEB/APサーバ20上で実行されるプログラムは、一例としてjava(登録商標)で記述され、画面ファイルは、一例としてJSPとされていたが、これに限定されるものではなく、java(登録商標)以外の言語を用いてもよく、要するに、フレームワークを観念できる言語であれば、本発明を適用することができる。