intra-mart im-JavaEE Framework

Similar documents
intra-mart WebPlatform/AppFramework

intra-mart im-J2EE Framework

intra-mart im-J2EE Framework

intra-mart im-J2EE Framework

intra-mart im-JavaEE Framework

intra-mart im-J2EE Framework

intra-mart WebPlatform/AppFramework

intra-mart WebPlatform/AppFramework

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  


HTML/JSP/Servlet... 7 JSP... 7 Servlet Struts Struts Struts FormBean LoginForm

intra-mart WebPlatform/AppFramework

intra-mart マスカット連携ガイド

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

IM-SecureBlocker

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

2. バージョンアップ内容 intra-mart WebPlatform/AppFramework Ver.7.1 および Ver.7.2 に対応いたしました SAP JCo 3.0.x に対応いたしました 3. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取

2. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取得 更新するための API SAP リアルタイム連携 API を提供いたします またこれらの API を利用した業務テンプレートが同梱されています 各機能の詳細や設定方法に関しては 各マニュアルまたはセットア

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

intra-mart ワークフローデザイナ

WebOTXマニュアル

IM-FormatCreator

5-1- 応開発フレームワークに関する知識 開発フレームワークを利用した Web アプリケーションの実装方法を理 Ⅰ. 概要解する MVC や OR マッピング DIxAOP といった技術を理解する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 5-1- 基開発フレームワークに関す

intra-mart WebPlatform/AppFramework

SpringSecurity

PowerPoint Presentation

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

Another HTML-lint 導入マニュアル(JSP)版

SystemDirector Developer's Studio(V3.2) 適用ガイド

intra-mart WebPlatform / AppFramework

intra-mart WebPlaform / AppFramework

メディプロ1 Javaサーブレット補足資料.ppt

intra-mart Accel Platform

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

V8.1新規機能紹介記事

intra-mart WebPlatform/AppFramework

II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java

IM-Mail

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

intra-mart WebPlatform/AppFramework

intra-mart 販売管理パッケージ

J2EEフレームワークプログラミングガイドチュートリアル補足(初級編)

ERP連携モジュールチュートリアル

Web 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse

— OpenRulesモジュール 2017 Summer リリースノート   第2版  

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

プレポスト【問題】

WTM2019SingleSignOn

— OpenRulesモジュール 2017 Summer リリースノート   初版  

intra-mart WebPlatform/AppFramework

intra-mart Accel Platform

PowerPoint Presentation

--- サーバ側処理 Java servlet の例 // 通常の Java servlet での POST で受信と同じ protected void dopost(httpservletrequest request, HttpServletResponse response) throws S

intra-mart e Builder Version7.0 リリース ノート 第 3 版 2009/5/19 1 はじめに (1) intra-mart e Builder が動作するには Java-VM が必要です (2) intra-mart e Builder で開発を進めるには intr

PowerPoint プレゼンテーション

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

untitled

Gartner Day

4. 環境要件 WebWrapper および WebWrapper 管理サーバ <Windows 版 > Windows2000Server ( サービスパック 3 また 4 適用済 ), Windows Server 2003 <Solaris 版 > SPARC CPU を搭載する Sun 製ワ

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

スライド 1

WebOTXマニュアル

Microsoft PowerPoint - Lecture_3

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

Javaと マルチスレッド

オブジェクト指向プログラミング・同演習 5月21日演習課題

IM-SecureSignOn


LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

りライブラリを用いた開発とは視点が逆なのであ る 図 1 にフレームワークを用いた開発のイメー ジを示す る仕組み 基本的に Web アプリケーションの開発におい ては, これらをすべて一から 手作り しなけれ ばならない この中で, クライアントからの要求とビジネスロジックのマッピング, DB ア

