Download EGL (Enterprise Generation Language) ご説明資料 日本アイ・ビー・エム株式会社 ソフトウェア事業 Rational事業部

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
®
IBM Software Group
EGL (Enterprise Generation Language)
ご説明資料
日本アイ・ビー・エム株式会社
ソフトウェア事業 Rational事業部
© 2007 IBM Corporation
IBM Software Group | Rational software
EGLの背景
アプリケーションを知る「熟練開発者」がJava EE, Web にも詳しい、とは限らない
COBOL, PL/I, 4GL, Visual Basic 等々でのビジネスアプリケーション開発経験
… しかし多くの新規アプリケーションでJava/J2EEスキルが要求される
“新しい言語”の導入が難しいケースも多い
コストがかかりすぎる
時間が足りない
… 導入後、必ず望ましい結果が得られるとは限らない
テクノロジーの問題ではなく、ビジネスの問題にフォーカスできないか
WSDL
Servlet
HTML
JMS
JCA
XML
書いてきたので理解できるし、会社の
AJAX
Struts
CSS
JSF
JavaScript
JPA
JSP
SOAP
JDBC
COBOLならば、今まで
HTML
業務も分かっている。だけど細かい
プログラミングテクニックを色々勉強し
て見につける時間がないな。
JavaBean
2
IBM Software Group | Rational software
EGLとは
Enterprise Generation Language (EGL) とは
現代的なプログラミング言語 (スクリプト言語)
既存のプログラミング・スキルを活用
J2EE技術を隠蔽 (カプセル化)
Web (WAS), Java, COBOLのアプリケーションの生成
ビジネスの問題を解決するためにIBMが作り出した第4世代言語
EGLを採用のメリット
新しい技術を即時に採用
Web、Webサービス、Java EE、Java Server Faces (JSF)
既存の技術 (3270、5250、バッチ) をサポート、
新規作成、もしくは継続して活用
新規開発者に無理なく、既存のスキルを活用して開発が可能
3
IBM Software Group | Rational software
EGL概要(1) – EGLとは
幅広い形態のアプリケーション作成に対応した「第4世代言語」
Web
Text UI
バッチ
Program
Program
Handler
Handler
Rich Client
Reports
Webサービス
サービス
Service/Interface
Service/Interface
Library
Library
ビジネスロジック
External
ExternalType
Type
External Interfaces
外部プログラム
外部プログラム
Java, RPGなど
RPGなど
データベース
DB2 UDB
SQL Server
Oracle
Derby
Informix
IMS
VSAM
など…
など
4
IBM Software Group | Rational software
EGL概要(2) – EGLが対応するプラットフォーム
Java, COBOLのアプリケーションをEGL言語で作成
Webアプリケーションは『Java』を生成し、WebSphere Application Server (WAS)上で実行
COBOL生成の場合は、オンラインはText UI (3270, 5250画面) のみ
Rational Team Concert
など
Windows/Linux
AIX, HP, Solaris
チームリポジトリー
Windows, Linux,
zSeries
Unix
EGL
zSeries
System
z
WAS on z/Linux
Batch
CICS
IMS
WAS
Java
Java
COBOL
Java
COBOL
zSeries
System
i
iSeries
WAS
Native i OS
開発環境 (Rational Business Developer)
System z
iSeries
ブラウザー
JavaScript
(Rich UI)
IE *
Firefox *
5
IBM Software Group | Rational software
【参考】Java と 従来のプログラミング言語の違い
Write Once Run Anywhere !! Javaは
Javaはプラットフォームに
プラットフォームに依存しません
依存しません
一般的な
一般的なプログラミング言語
プログラミング言語
プラットフォームやOSに依存 H/Wが変るとプログラミング言語も変る
Java
OSの上にJVM
JVM(
JVM(Java Virtual Mahcine)
Mahcine)を置いて、 プラットフォーム・OSのちがいを吸収
プラットフォームやOSに依存しないプログラミング言語 --> <プログラムの可搬性>
新しいプラットフォームが出現しても、対応するJVM を準備すればJavaアプリが稼動
EGLから
EGLから生成
から生成した
生成した
Javaプログラム
Javaプログラム(
プログラム(バイトコード)
バイトコード)
WAS
WAS
WAS
Java
VM
Java
VM
Java
VM
Windows
UNIX /
Linux
z/Linux
6
IBM Software Group | Rational software
EGLの主な特徴
抽象化
宣言型
ツール
SOA
生成
言語
最新テクノロジを取り込み、SOA開発にも対応する「第4世代言語」
7
IBM Software Group | Rational software
抽象化
「抽象化」されたデータアクセス
データアクセス:
“レコード” により下記リソースにアクセス
SQL, Indexed, Relative, Serial, DL/I, MQ, Service data
共通キーワード (Get, Add, Replace, Delete)によるデータアクセス
必要に応じてSQL文編集も可能
共通のエラーハンドリング
リモート呼び出し:
COBOL, RPG, C, Javaの呼び出し
“コード”と“呼び出し情報”を分離しメンテナ
ンス性・デプロイ性を確保
8
IBM Software Group | Rational software
「抽象化」されたデータアクセス
抽象化
データ駆動による開発
ース
ベ
タ
デー
を
義
ド定
ー
コ ート
Lレ
EG インポ
用)
活
から
ド
ザー
ィ
(ウ
9
IBM Software Group | Rational software
「宣言型」プログラミング
宣言型
検証/編集のルール
“Data Item”のプロパティにてデータディクショナリを参照
フォーマッティングと検証のルールを共通の場所に定義
“Data item”をレコード、画面、Webページ、レポートで利用
Java
COBOL
検証(Validation)は、Java/JSFベースのWebページのフィールド
にも、COBOLベースの5250画面にも適用される。
10
IBM Software Group | Rational software
「宣言型」プログラミング
data itemのためのツール
宣言型
1. Data Itemの
の生成
2. EGLコンテンツアシスト
コンテンツアシストを
Itemの
の編集
コンテンツアシストを利用した
利用したData
した
3. 編集、
編集、表示、
表示、検証オプション
検証オプションの
オプションの定義
11
IBM Software Group | Rational software
シンプルな「言語」
プログラミング言語としての…
単純なものから複雑なものまで、豊富なデータタイプ
言語
int/ string/ decimal/… から
any/ static arrays/ dynamic arrays/ dictionaries/ array dictionaries/…
プログラミング言語としてのキーワード
While/ for loop/ for … データベースの result set に対するループサイクル
If then else/ case, …
ビルドインされた豊富なライブラリー
Math, string, date/time, system, …
既存のAPIの呼び出し
RPG, COBOL, C, Java…のリモート呼び出し
Webサービスの呼び出し
12
IBM Software Group | Rational software
シンプルな言語からの「生成」
ミドルウェア・アクセスのためのコード生成
DB、アプリケーションサーバー、MQ 、トランザクションマネジャー
…これらのミドルウェアアクセス開発に割く労力を軽減
生成
サービスを様々なプラットフォームやランタイムにデプロイ
WebSphere Application Server をはじめ、CICSやSystem i、IMSなど …
様々なプラットフォームにデプロイ
COBOL for System z CICS, IMS or Batch
COBOL for System i
Java for WebSphere Application Server
EGLから生成されたJavaコードのメンテナンスはせず、
あくまでEGLをメンテナンス対象とする。
13
IBM Software Group | Rational software
「ツール」: ページデザイナー
※ターゲットがWASの場合
ツール
ホームページビルダーベースの画面デザイン(JSF)
EGLデータストラクチャーをJSPにドロップ
EGLによるデータの検証、編集
EGLにおける“Data Item”にて定義したフォーマットルールが適用される
EGLでのデータ定義と連動したUIコントロール
EGLによるサーバーサイドのイベントハンドラー
EGLプログラム作成により、データをJSF
ページと紐付け
EGLロジックをJSPページ制御に使用可能
14
IBM Software Group | Rational software
「ツール」: デバッガー
ツール
EGLに対応したソースデバッガー
ブレークポイント
変数のウォッチ
値の変更
※Eclipseデバッガーを拡張
充実したデバッガー = 生産性へ寄与
15
IBM Software Group | Rational software
SOAが目指すシステム構築の考え方
SOAとは、「サービス」の組み合わせによってアプリケーションを構成するシステム構築の考え方
業務処理などの単位でサービス化すること
オープンで標準的なインターフェース(≒Web
Webサービス
Webサービス)でサービスを定義し、呼び出すこと
サービス
従来の
従来の
アプリケーション
サービスに
サービスに分解された
分解されたアプリケーション
されたアプリケーション
コンポジット・
コンポジット・アプリケーション
1
2
1. ビジネス・
ビジネス・アプリケーションを
アプリケーションを
再利用可能な
再利用可能なサービスに
サービスに分解する
分解する
3
新しいビジネス
しいビジネス要求
ビジネス要求
に合わせ再構成
わせ再構成する
再構成する
2. ビジネス・
ビジネス・プロセスに
プロセスに合わせ、
わせ、それらのサービス
それらのサービスを
サービスを組み合わせる
3. ビジネス・
ビジネス・プロセスの
プロセスの変化に
変化に対し、
サービスを
サービスを再利用して
再利用して、
して、再構築する
再構築する
16
IBM Software Group | Rational software
「サービス」:SOAへの対応
言語としての Webサービス対応
SOA
サービス・パート
EGLの処理(Function)をWebサービスとして公開可能
HTTP接続によるさまざまな種類のコードからの呼び出し (EGL Webサービス).
WSDL
Webサービスの定義情報であ
るWSDLを自動生成
インターフェース・パート
外部に公開されたWebサービスに対して、アクセスするクライアントコード
WSDLを入手し、自動生成可能
17
IBM Software Group | Rational software
Web 2.0 の特徴 ~ シンプル & リッチ
従来の
従来のWeb
ブラウザーでのPoorなインターフェイス
複数の情報が一度に欲しいときにいくつものサイトへアクセス
新しいアプリを作成したり、既存サービスと連携したりするときの敷
居が高い
Web 2.0 はシンプル & リッチ
組み合わせによる新しい
ビジネスモデルの誕生
都道府県別
地図サービス
REST
世帯状況
マッシュアップ
Ajax
デスクトップでしか出来なかったこ
とをブラウザーで実現
複数のサービスを組み合わせたサイトにより
ユーザビリティーが向上
自サイトでも簡単に使える
18
従来では実現できなかったリッチなユーザーインターフェースが可能
(ドラッグアンドドロップによる視覚的操作など)
18
IBM Software Group | Rational software
EGLを使用して作成した Web 2.0 アプリケーション
商品(物件)を選
択すると、その物
件の詳細情報、地
図が更新される
EGLソース
ダウンロード可能
Real Estate Demo
http://www-949.ibm.com/software/rational/cafe/docs/DOC-3035
19
IBM Software Group | Rational software
IBM Rational Business Developer (RBD) v7.5
EGL(
(Enterprise Generation Language)を
を用いたアプリケーション
いたアプリケーション開発
アプリケーション開発
特徴
EGL(Enterprise Generation Language)で
Java,COBOLコードの自動生成
J2EE技術を隠蔽化(カプセル化)
Webサービス等のプログラムの迅速な開発
Eclipseのユーザーインターフェースでの開発
生産性の高いEGLでのデバッグツール
ページデザイナーを用いての迅速なWebインター
フェース開発
Rational Team Concert との連携
20
IBM Software Group | Rational software
IBM Rational Developer for System i SOA Construction
RDp と RBD が同梱されたパッケージ
どれもEclipseベースの
ツールなので操作感が
統一できて便利です。
既存スキルを生かしながら
既存アプリケーションのWeb化
SOA化
新規アプリケーションの迅速な
開発が行なえます。
Rational Developer for Power Systems Software
RPG and COBOL development tools for IBM i (RDp)
次世代のPDM&SEUです。
既存のRPG・COBOLのスキル資産を活用します。
EclipseのユーザーインターフェースでRPGも開発します。
80X24の画面制約が無く、表示できる領域が広がります。
既存のバッチ型アプリケーションPGMのSOA対応を行えます。
Rational HATS Toolkit
Web化ツールとしての長年の実績があります。
既存の5250のプログラムはそのまま活用します。
WebFacing Toolの機能も統合してます。
既存の対話型アプリケーションPGMのSOA対応を行えます。
Rational Business Developer (RBD)
EGL(Enterprise Generation Language)を用いて
でJavaやCOBOLのコードを自動生成します。
EGLは、他の言語と比べると容易に習得し、高い生産
発揮できる言語です。
EGLを用いて、Webアプリケーション、バッチプログラム、
Webサービス等の開発が可能です。
21
IBM Software Group | Rational software
情報源
Rational ブランド トップページ
http://www-6.ibm.com/software/jp/rational/
developerWorks Rational (Rational製品の技術情報)
http://www.ibm.com/developerworks/jp/rational/
Rational Business Developer 製品ページ
http://www-6.ibm.com/software/jp/rational/products/design/developer/business/
ここからはじめるIBM Rational Business Developer V7.5
http://www-6.ibm.com/jp/domino01/mkt/rational.nsf/doc/0008C207
Rational Business Developer 評価版
http://www.ibm.com/developerworks/downloads/r/rbex/
Rational Developer for i for SOA Construction
http://www-6.ibm.com/software/jp/rational/products/design/rdisoa/index.html
EGL Community Edition
http://www-949.ibm.com/software/rational/cafe/community/egl/ce
EGL Café
http://www-949.ibm.com/software/rational/cafe/community/egl
EGL Café Japan Street
http://www-949.ibm.com/software/rational/cafe/community/egl/japan
22
IBM Software Group | Rational software
23