30分で解るJiniTM テクノロジー ~えっ、ドラえもん?~

Slides:



Advertisements
Similar presentations
S2.4 & S2EJB3Unit 中村( taedium ). Seasar 2.4 の特徴 1 Sesar 2.4 は EJB 3.0 を実 装しています。 EJB 3.0 の仕様は 5 月 12 日に Final Release されたばかりの新しい技 術です。
Advertisements

ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム
社会人学習講座 「Javaプログラミング概論」
Remote Method Invocation
ポゼッションシステム: Javaによる 適応的アプリケーション環境
JPAを利用した RESTful Webサービスの開発
JSFによるWebアプリケーション開発 第9回
想像しよう 大連市第16中学校 鄧妍.
マルチプラットフォーム対応 P2Pファイル共有ソフトの開発
ネットワークプログラミング論 平成27年10月12日 森田 彦.
Javaのインタフェース についての補足 2006年5月17日 海谷 治彦.
独習Java ・ 10.6  Hashtableクラス ・ 10.7  String Tokenizerクラス  12月12日    小笠原 一恵.
小型デバイスからのデータアクセス 情報処理系論 第5回.
アルゴリズムとデータ構造 2011年6月13日
HTTPプロトコルとJSP (1) データベース論 第3回.
JavaBeans とJSP データベース論 第5回.
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
インタフェース プログラミング 第14回 インタフェース プログラミング第14回.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
アルゴリズムとデータ構造 2011年6月20日
RMI ソフトウェア特論 第6回 /
プログラミング演習3 第2回 GUIの復習.
遠隔ポイントカット - 分散アスペクト指向プログラミング のための言語機構
~手続き指向からオブジェクト指向へ[Ⅱ]~
第11回 アプリケーションの構成 ~CUI自動販売機の完成!~.
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
Net Liaison 技術概要 沖電気工業(株) 福田 春生.
Java Distributed Objects 1
Java Distributed Objects 3
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
47070 オブジェクト指向モデリング [7] 2001年11月 12日.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
暗黙的に型付けされる構造体の Java言語への導入
第3回 2007年4月27日 応用Java (Java/XML).
WebサービスII (第7回) 2007年11月7日 植田龍男.
Java Bytecode Modification and Applet Security
インターネットにおける真に プライベートなネットワークの構築
仕事: SystemVerilogを使いたい
プログラミング演習3 第2回 GUIの復習.
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
平成19年10月19日 図書系のための アプリケーション開発講習会
Jakarta Struts (2) ソフトウェア特論 第11回.
Java Distributed Objects 1
各種ルータに対応する P2P通信環境に関する研究
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
Java8について 2014/03/07.
アルゴリズムとデータ構造 2010年6月21日
3.リレーショナルデータベース,主キー, SQL
Java における 先進的リフレクション技術
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
C#プログラミング実習 第3回.
アルゴリズムとデータ構造 2012年6月11日
Javaによる Webアプリケーション入門 第4回
「マイグレーションを支援する分散集合オブジェクト」
サブゼミ第7回 実装編① オブジェクト型とキャスト.
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
ゲームのタスクシステム 導入編 レベル2くまー By keychan.
状況に応じて適切な 例外処理が行なえる アスペクト指向分散環境実験の 支援ツール
プログラム分散化のための アスペクト指向言語
統合開発環境のための プログラミング言語拡張 フレームワーク
JAVA入門⑥ クラスとインスタンス.
アルゴリズムとデータ構造 2012年6月21日
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
GluonJ を用いたビジネスロジックからのデータベースアクセスの分離
応用Java(Java/XML) 第8回 2005年6月9日 植田龍男.
5.基本API 5-1 レイアウト ウィジェットの並べ方を指定するには、 パレットのレイアウト(Layoutでは以下の8種類)を配置する。
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
Presentation transcript:

30分で解るJiniTM テクノロジー ~えっ、ドラえもん?~ 4D Networks, Inc. 大山弘樹(CTO)

Jiniの目指すもの 使いたいときに、使いたい機能を いとも簡単に使える。 環境 使いたいときに、使いたい機能を いとも簡単に使える。 環境 使いたいときに、使いたい機能を いとも簡単に使わせる。 枠組み ドラえもんの4次元ポケット

Jiniの可能性 デバイスのPlug and Play ネットワーク全体をサービスの集合体に 家電同士の対話(ハード対ハード) アプリケーションとデバイス(ハード対ソフト) アプリケーション同士(ソフト対ソフト) ネットワーク全体をサービスの集合体に ハードのサービス化 ソフトのサービス化

