[ADOS] ADOS Developer's Site - XML Stadium
ADOS Company slogan - XML Total Solution

目次||

概要

Hestia Commanderはパートナー情報等のマネージメント機能に加えて、簡易EIS機能を持っています。以下にコンポーネントの関連概念図を示します。

hcfigure.png

上図の通り、Hestia Commanderは Hestia SDK上に構築されており、SessionコンポーネントとScriptコンポーネントで構成されています。開発者は、Scriptコンポーネント上に独自のスクリプトを作成することによりプライベートプロセスを実装することができます。

開発者が作成するスクリプトでは、Sessionオブジェクトを扱う高水準関数を利用することが前提となっています。

スクリプト実装

ScriptコンポーネントはJBoss上のMBeanServerとして実装されています。開発者が作成するスクリプトは、サーバ上で継続的に動作するサーバコンポーネントとしても、シーケンシャル処理を一回処理して終了するような単独プログラムとしても動作することができます。

スクリプトデプロイ

スクリプトの実体ファイルは、$HESTIA_HOME/server/default/data/scripts にインストールする必要があります。また、上記ディレクトリにはスクリプトファイルのカタログファイル(description.xml)があり、カタログファイルにスクリプト名、変数等を定義する必要があります。

カタログファイル記述形式

description.xml

<scripts>
 <script>
   <name>HelloWorld</name>
   <description>First Sample</description>
   <source>/scripts/HelloWorld.py</source>
 </script>
 <script>
   ....
 </script>
</scripts>
設定項目内容
scriptスクリプト定義。複数定義可能です
script.nameスクリプト名。1バイト系のみ
script.descriptionスクリプトの概要。1バイト系のみ
script.sourceスクリプトファイル名。$HESTIA_SERVER/default/data からの相対パスで指定
script.param変数定義。省略可能、複数定義可能
script.param.name変数名。スクリプトから参照可能
script.param.description変数定義名。スクリプト起動画面に表示される
script.param.optional必須パラメタかどうかの指定をtrue/falseで。省略時は必須パラメタとなる
script.param.type変数型。text, integer, binaryが指定可能
script.param.value変数値。省略時はテキストボックスにて変数指定、指定時は変数をプルダウンから選択可能

例) カタログ定義例

 <script>
   <name>parameter test</name>
   <description>parameter test with empty scripts</description>
   <source>/scripts/empty.py</source>
   <internal>false</internal>
   <param>
     <name>textfield</name>
     <description>String from textbox</description>
     <type>text</type>
   </param>
   <param>
     <name>choosetextfield</name>
     <description>String from choosable text</description>
     <type>text</type>
     <value>string1</value>
     <value>string2</value>
   </param>
   <param>
     <name>integerfield</name>
     <description>integer value</description>
     <type>integer</type>
     <value>1</value>
     <value>2</value>
     <value>3</value>
   </param>
   <param>
     <name>binaryfield</name>
     <description>can upload files</description>
     <optional>true</optional>
     <type>binary</type>
   </param>
 </script>

上記スクリプトの起動時には下記のような画面が表示されます。

hcshot1.png

スクリプト状態遷移

スクリプトは以下の3状態のいづれかのステータスを持ちます。

状態内容
SessionState.STATE_ACTIVEスクリプトがアクティブ状態であることを示します。スクリプトが明示的に終了するか異常終了しない限り、スクリプトはSTATE_ACTIVE状態をとり続け、定期的に再実行されます
SessionState.STATE_FINISHスクリプトが正常終了した状態であることを示します
SessionState.STATE_ERRORスクリプトの処理中に例外が発生し異常終了した状態であることを示します

変数

外部よりスクリプトに渡すことのできる変数は、グローバル変数とスクリプト変数の2種類があります。グローバル変数はスクリプト起動時にScriptコンポーネントから前もって渡されるインスタンスで、スクリプト変数はカタログファイルによって定義され、ブラウザ画面から渡される変数です。

グローバル変数

変数名対応オブジェクト概要
svmcom.ados.hestia.scripts.ScriptSessionスクリプト起動時にインスタンス化されるスクリプト自身のオブジェクトです。スクリプト自身の状態管理などを行います
sapicom.ados.hestia.scripts.ScriptAPIScriptAPIはSessionオブジェクトを利用するためのSessionProcessorオブジェクト取得、その他ユーティリティ機能を提供します。

スクリプト変数

カタログファイルで定義された変数をスクリプトから参照できます。

Jythonの文法では変数宣言時の明示的な型宣言はありませんが、スクリプト起動画面から指定された各型は以下のように変換されスクリプトに渡されます。

カタログ定義型スクリプト変数型備考
textString
integerint
binaryIStoreIStoreはHestia SDKに含まれるストリームを含む抽象インターフェースです。スクリプトはIStoreからストリームを取り出して処理を行います

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Copyright 2005-2008. ADOS Co., Ltd. All Rights Reserved.