Microsoft PowerPoint - グリッド協議会GT4演習資料_2007_配布用

Similar documents
Microsoft PowerPoint - グリッド協議会GT4研修資料_2007_配布用

V8.1新規機能紹介記事

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

untitled


Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

2

PowerPoint プレゼンテーション

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

CONTEC DIOプロバイダ ユーザーズガイド

Java (5) 1 Lesson 3: x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java , 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) "flow

VB.NETコーディング標準

Java知識テスト問題

Prog1_15th

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

SystemDirector Developer's Studio(V3.2) 適用ガイド

デジタル表現論・第6回


Microsoft PowerPoint ppt

tkk0408nari

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

PowerPoint プレゼンテーション

Prog1_6th

MISAO with WPF

intra-mart im-JavaEE Framework

PowerPoint Presentation

JavaとVisual Basicを使ったWebサービスの実装

Microsoft PowerPoint - chap10_OOP.ppt

オブジェクト指向プログラミング・同演習 5月21日演習課題

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

PowerPoint プレゼンテーション

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

java_servlet2_見本

HCI プログラミング 10 回目テキストフィールドとキーイベント 今日の講義で学ぶ内容 テキストフィールドの利用 キーイベントの処理 テキストフィールドの利用 1 テキストフィールドを配置してみましょう テキストフィールドを用いることにより 数値や文字列などのデータ入力が可能になります ソースファ

PowerPoint プレゼンテーション

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

C/C++からJVMを起動します

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

デジタル表現論・第4回

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

Prog1_10th

FW APIServer 設定ガイド Version 年 2 月 3 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

とても使いやすい Boost の serialization

第2回講義

StateMachine Composite Structure Sequence

Agileイベント・フレームワークとOracle BPELを使用したPLMワークフローの拡張

メディプロ1 Javaサーブレット補足資料.ppt

デザインパターン第一章「生成《

C#の基本

プログラミング入門1

