Oracle9 Application Server

66

Transcript of Oracle9 Application Server

Page 1: Oracle9 Application Server
Page 2: Oracle9 Application Server

Oracle9i Application ServerとInternet Developer Suiteによる

システム構築

Page 3: Oracle9 Application Server

Agenda

� 9iASの特徴・機能説明– 基本機能(PL/SQL、Java2)

– Cache機能

– Portal機能、その他の機能

� Internet Developer Suiteによる開発– Designer、Developer、JDeveloper

� アプリケーション構築例� DEMO

Page 4: Oracle9 Application Server

データベース・サーバー

Oracle HTTP Server

ミドルティア・サーバー

アプリケーション実行環境

ブラウザ

クライアント

Servlet

JSP

EJB

PL/SQL

Portal

Forms

Reports

DiscovererViewer

PL/SQL

EJB

CORBAmod_jservmod_osemod_plsqlmod_perlmod_ssl…

Web

Cache

DatabaseCache

Oracle 9iASの基本構成

Page 5: Oracle9 Application Server

基本機能

� Oracle HTTP Server powered by Apache� PL/SQL� Java2(Servlet、JSP、EJB)、BC4J(JDeveloper)� WebCache、DBCache� Oracle Portal� Mobile Wireless、Forms/Reports Service� Business Intelligence

Page 6: Oracle9 Application Server

OracleHTTP

Server(powered

byApache)

mod_???

mod_???

ServletServlet/JSP/JSP

Oracle8Oracle8iiPL/SQLPL/SQL

Oracle HTTP Server

� シェアNo.1のWebサーバーを利用– 数多くの稼働実績と高い安定性

– シンプルなアーキテクチャ– 機能のモジュール化(mod_*)

� Oracleが提供することによるメリット– Oracle製品の機能を活用する拡張モジュールの

提供– Oracleによるサポートの提供

� メディアに含まれるモジュールのみサポート

� パッチについてもOracleから提供

� ソースコードは未提供

� Apache Software Foundationへのフィードバック

HTTPS

HTTP

Page 7: Oracle9 Application Server

PL/SQL

OracleHTTPServer

ブラウザ

PL/SQLストアド・プロシージャによるWebアプリケーション開発

Request

Response

HTTP Oracle8iPL/SQL

Net8

Page 8: Oracle9 Application Server

PL/SQLの特徴

� PL/SQLをベースとしたアプリケーション開発

� ストアドプロシージャ実行による動的ページ作成� PL/SQL ToolkitによるOAS PL/SQL Cartridgeとの

互換性� PL/SQL Server Pages (PSP)

– HTMLへのPL/SQLの埋め込み

– HTMLデザインとビジネスロジックの分離

Page 9: Oracle9 Application Server

PL/SQLアプリケーション・サンプル

create or replace procedure samplebegin

htp.p(‘<HTML>’);htp.p(‘<HEAD>’);htp.p(‘<TITLE>SAMPLE<TITLE>’);htp.p(‘</HEAD>’);htp.p(‘<BODY>’);htp.p(‘Hello World’);htp.p(‘</BODY>’);htp.p(‘</HTML>’);

end;/

� HTMLタグに対応した、PL/SQL Web Toolkit パッケージを呼び出し、HTMLを作成

Page 10: Oracle9 Application Server

PSPアプリケーション・サンプル

<@% page language="PL/SQL" %><%@ plsql procedure="show_catalog_simple" %><HTML><HEAD><TITLE>Show Contents of Catalog (Complete Dump)</TITLE></HEAD><BODY><% declare dummy boolean; begin dummy := owa_util.tableprint('catalog','border'); end;%></BODY></HTML>

� HTMLの中にPL/SQLを埋め込む� PSP CompilerによりPSPファイルをコンパイル

– loadpsp [-replace] -user <logon> [<page1> <page2> ...]

Page 11: Oracle9 Application Server

Servlet

OracleHTTPServer

Servletエンジン

Servlet AP

Java実行環境ブラウザ

HTTPクライアントから利用するサーバサイドJAVAの実装

