[[開発/設計/議論]] *議論の目的 [#ybf118f1] 現時点のJ2SE版SIPropプロトタイプの仕様をJ2MEに沿った形に落とし込むことを 目的としています。 *各部分の問題点 [#h107b1d0] **制御モジュール [#d1e6d2bb] -DIとして動作する --クラスローダーが存在しない -CPUやメモリの制限 --多くの制御モジュールをインスタンス化できない ***解決案 [#ycfd6984] -事前コンパイル方式 --汎用的な形で定義した制御モジュールをある程度専用的なモジュールに変換す る もちろん、SE→ME変換などの言うものを作成するとなると一つのプロジェクトと して成り立ってしまうくらいでかい話となるため、当面は、使えるクラスを絞った形とします。~ 具体的には、モジュールはMEで使えるクラスだけを使うような形となります。 ---独自言語方式 ---Factoryパターンによる、同一クラス名変換方式 ---Mapなどを利用した独自クラスローダー作成方式 **スクリプト [#u361f560] -スクリプトエンジンの不在 ***解決案 [#ydd25865] -制御モジュールへの取り込み --条件分けなどを、制御モジュールへ取り込んでしまう。 この場合、新たな問題点として、柔軟性が劇的に下がってしまう可能性がある。 これを解決する案として、 制御モジュールセット という概念を設定します。 例えば、N社の網で使用することが事前解っている場合、 どのモジュールを呼び出すべきかのベストプラクティスも判明する という点を利用して、 N社用制御モジュールセット などを定義することにより、100%に近い動作をさせるということです。~ また、より100%に近づけるため、エラーが出た場合には、そのパケット情報か ら、新しい制御モジュールセットをネットワークからダウンロードするような機 能も検討したいと思います。 **メッセージ変換部 [#l13200b4] -テンプレートエンジンの不在 ***解決案 [#y8d62f89] -事前コンパイル方式 --テンプレートから、ヘッダークラスを生成する -テンプレートの単純化 --SIPropにおいては、パケットの組み立てがメイン動作となるため、テンプレートは用いず、正規表現による置換や独自プログラムによる置換を考慮する **各部分の問題点まとめ(J2ME用のエンジンの構造概要) [#b6640eac] 以上の点から、J2ME用のエンジンは、下記のような構成となることが想定されま す。 -モジュールセットとして限定された数個の制御モジュール --スクリプトも内包する --SE版から生成する -モジュールセットとして動作させるためのコントロール制御モジュール --B2BUAとして動作させるためのもので、独自に実装を行う -ヘッダークラス --テンプレートからクラスを生成する -トランスポート部 --MEのSocketは特殊であるため、独自で実装する必要がある *議論の論点 [#yde962df] -上記方法でよいのか? --現実可能か? --他に方法はないか? -他の方法 ※随時、方法論を募集中です。 *結論 [#n1f70324] **制御モジュール [#w7325bd0] -制御モジュールセット+事前コンパイル方式 J2MEで使用可能なクラスに限定して、制御モジュールを作成するようにする。各モジュールのロード方法は、下記の2パターンを実際に試してみて良い方を採用する。 *結論 [#n1f70324] --Factoryパターンによる、同一クラス名変換方式 --Mapなどを利用した独自クラスローダー作成方式 ※ただいま、議論中。 **スクリプト [#z5ed8323] -次期Verisonで、考慮する。 **メッセージ変換部 [#d9b4f122] -テンプレートの単純化 --SIPropにおいては、パケットの組み立てがメイン動作となるため、テンプレートは用いず、正規表現による置換や独自プログラムによる置換を考慮する。