仕様検討



Red Hat Linux で、InetAddress.getLocalHost() はループバックアドレス (127.0.0.1) に相当する InetAddress を返す

 
 ネットワークに関するリリースノートを参照
 


ThraedとEclipseビューの更新
 
ThraedとEclipseビューの更新について、Trap受信によるTrap受信テーブルビュー更新を例にして流れを以下に示します。


図 Threadとviewの更新




BIRT Apache DerbyとNetJFWatcher libのApache derbyが競合する

 
 1. BIRT plugins org.apache.derby.core_10.1.2.1をNetJFWatcher pluginに移動する。
 2. BIRT pluginsのorg.apache.derby.core_10.1.2.1は削除
 3. NetJFWatcher libのApache Derby関連jarは削除


Web - エンジン及びリモート接続方式


RMI or Socket接続のいずれとするか ?

【結論】
   Socket接続
【理由】
   Eclipseのセキュリティ・ポリシーは現状不明で調査・対応にはかなりの時間を要するため。



 
参考  RMI方式のためにセキュリティ・マネジャー・ポリシーファイルの設定が必要。

表 1.1 セキュリティポリシーファイルの説明の一例
     
permission 内容
java.net.SocketPermission ソケット接続許可を指定します。
RMI入接続呼待ちポートを匿名ポートとしている場合には1024-65535ポートのいずれでも接続可能とする必要があります。(上記の指定)
セキュリティを考慮して、RMI入接続呼待ちポートを任意のポート("0"以外で1024-65535の範囲のいずれか)とすることをお勧めします。
java.io.FilePermissionデータベースファイルのアクセス許可を指定します。
アクセスするデータベースファイルのパスにあわせて指定することをお勧めします。



Winodws、Linux Ping死活監視実現方法


Ping相当としてdaytime port 13などに対するポートスキャンなどによる死活監視を行うかPingコマンド呼び出しとするか ?

【結論】
   Linux/Unixでは、InetAddress#isReachable メソッドを使用し、Reachability をチェックする(ICMP を使用)
【理由】
   PingコマンドはsetUID問題があり、root以外ではNG呼び出し
   osプラットフォーム対応は、システムプロパティから判別
       String osName = System.getProperty("os.name");


   // Reachability のチェック ICMP が使用される
   boolean isReachable = InetAddress.getByName(アドレス).isReachable(タイムアウト値);




SNMPブラウザ Trap受信イベントをEclipse RCPビューに表示


Trap受信ThreadからEclipse RCPビューを制御(Trap受信をリアルタイムにテーブル表示)しようとすると固まる。

(Eclipseのヘルプの[Platform プラグイン・デベロッパー・ガイド]->[プログラマーズ・ガイド]->[Standard Widget Toolkit]->[スレッド化の問題]などを参照)
 
対処として、DisplayクラスのsyncExec、asyncExecメソッドの使用などが記述されているが、結果的に以下とした。


 Trap受信          queue           テーブル表示ViewのDisplayクラスの  
                --------         timerExecメソッドで queueを定期監視
          ----->   ○○○   ----->
                  --------  

   


HTTPタイムアウト監視


   jdk http api調査
 
      -----> jdk1.5からHTTPアクセスタイムアウト実装



JavaScriptとFlash ActionScript連携の調査・検討

1. Flash ActionScriptからJavaScript呼び出し

Flash ActionScript

this.onPress = function() {
	// メニューを非表示
	_parent.isMenuShow = "true";
	_parent.menuNodeViewOpen._visible = false;

        ..........

	getURL(  "javascript:openNodeView('" + preaddress + "', '" +  listaddress + "','" + NodeEngine + "', '" +  mapAuthMode + "'" + ") "  );

	// メニューのロールオーバーの色を元に戻す
	menutext.textColor = ROLLOUT_TEXT;

        ..........

};



JavaScript

<script language="JavaScript" type="text/javascript" >
<!--

function openNodeView(paraip, paraconvip, paraEngine, paraAuthMode){

        ..........

}

//-->
</script>



2-a. HTMLからFlash ActionScriptへのデータ渡し

<html>
<HEAD>


</HEAD>
<BODY bgcolor="#FFFFFF">
<!-- URL's used in the movie-->
<!-- text used in the movie-->
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
 codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
 WIDTH=1900.0 HEIGHT=1200.0 id="NetMapDraw" ALIGN="">
 <PARAM NAME=movie VALUE="flash/NetMapDraw.swf?mapAuthMode=noAuth&hostname=localhost&port=1920">
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                ★パラメータ渡し

 <PARAM NAME=quality VALUE=high>
 <PARAM NAME=bgcolor VALUE=#FFFFFF>
 <EMBED src="flash/NetMapDraw.swf?mapAuthMode=noAuth&hostname=localhost&port=1920" quality=high bgcolor=#FFFFFF
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   ★パラメータ渡し

 WIDTH=1900.0 HEIGHT=1200.0 NAME="NetMapDraw" ALIGN=""
 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>

</BODY>
</html>










<TOP>