2008-01-01から1年間の記事一覧
前回(id:fits:20081203)作成した Apache Camel + Esper コンポーネントの環境を使って、ちょっとだけ高度なイベント処理を試してみる。とりあえず、Esper のビルトイン Data Window Views の中から以下のようなものを使う。 Length batch window "win:leng…
Apache Camel の Camel Extra プロジェクトには Camel 上で Esper のイベント処理を行うための Esper コンポーネント(camel-esper ライブラリ)が用意されているので、これを使って Camel 上で簡単な Esper を使ったイベントのフィルタリング処理を試してみ…
オープンソースの CEP(Complex Event Processing = 複合イベント処理) ツールである Esper の Java 実装を使って簡単なイベント処理を試してみる。使用した環境は以下の通り。 Esper 2.3.0 事前準備として、Web サイトから Esper for Java 2.3.0 のアーカイ…
今回は、Apache Felix に自作のサービス(OSGi service)を登録・実行してみる。 サービス登録用の Bundle 作成 サービス実行用の Bundle 作成 Bundle の作成手順やインストール方法は前回 id:fits:20081118 の通り。 サービス登録用の Bundle 作成 サービスを…
Flex 3.0 の DataGrid では、editable プロパティに true を設定するとシングルクリックで指定のセルを編集状態にする事ができる。しかし、シングルクリックの代わりにダブルクリックで編集状態にする仕組みが用意されておらず、マウスアップのイベント処理…
ServiceMix Kernel に採用されているオープンソース OSGi フレームワークの Apache Felix に関して、自作のバンドル(OSGi Bundle)を作成・登録してみる。手順は以下の通り。 Bundle クラス作成 JAR ファイル作成 インストール 作業準備として、Felix のアー…
前回(id:fits:20080929)は ServiceMix 3.2.2 上で Camel を実行してみたが、今回は ServiceMix 4.0 のカーネルを担う ServiceMix Kernel 1.0.0 を使って Camel を実行してみる。(ServiceMix Kernel は OSGi ベースの軽量コンテナ) Camel 実行に必要なパ…
Groovy 1.6 の新機能である @Mixin と @Delegate アノテーションを Groovy 1.6 beta2 で試してみた。@Mixin と @Delegate が実現する機能は以下の通り。 @Mixin は実装を取り込む(自分に機能を取り込む) @Delegate は委譲処理を実現(自分に機能を取り込ま…
easyb の dbunit(DBのユニットテストツール)用のプラグインを使ってみる事にする。 ちなみに、dbunit プラグインを使うと database_model メソッド(クロージャで DB に格納する初期レコードを指定できる)が使えるようになる。使用した環境は以下の通り。…
オープンソース ESB の Apache ServiceMix では、Apache Camel を使用するための servicemix-camel コンポーネントが用意されている。 そこで今回は、ServiceMix 3.2.2 上で Camel のルーティングルールを実行してみる事にする。 servicemix.xml の作成 Serv…
id:fits:20080919 で作成したサンプルの Java版は以下の通り。動作は Groovy 版と基本的に同じ。Groovy 版との違いで注目すべき点は getOut().setBody() で String.class の指定が不要なところ。 SampleRoute.java package sample; import java.io.FileInput…
Apache Camel の Jetty コンポーネントで HTTP リクエストを処理できるようなので、簡単なサンプルを作ってみる事にした。(ついでに File コンポーネントも使う)なお、Jetty コンポーネントを使うには Apache Camel に同梱されている jar ファイル以外に以…
Apache Camel は Apache ActiveMQ プロジェクトの一部、Spring を基盤とした統合フレームワークで EIP (Enterprise Integration Patterns) を実現するためのクラスライブラリが用意されている。 なお、EIP ではエンタープライズアプリケーションを連携させる…
Apache ODE 1.2 用に作成した BPEL ファイルを SCA 化して Apache Tuscany 1.3 上での実行を試みる。 ただし、Apache Tuscany 1.3 がサポートしている(同梱している)のは ODE 1.1 のため、BPEL や WSDL ファイルの名前空間を変更する必要あり。なお、今回…
以下の BPMN で表されるようなビジネスプロセスを BPEL で実現してみた。(今回は「レンタカーを予約」のみを別の BPEL として定義した) 「予約」処理の概要 「ホテルを予約する」と「レンタカーを予約する」を並列実行 「レンタカーを予約する」は「レンタ…
以下のサイトを参考にして、Apache ODE 1.2 上で簡単な BPEL(WS-BPEL)を実行してみた。 Eclipse BPEL プラグインを使って WS-BPEL V2.0 ビジネス・プロセスを開発し、実行する 開発・実行環境は以下の通り。 Eclipse 3.3, BPEL Visual Designer 0.3.0 Apac…
Redmine を Windows 上の JRuby で実行した際に Subversion との連携が正しく動作しない点について簡単に調査してみた。環境は以下の通り。 JRuby 1.1.2 Redmine 0.7.2 Subversion win32 1.4.5 原因 原因は、svn コマンドの実行に失敗していることで、失敗の…
Subversion 用の Pure Java ライブラリ SVNKit を使って、ログを取得してみる。(svn log のような動作を実装)実行環境は以下の通り。 Groovy 1.5.6 SVNKit 1.1.8 事前準備として、groovy コマンドの実行時に SVNKit の svnkit.jar がロードされるように Gr…
以前 id:fits:20070515 は JRuby から JUDE API を使ったが、今回は Groovy と Scala で .jude ファイル内の全クラス(IClass インターフェース実装オブジェクト)を出力するような簡単なスクリプトを書いてみた。実行に使った環境は以下の通り。 Groovy 1.5…
前回 id:fits:20080703 作成したプラグインプロジェクトを使って、以下のようなイベント処理を行う機能を追加する。 ドメインクラスが追加された場合に、スペックファイルの雛形を自動生成 イベント処理スクリプトの追加 イベント発生時の処理は、プラグイン…
以下のような環境を使って、easyb を実行するだけの簡単な Grails プラグインを作ってみる。 JavaSE 6 (1.6.0_06) groovy 1.5.6 grails 1.0.3 easyb 0.8 Grails でのプラグイン作成手順は以下の通り。 プラグイン作成プロジェクトの生成 プラグインの情報を…
Redmine 0.7.2 を JRuby on Rails 環境を使って Tomcat 上で動作させてみる。(Radmine を WAR ファイル化して Tomcat にデプロイして実行)使用した環境は以下のとおり。 JavaSE 6.0 (1.6.0_06) JRuby 1.1.2 Rails 2.1.0 Redmine 0.7.2 MySQL 5.0.51b Tomca…
jBPM PVM(プロセス仮想マシン)を Groovy から使ってみる。 jBPM PVM は、グラフ構造を構築して実行するためのシンプルな Java ライブラリで、ワークフローや BPM を実現するための共通基盤となる。使うための準備は以下のとおり。 jBPM PVM のサイトから z…
Jersey を以下の条件で動かしてみる。(Groovy 1.5.6, Jersey 0.8 使用) リソースクラスを Groovy スクリプトで記述 HttpServer の実行も Groovy スクリプトで Groovy スクリプトの作成 Groovy スクリプトを作成する。アノテーションの記述に関して以下のよ…
JAX-RS(JSR-311)の参照実装である Jersey(0.8-ea)を試してみた。手順は以下の通り。 リソースクラスの作成 HttpServerを使った実行クラス作成 ビルドと実行 なお、インストールは Jersey のサイトから jersey-0.8-ea.zip ファイルをダウンロードし、適当…
CI(継続的インテグレーション)ツールの一つである Hudson は以下のような点で個人的に気に入っている。 インストール(実行環境の構築や設定など)が容易 プラグインによる機能追加が容易 ビルド結果等のファイル構成が非常にシンプル REST 的なリモートア…
Flex 3 SDK の DataGrid コンポーネントを使って、以前 Ext JS で作成したようなデータグリッドのサンプルを作ってみた。機能としては以下のようなものを実装した。 カスタムソートの設定 フィルタリング処理の設定 スタイルの変更(選択行の背景色変更など…
前回 id:fits:20080310 のサンプルに手を加えて、ボタンを表示する簡単なサンプルを作ってみた。使用したのは前回と同様に Silverlight SDK 2.0 Beta1。前回との違いは以下のような点。 app ディレクトリに AppManifest.xaml ファイルを用意(前回は chiron.…
Silverlight SDK 2.0 Beta1 を使って IronPython を使った簡単なサンプルを作ってみた。手順は以下の通り。 app ディレクトリ作成 app.xaml 作成 app.py 作成 chiron.exe による app.xap 生成 index.html 作成 なお、Silverlight SDK 2.0 Beta1 では IronPyt…
今まで知らなかったのだが、Groovy に関数型言語で有名なカリー化(currying)のための仕組みが用意されていたので試してみた。 Groovy でのカリー化 やり方は非常に簡単で、クロージャに定義される curry() メソッドにカリー化する引数を渡してやれば、指定…