Request

Response

HTTP

Page 12: Oracle9 Application Server

Servletの特徴

� プラットフォーム非依存� HTTPサーバ・アプリケーションサーバー非依存� Javaで記述→Javaの様々な仕組みを利用可能

– JDBCの利用– JSP、EJBの呼び出し

� マルチスレッドで動作– CGIに比べて性能を大幅に向上

� セッション管理機能

Page 13: Oracle9 Application Server

Servletアプリケーション・サンプル

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;

public class Hello extends HttpServlet{ public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; response.setContentType("text/html"); out = response.getWriter(); out.println("<HTML><BODY>"); out.println("<H1>Hello World</H1>"); out.println("</BODY></HTML>"); out.close(); }}

Page 14: Oracle9 Application Server

JavaServer Pages (JSP)

OracleHTTPServer

Java実行環境ブラウザ

HTMLにJavaプログラムを埋め込んで開発を行える技術

Request

Response

HTTP JSPファイル

Servletエンジン

Oracle JSP

Servlet AP

Page 15: Oracle9 Application Server

JSPの特徴

� HTMLデザインとビジネスロジックの分離– HTMLにJavaを埋め込むことが可能

� 初回の呼び出し時に自動的にコンパイル– Servlet変換後Javaクラスにコンパイル

– 2回目以降の呼び出しはコンパイル済みのコードが実行される

– JSPが変更された場合は、自動的に再度コンパイルされて実行させることが可能

� JavaBeansの利用が可能

Page 16: Oracle9 Application Server

namenameオブジェクトオブジェクト

JSPアプリケーション・サンプル

<%@page session="false" %>

<jsp:useBean id="name" class="oracle.jsp.jml.JmlString" scope="request" >

<jsp:setProperty name="name" property="value" param="newName" />

</jsp:useBean>

<HTML>

<BODY>

<% if (!name.isEmpty()) { %>

<H3>Welcome <%= name.getValue() %></H3>

<% } %>

<P>

</BODY>

</HTML>

getValue()

scottscott

Page 17: Oracle9 Application Server

Enterprise JavaBeans (EJB)

Javaを利用したビジネスロジックのコンポーネント化技術

EJB AEJB A

EJB BEJB B

EJB CEJB C

EJB DEJB D

ServletServlet

EJB AEJB A

EJB BEJB B

EJB CEJB C

Page 18: Oracle9 Application Server

EJBの特徴

� ビジネスロジックを集中管理– 保守性を高める

� 共通のビジネスロジック実装方法を提供– 再利用性を高める

� ネットワークに分散されたビジネスロジックを統合� ビジネスロジックを効率よく実装

– システムレベルのプログラミングが不要� EJBサーバーがサービスとして提供� Transaction, Lifecycle, Security, Persistence...

� OSやEJBサーバーに非依存

Page 19: Oracle9 Application Server

� 静的ページだけでなく、Servlet/JSPなどで生成される動的ページもキャッシュ(H/W Cacheでは不可)

� CGI、PL/SQL、JavaなどあらゆるWebアプリケーションから生成された情報をキャッシュ(オープン/導入の容易さ)

� データベースの内容更新に合わせて、キャッシュの有効期間を管理(OracleDBと高度に連携)

OracleWeb Cache

OracleOracleWeb CacheWeb Cache

ビジネスビジネスロジックロジック

Oracle9iAS WebCache

Page 20: Oracle9 Application Server

データベース・サーバー

アプリケーション

ブラウザ

クライアント

Oracle iAS SE or EE

PL/SQL

EJB

CORBA

トリガー

(Servlet, JSP

, PL/SQL, …)

アプリケーション

Oracle iAS SE or EE

(Servlet, JSP

, PL/SQL, …)

表の変更により無効となったURLを伝達(HTTP/XML)しキャッシュの有効期間を管理

Oracle iASEE

OracleWeb

CacheOracle

HTTP Server

Oracle

HTTP Server

Oracle9iAS WebCache

Page 21: Oracle9 Application Server