Jiniの提供するサービス 今までのサービスの提供 Service 1 Service 2 Service 3 Service X 利用者1 利用者2 利用者3 利用者n

Jiniの提供するサービス Service F Service A Service A Service B Service E (フェデレーション) Service C Service D Service X

Jiniの基礎の前に Jiniは Java2じゃないと動作しない ネットワークはrmiでつながっている 分散環境のインフラを提供する プログラミングモデル(作法)がある みんなで動かす(^_^)

Java RMI クライアント メソッド 実装クラス リモート・インタフェイス リモート・インタフェイス スタブ スケルトン クライアント サーバ

RMIの基本動作 ④ 実装 rmiregistry ① ② 実装 Setup ① ② ③ rmid クライアント クライアント ③ ⑤ SecurityManager + rmiregistry Naming.rebind(名前,Object) Activatable ① ② 実装 Naming.rebind() rmi://host:port/名前 Setup ① UnicastRemoteObject ActivationDesc ② ③ rmid Activatable.register() URL file://location Naming.lookup(URL) Naming.lookup(URL) クライアント クライアント ③ ⑤

Jiniの基本動作 サービスの提供 Lookup Service 代理人 サービスの登録(提供) サービスプロバイダ クライアント

Jiniの基本動作 2 サービスの取得 Lookup Service 代理人 サービスの取得 代理人 サービスプロバイダ

Jiniの基本動作 3 サービスの行使 Lookup Service サービスの行使 代理人 サービス サービスプロバイダ クライアント

Jiniのアーキテクチャ

Jiniの基礎 JiniTM discovery & join JiniTM distributed lease JiniTM distributed event JiniTM entry JiniTM lookup JiniTM transaction JavaSpacesTM

ドラえもん的Jini technology ドラえもんの道具 どこでもドア 分子直列化電送サービス スモールライト 一時的分子縮小サービス たけコプター 反重力及び慣性コントロールサービス Jiniは4次元ポケットを提供する技術

ドラえもん的Discovery Discovery Multicast Discovery Unicast Discovery どこにいるか解らないドラえもんを泣いて呼び出す Unicast Discovery ほぼ、ドラえもんはのび太の部屋の押入にいるので、そこまで行く

ドラえもん的LookupService Join ServiceRegistrar サービスをLookupServiceに登録する 未来デパートから道具を購入する 未来デパートはASP事業者でいろいろなサービス(の利用権)を売っている ServiceRegistrar LookupServiceへの窓口 4次元ポケットのインターフェース ドラえもんの手(ServiceTemplate)にほしい道具を書いて(Entry)、ポケットの中を探して(lookup)使う

ドラえもん的Distributes Lease ネットワーク上のリソースは全てリースをもつ どこでもドアを使いっぱなしにしたり、置き忘れてくると意図していないところに出てしまう リースは延長契約できる スモールライトを使用中に、のび太くんのおなかの中でスモールライトのリースが切れると、のび太君は間違いなく死んでしまう

ドラえもん的Distributed Event 分散イベント ネットワーク的に離れたところでもイベントの確実な伝搬が行える ネットワークの状態でイベント順が変わってもシーケンス番号を持っている サービスを使っているのび太君がむちゃくちゃな操作をしてドラえもんに文句を言ってものび太君が悪いと一括できる

ドラえもん的Transaction Jiniはトランザクション処理のフレームワークを提供している 2フェーズコミットのフレームワーク どこでもドアを使っている最中に分子の転送ホストがネットワークの異常を検知し転送処理をロールバック処理した この機構がないと、別な場所に体が半分だけ行ってしまい半人前になってしまう

Jiniへ参加するプログラム class Sample implements DiscoveryListener { private ServiceRegstrar[] sRegistrar; public Sample(){ LookupDiscovery lookupDisc = new LookupDiscovery(LookupDiscovery.ALL_GROUP); lookupDisc.addDiscoveryListener(this) WAIT!! Entry[] attr = new Entry[] { new ServiceInfo(…..)} ServiceItem sItem = new ServiceItem(null, OBJECT, attr); for( i = 0; sRegistrar.length 回; i++){ ServiceRegistrar r = sRegistrar[i]; ServiceRegistration regt = r.register(sItem,leaseTime); Lease lease = regt.getLease(); new LeaseRenewer(lease).start(); } public void discovered(DiscoveryEvent e){ sRegistrarr = e.getRegistrars(); public void discarded(DiscoveryEvent e){

リソース www.jini.org Java.sun.com/jini Java.sun.com/docs/books/jini/ The Jini Specification www.java-conf.gr.jp www.iaj.or.jp Jini BOF(www.java-conf.gr.jp/wg_bof/jini/