活動報告


● 第79回セミナー <セミナー企画委員会主催>実施報告

日 時:平成10年9月16日(水)13時30分〜17時00分
会 場:日本オラクルセミナールームU(ニューオータニガーデンコート17F)
参加人員:30名
テーマ:「オラクルで実現するWindowsソリューション PartU」
構 成:
 第1部:『企業システムを資産化するオラクルのモデル・ベース開発』
    日本オラクル株式会社 製品統括部 開発ツール製品グループ 杉 達也 様
 第2部:『ミドルウェアを利用したOracleアプリケーション開発』
    日本オラクル株式会社 製品統括部PC製品グループ 山本 顕司 様
 第3部:『Oracleによるイントラネット・アプリケーション構築 〜WAS3.0&OAS4.0を用いて〜』
    日本オラクル株式会社 営業統括本部ネットワークコンピューティング推進部
    プロダクトマーケティンググループ 小澤 秀明 様

 去る6月24日の第74回セミナーに続く「オラクルで実現するWindowsソリューション」の第2弾セミナーが、紀尾井町の日本オラクル本社セミナールームにて行われました。


セミナー会場

 第1部では、杉講師からモデリングを中心としたシステム開発がもたらす利点と、そのコンセプトをもった製品(Designer/2000、Developer/2000)の紹介がありました。

杉講師

 まず、モデル・ベース開発とコード・ベース開発の比較説明が在庫管理アプリケーションの実装例により説明されました。コード・ベース開発は仕様の見直しによる変更に応じたコーディングの繰り返しが生じるため非常に効率が悪いが、コード・ベース開発ではモデルを使って視覚的に機能や画面がエンドユーザーの確認がとれ、最終的に確立した仕様をベースにしてジェネレータにより自動コーディングするため大幅な工数を生じることはない。モデル・ベースの開発を実現するためにオラクルが提供するのが、この9月1日に出荷されたDesigner/2000 R2.1、Developer/2000 R2.1の2製品である。位置付けとして、Designer/2000 R2.1は上級工程をサポートし、そこから生成されたものを開発するのがDeveloper/2000 R2.1である。両製品の間はラウンドトリップエンジニアリングという技術を使って高度に連携する。
 モデリングによるシステム設計/管理の利点として、@仕様変更に対応しやすい、Aフロントの技術変化に左右されない、B実ビジネスのルールをモデル化できる、C人的資源に左右されない、等があり、システムの中心部分をモデル化するので企業システムを資産化でき、環境変化(金融/法規制)に対応しやすい。
 モデル・ベース開発ではレポジトリーという中心的な存在があり、分析された情報、モデルによって設計された情報が貯えられ、それが最終的にデータベースの情報となり、アプリケーションの情報となり、最終的なコーディングは自動生成される。モデル・ベース開発は開発環境と実行環境という完全に独立した形態になっている。開発されたデータベースの設計やアプリケーションの設計をもとにして、NCAの3階層の実行環境で実行することができる。
 Developer/2000は、3つのコンポーネント、@Forms(画面作成ツール)、AReports(帳票作成ツール)、BGraphics(グラフ作成ツール)から成り、データベース設計アプリケーションのために設計されたツールであり、データベース・アクセス、トランザクション管理機能はDeveloper/2000ランタイムデフォルト機能として持ち、アプリケーションに依存する部分のコーディングのみでよい。ここが他のツールとの大きな差であり、大きな生産性を上げることができる。もう1つの特長は、C/Sで開発したアプリケーションがそのままWeb展開ができることである。
 Designer/2000の特長は、複数ユーザーによる同時開発環境が可能な環境を提供することと、システム設計全般およびメンテナンスを支援することである。Designer/2000のツールには、データ設計、モジュール設計と2つの柱がある。データ設計のメリットは、Oracle8の完全対応、アプリケーション設計と完全にリンクされた設計情報、複数ユーザーでの同時開発環境を提供することであり、また設計支援レポートも提供される。モジュール設計では、ユニバーサル・デザインにより、データベースアプリケーションの80〜90%が自動生成され、データ制御を変えてテストしたい時にプロパティを変えて再生成することが可能となり、また、フロントに依存しないので将来のトレンドにもジェネレータの選択により可能となる。
 モデル・ベースの開発の中心になるのがOracleレポジトリーであり、Designer/2000、Developer/2000の2つのツールがこれに関ってくる。将来的にはオラクルのあらゆる製品群、Javaツール、意思決定支援ツール、ERPアプリケーション、データウェアハウス開発環境がすべて関ってくることになる。Oracleレポジトリーの目指すところは開発環境の統合であり、さまざまなツール群から設計された情報を一元的に管理する、またツールの違いだけでなく開発者や設計者の違いを超えたさまざまな情報を一元的に管理できる環境を提供して行くという方向にある。この中心にあるレポジトリーを使った開発環境、これがモデル・ベース開発となる、とむすばれました。

 第2部では山本講師から、Oracle Objects for OLEを中心としたミドルウェア製品、言語製品の紹介と開発方法についての説明がありました。