Oracle9iAS WebCache 構成例

Browser

OracleOracleHTTPHTTPServerServer

ApacheApacheJservJserv

99iASiAS SE SE

OracleOracleHTTPHTTPServerServer

ApacheApacheJservJserv

99iASiAS SE SE

LoadBalancer

(HyperFlow etc)

OracleOracle DB DB99iASiAS EE EE

WebWebCacheCache

Page 22: Oracle9 Application Server

Pentium III 2CPUのサーバーでWebCacheを実装したサーバー

単位 (リクエスト数 / 秒)

平均的なWeb Serverにおける1台当たりのパフォーマンス

50

7500

Oracle9iAS WebCache

� ASP/IDCモデルに最適、既存のWebシステムの高速化

� ECサイトなどのコンテンツ参照の多いサイトにも最適

� 単純に実装するだけで、約150倍の性能向上を達成

Page 23: Oracle9 Application Server

DatabaseDatabaseCacheCache

キャッシュキャッシュ

ビジネスビジネスロジックロジック

� アプリケーション・サーバー層にてデータベース・キャッシュを実装、高速に処理!!

� システム全体(DB層+中間層)での最適な構成が可能

� Price Performanceの向上

キャッシュされていない場合キャッシュされていない場合

キャ

ッシ

ュさ

れて

キャ

ッシ

ュさ

れて

いる

場合

いる

場合

Oracle9iAS Database Cache

Page 24: Oracle9 Application Server

データベース・サーバー

Oracle8i PL/SQL

Oracle8i JVM

EJBCORBA

EJBCORBA

ストアドプロシージャ

ストアドプロシージャ

ミドルティア・サーバー

mod_perl

スナップショットによるスナップショットによるデータの同期データの同期

(一定間隔(一定間隔 oror DB DB更新時)更新時)

DML/DDL文及び表がキャッシュされて

いない場合

PerlPerl

Apache

JServ

JSPJSPServletServlet

ブラウザ

SELECT文

SQL実行エンジン

クライアント

Oracle 9iAS EE

Ora

cle

HT

TP

Ser

ver

DatabaseCache

Oracle9iAS Database Cache

� Javaのビジネスロジックを、中間層だけで高速に処理

Page 25: Oracle9 Application Server

Oracle iASによるEnterprise Information Portal

C/S的管理

BookMark 管理

Portalサイト

完全なポータル

Page 26: Oracle9 Application Server

これからのPortalの基本

Page 27: Oracle9 Application Server

Portal画面のパーソナライズ

� Webブラウザ・インタフェースを使用して自分専用のページを定義

– アクセスの許可された情報・アプリケーションのリストより必要なものをページ上に自由に配置

Page 28: Oracle9 Application Server

Oracle Portalによる統合

完全にパーソナライズされたビュー

既存の情報・アプリケーション既存の情報・アプリケーション

社員検索・ワークフロー・顧客管理・社員検索・ワークフロー・顧客管理・タスク管理・経費清算・在庫管理・タスク管理・経費清算・在庫管理・社内サイト・スケジュール・メール・社内サイト・スケジュール・メール・......

ニュース・株価・お天気・サーチ・チャット・オークション・ニュース・株価・お天気・サーチ・チャット・オークション・……

Oracle iAS + Oracle8i

ERPERP・・CRMCRM

インターネット・コンテンツインターネット・コンテンツ

Oracle E-Business SuiteOracle E-Business Suite

Page 29: Oracle9 Application Server

モバイル・アクセスの実現~ Any Data to Any Device ~� コンテンツを、様々な携帯電話・携帯情報端末に

対応した形式に自動変換

OraclePortal-to-Go

Page 30: Oracle9 Application Server

WebWebアダプタアダプタ

RDBMSRDBMSアダプタアダプタ

カスタムカスタムアダプタアダプタ

XMLXML

XMLXML

DDI/IDODDI/IDO用用トランスフォーマトランスフォーマ

J-PHONEJ-PHONE用用トランスフォーマトランスフォーマ

VoiceVoiceトランスフォーマトランスフォーマ

