RSS

N-Tier Struktur mit IBM Domino

In der modernen Software Architektur ist das Schichtenmodell (N-Tier) Standard und weit verbreitet. Die Vorteile liegen auf der Hand, da die Trennung von Präsentation, Logik und Datenhaltung auch eine horizontale Entwicklung begünstigt.
Die traditionelle Lotus Notes / Domino Entwicklung hat die Trennung von Präsentation, Logik und Datenhaltung bis jetzt nicht gefördert. Durch das Fast-Prototyping wurden sogar bewusst die Schichten übersprungen und die vertikale Entwicklung, sowie knappe Budgets haben eine saubere Trennung der Schichten stark behindert. Die logische Konsequenz war, dass Domino den Ruf bekam, nicht modern zu sein, keine N-Tier Struktur zu unterstützen. Automatisch wurde somit Domino von Architekten, die N-Tier als Muss-Anforderung definierten, gestrichen. Und dies zu Unrecht. Ich habe während meiner Programmiererzeit schon viele Anwendungen gesehen, die keine N-Tier Struktur besassen, aber auf Plattformen liefen, die als N-Tier Plattformen galten. Genau so habe ich einige Domino Anwendungen gesehen, die das N-Tier Architektur Prinzip passgenau umgesetzt hatten.
Mit dem neuen Relese 8.5.3 geht aber IBM konsequent den Schritt weiter, um diesen Missstand zu bekämpfen. XPages impliziert eigentlich eine N-Tier Struktur. Es ist jetzt nicht nur möglich Applikationen nach den N-Tier Architektur Prinzipien auf zu bauen, nein es ist sogar gewünscht.

Aber wie erreichen wir das? Hier einige Ideen dazu:

1. Verstehen, was Präsentation, Businesslogik und Datenhaltung bedeutet
2. Horizontale Entwicklung fördern
3. Definierte Schnittstellen zum Datenaustausch zwischen den Ebenen nutzen (zb. Präsentation zu Logik via JSON/REST, Logik zu NSF Store via NotesAPI)

Und vor allem darüber sprechen (und zwar mit dem neuen Vocabular)

 
Leave a comment

Posted by on February 18, 2012 in Domino, Java, XPages

 

Tags: , ,

IBM Domino ist in der Neuzeit angekommen

An einem Kurs für Fachvorgesetzte von Auszubildenden habe ich folgenden Satz aufgeschnappt und mir verinnerlicht: “Ihr müsst Euren Absolventen keine Prüfungsaufgabe in Form von ‘vergleiche Programmiersprache A mit B und bewerte welche besser ist’ stellen. Das Resultat ist von Anfang an klar”. Gespannt hatte ich auf die Antwort gewartet. Nach einer dramatischen Pause, dann die Erlösung: “Es ist immer die Sprache, die der Absolvent am Besten beherrscht”.
Eigentlich einleuchtend, und trotzdem absolut signifikant für die folgenden Ausführungen. Mir ist bewusst, dass ich vielen Lotus Notes Jüngern der alten Garde jetzt ziemlich Kopfschmerzen bereite, aber ich habe gelernt, dass der Blick in den Spiegel dann notwendig ist, wenn es nicht gut läuft.
Blicken wir ganz kurz in den Spiegel. Der Markt im Lotus Notes Sektor ist abnehmend. Neue, junge Entwickler zu finden, ist extrem schwierig und viele Verkaufsargumente für Lotus Notes Projekte sind hinfällig. Und wo liegt das Problem? “Schlechtes IBM Marketing” höre ich immer wieder, oder “Feature X, Funktion Y wurde nicht realisiert”. Nein das Problem ist leider 30cm vom Spiegel entfernt. Wir haben verpasst, dass die einmalige Sonderstellung von Lotus Notes / Domino von der Zukunft überholt wurde. Wir hatten über DesignPattern, MVC und 3 Tier Strukturen gelacht. Uns über Datenbankanbindungen amüsiert, Versionsabhängikeiten bewitzelt und uns hinter der Einmaligkeit von Lotus Notes versteckt, wenn es um neuartige Programmierung ging.
Und damit ist ein grosse Graben entstanden. Welche Programmiersprache ist die Beste? Die die ich gerade am Besten kann. An den Universitäten und Berufsschulen wurde JAVA, PHP und Integrationen mit mySQL unterrichtet. Junge Menschen lernten von der Basis her objektorientiert Programmieren, Businesslogik vom PresentationLayer zu trennen und das Thema Datenhaltung war in den Händen der RDBMS Fanatiker. Anstelle sich dieser Realität zu stellen, und das gute an den Denkstrukturen zu adaptieren, haben wir es als “Nicht Relevant” abgetan…. bis jetzt!

