Blog

HTML5, JavaScript und der ganze REST – Multichannel-Architekturen für Enterprise-Entwickler auf der SEACON 2012

Mein Kollege Oliver Ochs und ich konnten auf dem diesjährigen Architekturtag der SEACON das Halbtagstutorial HTML5, JavaScript und der ganze REST halten.

Key Note: Seven Secrets Every Architect Should Know

Da wir schon einmal da waren, ließen wir uns natürlich nicht die Key Note von Frank Buschmann entgehen. Er klärte uns auf über Seven Secrets Every Architect Should Know. Mit seiner sehr lässigen, aufweckenden und guten Vortragsweise erreichte er bei mir, dass ich mich in das ein oder andere Projekt zurückversetzt sah und mir sicher ein paar dieser sieben Geheimnisse auch in meinem Projektalltag zu Herzen nehme. Da die Folien online sind, spare ich mir eine Zusammenfassung, denn ein Blick in die Folien ist die Zeit auf jeden Fall wert. Was ich jedoch direkt mit ins aktuelle Projekt nehmen werde, ist der Rat, „generische Schnittstellen“ zu vermeiden, da an dieser Stelle der Architekt seiner Rolle nicht gerecht würde und zu „feige“ sei, um konkret nachzufragen, wie denn die Anforderung bzw. die Spezifikation sei.

Halbtagstutorial: HMTL5, JavaScript und der ganze REST – Multichannel-Architektur für Enterprise-Entwickler

Ehrlich gesagt, waren wir uns nicht ganz sicher, ob wir in der Veranstaltung nur zu viert sitzen würden, da als Alternative durchaus interessante Vorträge geboten wurden. In der Zeit des Tutorials hätte sich jeder auch zwei andere Vorträge anhören können…

Umso schöner war es, der interessierten Zuhörerschaft in einem gut gefüllten Raum Einblicke in  die Multichannel-Architektur und ihre konkrete Umsetzung zu geben.

Neben der Entwicklung von Thin Clients zurück zu Thick Clients bis hin zur Local App – und: nein, ich meine hier keine eierlegende Wollmilchsau à la Swing oder RCP-Anwendung, sondern das Verlagern von Application Logic und des States in den Browser. Doch warum das Ganze?

Weil wir den Kunden über die Customer Journey hinweg auf n Kanälen erreichen möchten – und das auf n Endgeräten und in n Kontexten. Also nicht: Ich baue eine Applikation und portiere sie 1:1 auf n Endgeräte; da fehlt der Kontext. Für die Entwicklung von Thick Clients und Local Apps spricht weiterhin, dass wir zwar alle von kompletter Netzabdeckung träumen, aber uns z.B. gerade im Zug freuen, wenn wir eine App lokal auf unserem Endgerät haben und keine Internetverbindung brauchen.

Um es richtig zu machen, brauchen wir Backend-Systeme mit einfachen, wiederverwendbaren Schnittstellen, die  auch auf allen Endgeräten ansprechbar sind. Wie das funktionieren kann, zeigten wir anhand des REST-Patterns.

Nach dem kleinen Exkurs in die Theorie stellten wir die Beispielapplikation Holi.fm vor, die mittels RSS-Feed veröffentlichte Empfehlungen von Last.fm via REST-API zur Verfügung stellt und diese im Browser bzw. als Home Screen App oder gar als Local App abspielen kann. Ebenfalls vorgesehen ist ein Like-Service, falls ich all meinen digitalen Freunden auch mitteilen möchte, was für ein neues Lied ich denn dank Last.fm kennenlernen durfte.

Anhand von JAX-RS zeigten wir, dass es auch in Java spielend einfach ist, eine REST-API zu implementieren.

Jetzt haben wir ein Backend! Doch wie das Fronend realisieren? Mit HTML5 und JavaScript (JS). Die Abschnitte HTML5 Core und JS Core gaben einen entsprechenden Einstieg. So waren wir in der Lage, den ersten Wurf unser Holi.fm-Applikation zu bauen und diese durch sogenannte Magic Tags auch ohne Browsernavigation mit Icon und Splash Screen auf den Home Screen zu bringen.

Da jedoch der Frontend-Part der Applikation hinsichtlich der Architektur eher an die ersten JS-Applikationen der Neunziger anmutete, musste hier noch etwas getan werden.

Dazu stellten wir Möglichkeiten vor, wie man auch in JavaScript saubere Architekturen à la Model View Controller (MVC) realisieren kann. Das geht z.B. mit Ember.js und Handlebars. Der zweite Wurf unser Holi.fm Applikation mit MVC, entsprach nun schon eher dem, was man sich unter einer gut geschnittenen Applikation vorstellt.

Doch wie bekomme ich diese Applikation auf mein mobiles Endgerät? Nach einer Vorstellung der Optionen, die Entwickler heutzutage haben (Nativ vs. Hybrid, WebView vs. JavaScript sowie der jeweiligen Vor- und Nachtteile), brachten wir die Applikation mit Phone Gap und XCode auf dem Mac ganz einfach auf das Smartphone. Das geht natürlich auch unter Windows, Ubuntu etc.  – und auch auf anderen Betriebssystemen als iOS.

Ressourcen:

Buchtipp:

Fazit

Es hat wirklich Spaß gemacht, dieses Jahr auf der SEACON das Halbtagstutorial durchführen zu können, was vor allem den interessierten Teilnehmern zu verdanken war. Auch der Besuch der Key Note hat sich gelohnt. Ein Blick auf die Feedback-Wand der SEACON 2012, noch vor unserem Tutorial, zeigte, dass mehr technische Vorträge und das Einladen auch „junger Leute“ mit „modernen Themen“ gewünscht wurde. Ich hoffe, wir wurden diesen Ansprüchen gerecht.

Vielen Dank an die Organisatoren, Speaker und Teilnehmer der SEACON 2012!

Über den Autor

Avatar

Mr Norman Erck M.Sc. started developing websites as a teen in 1999 driven by his fascination for the possibilities of the rising e-business technologies. He is now a certified ScrumMaster and Enterprise- Software-Architect who has worked on e-business projects for over seven years. He takes the role of a scrum master and architect for IT projects in large companies. He is a speaker on conferences about CDI as well.

Antwort hinterlassen