※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。
最新のintra-martでは、異なる情報であることがありますので、ご注意ください。
質問 :
あるWebサイトから、intra-martで作成したアプリケーションに対して、
・プログラムパス(ページベースやJ2EEのプログラムパス)
・Login認証の為の LOGINID、パスワード
を渡す事により、直接intra-martのプログラムを実行させたり、ポートレット(あるWebサイトの)として動作させたりする事が可能になりません でしょうか。
回答:
ページベース開発モデルでは2つの方法があります。
■特定のページを表示するためのサーブレットを作成する
■特定のページへアクセスするためのURLを生成する
以下、ページベース開発モデルの画面を表示することを前提として記述します。
また、対象は BaseModule 4.3 です。
■特定のページを表示するためのサーブレットを作成する
jp.co.intra_mart.foundation.scenario.PresentationPage を利用すると、ページベース開発モデルの指定の画面を作成できます。
結果として、画面のソース(HTML)が返って来ますので、それをブラウザへレスポンスすれば画面表示できます。
問題は、「ログインしている」という環境をどうやって作り出すか?です。
既にログイン済みの場合は問題ありませんが、そうでない場合は、一工夫必要になります。
システム要件やアプリケーション仕様等が分からないため何とも言えませんが、例えば、以下のような工夫が考えられます。
(1)ログインしているかどうかに影響されないように遷移先となるページベース開発モデルの 画面を作成する
(2)URLにIDとパスワードを付加してリクエストする自動認証機能を利用して「ログインしている」という環境を作り出す
(3)外部アプリケーション接続モジュールを利用する
■特定のページへアクセスするためのURLを生成する
外部アプリケーション接続モジュールを利用すると、特定のページへアクセスするためのURLを作り出す事ができます。
外部アプリケーション接続モジュールが返すURLをリンク表示する事で、そのリンクをクリックすると intra-martアプリケーションの画面が表示されます。
外部アプリケーション接続モジュールを利用したページURL作成については、下記サンプルソースを参考にしてください。
source/java/jp/co/intra_mart/sample/service/client/application/MenuPageCreator.java
どちらの方法も一長一短がありますので、アプリケーション要件を考慮してどちらの方法を採用するか検討してください。
またJ2EEベース開発モデルの場合、使う技術が以下のいずれかになります。
■Servlet
■JSP
■im-J2EE Framework
○サービスフレームワーク
○プレゼンテーションフレームワーク
いずれも、仕様に沿った形式のURLでアクセスすれば、任意のページを表示できます。
#ただし、プレゼンテーションフレームワークの場合、
#スタートポイント以外をダイレクトにアクセスする事はできません。
ただし、「ログインしている」という環境が必要な場合は、アプリケーション接続モジュールを 利用してください。
以下にサンプルソースがありますので、参考にしてください。
source/java/jp/co/intra_mart/sample/service/client/application/FrameworkConnectURLCreator.java
source/java/jp/co/intra_mart/sample/service/client/application/PresentationFrameworkPageCreator.java