Tetsuya Nikami Webアプリケーション・フレームワーク オープンソース時代の Web application componentsの例~
by user
Comments
Transcript
Tetsuya Nikami Webアプリケーション・フレームワーク オープンソース時代の Web application componentsの例~
IBM Japan, Ltd. オープンソース時代のWebアプリケーション・フレームワーク ~Web application componentsの例~ Manager of Solutions&Assets, GBS, IBM Japan Executive ITA Tetsuya Nikami 2009/7/27 © Copyright IBM Japan, Ltd. 2009 All rights reserved. IBM Japan, Ltd. フレームワークに求められる要件 1 システム構築のコスト削減・納期短縮・品質向上 冗長な開発対象の削減 人手による作業時間の短縮 品質の平準化と未知の技術によるリスクの回避 2 システム構築の全体最適化 システム毎に異なる標準と開発プロセスの統制 各システムに点在するライブラリーとノウハウの共有 3 システム構築要員の柔軟な編成 アプリケーション開発に必要なスキル要件 の低減 個別システムに依存しないアプリケーション 開発要員の育成 CEO COO/CFO 人事 CIO 営業 製造 システム PSU_temp_0522 2 © 2009 IBM Corporation IBM Japan, Ltd. Web application components (WACs)の概要 Point.1 お客様の業務をシステム化する上で 十分なシステム基盤機能を提供 DBMS SMTP PDF MOM Integration Logic Point.2 各種定型ロジックを自動生成するツールと 豊富なガイド類 Point.3 研修サービス、オンサイトまたはリモート・ サポート・サービスの提供 Custom component Business Logic Components Common Web Service or direct call View & Presentation Logic Web PSU_temp_0522 3 Services Guides Point.4 標準技術をベースとしたコンポーネント構 成と開発環境(JSF/Struts/Eclipse etc.) Batch Java SE / Java EE HTML/Ajax Tools Point.5 フレームワークの拡張方式を標準化 (コンポーネントの再利用が可能) Shell/EJB etc. TM言語によるシステム構築に必要な Web Web application application componentsはJava componentsはJavaTM 言語によるシステム構築に必要な 機能と支援ツールを統合したアプリケーション基盤です 機能と支援ツールを統合したアプリケーション基盤です © 2009 IBM Corporation IBM Japan, Ltd. * Express Edition(後述)のみ ソリューションの機能 Common Feature Webサービス・リクエスト制御用フレームワーク リクエスト制御(流量制限など)および外部リソー ス・アクセス用基盤(JMSアクセスなど)機能 Spring Framework連携用コンポーネント* コンポーネントの組み込み可能な実行基盤 DAOクラス生成ツール / Javaコード解析ツール 開発対象 Custom component Integration Logic Business Logic Common View & Presentation Logic Web 開発対象 (コード生成ツール / コード解析ツール* による支援あり) Batch Web Feature Batch Feature MVCフレームワーク (Base Framework / JSF / Struts*) バッチ/非同期処理用フレームワーク Webアプリケーションに必要な基盤機能 種々のジョブ呼び出し用コンポーネン ト (Shell / EJB etc.) ジョブ管理用Webアプリケーション* (セッション制御 / 画面遷移制御 / Ajax連携など) PSU_temp_0522 Formクラス生成ツール / HTML-JSP変換ツール / 設定エディター 4 © 2009 IBM Corporation IBM Japan, Ltd. (参考) Web application components V7機能一覧 2009年現在の機能一覧 Web application components Web Feature Batch 5 フレームワーク ■Batch Framework Feature フレームワーク ■Configuration Loader ■Spring連携コンポーネント Common ■Webサービス・ハンドラー Feature PSU_temp_0522 フレームワーク ■Base Framework ■JSF連携 ■Struts連携* ユーティリティー ■マルチセッション管理 ■遷移履歴管理 ■ユーザー管理 ■J2EEロール・チェック ■Ajaxレンダリング ユーティリティー ■管理コマンド ■TWS連携コンポーネント ■Webサービス・ファサード ■EJBジョブ・クライアント 開発支援ツール ■Form生成ツール ■JSP作成ツール ■CPA設定ツール ■定義ファイル生成ツール ■Reaction 単体テスト・ツール ■汎用マスター ・メンテナンス生成ツール ■FormWave 定義変換ツール 開発支援ツール ■Web管理コンソール* ■ジョブ実装クラス 単体テストツール 研修サービス ■Web Feature 向けワークショップ ■Batch Feature 向けワークショップ ユーティリティー 開発支援ツール ■サービス・スケジュール管理 ■DAO生成ツール ■Javaコード解析ツール* ■流量制限 ■ログ出力 ■DBアクセス ■JMSアクセス ■JTAユーティリティ ■SMTPメール送信 ■PDF作成 © 2009 IBM Corporation IBM Japan, Ltd. 特長とメリット1 IBMのノウハウを凝縮したフレームワーク 1 IBMが数々のJavaアプリケーション・システム構築を通じて培ったノウハウを凝縮 2 WebアプリケーションからJavaバッチまでカバーするフルスタック・アプリケーション開発フレームワーク 3 お客様から頂いたフィードバックと最新技術の取り込みを基に機能追加を実施 V7.0まで四半期に一度のペースでバージョン・アップにより57機能*を実装 *機能の内訳は機能概要をご参照ください 利用者(お客様)の ご要件 2000 2001 2002 2003 2004 2005 2006 2007 コード監査 JMS MVC ログ DB SMTP 国際化 流量制限 PDF DAO生成 Struts拡張 2008 2009 Javaバッチ Webサービス Spring拡張 マスターメンテ生成 FormWave連携 JSF拡張 提供者(IBM) V1.0 V4.0 V5.0 V6.0 V7.0 PSU_temp_0522 6 © 2009 IBM Corporation IBM Japan, Ltd. WACsとStruts、JSF WACs V7.0ではユーティリティー部分をStrutsおよびJSF上でも同様に稼働可能 アプリケーション・ユーティリティー ログ出力、 DBアクセスPDF生成など 業務共通機能 業務共通機能 BL BL (ビジネス・ ・ロジック) (ビジネス・ ・ロジック) 従来のWeb application components内の 各種ユーティリティー機能を部品化 ⇒ベース・フレームワークもStrutsも同一コードに ※以下の2つのコンポーネントを併用する必要がある ¾Component Plug-in Architecture(CPA) ¾CPA Adapter for Struts (Struts上でのみ必要) JSPなど Tag-Lib Reactionクラス Formクラス PL PL (プレゼンテーション ・ロジック) (プレゼンテーション ・ロジック) 遷移履歴管理・流量制限・ サービス・スケジュール管理など システム・ユーティリティー 実行割り振り、リクエスト解析 ベース・フレームワーク ミドルウェア PSU_temp_0522 7 JSPなど Tag-Lib Actionクラス フォーム・ビーン 実行割り振り、リクエスト解析 Struts WACsオリジナルのフレームワークと しても、Struts/JSFのフレームワーク に対する追加部品としても、ほぼ同 様の機能性をご提供できます © 2009 IBM Corporation IBM Japan, Ltd. 特長とメリット2 お客様のオープン・ソース利用戦略に応じたコンポーネント構成 Base Edition Express Edition ・標準技術およびIBM実装を中心としたコンポーネント構成 ・Open Source Software (OSS)を中心としたコンポーネント構成 ・IBM社内での継続的な機能拡張と保守 ・コミュニティーによるOSS部分の機能拡張と保守 (OSS部分以外は、IBM社内で継続的な機能拡張と保守) ・上位互換性の維持 (単純移行できない場合はドキュメントなどにより担保) ・OSSのスキルの活用が可能 ・機能差異 - JavaServer Faces連携コンポーネントの提供 - PDF作成コンポーネントの提供 - IBM FormWave for WebSphereTM連携ツールの提供 ・機能差異 - Struts連携コンポーネントの提供 - Spring連携コンポーネントの提供 Spring - Javaコード解析ツールの提供 Commons 開発支援ツール Maven Checkstyle FindBugs JMeter Commons PSU_temp_0522 8 Struts © 2009 IBM Corporation IBM Japan, Ltd. 特長とメリット3 標準技術・オープン技術を積極的に採用 1 Java SE、Java EE標準への準拠による高い移植性 2 Java EE 5仕様であるJavaServer Faces (JSF)上でのコンポーネント利用が可能 3 Struts, Spring Frameworkなどのデファクト・スタンダードOSSとの連携が可能 4 開発支援ツールをEclipseのプラグイン形式で提供 Open architecture Servlet JavaServer Pages JavaServer Faces Java Database Connectivity Java Message Service Java Mail Java Transaction API Java API for XML / Remote Procedure Call Java API for XML / Web Services PSU_temp_0522 9 Community Innovation Open standards Open source Struts Spring Framework Commons JMeter FindBugs Checkstyle Eclipse JUnit Ant Maven © 2009 IBM Corporation IBM Japan, Ltd. 実績について Web application componentsの適用実績 事例数 約250件/150社(2008/12現在) お客様事例 PSU_temp_0522 10 業種 システム概要 画面数 備考 金融 インターネット・バンキング・システム 250画面以上 ホスト接続、MQ連携など実績あり 金融 Webシステム再構築 約400画面 携帯(i-mode)クライアントの実績あり 公共 社内情報支援システム 500画面以上 リッチ(.NET)クライアントの実績あり 流通 基幹システム再構築 1000画面以上 大規模案件 流通 Web予約システム 約150画面 流量制限機能 通信・メディア B2B購買システム 600画面以上 大規模案件 製造 会計管理システム 100画面以上 システムの国際化(多言語)対応 Web Web application application componentsは業種を超えた様々なシステム構築に componentsは業種を超えた様々なシステム構築に 利用されている成熟したフレームワークです 利用されている成熟したフレームワークです © 2009 IBM Corporation IBM Japan, Ltd. Global活用について Web application componentsを使用したデリバリー体制例 PM (Japan) Web application components技術支援 (ソリューション&アセット) 業務① リーダー (Japan) Web以外の業務開発は、 日本を中心とした通常の デリバリー体制 業務② リーダー (Japan/China/India) China/Indiaのリーダーを 中心としたWeb業務開発 チーム China/Indiaのリーダーを 中心としたフレームワーク 担当チーム 全工程を担当 海外IBMチーム 主に開発工程を 担当 Web application components 全工程を担当 /共通基盤リーダー (China/India) ¾FW全体設計 ¾標準化 IBM India, ISSC は CMMI レベル5を達成しています (オプション) IBM グローバル・デリバリー・チーム PSU_temp_0522 11 IBMグローバル標準のネットワークインフラ、開発ツールおよび方法論に基づき、 IBMグローバル標準のネットワークインフラ、開発ツールおよび方法論に基づき、 海外の開発拠点を中心としたデリバリー体制によりご提供しています 海外の開発拠点を中心としたデリバリー体制によりご提供しています また、WACsは海外のプロジェクトでも使われています また、WACsは海外のプロジェクトでも使われています © 2009 IBM Corporation IBM Japan, Ltd. 事例のご紹介 Web application componentsの導入事例 株式会社三井住友銀行様 / 株式会社日本総合研究所様 ・下記サイトをご参照ください (ProVISION No.59) 「オープンソース・ソフトウェアを効果的に採用し、システム構築期間の短縮とコスト削減を実現」 http://www.ibm.com/jp/provision/no59/customer_interview2.html PSU_temp_0522 12 © 2009 IBM Corporation IBM Japan, Ltd. WACs: Web application components IBMのご提供する様々なソフトウェア資産 (アセット) WebSphere JavaScript JavaScript ライブラリ ライブラリ (B-Cat) (B-Cat) Webアプリケーション基盤 Webアプリケーション基盤 (WACs) (WACs) <流量制限、ログ出力等> <流量制限、ログ出力等> 表計算 表計算 JavaScript JavaScript (B-Cat) (B-Cat) WPS, WBMonitor WPS SOAP流量制御 SOAP流量制御 (WACs) (WACs) VB画面移行 VB画面移行 ツール ツール (B-Magic) (B-Magic) 携帯向け画面 携帯向け画面 変換 変換 (Transcoding (Transcoding Publisher) Publisher) e-learning基盤 e-learning基盤 (Webcast-D) (Webcast-D) Javaバッチ基盤 Javaバッチ基盤 (WACs) (WACs) マルチチャネル・ マルチチャネル・ サーバー基盤 サーバー基盤 (Channel (ChannelIntegration Integration Server) Server) <MCT, <MCT,Connector> Connector> ワークフロー基盤 ワークフロー基盤 (FormWave) (FormWave) WPS, WESB, WBSF etc. 印刷出力ハブ 印刷出力ハブ (B-Print) (B-Print) <SVF連携> <SVF連携> 13 インダストリー・ソリューション インダストリー・ソリューション <銀行融資、銀行SOA、銀行 <銀行融資、銀行SOA、銀行 基盤、保険、病院、販売管理、 基盤、保険、病院、販売管理、 生産管理、文書管理、組込み、 生産管理、文書管理、組込み、 CO2削減> CO2削減> RSA Rational PSU_temp_0522 BPELイベント基盤 BPELイベント基盤 (BPI) (BPI) 画面生成ツール 画面生成ツール (WACs) (WACs) DBアクセス部品生成ツール DBアクセス部品生成ツール (WACs) (WACs) コード解析ツール コード解析ツール (WACs) (WACs) モデリング支援ツール モデリング支援ツール (GTAM) (GTAM) <一覧生成、一括変換、 <一覧生成、一括変換、 チェック、クラス図生成> チェック、クラス図生成> © 2009 IBM Corporation IBM Japan, Ltd. ご提供サービス ご導入形態に合わせ、研修サービスやサポート・サービスなどを別途ご契約いただけます。 個別システムへの導入 (アプリケーション・システム・ライセンス契約) お客様主体で導入 (支援契約) 研修サービス オンサイト/リモート・サポート IBM主体で導入 (請負契約) 弊社SEによる導入 複数システムへの導入 (アプリケーション・システム・ライセンス契約 または コーポレート・ライセンス契約) PSU_temp_0522 14 サポート・サービス(QAサポート、研修サービス、部品設計・実装のコンサルティング) © 2009 IBM Corporation