Geekstammtisch

Geekstammtisch

Interviews von und mit Geeks aus allen Bereichen

GST031 - CORBA in cool

Audio herunterladen: MP3 | AAC | OGG | OPUS

Unser Gast (00:00:00)

  • Stefan Tilkov, @stilkov, http://www.innoq.com/blog/st/about/
  • REST und HTTP: Einsatz der Architektur des Web für Integrationsszenarien, Stefan Tilkov: http://rest-http.info
  • Macht zum Teil Management und sonst wozu er so Lust hat: Workshops, Konferenzen, Schulungen, …
  • Hat C, C++, Java und und und gemacht, sein aktueller Favorit ist allerdings: Clojure

Architektur im Wandel (00:02:45)

  • "architect" is Latin for "cannot code anymore.", Ted Neward: http://msdn.microsoft.com/en-us/library/aa905335.aspx
  • "Architektur ist die Menge der wichtigen Entscheidungen", Stefan Tilkov :)
  • Anwendungsarchitektur Anfang der 2000er
  • Irgendwann wurde der Begriff "Architektur" negativ belegt

Projekte bei innoQ (00:05:10)

  • 60 Leute bei innoQ
  • 20% strategische Beratung
  • 80% Entwicklungsprojekt, teilweise nur mitarbeiten, teilweise komplett selber verantwortet
  • bei innoQ werden immer wieder die Rollen/Aufgaben und Projekte gewechselt

Architektur: negativ? (00:08:40)

  • Agile Is Dead (Long Live Agility), Dave Thomas: http://pragdave.me/blog/2014/03/04/time-to-kill-agile/
  • Rollen (z.B. "der Architekt") ergeben sich oft automatisch, ohne dass es vorgegeben ist
  • Architektur negativ? "Ist wie ich darf nicht mehr nachdenken!"

REST (00:12:05)

  • REST: https://en.wikipedia.org/wiki/Representationalstatetransfer
  • Representational State Transfer (REST), Roy Fielding, Dissertation (2000), Kapitel 5: https://www.ics.uci.edu/~fielding/pubs/dissertation/restarchstyle.htm
  • Roy Fieldings Blog: http://roy.gbiv.com/untangled/
  • REST war eigentlich vor der SOAP/WS-* Welle da
  • Ressourcen haben eine URI und sind damit identifizierbar
  • Standard-Interface um mit Ressourcen zu interagieren: GET, PUT, POST, DELETE
  • Hypermedia: https://en.wikipedia.org/wiki/Hypermedia
  • REST Maturity Models (RMM): http://martinfowler.com/articles/richardsonMaturityModel.html

Der WS-Weg (00:16:55)

  • Leute müssen für Webservices oft missioniert werden; bei REST ist das deutlich einfacher
  • Bei Web Serivces entwirft man permanent neue Protokolle (mit SOAP)
  • WSDL: http://www.w3.org/TR/wsdl
  • Enterprise Service Bus: https://en.wikipedia.org/wiki/Enterpriseservicebus

Microservices vs SOA? (00:22:05)

  • James Lewis, Martin Fowler über Microservices: http://martinfowler.com/articles/microservices.html
  • Jim Webber "Guerilla SOA": http://www.infoq.com/presentations/webber-guerilla-soa