Client client = ClientBuilder.newClient(); WebTarget webtarget = client.target(" " "); Invo

Microsoft Word - Android_SQLite講座_画面800×1280

PowerPoint Presentation

Microsoft PowerPoint - prog09.ppt

Oracle9i JDeveloperによるWebサービスの構築

Microsoft PowerPoint - prog09.ppt

基本情報STEP UP演習Java対策

Exam : 1z0-809 日本語 (JPN) Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO 1 / 8 Get Latest & Valid 1z0-809-JPN Exam's Question and Answe

Prog2_12th

intra-mart WebPlatform/AppFramework

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

intra-mart Accel Platform

ASP.NET 2.0 Provider Model 概要

目次 1. はじめに x-servlet の SNMP エージェント設定... 3 ACL ファイルの作成... 3 start.bat の編集 サーバ ID によるサーバ再接続設定... 5 irule の作成... 5 Persistence Profile の作

Prog2_9th

Program Design (プログラム設計)

WebOTX V6 J2EEアプリケーションのトラブルシューティング

Oracle SOA Suite Enterprise Service Bus

TestDesign for Web

Oracle SALTを使用してTuxedoサービスをSOAP Webサービスとして公開する方法

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

JAVA とテンプレート


Microsoft PowerPoint - Lecture_3

JavaプログラミングⅠ

スライド 1

(C) 2011 amenbo the 3rd New MQL4(Build 600 以降 ); 基礎 ( その 2)OnTimer() を使う アメンボです New_MQL4 の特徴とはなんでしょう? 極論を言うと MQL5 から受け継いだ OOP つまり On***() 関

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

PowerPoint プレゼンテーション

目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

日 力力 生 行行 入 入 力力 生 用 方

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

Java - Visual Editor

sox_tutorial_sigmod

Oracle ESB レッスン03: ESB CustomerData SOAP

PowerPoint Presentation

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

プログラミング入門1

Delphi/400でFlash動画の実装

Prog2_5th

メソッドのまとめ

Microsoft PowerPoint - prog03.ppt

人工知能入門

Transcription:

演習 1~6 Globus Toolkit Version 4 (Java WS Core) 演習 : WS-Resource の生成と機能拡張

目標 :GT4 Java Core WSRF 基本仕様のサポート確認 サーバー側の実装方法 サービス 各種設定ファイル ( の実装方法 ) 最低限 WSRF の標準的な機能は GT4 に含まれる標準で利用可能 GT4 標準の利用方法 wsrf-get-property wsrf-update-property wsrf-destroy wsrf-set-termination-time

概要 Grid Computing 0.Borja Sotomayor, The Globus Toolkit 4 Programmer s Tutorial が基本 http://gdp.globus.org/gt4-tutorial/ Chapter 5. Multiple Resources に修正を加え その効果を逐次確認する 1.WS-Core の導入 2. 標準的な WS-Resource パターンの確認 サービス及びの構築 デプロイ アクセス確認 3. プロパティに対するアクセス手段の追加 ( オペレーション プロバイダの活用 ) 実装は修正せず WSDL, WSDD ファイルの変更のみで実現 4. プロパティのコードにおける表現方法を変更 ( サービス / 実装の変更 ) サービス / の実装のみを変更 5.WS-ResorceLifeTime への対応 :Immediate Destruction WSDL, WSDD ファイルの変更のみで実現 6. WS-ResorceLifeTime への対応 :Scheduled Destruction WSDL/WSDD 実装の修正 サービス実装は変更なし オプション :JNDI のデプロイファイルの修正 ( 破棄時刻をより正確にするため )

WS-Resource の拡張 ( 本日の演習 ) カスタム wsrf-getproperty wsrf-updateproperty wsrfdestroy wsrf-setterminationtime WS-Resource Custom method (Get Property) WS-Resource Custom method Get Property Set Property WS-Resource Custom method Get Property Set Property Immediate Destruction WS-Resource Custom method Get Property Set Property Immediate Destruction Scheduled Destruction 2 3,4 5 6

2. 標準的なWS-Resourceパターンの確認 ( 主要ファイルのみ )

( 無修正で使用 ) MathFactoryService を呼び出し End Point Reference (EPR) を取得する WS-Resource が生成される 演習を通じて 修正無しで使用する // Get factory porttype factoryepr = new EndpointReferenceType(); factoryepr.setaddress(new Address(factoryURI)); mathfactory = factorylocator.getfactoryporttypeport(factoryepr); // Create resource and get endpoint reference of WS-Resource CreateResourceResponse createresponse = mathfactory.createresource(new CreateResource()); instanceepr = createresponse.getendpointreference(); // Write endpoint reference to file..

( 無修正で使用 ) EPR で示された WS-Resource (MathService + MathResource) に加算を依頼 結果を受け取る 演習を通じて 修正無しで使用する // Get endpoint reference of WS-Resource from file FileInputStream fis = new FileInputStream(eprFile); instanceepr = (EndpointReferenceType) ObjectDeserializer.deserialize( new InputSource(fis),EndpointReferenceType.class); fis.close(); // Get PortType MathPortType math = instancelocator.getmathporttypeport(instanceepr); // Perform addition math.add(value);..

その他のファイル ( 無修正で使用 ) ( 図中省略 ) 名前空間の扱いを簡易にするための補助ファイル ( 図中省略 ) ホーム ファクトリー サービス ctx = ResourceContext.getResourceContext(); home = (MathResourceHome) ctx.getresourcehome(); key = home.create(); String instanceservice = (String) MessageContext.getCurrentContext().getService().getOption("instance"); String instanceuri = baseurl.tostring() + instanceservice; epr = AddressingUtils.createEndpointReference(instanceURI, key);

( 修正あり ) WS-Resourceを形成するサービスの実装 プロパティの実装方法変更にあわせ 演習 3で修正 簡便な方法から よりWSRFの特徴が見える方法へ resource = ResourceContext.getResourceContext().getResource(); MathResource mathresource = (MathResource) resource; mathresource.setvalue(mathresource.getvalue() + a); // 初期状態 mathresource.setlastop("addition"); ResourceProperty valuerp = mathresource // 修正後.getResourcePropertySet().get(MathQNames.RP_VALUE); Integer value = (Integer) valuerp.get(0); value = new Integer(value.intValue()+a); valuerp.set(0, value);

(1, 修正あり ) WS-Resource を形成するの実装 演習 3 5 で修正 演習 5 まで終了したファイルから抜粋 public class MathResource implements Resource, ResourceIdentifier, ResourceProperties, ResourceLifetime { private Calendar terminationtime; public Object initialize() throws Exception { this.key = new Integer(hashCode()); this.propset = new SimpleResourcePropertySet( MathQNames.RESOURCE_PROPERTIES); valuerp = new SimpleResourceProperty(MathQNames.RP_VALUE); valuerp.add (new Integer(0)); this.propset.add(valuerp); return key; }

(2, 修正あり ) /* Required by interface ResourceLifetime */ public Calendar getcurrenttime() { return Calendar.getInstance(); } public Calendar getterminationtime() { return this.terminationtime; } public void setterminationtime(calendar terminationtime) { this.terminationtime=terminationtime; } インターフェース Web サービス } /* Required by interface ResourceProperties */ public ResourcePropertySet getresourcepropertyset() { return this.propset; } /* Required by interface ResourceIdentifier */ public Object getid() { return this.key; }

( 修正あり ) インターフェースを記述 そのままデプロイされるわけではない インター 全部を書かなくても良い フェースWeb サービス WSDL プリプロセッサー (GT が提供 ) 演習 2,4,5 で修正

( 修正あり ) デプロイの構成を行う サービスのURI 使用するクラスの指定 WSDLファイルの指定 GT4のツールを使用する場合は 後ろに _serviceを追加した形で指定する オペレーション プロバイダの指定 演習 2,4,5 で修正 <!-- Instance service --> <service name="examples/core/factory/mathservice" provider="handler" use="literal style="document"> <parameter name="classname value="org.globus.examples.services.core.factory.impl.mathservice"/> <wsdlfile>share/schema/examples/mathservice_instance/math_service.wsdl</wsdlfile> <parameter name="providers" value="getrpprovider SetRPProvider DestroyProvider SetTerminationTimeProvider SubscribeProvider GetCurrentMessageProvider"/> </service> * 注 : このリストは WS-Notification 対応を含みます

その他の設定ファイル ( 修正なし ) ファクトリーサービスのインターフェースを記述 ( 図中省略 修正あり なしにする ) ホームに関連 演習 5で修正 修正しなくても動作するが 破棄の検知に時間がかかる

Grid Computing WS-Resource の End Point Reference を示すテキストファイル ClientCreate によって生成される 他のに使用される <ns1:mathresourcereference xsi:type="ns2:endpointreferencetype" xmlns:ns1="http://www.globus.org/namespaces/examples/core/mathservice_instance" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/03/addressing"> <ns2:address xsi:type="ns2:attributeduri"> http://192.168.1.1:8080/wsrf/services/examples/core/factory/mathservice </ns2:address> <ns2:referenceproperties xsi:type="ns2:referencepropertiestype"> <ns1:mathresourcekey>23578083</ns1:mathresourcekey> </ns2:referenceproperties> <ns2:referenceparameters xsi:type="ns2:referenceparameterstype"/> </ns1:mathresourcereference> インターフェース Web サービス

インターGrid Computing in.xml 演習 2 で使用 wsrf-update-property コマンドの入力ファイル in.xml フェースWeb サービス <?xml version="1.0" encoding="utf-8"?> <doc> <ns1:lastop xmlns:ns1="http://www.globus.org/namespaces/examples/core/mathservice_instance"> WSRF_UPDATE_PROPERTY </ns1:lastop> </doc>

参考 :globus-build-service チュートリアルに含まれているが 独立したプロジェクトとしても公開されている (GT4 標準添付ではない ) http://gsbt.sourceforge.net/content/view/14/31/ GT4 を用いた WSRF Web サービスの構築を容易にする 特定のディレクトリ構造に従ってファイルを用意する事が必要 関連ファイル globus-build-service.py build.mappings build.xml C: ws-core-4.0.2 share globus_wsrf_tools build-stubs.xml flatten, generatebindings, generatestubs, mergepackagemapping,.. C: ws-core-4.0.2 share globus_wsrf_common build-packages.xml makegar, deploygar, undeploygar,.. namespace2package.mappings

3. プロパティに対するアクセス手段の追加 (wsrf-get-property) (wsrf-update-property) in.xml

4. プロパティの表現方法を変更 (wsrf-get-property) (wsrf-update-property) in.xml

インターフェースGrid Computing 5.WS-ResorceLifeTime への対応 :Immediate Destruction Web サービス (wsrf-get-property) (wsrf-update-property) (wsrf-destroy) in.xml

インターフェースGrid Computing 6.WS-ResorceLifeTime への対応 :Scheduled Destruction Web サービス (wsrf-get-property) (wsrf-update-property) (wsrf-destroy) (wsrf-set-termination-time) in.xml