読者です 読者をやめる 読者になる 読者になる

OSGi

モジュラリティを考える

ソースコードの分かりやすさは、「単一責務の原則」と「関心毎の分離」により適切に構造を分割した、バランスのいいところにあると前のエントリに書いた。では、そこにモジュラリティが加わるとどうなるだろうか。モジュラリティとは、システムを幾つかのモ…

OSGiについての最初の一歩のドキュメントを書き始めました。

GW中にOSGiのチュートリアルというか、最初の一歩を書き始めました。 http://kompiro.org/osgi/ そのうち、もう少し踏み込んだ概略を書くつもりです。

QConTokyo 2010に登壇させていただきました。

QConTokyo 2010に登壇させていただきました。InfoQの翻訳業をする傍ら、このネタがQConにないのはもったいない、と直談判してお話させていただいたのが真相なので、他のスピーカーとは毛色が違います。でなければ、自分が登壇できるはずもないイベントですか…

モジュール化によるコラボレーション

先日翻訳した、Jeff氏のインタビューの中では、モジュール化によるコラボレーションについて軽く触れられています。広い意味でとらえれば、SOAなど、分散システムも大きなモジュールと言うこともできるでしょう。しかし、OSGiのように、一つの環境の中に閉じ…

OSGiとEquinoxを効果的に使う - Jeff McAffer氏とのインタビュー

少し前になりますが、EquinoxのプロジェクトリーダのJeff McAffer氏にJames Sugrue氏がインタビューした記事が、DZoneに上がってました。で、内容があまりに面白かったので、こそっと翻訳しました。DIを考慮したプログラミングモデルがbundle開発にとてもマ…

再利用の二つの軸

ゆうすけさんから聞いた、モジュール指向開発の「再利用の二つの軸」が素晴らしかったのでまとめます。ただ、ブログに書いている時点で、自分がモジュール指向開発を進めている経験もあって、その考えも練り込まれてしまっているので、その辺りはご了承を。…

DynamicImport-PackageディレクティブとEquinoxのBuddy Class Loading

GroovyのBundleを見て驚いたのが、MANIFEST.MFに DynamicImport-Package: *と書かれていたこと。これを見て頭がクラクラした。 何が問題? こう書かれてしまうと、OSGi実行環境上で動いているBundleがExport-Packageで宣言しているパッケージのクラスに全てア…

OSGiがエンタープライズアプリケーションに与えるインパクト

Eclipseベースのツールを開発し始めてから3年近く立ちました。1年半くらい前に、SeasarプロジェクトでOSGiサポートをしないのはなぜだろうと、はてダに書いたところ、OSGiはプラットフォームを構成するにはとてもよい仕様だけれど、Webアプリケーションには…

Declarative Serviceとは?

OSGiのサービス連携にはいくつかの方法がありますが、今日はDeclarative Service(通称DS)を見ていきます。 Declarative Serviceとは Declarative Serviceとは、端的にいうと、そのBundleが提供するサービス/利用するサービスをXMLに記述するBundle間のサービ…

Pax Constructを使って、Web Consoleを立ち上げてみる(その2)

HTTP Serviceが立ち上がった事を確認した後は、Web Consoleを入れてみましょう。下記の二つのBundleを、pax-import-bundleを使って追加してみてくだし。 <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.osgi.compendium</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.…</artifactid></dependency>

Pax Constructを使って、Web Consoleを立ち上げてみる(その1)

今度はPax Constructを使ってFelix Web Consoleを起動するところまでやってみた。Felix Web Consoleについて触れると、稼働中のOSGiコンテナの状況をブラウザを使ってみることができます。 例えばServiceの稼働状況、参照関係、とかもみられます。Felixを起…

Pax Examの使い方

Pax Constructの次はPax Exam、ということで試してみました。今回はを参照しながらやってみました。 Pax Examの目的 Pax ExamはOSGi環境における試験用の環境を構築してくれるものです。*1例えばPax Examを用いてベースとなるOSGiコンテナを切り替えてもBund…

Pax Constructの使い方

Pax ConstructはOSGi bundleの作成や、ビルド等々を助けてくれるスイスアーミーナイフと紹介されています。これからOSGi Bundleを作成するのに便利そうですね!ということで、試してみました。Pax系のツールはMaven2と組み合わせる事で有効にプロジェクトの…

