2008-07-01から1ヶ月間の記事一覧

無料で読めるガイドブック Maven: The Definitive Guide

オライリーから出版される予定のこの本ですが、なんと全文無料公開中。Mavenの基礎からEclipseとの連携まで全部載っています。素晴しい。Mavenを使う方は、ぜひ御一読を。http://www.sonatype.com/book/

PAX Cursor Plugin for Eclipse その2

Maven用PAX Constructプラグインのゴールにpax:provisionというものがあるが、それを実行すると、runnerと言うディレクトリが作製される。その中に、アプリケーションを実行するために必要なバンドルの一覧が入ったpox.xmlがあるので、それをPAX Cursorの方…

PAX Cursor PluginでOSGiバンドルを実行

いまいちうまく動かなかったので放置してたPAX Cursorプラグインの便利さがやっと分かった。これは、要するにPAX Runnerと言う、OSGi実行ユーティリティーをEclipseに統合するもので、クリック一つでかなりの種類のOSGi実行環境を自由に切り替え可能。

生物学者とMacintosh

mac

コンファレンスに参加しても、仕事での付き合いのある人を見ても、明らかに普及率が高い。ざっと見回した感覚では3割超えている感じでしょうか。 自分は、そう言う人たちに向けてクライアントを書いているので、絶対にMacintoshを無視はできない。でも、今…

一般的なJavaプロジェクトをOSGiアプリへと移行する時のメモ

プロジェクトのMaven化はほぼ必須。 OSGi用のMavenアーキタイプを作製し、それに基づいてバンドル開発 パブリックなレポジトリにあるOSGiライブラリがあれば、極力そちらを使う。自分でラップしたバンドルを監理する手間が省ける。SpringSource Bundle Repos…

Embeddedとコマンドライン版Mavenの違い

EclipseでMavenを使うとき、普通はm2eclipseのプラグインをインストールすると自動的にセットされるEmbeddedバージョンがデフォルトになる。しかし、Mavenのプラグインの挙動が、これの上だとおかしいことが度々ある。これを避けるためには、最新版のコマン…

コマンドラインツールとEclipseの連携

スクリプトで生成したEclipseのプロジェクトをインポートしていじっていると、だんだん挙動がおかしくなって来る。やはり一からEclipse内のOSGiプロジェクトとして作った方がいいか?あとLinux+Eclipseでは全く問題なくても、Windowsだと全く動かない。いちい…

Eclipse内でOSGiバンドルをデバッグ

コマンドラインツールを使ってデバッグする場合、 mvn pax:provisionで実行してしまうのが早いが、これをEclipseのmavenプラグインから呼び出しても、実行はされるがデバッガーが正常に作動しない。従って、Eclipse内で開発する場合は、やはり素直にEquinox…

「コマンドラインは絶対にやだ。全部IDE内で出来なきゃ駄目」

・・・という人も居ると思うので、そのための手順を作成中。 しかし、慣れるとAntには戻れない。OSGi環境との親和性もいい。アーキタイプの作り方をもっと勉強せねば。

Eclipse 3.4 Ganymede

少しずつ使いこんでいるけど、かなり良くなってる。Mavenとの統合もかなり洗練されて来た。OSGiバンドルの集合でアプリを作っても、普通に「OSGiバンドルの依存関係を解決する」のボタン一発で大体動く。

Eclipse PDE

知らないうちに色々機能が増えてる。 これなら汎用のOSGiバンドル開発環境としても特に問題無いかな?もう少し3.4を使い込まないと。

メモ

(多分)一番の目的: 依存関係地獄の解決 OSGi Bundle = Jar + Metadata 必要なメタデータ以外は、余計な事書いても特に問題無い OSGi依存のAPIを使っていなければ、そのまま普通のライブラリとして使える OSGi使用している一番メジャーなのはEclipse ただ…

サルにも分かるOSGiバンドルとSpring Frameworkによる開発

・・・みたいなドキュメントを書く仕事が割り当てられた。英語で書いたあと日本語に翻訳します。やっぱり最初はOSGi化した自前のプロジェクトを、誰がやってもきっちり動く手順を書く所から始めないとだめだろうな。

Cytoscape Retreat 三日目

ディベロッパー同士の合意がまだ出来てないけど、間に合うのだろうか・・・

カナダ出張

隣の国と言ってもトロントは東側。遠いなあ・・・

複数の言語の実行環境としてのJVM

http://openjdk.java.net/projects/mlvm/

RubyによるBeanの記述と、プラグインの実装

public interface CyPlugin { public String getName(); public String getDescription(); public String getVersion(); } <bean name="networkAnalysisEngine" class="org.cytoscape.analysis.NetworkStatisticsUtil"> </bean>

Spring + JRuby 1.1 のバグ

ハマッた・・・http://jira.springframework.org/browse/SPR-4743動かないけど、なぜかSpringSourceのOSGiバンドルレポジトリにある方は1.1.0。動くと思ってた。

実際にEclipseでSpring Dynamic Modulesを利用したOSGiサービスとコンシューマを作ってみる

全体の設定とEclipseヘのインポート まずテンプレ作成のスクリプトを実行。更に短く、かつ最新のバンドルを利用するように修正しました。 #!/bin/sh # Create Project "hello" pax-create-project -g org.cytoscape -a hello cd hello # Add SpringSource En…

OSGiとSpring Frameworkの関係

少しだけ概念の説明を。OSGiとSpring Frameworkは、元々は全く別のプロジェクトですが、根底に流れる思想のような部分では共通するものがあります。その最たる部分が、再利用可能なコンポーネントとしてのソフト、と言う考え方です。これはもうずっと前から…

Spring Dynamic Modules 1.1.0とSpringSource Enterprise Bundle Repositoryに対応したバージョンのPax-Constructスクリプト

Spring Dynamic Modulesの新バージョンがリリースされたので、以前書いた、Spring-OSGiプロジェクトひな型作成用スクリプトを書き直しました。SpringSourceのバンドルレポジトリを利用して、既存ライブラリのラッピングをしないで済むようにしてあります。Pa…

SpringSource Enterprise Bundle Repository

既存のライブラリをOSGiで利用する場合、バンドルとして利用できるようにメタデータを付加する必要があるが、このレポジトリにはその作業をすでに行なった状態で、よく利用されるライブラリがOSGiバンドルとして公開されている。非常に便利。Mavenのdependen…

AOP in Spring Dynamic Modules

どうやら「隠れた依存関係」、つまりアドバイスを実行するために必要な、非明示的に依存してるパッケージは、自分で探してインポートするしか無いらしい・・・面倒くさい。

Equinox p2

OSGiのプロビジョニングシステムとしていいかもしれない。

Aspect Oriented Programming

AOPの概念自体は割と分かりやすいが、これをOSGiの世界に持って来るとかなりややこしくなる。バンドルをまたいだアスペクトの適応でまだ問題がある・・・

[OSGi][Spring Framework] OSGi + Spring-DM = High Cohesion + Low Coupling

Cytoscapeは、Version 3からOSGiベースのアプリケーションになります。ユーザー側から見て大きな変化はありませんが、プラグインを書いて独自の解析を行なおうと言う場合などには、色々と新しい概念を憶えなくてはならなくなります。最初は面倒かもしれませ…