Portal-to-Go Portal-to-Go ~~Wireless Wireless FlameworkFlamework ~~

XMLXML

MMLMML

VoxMLVoxML

HDMLHDML

iiモード用モード用トランスフォーマトランスフォーマ

CHTMLCHTML

WebWeb

DBDB

Any SourceAny Source

トランスフォーマトランスフォーマPalmPalm用用

HTMLHTML

Post processorPost processor

•• Oracle XML Parser Oracle XML Parser•• XSL XSL•• JSP JSP•• Other Other

JobJobSchedulerScheduler

NotificationNotificationEngineEngine

Oracle iAS Wireless Edition

ユーザーユーザーメニューメニュー

++ルールルール

Oracle HTTP ServerOracle HTTP ServerApache JServApache JServOracle JSPOracle JSP

Page 31: Oracle9 Application Server

C/Sアプリケーション

Webアプリケーションブラウザ

Developerで開発

配布

配布

Developerランタイム

JavaJavaアプレットアプレット//HTMLHTMLファイルファイル

ビジネス・アプリケーションの展開Developer Serverによるアプリケーションの統合

� C/SシステムからWebシステムまで共通の4GLで開発されたアプリケーション実行環境の統合

Developer ServerDeveloper Serverを統合を統合

Page 32: Oracle9 Application Server

Web

WebDB

Reports Server

BrowserBrowser

定型帳票のWeb配信

非定型問合わせレポーティング

ビジネス・インテリジェンスの実践Reports Server/Discoverer Viewerの統合

Discoverer Viewer

Page 33: Oracle9 Application Server

R1.0

SE

9月27日

9月27日

9月27日

9月27日

9月27日

9月27日

R1.0.2

SE,EE

2001年1月22日

2001年1月25日

2001年1月25日

2001年1月25日

2001年2月下旬

2001年2月下旬

R1.0.2

WE

2001年4月下旬

2001年4月下旬

2001年4月下旬

2001年4月下旬

2001年4月下旬

2001年4月下旬

リリース

Edition

プラットフォーム

Sun SPARC Solaris

HP-UX

IBM AIX

Compaq Tru64 UNIX

Windows NT/2000

Linux

リリース

Edition

プラットフォーム

Sun SPARC Solaris

HP-UX

IBM AIX

Compaq Tru64 UNIX

Windows NT/2000

Linux

R1.0.2.1

SE,EE,WE

2001年4月

2001年4~5月

2001年4~5月

2001年4~5月

2001年5月

2001年5月

Web Cacheは2月下旬からサポート開始

Database Cache,Portalなどサポート開始

製品出荷/サポートスケジュール

Page 34: Oracle9 Application Server

Internet Developer Suite等の利用

� PL/SQL– Oracle Designer6i(IDS)

– Oracle Portal / KeyWebCreator

� Java– Oracle JDeveloper(IDS)

� その他– Oracle Developer6i(IDS)

Page 35: Oracle9 Application Server

Oracle DesignerによるHTMLアプリケーション

Page 36: Oracle9 Application Server

モジュールの構成

モジュール・コンポーネント1つの基礎表と複数の参照表から構成されるコンポーネント

マスターブロック

ディテールブロック

参照表基礎表の親表データの参照のみ可能

基礎表挿入・更新・削除を行う対象となる表

リレーション結合

モジュール・リンク複数モジュール間の連結

Page 37: Oracle9 Application Server

Oracle DesignerによるHTMLアプリケーション

� 生成されるHTML文書の基本構成

� 更新系処理

� エラー制御� ‘6i’の新機能

� セキュリティ

Page 38: Oracle9 Application Server

Personal Enquiry SystemWelcome to the personal enquiry system. ・About Page ・Job Grades ・Job Opportunities

EmployeesPlease enter query:

ID :

Name :

Department :

Find Clear

起動ページ起動ページ

問合せフォーム問合せフォーム

基本構成

バージョン情報ページバージョン情報ページ

About Personal Enquiry System

This application was generated by PL/SQL Web GeneratorVersion 6.5.9.0.0

