<< 9月 2009 | Home | 11月 2009 >>

FishEye のチューニング

最近自宅サーバのファンが良く回ります。
top コマンドで調べてみると CPU 使用率が100%!!!
どうやら FishEye の Java プロセスが激しく動いているようです。
プロセス内のどのスレッドが CPU を使っているか調べるには・・・どうしたら良いのでしょう?Linux だと top -H -b で調べられるんですが、Mac OSX では -H -b オプションは効かないようです。

スレッドダンプと CPU 使用率の傾向をみると CPU 使用率が高いのはインデックスを作成している最中だけのようなのでひとまず無視することにしました。

続いて気になったのはプロセスサイズです。GCログから、ヒープサイズは 30mb もあれば十分なことがわかっていたので以下のように -Xmx38 と指定していました。

FISHEYE_OPTS="$FISHEYE_OPTS -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xmx38m -Xms38m -Xss180k -XX:MaxPermSize=120m"


しかしプロセスサイズは 300mb 近くに膨れあがっていました。パーマネント領域とネイティブ領域を考慮にいれても大きすぎです。
ps aux コマンドで確認してみるとなぜか最大ヒープサイズが 1024mb に設定されていました。なぜかFISHEYE_OPTSの設定が効いていません。
$ ps aux|grep java
yusukey 34261 91.8 12.5 1646800 163492 s000 R 12:51AM 0:46.93 /System/Library/Frameworks/JavaVM.framework/Home/bin/java -Xmx1024m -XX:MaxNewSize=128m -XX:MaxPermSize=256m -Dfisheye.library.path= -Dfisheye.inst=/Users/yusukey/server/fisheye -Djava.awt.headless=true -Djava.endorsed.dirs=/Users/yusukey/server/fisheye-2.0.6/lib/endorsed -jar /Users/yusukey/server/fisheye-2.0.6/fisheyeboot.jar start

起動スクリプトを追っていったところ、以下の行で FISHEYE_OPTS が上書きされていることがわかったのでコメントアウト。
FISHEYE_OPTS=$($JAVACMD -cp $FISHEYE_HOME/fisheyeboot.jar com.cenqua.fisheye.boot.OptsSetter)


続いて、以下のページを見て BlockSize パラメータを減らせばメモリフットプリントが減ることがわかりました。これはデフォルトの 400 から 100 に縮小。
Tuning FishEye - FishEye 2.0 - Atlassian Documentation - Confluence

そんなに負荷がかかるサービスではないのでスレッド数は少なくても良さそうですが、管理画面からはスレッド数を設定する項目が見つかりません。
config.xml のスキーマ、config.xsd を確認すると web-server 要素に指定できることがわかりました。デフォルトは最小1、最大20スレッドとなっているようです。
<xsd:complexType name="webServerType">
<xsd:all minOccurs="1">
<xsd:element name="http" type="fe:httpServerType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="ajp13" type="fe:ajp13ServerType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="site-url" type="xsd:string" use="optional"/>
<xsd:attribute name="context" use="optional" type="xsd:string"/>

<xsd:attribute name="min-threads" use="optional" type="xsd:nonNegativeInteger" default="1"/>
<xsd:attribute name="max-threads" use="optional" type="xsd:nonNegativeInteger" default="20"/>
</xsd:complexType>

ざっくりと最小1スレッド、最大8スレッドとし、使っていない http ポートは削除、ajp13 ポートのみとしました。
<web-server context="fisheye" min-threads="1" max-threads="8">

<ajp13 bind=":8069"/></web-server>
<api enabled="true"/>
<security allow-anon="true" allow-cru-anon="true">
<usernames force-lowercase="true"/><built-in>
<signup enabled="false"/>
</built-in>


続いて、デフォルトでは HSQLDB を使っているようなので MySQL を使うように設定してみました。
$ ./mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14605
Server version: 5.0.45 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database fisheye206 character set utf8;
Query OK, 1 row affected (0.22 sec)

mysql> ^DBye

データベースを作成したら MySQL の JDBC ドライバは fisheye-2.0.6/lib/ 以下に配置 & FishEye 再起動。
そして FishEye > Admin > Database Configuration よりデータベースを設定。Test Connection > Save & Migrate Data でマイグレート完了。


この設定でだいぶメモリは節約できました。
ヒープサイズを大胆に減らしましたが、特に重くもなっていないので当面様子を見てみることにします。

