AD Implementation Toolkitのご紹介 IBM Global標準フレームワーク 1 日本アイ・ビー・エム株式会社
by user
Comments
Transcript
AD Implementation Toolkitのご紹介 IBM Global標準フレームワーク 1 日本アイ・ビー・エム株式会社
IBM Global標準フレームワーク AD Implementation Toolkitのご紹介 日本アイ・ビー・エム株式会社 EA&T.アセット技術 高石 稔([email protected]) 1 02. ADIT (WACs) Disclaimer この資料は日本アイ・ビー・エム株式会社ならびに 日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりませ ん。 当資料は、資料内で説明されている製品の仕様を保証するものではありません。 資料の内容には正確を期するよう注意しておりますが、この資料の内容は2010年12月現在の情 報であり、製品の新しいリリース、PTFなどによって動作、仕様が変わる可能性があるのでご注意 下さい。 今後国内で提供されるリリース情報は、対応する発表レターなどでご確認ください。 2 WAS V7 最新動向Workshop 2 02. ADIT (WACs) Agenda §1. Web application components概要 – §1.1. Web application componentsとは §2. AD Implementation Toolkit概要 – §2.1. AD Implementation Toolkitとは – §2.2. AD Implementation Toolkit提供機能 – §2.3. AD Implementation Toolkit適用効果 §3.各コンポーネントの紹介 – – – – – – – – – – – §3.1. Recipe for Service Component (R4SC) §3.2. CTE Runtime Services (CTE RTS) §3.3. Application Development Automatic Transforms (ADAT) §3.4. CTE JPA Accelerator §3.5. CTE Application Deployment Accelerator §3.6. Input assistant for Web applications (B-Cat) §3.7. CTE Batch Execution Services (JBeX) §3.8. UI Design-to-Code Generator (JSP & Form Generator) §3.9. Data Access Object Generator §3.10. Web Controller Utilities §3.11. SOA Application Template Feature WAS V7 最新動向Workshop 3 1章では、Web application componentsの概要について説明します。 2章では、AD Implementation Toolkitの概要について説明します。 3章では、AD Implementation Toolkitの提供する各コンポーネントを紹介します。 当資料では以下の製品名、方法論、パターンに対し、( )内の略語を使用しています。 製品名 WebSphere Application Server WebSphere Business Modeler Rational Software Architect WebSphere Integration Developer Tivoli Workload Scheduler (WAS) (WBM) (RSA) (WID) (TWS) 方法論 Service-oriented modeling and architecture Component Business Modeling Model Driven Development (SOMA) (CBM) (MDD) パターン Dependency Injection Data Transfer Object Data Access Object (DI) (DTO) (DAO) 3 02. ADIT (WACs) §1. Web application components概要 4 WAS V7 最新動向Workshop 4 02. ADIT (WACs) Web application componentsとは 1 IBMが数々のJavaアプリケーション・システム構築を通じて培ったノウハウを凝縮 2 WebアプリケーションからJavaバッチまでカバーするフルスタック・アプリケーション開発フレームワーク 3 お客様から頂いたフィードバックと最新技術の取り込みを基に機能追加を実施 利用者(お客様)の ご要件 2000 2001 2002 2003 2004 2005 2006 2007 コード監査 JMS MVC ログ DB SMTP 国際化 流量制限 PDF DAO生成 Struts拡張 2008 2009 Javaバッチ Webサービス 2010 LDAP Spring拡張 Ajax マスターメンテ生成 FormWave連携 V5.0 V6.0 JSF拡張 提供者(IBM) V1.0 V4.0 V7.0 2009年11月よりIBM Global標準フレームワークであるAD Implementation Toolkit (ADIT)の一部として統合されました。 5 WAS V7 最新動向Workshop Web application componentsは、IBMが数々のJavaアプリケーション・システム構築を通じて培ったノウ ハウを凝縮し、Webオンライン・アプリケーションから Javaバッチ・アプリケーションまでカバーするフル スタック・アプリケーション開発フレームワークです。お客様から頂いたフィードバックの反映と共に最 新技術を取り込みながら機能追加を実施しています。 また、Web application componentsは、2009年11月よりIBM Global標準フレームワークであるAD Implementation Toolkit (ADIT)の一部として統合されました。 次ページ以降では、このAD Implementation Toolkit (ADIT)についてご説明します。 5 02. ADIT (WACs) §2. AD Implementation Toolkit概要 6 WAS V7 最新動向Workshop 6 02. ADIT (WACs) AD Implementation Toolkitとは Java/SOAアプリケーション開発フレームワーク – クロス・インダストリーで再利用可能な実行コンポーネント (Java、JavaScript、シェルなど) – 設計・開発の生産性を向上させるリファレンス・アーキテク チャーやコード生成などの開発支援ツール 7 WAS V7 最新動向Workshop AD Implementation Toolkitは、Java/SOAアプリケーション開発フレームワークです。クロス・インダスト リーで再利用可能な実行コンポーネントと、設計・開発の生産性を向上させるリファレンス・アーキテク チャーやコード生成などの開発支援ツールを提供します。 7 02. ADIT (WACs) AD Implementation Toolkit概要 コンポーネント構成標準 (R4SC) 自動生成 ツール html UI Design-to-Code Generator (JSP & Form Generator) Web Controller Utilities 画面遷移 画面遷移 管理 管理 Struts Struts Input assistant for Web applications (B-Cat) Business Logic Data Access Object Business BusinessLogic Logic DAO DAO サービス サービス 時間管理 時間管理 Business BusinessLogic Logic DAO DAO Application Utility DDL/SQL DB DB DB MQ MQ キャッシュ キャッシュ Services ルール ルール Webサービス Webサービス ハンドラー ハンドラー Base Utility DAO Generator CTE Runtime Services (CTE RTS) セッション セッション データ管理 データ管理 流量制限 流量制限 Webサービス Webサービス (JAX-RPC/WS) (JAX-RPC/WS) AD Automation Transforms (ADAT) UMLモデル セキュリティ セキュリティ ワークフロー ワークフロー フォーマット フォーマット 監査 監査 コンフィグレーション コンフィグレーション 文書管理 文書管理 ディレクトリ ディレクトリ 採番 採番 ログ出力 ログ出力 例外ハンドラ 例外ハンドラ Spring SpringFramework Framework スケジューラー スケジューラー (TWSなど) (TWSなど) CTE Batch Execution Services (JBeX) バッチ実行・管理 バッチ実行・管理 ADIT ADIT Java JavaBatch Batch 8 WAS V7 最新動向Workshop AD Implementation Toolkitの概要について説明します。 青色の枠がAD Implementation Toolkitの提供する機能、黄色の枠が開発対象になります。 開発用途に応じたAD Implementation Toolkitの特徴は次の通りです。 Webアプリケーション開発 ・UI Design-to-Code Generator (JSP & Form Generator)によるJSPやFormクラスの自動生成 ・Input assistant for Web applications (B-Cat)による入力支援機能 ・Web Controller Utilityによる画面遷移管理、セッションデータ管理、サービス時間管理、流量制限 ・MVCフレームワークとしてOpen Source Software (OSS) のStrutsを利用 Webサービス・プロバイダー開発 ・Recipe for Service Component (R4SC)、 AD Automation Transforms (ADAT)によるサービス・コン ポーネントの半自動生成 ・Web Controller Utilityによるサービス時間管理、流量制限 ビジネス・ロジック開発 ・DAO GeneratorによるDAO/DTOの自動生成 ・CTE Runtime Services (CTE RTS)の提供する基盤コンポーネントの利用 ・DIコンテナーとしてOpen Source Software (OSS)のSpring Frameworkを利用 Javaバッチ・プログラム開発 ・CTE Batch Execution Services (JBeX)の提供するJavaによるバッチ実行管理の基盤機能とバッチ 処理プログラムの実行制御用APIの利用 8 02. ADIT (WACs) AD Implementation Toolkit提供機能 機能名 機能概要 Recipe for Service Component (R4SC) SOAアプリケーション開発のリファレンス・アーキテクチャー CTE Runtime Services (CTE RTS) コンフィグレーション、ロギング、例外処理、キャッシュ、採番、ドキュメン ト管理、監査など16個のコンポーネントまたはインターフェース AD Automation Transforms (ADAT) R4SCパターンに基づいたJavaソースコードを生成するツール。生成さ れたコードはCTE Runtime Serviceを利用 CTE JPA Accelerator JPA (Java Persistence API)に関するガイドやベストプラクティスなどの ドキュメントおよびサンプル・コード CTE Application Deployment Accelerator WAS環境構築用シェル。WASクラスター構成やスタンドアロン構成 / サ ーバーの起動停止 / アプリケーションのデプロイなど Input assistant for Web applications (B-Cat) Webアプリケーションの入力支援機能。カスタム・タグによりVBのような 入力支援機能を実現 CTE Batch Execution Services (JBeX) Javaによるバッチ実行管理の基盤機能 とバッチ処理プログラムの実行 制御用APIを提供するフレームワーク UI Design-to-Code Generator (JSP & Form Generator) Webアプリケーション開発で必要となるJSPやFormクラスを生成するツ ール Data Access Object Generator DDLやSQLからDAO/DTOクラスを生成するツール Web Controller Utilities システム・ユーティリティ(画面遷移管理、流量制限、サービス時間管理 )、Webサービスハンドラー、WACs Struts Adapter、WACs Spring Adapter SOA Application Template Feature Struts/WACsを使ったSOA開発のガイド、拡張機能を提供 9 WAS V7 最新動向Workshop AD Implementation Toolkitの提供機能の一覧です。 各機能の詳細については、後続のページで説明していきます。 9 02. ADIT (WACs) AD Implementation Toolkit適用効果 1 システム構築の期間短縮・コスト削減・品質向上 開発対象の削減による作業時間の短縮とコスト削減 実績のあるフレームワークを活用することで品質を確保 2 システム構築の全体最適化 システム毎に異なる標準と開発プロセスの統制 各システムに点在するライブラリーとノウハウの共有 3 システム構築要員の柔軟な編成 4 アプリケーション開発に必要なスキル要件の低減 個別システムに依存しないアプリケーション開発要員の育成 SOAアプリケーション開発における複雑性の低減 SOAアプリケーション開発のベスト・プラクティスを活用することでビジ ネス・ロジックの開発に集中 10 WAS V7 最新動向Workshop AD Implementation Toolkitを適用することで、次の効果が期待できます。 1.システム構築の期間短縮・コスト削減・品質向上 開発対象の削減により作業時間を短縮し、コストを削減することが可能です。また、実績のあるフ レームワークを活用することで品質が確保できます。 2.システム構築の全体最適化 システム毎に異なる標準と開発プロセスを統制し、各システムに点在するライブラリーとノウハウを 共有することが可能です。 3.システム構築要員の柔軟な編成 アプリケーション開発に必要なスキル要件を低減し、個別システムに依存しないアプリケーション 開発要員の育成が可能です。 4.SOAアプリケーション開発における複雑性の低減 SOAアプリケーション開発のベスト・プラクティスを活用することでビジネス・ロジックの開発に集中 できます。 10 02. ADIT (WACs) §3.各コンポーネントのご紹介 11 WAS V7 最新動向Workshop 11 02. ADIT (WACs) R4SC / ADAT / CTE RTSの関係 CBM (Component Business Modeling) SOMA (Service Oriented Modeling and Architecture) Identification Specification Realization Implementation SOMA Modeling Environment サービス・コンポーネント 開発のベストプラクティス SOMA v3.2に含まれる Architectural Templateの 1つ Recipe for Service Component (R4SC) AD Automation Transforms (ADAT) R4SCベースのUMLモデ ルからCTE RTSを使った コードを生成するツール CTE Runtime Services (CTE RTS) 製品や技術に依存しない共通イ ンターフェース R4SCパターンを使ったサービ ス・コンポーネント 12 WAS V7 最新動向Workshop ここでは、R4SC / ADAT / CTE RTSの関係を説明します。 IBMでは SOMA(Service-oriented modeling and architecture)と呼ばれるSOAのサービス・モデリング の手法が確立され使用されています。 SOMAでは、CBM (Component Business Modeling)によるビジネス分析を入力として、サービスの識別 (Identification)、仕様化(Specification)、実現化(Realization)、実装(Implementation)の作業を行ないま す。 Recipe for Service Component(R4SC)は、サービスの仕様化、実現化作業におけるサービス・コン ポーネントの設計・開発のベストプラクティスであり、SOMA v3.2に含まれるArchitectural Templateの 1つです。 AD Automation Transforms (ADAT)は、R4SCベースのUMLモデルからCTE RTSを使ったコードを生 成するツールです。 CTE Runtime Services (CTE RTS)は、製品や技術に依存しない共通インターフェースを提供し、 R4SCのデザイン・パターンを使用したサービス・コンポーネントの実装に使用されます。 CBM、SOMAについては下記のリンクもご参照ください。 Component business modeling http://www-935.ibm.com/services/jp/index.wss/offering/bcs/a1021760 Service Oriented Modeling and Architecture http://www.ibm.com/developerworks/library/ws-soa-design1/ 12 02. ADIT (WACs) Recipe for Service Component (R4SC)とは SOAアプリケーション開発のリファレンス・アーキテクチャー Service Componentの設計・開発のベスト・プラクティスとしてService Component PatternとService Integration Patternを定義 Ajax B2B <other> 6 5 7 8 9 atomic and composite Service Provider 2 Service Components Operational Systems (Applications & Data) 1 Packaged Application Custom Application OO Application Governance 3 Services Data Architecture (meta-data & services) & Business Intelligence Composition; choreography; business state machines Quality of Service (Security, Management & Monitoring Infrastructure Services) 4 Business Process Integration (Enterprise Service Bus) Service Consumer Portal WSRP Consumers SOA Solution Stack 13 WAS V7 最新動向Workshop Recipe for Service Component (R4SC)は、SOAアプリケーション開発のリファレンス・アーキテク チャーです。 下図はSOA Solution StackはIBMのSOAコミュニティーが作成したSOAのリファレンス・モデルです。 コンポーネント、サービス、プロセスを元にして実行時のソリューションの概念的なビューを表し、9つ のレイヤーで成り立っています。 Recipe for Service Component(R4SC)は、サービスの機能を実現するService Componentの設計・開 発のベスト・プラクティスとして、Service Component PatternとService Integration Patternの2つのデ ザイン・パターンを提供しています。 SOA Solution Stackについては下記のリンクもご参照ください。 Design an SOA solution using a reference architecture http://www.ibm.com/developerworks/library/ar-archtemp/ 13 02. ADIT (WACs) Customer Browse r Email Vendor Visibility Services Le ga cy Process Services Call Call Center Center Pa ck ag e Business Services Channels Forms Ex ter na l CTE Runtime Services (CTE RTS)とは Registration Claims Intake Self-Service Self-Service Workplace Workplace Screen for Information Optimization needs Services Services Data Data Phone PDA Vendor / Partner Systems Risk Data Management Data Electronic ElectronicBusiness Business Gateway Gateway Enterprise System Base Multi Channel Components Configuration MVC Base Data Access Rules Documents Logging MVC Portal Messaging Auditing Formatting Caching 9 16個のコンポーネントまた はインターフェースを提供 9 100K Stepのコードと900 ページのドキュメント Integration (ESB) Exceptions 9 Javaアプリケーションや SOAビジネス・サービスを 開発するための基盤サー ビスを提供 Services Workflow Centralized ID Security Directory Security 14 Systems Management Infrastructure & Technology Policies Ontology Industry Fabric WAS V7 最新動向Workshop CTE Runtime Services (CTE RTS)は、JavaアプリケーションやSOAビジネス・サービスを開 発するための基盤サービスです。 コンフィグレーション、ロギング、例外処理、キャッシュ、採番、ドキュメント管理、監査など16個 のコンポーネントまたはインターフェースを提供します。 14 02. ADIT (WACs) CTE RTSは製品や技術に依存しない共通インターフェースを提供 複数実装に対する共通 インターフェースを提供 アプリケーションの可搬 性が向上 SpringやStrutsなどの OSSを活用 インターフェースを共通 化することで個別案件で 実施した追加機能をア セットに取り込み易くする 15 WAS V7 最新動向Workshop CTE RTSでは製品や技術に依存しない共通インターフェースを定義し、共通インターフェースの実装 を複数提供しています。 実装にはSpringやStrutsなどのOpen Source Software (OSS)を活用しています。 また、インターフェースを共通化することで個別案件で実施した追加機能の取り込みを容易にしてい ます。 15 02. ADIT (WACs) CTE RTS提供機能 CTE RTSは実装技術とビジネス・ロジックを分離 Component Service Interface Implementations Additional function provided Configuration Custom Spring None Logging Custom Log4J, JDK Logger None Rules Base on JSR94 JBOSS Rules, iLOG* None Document Mgt Custom DB2CM, FileNet* None Workflow Custom WPS None Directory* Custom LDAP None Centralize ID Custom Custom ランダムでユニークなIDを生成 Exceptions Custom Custom ポリシーをベースとした例外処理 Messaging Custom / JMS JMS 共通メッセージ処理パターン Caching Based on JSR107 Custom, DynaCache* ビジネス・オブジェクトのキャッシングAPI Auditing Custom Custom CBE (Common Business Event)を使った監査イベント の生成と保存 Data Access Custom JDBC, JPA R4SCパターンを使ったデータ・アクセス実装 Security Custom TAM 認可とセキュリティ監査イベント Multi-Channel None Struts, JSR-168(Portal) マルチ・チャネル対応のMVCフレームワーク 16 WAS V7 最新動向Workshop CTE RTSの提供機能の一覧です。 CTE RTSでは実装技術とビジネス・ロジックを分離した形で設計されています。 16 02. ADIT (WACs) Application Development Automatic Transforms (ADAT)とは UMLモデルからJavaソース・コードを生成するMDD支援ツールです UMLモデルからJavaソース・コードを生成するMDD支援ツールです SOAデザイン・パターンに準拠したコードを生成します SOAデザイン・パターンに準拠したコードを生成します –– サービス・コンポーネント サービス・コンポーネント (ドメイン・オブジェクト、サービス・メディエーターなど) (ドメイン・オブジェクト、サービス・メディエーターなど) –– JDBCまたはJPAを利用したDBアクセス・コンポーネント JDBCまたはJPAを利用したDBアクセス・コンポーネント 生産性の向上、開発期間の短縮、品質の確保を実現します 生産性の向上、開発期間の短縮、品質の確保を実現します RSA RSA WBM WBM UML model 生成コード Domain Object Java project Service Mediator UMLモデルのエクスポート Service Contract ADAT Service Result SCAモジュールをWIDにインポート Web project WID WID WBM : WebSphere Business Modeler RSA : Rational Software Architect WID : WebSphere Integration Developer 17 EJB project SCA project WAS V7 最新動向Workshop Application Development Automatic Transforms (ADAT)は、UMLモデルからJavaソース・コードを生 成するMDD (Model Driven Development)支援ツールです。 R4SCベースのサービス・コンポーネント、およびJDBCまたはJPAを利用したDBアクセス・コンポーネ ントのJavaソース・コード生成します。 本ツールにより、生産性の向上、開発期間の短縮、品質の確保を実現します。 17 02. ADIT (WACs) ADATと関連ツールを使った開発の流れ 1 2 WBM WBM Business Process Business Items 3 9 WID WID RSA RSA BPEL 4 UML 5 11 6 7 WSDL 10 Deploy 12 1. WBMでビジネス・プロセスをモデリング 2. ビジネス・プロセスの更新 3. RSAにモデルをインポート 4. ハイレベル設計を更新(ステレオタイプ追加) 5. Transform (コード生成) 6. 詳細設計モデルに変換 7. ビジネス・ロジックの設計 8. ロジックの実装 9. WIDにBPMをインポート 10. WIDにサービスをインポート 11. WIDでビジネス・プロセスを実装 12. サーバーにデプロイする 8 JAR WAR EAR Service Implementation ADAT Deploy DatabaseServer Server Database ApplicationServer Server Application 18 WAS V7 最新動向Workshop ここでは、ADATと関連ツールを使った開発の流れを説明します。 ADATは上記手順4から手順8までの開発を支援します。 4. ハイレベル設計を更新(ステレオタイプ追加) CTE Profileステレオタイプを使用して、UMLモデル上のクラスとインターフェースにステレオタイプを追 加します。 5. Transform (コード生成) ADATツールを使用して、R4SCやCTE RTSを使ったクラスやインターフェースのソース・コードを生成 します。(属性などが定義された半完成のソースコード) 6. 詳細設計モデルに変換 Java-to-UML変換を使用して、CTE RTSを使用したソース・コードを詳細設計モデルへ変換します。 7. ビジネス・ロジックの設計 シーケンス図を使用して、定義されたサービス・メソッドそれぞれにビジネスロジックを設計します。 8. ロジックの実装 サービス・メソッド内で、ビジネスロジックを実装します。 18 02. ADIT (WACs) CTE JPA Acceleratorとは JPA (Java Persistence API)に関するガイドやベストプラクティ スなどのドキュメントおよびサンプル・コードを提供 – JPAを使うためのベスト・プラクティス – オープンソースのコンポーネントやツールの導入ガイド – JPAの概念や実装、動作を理解するためのサンプル 初めてJPAを採用するプロジェクトでは適用をご検討ください – アプリケーションとデータの整合性を保つため、明示的なJavaEEトランザ クション処理でJPAを使う場合の処理パターンとエラー処理などの考慮事 項 – データとプロセスの整合性を確認するWPSのような暗黙的トランザクショ ン処理が行われる環境でJPAを使うためのガイドライン 19 WAS V7 最新動向Workshop CTE JPA Acceleratorは、JPA (Java Persistence API)に関するガイドやベストプラクティスなどのド キュメントおよびサンプル・コードを提供します。 アプリケーションとデータの整合性を保つため、明示的なJavaEEトランザクション処理でJPAを使う場 合の処理パターンとエラー処理などの考慮事項や、データとプロセスの整合性を確認するWPSのよう な暗黙的トランザクション処理が行われる環境でJPAを使うためのガイドラインなどを含んでおり、初め てJPAを採用するプロジェクトでは適用をご検討ください。 19 02. ADIT (WACs) CTE Application Deployment Acceleratorとは WAS環境構築用シェルを提供 – wsadmin コマンドの固有の手続きを簡素化 Operating system 呼び出し側 呼び出し側 提供機能 提供機能 クラスターの作成/更新 Jython クラスターメンバーの作成/更新 データソースの作成/更新 JAASの作成 アプリケーションの インストール/アンインストール クラスターの始動/停止 サーバーの起動/停止 ユーザー ユーザー Shell 20 アプリケーションの始動/停止 アプリケーションの一覧表示 スタンドアロンサーバーの 始動/停止 機能テスト用の自動スクリプト 環境設定用スクリプトの生成 プロジェクトのコピー WAS V7 最新動向Workshop CTE Application Development Acceleratorは、 WAS環境構築用シェルを提供します。 wsadminコマンドの固有手続きを簡素化し、WASクラスター構成やスタンドアロン構成 / サーバーの起 動停止 / アプリケーションのデプロイなどを実施するシェルを提供します。 20 02. ADIT (WACs) Input assistant for Web applicationsとは JavaScriptを用いてVBのような入力支援機能を実現します。 – JavaScriptを直接書くのではなく、JSPカスタムタグとして提供します。 – カスタムタグがサーバーで実行されると、入力支援機能を実現するJavaScriptが生成されます。 Server JSP JSP Client __/__/__ HTML+ HTML+ JavaScript JavaScript RAD CustomTag CustomTag Handler Handler Browser Browser JavaScript JavaScript Lib Lib 21 ... ... <input <input type="text" type="text" id="Text1" id="Text1" size="20"/> size="20"/> <ia:mask_assist <ia:mask_assist mask="##/##/##" mask="##/##/##" for="Text1"/> for="Text1"/> ... ... WAS V7 最新動向Workshop Input assistant for Web applicationsは、JavaScriptを用いてVBのような入力支援機能を実現します。 JavaScriptを直接書くのではなく、JSPカスタムタグを利用してWeb画面を開発することが可能です。 カスタムタグがサーバーで実行されると、入力支援機能を実現するJavaScriptが生成されます。 21 02. ADIT (WACs) Input assistant for Web applications提供機能 主な機能 入力文字チェック(英字、数字、英数字、全角…) 日本語入力モードの設定(オン、オフ) 最大/最小文字数チェック 指定入力文字数で自動的にフィールドを移動 フィールド移動キーの指定(Tabキーの代わりにEnter キーで移動) 入力マスク機能 日付のマスク入力、日付のチェック、カレンダー入力 数値のフォーマット(カンマ編集、小数の桁数指定) PFキーの指定 選択リスト、サジェスト・リスト(編集可能リスト) 簡易マクロ機能(記述の簡便性のため機能をまとめてマク ロとする) スプレッドシート機能 記述例 <input <input type="text" type="text" id="Text1" id="Text1" size="20"/> size="20"/> <ia:mask_assist <ia:mask_assist for="Text1" for="Text1" mask="##/##/##" mask="##/##/##" /> /> 22 WAS V7 最新動向Workshop Input assistant for Web applicationsの提供機能の一覧です。 22 02. ADIT (WACs) CTE Batch Execution Services (JBeX)とは CTE Batch Execution Services (JBeX) は、Javaによるバッチ実行管理の基盤機能 とバッチ処理プログラムの実行制御用APIを提供するフレームワークです。 業務システム 呼び出し側 呼び出し側 システムの システムの ユーザー ユーザー ユーザー対話型の アプリケーション (Webアプリケーションなど) 定期実行型の アプリケーション Webサービス 外部システム 外部システム など など 提供機能 提供機能 登録ジョブを実行する ジョブ実行をキャンセルする ジョブ状況を照会する ジョブ実行結果を得る ジョブ同時実行数を制御する キューの開閉を管理する ジョブ実行制御用API 機能拡張用API ジョブ前後処理用API ジョブ優先度制御機能 ジョブ単体テスト用クラス Apache Ant / JMeter連携機能 システム システム 運用・管理者 運用・管理者 業務アプリケー 業務アプリケー ション ション 開発者 開発者 基盤機能 基盤機能 開発者 開発者 23 CTE Batch Execution Services (JBeX) は、Javaによるバッチ実行管理の基盤機能とバッチ処理プロ グラムの実行制御用APIを提供するフレームワークです。 バッチ実行管理の基盤機能としては、登録ジョブを実行する、ジョブ実行をキャンセルする、ジョブ状 況を照会する、ジョブ実行結果を得る、ジョブ同時実行数を制御する、キューの開閉を管理する、など の機能を提供しています。 これらの機能は、Webアプリケーションなどのユーザー対話型のアプリケーション、スケジューラーなど の定期実行型のアプリケーション、外部システムへWebサービスを公開するWebサービス・プロバイ ダーから呼び出すことが可能です。 また、業務アプリケーション開発者、基盤機能開発者に対し、ジョブ実行制御用API (Jobインター フェース、AbstractJob抽象クラス)、ジョブ前後処理用API (ジョブリスナー)、ジョブ単体テスト用クラス、 機能拡張用API(プラグイン、リクエスト・フィルターなど)、ジョブ優先度制御機能、Apache Ant/JMeterとの連携機能などを提供します。 23 02. ADIT (WACs) CTE Batch Execution Services (JBeX)の全体構造 オンラインアプリケーションからの非同期処理、定期的なバッチ処理の両方に対応可能。 スケジューラーとの連携用機能を提供します。 各種リソース MQ DBMS ファイル 帳票 API JMS/WMQ API JDBC API Java I/O API Printing API ネイティブソケット通信(J2SE、JavaEE環境) or HTTP通信(JavaEE環境) 管理コマンド 管理コマンド スケジューラー スケジューラー (( TWSなど TWSなど )) エグゼキューター(ジョブ実行) エグゼキューター(ジョブ実行) 【主な機能・役割】 主な機能・役割】 【主な機能・役割】 主な機能・役割】 ジョブクライアントとのI/F提供 ジョブリクエストの受付と処理 ジョブの実行依頼 状況問い合わせ要求 など リポジトリーの操作と情報提供 ジョブ実行制御用APIの提供 ジョブの実行 スレッド型実行 プロセス型実行 同時実行数の制御 ジョブ優先度の制御 Web管理 Web管理 コンソール コンソール 実行エンジン OSスクリプト OSスクリプト ジョブ インターフェース Webサービス・ Webサービス・ Webアプリ Webアプリ ケーション ケーション コントローラー(リクエスト処理) コントローラー(リクエスト処理) ジョブ実装 ジョブ実装 クラス クラス 実行エンジン 設定ファイル 設定ファイル JVM JVM (スタンドアロン (スタンドアロン or or WebSphere WebSphere Application Application Server) Server) JVM JVM (スタンドアロン (スタンドアロン or or WebSphere WebSphere Application Application Sever) Sever) OS OS OS OS 標準提供 標準提供 組み込みクラス群 組み込みクラス群 (※1) コントローラーとエグゼキューター を1つのJVM上で動作させることも可能 リポジトリー(管理用テーブル群) リポジトリー(管理用テーブル群) DBMS DBMS (DB2/Oracle/Derby) (DB2/Oracle/Derby) 24 【主な機能・役割】 主な機能・役割】 動作に必要な情報の保持 OS OS CTE Batch Execution Serviceは、オンラインアプリケーションからの非同期処理、定期的なバッチ処 理の両方に対応可能です。 また、スケジューラーとの連携機能を提供しています。 CTE Batch Execution Servicesは、以下の3種類の核(コア)となるコンポーネントから構成されます。 コントローラー ・ジョブクライアントからの各種ジョブリクエストを受け取り、処理する役割を持つサーバーコンポーネン トです。 ・ジョブクライアントからのジョブの実行依頼・状況問い合わせ要求などの各種リクエストを受け付けま す。 ・リクエストに応じて、リポジトリーに対してデータの生成・参照・更新・削除を行います。 ・ジョブクライアントに対して、リクエストの処理結果を返します ・リポジトリーの内容を管理およびメンテナンスを行います エグゼキューター ・ジョブを実行する役割を持つサーバーコンポーネントです。 ・Javaジョブクラスの実行制御用API(フレームワーク)を提供します。 ・1つの「キュー」(実行依頼されたジョブの情報が格納される論理的な領域)に対して関連付けられ、 そのキューに投入されたジョブを、ジョブ優先度と先入れ先出し(FIFO:First-In First-Out)のルールで 実行します。 ・Javaジョブクラスの実行形態として、スレッド実行型、プロセス実行型をサポートします。 ・キューの定義に基づいて、自身のエグゼキューター内部のジョブ実行時における同時実行数を制 御します。 リポジトリー ・動作に必要な管理用テーブル(群)です。 24 02. ADIT (WACs) UI Design-to-Code Generator (JSP & Form Generator)とは 画面定義情報やHTMLレイアウトからJSPやFormクラスを生成するツールです。 ①画面にHTMLフォーム部品として表示するデータ項目(画面項目)をGUI上から入力する ②Formクラスを生成する ③入力した項目を画面定義仕様(HTML)として出力する ④レイアウトを定義したHTMLをGUI上からインポートする ⑤JSPを生成する 画面定義 (HTML) ③ データ項目 ① 入力 定義 出力 *2) Form 生成ツール ② コード生成 *1) Form クラス 入力 HTML 入力 ④ JSP 生成ツール コード生成 *1) JSP ⑤ Eclipse 25 WAS V7 最新動向Workshop UI Design-to Code Generator (JSP & Form Generator)は、画面定義情報やHTMLレイアウトからJSP やFormクラスを生成するツールです。 本ツールを利用したJSPやFormクラスの生成は、次の手順で実施します。 ①画面にHTMLフォーム部品として表示するデータ項目(画面項目)をGUI上から入力する ②Formクラスを生成する ③入力した項目を画面定義仕様(HTML)として出力する ④レイアウトを定義したHTMLをGUI上からインポートする ⑤JSPを生成する 25 02. ADIT (WACs) Data Access Object Generatorとは DBアクセス・コンポーネントを自動生成するツールです。 – DDL、SQLを入力とし、DB・アクセスコンポーネントを生成します。 – テキストファイルを入力とし、ファイル・アクセスコンポーネントを生成します。 – Rational Application Developer (RAD)のプラグインとして動作します。 Entity J DDL ----------- SQL ----------- DAO DAOGenerator Generator CSV ----------- Point3 既存SQLの再利用が可能 Point1 実行する全てのSQLをツール 上で管理することが可能 Point4 JDBC実装/SQLJ実装※1が選択 可能 Point2 ※1. DB2のみサポート ソースコード生成により、デ バッグが容易 J2EE5層モデル Entity DTO DAO +xxx() クライアント層 プレゼン テーション層 ビジネス層 インテグレーション層 26 リソース層 WAS V7 最新動向Workshop Data Access Object Generatorは、DDL・SQLを入力として、 DTO (Data Transfer Object) とDAO (Data Access Object)を自動生成するツールです。 DDLを入力とし、DTOとDAOのデフォルトCRUDメソッドを自動生成します。 デフォルトCRUDメソッドでは、全列挿入処理と主キーによる全列照会/全列更新/全列削除処理を実 行します。 またSQLを入力とし、DAOにユーザー定義CRUDメソッドを自動生成します。 照会系ユーザー定義CRUDメソッドは、単一行/複数行の照会に応じて、戻り値を選択することが可能 です。 更新系のユーザー定義CRUDメソッドは、単一行更新/複数行更新に応じて、戻り値およびパラメー ターの形態を選択することが可能です。 DAO Generatorの特長は、次のとおりです。 1.実行する全てのSQLをツール上で管理することが可能 DAO Generator上で、SQLを追加、削除、編集できます。また、SQLを一覧表示する機能も備えていま す。 2.ソースコード生成によりデバッグが容易 DAO Generatorは、DDL、SQLを基に必要なソースコードを全て生成します。ツールにより均一的な コードが生成されるので、デバッグが容易になります。 3.既存SQLの再利用が可能 既存SQLを再利用して、DAOを生成することが可能です。 4.コンポーネントの実装をJDBC、SQLJから選択可能 実装をJDBC、SQLJ(DB2のみ)から選択することが可能です。用途に応じて、実装が選択できます。 26 02. ADIT (WACs) Web Controller Utilitiesとは 画面遷移管理、流量制限、サービス時間管理を実現するユーティリティです。 Webシステム・ユーティリティを提供 – Webアプリケーションの画面遷移管理機能、流量制限機能、 サービス時間管理機能 Webサービスのリクエストのトラフィックの制御機能を提供 – 同時実行数の上限を確認する流量制限機能 – サービス利用可能時間を制御するサービス・スケジュール管理機能 – Java言語環境におけるWebサービス標準仕様である JAX-RPC/JAX-WSに準拠したハンドラーとして提供 27 WAS V7 最新動向Workshop Web Controller Utilityは、画面遷移管理、流量制限、サービス時間管理を実現するユーティリティー です。 Web Controller Utilityの特長は、次のとおりです。 1.Webシステム・ユーティリティを提供 Webアプリケーションの画面遷移管理機能、流量制限機能、サービス時間管理機能を提供します。 ・画面遷移管理機能 ページ遷移をウィンドウ、フレームごとにチェックし、戻るボタンによる不正な遷移や2重送信を防止す る機能です。 ・流量制限機能 イベントをグループ化し、グループごとに同時に実行できる最大多重度を設定してリクエスト量を制限 する機能です。 ※例えば、優先度の低い処理が優先度の高い処理に影響を与えないようにできます。 ※Webサーバーやアプリケーション・サーバーでのリクエスト制限に比べて細やかな指定が可能です。 ・サービス・スケジュール管理 リクエストされた業務アプリケーションが実行可能な時間帯かどうかをチェックする機能です。 ※実行可能な時間帯であるか否かはあらかじめ設定されたスケジュール情報をもとに判断します。 2.Webサービスのリクエストのトラフィックの制御機能を提供 Webサービスのリクエストに対する流量制限機能、サービス・スケジュール管理機能を提供します。 本機能はJava言語環境におけるWebサービス標準仕様であるJAX-RPC/JAX-WSに準拠したハンド ラーとして提供されます。 27 02. ADIT (WACs) SOA Application Template Featureとは SOAアプリケーション開発のためのガイドとツール ・サービス設計ガイド [ドキュメント] 要件定義/ 要件定義/ 外部設計 SOAの考え方を採用した分散疎結合のシステム構造を実現するために、要件定義/設計局面における考慮事項を 記述したドキュメント ・アプリケーションアーキテクチャ説明書 [ドキュメント] アセットを活用し、SOAも含めた分散疎結合の考え方に則ったアプリケーションを開発するためのフレームワーク の設計方式を記述したドキュメント ・アプリケーションフレームワーク [ソース・コード] アーキテクチャ設計書に基づき実装したソースコード(フレームワーク)とアプリケーション開発支援ツール 開発/ 単体テスト ・アプリケーション開発標準書 [ドキュメント] フレームワークとして提供している機能の使用方法を記述したドキュメント ・アプリケーション開発用ソース・テンプレート [ソース・コード] フレームワークに則ったアプリケーション開発を行うためのソースコードのテンプレート(開発者はテンプレートをコ ピー&ペーストすることによりアプリケーションを開発していきます。) ・アプリケーション開発手順書 [ドキュメント] 開発環境構築手順とフレームワークを活用したアプリケーションを開発する際の手順を記述した文書とサンプルアプリ ケーションのソースコード(JDBC接続、EJB接続、Webサービス接続方式全てを含みます。) 統合テスト 28 ・Webサービス性能検証ツール [実行モジュール] 多重度、データ量、ThinkTimeを変えながらWebサービスを繰り返し実行する検証ツール WAS V7 最新動向Workshop SOA Application Template Featureは、SOAアプリケーション開発のためのガイドとツールです。 SOA Application Template Featureが提供物は、次のとおりです。 要件定義/外部設計 ・サービス設計ガイド [ドキュメント] SOAの考え方を採用した分散疎結合のシステム構造を実現するために、要件定義/設計局面におけ る考慮事項を記述したドキュメントです。 ・アプリケーションアーキテクチャ説明書 [ドキュメント] アセットを活用し、SOAも含めた分散疎結合の考え方に則ったアプリケーションを開発するためのフ レームワークの設計方式を記述したドキュメントです。 開発/単体テスト ・アプリケーションフレームワーク [ソース・コード] アーキテクチャ設計書に基づき実装したソースコード(フレームワーク)とアプリケーション開発支援 ツールです。 ・アプリケーション開発標準書 [ドキュメント] フレームワークとして提供している機能の使用方法を記述したドキュメントです。 ・アプリケーション開発用ソース・テンプレート [ソース・コード] フレームワークに則ったアプリケーション開発を行うためのソースコードのテンプレートです。 (開発者はテンプレートをコピー&ペーストすることによりアプリケーションを開発していきます。) ・アプリケーション開発手順書 [ドキュメント] 開発環境構築手順とフレームワークを活用したアプリケーションを開発する際の手順を記述した文書 とサンプルアプリケーションのソースコードです。 (JDBC接続、EJB接続、Webサービス接続方式全てを含みます。) 統合テスト ・Webサービス性能検証ツール [実行モジュール] 多重度、データ量、ThinkTimeを変えながらWebサービスを繰り返し実行する検証ツールです。 28 02. ADIT (WACs) まとめ AD Implementation Toolkitとは Java/SOAアプリケーション開発フレームワーク – クロス・インダストリーで再利用可能な実行コンポーネント (Java、JavaScript、シェルなど) – 設計・開発の生産性を向上させるリファレンス・アーキテクチャーや コード生成などの開発支援ツール AD Implementation Toolkitの適用により、下記の効果が期待できます。 29 1 システム構築の期間短縮・コスト削減・品質向上 2 システム構築の全体最適化 3 システム構築要員の柔軟な編成 4 SOAアプリケーション開発における複雑性の低減 WAS V7 最新動向Workshop 29 02. ADIT (WACs) 参考資料(1/2) Web application components http://www-935.ibm.com/services/jp/index.wss/offerfamily/bcs/b1330315 オープンソース時代のWebアプリケーション・フレームワーク-Web application componentsの例http://www.ibm.com/developerworks/jp/evangelist/events/090515.html Web application componentsの導入事例 株式会社三井住友銀行様 / 株式会社日本総合研究所様 「オープンソース・ソフトウェアを効果的に採用し、システム構築期間の短縮とコスト削減を実現」(ProVISION No.59) http://www-06.ibm.com/jp/provision/no59/customer_interview2.html 株式会社大和総研ビジネス・イノベーション様 「既存のIT資産を最大限有効に活用し、低コストでスピーディーなSOA化を実現」(ProVISION No.61) http://www-06.ibm.com/jp/provision/no61/customer_interview2.html B2Bサービス株式会社様 「眼鏡レンズ共同受発注システムにより、業界横断のサプライ・チェーン構築を目指す」 http://www-06.ibm.com/jp/solutions/casestudies/20090104b2b.html 30 WAS V7 最新動向Workshop 30 02. ADIT (WACs) 参考資料(2/2) Component business modeling http://www-935.ibm.com/services/jp/index.wss/offering/bcs/a1021760 Service-oriented modeling and architecture http://www.ibm.com/developerworks/library/ws-soa-design1/ Design an SOA solution using a reference architecture http://www.ibm.com/developerworks/library/ar-archtemp/ 31 WAS V7 最新動向Workshop 31