Aber der Domino Server ist in der Neuzeit angekommen. Vermutungen, die ich hatte, wurden an der Lotussphere bestätigt. Liebe Freunde, der Domino Server ist ein toller JAVA Application Server geworden, ohne die Schwerfälligkeit von Datenbankanbindung, komplexer Administration und unhandlichem Deployment. Nein, einfach ein RockSolid Server, der ein OSGi Layer hat, mit XPages ein auf JSF basierendes Presentation Framework, die Businesslogik kann in der Applikation direkt als JAVA Klassen abgelegt werden und dazu noch der beste dokumentorientierte Store, den man sich vorstellen kann.

Wenn wir jetzt noch das Vocabular der Neuzeit lernen und unseren Kunden selbstsicher die neuartige Architektur, sowie die Zukunftssicherheit des gesamten Framework erklären können, wird diese Plattform wieder hochattraktiv für junge, motivierte und innovative Entwickler. Und welcher Server ist der beste Server? Natürlich der Server, den ich am besten kenne.

Und eigentlich müsste das der Domino Server sein:
– Userverwaltung, Rollen und Rechtekonzept: DONE und bis auf Datenlayerimplementiert
– Anbindung an Storage: DONE (inkl. genialer Suchenginge)
– 3 Tier Struktur: Presentationlayer: XPages, BusinessLogik: JAVA, Storage: NSF
– Graphischer Desigern: Vorhanden.

Die Liste der Killerfeatures könnte ich noch erweitern (zb. offene Standards), aber passen wir das Vocabular an und sprechen wir die Sprache der Informatikmassen.

 
Leave a comment

Posted by on February 12, 2012 in Domino, Java, XPages

 

Persönliche Lotussphere Nachlese

Ja sie ist vorbei die LS 2012. Meine erste Lotussphere, die ich erleben durfte. Von meinen Arbeitskollegen wurde ich auf das Erlebnis vorbereitet und es wurde von den guten alten Tagen gesprochen. Immer wieder wurde ich von meinem Chef während der Lotussphere mittels “Achtung du bist jetzt Brainwashed” auf den Umstand der riesigen Begeisterung aufmerksam gemacht. Darum ist es wohl auch gut, dass jetzt über eine Woche vergangen ist, wir zu dritt durch Florida gereist sind, und wir Abstand gewinnen konnten, bis ich jetzt meine persönliche Nachlese schreibe.
Und trotzdem fällt meine Nachlese sehr positiv aus. Positiv in dem Sinne, dass IBM die Transformation von Lotus Notes und Domino sehr aktiv vorantreibt. Aber betrachten wir einmal das Big Picture. Während von 10 Jahren die Lotussphere der Ort für Lotus Notes/Domino Fans war, hat sich die Situation ganz stark verändert. Im Zentrum stand dieses Jahr (wie auch schon in vergangen Jahren) nicht ein Produkt oder ein Brand, sondern eine Denkweise. Vor einem Jahr wurde SocialBusiness als Zukunft proklamiert und dieses Jahr hat sich diese Denkweise etabliert. Laut Ronnie Maffa steht dabei vor allem der Mensch im Zentrum und alle Bemühungen in der Art und Weise wie Software, Social Software funktionieren soll, ist inspiriert von dem Verständnis des Menschen. So war es auch nicht verwunderlich, dass während dem Ausblick auf die Zukunft von IBM Connections der Mensch und nicht die Features des nächsten Releases wichtig waren.
“Wer den Menschen versteht, versteht auch, was wir als nächstes tun werden”, so Maffa.
Aber auf der anderen Seite scheint sich auch eine technische Revolution anzubahnen. Seid 4 Jahren wurde, wenn man den Releasezahlen glaubt von 8.5.0 bis 8.5.3 nur Minorreleases der Domino Plattform produziert. Schaut man aber dem Motor unter die Haube, entdeckt man einen radikalen Umbau. Nicht nur das, mit der Integration des XPages Framworks ist auch massive Veränderung im Bereich der Entwicklungsmethodik entstanden. Neue Releases und Erweiterungen zum XPageframework werden auf der Communityplattform von OpenNTF produziert und getestet. Alles was für die Plattform Lotus Domino wertvoll ist, wird dabei direkt mittels Upgradepack in kurzen Intervallen zum Produkt hinzugefügt und bekommt somit den Support von IBM. Dabei bleiben diese Elemente weiterhin OpenSource, d.h. Verbesserungen können durch die Community gemeldet werden und werden auch integriert.
Es gibt aber noch eine weitere Revolution. Pete Janzen, Produktmanager des Lotus Domino Designer wurde gefragt, was mit den Feature Request der Community die bezüglich den “alten” Lotus Notes Elemente gestellt wurden. Hätten die überhaupt eine Chance, bzw. könnte IBM nicht einmal ein paar Entwickler für das abstellen und nicht nur immer für das XPage Framework. Seine Antwort war sehr diplomatisch, seine Gestik und Mimik aber nicht. Ich versuche es einmal so auszudrücken: Jede Verbesserung, die XPage und dem neuen OSGi Kernel etwas bringen, kommen in den C++ Kernel rein. Das hat Pete Janzen so NICHT GESAGT, aber das habe ich bei verschiedenen Gesprächen und Sessions so rausgehört und interpretiert.
Wenn wir übrigens die Verbesserungen der letzten Releases angucken, dann scheint sich dies zu decken. Wenn wir schon bei OSGi sind, mir scheint, dass es IBM gelungen ist, innerhalb von wenigen Releaszyklen den Domino Server mit einem unheimlich starken Framework zu versehen, dass für die Zukunft wohl keine Fragen mehr offen lässt. Oder sagen wir es doch einfach mal salopp: Der Domino Server ist ein solid-rock-enterprise “JAVA” Server, mit einer mächtigen dokumentorientierte Datenstorage, der eine einfaches Deployment von Applikationen ermöglicht.
Für mich war die Message aus technologischer Sicht ziemlich deutlich: Java und XPages steht über allem!

 
Leave a comment