関連記事:
Jira 4 へのアップグレード手順(バージョン 3.13.1 から) - 侍ズム
FishEye 2.0.6 のインストールとアップグレード - 侍ズム
Jira 3.13.1 へ FishEye プラグイン 2.3 をインストール
FishEye 1.6.3 のインストール - 侍ズム
Jira をバージョン 3.13.1 へアップデート
Jira をバージョン 3.12.3 へアップデート

タグ :
このエントリーをはてなブックマークに追加   

breaking news!!!! - IntelliJ IDEA9 がオープンソース化

愛用させて頂いている JetBrains の IDE、IntelliJ IDEA がオープンソース化されるそうです。
IntelliJ IDEA Open Sourced | JetBrains IntelliJ IDEA Blog

ライセンスは Apache 2.0 license。
Servlet / EJB などの J2EE コンポーネントには対応しない Community Edition、フル装備の Ultimate Edition という二つの版にわかれるようです。
IntelliJ IDEA 9:: Editions Comparison Matrix
Maven や Scala サポートなど、IntelliJ が得意とする機能は Community Edition でも対応していますね。

また従来通りオープンソースプロジェクトでは全て無償で利用できます。Twitter4Jなども IntelliJ IDEA で開発しています。

これは一大事!!!Eclipse なんて使っている場合じゃありません!

え?JBoss Developer Studio? コホンコホン。

タグ :
このエントリーをはてなブックマークに追加   

FishEye 2.0.6 のインストールとアップグレード

FishEye はJBoss や Apache で使われているバグトラッキングシステム Jira を開発している Atlassian の製品で、ソースコードリポジトリの変更履歴を確認したり、統計情報を確認したりできる Web アプリケーションです。
例によってオープンソース製品には無償のライセンスが用意されていてJBoss.orgでも使われています。

私は 自宅の Jira と連携させて使っています。

インストールガイドは以下のページにあります。
FishEye Installation & Upgrade Guide - FishEye 2.0 - Atlassian Documentation - Confluence

1. FishEye 2.0 のダウンロード
ダウンロードページより zip アーカイブをダウンロードします。FishEye はどういうわけか Jira と違って JBoss や WLS 等の既存のアプリケーションサーバにデプロイすることはできず、Jetty を内蔵するスタンドアロン版しかありません。

FishEye Downloads

2. FishEye インストールディレクトリの作成
FishEye は自己完結型のディレクトリ構成を持っていますが、そのまま利用するとアップグレードが面倒になるため、運用環境ではデータは別ディレクトリに配置することを推奨しています

私は fisheye ディレクトリを掘ってありますのですんなりアップグレードできそうです。

3. ライセンスの設定(アップグレードの場合は不要)
3.a. FishEye を起動
まずは起動してからセットアップします。

$ export FISHEYE_INST=~/server/fisheye
$ export FISHEYE_HOME=~/server/fisheye-2.0.6
$ cd $FISHEYE_HOME/bin
./run.sh
INFO - FishEye 1.6.3 (build-336), Built on 2008-11-04
INFO -
INFO - =======================================================
INFO -
INFO - Welcome to FishEye!
INFO -
INFO - You need to configure an admin password and enter your
INFO - license key. You can do this by accessing FishEye through
INFO - a web browser:
INFO -
INFO - http://hostipaddress:8060/
INFO -
INFO - Alternatively you can edit config.xml, refer to the
INFO - FishEye administration guide for more infotmation:
INFO -
INFO - http://confluence.atlassian.com/x/N4CDBQ
INFO -
INFO - =======================================================
INFO -
Could not find a FishEye license.
Please visit http://my.atlassian.com and quote ****-****-****-**** to obtain a valid license,
or visit http://www.atlassian.com/fisheye/renew to renew your license.
INFO - Periodic polling for software updates is disabled.
INFO - Server started on :8060 (http) (control port on 127.0.0.1:8059)
WARN - No license info available, not starting FishEye repositories.


起動すると Server ID という 16 ケタの16進数の ID が発行されます。
これを控えておき、http://my.atlassian.com で評価用ライセンスを取得します。

3.b. ライセンスの入力
http://my.atlassian.com でライセンスキーを取得できたら http://ホスト:8060にアクセスし、ライセンスキーを入力します。

ライセンスキーを入力


ライセンスが受け入れられたところ

4. リポジトリのセットアップ(アップグレードの場合は不要)
http://ホスト:8060/adminにアクセスすると、管理画面になります。

