JavaとXML 2005年4月14日.

Slides:



Advertisements
Similar presentations
XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
Advertisements

年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
応用 Java(Java/XML) 第1回 2006 年4月 14 日. 講義内容 (4/14) なぜ Java が重要なのか? なぜ XML が重要なのか? Java と XML の関係 パーサの概念 XML 関連のパッケージについて ファクトリのデザインパターン.
応用 Java(Java/XML) 第 10 回 2006 年 7 月 14 日 植田龍男. 後半の内容の予定 XPath (6/9) 、 XSLT (6/16) 名前空間 (Namespace) (6/16) XML 文書の妥当性の検証 (6/23) DTD, W3C XML Schema SOAP.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
2006年9月27日 植田龍男 Webサービス II (第1回) 年9月27日 植田龍男.
IIS 4.0で開発をするコツ Webアプリケーション構築.
ソースプログラム・アーカイブ・サイト -関数依存グラフと検索への応用-
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
第9回 2007年6月22日 応用Java (Java/XML).
JPAを利用した RESTful Webサービスの開発
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
背景 我々の研究室で開発しているJavaプログラム解析フレ ームワークでは,解析情報はメモリ上に保持される 問題点
データマイニングのための柔軟なデータ取得、操作を支援するAPIの設計
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
第1回 HTML5入門.
情報爆発A01支援班 マイサーチエンジン開発環境支援グループ 中村聡史, 大島裕明, 田中克己, 喜連川優
Java I 第2回 (9/22).
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
卒研:データベースチーム 第4回 DOMを使った処理
第一回 Java言語 04A2029           古賀慎也.
WebサービスII (第8回) 2007年11月14日 植田龍男.
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
バイナリ形式コンポーネントの 収集・解析・検索システムの開発
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
SGMLについて 2年8組  原口 文晃.
XSL-FO + MathML MathML表示、PDF生成、SVG生成
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
第12回 2007年7月13日 応用Java (Java/XML).
9.1 DOMの概要 9.2 DOMプログラミングの基礎 9.3 DOMのプログラミング例
第10回 2007年6月29日 応用Java (Java/XML).
SOAP/UDDI/WSDLによるB2Bシステムの開発
SOAP/UDDI/WSDLによるB2Bシステム構築の一事例
第11回 2007年7月6日 応用Java (Java/XML).
第8回 2007年6月15日 応用Java (Java/XML).
第3回 2007年4月27日 応用Java (Java/XML).
第7回 2007年6月8日 応用Java (Java/XML).
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
第6回 2007年6月1日 応用Java (Java/XML).
第1回 2007年4月13日 応用Java (Java/XML).
アップデート 株式会社アプライド・マーケティング 大越 章司
Javaによる Webアプリケーション入門 第2回
第2回 2007年4月20日 応用Java (Java/XML).
JAVAについて 高橋 雅哉.
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
XMLゼミ 1.3 XML文書の表示 1.4 XMLの役割 1.5 XMLとプログラミング M2 正木 裕一.
JXTAの概要 P2P特論 (ソフトウェア特論) 第3回 /
HTML の成り立ち 惑星物理学研究室 4年 安達 俊貴.
Fortranについて 高エネルギー加速器研究機構 平山 英夫.
第13回 2007年7月20日 応用Java (Java/XML).
第二回 Javaの開発環境 04A2029           古賀慎也.
応用Java(Java/XML) 第7回 2006年6月16日 植田龍男.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
独習XML ~第1章 XMLの基礎~ 1.1 XML文書の基礎 1.2 XMLとHTML
JSPの基本 データベース論 第2回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
第2回 Webサーバ.
第2回 開発環境とゲーム 05A1030 佐々木 和也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
P2P & JXTA Memo For Beginners
2006年10月18日 植田龍男 Webサービス II (第4回) 年10月18日 植田龍男.
応用Java(Java/XML) 第8回 2005年6月9日 植田龍男.
応用Java(Java/XML) 第8回 2005年6月23日 植田龍男.
Presentation transcript:

JavaとXML 2005年4月14日

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

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

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

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

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

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

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社誕生

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

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

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

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

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

最初の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ブラウザとアプレット 玩具? 入門教育用には最適だった

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

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

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

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

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

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

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

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

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

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

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

例:X3D と Java3Dの比較 X3D(VRMLの後継 2002~) http://www.web3d.org/ <Box size="1.0 1.0 1.0" /> <Appearance> <Material diffuseColor="0.0 0.0 1.0" /> </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) );

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

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

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

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

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

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