Posted by on January 29, 2012 in Domino, Java, XPages

 

Aber war Steve Jobs auch ein guter Lehrer?

Heute ist Steve Jobs als CEO von Apple zurück getreten. Wie wird es mit Apple weitergehen, ist die grosse Frage. Die Sorge hinter der Frage ist: “War Steve Jobs ein guter Lehrer?”

Warum ein guter Lehrer? Ist denn der Erfolg von Apple etwas, dass man unterrichten kann? Etwas, das jeder lernen kann. Dabei vergessen wir, dass Steve Jobs auch am Erfolg von Pixar beteiligt war (oder war er etwas der Grund für den Erfolg). Ist das was Steve Jobs macht reproduzierbar oder ist einfach nur “Glück” gewesen? Die Zukunft wird dies weisen. Nicht etwa die unmittelbare, sondern die Generation nach der aktuellen Führungsriege. Wenn es Steve gelungen ist, seiner Führungscrew die Prinzipien des Erfolgs zu vermitteln, dann besteht eine gute Chance, dass diese Crew die Prizipien an die nächste Generation weiter gibt. Und zwar so lange, bis es ein Teil der Genstruktur von Apple wird.

Ist aber Steve “nur” ein brillianter Führer gewesen, der seine Crew nicht unterrichtet hat, dann werden wir in der Zukunft sehen, wie diese Crew versucht die Methoden von Steve zu konservieren. Dies ist definitiv der langfristige Todesstoss. Methoden müssen immer der Kultur, dem Wettbewerb und der Zeit angepasst werden, aber Prinzipien haben eine ewige Gültigkeit. Methoden sind einfach kopierbar, Prinzipien müssen gelernt werden, und zwar indem hinter die Fassade der Methode geschaut wird und die Frage “WARUM” gestellt wird.

In ein paar Jahren werden wir wissen, ob Steve ein guter Lehrer war. Bis dann können wir selber von den Besten lernen und als Führungkräfte uns darin üben, gute Lehrer zu werden. Ich bin davon überzogen, dass es die Aufgabe jeder Führungskraft ist, das Potential der nächsten Generation zu erkennen, zu fördern und die eigenen “Erfolgsprinzipien” der nächsten Generation mit zu geben, in der Hoffnung, dass die nächste Generation noch erfolgreicher sein wird. Der Erfolg der nächsten Generation ist für mich der grösste Beweis eines nachhaltigen Führungsstils, der nicht selbstsüchtig ist.

 
Comments Off on Aber war Steve Jobs auch ein guter Lehrer?

Posted by on August 25, 2011 in Leadership