(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

rcp-add-01:アーキテクチャ設計書

II 2 p.2 2 GET POST form action URL Aisatsu 2.1 Servlet GET GET : Query String QueryStringTest.java 1 import java.io.ioexception; 2 import java.io.pri

PowerPoint プレゼンテーション

第14回若年者ものづくり競技大会「業務用ITソフトウェア・ソリューションズ」職種 模擬競技課題

初心者にもできるアメブロカスタマイズ新2016.pages

- 2 Copyright (C) All Rights Reserved.

OpenRulesモジュール

intra-mart Accel Platform

1 検証概要 目的及びテスト方法 1.1 検証概要 Micro Focus Server Express 5.1 J の Enterprise Server が提供する J2EE Connector 機能は 多くの J2EE 準拠アプリケーションサーバーについて動作検証がなされています 本報告書は

IM-Workflow

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

Servlet/JSP ( 作成中 ) 2010 年 x 月 x 日作成 Firebird 日本ユーザー会 Naoyuki Sano 1

Microsoft PowerPoint - prog09.ppt

目次 第 1 章はじめに... 3 第 2 章ネットワーク設定 DNS の設定 アウトバウンド HTTPS 接続の許可 アウトバウンド SMTP/POP 接続の許可... 4 第 3 章 JDK への追加ライブラリインストール

IM-PDFCoordinator for Accel Platform — プログラミングガイド   第5版  

Copyright 2006 KDDI Corporation. All Rights Reserved page1

Microsoft PowerPoint - prog09.ppt

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

intra-mart Accel Platform — アクセスコンテキスト 拡張プログラミングガイド   第2版  

intra-mart e-Builder ver 5


Transcription:

intra-mart im-javaee Framework Version 6.1 Struts 連携ガイド 第 2 版 2010 年 7 月 30 日

<< 変更履歴 >> 変更年月日変更内容 2007/7/31 初版 2010/7/30 第 2 版 プレゼンテーションフレームワークに関する記述を削除

目次 << 目次 >> 1 はじめに...3 1.1 目的...3 2 アプリケーションの作成...3 2.1 Strutsからim-JavaEE Frameworkのイベントフレームワークへの連携...3 2.1.1 仕組...3 2.1.2 呼び出し方法...4 2.2 メニュー登録...11 3 サンプル...12 3.1 前提...12 3.2 ショッピングカート...12 付録 A im-javaee FrameworkとStruts...14 付録 B 変更内容...15 B.1 4.3 から 5.0 への変更点...15 B.1.1 検証済みStruts...15 B.1.2 Strutsの組込み方法の変更...15 B.1.3 Struts 連携方法の変更...15 B.1.4 Struts 連携モジュール...15 B.2 5.0 から 5.1 への変更点...15 B.2.1 検証済みStruts...15 B.3 5.1 から 6.0 への変更点...15 B.3.1 Strutsを同梱...15 B.4 6.0 から 6.1 への変更点...15 B.4.1 Strutsのバージョンを変更...15 作成者 : 株式会社 NTT データイントラマート Page i

intra-mart intra-mart im-javaee Framework(Struts 連携ガイド ) Page ii Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

1 はじめに 1 はじめに 1.1 目的 im-javaee Framework は複数のサブフレームワーク ( サービスフレームワーク イベントフレームワーク等 ) を含むが それぞれは疎結合であるため他のフレームワークとも大きな変更を加えずに連携できる ここでは Web 層のフレームワークとして Jakarta プロジェクトで公開されている Struts を選択し Struts と intra-mart を連携する方法について述べる 尚 intra-mart. 6.1 には Struts 1.3.8 があらかじめインストールされている 2 アプリケーションの作成 ここでは intra-mart と Struts を連携させたアプリケーションの作成方法を説明する 2.1 Struts から im-javaee Framework のイベントフレームワークへの連携 2.1.1 仕組 Struts は J2EE BluePrints と照らし合わせてみると Web 層に特化したフレームワークである これは im-javaee Framework のサービスフレームワークとほぼ一致する そのため ここでは Web 層の制御を Struts で行い バックエンドのビジネスロジックを im-javaee Framework のイベントフレームワークで行う方法について述べる Strutsとim-JavaEE FrameworkはStrutsのActionクラスを通じて連携する im-javaee Frameworkのイベントフレームワークを使わずにActionクラス内でビジネスロジックを書くことも可能であるが ビジネスロジックは外部に出すことを推奨する 実際 Strutsのドキュメント The Struts User's Guide の 1.2.1 The Model: System State and Business Logic JavaBeans 1 にも同様なことが書かれている そこでStrutsとim-JavaEE Frameworkを連携する場合 ActionクラスはビジネスロジックのFacade( 窓口 ) として実装する 図 2-1 im-javaee Frameworkのイベントフレームワーク と 図 2-2 Strutsとim-JavaEE Frameworkの連携 を参照 1 http://jakarta.apache.org/struts/userguide/introduction.html#modelconcepts 作成者 : 株式会社 NTT データイントラマート Page 3

intra-mart intra-mart im-javaee Framework(Struts 連携ガイド ) 1. イベントの生成 3. イベント処理依頼 1.1 イベントの生成 2. 情報の設定 ServiceController として ServiceControllerAdapter のサブクラスを利用する場合 1. イベントの生成 と 3. イベント処理依頼 はそれぞれ以下のメソッドに置き換えることができる : イベントの生成 :createevent メソッド イベント処理依頼 :dispatchevent メソッド 図 2-1 im-javaee Framework のイベントフレームワーク 1. イベントの生成 3. イベント処理依頼 1.1 イベントの生成 2. 情報の設定 図 2-2 Struts と im-javaee Framework の連携 2.1.2 呼び出し方法 Struts の Action から im-javaee Framework のイベントフレームワークを扱う方法として以下のものが考えられる イベントフレームワークを直接利用 共通メソッドが含まれるクラスを継承して利用 共通メソッドが含まれるクラスに委譲して利用 これらの中では 共通メソッドが含まれるクラスに委譲して利用 が最も推奨される この方法は拡張しやすく 変更に伴う影響が少ないものと思われる 2.1.2.1 イベントフレームワークを直接利用 im-javaee FrameworkのイベントフレームワークをActionクラスから直接利用する場合 図 2-3 直接利用 のような構造となる この場合のコードは リスト 2-1 Actionから直接利用 に示すようなものになる この場合 イベントの Page 4 Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

2 アプリケーションの作成 生成から処理結果の取得までを開発者が自分でコーディングする必要がある この方法は im-javaee Framework のイベントフレームワークに接続するすべての Action クラスに対して必要である そのため メンテナンスなどの観点から推奨されない Action 開発する Action EventManager 図 2-3 直接利用 作成者 : 株式会社 NTT データイントラマート Page 5

intra-mart intra-mart im-javaee Framework(Struts 連携ガイド ) リスト 2-1 Action から直接利用 import java.io.ioexception; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import javax.servlet.servletexception; import org.apache.struts.action.action; import org.apache.struts.action.actionform; import org.apache.struts.action.actionmapping; import jp.co.intra_mart.framework.base.util.userinfo; import jp.co.intra_mart.framework.base.event.event; import jp.co.intra_mart.framework.base.event.eventmanager; import jp.co.intra_mart.framework.base.event.eventresult; import jp.co.intra_mart.framework.extension.common.util.serviceutils; public class TestAction extends Action { public ActionForward perform(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // ログイン情報の取得 UserInfo userinfo = ServiceUtils.getUserInfo(request, response); // イベントの取得 EventManager em = EventManager.getEventManager(); TestEvent event = (TestEvent)em.createEvent(application_id, key, userinfo); // イベントの設定 event.setaaa(aaa); event.setbbb(bbb); // イベントの実行 TestEventResult result = em.dispatch(event); } } // イベント実行結果による処理 遷移 2.1.2.2 共通メソッドが含まれるクラスを継承して利用これはイベントフレームワークを利用するメソッドを実装したActionクラスのサブクラスを作成する方法である この方法では 図 2-4 継承を利用 のような構造となる この場合のコードは リスト 2-2 イベントフレームワークを使用するメソッドがあるActionクラス に示すようなものになる 開発者は以下のクラスを継承して新しい Action クラスを作成する jp.co.intra_mart.framework.extension.struts.action.intramartaction この方法を採用した場合 Action クラスを実装する開発者はサービスフレームワークの jp.co.intra_mart.framework.base.service.servicecontrolleradapter とほぼ同様の感覚でコーディングすることが可能である 欠点としては 開発者が他の Action クラスを extends して開発をしたい場合 多重継承の Page 6 Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

2 アプリケーションの作成 問題が出てくるという点が挙げられる Action IntramartAction #getuserinfo() #createevent() #dispatchevent() EventManager 開発する Action 図 2-4 継承を利用 作成者 : 株式会社 NTT データイントラマート Page 7

intra-mart intra-mart im-javaee Framework(Struts 連携ガイド ) リスト 2-2 イベントフレームワークを使用するメソッドがある Action クラス import java.io.ioexception; import javax.servlet.servletexception; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import org.apache.struts.action.actionform; import org.apache.struts.action.actionforward; import org.apache.struts.action.actionmapping; import jp.co.intra_mart.framework.extension.struts.action.intramartaction; import jp.co.intra_mart.framework.system.exception.systemexception; public class SampleAction extends IntramartAction { public ActionForward perform(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // イベントの取得 SampleEvent event = null; try { event = (DeleteStaffEvent) createevent("sampleapp", "samplekey", request, response); } catch (SystemException e) { throw new ServletException(e.getMessage(), e); } // イベントの設定 SampleForm sampleform = (SampleForm)form; event.setsampledata(sampleform.getsampledata()); // イベントの実行 try { dispatchevent(event); } catch (Exception e) { throw new ServletException(e.getMessage(), e); } } } // 次の画面の準備 return mapping.findforward("next"); 2.1.2.3 共通メソッドが含まれるクラスに委譲して利用これはイベントフレームワークを利用するメソッドを実装したユーティリティクラスをAcitonクラスから利用する方法である この方法では 図 2-5 委譲を利用 のような構造となる この場合のコードは リスト 2-3 ユーティリティクラスの利用 に示すようなものになる 開発者は以下のクラスを利用するように Action クラスを作成する jp.co.intra_mart.framework.extension.common.util.serviceutils この場合 2.1.2.2 共通メソッドが含まれるクラスを継承して利用 のような多重継承の問題は出ないが ユーティリ Page 8 Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

2 アプリケーションの作成 ティを使うという点で開発者は ServiceControllerAdapter とは若干コーディングスタイルを変更する必要がある Action ServiceUtils 開発する Action #getuserinfo() #createevent() #getuserinfo() #dispatchevent() #createevent() #dispatchevent() EventManager 図 2-5 委譲を利用 作成者 : 株式会社 NTT データイントラマート Page 9

intra-mart intra-mart im-javaee Framework(Struts 連携ガイド ) リスト 2-3 ユーティリティクラスの利用 import java.io.ioexception; import javax.servlet.servletexception; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import org.apache.struts.action.action; import org.apache.struts.action.actionform; import org.apache.struts.action.actionforward; import org.apache.struts.action.actionmapping; import jp.co.intra_mart.framework.extension.common.util.serviceutils; import jp.co.intra_mart.framework.system.exception.systemexception; public class SampleAction extends Action { public ActionForward perform(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // イベントの取得 SampleEvent event = null; try { event = (SampleEvent) ServiceUtils. createevent("sampleapp", "samplekey", request, response); } catch (SystemException e) { throw new ServletException(e.getMessage(), e); } // イベントの設定 SampleForm sampleform = (SampleForm)form; event.setsampledata(sampleform.getsampledata()); // イベントの実行 try { ServiceUtils.dispatchEvent(event); } catch (Exception e) { throw new ServletException(e.getMessage(), e); } } } // 次の画面の準備 return mapping.findforward("next"); Page 10 Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

2 アプリケーションの作成 2.2 メニュー登録 intra-mart 5.1 から Struts で作成したアプリケーションを呼び出すためにメニューを登録する intra-mart 5.1 にログイングループ管理者でログインし [ ログイングループ管理 ] [ メニュー設定 ] からメニューを登録する リスト 2-4 メニュー設定 はサンプルプログラムのショッピングカートの例である ページURLは特殊な形式ではなく 通常 Strutsを呼び出すURLと同様の形式である リスト 2-4 メニュー設定 表示名 URL 項目 商品情報メンテ 内容 j2ee/sample/imart_struts/shopping/menu_to_seller_list.do 作成者 : 株式会社 NTT データイントラマート Page 11

intra-mart intra-mart im-javaee Framework(Struts 連携ガイド ) 3 サンプル ここでは Struts を利用した場合のサンプルを掲載する 3.1 前提 これらのサンプルを使うときの前提を以下に示す intra-mart のインストールが終了していること intra-mart のサンプルをインストールしていること 3.2 ショッピングカート im-javaee Framework のみを使ったサンプルとしてショッピングカートがある このサンプルのサービスフレームワーク部分を Struts に置き換えたものも同様にサンプルプログラム含まれている web.xml の以下のコメント部分を有効化することでサンプルアプリケーションは有効となる <servlet> <servlet-name>action</servlet-name> <servlet-class>org.seasar.struts.servlet.s2actionservlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/web-inf/struts-config.xml</param-value> </init-param> <!-- <init-param> <param-name>config/j2ee/sample/imart_struts/shopping</param-name> <param-value>/web-inf/struts-shopping.xml</param-value> </init-param> --> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet> im-javaee Frameworkのみを用いたときとStrutsと連携させたときの違いを 表 3-1 ショッピングカートの比較 に示す Page 12 Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

3 サンプル 表 3-1 ショッピングカートの比較 比較項目 im-javaee Framework Struts JSP /j2ee/sample/shopping /j2ee/sample/imart-struts/shopping ( コンテキストパス以下の場所 ) Java クラスのパッケージ sample.shopping sample.imart_struts.shopping 作成者 : 株式会社 NTT データイントラマート Page 13

intra-mart intra-mart im-javaee Framework(Struts 連携ガイド ) 付録 A im-javaee Framework と Struts im-javaee Framework のサービスフレームワークおよび Struts は完全には一致しないが おおよそ 表 A-1 Struts と im-javaee Framework のように分類することができる 表 A-1 Struts と im-javaee Framework 比較項目 サービスフレームワーク (im-javaee Framework) Struts 1.3 設定 service-config~.xml struts-config.xml コントローラ ServiceServlet ActionServlet 入力情報の変換 ( なし ) RequestProcessor の processactionform メソッド 入力情報 ( なし ) ActionForm 入力チェック ServiceController の check メソッド ActionForm の validate メソッド Web 層の処理 ServiceController の service メソッド Action の perform メソッド キーによる遷移先の決定 Transition の getnextpage ActionMapping の findforward メソッド 出力情報の HelperBean ( なし ) 変換 出力情報 ( なし ) ActionForm ファイルアップロード ServiceControllerAdapter の getentity メソッド ActionForm の getmultipart RequestHandler メソッド Page 14 Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

付録 B 変更内容 付録 B 変更内容 B.1 4.3 から 5.0 への変更点 B.1.1 B.1.2 B.1.3 B.1.4 検証済み Struts intra-mart 5.0 では Struts 1.2.7 で動作検証を行っている Struts の組込み方法の変更 intra-mart 4.3 では標準で Struts 1.1 が組込まれていたが intra-mart 5.0 では利用者が Struts をダウンロードし組込む方式に変更 Struts 連携方法の変更 intra-mart 4.3 以前では intra-mart が保持するログイン情報 ( ログインユーザ ログイングループ ) を取得するために特殊な仕組みが必要であったため 拡張モジュール (StrutsConnectServlet) を利用して解決していた intra-mart 5.0 ではログイン情報が容易にセッションから取り出せるため拡張モジュールを利用することなく intra-mart のメニューから直接 Struts で作成されたアプリケーションに遷移することが可能である Struts 連携モジュール StrutsConnectFilter の追加 セッション管理を intra-mart 5.0 に含まれている新規の SessionFilter に変更 ログインユーザ ログイングループ取得メソッドが非推奨となり 新規にログインユーザ情報を取得するメソッドを追加 B.2 5.0 から 5.1 への変更点 B.2.1 検証済み Struts intra-mart 5.1 では Struts 1.2.8 で動作検証を行っている B.3 5.1 から 6.0 への変更点 B.3.1 Struts を同梱 intra-mart 6.0 では Struts 1.2.9 を同梱している B.4 6.0 から 6.1 への変更点 B.4.1 Struts のバージョンを変更 intra-mart 6.1 では Struts 1.3.8 を同梱している 作成者 : 株式会社 NTT データイントラマート Page 15

intra-mart im-javaee Framework Struts 連携ガイド 第 2 版 :July 30, 2010 Copyright 2000-2010 ( 株 )NTT データイントラマート All rights Reserved. TEL: 03-5549-2821 FAX: 03-5549-2816 URL: http://www.intra-mart.co.jp/