...

AD Implementation Toolkitのご紹介 IBM Global標準フレームワーク 1 日本アイ・ビー・エム株式会社

by user

on
Category: Documents
646

views

Report

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
Fly UP