intra-mart im-J2EE Framework

Similar documents
intra-mart im-JavaEE Framework

intra-mart WebPlatform/AppFramework

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 — イベントナビゲータ 開発ガイド   初版  

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


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

intra-mart WebPlatform/AppFramework

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

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

IM-FormatCreator

IM-SecureBlocker

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

WebOTXマニュアル

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

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

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 WebPlatform/AppFramework

SpringSecurity

PowerPoint Presentation

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

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

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

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

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

intra-mart WebPlatform / AppFramework

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

intra-mart Accel Platform

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

intra-mart WebPlaform / AppFramework

プレポスト【問題】

V8.1新規機能紹介記事

intra-mart WebPlatform/AppFramework

intra-mart Accel Platform

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

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

PowerPoint Presentation

WebOTXマニュアル

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

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

WTM2019SingleSignOn

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

intra-mart WebPlatform/AppFramework

IM-Mail

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

スライド 1

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

相続支払い対策ポイント

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

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

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

Microsoft PowerPoint - Lecture_3

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

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

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

PowerPoint プレゼンテーション

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

intra-mart WebPlatform/AppFramework

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

IM-SecureSignOn

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

Gartner Day

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

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

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

intra-mart Accel Collaboration — ファイルライブラリ ユーザ操作ガイド   第3版  

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

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

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

SmartBrowser_document_build30_update.pptx

一般社団法人ビジネス機械・情報システム産業協会


intra-mart Accel Collaboration — ファイルライブラリ ユーザ操作ガイド   第5版  

Java言語 第1回

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 プレゼンテーション

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

Javaと マルチスレッド

- 2 Copyright (C) All Rights Reserved.

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

OpenRulesモジュール

intra-mart e-Builder ver 5

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

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

第13回講義

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

Oracle Universal Content Management ドキュメント管理 クイック・スタート・チュ-トリアル

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

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

WebOTXマニュアル

Transcription:

intra-mart im-j2ee Framework Version 6.0 Struts 連携ガイド 初版 2006 年 8 月 11 日

変更年月日 2006/8/11 初版 << 変更履歴 >> 変更内容

目次 << 目次 >> 1 はじめに...3 1.1 目的...3 2 アプリケーションの作成...3 2.1 前提...3 2.2 Strutsからim-J2EE Frameworkのイベントフレームワークへの連携...3 2.2.1 仕組...3 2.2.2 呼び出し方法...4 2.3 メニュー登録...11 3 サンプル...12 3.1 前提...12 3.2 ショッピングカート...12 付録 A im-j2ee 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 作成者 : 株式会社 NTT データイントラマート Page i

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

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

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

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

intra-mart intra-mart im-j2ee 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.2.2.2 共通メソッドが含まれるクラスを継承して利用これはイベントフレームワークを利用するメソッドを実装したActionクラスのサブクラスを作成する方法である この方法では 図 2-4 継承を利用 のような構造となる この場合のコードは リスト 2-2 イベントフレームワークを使用するメソッドがあるActionクラス に示すようなものになる 開発者は以下のクラスを継承して新しい Action クラスを作成する jp.co.intra_mart.framework.extension.struts.action.intramartaction この方法を採用した場合 Action クラスを実装する開発者はプレゼンテーションフレームワークの jp.co.intra_mart.framework.presentation.service.presentationservicecontroller やサービスフレー ムワークの jp.co.intra_mart.framework.base.service.servicecontrolleradapter とほぼ同様の感覚でコ Page 6 Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

2 アプリケーションの作成 ーディングすることが可能である 欠点としては 開発者が他の Action クラスを extends して開発をしたい場合 多重継承の問題が出てくるという点が挙げられる Action IntramartAction #getuserinfo() #createevent() #dispatchevent() EventManager 開発する Action 図 2-4 継承を利用 作成者 : 株式会社 NTT データイントラマート Page 7

intra-mart intra-mart im-j2ee 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.2.2.3 共通メソッドが含まれるクラスに委譲して利用これはイベントフレームワークを利用するメソッドを実装したユーティリティクラスをAcitonクラスから利用する方法である この方法では 図 2-5 委譲を利用 のような構造となる この場合のコードは リスト 2-3 ユーティリティクラスの利用 に示すようなものになる 開発者は以下のクラスを利用するように Action クラスを作成する jp.co.intra_mart.framework.extension.common.util.serviceutils この場合 2.2.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-j2ee 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.3 メニュー登録 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-j2ee Framework(Struts 連携ガイド ) 3 サンプル ここでは Struts を利用した場合のサンプルを掲載する 3.1 前提 これらのサンプルを使うときの前提を以下に示す intra-mart のインストールが終了していること intra-mart のサンプルをインストールしていること エラー! 参照元が見つかりません エラー! 参照元が見つかりません の手順に従い Struts がインストール済みであること エラー! 参照元が見つかりません に記述にある we.xml の設定が行われていること (struts-shopping.xml が設定ファイルとして追加されていること ) 3.2 ショッピングカート im-j2ee 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-j2ee Framework のみを用いたときと Struts と連携させたときの違いを 表 3-1 ショッピングカートの比較 に示 す Page 12 Copyright 2000-2006 株式会社 NTT データイントラマート All rights Reserved.

3 サンプル 表 3-1 ショッピングカートの比較 比較項目 im-j2ee 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-j2ee Framework(Struts 連携ガイド ) 付録 A im-j2ee Framework と Struts im-j2ee Framework のプレゼンテーションフレームワーク サービスフレームワークおよび Struts は完全には一致し ないが おおよそ 表 A-1 Struts と im-j2ee Framework のように分類することができる 表 A-1 Struts と im-j2ee Framework 比較項目 サービスフレームワーク (im-j2ee Framework) Struts 1.2 設定 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 を同梱している 作成者 : 株式会社 NTT データイントラマート Page 15

intra-mart im-j2ee Framework Struts 連携ガイド 初版 :August 11, 2006 Copyright 2000-2006 ( 株 )NTT データイントラマート All rights Reserved. TEL: 03-5549-2821 FAX: 03-5549-2816 URL: http://www.intra-mart.co.jp/