Erste Eindrücke von der WJAX2012


Heute gab es im Dev-Meeting schon einige Eindrücke von der diesjährigen WJAX von mir zu hören. Diese Punkte möchte ich nun an dieser Stelle noch einmal kurz zusammenfassen.

Neben Rucksäcken, T-Shirts und Kulis gab es auch dieses Jahr im Westin Grand Hotel in München wieder einige spannende Sessions. Vor der Eröffnung der eigentlichen Hauptkonferenz am Dienstag stand für mich am Montag ein REST-Workshop auf dem Programm.

Im Workshop wurde eine durchaus substanzielle und auch praxisnahe REST-Einführung von Stefan Tilkov, einem Verfechter dieses Ansatzes zur Integration heterogener Systeme, gegeben. Substanziell deshalb, weil man deutlich merkte, dass dieser Mann weiß, wovon er redet. Schließlich ist er nicht erst vor ein oder zwei Jahren auf den REST-Zug aufgesprungen, sondern publizierte schon zu Hoch-Zeiten des SOA-Hypes 2006/2007 zu diesem Thema. Es war zudem deutlich zu spüren, dass einiges an praktischem Know-How hinter seiner technolgieneutralen Einführung zu REST stand.

Zum Einnorden unserer leichtgewichtigen Platform-Webservices war diese Veranstaltung perfekt geeignet. Wir machen bewusst kein REST, nutzen die Architektur des Webs aber auch für unsere Webservices und tunneln diese Architektur nicht, so wie es der WS-* Webservice-Stack mit WSDL/SOAP tut. Unser Ansatz ist an dieser Stelle nicht ganz so dogmatisch wie der, den die REST-Gemeinde predigt, sondern an den meisten Stellen eher pragmatisch und damit robust, leicht verständlich, gut wartbar und sehr flexibel.

Tilkovs Dogma und eine seiner Kernaussagen ist an dieser Stelle ganz plakativ: „tunneling is eval“ und solle daher möglichst vermieden werden. Manchmal sei es allerdings auch schlichtweg der letzte Ausweg. Selbst die REST-Gemeinde müsse hier bspw. bei den HTTP-Methoden PUT und DELETE zu Kunstgriffen greifen und diese Zugriffe ggf. über POST tunneln. Der WS-* Webservice-Stack hingegen nutze HTTP ausschließlich als Tunnel. Das Web sei mit der Nutzung eines SOAP-Endpunkts laut Tilkov im wahrsten Sinne des Wortes „zu Ende“. Die Mechanismen, die HTTP zur Maschinen-Maschinen-Kommunikation von Haus aus mitbringe, lägen damit fasst vollständig brach. Dabei gäbe es genau hierzu, so rechnet Tilkov mit SOAP und WSDL ab, im HTTP-Protokoll bereits vielfältige Möglichkeiten: URIs zur global eindeutigen Identifikation von Ressourcen, HTTP-Methoden um auf diesen Ressourcen zu arbeiten, Hypermedia zu deren Verlinkung, Content-Negotiation um sie in unterschiedlichsten Formaten maschinenlesbar bereitzustellen und HTTP-Caching zum effizienten Zugriff.

Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


Infrastructure as Code: Prolog

Autor*in: Bastian Schwarz


Technologie // Über den Tellerrand


Da unsere Developer VM nun auch schon wieder einige Zeit auf dem Buckel hat habe ich mich die letzten Wochen viel mit dem Thema Virtualisierungsmanagement und Provisioning beschäftigt. Mit was?! Beides klingt hochtrabender als es tatsächlich ist. Letztendlich geht es dabei um 2 Themenbereiche: Das Erstellen von virtuellen Umgebungen Das Einrichten und Konfigurieren dieser Umgebungen Das alles gab …


Beitrag lesen
27
MRZ
17

PHP Locale Setting für Windows

Autor*in: Stefan Oswald


Technologie


Um deutsche Locales unter PHP auf einem Linux-System zu verwenden, setzt man einfach die gewünschte Locale-Einstellung (z.B. LC_TIME) auf de_DE.utf8, und in der Regel passt das dann. Zur Not kann man sich mit dem Kommandozeilen-Parameter locale -a auch einfach die verfügbaren Locales ausgeben lassen und weiß dann Bescheid. Falls die benötigte Locale nicht installiert ist, …


Beitrag lesen
16
DEZ
11

Google Analytics in Verbindung mit Google Tag Manager

Autor*in: Stefan Oswald


Projekte // Technologie


Wenn Google Analytics über den Google Tag Manager eingebunden wird, ist zu beachten, dass trotzdem noch die jeweilige GA-Account-ID mit angegeben werden muss. Das kann man entweder im Header des Codes machen, oder direkt bei jedem Tracking-Aufruf. Bei GAv2 sieht das z.B. so aus: _gaq.push([‚_setAccount‘, ‚UA-123456789-0‘]); _gaq.push([‚_trackEvent‘, ‚category‘, ‚action‘, ‚label‘]); Der GTM bindet logischer Weise …


Beitrag lesen
09
MAI
14