Strategische Ziele
Technologiestandard
Skalierbarkeit
Reinvent the Wheel?
Produktivität und Qualität
Lebenszyklus
Der Unterschied!

Anwendungssysteme benötigen deutlich längere Lebenszyklen als die Basistechnologien. Entwicklung und Wartung müssen überwiegend der Anwendungsfunktionalität dienen, nicht der technologischen Anpassung!  


Dieses Ziel kann nur durch eine Entkoppelung/Kapselung der Basistechnologie erreicht werden.

JCoffee kapselt die Basistechnologie und sorgt damit dafür, dass im Zuge der technologischen Evolution einzelne Bestandteile der Funktionalität durch neuere oder andere Implementationen ausgetauscht werden können, ohne hierbei Anpassungen der darauf aufbauenden Anwendungssysteme zu erzwingen. JCoffee erreicht dies durch ein langfristig kompatibles API (Application Programming Interface) , über welches im Laufe des Software-Lebenszyklus einerseits erweiterte und neue Funktionen verfügbar gemacht werden, andererseits aber auch die Kompatibilität der bestehenden Funktionalität gewährleistet bleibt.

Ein kleines Beispiel soll dies veranschaulichen: gestern EJB2, mit EJB3 alles neu?

Zwischen der letzten EJB-Spezifikation in Version 2 (EJB2) und der jüngst offiziell freigegebenen EJB3-Spezifikation gibt es umfassende API-Brüche. Faktisch ist EJB3 eine in weiten Teilen neue Spezifikation. Zwar sagt die EJB3-Spezifikation, dass das komplette EJB2-API auch langfristig unterstützt bleiben soll, dies bedeutet aber nur die Festschreibung des Status Quo bestehender EJB2-Anwendungen. Neue Entwicklungen mit EJB3 sehen auf technologischer Ebene vollkommen unterschiedlich aus. Für bestehende EJB2-Anwendungen bedeutet dies, dass sie zu "Legacy" werden, die über kurz oder lang mit erheblichem Aufwand auf EJB3 umgestellt werden muss, oder aber sich mittelfristig vom weiteren technologischen Fortschritt (der nur noch in EJB3ff stattfinden wird) abkoppelt. Und nach EJB3 werden innerhalb des Lebenszyklus eines großen Anwendungssystems sicherlich noch mehrere weitere Generationen/Nachfolge-Technologien das Licht der Welt erblicken. Dies ist natürlich kein Java Enterprise spezifisches Phänomen, sondern eine Art "IT-Naturgesetz", welches alle relevanten Technologien gleichermaßen betrifft.

JCoffee-Anwendungskomponenten nutzen die Leistungsfähigkeit der EJB-Technologie, sind aber von dem oben beschriebenen Technologiebruch kaum berührt. Wie das? Der Anwendungscode ist technologieneutral. Die technologischen Bestandteile werden aus dem XML-basierten Metamodell der Komponenten generiert. Mit einer einfachen automatischen Neugenerierung der Anwendungskomponenten in die Zielumgebung EJB3 werden damit aus bislang auf EJB2-Technologie basierenden Komponenten echte EJB3-basierende Komponenten. Der technologieneutrale Anwendungscode muss hierbei nicht angepasst werden! "Legacy" entsteht damit erst überhaupt nicht und die nun EJB3-basierenden Anwendungskomponenten sind wieder auf dem aktuellen Stand der Technik!

Sie meinen, das klingt doch wie MDA (Model Driven Architecture) ?

Ja und nein. Das Grundprinzip ist MDA. Die Umsetzung allerdings ist pragmatisch und praxisorientert! Wir erheben nicht den Anspruch noch glauben wir an dessen Erfüllbarkeit zum jetzigen Zeitpunkt, dass aus einem völlig abstrakten Modell komplexe praxistaugliche Anwendungssysteme in unterschiedlichste Zielumgebungen generiert werden können. Unser Fokus liegt klar auf der Generierung aus dem jeweiligen Komponenten-Metamodel für Java Enterprise als Zielplattform. Damit können wir auch alle in großen Projekten i.d.R. erforderlichen allgemeingültigen Funktionen als Basiskomponenten zur unmittelbaren Wiederverwendung anbieten, die tatsächlich in ihrer Implementierung (nicht in Ihrer Nutzung durch die Anwendungssysteme!) sehr plattformspezifisch sind. Nur durch Nutzung der Plattformspezifik durch das JCoffee Framework selbst (noch einmal: nicht durch die Anwendungssysteme, diese bleiben technologieneutral) können hier schlussendlich unter Performance- und Stabilitäts-Gesichtspunkten praxistaugliche Lösungen entstehen.

Die Interoperabilität und Integration der so entstandenen Java Enterprise Anwendungen mit anderen Technologien ist hiervon natürlich in keiner Weise eingeschränkt. Im Gegenteil: Interoperabilität und Integrationsfähigkeit sind ein geradezu herausragendes Merkmal von Java Enterprise basierten Anwendungssystemen.

JCoffee macht den Unterschied!

Zurück zur Übersicht der strategischen Ziele.