fisheye 管理画面
[Repository List > Add repository] より、リポジトリを追加するフォームが表示されます。
Name*: リポジトリの名前
Repository type: SVN, CVS, perforce の中から選択
SVN URL*: プロトコルスキームから始まるリポジトリのパスを入力
Path: リポジトリのうち特定のディレクトリだけを fisheye で表示したい場合は入力
trunk/branch/tag structure: /project/trunk/..., /project/branches/NAME/..., /project/tags/NAME/...


リポジトリ追加フォーム

フォームに必要事項を記入したら [add] でリポジトリの追加が完了。
自動的にリポジトリのスキャンが始まります。

5. コンテクストパス、ajp コネクタのセットアップ(アップグレードの場合は不要)
FishEye はデフォルトでルートコンテキストで動作するようです。
今回は FishEye 用のサブドメインを立てるのではなく、http://yusuke.homeip.net/fisheye/ というパスでアクセスできるようにしたいのでコンテクストパスを設定することにしました。
コンテクストパスやその他 Web サーバの設定は [Server Settings > Web Server > Edit settings] より行えます。
以下のように設定しました。
WebContext: fisheye
Http Bind Address: 8060
Ajp13 Bind Address: 8069

Bind Address のところは特定の NIC だけでリスンてほしければ IPアドレス:ポート のフォーマットで入力すればokです。
今回は Wifi でも Ethernet でもリスンして欲しいのでポートだけ入力しました。

6. 起動スクリプト設定
デフォルトではヒープサイズや GC ログの設定がされていないようです。
最低限どれくらいのヒープサイズで動くのかわかりませんのでざっくりと 64mb に設定し、-XX:+PrintGCTimeSamps オプションで GC 状況のログを取っておくことにしました。
設定は fisheyectl.sh に書きます。
1: #!/bin/sh
2: FISHEYE_OPTS="$FISHEYE_OPTS -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xmx64m -Xms64m-Xss180k"
3: FISHEYE_INST=/Users/yusukey/server/fisheye
4: FISHEYE_HOME=/Users/yusukey/server/fisheye-2.0.6

7. mod_jk 設定
8060番ポートに穴を空けたくないので mod_jk を以下のように設定して Apache と連携させました。
worker.properties
worker.fisheye.port=8069
worker.fisheye.host=127.0.0.1
worker.fisheye.type=ajp13

