Archive for the ‘osgi’ Category

maven, osgi-bundles and eclipse-plugins – Part I

Thursday, November 26th, 2009

Developing OSGi bundles or eclipse plugins, features, updateSites, products or fragments within eclipse and the PDE is excellent. Headless build automation and dependency management for java based projects is also excellent with maven from Apache.

But the combination of maven based builds and eclipse development was till recently awful.

Since some days ago the brand new maven 3 alpha 4 and the new tycho 0.5.0 are available for download.

With these two new versions it’s more easier to enable headless eclipse or OSGi bundle builds based on maven. Included is also, e.g. target platform management and P2 integration.

Thanks to the people from sonatype for this great work.

I will describe in some more posts, the steps on migrating existing eclipse builds to maven.

Hardware und Betriebssystem

Wednesday, April 29th, 2009

Zwar mit einigem an Verspätung, dafür jedoch mit den ersten Erkenntnissen, folgt der zweite Teil dieser Blog-Serie.
Als Grundlage für meine Untersuchungen und Versuche, wird mein alter Laptop eingesetzt, welcher nur noch mit viel Vorsicht zu bewegen ist. Es handelt es sich um ein Amilo A1650. Dieser hat folgende Leistungsdaten:

  • Mobile Athlon 64bit 3700+
  • 1GB RAM
  • 100GB Festplatte

Auf dem Notebook werden die meisten Entwicklungstätigkeiten und auch die ersten Tests durchgeführt.

Als Betriebssystem wird selbstverständlich ein Linux eingesetzt :)
Die eingesetzte Distribution ist ein gentoo, mit einem aktuellen Kernel, Stand 29.04.09-Kernel 2.6.29.1.
Warum gentoo? Obwohl gentoo als nicht sehr stabil und dafür umso komplizierter gilt, war es für mich die richtige Wahl. Man hat die Möglichkeit es komplett individuell einzurichten, man installiert nur das was man wirklich benötigt, der portage(Paketverwaltung von gentoo) stellt eine Vielzahl an Anwendungen zur Verfügung, es hat eine riesige Community und, der für mich wichtigste Grund, damit kenne ich mich recht gut aus!

Als Kernel-Sources worden die vanilla-sources aus dem Portage gewählt. Dies entspricht den ganz normalen Kernel-Sources, welche auch von kernel.org zu erhalten sind. Mein bestreben ein RTOS aufzubauen, hat mich von den eigentlich empfohlen gentoo-Sources entfernt. Da diese bereits mit verschiedenen Patches ausgeliefert werden, und ich mit einen möglichst reinen Kernel arbeiten möchte, erschien mir diese Entscheidung als sinnvoll.
Tools welche ich nicht mehr missen möchte:

  • gentoolkit (beinhaltet wichtige gentoo tools)
  • eix (vereinfacht den Umgang mit den Paketen – suchen, durchsuchen, aktualisieren)
  • htop (wesentlich schönere Alternative zu top)
  • denyhosts (beobachtet den ssh-Port – hilft beim Umgang mit BruteForceAttacken)
  • ccache (cached Compileergebnisse => Re-Compiling erfolgt schneller)
  • weitere folgen bestimmt….

Um ein RTOS auf Basis eines Linuxsystems zu errichten, gibt es viele verschiedene Möglichkeiten. Da dies ebenfalls ein sehr umfangreiches Thema ist, bietet es sich an dieses extra zu behandeln und einen weiteren Blogbeitrag zu erstellen. Dieser folgt in Kürze. Letztendlich habe ich mich für Ingo Molnars RT-Patch entschieden.

Um möglichst realistische Echtzeitanforderungen stellen zu können, wird auf zwei CAN-Adapter zurückgegriffen, welche per USB an dem Laptop angeschlossen sind. Der eine ist der PCAN-USB Adapter der Firma peak-system und der andere ist ein UConnect-CAN XE-164. Das Einrichten und erste Tests mit diesen beiden Adaptern, folgt ebenfalls in einem gesonderten  Blogbeitrag.

Aller Anfang ist schwer…

Tuesday, April 7th, 2009

Das OSGi in letzter Zeit immer mehr in das Geschäftsumfeld vorgedrungen ist, ist sicherlich bereits vielen aufgefallen. Ursprünglich jedoch wurde es für den embedded Bereich konzipiert. Auf Grund beschränkter Ressourcen ist der Einsatz einer modular aufgebauten Software prädestiniert für eingebettete Systeme. Ausgehend von der embedded-Idee, wird im Zuge einer Masterarbeit OSGi nun auf seine Echtzeitfähigkeit hin untersucht.

Um überhaupt eine Echtzeitanwendung mit Java erstellen zu können, reicht es nicht aus auf eine Standard-JVM zurückzugreifen. Bereits im November 2001 wurde daher ein erster Standard(JSR-001) im Zuge eines Java Community Prozesses entwickelt und im JSR-282 noch einmal überarbeitet.

Betrachtet man den modularen Gedanken von OSGi steht er im ersten Moment konträr zu einer komplett durchgeplanten Echtzeitanwendung. In wieweit ist es möglich asynchrone und ‘unwichtige’ Nichtechtzeittask (Interaktionen des Nutzers, Darstellung von Messwerten…) von Echtzeittask zu trennen. Ist es überhaupt möglich harte Echtzeit zu garantieren, wenn ja, was ist notwendig, wenn nein, warum nicht. Oder von der OSGi-Seite betrachtet, können die Standardservices in einem Echtzeitumfeld bedenkenlos genutzt werden.

All diese Fragen, und sicherlich noch viele mehr, sollen in den kommenden Wochen geklärt werden. Über Ansätze, Probleme und Erkenntnisse wird an aktueller Stelle weiter berichtet. Teil 2 folgt bereits kommende Woche mit der Thematik: Eingesetzte Plattform und weitere Planungen

Auftakt zur Vortragsreihe Leipzig

Thursday, February 26th, 2009

Am letzten Dienstag war es nun endlich soweit. Am Standort Leipzig sind wir mit der Vortragsreihe gestartet. Was sich an anderen Standorten bereits zu einer verlässlichen Institution etabliert hat, wollen wir mit dem Leipziger Team hier fortsetzen.

Das Auftaktthema bildete Eclipse RAP: Rich Clients im Web, bei dem wir gemeinsam mit unserem Partner und Kunden IBYKUS AG von den gemachten Erfahrungen beim Einsatz dieses AJAX Frameworks berichtet haben. Mit rund 20 Teilnehmern empfinde ich den Auftakt als gelungen.

Für alle Interessierten, die nicht an der Veranstaltung teilnehmen konnten hier die Vortragsunterlagen:

Das nächste Event ist für Mitte/Ende April geplant. Aller Voraussicht nach wird es sich dann um das Thema OSGi drehen.