Java

OSGi Application Architecture and Development

Die von der OSGi Alliance definierte Softwareplattform bietet eine leichtgewichtige Umgebung, um Applikationen bestmöglichst zu modularisieren. Durch den an sich kleinen Footprint der Plattform empfiehlt sich OSGi als Grundlage jedes Produktes, das Ansprüche an vielseitige Ausprägung, Wartbarkeit, unterbrechungsfreien Betrieb oder einfach nur klare Schnittstellen hat. Sei dies für Software auf Embedded  Plattformen, Mobilen Geräten oder im Enterprise Umfeld.

Die Erfahrung zeigt, dass die Grundlage für gutes Gelingen in solchen IT-Projekten  eine Softwarearchitektur ist, die den Grundsätzen von OSGi treu bleibt.

Wir bieten professionelle Dienstleistungen für alle Projektphasen im Umfeld von OSGi:

  • Ermittlung der geeigneten OSGi-Plattform
  • Definition der Systemarchitektur
  • Definition der Softwarearchitektur
  • Gestaltung und Entwicklung von OSGi-Anwendungen

Die object XP AG bewegt sich seit mehr als zehn Jahren im Umfeld von OSGi. Dank dieser  Erfahrung verfügen wir über tiefgehendes Know-how der OSGi-Technologien und verschiedenen Produkte aus dessen Umfeld.
Wir bringen dieses Wissen als Teamplayer in Ihre bestehendes Entwicklerteam oder übernehmen die Entwicklung von Services und ganzen Applikationen als Auftrag.

Network APIs

Das Bereitstellen von ausgewählten Daten für Partner und Kunden gewinnt zunehmend an Bedeutung. Natürlich muss die Sicherheit stets gewährleistet und Erweiterungen leicht und schnell realisierbar sein.
Für solche Schnittstellen zu Ihren Anwendungen und Diensten erarbeiten wir mit Ihnen entsprechende Konzepte und helfen bei der Umsetzung.

Unsere Erfahrungen haben wir im Umfeld von firmenübergreifenden Enterprise Applikationen wie auch mit technisch vielfältigeren Geräten in der  Hausautomation, Kundeninformation oder Mobilkommunikation machen dürfen. Wir sind im Internet of Things zuhause.

In diesen Projekten kamen Technologien wie Web Services, REST, XML oder JSON zum Einsatz.

Build Automation, Automated Testing, Continuous Integration

In verschiedenen Projekten war es unsere Aufgabe, den Software-Build-Prozess und das Testing zu automatisieren. Dabei waren zum Teil komplexe Anforderungen durch unterschiedliche Konstellationen von Ziel-Plattform, Frameworks, Produkt- und Projektspezifische Komponenten sowie Konfigurationen zu lösen.
Wir konnten stets die für den Kunden passende Lösung finden und implementieren.

Wir setzen dafür auf Produkte wie Apache Ant, Gradle, Jenkins, jUnit oder Selenium.

jSMS based Messaging Services

jSMS ist eine Eigenentwicklung der object XP AG und bietet ein einfaches API zum Senden und Empfangen von SMS/MMS Nachrichten. Es unterstützt eine breite Auswahl an darunterliegenden Kommunikationsprotokollen. jSMS wird auch von international tätigen Telcos eingesetzt.

Es bietet eine ideale Grundlage für Projekte im Bereich Mobile Messaging. Solche Applikationen können Nachrichten versenden oder empfangen, auswerten und Aktionen ausführen. So wurde jSMS beispielsweise in einer Voting Applikation eines Grossanlasses mit internationalem Publikum eingesetzt.

Performance Analysen und Optimierungen

In der Regel werden Applikationen zunächst ohne Rücksicht auf Performance erstellt. Es ist auch natürlich, dass verschiedene Entwickler unterschiedliche Wege  zur Lösung von Aufgabenstellungen einschlagen. Die Vielfalt der Programmierstile wird oft noch grösser,  wenn die Applikation weiterentwickelt und ausgebaut wird.
Je nach Art der Last kann es dann zu CPU- oder Speicherengpässen kommen, im schlimmsten Fall geht der Speicher sogar aus (OutOfMemoryError).
Wir können in solchen Fällen helfen, problematische Codestellen zu identifizieren um gewünschte Verbesserungen vornehmen zu können. Mit Hilfe allgemein zugänglicher Profiling Tools und durch die Analyse von Thread Dumps lassen sich Engpässe und Ressourcenfresser finden. Die Korrekturen danach sind meist relativ einfach zu machen.
Voraussetzung für die Analyse und anschliessenden Korrekturen sind zuverlässige Testfälle. Erst dadurch lässt sich auch schliessen, dass die Korrekturen erfolgreich waren.