Hypermedia Explained (00:23:53)

  • Hypermedia: https://en.wikipedia.org/wiki/Hypermedia
  • Heute sind REST APIs relativ gut (kein GET mehr, um eine Ressource zu löschen)
  • URI Templating, http://whatisrest.com/restservicecontracts/uritemplatesandresourcequeries
  • REST APIs haben eine Startseite, von wo aus der Clients den Links folgen kann
  • Der API Client braucht nicht so festverdrahtet sein
  • Links für Ressourcen signalisieren dem Client, wie er mit einer Ressource interagieren kann
  • Architekturstile (https://de.wikipedia.org/wiki/Architekturstil) haben immer Tradeoffs!
  • Apache Thrift: https://en.wikipedia.org/wiki/Apache_Thrift
  • CORBA: https://en.wikipedia.org/wiki/CommonObjectRequestBrokerArchitecture
  • URI Templates sind ein Rezept, um z.B. eine große Menge von Links abzubilden
    • HTML ist ein schönes Beispiel: Mit einem Formular und GET
  • HTML ist ein Hypermedia Format!
  • Ein Browser ist quasi ein Hypermedia Client
  • REST sollte Standardformate, selbstbeschreibender Nachrichten verwenden
  • IANA Media Types: https://www.iana.org/assignments/media-types/media-types.xhtml
  • Populäre Formate: JSON, XML
  • JSON Schema: http://json-schema.org/
  • JSON & Hypermedia
    • Collection+JSON: http://amundsen.com/media-types/collection/
    • Hypertext Application Language: http://stateless.co/hal_specification.html
    • Siren: https://github.com/kevinswiber/siren
  • Jon Moore, "Building Hypermedia APIs with HTML": http://www.infoq.com/presentations/web-api-html
  • AtomPub, The Atom Publishing Protocol: http://bitworking.org/projects/atom/rfc5023.html

REST für das Web (00:45:00)

  • REST ist die Architektur des Webs und nicht nur von Web Services
  • ROCA: Resource-oriented Client Architecture: http://roca-style.org
  • Single Page Application Frameworks: http://emberjs.com, http://angularjs.org, http://backbonejs.org, ...
  • Yehuda Katz: http://yehudakatz.com/
  • JSON API: http://jsonapi.org/
  • ROCA: Server-seitiges HTML, App Logik nur im Server, Seite funktioniert ohne JavaScript, JavaScript erweitert nur, Progressive Enhancement (https://en.wikipedia.org/wiki/Progressive_enhancement), ...
  • History API: http://diveintohtml5.info/history.html
  • SEO & Single Page Apps: http://backbonetutorials.com/seo-for-single-page-apps/
  • iTunes im Browser? o_O z.B. mit https://vaadin.com/home
  • Monolithen aufbrechen; die einzelnen Teile sollten auch ein eigenes UI haben
  • Breaking the monolith: Towards a system-of-systems architecture: http://vimeo.com/74354372
  • jQuery UI: https://jqueryui.com/
  • ember.js und AngularJS bieten Konventionen und vermeiden Diskussionen (meint Basti)
  • Web Framework Ansatz: "Wir nehmen entweder JSF oder Grails oder JRuby oder Angular oder jQuery"
  • Architektur sollte unabhängig sein von der Implementierung
  • Bower: http://bower.io/
  • "build for replacement, not for reuse"
  • The Twelve-Factor App: http://12factor.net/

Web Services, REST (01:11:30)

  • innoQ macht auch Projekte im klassischen Web Service Kontext
  • Web Service Metadaten mit RESTful HTTP managen
  • UDDI: https://en.wikipedia.org/wiki/UniversalDescriptionDiscoveryandIntegration
  • WSDL: https://en.wikipedia.org/wiki/WebServicesDescription_Language
  • WS-MetadataExchange: https://en.wikipedia.org/wiki/WS-MetadataExchange

Ausblick (01:17:20)

  • Alte Ideen tauchen in neuen Konzepten wieder auf; verschiedene Gruppe lernen von einander
  • JAXconf: http://jaxconf.com/
  • innoQ Timeline: http://www.innoq.com/de/timeline/
  • innoQ Podcast: http://www.innoq.com/de/timeline/?type=podcast_episodes

Kommentare


Neuer Kommentar

Durch das Abschicken des Formulars stimmst du zu, dass der Wert unter "Name oder Pseudonym" gespeichert wird und öffentlich angezeigt werden kann. Wir speichern keine IP-Adressen oder andere personenbezogene Daten. Die Nutzung deines echten Namens ist freiwillig.

Über diesen Podcast

Mehr oder weniger regelmäßiger Stammtisch rund um Geektum, (Web)development und was immer unsere Gäste an interessanten Dingen zu erzählen haben

von und mit Dirk Breuer, Sebastian Cohnen

Abonnieren

Follow us