WebServer Generator Library 6.5.8.0.0Current User DEMOPL/SQL 8.1.5.0.0 ProductionOracle WebServer Oracle_Web_Listener/1.0.7.1 Enterprize EditionWeb Browser Mozilla/4.61[en] (Win NT;I)Repository Application System Personal Enquiry SystemRepository Module Personal Enquiry

EmployeesSelect the employee of interest :

EmpNo Name Department

1000 Scott Develop

2000 Tiger Develop

3000 Sugi Marketing

4000 Kawamoto Sales

5000 Oguri Sales Engineer

Record 1 to 5

EmployeesSelect the employee of interest :

EmpNo Name Department

1000 Scott Develop

2000 Tiger Develop

3000 Sugi Marketing

4000 Kawamoto Sales

5000 Oguri Sales Engineer

Record 1 to 5

First Next Previous Last NewRequery

レコードリストレコードリスト

EmployeesScott

ID :

Name :

Job :

Salary :

RevertUpdate Delete New

EmployeesScott

ID : 1000

Name : Scott

Job : Transration

Salary : 8,000,000

表示フォーム表示フォーム

DeleteScott

Please confirm delete.

Delete 削除確認ページ削除確認ページ

Enter New Employee :Scott

ID :

Name :

Job :

Salary :

ClearInsert

挿入フォーム挿入フォーム

Page 39: Oracle9 Application Server

起動ページ� Web PL/SQLモジュールの

先頭ページ

� モジュールのバージョン情報     (バージョン情報ページ)

� モジュールの内容– 内容紹介のテキスト

– モジュール・コンポーネントとのハイパーリンク

– 他のモジュールとの  ハイパーリンク

� 問合せフォームの表示

� 生成単位: モジュール

Personal Enquiry SystemWelcome to the personal enquiry system. ・About Page ・Job Grades ・Job Opportunities

EmployeesPlease enter query:

ID :

Name :

Department :

Find Clear

起動ページ起動ページ

問合せフォーム問合せフォーム

バージョン情報ページバージョン情報ページ

About Personal Enquiry System

This application was generated by PL/SQL Web GeneratorVersion 6.5.9.0.0

WebServer Generator Library 6.5.8.0.0Current User DEMOPL/SQL 8.1.5.0.0 ProductionOracle WebServer Oracle_Web_Listener/1.0.7.1 Enterprize EditionWeb Browser Mozilla/4.61[en] (Win NT;I)Repository Application System Personal Enquiry SystemRepository Module Personal Enquiry

Page 40: Oracle9 Application Server

Personal Enquiry SystemWelcome to the personal enquiry system. ・About Page ・Job Grades ・Job Opportunities

EmployeesPlease enter query:

ID : Name : Department :

Find Clear

起動ページ起動ページ

問合せフォーム問合せフォーム

問合せフォーム

� 生成単位:    モジュール・コンポーネン

� 検索条件を入力し、問合せを実行するようなフォーム

� 起動ページとの分離が可能

� 省略可能– 問合せを許可しない

– 自動問合せ

Page 41: Oracle9 Application Server

EmployeesSelect the employee of interest :

EmpNo Name Department

1000 Scott Develop

2000 Tiger Develop

3000 Sugi Marketing

4000 Kawamoto Sales

5000 Oguri Sales Engineer

Record 1 to 5

レコード・リスト

� 生成単位:    モジュール・コンポーネン

� 問合せの結果レコードを表示

– HTML表

– 順序番号付きリスト

– 黒丸付きリスト

レコードリストレコードリスト

First Next Previous Last NewRequery

EmployeesSelect the employee of interest :

EmpNo Name Department

1000 Scott Develop

2000 Tiger Develop

3000 Sugi Marketing

4000 Kawamoto Sales

5000 Oguri Sales Engineer

Record 1 to 5

Page 42: Oracle9 Application Server

表示・削除・挿入フォーム

EmployeesScott

ID :

Name :

Job :

Salary :RevertUpdate Delete New

EmployeesScott

