Presentation is loading. Please wait.

Presentation is loading. Please wait.

JavaとXML 2005年4月14日.

Similar presentations


Presentation on theme: "JavaとXML 2005年4月14日."— Presentation transcript:

1 JavaとXML 2005年4月14日

2 講義内容(4/14) Javaとはどんな技術か? なぜJavaが重要なのか? XMLとはどんな技術か? なぜXMLが重要なのか?

3 Javaとはどんな技術か? プログラミング言語としてのJava インターネット時代の新しい言語 優れた開発効率 実行環境としてのJava
携帯電話からスパコンまで あらゆる装置をネットワーク化

4 Javaは誰が作っているのか? Sun Microsystems 社の製品 http://java.sun.com/
   開発環境は無償で提供(対MS戦略) 「オープンソース」的な成果も採用

5 言語としてのJavaの特徴 オブジェクト指向(Object Oriented) 仮想マシン(JVM)による実行 スレッドによる並列処理
簡潔な言語仕様 豊富なクラスライブラリ 開発環境は無償、ソース公開

6 現在のJavaの存在 インターネット上の標準言語 (特にサーバサイド) 異なるシステム間に共通の実行環境 ソースコード共有の新たな運動
apache.org, eclipse.org

7 Javaの登場と発展の背景 Java誕生以前 (1969-1994) 最初のJava (1995) 実用的開発言語へ (1996)
拡大する応用範囲 (1997~ 99) B2BとWebサービス(2000~)

8 Java誕生以前 1969 ARPAnet(インターネットの原型) 1970 UNIX と C言語 1975 最初のパソコン
1977 アップルコンピュータ誕生 1977 BSDの登場 -- ソースコードの配布・公開 1981 BSDに TCP/IP実装 1982 ビル・ジョイら Sun Microsystemsを設立 1984 ストールマン本格的に活動開始 1987 稚内北星学園短期大学開学 1991 Linux と FreeBSD 誕生 1993 最初のWebブラウザ登場 1994 Netscape Comunications社誕生

9 リチャード・ストールマン 「ハッカー」の中の「ハッカー」 Free Software Foundation (オープンソフト運動)
GNUプロジェクト(1984) ソフトウェア生成の共同体 emacs, gcc(g++)

10 Javaの歴史 1995 α版、β版、HotJava 1996 JDK1.0 1997 JDK1.1 1998 Java2, 3つのJava
J2SDK 1.3 i503にJava搭載 J2SDK 1.4 J2SDK 5.0 (Tiger) Java 10周年

11 Javaの祖先? C (1970) 手続き指向、アルゴリズムの構造化(関数、ループと条件分岐)、データ型の導入(原始型と構造体)

12 Java登場の背景 C++の機能の肥大化の弊害 開発者の負担軽減 教育コストの軽減 シンプルでかつ多様な環境に対応できるオブジェクト指向言語

13 「オープン」な性格のルーツ Sun Microsystemsの戦略の要 仕様の公開、開発環境の無償配布
背景に UNIX文化、オープンソース運動の影響 インターネットの普及 (異機種・異OSのネットワーク)

14 最初のJava (1995) α、β、JDK 1.0 8個のパッケージ:java.applet, java.awt, java.awt.image, java.awt.peer, java.lang, java.io, java.net, java.util HotJavaブラウザとアプレット 玩具? 入門教育用には最適だった

15 実用的な開発言語へ (1997) JDK 1.1 国際化対応、Unicodeの採用 セキュリティ機能の強化 JavaBeans
RMI (分散オブジェクト) Jarアーカイブ

16 拡大する応用範囲 (98-99) Java 2 の登場 (J2EE, J2SE, J2ME) 基幹システムから携帯電話まで
「ミドルウェア」の提供 単なる言語ではなく実行環境の標準

17 サーバサイドの標準(2000以降) XMLとの融合 B2BとWebサービスの普及 システムの違いを越えてサービス提供 サービス提供の自動化
言語の違いも超越?

18 Javaの現状と将来(2004,2005) J2SE 5.0 で大きな言語仕様拡張 (1つの曲がり角) 新しい開発スタイル
EOD(Ease of Development) (もはや言語を意識しなくてもいい?) プログラマの階層化(役割分担)

19 XMLの登場と発展 XML以前 XMLの多様な用途 データ交換の標準に

20 XML(1998~)以前 アプリケーション独自のデータ形式 Tex, PostScript
SGML (1986) 非常に柔軟な機能、完全な対応は高価、DTDによる記述 HTML (1992~) タグの拡張と統一、HTML 4.0(1997) シンプルかつ拡張可能なMLの必要性

21 XMLの多様な用途 電子文書(官公庁、企業) 出版物(DOM) Webページ(XHTML、XSLT) 数式(MathML)
グラフィックス(SVG, X3D) マルチメディアの操作と連携(SMIL) ソフトウェアのビルトツール(Ant)

22 データ交換の標準に W3Cによる標準化 http://www.w3c.org/ XML Schema SGML(DTD)から自立,自己記述性
B2B, P2Pアプリケーションの普及 XMLデータの動的生成、パイプライン処理(XSLT, Axis)

23 JavaとXMLに共通するもの 先行する技術の蓄積の上に出現した「成熟した技術」 シンプルかつ高機能 「規格公開」と「標準化」へのこだわり
活用範囲の爆発的な拡大(進行中)

24 JavaとXMLの融合 JavaとXMLは「相性」がいい? アプリケーション(Java)とデータ(XML)

25 アプリケーションとデータ Javaのクラス <-> 要素の定義 Javaのインスタンス <-> 個々の要素

26 例:X3D と Java3Dの比較 X3D(VRMLの後継 2002~) http://www.web3d.org/
<Box size=" " /> <Appearance> <Material diffuseColor=" " /> </Appearance> Box box = new Box(1.0f,1.0f,1.0f); Appearance ap= new Appearance(); Material mt = new Material(); mt.setDifuseColor( new Color3f(1.0f,1.0f,1.0f) );

27 XML文書の階層構造の反映 文書の階層構造->ツリー構造を表すクラスのインスタンス
DOM (Document Object Model) org.w3c.dom.Nodeインターフェイス 視覚化 javax.swing.JTreeクラス

28 XML処理用パッケージの役割 JAXPパッケージ(J2SDK 1.4よりcore)
SAX(Simple API for XML) と DOM DTD、XML Schema:妥当性の検証 名前空間、Xpath, XSLTの処理 J2SE 5.0 より一段と機能が強化

29 Apache.org の Java,XML Apache Software Foundation ( Apache -- Webサーバの標準に Java,XML関連のオープンなソフトウェア開発の中心に Java関連 (Jakartaプロジェクト他) XML関連 (XMLプロジェクト他)

30 Java関連 Apache Jakarta Project ( http://jakarta.apache.org/ )
20数個のサブプロジェクト Tomcat (自身がJavaで記述されたWebサーバ、JSP,Servletエンジンを提供) Struts(Webアプリケーションのフレームワークを提供) Alexandria(Javaのソースの分散管理)

31 XML関連 Apache XML Project ( http://xml.apache.org/ ) 10数個のサブプロジェクト
Xerces (XML Parser) Xalan (XSLT Processer) Cocoon(Webページの動的生成) Xindice(XMLデータベース) Apache SOAP, Apache Axis(Webサービスへ)

32 Java + XML Apache Ant Project ( http://ant.apache.org/ )
Jakartaから独立してトッププロジェクトに Ant (ビルドツール makeの機能を代替) Ant自身はJavaで記述 ビルドファイルはXML


Download ppt "JavaとXML 2005年4月14日."

Similar presentations


Ads by Google