OSGi勉強会#2を開催しました。

今月初め、OSGi勉強会を東京でやるよー。と英語でつぶやいてみたところ、Neil Bartlettさんから、年末に日本に行くから、トークする場所ないかい?という返信をいただき、準備期間が3週間ない中、開催しました。Neilさん、奥様の里帰りで日本に来られた、と…

OSGi勉強会【急遽明日12/8】

もう一本告知です。明日OSGiの勉強会をやります。たぶんOSGiって何がうれしいの、とか、何ができんの?それ。とか、こんなことできるん?とか、ざっくばらんに語る会になりそうです。Spring DMの話もあれば、Eclipse RCPやらEquinoxやらの話になりそう。人数…

業務システムで使うSpring Dynamic Modulesを発表してきました!

今回のテーマは「クラウド」という事でしたが、空気を読まずに熊沢先生の「Modularityを考える - 複雑系のアーキテクチャ」への自分の考えを発表してきました。多分に電波を含んでいたので、質問されるとしどろもどろになっていましたが、今回伝えたかった「…

Spring勉強会 2009年11月19日で話します

今年最後(と言われている)Spring勉強会で話をします。テーマはクラウドでしたが、8月の勉強会で熊澤さんが講演してくれた「Modularityを考える - 複雑系のアーキテクチャ」を聞いて、なぜソフトウェアにModularityが必要なのか、もんもんとしていたものをは…

とうとうJSR277 Java Module SystemにOSGiが組み込まれますか

JavaOne2008で取り上げられたようですね。といってもモジュールリポジトリの話で、JAM、OSGiバンドルそれぞれのモジュールリポジトリがJDKに組み込まれるということのようです。少し前からJava Module Systemとモジュールリポジトリがシステム的に分離し、JA…

OSGiをサポートするとうれしいと思うところ

koichik氏からまたまたコメントをいただきました。ありがとうございます。改めて考えてみるとDIコンテナとOSGiコンテナは違ったレイヤの話だと気づきました。個人的にはOSGiを使うということはパラダイムシフトを起こせるくらいアプリケーション開発に影響を…

SeasarがOSGiをサポートするとうれしいところ

koichik氏からコメントを頂きました。Seasarはほんとにまったく使ったことがSeasarがOSGiをサポートするとどんな人がどううれしいか語れとの事なんで、語ってみます。S2Containerはほとんど使ったことがないため、「違うよ」ってツッコミポイントは多々ある…

なんだかOSGi祭りのにほひがする。

えーっと、自分の気の抜けている間にOSGi関連で結構でかい動きがありましたね。JSR277にも乗っかりそうな雰囲気でてきわ、SpringSource Application PlatformにはEquinoxだわってな感じでだんだんと勢いがついてきたきがしますなー。4月になってOSGi関連のエ…

Service Mix Kernel

Service Mix KernelはApacheで開発されているOSGiコンテナらしいです。OverViewを見ただけだとFelixとどう違うのかわかりませんでした。内部ではFelixを使ってますし。 ServiceMixはオープンソースのESBとして開発されてきましたが、次バージョンの4でOSGiコ…

依存関係を可視化するツール群

PlanetEclipse経由で知ったんですが、GMFを使ってOSGiのBundleの依存関係を可視化するツールができたんですね。ちょっと試せていませんので操作性とかは判りません。みてみた感じ、あるBundleをOSGiの実行環境にインストールして、startすると出力されるファ…

GlassFishもOSGiが採用されるようですね。

GlassFish v3もOSGi上で動くようになるらしいですね。 http://blogs.sun.com/dochez/entry/glassfish_v3_runs_on_osgiApache FelixやKnopflerFishが出ているのにEquinoxが出てこないのがさすがとは思うんですが、Javaで作られたAPサーバーにOSGiが組み込まれ…

タイムスリップするのでメモ。

僕自身がただいまウィルスにやられているようです。3回お休みケテーイなので軽くメモを残しておこう。 Platform.isRunnable() BundleClassNameIterator 以上。

OSGiのうれしさを擬人化してみる

相変わらず体調はよろしくないので、軽めに。(でもタイトルは結構重い気が…。)OSGiって何がうれしいか考えてみてるんですが、一つはその場にインストールされている「サービス」をトラッキングできることがうれしいんじゃないかと。ということで、こんな状況…

