2006-01-01から1年間の記事一覧

ちょっとAjaxの本を読んでみました

ASTERIAはサーバサイドのプロダクトなのでAjaxとは直接関係ありませんけどサーバサイドの仕組みは必要なはずですから、今回は簡単な例で雰囲気だけでもお伝えしましょう。 参考にした書籍は「入門Ajax(高橋登史朗さん著)」です。 個人的にはすごい読みやすかっ…

RDB(GET)コンポーネント

RDBMSからのSELECT結果をストリームとして読み込みます。 主要プロパティ 名前データ型/候補値マッピング説明 Connectionconnection− 接続先のRDBを指定します。 ASTERIA Server Management Consoleにて作成されたRDB接続名を選択します。 ModechoiceSQL入力…

FileSystem(Put)コンポーネント

ファイルシステムにストリームをファイルとして書き出します。 名前データ型/候補値マッピング説明 HomeDirectorychoiceProjectOwner− 「FilePath」プロパティが相対パス指定の場合にベースディレクトリとして何を使うかを指定します。 ProjectOwner−プロジ…

FileSystem(Get)コンポーネント

ファイルシステムからファイルをストリームとして読み込みます。 名前データ型/候補値マッピング説明 HomeDirectorychoiceProjectOwner− 「FilePath」プロパティが相対パス指定の場合にベースディレクトリとして何を使うかを指定します。 ProjectOwner−プロ…

Logコンポーネント

ログを出力します。 名前データ型/候補値マッピング説明 Messagestring入力&出力 ログに出力するメッセージを指定します。 LogLevelchoicefatal入力&出力 ログ出力レベルを指定します。 debugInfoを指定するとフローがデバッグモードで実行されている場合…

Mutexコンポーネント

指定されたIDに対してロックを作成し、ロックが解除されるまで他のスレッド(フロー)のそのIDへのロックをブロックします。 ロックの期間はUnLockが実行された時、またはフローの終了までとなり、フローをまたがるロックは生成できません。 ロックが解除され…

Abortコンポーネント

フローの終了コンポーネントです。 Abortコンポーネントはフロー終了後に出力ストリームを返します。 EndやEndResponseと異なり、Abortではパラレル化した処理やループ処理が残っていてもこのコンポーネントが実行された時点で直ちにフローが終了します 名前…

の前に1000HIT達成の模様。

別に何があるってワケではないけど、一応記録しておく。

Endコンポーネント

フローの終了コンポーネントです。 Endコンポーネントはフロー終了後に出力ストリームを返しません。 フローがパラレル化されている場合にも複数のEndコンポーネントを置くことができます。 名前データ型/候補値マッピング説明 TransactionchoiceCommit− ト…

EndResponseコンポーネント

フローの終了コンポーネントです。 EndResponseコンポーネントはフロー終了後に出力ストリームを返します。 ブランチによる分岐の場合はEndResponseコンポーネントを複数置くことができますが、パラレル化の場合はEndResponseを複数置くことはできません。 …

STARTコンポーネント

フローの開始コンポーネントです。 すべてのフローはStartコンポーネントから開始されます。 代表的なプロパティ 名前データ型/候補値マッピング説明 BeginTransactionboolean− フロー内の各コンポーネントのコミットの実行をフロー終了時にするかどうか選択…

ちょっと手抜きさせてください

少し規模の大きいサンプルフローを作ろうと思ってます。 それまで更新なしでは寂しいので、各コンポーネントの説明をヘルプから抜粋しながら説明します。さすがに全文そのまま載せるのは問題有りなので、機能概要と特徴的なプロパティの部分のみ抜粋しますね…

Breakコンポーネント

フローの終了コンポーネントです。 BreakコンポーネントはAbortコンポーネントと同様に、パラレルやループの処理が残っていても、その場で直ちにフローを終了します。 また、その際に出力するストリームをこのコンポーネントの入力ストリームにするか、EndRe…

Mapperコンポーネント

入力側コンポーネントと出力側コンポーネントの間でプロパティやフィールドのマッピングを行います。 名前データ型/候補値マッピング説明 LoopProcessboolean− 入力ストリームが複数レコードの場合に、出力ストリームをまとめて出力するか1レコードずつルー…

LoopStartコンポーネント

指定回数のループを発生させます。 名前データ型/候補値マッピング説明 LoopCountinteger入力&出力 ループを発生させる回数を指定します。 0以下の値が指定された場合はExceptionとなります。 コメント 強制的に後続のコンポーネントをループ処理させます。…

TextSplitLoopコンポーネント