ID : 1000

Name : Scott

Job : Transration

Salary : 8,000,000

表示フォーム表示フォーム

DeleteScott

Please confirm delete.

Delete

削除確認ページ削除確認ページ(削除フォーム)(削除フォーム)

Enter New Employee :Scott

ID :

Name :

Job :

Salary :

ClearInsert

挿入フォーム挿入フォーム

� 生成単位:    モジュール・コンポーネン

� 選択されたレコードの完全な詳細を表示

� レコードの変更– 更新

– 削除

– 挿入

� 表示は任意

Page 43: Oracle9 Application Server

3つのレイアウト・スタイル

レイアウト・スタイルレイアウト・スタイル 表示形式表示形式 選別の指針選別の指針

リストリストリスト

フォームフォームフォーム

リスト/フォームリストリスト//フォームフォーム

問合せフォーム /レコード・リスト/表示フォームをそれぞれ別々に表示

問合せフォーム/レコード・リスト/表示フォームをフレームを用いて同一ページに表示可能

レコード・リストは作成されない

表示情報が大量にある場合

読み取り専用情報を表示する場合にのみ選択

各フレームの内容を小領域で効率的に表示する場合

Page 44: Oracle9 Application Server

4GL RAD開発ツール

Oracle DeveloperGUI、宣言型開発

3GL(C, Java, Perl...)

すべてコーディング