山本講師

 オラクルのサーバー製品に接続するための開発環境としてのミドルウェア製品は大きく5つの区分け、@ODBC Driver、AOracle Object for OLE、BJDBC Driver、CPro*C/C++(プリコンパイラ)、DOCI(Oracle Call Interface)に分けられる。
 @ では、ODBC Driverにはアクセス形態としていくつかの形態、DAO(Data Access Objects)、RDO(Remote Data Objects)、ODBC Direct、ODBC API、ADO(ActiveX Data Objecta)、OLE DB形態の接続方法があり、これらについてVisual BasicからOracle7/Oracle8に接続する図の説明がありました。


 オラクルのミドルウェア製品としては一番良く使われるのはODBC Driverが多いと思われる、とのことです。
 Aでは、Oracle Objects for OLE(OO4O)は、直接ネイティブにオラクルのSQL*Net/Net8ネットワークのAPIに対してコールするのでその間は特別経由する経路がないことになる。オラクルの機能を使うことと、パフォーマンスを考慮するとOO4Oをなるべくお使いいただくことをお勧めする、とのことです。OO4Oとは、Microsoftの規格であるOLE2.0のスクリプティングのコーディングができるアプリケーション(VB、VC++、Excel、Accessなど)であればWindowsから容易なDBMSアクセスができ、堅固で信頼性があり使いやすく、OracleサーバーのPL/SQL言語などのパワーが利用でき、OLE2.0の標準機能を持つものである。以降、OO4Oのコンポーネント、利点、接続形態、機能、ストアドプロシージャ(PL/SQL)サポート、配列ホスト変数のサポート、OO4Oの新機能(スレッドセーフティ、複数のPL/SQLカーソルの取得、パフォーマンスの改善、接続プールのサポートV2.3)、効率的なアクセス・モデル、Oracle Data Control、データベースの接続まで、ダイナセットの作成、データナビゲーション、データアクセスと編集、配列処理(一括更新などのバッチ処理で10倍以上の性能向上が可能)などについての説明がデモを交えながら行われました。
 B では、Javaを利用して企業システムを構築して行こうとする流れが多くなっているが、その中でOracleのデータベースを使ってJavaの仕組みを構築するためにJDBCドライバを使って開発する企業さんが多く見られる。JDBCドライバには4種類のドライバがあり、オラクルはタイプ2とタイプ4 のドライバを提供している。タイプ2には、JDBC OCI(OCIベース・ドライバ)があり、C/Sで使う場合や3階層でアプリケーションを構築する場合のドライバである。タイプ4には、JDBC Thin(Pure Javaドライバ)がありJavaのアプレットを利用する場合のドライバである。続いて、JDBCの簡単な例、型の拡張、行のプリフェッチ、更新のバッチ処理についてコーディング例の説明がありました。
 CPro*C/C++は、SQL文をC、C++に変換するプリコンパイラで、SQL文をC、C++プログラムに埋め込み利用でき、結果として出力されるファイルは、その後C、C++でコンパイルできる。また、開発の速さと他のシステムの互換性が第1に要求される場合に有効である、とのことです。続いて開発手順の説明がありました。
 Dでは、OCIはOracleデータベース内のデータおよびスキーマを操作するためのAPIであり、プリコンパイラの必要がなく、4種類の関数(OCIリレーショナル関数、OCIナビゲーショナル関数、OCIデータ型マッピングおよび操作関数、OCI外部プロシージャ関数)を持つ、とのことです。
