...

Java - Coreservlets.com

by user

on
Category: Documents
15

views

Report

Comments

Transcript

Java - Coreservlets.com
Java: ソフトウェア革
命?
Marty Hall
http://www.coreservlets.com
CasaReal, Inc.
http://www.casareal.co.jp
© 2003 Marty Hall, http://www.coreservlets.com
アジェンダ
• Java の迷信と実像
–
–
–
–
–
•
•
•
•
•
Java は Web が使用可能?
Java は安全?
Java はクロス・プラットフォーム?
Java は簡単?
Java は強力?
共通 Java プロトコル & パッケージ
Java の未来
Java の実用例
サンプル Java プログラム
Q&A
www.coreservlets.com
Java は Web が使用可能?
が使用可能
• 実像:
アプレット”を起
実像 Web ブラウザは Java “アプレット
アプレット を起
動可能
– Web はドキュメントの配信と表示だけでなく、ソ
フトウェアの配信と実行も可能
– インストールやアップデートが不要;ブックマー
クするだけ
– 大きく、複雑なアプレットはイントラネットに最
適。概して WWW ではなく、APL モデルに適し
ている
• 実像:
実像 Java のネットワークライブラリは使いや
すい
– 普通の人でもソケットプログラミングが可能
www.coreservlets.com
標準分散オブジェクトプロトコルと DBMS API
ハッブル宇宙望遠鏡のモニタリング:
ハッブル宇宙望遠鏡のモニタリング
“NASA ゴダード宇宙研究所で最も成功した
ソフトウェアプロジェク
ト”
www.coreservlets.com
Java は Web が使用可能?
が使用可能
• 迷信:
迷信 Java は Web 専用
– Java “アプレット” は Web ページ内で起動
– Java “アプリケーション”はスダンドアローンで起
動
– 現在の用途 (概算)
• Client (アプレット): 5%
• Desktop (アプリケーション): 45%
• Server (サーブレット/JSP/EJB): 50%
www.coreservlets.com
Star Office
Java で 書かれた MS Office の競合製品
www.coreservlets.com
Java は安全?
は安全
• JAVA: Just Another Virus Architecture?
www.coreservlets.com
Java は安全?
は安全
• 実像:
実像 許容可能なオペレーションに対する制限
は可能
– メモリーを(直接または間接的にも) “生” での操
作しない。
• よって、禁止操作の発見が容易。
– アプレットはデフォルトで以下のことが禁止され
ている:
•
•
•
•
•
ローカルディスクの読み込み
ローカルディスクへの書き込み
ローカルプログラムの実行
HTTP サーバ以外へのネットワーク接続
ユーザのプライベート情報(ユーザ名、ディレクト
リ、OS パッチレベル、インストールされたアプリケ
ーションなど)の発見
www.coreservlets.com
Java は安全?
は安全
• 迷信:
迷信 アプレットはコンピュータに害を及ぼさ
ない
– サービス妨害 (Denial of service)
– 不適切なブラウザ設定
– バグの実装
• 迷信:
迷信 Java は制限が多く使いづらい
– 制限はアプレットにのみ適用。通常の Java プログ
ラムに制限はない
– 電子署名のサポートにより、制限が緩まった
• 迷信:
迷信 電子署名付きアプレットの安全性は
ActiveX と変わらない
– アプレットのセキュリティは緩くなったが、
ActiveX のように“全て”か“なし”かではない
www.coreservlets.com
Java はクロス・プラットフォー
ム?
• 実像:
実像 Java プログラムはマシン固有のバイトコ
ードにコンパイル可能
Java
Source Code
Compiler
(javac)
Java Bytecode
Compile Time
Java Bytecode
JIT Compiler
or Interpreter
Execution
Run Time
• 実像:
実像 ほとんどのオペレーティングシステムに
は Java 動作環境が備わっている
– 通常バンドルされている
(Solaris, MacOS, Linux, Windows, OS/2)
www.coreservlets.com
火星探査機のデータ・ビューア
www.coreservlets.com
Java はクロス・プラットフォー
ム?
• 迷信:
迷信 パフォーマンスを悪化させずに安全性と
マシンの独立性の達成が可能
– 既存のシステムは C++ よりも約 20% 遅い
– 次期リリースでそのギャップは減少、解消される
と言われている
– 個人的には 10% 以上のギャップになると考えてい
る
– 無償コンパイラよりも商用コンパイラの方が早い
場合がある
• 迷信:
迷信 Java は解釈(インタープリット)され
ている
– 初期リリースでは解釈されていた
– 多くの“Just in Time” (JIT) コンパイラ
www.coreservlets.com
HotSpot と “ネイティブ”なコンパイラはそれ以上
Java はクロス・プラットフォー
ム?
• 実像:
実像 Java には移植できるグラフィック・ライブ
ラリがある
“OSネイティブな操作感(ルック・アンド・フィール)
ネイティブな操作感(ルック・アンド・フィール)”
ネイティブな操作感(ルック・アンド・フィール) -- Java 1.1
UI が OS への適合を制御する
“プラッグ可能な操作感(ルック・アンド・フィール)
プラッグ可能な操作感(ルック・アンド・フィール)”
プラッグ可能な操作感(ルック・アンド・フィール) -- Java 2 が
見た目の変更を制御する
• 迷信:
迷信 グラフィックライブラリには、大体のアプ
リケーションで必要なものが揃っている
AWT (Java 1.0 and 1.1) は力不足だったが、JFC/Swing
(Java 2) はよ
は力不足だったが、
り完全で、パワーがある
www.coreservlets.com
Java はクロス・プラットフォー
ム?
• 真実:
意見)
真実 (意見
意見 ネイティブな操作感(ルック・ア
ンド・フィール)の選択は正しかった
www.coreservlets.com
Java Foundation Classes (JFC)
によりグラフィックスが格段に向
上
•
•
•
•
•
更なるGUI
の制御
更なる
更なるカスタマイズ化が可能
プラグ可能な操作性
ネイティブなフォント
より豊富な
描画操作
www.coreservlets.com
Java はクロス・プラットフォー
ム?
• 迷信:
迷信 Write Once Run Anywhere
– クロス・プラットフォームなコードは可能だが、
使用する全てのプラットフォームでテストする必
要がある
• Java アプリケーションはローカルコードで実行可能
• グラフィックライブラリは異なるプラットフォーム
では若干異なる振舞いをする
• スレッドスケジューラの振舞いは、緩くしか定義さ
れていない
• 迷信:
迷信 Java が Microsoft を倒す
– 逆(Microsoft が Java を今すぐ倒す)ような危険
性はなくなった
– Microsoft は Java と戦うのか、仲良くしマーケッ
トを独占することで儲けるのかで迷っていた。し
かし NETで再度 戦いに転じた www.coreservlets.com
Sun のスローガン:
のスローガン
“100% Pure Java”
パットを見てください。
パットはプログラムを一度だけ書きました
全てのプラットフォームで動作が可能です
プログラムを書くのに、
パットは100% Pure Java を使いました。
動けプログラム、動け!
www.coreservlets.com
Java は簡単?
は簡単
• 実像:
実像 Java は幾つかの言語の機能を非常に簡単
にする
– Java は自動メモリ管理機能を持つ
• Windows はゴミを捨ててくれますか?
• ぶら下がっているポインタがない。メモリーリーク
がない。
– Java はポインタ処理を簡単にする
• 明示的な参照/参照渡しの操作がない
–
–
–
–
メイクファイルがいらない ヘッダーファイルがいらない
C++ の構文を合理化
C# は Java と同等、ただし言語の核心に関して言
えば・・・。
www.coreservlets.com
Java による迅速な
アプリケーション開発
– 数ギガバイトのテキストコーパスの情報回収 (APL
RTDC)
– 分散シミュレーションの (APL STD)
www.coreservlets.com
Java は簡単?
は簡単
• 迷信:
迷信 Java のプログラミングは簡単
– プログラミングは常に難しい
• Java は HTML ではない;
JavaScript に少し似ているだけ
– プログラマは大抵、複雑さを追求してしまう
• マルチスレッド、およびネットワークプログラミン
グ
www.coreservlets.com
Java は強力?
は強力
• 実像:
実像 Java は豊富な標準ライブラリを備えてい
る
–
–
–
–
–
–
–
–
–
–
ネットワーク スレッド (軽いプロセス)
分散オブジェクト データベースアクセス
グラフィックス:GUI 制御と描画 データ構造ライブラリ 任意の正確積分および固定小数点式の算術
電子署名 シリアライズ化 (データ構造の送信/再構築)
ファイルとストリームの圧縮 www.coreservlets.com
MEL - Master Environmental
Library
www.coreservlets.com
Java は強力?
は強力
• 迷信:
迷信 全てのアプリケーションに対して、Java
全てのアプリケーションに対して、
はプログラマの生産性をXXX%
%向上させる
はプログラマの生産性を
• 迷信:
迷信 Java は C++ をなくす
• 迷信:
迷信 全てのソフトウェアを Java で書くべき
Unix :C 言語を活用
中小規模の Windows 専用プログラム: Visual Basic
文字列の構文解析: Perl
高パフォーマンス、単一プラットフォームのオブ
ジェクト指向システム:C++ – 航空交通完成、航空機飛行ソフトウェア: Ada
– 知識ベースシステム: Lisp/CLOS
– Java はこれらのプログラムの良い代替プログラム
である www.coreservlets.com
–
–
–
–
Java と C++
Java は C++ を駆逐することは
ないが、Java と C++ は同じ土
俵で競い合う。
The C++ Report では Java にポ
ートすることで C++ を頑強で
きると考えているのか?
www.coreservlets.com
鍵となる Java パッケージとプロト
コル
Key Java Packages and Protocols
• コアテクノロジー –
–
–
–
–
JDBC
RMI (and Jini)
JavaBeans
Swing
Java 2D
• 標準拡張 標準拡張 – Servlets
(及び JavaServer Pages)
– Struts
– Enterprise Java Beans (and JNDI)
– Java 3D
www.coreservlets.com
Java パッケージとプロトコル:
パッケージとプロトコル
JDBC (Java DataBase Connectivity)
• データベースサーバへ接続する仕組みを標準化
– クライアント側にサーバ固有のドライバが必
要。
サーバの設定には変更なし
• クエリー送信の仕組みを標準化
– 正規またはパラメータ化されたクエリー
(ストアドプロシージャ)
• クエリー結果のデータ構造を標準化
– リレーショナルデータが前提の為、データ構
造はテーブル
• 「SQL 構文の標準化」ではない
– クエリーは簡単なストリング
– サーバの拡張機能および追加機能をサポート
www.coreservlets.com
Java パッケージとプロトコル:
パッケージとプロトコル
Remote Method Invocation (RMI)
• 組み込まれた分散オブジェクト・プロトコル
– 開発者は RMI を使用することで普通に Java オブジェ
クトにアクセスし、操作する。その裏で実際のファン
クション呼び出しはネットワークを介してリモートオ
ブジェクトに行く
– Java の “シリアライズ化”機構により、特別のパッケー
ジングをほとんど使わずに、どんなJavaのデータ構造
でも、
ネットワークを介して送信することが可能
– 簡略化された CORBA に類似、しかし Java 同士のや
り取りに制限される
• Jini
– RMI ベースの自己文書化サービス向けプロトコル
– 正真正銘の“プラグ&プレイ”を可能にする
—別ドライバ不要
www.coreservlets.com
今後の成功はこれからにかか ている セキ リティ
Java パッケージとプロトコル:
パッケージとプロトコル
JavaBeans
• JavaBeans と Java の関係は
ActiveX
と Visual C++の関係と同等
の関係と同等.
の関係と同等
– Java プログラムをソフトウェアの
“コンポーネント”としてパッケージできる
– ビジュアルのツールにより、事前に詳細を
知らなくても、変更/操作が可能
• 例えば、Bean を Visual Café,
IBM VisualAge for Java,
Inprise (Borland) JBuilder, Sybase PowerJ,
Metrowerks CodeWarrior, Sun JavaWorkshop,
などにドロップするだけで、ツールパレットから
ドラッグ&ドロップの開発が可能
– ActiveX よりも優れたセキュリティと移植性
– 多くの ActiveX コンポーネントが利用可能
www.coreservlets.com
Java パッケージとプロトコル:
パッケージとプロトコル
Swing
•
•
•
•
Java 2 標準 GUI 制御
より多くの組み込まれた制御
より柔軟で、カスタマイズ化が可能
商用アプリケーション向けの機能を多く含む
– ツールチップ、タブ枠、
オンラインヘルプ、HTMLサポート、
ドック可能なツールバー、
マルチ-ドキュメントインタフェースなど
• 起動時に操作性(ルック・
アンド・フィール)が変わる
場合がある
www.coreservlets.com
Java パッケージとプロトコル:
パッケージとプロトコル
Java 2D
• Java 2 標準描画ライブラリ
• 多くの新しい描画属性
–
–
–
–
塗りつぶしパターンと画像
任意のフォント
ペンの太さとパターン
色の混合規則と透過性
• 座標変換 – 浮動小数点の 座標システム – メモリ座標からスクリーン座標または
プリンタ座標へのマッピング – アフィン変換:変換、スケール、
回転、ねじれ
www.coreservlets.com
Java パッケージとプロトコル:
パッケージとプロトコル
Java 3D
• Java の標準拡張機能
– Java 2D のように、Java 言語の”コア”ではない
• プラットフォームにより、Direct3D、
、または
プラットフォームにより、
OpenGL 上に構築
• Scene-graph に基づいたモデル。
リアルタイムレンダリング向けではない
www.coreservlets.com
Java パッケージとプロトコル:
Servlets
• クライアントが明示的に送信したデータを読み込
む
(フォームデータ
フォームデータ)
フォームデータ
• クライアントが暗示的に送信したデータを読み込
む
(リクエストヘッダ
リクエストヘッダ)
リクエストヘッダ
• 結果の生成
• 明示的データをクライアントに返す(HTML)
明示的データをクライアントに返す
• 暗示的データをクライアントに返す
(ステータスコード及びレスポンスヘッダ
ステータスコード及びレスポンスヘッダ)
ステータスコード及びレスポンスヘッダ
www.coreservlets.com
“既存
既存”の
既存 のCGI に対するサーブレッ
トの利点
• 効率性 Efficient
効率性 – OS プロセスの代わりにスレッドを利用、
1サーブレットのコピー、パーシスタンス
• 便利 Convenient
便利 – 多くの高レベルユーティリティ • 強力 Powerful
強力 – データ共有、プーリング、パーシスタンス
• 移植性 Portable
移植性 – ほとんどのオペレーティングシステムとサーバで動作
• 安全 Secure
安全 – シェルエスケープがない、バッファフローがない
• 安価 Inexpensive
安価 – 多くの無償、低価格サーバが存在
www.coreservlets.com
Java パッケージとプロトコル:
パッケージとプロトコル
JavaServer Pages (JSP)
• アイディア:
アイディア
– ページの大部分では通常のHTMLを使用
– サーブレットコードを特別なタグでマーク
– JSP ページ全体がサーブレットに変換(一回)され、
各リクエストで、実際に呼び出されるのは
そのサーブレット
• 例えば:
例えば
– JSP
• Thanks for ordering
<I><%= request.getParameter("title") %></I>
– URL
• http://host/OrderConfirmation.jsp
?title=Core+Web+Programming
– 結果
• Thanks for ordering Core Web Programming
www.coreservlets.com
JSP の利点
• 技術的にJSPはサーブレットで出来ないことは
はサーブレットで出来ないことは
技術的に
出来ない。しかし、JSP
は以下を簡単にする :
出来ない。しかし、
– HTML の作成
– HTML の読み込みと保守
• JSP が可能にすること:
が可能にすること
– Allaire HomeSite, Macromedia DreamWeaver, or
Adobe GoLive などの標準的な HTML の使用.
– HTML レイアウトとJava プログラミングの分
離
• JSP によって推奨されること – コンテンツを作成する (Java) コードと、それ
www.coreservlets.com
を
Servlets と JSP:
業界への導入 Industry
業界への導入 Adoption
www.coreservlets.com
Struts
Servlet および JSP のフレームワーク
無償
オープンソース
Apache Software Foundation で提供
大規模、中規模の サーバーサイド
Java システムの管理を簡単にする
• 業界で広く導入されている
•
•
•
•
•
www.coreservlets.com
Java パッケージとプロトコル:
パッケージとプロトコル
Enterprise JavaBeans (EJB)
• 通常のJavaBeans
がアプリケーションの
通常の
コンポーネントであるように、
EJB はサーバのコンポーネント
• ロードバランシング、パーシスタンス、
フォールオーバーなどのサービスへの
アクセスを標準化
• 中身は JavaBeans、
、CORBA、
、およびRMIで構築
で構築
および
• 非 Java プログラムからのアクセスも可能
• EJB をサポートするアプリケーションサーバ
– BEA WebLogic, IBM WebSphere, Netscape, Oracle, Progress SW
Apptivity, NetDynamics, Sybase, Bluestone Saphire/Web など
www.coreservlets.com
Java の未来
• 言語の核
– Windows 向け Java 2(別名 JDK 1.2-1.4 )は
1998年12月にリリース。豊富なGUI制御、描画
モデルの改善、多数のデータ構造ライブラリ(“
コレクション”)、オーディオサポートの改善、
標準 CORBA インタフェース、パフォーマンス
の改善
– 徐々に進化 • 標準拡張機能
– Servlets, JSP, Jini, JAXP, など
– 急速に進化 • サーバ上の Java
– 現在最も伸びている分野 www.coreservlets.com
Java の未来 (続き
の未来 続き)
続き
• 小さなデバイス、組み込み式
アプリケーション向けの
Java
– Java 2 Micro Edition
• PDA、 携帯電話など
– JavaCard
• Smart cards
– Real-Time Java の未来は
まだ不明
• http://www.rtj.org を参照
• 訴訟の行方は?
www.coreservlets.com
Java の未来:
の未来
パフォーマンスの改善
JHU/APL Information Retrieval Benchmark
250
200
150
100
50
0
1.1.3
1.1.5
1.2B2
1.2B3
1.2B4
www.coreservlets.com
Java の未来:
の未来
更なる成長
1,200,000
1,000,000,000
900,000,000
1,000,000
800,000,000
700,000,000
800,000
600,000,000
500,000,000
600,000
400,000,000
400,000
300,000,000
200,000,000
Web Documents On-Line
5/97
1/97
9/96
0
5/96
2000
1999
1998
1997
1996
0
1/96
200,000
100,000,000
Java Programs On-Line
www.coreservlets.com
Java の未来:
の未来
より多くの仕事
• 不景気に関わらず、大量のソフトウェア開発を
行うほとんどの企業では、優良な Java 開発者
が不足している
• IBM では2,
名以上のプロフェッショナル
では ,500名以上のプロフェッショナル
をJava製品開発に従事させている
製品開発に従事させている
• JavaOne カンファレンスのビデオクリップの
背景に書かれているコード:
if (you.canRead(this))
you.canGet(new Job(!problem));
www.coreservlets.com
サンプル Java プログラ
ム
© 2003 Marty Hall, http://www.coreservlets.com
デスクトップ Java プログラム
Desktop Java Program
• File ShowArgs.java:
public class ShowArgs {
public static void main(String[] args) {
for(int i=0; i<args.length; i++) {
System.out.println("Arg " + i +
" is " + args[i]);
}
}
}
www.coreservlets.com
デスクトップ Java プログラム:
プログラム
結果
• Compiling and Running:
> javac ShowArgs.java
> java
Arg 0
Arg 1
Arg 2
Arg 3
ShowArgs fee fie foe fum
is fee
is fie
is foe
is fum
www.coreservlets.com
Web で使用可能な Java プログラ
ム (Applet)
import java.applet.Applet;
import java.awt.*;
public class Message extends Applet {
private int fontSize;
private String message;
public void init() {
setBackground(Color.black);
setForeground(Color.white);
fontSize = getSize().height - 10;
setFont(new Font("SansSerif", Font.BOLD, fontSize));
// Read heading message from PARAM entry in HTML.
message = getParameter("MESSAGE");
}
public void paint(Graphics g) {
if (message != null)
g.drawString(message, 5, fontSize+5);
}
}
www.coreservlets.com
Web で使用可能な Java プログラ
ム (Applet) :続き
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Transitional//EN">
<HTML>
<HEAD><TITLE>The Message Applet</TITLE></HEAD>
<BODY BGCOLOR="WHITE">
<H1>The <CODE>Message</CODE> Applet</H1>
<P>
<APPLET CODE="Message.class" WIDTH=325 HEIGHT=25>
<PARAM NAME="MESSAGE" VALUE="Tiny">
<B>Sorry, these examples require Java</B>
</APPLET>
<P>
<APPLET CODE="Message.class" WIDTH=325 HEIGHT=50>
<PARAM NAME="MESSAGE" VALUE="Small">
<B>Sorry, these examples require Java</B>
</APPLET>
...
</BODY></HTML>
www.coreservlets.com
Web で使用可能な Java プログラ
ム (Applet) : 結果
www.coreservlets.com
サーバサイド Java プログラム
(Servlet)
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Hello World");
}
}
www.coreservlets.com
サーバサイド Java プログラム
(Servlet): 結果
www.coreservlets.com
サーバサイド Java プログラム
(JSP)
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
…
<BODY>
<H2>JSP Expressions</H2>
<UL>
<LI>Current time: <%= new java.util.Date() %>
<LI>Your hostname: <%= request.getRemoteHost() %>
<LI>Your session ID: <%= session.getId() %>
<LI>The <CODE>testParam</CODE> form parameter:
<%= request.getParameter("testParam") %>
</UL>
</BODY>
</HTML>
www.coreservlets.com
サーバサイド Java プログラム
(JSP): 結果
www.coreservlets.com
ビジネスにおける Java の導入
• フィナンシャルサービ
ス: Charles Schwab
– 1999年に、拡張性、
開発効率、およびビ
ジネスエンタープラ
イズ全体におけるコ
ードの再利用性と共
有性を提供する Java
プラットフォームに
、内部システム全て
と、カスタマ・アプ
リケーションを移行
する戦略的決定を行
った。
www.coreservlets.com
ビジネスにおける Java の導入
• フィナンシャルサービス:
フィナンシャルサービス
松井証券
– オンライン・トレーディン
グ
システム全てをJavaで構築
www.coreservlets.com
ビジネスにおける Java の導入
• フィナンシャルサービス:
フィナンシャルサービス
NASDAQ
– 多くの市場分析ツール
は Java Swing や
アプレットで作成
www.coreservlets.com
ビジネスにおける Java の導入
• WashingtonPost.com
– カスタマイズ化された
オンライン新聞
www.coreservlets.com
ビジネスにおける Java の導入
• ユナイテッド航空
– ユナイテッド航空にとっ
て情報は命です。お客様
、地上要員、ゲート要員
、添乗員、操縦士、オペ
レーションチーム、管理
チームなどがそれぞれの
役割のニーズに合わせて
、一刻を争うクリティカ
ルなデータを、カスタマ
イズしています。Java
アプリケーションサーバ
であるBEAにより、必要
な情報が必要な時に正し
い人に渡ります。技術革
新は、ユナイテッド航空
の成功の元であり、これ
からの成功の鍵でもあり
ます
www.coreservlets.com
ビジネスにおける Java の導入
• Visa
– Java アプリケーション
サーバ上にトランザクション
システムを構築
www.coreservlets.com
ビジネスにおける Java の導入
• オンライン・バンキング
– 米国インターネット・バンキング・システム大手
、世界中のその他のシステム
www.coreservlets.com
ビジネスにおける Java の導入
• International Children's Digital Library
– アプレットを使用するインタラクティブな本
www.coreservlets.com
ビジネスにおける Java の導入
• Jeppesen/Boeing
– 航空コミュニティー
に対するリアルタイム
なオンライン情報
をサーブレットと
JSP を使用して提供。
www.coreservlets.com
ビジネスにおける Java の導入
• Nextel
(およびその他多くの電話会社
およびその他多くの電話会社)
およびその他多くの電話会社
– Java 対応携帯電話
www.coreservlets.com
ビジネスにおける Java の導入
• NexaWeb
– システム管理コンソール:
Java GUI、サーバサイド Java, Java による XMLの
パーシング
www.coreservlets.com
ビジネスにおける Java の導入
• エンターテイメント業界
– Java を使用した Web サイト、
ネットワーキング、ポータブル機器
www.coreservlets.com
ビジネスにおける Java の導入
• ワイヤレスサービス
www.coreservlets.com
ビジネスにおける Java の導入
• 大学の統合システム
www.coreservlets.com
まとめ
• Java (Javaスクリプトではない!)は、以下
スクリプトではない!)は、以下
を
サポートする完全な言語:
サポートする完全な言語
– Web で使用可能な Java プログラム (アプレッ
ト)
– デスクトップ Java プログラム
– サーバサイドJavaプログラム (servlets, JSP)
• Java はバイトコードにコンパイルされ、Java
はバイトコードにコンパイルされ、
仮想マシンをサポートするプラットフォームで
あれば
どこでも動作する
• Java 2 Platform は3種類ある
種類ある:
種類ある
– Standard Edition
Enterprise Edition
www.coreservlets.com
カサレアル Server Side Java 実践講座
EJB、
、Struts コース紹介
Struts コース
•Strutsフレームワークのアーキテクチャー、動作原理、開発方
フレームワークのアーキテクチャー、動作原理、開発方
法についての解説。
•商用サイトでも多く利用されているオープンソースの
商用サイトでも多く利用されているオープンソースのStruts、
、
商用サイトでも多く利用されているオープンソースの
Tomcat、
、PostgreSQLを使用!
を使用!
EJB コース
•EJB を利用する Web サイト開発時に、サーブレット、JSP、
、
サイト開発時に、サーブレット、
EJBを最適に活用する
を最適に活用するWebサイトシステムの設計を解説。
サイトシステムの設計を解説。
を最適に活用する
•実開発で必須のアプリケーションサーバ、
実開発で必須のアプリケーションサーバ、DBを利用する演習
実開発で必須のアプリケーションサーバ、 を利用する演習
!
現実的なカリキュラム、実践で即役立つ演習
詳細は www.casareal.co.jp !
www.coreservlets.com
Q&A
© 2003 Marty Hall, http://www.coreservlets.com
Fly UP