private void initComponents () { addWindowListener (new java.awt.event.WindowAdapter () { public void windowClosing (java.awt.event.WindowEvent evt) { exitForm (evt); } } ); getContentPane ().setLayout (new java.awt.BorderLayout ()); tmrSeconds = new com.ora.timerbean.Timer (); tmrSeconds.addTimerListener (new com.ora.timerbean.TimerListener() { public void onTime (java.awt.event.ActionEvent evt) { tmrSecondsOnTime (evt); } } );

直感的に素早く開発

Page 45: Oracle9 Application Server

インターネットアプリケーションの4GL

4GL開発ツールで設計したリッチなUIがそのままブラウザ上で再現されます

Page 46: Oracle9 Application Server

デフォルト生成機能

やり直し可能なウィザードForms� 値リスト、データブロック、レイアウト

Reports� レポート、Web、データモデル、、、

データセントリックな開発アプローチ–データ・オブジェクトを中心に–データモデルの定義

Page 47: Oracle9 Application Server

データを操作するのに、、、

通常の開発ツールでは操作ごとにプログラミングSELECT rowid, deptno, dname, locFROM deptWHERE rowid = ‘000012C1.0001.0001’AND deptno = 30AND dname = ‘Sales’AND loc = ‘Chicago’

FOR UPDATE OF deptno, dname, locNOWAIT ;

UPDATE dept SETdeptno = 30, dname = ‘Consulting’, loc =‘Chicago’WHERE rowid = ‘000012C1.0001.0001’ ;

SELECT rowid, deptno, dname, locFROM deptWHERE rowid = ‘000012C1.0001.0001’AND deptno = 30AND dname = ‘Sales’AND loc = ‘Chicago’

FOR UPDATE OF deptno, dname, locNOWAIT ;

UPDATE dept SETdeptno = 30, dname = ‘Consulting’, loc =‘Chicago’WHERE rowid = ‘000012C1.0001.0001’ ;

–排他制御–問合せ–更新 etc...

このような頻繁にある操作でもその都度SQLをDBに発行

問合せ

排他制御

更新

Page 48: Oracle9 Application Server

Oracle Developerアプリケーションはデータベースの操作を自動的に行います。機能を変更する場合も、プロパティを変更するだけです。

Oracle Developerアプリケーションはデータベースの操作を自動的に行います。機能を変更する場合も、プロパティを変更するだけです。

–排他制御–問合せ–更新 etc...

このような操作で開発者はプログラミングする必要ははありません

プログラミングを最低限に

Page 49: Oracle9 Application Server

C/Sとインターネットで同一モジュール

Oracle8

C/Sアプリケーション

Webアプリケーション

Webブラウザ

開発したアプリケーションファイル

配布

配布

Developerランタイム

Javaアプレット/HTMLファイル

Developer ServerForms ServerReports Server

Net8

Net8

HTTP

まったく同一の実行ファイル

Page 50: Oracle9 Application Server

ソースファイル

プラットフォーム間共通モジュール

配布

コンパイル

アプリケーションファイル

C/S-Internet → 同一ファイル

Developer Server

UNIX

Developer Server

Windows NT

C/S(Developer Runtime)アプリケーションファイル

プラットフォーム間 → 共通ソースファイル ソースファイル

コンパイル

アプリケーションファイル

Page 51: Oracle9 Application Server

Oracle JDeveloperによるWebアプリケーション

Page 52: Oracle9 Application Server

Oracle JDeveloperの開発サイクル

開発開発

テスト・デバッグテスト・デバッグ

配布配布

配布プロファイルに配布プロファイルによる自動化よる自動化•• Oracle8Oracle8ii JVM JVM•• Oracle Oracle iiASAS•• Apache Apache JServ JServ•• Tomcat Tomcat

•• コード生成ウィザードコード生成ウィザード•• 2- 2-WayWayテクノロジテクノロジ•• JDKJDKスイッチングスイッチング•• Oracle JDBCOracle JDBCドライバドライバ•• SQLJSQLJのビルトインのビルトイン•• Business ComponentsBusiness Componentsfor Javafor Java•• XML, XSL, XSQL XML, XSL, XSQL

•• JDeveloperJDeveloperにビルトインされたにビルトインされたWebWebサーバーによるサーブレットサーバーによるサーブレット//JSPJSPののテスト・デバッグテスト・デバッグ

•• リモート・デバッグリモート・デバッグ Oracle8Oracle8ii JVM, Oracle JVM, Oracle iiASAS, ..., ...

•• BC4J BC4Jテスターテスター

Page 53: Oracle9 Application Server

Business Components for Java� JavaとXMLによる、ビジネス・アプリケーションを

構築するためのフレームワーク– Java: ビジネス・ルールの実装– XML: アプリケーションのメタ・データを記述      JDeveloperのウィザードにより、生成・編集

� 論理3階層で構成されるアプリケーションを構築– ユーザー・インターフェース(HTML, XML, Java)

– ビジネス・コンポーネント(ビジネス・ロジック)– アプリケーション・データ(DBに格納されたデータ)

Page 54: Oracle9 Application Server

ビジネス・コンポーネント

� DBアクセスのためのロジックをカプセル化– Java-DB間におけるデータ型の自動マッピング– JDBCやSQLJを用いたコーディングは不要

� プラットフォームに依存しないコンポーネント– ユーザー・インターフェースとの完全な分離– Write Once, Deploy Everywhere� ローカル・モードで実行(UIと同一Java VM上で実行)� Enterprise JavaBeansとして実行

­ Oracle8i JVM / 各種EJBサーバー� CORBAオブジェクトとして実行

­ Oracle8i JVM / VisiBroker対応 CORBAサーバー

Page 55: Oracle9 Application Server

ユーザーユーザーインターフェースインターフェース

•• エンティティ・オブジェクトエンティティ・オブジェクト

•• ビュー・オブジェクトビュー・オブジェクト

•• アプリケーション・モジュールアプリケーション・モジュール

ビジネス・コンポーネントビジネス・コンポーネント

ビジネス・コンポーネント

ビューオブジェクト

エンティティオブジェクト

エンティティオブジェクト

ビューオブジェクト

ビューオブジェクト

アプリケーション・モジュールアプリケーション・モジュール

� DBオブジェクトをJavaにマッピング� 問合せ結果をキャッシュ� ビジネス・ルールの実装

� エンド・ユーザーに対するデータの見せ方を定義

� データ・モデルの定義� DBトランザクション、

セッションの管理

アプリケーションアプリケーションデータデータ

Page 56: Oracle9 Application Server

ユーザー・インターフェース

� Webベースのユーザー・インターフェース– ビジネス・コンポーネントJSPアプリケーション・ウィザード

– Web Beanウィザード� HTML/XMLドキュメントの生成

� Javaフォーム・ベースのユーザー・インターフェース– ビジネス・コンポーネント・データ・フォーム・ウィザード� アプリケーション、フレーム、Appletを作成

– データベース対応コントロール� Swingをベースに作成したJavaBeans

Page 57: Oracle9 Application Server

Write Once, Deploy Everywhere

アプリケーションアプリケーションデータデータ

ビジネスビジネスコンポーネントコンポーネント

ユーザーユーザーインターフェースインターフェース

クライアント

Webサーバー

Appサーバー

DBサーバー

論理階層論理階層

物理階層

物理階層

ApplicationApplicationor Appletor Applet

ServletServletor JSPor JSP

ローカルローカルモードモード

ローカルローカルモードモード

EJB/EJB/CORBACORBA

EJB/EJB/CORBACORBA

OracleOracle

Page 58: Oracle9 Application Server

Business Components for Javaのメリット

� DBアクセスのためのコーディングが不要

� ビジネス・ルールのためのコーディングを単純化

� アプリケーションのコードとメタ・データが分離されているため、カスタマイズが簡単� EJBまたはCORBAオブジェクトとして各種アプリ

ケーション・サーバーに配布可能� テスト用のU/Iを提供

– Business Components Browser

Page 59: Oracle9 Application Server

JDeveloperによるWebアプリケーション開発� 各種ウィザードの提供:スケルトンの生成

– HTTPサーブレット・ウィザード

– JSPエレメント・ウィザード

– Web Beanウィザード

– ビジネス・コンポーネントJSPアプリケーション・ウィザード

� Servlet/JSPのテストとデバッグ– JDeveloperのIDE内でのServlet/JSPのテスト実行

– リモート・デバッグ

� Webアプリケーションの配布

� Oracle XDKとの緊密な統合

Page 60: Oracle9 Application Server

Developer DEMOby ScreenCam

Developer のデモが入ります。ScreenCam で再生します。3min流れ -アプリケーションは「社員表の一覧/管理」(共通) -C/Sプログラムを実行、Web化、Javaで実行

Page 61: Oracle9 Application Server

Designer DEMOby ScreenCam

Desinger のデモが入ります。ScreenCam で再生します。2min流れ -データベース中のテーブル設計を閲覧 -PL/SQLアプリケーションとして生成 -アプリケーションは「社員表の一覧/管理」(共通)

Page 62: Oracle9 Application Server

KeyWeb Creator DEMOby ScreenCam

KeyWeb Creator のデモが入ります。ScreenCam で再生します。3min流れ -ウィザードでアプリケーションを作成 -アプリケーションは「社員表の一覧/管理」(共通)

Page 63: Oracle9 Application Server

Oracle Portal DEMOby ScreenCam

Oracle Portal のデモが入ります。ScreenCam で再生します。3min流れ -データベース中のテーブルを閲覧 -Webアプリケーションの構築ステップ -アプリケーションは「社員表の一覧/管理」(共通) -作成された画面を他の画面と組み合わせてポータル化 -パーソナライズ画面を表示

Page 64: Oracle9 Application Server

JDeveloper DEMOby ScreenCam

JDeveloper のデモが入ります。ScreenCam で再生します。4min流れ -Wizardでプロジェクトを新規作成 -Wizardでビジネスコンポーネントを作成 -ビジネスコンポーネントをテスト -ビジネスコンポーネントを使用したJSPを作成 -Webブラウザを使用して、JSPアプリケーションを実行 -アプリケーションは「社員表の一覧/管理」(共通)

Page 65: Oracle9 Application Server

WebCache DEMOby ScreenCam

WebCache のデモが入ります。ScreenCam で再生します。2min流れ -WebCacheの設定画面を表示 -実際のアプリケーションの性能差を表現 -キャッシュ性能測定を実施、性能差を表現 -アプリケーションは「社員表の一覧/管理」(共通)

Page 66: Oracle9 Application Server