uriworkermap.properties
/fisheye=fisheye
/fisheye/*=fisheye

8. 起動設定(アップグレードの場合は不要)
FishEye は run.sh で簡単に起動できますが、サーバ(再)起動時に手動で起動するのは面倒なので自動起動できるように設定しました。

# cd /Library/StartupItems/
# mkdir fisheye

MacOSX 独自の起動スクリプトを書く
# cd /Library/StartupItems/fisheye
# vi fisheye

#!/bin/sh

##
# fisheye
##

. /etc/rc.common

StartService ()
{
ConsoleMessage "Starting FishEye"
cd /Users/yusukey/server/fisheye-2.0.6/bin
sudo -u yusukey ./start.sh
}

StopService ()
{
ConsoleMessage "Stopping FishEye"
cd /Users/yusukey/server/fisheye-2.0.6/bin
sudo -u yusukey ./stop.sh
}

RestartService ()
{
ConsoleMessage "Restarting FishEye"
cd /Users/yusukey/server/fisheye-2.0.6/bin
sudo -u yusukey ./stop.sh
sudo -u yusukey ./start.sh
}

RunService "$1"

# vi StartupParameters.plist
{
Description = "fisheye";
Provides = ("fisheye");
Requires = ("DirectoryServices");
Uses = ("Disks");
OrderPreference = "None";
}

これで fisheye/StartupParameters.plist の2つのファイルを見て Mac OSX 起動時に勝手に FishEye を起動してくれるようになります。
コマンドラインから操作する際は
# SystemStarter start|stop|restart fisheye
でできます。
標準(エラー)出力は $FISHEYE_INST/var/log に記録されます。

10. robots.txt の設定
FishEye をセットアップしたことで、Google や Yahoo! にコードリポジトリそのものの索引を作ってもらう必要がなくなりましたので以下のように設定して検索対象からはずしました。
FishEye のコードは検索でヒットしても良いので Disallow に入れていません。
User-agent: *
Disallow: /svn/


11. 完了
以上の設定で無事 FishEye をインストールできました。
FishEye: browsing yusuke.homeip.net/

関連記事:
Jira 3.13.1 へ FishEye プラグイン 2.3 をインストール
FishEye 1.6.3 のインストール - 侍ズム
Jira をバージョン 3.13.1 へアップデート
Jira をバージョン 3.12.3 へアップデート

タグ :
このエントリーをはてなブックマークに追加   

Jira 4 へのアップグレード手順(バージョン 3.13.1 から)

Jira はAtlassian社のJava ベースのバグトラッキングシステムで、ApacheJBossでも使われています。
とっつきやすさと高機能をうまく両立しており、また見た目が洗練されている素晴らしい製品です。
オープンソースプロジェクトへは無償ライセンスを提供してくれるので私のプロジェクトでも使っています

今回はアップグレードですが、新規インストールの手順もほとんど同じです。

Jira のバージョンは 3.13.1 から 4.0 になりました。

1. 現行 Jira のバックアップ、新規インスタンスでインポート
既存 Jira インスタンスより、
ADMINISTRATION > Import & Export > Backup Data to XML
File name: /Users/yusukey/jirabackup101009.xml > "Backup"

無事成功すると Data exported to: /users/yusukey/jirabackup101009.xml と表示される。
現行インススタンスはアンデプロイ。


2. Atlassian より最新版をダウンロード
http://www.atlassian.com/software/jira/JIRADownloadCenter.jspa
デフォルトではスタンドアロン版のみ表示されています。私は自前の JBoss にデプロイしているので "Show all" をクリックして Enterprise - WAR/EAR 版を表示、ダウンロードしました。

3. MySQL にデータベース作成
既存データベースに接続させることもできるけれども、最適なスキーマを作るには新規にデータベースを用意した方が良いとのことです。

$ ./mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14605
Server version: 5.0.45 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database jira400 character set utf8;
Query OK, 1 row affected (0.07 sec)

mysql> ^DBye

$JBOSS_HOME/server/$MYCONFIG/deploy 以下に以下のファイルを作成してコネクションプール/データソースを作成。
jira400-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>Jira400DS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/jira400</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<connection-property name="useUnicode">true</connection-property>
<connection-property name="characterEncoding">UTF8</connection-property>
<user-name>yusukey</user-name>
<min-pool-size>10</min-pool-size>
<max-pool-size>10</max-pool-size>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
</local-tx-datasource>
</datasources>

4. Jira のデータソース設定
atlassian-jira-enterprise-4.0/edit-webapp/WEB-INF/classes/entityengine.xml を修正
接続 DB を hsql から mysql に、schema-name を削除。
99:    <datasource name="defaultDS" field-type-name="hsql"
100: schema-name="PUBLIC"

99: <datasource name="defaultDS" field-type-name="mysql"
100: <!--削除-->

atlassian-jira-enterprise-4.0/edit-webapp/WEB-INF/jboss-web.xml を作成。
<jboss-web>
<context-root>/jira</context-root>
<virtual-host>yusuke.homeip.net</virtual-host>
<resource-ref>
<res-ref-name>jdbc/JiraDS</res-ref-name>
<jndi-name>java:/Jira400DS</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>mail/MailSession</res-ref-name>
<res-type>javax.mail.Session</res-type>
<jndi-name>java:/Mail</jndi-name>
</resource-ref>
</jboss-web>

これでローカルJNDI に jdbc:/Jira400DS としてバインドされているデータソースをアプリケーションローカルの JNDI ツリーにリンクします。

atlassian-jira-enterprise-4.0/webapp/WEB-INF/web.xml を編集
以下をアンコメントてデータソースのリンクを有効にします。
    <!-- resource references -->
<!-- Uncomment for WebSphere
<resource-ref>
<description>Database for JIRA</description>
<res-ref-name>jdbc/JiraDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>SERVLET</res-auth>
<res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>
Uncomment for WebSphere -->


5. メールセッションの設定
atlassian-jira-enterprise-4.0/webapp/WEB-INF/web.xml を編集し、以下の行を追加してメールセッションを有効にします。
    <resource-ref>
<res-ref-name>mail/MailSession</res-ref-name>
<res-type>javax.mail.Session</res-type>
<res-auth>Container</res-auth>
</resource-ref>


6. jira.home の設定
このプロパティは今回から必要になったようです。
atlassian-jira-enterprise-4.0/webapp/WEB-INF/classes/jira-application.properties の jira.home に任意のディレクトリを絶対パスで指定します。
jira.home=/Users/yusukey/jirahome



7. 起動パラメータの調整
メールが文字化けしないためにも、 -Dmail.mime.decodeparameters=true というシステムプロパティを設定する必要があるそうです。
JBoss の場合は run.conf に設定します。
また、パーマネント領域を以前よりも多く消費するため、最大を256m程度に設定するのが推奨だとか。
メモリが潤沢にあるわけではないので、とりあえず200mに設定しました。
また、ヒープ領域はいままで最大150mでうごかしていましたが、GC が頻発して思いので 200m まで増やしました。
結果、run.conf で設定する jvm オプションはこんな形に。
JAVA_OPTS="-Dnetworkaddress.cache.ttl=10 -Duser.home=/Users/yusukey
-DHUDSON_HOME=/Users/yusukey/.hudson -XX:+DisableExplicitGC
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
-Xloggc:gclog.txt -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true
-XX:MaxTenuringThreshold=32 -XX:SurvivorRatio=8 -XX:NewSize=70m
-XX:MaxNewSize=70m -Xms200m -Xmx200m -server -Djava.awt.headless=true
-XX:PermSize=40m -XX:MaxPermSize=200m -Xss128k
-Dmail.mime.decodeparameters=true"


8. warのビルド、デプロイ
atlassian-jira-enterprise-4.0$ ./build.sh war
Buildfile: build.xml

init:
.
.
.
--------------------------------------------------
Deployable WARs generated:

TOMCAT: /Users/yusukey/Downloads/atlassian-jira-enterprise-4.0/dist-tomcat/atlassian-jira-4.0.war
GENERIC: /Users/yusukey/Downloads/atlassian-jira-enterprise-4.0/dist-generic/atlassian-jira-4.0.war


See http://www.atlassian.com/software/jira/docs/latest/servers/ for install instructions
--------------------------------------------------


BUILD SUCCESSFUL
Total time: 6 minutes 54 seconds
--------------------------------------------------

$ mv dist-tomcat/tomcat-6/atlassian-jira-4.0.war $JBOSS_HOME/server/default/deploy/jira.war


9. データのインポート
Jira にアクセスし、インポート。あらかじめライセンスをアップグレードしておくか、評価ライセンスを取得しておく必要があります。
Import Existing Data
File name: /Users/yusukey/jirabackup.xml

10. アップグレード完了!
以上でバージョンアップが完了。
jira.home を設定する以外は以前とほとんど変わらない手順でした。

AJAX ベースのインターフェースになって以前よりもサクサクと使えるようになりました。

ただ、デプロイ時にいくらかエラーが発生しており、ダッシュボードが見られません。
Welcome - JIRA

エラーメッセージの根本原因はほとんどこんな感じ
Caused by: org.osgi.framework.BundleException: Unresolved constraint
in bundle 41: package; (&(package=org.apache.log4j)(version>=1.2.0))

おそらく JBoss 特有の現象です。
関連しそうな issue もいくつかありました。
[#JRA-18259] Lockup JIRA on startup if there's an OSGiContainerExceptions being thrown - Atlassian JIRA
[#JRA-16381] Test compatibility with JBoss 5 - Atlassian JIRA
とりあえず使えているのでこの問題についてはまたの機会に・・。

関連記事:
アトラシアン(Atlassian)製品の価格と購入方法
Atlassian が Jira4 をリリース - 指名ユーザライセンス制を導入 - 侍ズム
Jira 3.13.1 へ FishEye プラグイン 2.3 をインストール
Jira をバージョン 3.13.1 へアップデート - 侍ズム
FishEye 1.6.3 のインストール
Jira をバージョン 3.12.3 へアップデート

このエントリーをはてなブックマークに追加   

Atlassian が JIRA4 をリリース - 指名ユーザライセンス制を導入

Atlassian の issue トラッキングシステム、JIRA の最新バージョンである JIRA 4 がリリースされました。
JIRA 4 - The centre of your development team - JIRA Product Blog

JIRA は ApacheJBossCodehausといった Java の主要なオープンソースプロジェクト群で利用されています。
Atlassian の回し者ではありませんが私自身現時点でベストの issue トラッキングシステムだと思っています。

今回のリリースではダッシュボードが強化されていたり、OpenSocial ガジェットに対応したりととても良さそう!

従来は機能セット毎に価格が設定されていましたが、今回からユーザ数に応じた価格が設定されています。
しかも10人以下の少人数プロジェクトは $10 で永年利用可能!
Get Started From $10 - Pricing - JIRA

また以前は最上位バージョンが Enterprise という名前で $3,000 くらいでしたが今回からは無限ユーザ数版は $8,000 となっています。
ただ、以前の値付けは年間の金額だった気がします。今回はワンショットの金額みたいなので必ずしも値上げとは言えませんね。

30日のトライアルもできます。まだ体験したことのない方は是非お試しください!

もちろんオープンソースプロジェクトでは無償利用可能。既にTwitter4Jでも活用させて頂いています。(JIRA4の導入はまだ)

日本ではリックソフトが 1050円 〜で販売しているそうです。
・リックソフト - アトラシアン(Atlassian)製品の価格と購入方法
1050円で永年、ではなく毎年更新が必要みたいです。10ユーザライセンスはルーム・トゥ・リードへ寄付されるみたいですが、消費税がかかるのでしょうか・・?

関連記事:
アトラシアン(Atlassian)製品の価格と購入方法
JIRA をバージョン 3.13.1 へアップデート - 侍ズム
JIRA をバージョン 3.12.3 へアップデート - 侍ズム
JBoss 上の JIRA 3.13.1 へ FishEye プラグイン 2.3 をインストール - 侍ズム

タグ :
このエントリーをはてなブックマークに追加   

Unsanity が沈黙を破って復活!

Unsanity は Mac OSX のルック&フィールをカスタマイズするユーティリティを数多くリリースしている会社です。
私はWindowShade XMighty Mouseをリリース当初から愛用しています。

しかし、これらのユーティリティは OS に深く絡んでいるため OS のアップグレードや CPU への強い依存があります。
もちろん、都度最新 OS や CPU に対応してきてくれました。

しかし Leopard から様子が変わります。
2007年10月に Leopard がリリースされましたが、一向に対応する様子なくユーザをやきもきさせていました。
2年近く経た2009年4月、Windows Shade X がベータ版ながらも Leopardに対応そして Mighty Mouse が6月に対応を果たします。
既存のユーザは無償でアップデートできましたが、「良ければお気持ちを!」と10ドルの寄付も募っていました(もともとライセンスも10ドル)。
もちろん私も将来の期待を込めて寄付しました。

Mighty Mouse はスリープから復帰するときにたまにマウスカーソルのカスタマイズが解除されてデフォルトカーソルになってしまうことがあったものの、そこそこ快適に使えていました。

そして Snow Leopard のリリースです。
Leopard に改善を加えたバージョンということでそのまま使えることを期待していましたが、だめでした
そして Unsanity の weblog では全くアップデートなし。
「どうなってるの?」「アップデートしてくれたらたくさんライセンス買うからお願い!」「忠実なユーザがいっぱいいるというのに・・・、Unsanity の姿勢が良くわかったよ!」、と過去のエントリはプチ炎上状態が続いていました。

もう Unsanity は終わりかなーとあきらめかけていたのですが Snow Leopard のリリースから1ヶ月半、沈黙を破って復活してくれました!
HIYA KIDS, IT'S THEMING TIME!

Theme Park というデスクトップ全体の見た目をカスタマイズするユーティリティの Snow Leopard コンパチブル版のリリースですが、Windows Shade X や Mighty Mouse もちゃんとアップデートする気があるみたいです。

やきもきさせてくれましたが、復活してくれてとりあえず一安心です。
これがオープンソースのユーティリティであれば「誰かが」直してくれたことでしょう。Snow Leopard リリース直後、もしかするとリリース前にはもう対応していたかもしれません。

1社が固定のメンバーで開発するというのはデザインの一貫性という面では良いですが、迅速なアップデートができない、バグや非互換性への対応が遅れる・そもそも対応されないなどの問題を抱えますね。

全ての面においてオープンソースのプロジェクトが優れていると主張する気はありませんが、今回の事件はあらためてオープンソースソフトウェアのメリットを間接的に実感した出来事でした。

タグ :
このエントリーをはてなブックマークに追加   

レッドハットのルールエンジンを体験! JBoss Enterprise BRMS クイックスタート公開

BRMS は Business Rule Management System の略で、ルールの保管・テスト・バージョニング・デプロイなどビジネスルールのライフサイクルを統合的に管理できる環境・製品を指します。
ルールエンジン・BRMS を適用するとビジネスの変更に対してシステム側が機敏に、柔軟に対応できるようになります。
これは機会損失を最小限に抑え、競争力の高いビジネスをドライブできることを意味します。

また、ルールエンジンを使うとビジネスルールはプログラム言語ではなく、自然言語に近い形で表現できるためビジネスエキスパート(非エンジニア、業務知識を有する人)も読み書きできるようになります。
ルールエンジンは普通の人間が読めるビジネスルールをそのまま解釈・実行できるため仕様と実装にギャップが発生することがありません。つまりルールエンジンの適用はシステム開発のコスト・期間を圧縮する鍵でもあります。

ルールエンジン・BRMS の応用範囲は非常に広いのですが、これまでは1サーバあたり数百〜数千万のイニシャルコストがかかる高価な製品ばかりでした。
有名なのは IBM WebSphere ILOG JRules ではないでしょうか。抜群の知名度、実績があり保険・金融分野などに適用されていると聞きます。

レッドハットは JBoss Enterprise BRMS という名前で優れた TCO を実現できるオープンソースの BRMS ソリューションを展開します。
既に米国では発表・出荷しておりますが、日本では今月中に発表、出荷の見込みです。
# これまでも JBoss Rules のブランドでルールエンジンを提供していましたが、ルールの管理を行う Web UI はコミュニティバージョンしかなくサポートされていませんでした

先日のエントリで紹介した通り、レッドハットでは製品の発表に先駆けて無償でハンズオンセミナーを開催しています。実際に製品に触れて頂けるセミナーになっています。
このセミナーのスライド、演習用ファイルはオープンソース(クリエイティブコモンズ / BSD)でそれぞれ slideshare、github で公開されています。セミナーの日程に都合が合わない方はコミュニティバージョンを使ってルールエンジン・BRMS の面白さ、可能性を体験して頂ければ幸いです。

・演習ファイルダウンロード
オンラインで見る
Github からダウンロード

・スライド




タグ :
このエントリーをはてなブックマークに追加   

レッドハットのルールエンジン - JBoss Enterprise BRMS クイックスタートセミナーのお知らせ - 10月6日@恵比寿

レッドハットではオープンソースのルールエンジン、Drools 5.0 をベースとした JBoss Enterprise BRMS のリリースを近日予定しています。
そこで実際に製品に触れて頂きオープンソース BRMS の可能性を体験して頂ける機会をご用意いたしました。

本クイックスタートは製品概要説明だけでなく実機によるハンズオンを含み、JBoss Enterprise BRMS をより詳しく理解していただく事ができます。
今回は、各回定員16名までの限定のセミナーです。是非、お早めにご登録ください。

日程:
 第1回:2009年 10月 6日(火) 14:00ー17:30
 第2回:2009年 10月22日(木) 14:00ー17:30

場所:
東京恵比寿 レッドハット株式会社 セミナールーム

定員:16名 / 各回

アジェンダ(予定):
 14:00 - 14:20 JBoss Enterprise BRMS の位置づけと最新情報
 14:20 - 17:30 JBoss Enterprise BRMS クイックスタート
   - JBoss Enterprise BRMS について
   - BREについて
   - RETEアルゴリズムについて
   - ルール表記方法
   - (演習)ルールエンジンの振る舞い
   - BRMについて
   - (演習)BRMのインストール
   - (演習)ルールの編集、パッケージング
   - (演習)アプリケーションとの連携

登録方法:
  までご希望の参加日、参加者の会社名、名前、部門、役職、メールアドレス、電話番号をお伝えください。


条件:
 - ハンズオンは、ご参加頂く方のノートPCで演習することを想定しています。
  Eclipse が動作することができるスペックのノートPCをご持参ください。
 - 当日配布するファイル、モジュール等のために、USB が有効なPC をご持参
ください。
 - 参加は、1社 2名 までと限定致します。
 - 2名で1つのノートPCを共有することは可能です。
 - ノートPCを持ち込むことが難しい場合、複数名でハンズオンを共有して頂く
ことも
  ありますので、予めご了承ください。
 - 受講に関しては、以下の知識を保有していることが望ましいです。
  Javaの基礎知識、プログラミング経験
  Eclipseを使った開発経験(推奨)、JUnitテストフレームワークの使用経験(推奨)

※ 事前にセットアップが必要なソフトウェアや環境面は、参加者に個別に連絡させて頂きます。

タグ :
このエントリーをはてなブックマークに追加