海の向こうではOSGiに風がふいている

DZoneでもOSGiZoneが新たに開設されました。昨年末にOSGiのpresentationがJavaPoli2007というところで行われましたが、それがきっかけで開設されました。http://osgi.dzone.com/ただいまOSGiZoneのリーダーは暫定でSebastien Arbogastさんがなっていますが、…

稼働中のEclipseのOSGiコンソールを見ることのできるビュー

全世界のEclipseプラグイン開発者が待ちに待っていたであろうプラグインがついに公開されました。というか、正直今までPDEに含まれていなかったのが不思議。 プラグイン開発をしていると、時たまプラグイン同士の依存性に悩まされることがあります。なんか良…

Spring Dynamic Modules 1.0 がリリースされてます

以前JSUGの勉強会で話させていただいたSpring Dynamic Modulesが正式版としてリリースされました。1.0リリース前に触ったときの資料ですが、貼っときます。 | View | Upload your ownただねー。リリース前のものだったから仕方がないのかも分かりませんが、…

こういうの待ってたんだ!

http://buglabs.net/products ごめ。超期待。このBUGっていうものはハードウェアモジュールを追加したり削除できるもんです。ユーザーは何でもプログラミングできるハードウェアだとうたってます。製品を最終的に組上げるのはユーザーだと。もう大好きです。…

SpringDynamicModulesの資料公開

再度アップロードしてみたら5分とかからずにあがったよ。 | View | Upload your own表示がおかしいのはなんとかならないのか。とりあえず見にくいですが、表示できていないよりはましだと思うので、公開してみますかね。

Spring Dynamic Modules を試す

金曜日にJSUGでSpring Dynamic Modulesについて話をさせていただく。それで資料を作るためにせっせと環境を作ったり動かしたりしていたらそっちが面白くて資料がまったくできていない罠。ある人からは「カタログスペックだけでも良いんじゃない?」と言われた…

-clean

Eclipseの起動オプションに-cleanというものがある。このオプションはプラグインのキャッシュを掃除してくれるとヘルプには書かれているのだけれど、実際にどこを消してくれるのかわからなかった。てっきりECLIPSE_INSTALL_FOLDER/configuration以下をばっさ…

ごめんなさい。まつがったこと書きました。

Androidは別にOSGiベースではないのですね。OSGiがのっててもおかしくないって言って騒いでいるだけでした。Android自身のプラットフォームはLinuxで、その上にDalvikっていうJavaの言語互換VM(クラスファイルが動いているわけではないので、こう表現しまし…

Eclipseが起動時にpluginsフォルダをロードできる訳

どうもOSGiの規格ではフォルダを指定してBundleをロードするようなものが用意されていない様子。追っかけてみるとorg.eclipse.update.configuratorでロードしている。このプラグインは更新サイトの管理の責務も負っているのでものすごく妥当。そうだとすると…

Spring Dynamic Modules RC1

SpringFramework 2.5リリース記念勉強会に発表者として参加することになりました。ねたはSpring Dynamic Module(Spring OSGi Integration)。2.5リリースに同梱されていると思いきや、実は別プロジェクトとしてリリースされる予定という罠。昨日RC1がリリース…

コラボレーションをもっと簡単にできないか

昨日に引き続き書いてみる。なんとなーくだけど、OSGiを使うとオープンソースなアプリケーションよりももっと簡単にコラボレーションする環境を作れる気がするんだ。現にEclipse Projectには多くの開発者が集まっている。OSGiの利点は一つ一つのBundleが基本…

OSGiのコンポーネントモデルがもたらすコラボレーション

OSGi好きな僕は思う。OSGiのコンポーネントは複数のプログラマがコラボレーションして作業するための環境として、現状一番優れているのではないかということを。Eclipseの場合は拡張ポイントレジストリをOSGiのサービスとしてOSGiフレームワークへ登録してい…

モジュール化を考える

もっと単純に考えられないものかなぁ。 分割するのが大変だ!みたいな論調が大勢を占めますが、 もともと小さく分けておけばそんなに悩まないですむのではなかろうか。モジュールに小さく分けておくと、 みんなのアイディアを組み合わせるのが簡単に実現でき…