EGL (Enterprise Generation Language) ご説明資料 日本アイ・ビー・エム株式会社 ソフトウェア事業 Rational事業部
by user
Comments
Transcript
EGL (Enterprise Generation Language) ご説明資料 日本アイ・ビー・エム株式会社 ソフトウェア事業 Rational事業部
® 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