なお、関連情報のサイトは次です。
  ・ ODBC Driver、JDBC Driverのダウンロード
  http://www.oracle.co.jp/download/index.html
  ・Oracle objects for OLEの学習
  http://www.oracle.co.jp/webdev/oo4o/index.html
  ・その他、技術資料
  http://www.oracle.co.jp/ntsol/index.html

 第3部では小澤講師からWeb Application Server(WAS)3.0および次期リリースOracle Application Server(OAS)4.0の製品位置づけ、同製品をプラットフォームとしてイントラネット・アプリケーションを構築する上での手法や注意点等をPL/SQLおよびJavaを主にした解説がありました。

小澤講師

 お話は、@製品の位置付け、Aアプリケーション構築手法(PL/SQ&Java)、BOAS4.0でのJavaアプリケーション、Cトランザクション機能、について行われました。
 @ では、Network Computing Architecture(NCA)、WAS3.0/OAS4.0の位置付け、WAS3.0の位置付けおよびOAS4.0の位置付けに分けてお話されました。現在のリリースはWAS3.01であり、10月になるとWASの最終リリースであるWAS3.02が出てくる。その後11月中〜下旬にかけてOAS4.0がリリースされる。これらはどのようなソフトかというと、NCAの中間層(Middle tia)に相当する層のアプリケーションプラットフォームに位置付けられるものである。リリース1の頃はOracle Webサーバーという名前で存在しており、Oracle Webサーバー1.xの頃は単純にhttpのサーバー+αでCGI(Common Gateway Interface)でデータベース接続できるモジュールを追加していたような制御であった。Webサーバー2.0ではCGIに取って代わるオラクル独自の高性能なアーキテクチャ(Webリクエストブローカー)を採用し、更に機能拡張したのがWAS3.01である。4.0は3.0と比べ、CORBA2.0に準拠し、Enterprise Java Beansに対応しているなど業界で注目されている最新技術を取り入れ、また従来の機能を向上させたリリースとなる。当然製品自体の性能が上がり、新機能が追加されているわけであるから、その製品のターゲット市場も移り変わってきている。単純にHTMLという静的なドキュメントをWebによる配信をしているシステムからそれをイントラネットとして利用してデータベースと連携しているシステムまで多種多様である。Webサーバーの1.0から2.0、Webアプリケーションサーバーの3.0から4.0と製品自体徐々に進化しているし、ターゲットの市場も当然変わっている。製品そのものはアプリケーションプラットフォームに位置付けられるもので、NCAの中核であるWebサーバーはWAS、OASの一部の機能であるといえる。
 A では、PL/SQLとJavaにフォーカスしてイントラネットアプリケーションを構築する上でのTipsをお伝えすると、PL/SQLについてカートリッジの役割、アプリケーションの実行、HTML出力、ツールキット、動的HTMLの生成、アプリケーション例、設定事項(Database Access Descriptorsデータベースに接続するための情報設定、PL/SQLカートリッジ自身の情報設定、PL/SQLトランザクションの設定)、URLの指定方法(URL形式でDBに対する接続要求およびプログラム実行要求を発行する)、PL/SQLカートリッジのメリット(最も効果的なSQLとのインターフェイス、管理のしやすさ、安全性、生産性、利用性)についてのお話がありました。「Javaでの実装」では、Javaの実装についてカートリッジの役割、アプリケーションの実行、HTML出力、PL/SQL呼び出し、呼び出し前の準備、Java分散配置についてお話されました。Javaをアプリケーションサーバー層で実行する環境を提供するのがWASおよびOASである。Javaの実装形態として、Javaアプレットの実行とJavaアプリケーションの実行がある。Javaアプレットはクライアントで実行されるものとWebブラウザ上で実行されるものとがある。オラクルのいう所のJavaアプリケーションはWAS、OAS上で実行されるもので、Javaのプログラムは色々な形で色々な所に置かれるが、どのような配置が考えられるかいくつかの例についての説明がありました。
 B では、オラクルのJava戦略、Java Web Cartridge、Java Web アプリケーション、Java CORBA Object (JCO)、なぜJCOが必要か(httpでは対応できない構造的データの処理が可能、CORBAに準拠したアプリケーションが可能、よりスケーラビリティに富んだアプリケーションシステムの構築が可能である)、Java CORBA アプリケーションの実行環境・サーバー側・クライアント側についてのお話がありました。
 OAS4.0でのJavaアプリケーションは、CORBA2.0に準拠したJavaオブジェクトを実装することができ、また、EJBというコンポーネント技術を用いたJavaオブジェクトを実装することができ、WASから受け継いでいる機能をさらに品質向上している。新機能のJava CORBA Objectは、モニタリング、ロギング、ロードバランシングについて従来のWebカートリッジが使っていたと同じようにJava CORBA Objectにも使える。レイヤー的には、今まで3.0はWebリクエストブローカーというオラクル独自のアーキテクチャに対するAPIをもったオブジェクトが存在したが、OAS4.0ではCORBA2.0というオープンスタンダードなインフラの上でJava CORBA Objectを実装できる。CORBA2.0はIIOPをサポートしているのでIIOPによる通信が行えるので、他ベンダー上のORB上のオブジェクトからの要求を受け付けることができ、また、要求を出すことができることを意味している。
 C では、WAS3.0では、C/Sベースの基幹システムをWebに移行する際に非常に重要になってくるデータベースとの関連技術やトランザクション技術をとり入れている。WAS3.0段階ですでにトランザクション機能を取り入れている。Webによるトランザクション機能とは複数ページにまたがってそれらの変更を1つのトランザクションとして扱える機能のことである。OAS4.0ではWAS3.0トランザクションに代えてオブジェクトの技術とそのトランザクションの技術を組み合わせてJava CORBA Objectからもデータベーストランザクションの機能が使える。

 最後に、WAS、OASといったインフラを用いてデータベースを接続するためのPL/SQLのアプリケーションとかJavaのアプリケーションを開発・構築していく上での技術的な注意事項をお伝えした。このように弊社はすべてのNCAのクライアント層、アプリケーションデータベース層、すべての層にJava対応を表明しており、またJavaのための開発環境IDEも今後出てくる。OAS4.0については10月14日に説明会を準備している。OAS4.0とともにJ-Developerと呼ばれるJava CORBA ObjectなどのJavaの開発環境も発表される。J-Developerがスイート製品としてJavaの開発環境が提供され、その中にはOAS4.0が入っている。他にも沢山のテクニカルトレーニング、製品発表向けのマーケティングセミナーを行い、OASの情報を浸透する場としたい。

 ここで出席の皆さんからアンケートによるご意見を紹介します。
 第1部では、「今後の開発で有用な情報でした」、「Developer/2000のみの開発で苦労した。Designer /2000による効率的な開発が導入されていたらよかったと思う。実際、ラウンドでモデルがリユースされるには長期的な展望がプロジェクトに要求されるので、基礎知識として有効だった」、「Designer及びDeveloperのR2.1を是非評価してみたい」、「考え方は分かったが、具体的な例があればその有用性が理解できたと思う。複数ユーザーによる同時開発が可能という所を、もう少し説明して欲しかった」、「概念はよく理解できた。Designe/2000とDeveloper/2000の具体的な説明を盛り込んで欲しかった」、「モデル・ベース開発、ラウンドトリップエンジニアリングの考え方は分かった」、「概要なので他社製品との比較は具体的にイメージができない、C/SとWebに共通にはGood!」、「方向性や考え方は共感できるが、現状としてOracle一色にならない限り、運用は難しいと考える」、「Designer/2000での実際の設計する画面があまりなかったのでイメージが沸きずらかった」、「概念の説明だけだったので具体的な所が分からなかった。デモなどを入れて具体的な構築方法を説明して欲しい」、「ジェネレート機能について更に説明して欲しかった」、「モデル・ベース開発による作業工程の少なさには興味がある」、「Oracleを100%使うにはDeveloperを使えということだが、費用対効果が明白でない」でした。
 第2部では、「開発するにあたり、とても参考になった」、「現状の開発に一番近い所であったので、よく理解できた」、「0040はVB+Oracle開発者には大変ありがたいツールである。他ベンダーのコントロール(BOCのOCX等、特にSpread)との連携強化を願う」、「0040の最新バージョン機能を知ることができてよかった」、「具体的な説明で分かりやすかった」、「他のドライバーとの比較があり、分かりやすかった。ODBCのデモが見れずに残念」、「各ミドルウエアの位置付けが分かりやすかった」、「折角のデモンストレーションだが、開発側としては動作結果を見るよりもその実現を企てる過程の方に興味がある。例えばEXCELに0040のOLEを貼り付け、レコードを表示させる過程を見せて欲しい」です。

 第3部では、「OAS4.0の機能、システム構築のポイントについてもっと知りたい」、「末端の技術はオープンだが、カートリッジを使うことでオープンである故の自由さが失われてしまうように思う」です。ありがとうございました。


Contents         Windows Consortium ホームページ