入力のテキストを指定のセパレータで分割しループを開始します。 名前データ型/候補値マッピング説明 Separatorstring入力&出力 テキストを分割するためのセパレータを指定します。 コメント 使い方次第ではとても面白いコンポーネントです。 ちょっとした…

EXEコンポーネント

外部プログラムを実行します。 名前データ型/候補値マッピング説明 FilePathstring入力&出力 実行する外部プログラムのパスを指定します。 スペースを含むパスを指定する場合は「"」で括ってください。 フルパスではなくプログラム名のみで指定する場合は実…

フロー並列処理させることも出来ます。

まず最初に注意事項 並列で処理(マルチスレッド)させるからと言って処理効率が倍になるわけではありません。 並列処理によって出せる効率には色々な要因が含まれてきます。 特に搭載CPU数が一つの場合には平行処理数ばっかり増やしてもダメなのです。 また並…

サブフローを有効に活用して可読性の向上、フロー共有による工数削減を

な〜てカッコイイこと言ってますけど、そこら辺は個々人のセンスによる部分が大きいので、ここでは淡々とサブフローを作るうえでの考慮点と呼び出しかたを説明します。 本来フローの規模が大きくないとサブフロー化の恩恵をあまり受けられないのですが、前述…

条件分岐するフロー

あくまでもASTERIAでちょこちょこっと作る楽しさをお伝えするのが主たる目的なので、今回もかなり手抜きします。 ロジック的には結構イケてないことをしてますが、そこはみなさんうまく修正してください。 さて、ASTERIA自身は結構な数のフォーマットを扱う…

かなり手抜きだけどアップロードされたファイルを保存させてみます。

最近はデジカメの普及もあって写真などの画像ファイルを沢山アップロードしたいというような要望も多いかと思います。 まぁ、個人的に写真撮るのが好きなんで制限なくアップできる環境というのに憧れがありまして(笑。 今日はファイルのアップロードをさせて…

Velocityコンポーネントで出力をHTMLに埋め込んでみる

前回作ったDB読み込みフローを修正してHTMLで整形したアウトプットが出るようにしてみましょう。 たしか前回は [Start]→[DBGet]→[EndResponse] という作りだったと思います。 これを [Start]→[DBGet]→[Velocity]→[EndResponse] と修正します Velocityコンポ…

フローを連結してみる

さきほどのDB書き込みフローのEndResponseのPropertyタブを開いてください。その中に「NextFlow」といプロパティがあると思います。このプロパティに後続実行させるフローを指定してあげることができます。このプロパティをクリックするとフロー一覧が表示され…

本当に書き込めてるの?確認のためにテーブルのデータを取得してみよう

折角ですから、DBからデータを読み込むフローも作成して確認用のフローとしましょう。 配置するコンポーネントは以下のとおりです。 [Start]→[DBGet]→[EndResponse] Startコンポーネント 今回はそのままでOKです。 DBGetコンポーネント(Storageタブにありま…

まずはDBに書き込むフローからいってみますか

なるべく簡単にしたいので色々手抜きがありますけど、ソコは目をつむってやってください。 ※DBを用意してください 当たり前なんですけど、DBに書き込みを行いますのでDBを用意してもらう必要があります。私の環境ではPostgreSQL8.1をインストールしてありま…

実はGETでもPOSTでも値の受け方は一緒なんです。

なのでフローをいじらなくてもそのまま動いてしまうんです。ファイルのアップロードとなると話はちょっと別ですけどね。 ですから今日はここまで・・・ というワケにもいかないので、ちょっと占いから外れてみましょう。 今回はPOSTで文字をASTERIAに送りつ…

かと思いきや

なぜかすぐに退院w あー、重病でなくてよかった。 大きな病院で詳しく調べてもらうのって大切だね! ってことで早速再開します〜。 コッソリとね。

これから入院&手術

することになりました。 しばし更新できなくなります。 いきなりスタートで躓いた感じ。

さてどうやってパラメーターを渡しましょうか?

前回はランダムに数値を発生させてその内容により出力メッセージを変更(Choise)してました。 今回は生まれた月を入力パラメーターとして受付て、その内容により出力メッセージを変更してみましょう。 (メッセージの内容は前回のそのままを使いますのでちょっ…

いきなり遊びに走る

本当ならDBからデータを読むとかゆうのを期待されるとこですが、早速飽きてきたので遊びに走ってみましょう。 お題は「ランダム占い」です。まぁ、おみくじみたいなもんですね。 なんでコレか?と言いますと、昔セルジオ占いがお気に入りだったことがあって、…