タグ

osgiに関するnobeansのブックマーク (62)

  • A Recap on OSGi - Why and How? - DZone

    Over the past several months, I’ve written quite a few blog entries about OSGi. Here’s a recap of those entries. If you’re not familar with OSGi, the posts under How OSGi might be of interest. If you’re familar with OSGi, but aren’t clear how it can help, the posts under Why OSGi will be of interest. And if you want to get a sense for where OSGi stands in the market today, the posts under OSGi Mar

    A Recap on OSGi - Why and How? - DZone
    nobeans
    nobeans 2010/04/06
  • OSGi Best and Worst Practices

    Editor's NotesJeff Jeff Don’t be too surprised OSGi is rather elegant It is minimalist and unpresumptious This is awesome as it keeps system size down But it is a system's level programming model. - APIs are low level - Dynamics are hard, cause, well, dynamic stuff is hard and there is not a lot of help Fundamentally, OSGi is an implementation detail, an enabling element.  For most people is

    OSGi Best and Worst Practices
    nobeans
    nobeans 2010/03/27
  • Bundle.update: NetBeans と OSGi

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Bundle.update: NetBeans と OSGi
  • InfoQ: Modular Java:動的なモジュール化

    これからの当然の結果として、同じ名前の異なった Classオブジェクトを持つVM中に、複数のクラスローダを持つことができる、ということである。com.infoq.example.Appという名前のクラスを、同じVM上のバンドルcom.infoq.exampleのバージョン1とバージョン2の両方によってエクスポートできる。バージョン1にバインドされたクライアントバンドルは、バージョン1のクラスを得る。バージョン2にバインドされたクライアントバンドルは、バージョン2のクラスを得る。このことは、モジュールシステムにかなり普通に起きることである。同じVM上で、あるコードは、ライブラリの古いバージョンをロードする必要があり、一方(他のバンドルにある)新しいコードは、ライブラリの新しいバージョンが必要な場合である。幸いにも、OSGiは、そのような推移的な依存性を管理し、非互換なクラスに起因する問題がな

    InfoQ: Modular Java:動的なモジュール化
    nobeans
    nobeans 2010/03/01
  • SpringSource dm Server™ Programmer Guide

  • 5. The Web Admin Console

    nobeans
    nobeans 2010/02/26
    これ便利
  • Apache Felix Maven Bundle Plugin (BND) :: Apache Felix

    This plugin for Maven 2/3 is based on the BND tool from Peter Kriens. The way BND works is by treating your project as a big collection of classes (e.g., project code, dependencies, and the class path). The way you create a bundle with BND is to tell it the content of the bundle’s JAR file as a subset of the available classes. This plugin wraps BND to make it work specifically with the Maven 2 pro

  • Pax Examの使い方 - Fly me to the Luna

    Pax Constructの次はPax Exam、ということで試してみました。今回はを参照しながらやってみました。 Pax Examの目的 Pax ExamはOSGi環境における試験用の環境を構築してくれるものです。*1例えばPax Examを用いてベースとなるOSGiコンテナを切り替えてもBundleが読み込まれるかとか、Bundle間連携がうまくいくかとか、そういうテストを行います。個々のBundleに閉じたテストも行うことはできますが、それは通常のJUnitを使ったテストで十分です。なぜなら、個々のBundle単体でみた場合、JARファイルと大きな違いはないからです。Pax Examは、開発されたBundleを統合して、システムテストを行う環境として開発されたのでしょう。それでは手順をみていきましょう。 Pax Exam環境を構築する まずPax Exam環境を構築しましょう。Pax

    Pax Examの使い方 - Fly me to the Luna
    nobeans
    nobeans 2010/02/25
    PaxExamすげーー
  • Pax Construct - Quickstart

    Getting Started Quickstart Settings Wiki/FAQ Examples Spring DM Script Help pax-create-project pax-add-repository pax-create-bundle pax-import-bundle pax-embed-jar pax-wrap-jar pax-provision pax-create-module pax-move-bundle pax-remove-bundle pax-update pax-clone M2 Plugins maven-pax-plugin maven-inherit-plugin Mailing List general@lists.ops4j.org Issue Tracking http://issues.ops4j.org To use Pax-

  • Pax Constructの使い方 - Fly me to the Luna

    Pax ConstructはOSGi bundleの作成や、ビルド等々を助けてくれるスイスアーミーナイフと紹介されています。これからOSGi Bundleを作成するのに便利そうですね!ということで、試してみました。Pax系のツールはMaven2と組み合わせる事で有効にプロジェクトの補助をしてくれるそうなので、Maven2のインストールは忘れずに。MavenizeされたOSGiプロジェクトが作られていく感じなんでしょうね。 プロジェクトのページはこちら。最新は1.4です。 をまずやってみます。 Pax Constructはスクリプトなので、Pax Constructをダウンロード後、忘れずにPATHを通しましょう。 まずプロジェクト作ってみよう。 それじゃプロジェクトを作ってみます。pax-create-projectを実行します。パラメータを指定すると初期値の指定になるようですが、そのまま

    Pax Constructの使い方 - Fly me to the Luna
  • OSGiによるスーパアジャイルなエンタープライズ開発という未来 - 豆無日記

    ※タイトルは釣りだし、内容はほとんど妄想です。 SpringSource Tool Suite(以下、STS)というEclipseベースのツール*1を2〜3日程度使ってみたふと思ったこと。 STS上では、バンドルをOSGi上にインストールしたりアップデートしたりが簡単にできます。 バンドルがアクティブ状態のときにソースを修正してビルドすると、自動的にバンドルがアップデートしなおされます。この自動アップデートは、再ビルドしたバンドル自身とそれを利用するバンドルだけに限定されて行われます。ステキ。 ここで、バンドルの粒度についてid:kompiroさんが言われてるような、UNIXのコマンドライクな細粒度であると仮定すれば、自動アップデートにかかる時間はかなり短くなると予想されます。 少なくとも、Tomcatなどで普通のWebアプリのwar全体をデプロイし直すよりも全然早い。圧倒的に早いと言って

    OSGiによるスーパアジャイルなエンタープライズ開発という未来 - 豆無日記
    nobeans
    nobeans 2010/02/25
    ↓今朝、電車でホットデプロイとの関係を思いついただけなので妄想と書きましたが、STSは実際そのようなビジョンでやってるんですね。なるほど。ドキュメント読んだら書いてるのかな?
  • 5.2 Packaging

    nobeans
    nobeans 2010/02/24
    Web-ContextPathをつけるとバンドル起動時にエラーになってしまう件のための参考情報 (未解決)
  • SpringSource dm Serverの紹介 - 現場指向

    はじめに SpringSource dm Serverは、Springフレームワークの開発元のSpringSourceが提供するJavaのアプリケーションサーバーです。2008年9月に1.0がリリースされました。まだメジャーではありませんが、徐々に注目を集めてくると思います。今回の記事では、SpringSource dm Server(以後、dm Server)の概要を紹介します。網羅的な説明ではなく、主な特徴に絞って説明します。また、OSGI(dm Serverの基盤となる技術)を意識せずに説明しますので、OSGIの前提知識がなくても読むことができます。 dm Serverの特徴 dm Serverの一番の特徴は、プログラムのデプロイの単位を細かくできる点でしょう。従来のアプリケーションサーバーはプレゼンテーション層からデータアクセス層のプログラムを一括してデプロイします。そして、その単

    nobeans
    nobeans 2010/02/22
    dmプラグインが新しくなってるので今からやる人注意。SpringSourceのダウンロードページにupdate-siteが載ってます。あと、ビルドパスの設定に依存先プロジェクトを追加するのも忘れずに/sample-webが全く動作しなくて中断中
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Modular Java:それは何なのか?

    一般に、モジュールにはバージョン番号が割り当てられる。多くのオープンソースプロジェクトlog4j-1.2.15.jarのように名付けられたリリースをつくる。これによって開発者は、実行時の手動検査によってではあるが、オープンソースライブラリの特定のあるバージョンが使われているかどうかをクラスパスを調査することによって決定することができる。しかし、プログラムは異なるバージョンのライブラリに対してコンパイルされていることが多い:暗黙の仮定はlog4j-1.2.3.jarに対してコンパイルしてlog4j-1.2.15.jarに対して動かしても挙動としては互換性がある、ということだ。次のマイナーバージョンにアップグレードするだけなら一般には互換性がある(これが log4j 1.3 での問題が結果として互換性のない新しいブランチ 2.0を作り出すことになった理由である)。これらの多くは一般的に制約よ

    Modular Java:それは何なのか?
    nobeans
    nobeans 2010/02/22
    まとめ/"Javaはクラスローダと呼ばれるそれほど賞賛されてはいない機能を持っていて" さりげなく辛口
  • Bundle.update: モジュラリティの年

    原文(投稿日:2010/01/21)へのリンク 1年のこの時期になると、普通は休暇のため業界も一休みだ。にも関わらず、先日のBundle.updateから多くの出来事があったようだ。 dm ServerがEclipseへ移行 Virgoプロジェクトの提案はひょっとすると大きなニュースかもしれない。(詳細については 先週のニュース取り上げた)。ちょうど2.0.0がリリースされたが、この提案は2.1以降のリリースはEclipse傘下のプロジェクトとして開発され、配布される事を意味する。 既存のプロジェクトと新たな提案の違いのキーは、ライセンスにある。これは元々GPLの元、利用できたが、商用でより使いやすいEPLの元、利用できるようになる。移行の公開されているゴールではよりコミュニティの貢献を増やし、よりソフトウェア開発の事実上の標準になるよう後押しするとしている。 エンタープライズOSGiやd

    Bundle.update: モジュラリティの年
    nobeans
    nobeans 2010/02/22
  • InfoQ: Modular Java:静的なモジュール化

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    InfoQ: Modular Java:静的なモジュール化
    nobeans
    nobeans 2010/02/22
  • デブサミ2010で登壇させていただきました。 - Fly me to the Luna

    デブサミ2010で発表した資料を公開しました。OSGiのようなモジュールの基盤が、どうして必要で、Javaの世界ではOSGiがモジュール型のアーキテクチャとして現時点で最適な理由が理解していただけたのではないかと思います。「現時点」と書いたのは、実はJava7のリリースが遅れているせいで、モジュールの決定打が「これ」と言えない状況ではあるんです。ただ、OSGiはデファクトスタンダードと言えるくらい成熟しているので、今回登壇させていただきました。 どういう場面で有効なのか、取り上げてほしい、と言うことでしたので、それも取り上げていますが、大事なのは「こういう方法もある」と知っていることだと思います。 デモはオペミスしてうまくやれなかったのが悔やしいんですが、柔軟に動的に構成が変えられると言うのは、操作に面倒な面があると言うことでもあります。 そんなデモですが、作成したアプリケーションをgit

    デブサミ2010で登壇させていただきました。 - Fly me to the Luna
    nobeans
    nobeans 2010/02/21
    おつかれさまでした!
  • DynamicImport-PackageディレクティブとEquinoxのBuddy Class Loading - Fly me to the Luna

    GroovyのBundleを見て驚いたのが、MANIFEST.MFに DynamicImport-Package: *と書かれていたこと。これを見て頭がクラクラした。 何が問題? こう書かれてしまうと、OSGi実行環境上で動いているBundleがExport-Packageで宣言しているパッケージのクラスに全てアクセスできてしまう。せっかくBundleごとにアクセスをコントロールするための壁を作ったのに、Groovyエンジンを通して、全てアクセスできてしまう。これって、OSGiを使わない、クラスパスべったりの開発との違いがなくなってしまう。 解決策はあるの? 調べた感じ、解決できるのはEquinoxくらいしかなさそう。Equinoxは、DynamicImport-Packageを横断的に宣言できるEclipse-BuddyPolicyという宣言の種別があって、それを利用するとアクセスできる

    DynamicImport-PackageディレクティブとEquinoxのBuddy Class Loading - Fly me to the Luna
    nobeans
    nobeans 2010/01/30
    あえて"Groovyエンジンを通して、全てアクセス"させたいってことでしょうかね。Groovy側でメリットを失わないような何らかの落としどころはあるのかしら。うーん。
  • OSGiがエンタープライズアプリケーションに与えるインパクト - Fly me to the Luna

    Eclipseベースのツールを開発し始めてから3年近く立ちました。1年半くらい前に、SeasarプロジェクトでOSGiサポートをしないのはなぜだろうと、はてダに書いたところ、OSGiはプラットフォームを構成するにはとてもよい仕様だけれど、Webアプリケーションには過剰な仕様だ、と、とある方から答えられました。それからもずっとなんだかんだでOSGiと関わってきましたが、だいぶ状況も変わってきました。まずモバイルやEclipse以外の環境でも広くOSGiが使われるようになりました。そしてプラットフォーム以外での利用も考えられるようになりました。プラットフォーム以外での利用は、エンタープライズアプリケーションの開発モデルを変えるだけのインパクトを起こす可能性が見えてきたのでまとめてみます。OSGiについて、どういう技術か、気になる方はOSGiの記事を参照してください。 どんな分野でOSGiが使わ

    OSGiがエンタープライズアプリケーションに与えるインパクト - Fly me to the Luna
    nobeans
    nobeans 2010/01/22