The Web as a Platform

Sustainable Development and Integration with Web Technologies

The World Wide Web is by far the largest distributed IT-system created by humankind – and a prime example for scalability, reliability, and fault tolerance. The Web's principles are as simple as they are effective. The Web's technologies are robuts and time-proven.

We offer architecture consulting, trainings and software development so you can make use of the Web's principles for your own organization. We realize web applications which explicitly make use of the Web and its capabilities – be it for SaaS platforms with millions of user or for classic in-house applications.

You can rely on our hard-won knowledge of state-of-the-art web know-how, a pragmatic approach and many years of experience in developing and integrating complex systems in large-scale enterprises.

  • The Power of the HTML Form

    Blog Post Joy Clark

    The HTML form is a powerful tool for telling a server what you want to do. But does everybody know how it works? With the multifarious JavaScript frameworks currently available today, software developers in the industry today often do not know how to create a web application without JavaScript. Is there an alternative? The web has been around for ages. What did people do before JavaScript?

    Read more
  • Web Applikationen mit Clojure

    Talk Michael Vitz rheinjug Slides available

    Clojure ist eine JVM-Sprache, die das Unmögliche möglich macht: ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp.

    Neben den Grundlagen von Clojure werden Sie in an diesem Abend auch Schritt für Schritt sehen, wie man hiermit eine Web-Anwendungen entwickeln kann. Wenn Sie sich hierbei nicht von den Lisp-typischen Klammern abschrecken lassen, werden Sie schnell sehen, dass die Ausdrucksstärke von Clojure und der Einsatz einer rein funktionalen Programmiersprache für Web-Applikationen sehr gut passt.

    Read more
  • Web Applications in Clojure

    Talk Joy Clark Clojure Meetup Munich Februar 2017 Slides available

    Clojure, as a Lisp dialect running on the JVM, is a purely functional language that also takes advantage of the great library support available in the Java world.

    As a functional language, it provides great abstractions for developing web applications, particularly because of how it handles HTTP, which is a fundamentally stateless protocol. In this talk, I will explain the fundamental concepts behind Clojure web applications and how the Clojure libraries harness the power of the existing Java infrastructure in order to provide state of the art server technology.

    Read more
  • Clojure-Web-Applikationen für Beginner

    Talk Michael Vitz OOP 2017 Slides available

    Clojure ist eine JVM-Sprache, die das Unmögliche möglich macht: ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp.

    Neben den Grundlagen von Clojure werden Sie in dieser Session auch lernen, wie man hiermit Web-Anwendungen umsetzen kann. Wenn Sie sich hierbei nicht von den Lisp-typischen Klammern abschrecken lassen, werden Sie schnell sehen, dass der Einsatz einer rein funktionalen Programmiersprache sehr gut zum statuslosen Ansatz von HTTP passt.

    Zielpublikum: Entwickler Voraussetzungen: Grundlagen der funktionalen Programmierung und Webentwicklung Schwierigkeitsgrad: Anfänger

    Read more
  • UI Engineering Podcast, S01E06, Interview mit Falk Hoppe

    Link Falk Hoppe

    Falk Hoppe war zu Gast bei UI Engineering Podcast. Er unterhält sich mit den beiden Gastgebern des Podcasts, Jan Persiel und Dennis Reimann, über Styleguides und Pattern Libraries sowie verschiedene Tools und deren Einsatz.

  • The perils of shared code

    Blog Post Daniel Westheide

    In this blog article, I want to examine why using a sharing code between microservices may sound attractive in the first place and why it can cause bigger problems than the ones you try to solve.

    Read more

    Progressive Web Components

    Talk Stefan Tilkov, Frederik Dohr GOTO Berlin 2016

    Every now and then the dawn of a new web standard paves the way for a shiny new generation of web technology. Web components are right around the corner, and their impact on the way we develop applications on the web will be huge. They will finally enable a well-defined, common way to develop self-contained, reusable and interoperable front-end components. But can this piece of technology live up to the fundamental philosophies of the web? Can web components be used to progressively enhance the core functionality of web applications? This talk will try to answer these questions and provide some advice on how to use web components safely and responsibly now and in the future.

    Read more
  • ROCA: Why you shouldn’t build Web UIs the way you do

    Talk Stefan Tilkov Devoxx 2016

    Many people who build web UIs go about it the wrong way without knowing about it – and popular frameworks don’t help.

    In this session, we’ll take a look at the architectural patterns that form the foundation of what makes the browser unique, explore how a developer can use them to build better web UIs using the framework-less style known as ROCA – and see how relying on less fancy tooling can lead to user experiences that are actually vastly superior in many ways.

    Read more
  • Clojure Web-Application 101

    Talk Michael Vitz Devoxx 2016 Slides available

    Clojure is a JVM language which makes the impossible come true: a pragmatic and usable Lisp for humans. Besides an short introduction to the language this talk introduces how to develop Web-Applications in Clojure.

    If you aren’t afraid of parenthesis you will quickly understand why a functional language like Clojure is a perfect choice for implementing Web-Applications and that it fits the stateless HTTP approach very nicely.

    The video recording of this talk can be found at https://www.youtube.com/watch?v=3Xm_nVqxowk

    Read more
  • Sichere Webanwendungen mit Clojure

    Talk Joy Clark, Simon Kölsch Düsseldorf Clojure Meetup Oktober 2016 Slides available

    In diesem Vortrag praesentieren wir Clojure als eine mögliche Sprache um mit wenig Aufwand sichere Webapplikationen zu bauen. Wir zeigen dabei mit welchen Features gängige Frameworks verschiedene Angriffe verhindern und zeigen, dass “Security” ein grundlegender Teil der Architektur sein muss.

    Wir leben in einer Welt in der das Web unseren Alltag durchdrungen hat. Die Frage nach Sicherheit wird dabei immer größer und ist schon lange ein Thema bei Endnutzern. Hacker können mit XSS, CSRF, DoS oder Injection-Attacken meine Applikation angreifen. Muss ich mich als Entwickler wirklich noch selbst um das Verhindern von solchen Angriffen kümmern? Regelmässig tauchen immer wieder neue Schwachstellen auf, deshalb ist es wichtig bei der Auswahl von Frameworks und Libraries auch auf Features im Bezug auf Security zu achten. Dazu kommt der Umgang mit Authentifizierung und Rollen/Rechte-Konzepten.

    Read more
  • Sichere Webanwendungen mit Clojure

    Talk Joy Clark CommitterConf 2016 Slides available

    Wir leben in einer Welt, in der das Web unseren Alltag durchdrungen hat. Die Frage nach Sicherheit wird dabei immer größer und ist schon lange ein Thema bei Endnutzern. Hacker können mit XSS, CSRF, DoS oder Injection-Attacken meine Applikation angreifen. Muss ich mich als Entwickler wirklich noch selbst um das Verhindern von solchen Angriffen kümmern? Regelmäßig tauchen immer wieder neue Schwachstellen auf, deshalb ist es wichtig bei der Auswahl von Frameworks und Libraries auch auf Features im Bezug auf Security zu achten. Dazu kommt der Umgang mit Authentifizierung und Rollen/Rechte-Konzepten.

    In diesem Vortrag präsentiere ich Clojure als eine mögliche Sprache, um mit wenig Aufwand sichere Webapplikationen zu bauen. Ich zeige dabei, mit welchen Features gängige Frameworks die verschiedenen Angriffe verhindern und dass “Security” ein grundlegender Teil der Architektur sein muss.

    Read more
  • Content Security Policy

    Blog Post Simon Kölsch

    Cross-Site-Scripting ist seit Jahren eines der Security Probleme im Web. Neben anderen sicherheitsrelevanten HTTP-Headern gibt es seit geraumer Zeit auch die Möglichkeit, dem Browser eine “Content Security Policy” mitzuteilen. Dieser Blogpost erklärt deren Zweck und Einsatz.

    Read more
  • Cloud Native Architectures an einem Beispiel

    Talk Phillip Ghadir Software Architecture Summit 2016

    Wenn wir Systeme für die Cloud bauen, stehen verschiedenste Infrastruktur- und Plattformdienste zur Verfügung. Die Optionen reichen von der einfachen Nutzung virtueller Maschinen bis hin zum Aufbau beliebig komplexer Datenverarbeitungslogik – ganz ohne (eigene) Server. Cloud-Anbieter erlauben uns, Services auf Knopfdruck zu abonnieren. Neue virtuelle Maschinen, Repositories, Datenbanken, Message-Queues und Event-Hooks sind nur wenige Mausklicks oder Cloud-API-Aufrufe entfernt.

    Dieser Workshop stellt verschiedene Architektur-Alternativen und unterschiedliche Cloud-Services an einem konkreten Beispiel vor und verknüpft dies mit den Themen aus den vergangenen Summits: der Kopplung von Self-Contained Systems & Microservices über Web-APIs und der Integration per Reactive Extensions.

    Read more
  • Fortgeschrittene REST-Architektur

    Talk Holger Kraus, Silvia Schreier Software Architecture Summit 2016

    REST als der Architekturstil des Webs ist mittlerweile keine Neuigkeit mehr, sondern in den meisten Fällen die bevorzugte Alternative für die Umsetzung von Web Services. Die Diskussion darüber hat sich mittlerweile von Einsteigerthemen und Rechtfertigungen weg und zu fortgeschrittenen Fragestellungen hin entwickelt.

    In diesem Workshop diskutieren Holger Kraus und Silvia Schreier mit den Teilnehmern fortgeschrittene Aspekte jenseits der Grundlagen. Zu den Themen gehören Versionierung, Dokumentation, Hypermedia, die Entwicklung von Clients, Teststrategien und vieles mehr. Dabei werden sowohl theoretische Architekturaspekte wie auch praktische Werkzeuge behandelt. Die Teilnehmer bekommen die Gelegenheit, alle Fragen zu stellen, zu denen sie noch nie befriedigende Antworten bekommen haben.

    Read more
  • Web Components mit Polymer

    Article Ruben Wagner, Simon Jost

    Wie im ersten Teil dieses Artikels bereits angekündigt wurde, beschäftigt sich dieser zweite Teil mit der technischen Anwendung von Polymer 1.0. Wo der erste Teil die Spezifikation und den Einsatz der Technologie aus einer Vogel-Perspektive zeigt, werden wir hier die konkreten APIs vorstellen.

    Read more
  • Clojure Web-Applikationen für Beginner

    Talk Michael Vitz Berlin Expert Days – BED-Con Slides available

    Clojure ist eine JVM-Sprache, die das Unmögliche möglich macht: Ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp.

    Neben den Grundlagen von Clojure werden Sie in dieser Session auch lernen, wie man hiermit Web-Anwendungen umsetzten kann. Wenn Sie sich hierbei nicht von den Lisp-typischen Klammern abschrecken lassen, werden Sie schnell sehen, dass der Einsatz einer rein funktionalen Programmiersprache sehr gut zum statuslosen Ansatz von HTTP passt.

    Read more
  • Nachhaltige Webarchitekturen

    Article Silvia Schreier

    Heutzutage gewinnt man leicht den Eindruck, dass es für moderne Webanwendungen nur einen einzig wahren Architekturansatz gibt: REST und Single-Page-Anwendungen (SPAs). Doch ist alles, was REST genannt wird, wirklich REST? Sind REST und SPAs immer die beste Lösung? Um diese Fragen beantworten zu können, sollte man sich anschauen, was REST eigentlich ist, wofür es gedacht ist und ob es möglicherweise auch Alternativen zu SPAs gibt; insbesondere mit dem Blick auf Nachhaltigkeit, also Wartbarkeit und Erweiterbarkeit.

    Read more
  • Sichere Webanwendungen mit Clojure

    Talk Joy Clark, Simon Kölsch FrOSCon 2016 Slides available

    Wir leben in einer Welt, in der das Web unseren Alltag durchdrungen hat. Die Frage nach Sicherheit wird dabei immer größer und ist schon lange ein Thema bei Endnutzern. Hacker können mit XSS, CSRF, DoS oder Injection-Attacken meine Applikation angreifen. Muss ich mich als Entwickler wirklich noch selbst um das Verhindern von solchen Angriffen kümmern? Regelmässig tauchen immer wieder neue Schwachstellen auf, deshalb ist es wichtig, bei der Auswahl von Frameworks und Libraries auch auf Features im Bezug auf Security zu achten. Dazu kommt der Umgang mit Authentifizierung und Rollen/Rechte-Konzepten.

    In diesem Vortrag präsentieren wir Clojure als eine mögliche Sprache, um mit wenig Aufwand sichere Webapplikationen zu bauen. Wir zeigen dabei, mit welchen Features gängige Frameworks verschiedene Angriffe verhindern und zeigen, dass “Security” ein grundlegender Teil der Architektur sein muss.

    Sehen Sie das Video auf ccc-tv

    Read more
  • ROCA vs. SPA

    Blog Post Lucas Dohmen, Marc Jansing

    Currently, a lot of companies are migrating from Desktop applications (mostly written in Java) to Web applications for their products as well as for their internal tooling. When they start with this process they often ask themselves: Which technologies should we use to build our Web application? Should we use Angular.js or React? Or should we go with recommendations like ROCA instead of a Single Page Application?

    Read more
  • Web Components mit Polymer

    Article Martin Schmidt, Christopher Schmidt

    Die vom W3C standardisierten Web Components erleichtern die komponentenbasierte Entwicklung von Benutzungsoberflächen für Webanwendungen. 2013 hat Google die Open-Source-Bibliothek Polymer initiiert, die Entwicklern beim Einsatz von Web Components Unterstützung an die Hand gibt. Mit der Vorstellung von Version 1.0 dieses Frameworks stellt sich die Frage, ob Polymer nun produktionsreif ist und in realen Projekte eingesetzt werden kann. Im ersten Teil der Serie stellen wir die Version 1.x vor und prüfen die Möglichkeit der Nutzung für Geschäftsanwendungen.

    Read more
  • Solving the wrong problems

    Blog Post Daniel Westheide

    Instead of rushing to an engineering solution to a problem, we would often be better off by lying back and determining the root cause of our engineering problem, which is often an architectural one.

    Read more
  • The Web Ahead, Episode 116: Preserving the Architecture of the Web with Stefan Tilkov

    Audio Stefan Tilkov thewebahead.net

    Stefan Tilkov joins Jen Simmons of “Web Ahead” podcast to talk about the architectural style of the web, and how to understand to best create an application on the web.

  • Video-Interview mit Stefan Tilkov

    Link Stefan Tilkov

    Beim Software Architecture Summit im März 2016 wurde Stefan Tilkov unter anderem zum Thema „Fortgeschrittene REST-Architekturen“ interviewt. Im Gespräch geht es um die Umsetzung dieses Architekturstils in der Praxis, Fortbildung für Softwarearchitekten und mehr.

  • Transclusion in self-contained systems

    Blog Post Till Schulte-Coerne

    Frontend integration in the web is a huge topic. This post deals with the aspect of transclusion of other systems’ content in the DOM of a web page.

    Read more
  • Transklusion in Self-Contained Systems

    Blog Post Till Schulte-Coerne

    Frontend-Integration im Web ist ein riesiges Themengebiet. Dieser Post befasst sich mit dem Teilaspekt der Transklusion “fremder” Inhalte in den DOM einer anderen Seite.

    Read more
  • Why RESTful communication between microservices can be perfectly fine

    Blog Post Daniel Westheide

    Recent debates about REST versus message passing in microservice communication have led to some confusion. What is meant with asynchronous communication in this context and why is REST a perfectly valid choice?

    Read more
  • Embrace the Browser, Architect’s Edition

    Talk Stefan Tilkov EnhanceConf 2016 Slides available

    Progressive enhancement is a technique mostly known to, and practiced by, front-end developers and designers. In many large projects, the most important decisions (a.k.a. “architecture”) are made by backend architects, who couldn’t care less about frontend “details”. But they should! In this talk, I’ll try to explore some reasons how adopting the architecture of the web in general, and the capabilities of the browser in particular, improves the overall architecture.

    Read more
  • Clojure-Web-Applikationen für Beginner

    Talk Michael Vitz BOB Conference 2016 Slides available

    Clojure ist eine JVM-Sprache, die das Unmögliche möglich macht: Ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp.

    Neben den Grundlagen von Clojure werden Sie in dieser Session auch lernen wie man hiermit Web-Anwendungen umsetzten kann. Wenn Sie sich hierbei nicht von den Lisp-typischen Klammern abschrecken lassen werden Sie schnell sehen, dass der Einsatz einer rein funktionalen Programmiersprache sehr gut zum statuslosen Ansatz von HTTP passt.

    Sehen Sie das Video auf Youtube!

    Read more
  • Kriterien zur Bewertung von ROCA Komponenten

    Blog Post Till Schulte-Coerne

    Mal angenommen, jemand wollte ROCA machen. Wie müssten dann JavaScript-Komponenten aussehen, die zu diesem Zweck benutzbar wären?

    Read more
  • JAX TV: Technologie-Trends jenseits von Java

    Link Eberhard Wolff

    Was gibt es sonst noch so, außer Java? Mit dieser Frage haben sich auf der JAX 2015 fünf Experten intensiv auseinandergesetzt. Von Rich Clients über Web UI bis hin zu Frameworks und Nischensprachen haben Eberhard Wolff, Kai Tödter, Oliver Gierke, Peter Roßbach und Uwe Friedrichsen den Besuchern wichtige Einblicke in die Vergangenheit, Gegenwart und Zukunft der IT-Welt gewährt.

    JAX TV: Das Minimum, das ein Webentwickler über Security wissen sollte

    Link Christoph Iserlohn

    Fast im Wochenrhythmus erfahren wir, wie wieder mal ein Webdienst gehackt und Millionen von Datensätzen abgegriffen wurden. Erschreckenderweise benutzen diese Hacks oft immer noch erfolgreich Angriffe, gegen die es längst bekannte und einfach zu implementierende Gegenmaßnahmen gibt. Erfahren Sie in dieser Session von Christoph Iserlohn (innoQ) alles Wichtige über typische Angriffe wie CSRF, Session-Hijacking oder SQL Injection. Lernen Sie, welche Gegenmaßnahmen es gibt, und welche Frameworks, Bibliotheken und Tools Sie bei der Implementierung unterstützen können.

  • AngularJS FTW?

    Talk Sebastian Janzen, Roman Stranghöner Devoxx Belgium 2015

    Imagine, you’re a developer in a big company. Imagine, your boss gave you the technical leadership of the next web project and the freedom to choose whatever technology you want. “Great! Thats my chance to finally do something with AngularJS”. But does Angular fit your needs? Does it make sense? Is it the grail you always looked forward to? Lets see some examples, hear some stories and learn why the answer is no.

    Read more
  • Integration von Microservices – REST vs. Messaging

    Talk Eberhard Wolff, Oliver Gierke W-JAX 2015 Slides available

    Der Trend zu Microservices stellt Entwickler vor neue Herausforderungen. Systeme, die an fachlichen Kontexten orientiert sind, müssen sich gegenseitig über Ereignisse benachrichtigen und auf sie reagieren. Ebenso muss das Austauschen und Synchronisieren von Datenbeständen umgesetzt werden. Die Wahl eines Kommunikationsmechanismus ist dabei fundamental. Sie beeinflusst die gesamte Architektur und ist nur schwer nachträglich änderbar.

    Der Vortrag stellt die Herausforderung bei der Integration dar und Konsequenzen und Effekte des Einsatzes von REST und Messaging gegenüber.

    Read more
  • Die Unbenutzbarkeit von Enterprise-Web-Anwendungen — Naturgesetz oder Vorsatz?

    Talk Robert Glaser, Roman Stranghöner W-JAX 2015 Slides available

    Seien wir doch mal ehrlich: Unternehmensanwendungen im Web werden meistens von wahren Backend-Entwicklern gebaut. Das schließt die Bedienoberflächen in der Regel mit ein. Benutzerfreundlichkeit und Ästhetik haben dabei im Gegensatz zur Produktentwicklung oftmals nur einen sehr geringen bis gar keinen Stellenwert.

    Wir behaupten: das muss nicht so sein. In diesem Vortrag geben wir praktische Empfehlungen und zeigen Herangehensweisen, mit denen Informatiker Bedienbarkeit und Nutzerakzeptanz von Weboberflächen wesentlich verbessern können.

    Read more

    REST 2015

    Talk Silvia Schreier W-JAX 2015 Slides available

    REST-konforme Anwendungen sind »state of the art«. Allerdings wird der zentrale »Hypermedia as the engine of application state«-Aspekt zur Zeit noch als die neue Entdeckung schlechthin gehandelt, auch wenn er das eigentlich gar nicht ist. Oft stellt sich dann die Fragen: Wie baut man denn nun solche „Hypermedia-Services“? Was muss ich dazu wissen?

    In dieser Session werden diese Fragen beantwortet und außerdem gezeigt was man im Jahr 2015 sonst noch rund ums Thema REST wissen sollte. Dazu gehören neben HTTP/2, OAuth2 und OpenID Connect auch Themen wie Dokumentation, Versionierung sowie Resource-oriented Client Architecture (ROCA).

    Sehen Sie das Video auf Vimeo!

    Read more
  • Play 2.4 with Guice and MyBatis

    Blog Post Timo Loist

    The Play Framework is getting more popular and Version 2.4 finally includes Dependency Injection as the default mechanism to access central resources instead of singletons.

    This blog post explores what is necessary to combine MyBatis with Play using its default DI Framework: Guice.

    Batteries (code sample) included!

    Read more
  • Praktikumsbericht „Web Discoverable Hypermedia“

    Blog Post Valentin Pratz

    Nachfolgend ein Erfahrungsbericht von Valentin Pratz (15), der mit Bravour ein zweiwöchiges Schülerpraktikum bei innoQ absolviert hat.

    Read more
  • Gebaut für die Cloud - Cloud-Native Architectures

    Talk Phillip Ghadir Software Architecture Summit 2015

    Ein beliebig skalierbares System erfordert tendenziell eine beliebig große Infrastruktur – sowohl software- als auch hardwareseitig. Eine solche Infrastruktur lässt sich nur automatisiert beherrschen. Ihre schiere Größe lässt sich durch die Definition geeigneter – teils sehr einfacher, teils sehr komplexer – Dienste verbergen. Die Amazon WebServices bieten unterschiedlichste Dienste an, mit denen sich heute Systeme softwareseitig anders schneiden lassen als noch vor einigen Jahren. Features, die zuvor selbst entwickelt oder im Betrieb sichergestellt werden mussten, werden heute durch die Amazon Cloud angeboten. Von EC2 Container Services zum Hosten von Applikationen, die aus Docker-Containern bestehen, über die zu Grunde liegenden EC2 sowie neueren Services wie AWS-Lambda - die verfügbare Infrastruktur verschiebt die Aufgaben für das Entwickeln und Betreiben Cloud-nativer Systeme.

    Dieser Workshop zeigt die Möglichkeiten, die sich durch Infrastruktur-Dienste der Amazon WebServices bieten und geht darauf ein, wie ein Software-System strukturiert werden könnte, um AWS sinnvoll zu nutzen.

    Read more
  • RESTful Hypermedia-Services auf der JVM

    Talk Michael Vitz Berlin Expert Days 2015 Slides available

    REST und Hypermedia APIs sind auch 2015 in aller Munde. Dabei gilt es eigentlich immer wieder die gleichen Prinzipien zu berücksichtigen. Hierzu zählen vor allem der richtige Einsatz von HTTP Status Codes, korrekte Content Negotiation und Caching.

    In dieser Session wollen wir die Grundlagen besprechen und diese an praxisnahen Beispielen vertiefen. Hierzu setzen wir mit “liberator” auf eine Clojure Bibliothek, die sich nah an der HTTP Spezifikation befindet und den Entwickler somit optimal unterstützt seine Anwendungsdaten RESTful und HTTP konform als Resourcen anzubieten. Trotz der niedrigen Versionsnummer ist “liberator” auch für nicht Clojuristen einen Blick wert, basiert es doch auf den erprobten Konzepten der Erlang “Webmachine”-Implementierung.

    Read more
  • Hands-On Migration from Grails 2 to 3

    Talk Michael Plöd SpringOne 2GX 2015

    In this presentation we will migrate an existing application that is productive (http://www.allschools.de) and running with Grails 2 towards the newest version of Grails 3. This presentation will feature 3 slides and tons of code. You will learn which steps have to be taken and which gotchas you have to be aware of in order to make the migration to Grails 3 as smooth as possible.

    Read more
  • ECSA 2015 - Neue Notation für REST-konforme APIs vorgestellt

    News

    Vom 7. bis 11. September fand die diesjährige European Conference on Software Architecture in Kroatien statt. Read more
  • Vier Fragen, die Sie sich bei jedem Webprojekt stellen sollten

    Link Silvia Schreier

    Silvia Schreier erläutert auf JAXenter an Hand von vier Fragen, welche typischen Herausforderungen einem bei der Entwicklung eines zeitgemäßen Webprojektes begegnen.

    Mehr zu diesen Themen gibt es außerdem bei ihrem Vortrag auf der W-JAX zu „REST 2015“.

  • REST und HTTP

    Podcast Silvia Schreier, Oliver Wolf, Martin Eigenbrodt, Stefan Tilkov

    In dieser Folge spricht Stefan Tilkov mit seinen neuen Co-Autoren Martin Eigenbrodt, Silvia Schreier und Oliver Wolf anlässlich der kürzlich erschienenen dritten Auflage von „REST und HTTP“ über die Grundlagen von REST und Hypermedia und die Frage, wie man gute Web-Anwendungen baut. Read more
  • Neue Trainingstermine im Herbst: Microservices-Praxis-Workshop und Skalierbare Webarchitekturen

    News

    Für den Herbst bieten wir Ihnen zwei neue Trainingstermine für Software-Architekten an. In beiden Trainings geht es nicht einfach um Theorie, sondern vor allem um praxisrelevante Themen und deren tatsächlichen Einsatz in Ihrem Arbeitsalltag. Read more

    Microservices: Smaller Is Better?

    Video Eberhard Wolff

    In this talk from the microXchg conference 2015, Eberhard Wolff discusses the benefits of microservices and some of the advantages of creating smaller services instead of larger ones.

  • Reliable Web Clients

    Blog Post Tobias Neef

    Microservices can make teams and systems more independent but also more vulnerable to the fallacies of distributed systems. Initially I thought this blog post is going to be about how to build reliable web clients with Akka and Akka Persistence. While this is an interesting topic by itself, I now think it is more crucial to first understand the underlying problems and trade-offs before we learn how to get around them.

    Read more
  • Bessere Web-Apps mit HTML5-APIs

    Article Phillip Ghadir, Simon Kölsch

    Der Begriff HTML5 fasst eine bunte Sammlung aus verfügbaren und geplanten APIs zusammen, auf die im Browser von JavaScript aus zugegriffen werden kann. Einige dieser APIs ermöglichen heute, Anwendungen für den Browser zu realisieren, die vor wenigen Jahren noch Plugins erfordert hätten. Die prominentesten Vertreter sind sicherlich Video oder WebRTC. Zum Beispiel ist heute die Public-Key-Verschlüsselung bereits im Web-Client integrierbar oder das Reagieren auf Sensordaten der Betriebs-Hardware des Browsers möglich. Es folgt eine persönliche Auswahl an etablierten APIs und ein Ausblick auf einige noch recht frische.

    Read more
  • Declarative HTTP API Testing with gabbi

    Blog Post Frederik Dohr

    While HTTP APIs are ubiquitous these days, testing and documenting such APIs remains somewhat awkward: Tests usually consist of procedural code that is specific to the respective language or even framework - which is neither very expressive nor easy to maintain.

    Read more
  • Artenvielfalt

    Article Christine Koppelt, Stefan Kirsch

    Durch Node.js hält das vielerorts als nur unzulängliche Programmiersprache belächelte JavaScript heute Einzug in die professionelle Serverprogrammierung. Doch welche Möglichkeiten die Plattform bietet und welche Entscheidungen bei ihrem Einsatz zu treffen sind, ist nicht immer einfach zu ermitteln.

    Read more
  • Progressive Enhancement

    Talk Roman Stranghöner MediterráneaJS Slides available

    The web is constantly growing. In terms of underlying technologies, variety of connected devices and last but not least its worldwide users. This growth is a real challenge when it comes to developing modern web applications. Common requirements in these projects are: Establish a codebase that is maintainable, modular and reusable; keep up with new technologies and standards; and deliver new features to a maximum of users without breaking the whole application.

    This talk points out that these conflicting goals can actually be fulfilled with the help of progressive enhancement – a founding principle of the web in which base technologies like HTML, CSS and JavaScript are safely layered on top of each other. The given examples help to understand how this principle works in practice and show how to build robust but interactive and future-friendly web applications.

    Read more
  • JavaScript meets Cryptography - Einführung in die WebCrypto API

    Talk Christoph Iserlohn, Simon Kölsch enterJS

    Der Browser ist in den letzten Jahren zur einer der wichtigsten Laufzeitumgebungen geworden. Mit ihm ist JavaScript zur Lingua franca des Webs aufgestiegen. Durch die mit HTML5, CSS3 und APIs wie Webaudio, WebGL oder IndexedDB entstandenen Möglichkeiten sind nun Applikationen realisierbar, die bis vor Kurzem nur mit Flash oder als native Applikation denkbar waren. Die vom W3C spezifizierte Web Cryptography API schließt in Zukunft eine weitere Lücke und verkürzt den Abstand zu nativen Plattformen weiter: sichere Kryptographie mit JavaScript.

    Der Vortrag zeigt auf, wann und warum die API benötigt wird, welche Grundfunktionen sie zur Verfügung stellt und wie man diese benutzt.

    Read more
  • Apache Cassandra

    Article Marc Jansing, Phillip Ghadir

    In dieser Kolumne stellen wir Cassandra vor und zeigen, warum die Datenbank quasi beliebig skaliert und höchst performant ist. Cassandra wirkt für Kenner von relationalen Datenbanken auf den ersten Blick recht vertraut, weil hier auch von Tabellen und Spalten die Rede ist und die Abfragen einfachen SQL-Abfragen ähnlich sehen. Dennoch unterscheidet sich Cassandra konzeptionell von relationalen Datenbank-Management-Systemen (RDBMS).

    Read more
  • Das Minimum, das ein Webentwickler über Security wissen sollte

    Talk Christoph Iserlohn JAX 2015 Slides available

    Fast im Wochenrhythmus erfahren wir, wie wieder mal ein Webdienst gehackt und Millionen von Datensätzen abgegriffen wurden. Erschreckenderweise benutzen diese Hacks oft immer noch erfolgreich Angriffe, gegen die es längst bekannte und einfach zu implementierende Gegenmaßnahmen gibt. Erfahren Sie in dieser Session alles Wichtige über typische Angriffe wie CSRF, Session-Hijacking oder SQL Injection. Lernen Sie, welche Gegenmaßnahmen es gibt, und welche Frameworks, Bibliotheken und Tools Sie bei der Implementierung unterstützen können.

    Read more

    Raus aus dem Featuredschungel – Webarchitekturoption statt Framework

    Talk Robert Glaser, Till Schulte-Coerne JAX 2015

    Komponenten? Templates? View Models? RESTfulness? Single Page? Hersteller von Webframeworks bombardieren uns Webinteressierte permanent mit angeblichen Killerfeatures und überlegenen Architekturen. Doch bei der Auswahl des richtigen Frameworks hilft uns das nicht.

    Dieser Vortrag soll wirkliche Unterschiede in der Architektur von Webframeworks aufzeigen und Kriterien zur Bewertung an die Hand geben, die über das Aufzählen von Features in blödsinnigen Featuretabellen hinausgehen – und dabei zeigen, dass Sie sich weniger für ein Framework als für eine Architekturoption entscheiden.

    Read more

    OAuth2 und OpenID Connect

    Talk Christoph Iserlohn, Simon Kölsch JAX 2015 Slides available

    Als Web-Nutzer möchte ich eigentlich nur eins: Endlich keine 100 verschiedene Passwörter mehr und trotzdem sichere Authentifizierung. OpenID und OAuth sind aus diesen Problemen heraus entstanden und über mehrere Jahre zu einer komplexen Sammlung an unterschiedlichen Spezifikationen gewachsen. Diese Session gibt einen Überblick über die Ideen dahinter, Einsatzzwecke und Funktionsweise.

    Read more
  • Hypermedia-APIs für das Internet of Things

    Talk Oliver Wolf JAX 2015 Slides available

    Ein wesentliches Merkmal von Diensteplattformen im Internet of Things ist deren hohe Dynamik. Verschiedenste Arten von autonom kommunizierenden “Dingen” können jederzeit kommen und gehen, stellen unterschiedlichste Arten von Informationen über sich und ihre Umwelt bereit und lassen sich ihrerseits auf vielfältige Weise von außen beeinflussen. Geht es nun darum, für solche Diensteplattformen Programmierschnittstellen zu schaffen, stellt sich eine Reihe von Fragen: Wie kann ein Nutzer einer solchen Schnittstelle “Dinge” finden? Wie kann er erkennen, welche Informationen “Dinge” liefern und was er mit ihnen tun kann? Und wie lässt sich das alles realisieren, ohne eine zu enge Kopplung zwischen Nutzer und “Dingen” zu erfordern?

    Zu diesen und vielen weiteren Fragen liefern hypermediagetriebene (REST-)Web-APIs eine überzeugende Antwort. Nach einer kurzen Einführung in die Grundlagen von Hypermedia zeigt dieser Vortrag anhand eines konkreten Projektbeispiels aus dem Bereich Smart Home, wie sich aktuelle Hypermediaformate sinnvoll einsetzen lassen, um flexible, erweiterbare und entwicklerfreundliche Programmierschnittstellen für das Internet of Things zu schaffen.

    Read more
  • Rails gegen Grails

    Article Dirk Lingstädt

    Das Angebot an Webframeworks ist üppig, allerdings durch natürliche Selektion und veränderte Ansprüche kleiner als noch vor ein paar Jahren. Die Optionen verringern sich, wenn eine dynamisch typisierte JVM-Sprache zum Einsatz kommen soll.

    Read more
  • Playing Nice: Designing and implementing well-behaved web APIs

    Talk Daniel Westheide Play Framework User Group Berlin Brandenburg

    Providing a great web API means being a well-behaved citizen of the web, and hence, to play nicely with all the other citizens out there: Browsers, caches, proxies, crawlers and so on.

    Unfortunately, the Play Framework, like many other web frameworks, does not offer a lot of help in implementing such a well-behaved web API. However, it turns out to be quite flexible and modular, so we can easily extend it or replace parts of it that stand in our way.

    In this talk, you will learn about principles for designing well-behaved web APIs and how to implement them with Play. Daniel will discuss where Play gets in the way, show how we can overcome those obstacles and introduce a few libraries to ease the development of REST APIs with Play.

    Read more
  • Frontend Dependency-Management in Rails

    Blog Post Roman Stranghöner

    Im letzten Blogpost über Bower sind viele Gründe für die Verwendung eines Dependency-Management Tools für Frontend-Komponenten genannt worden. Dieser Artikel soll dort anknüpfen, wo der letzte aufgehört hat, und eine Reihe von Möglichkeiten aufzeigen, mit denen Bower in ein fremdes Ökosystem integriert werden kann. Denn in der Regel trifft ein Webframework wie Ruby on Rails oder Play! eigene Vorgaben darüber wie Frontend-Artefakte von einer Webanwendung verwaltet und ausgeliefert werden. Im Folgenden wird Rails als populärer Vertreter eines Webframeworks für einige dieser Integrations-Strategien herhalten.

    Read more
  • Frontend Dependency-Management mit Bower

    Blog Post Roman Stranghöner

    Paket Management hat sich in so ziemlich jedem populären Ökosystem der Softwareentwicklung in irgendeiner Form breit gemacht. Und das nicht zu Unrecht: In den seltensten Fällen wird in einem Software-Projekt bei null angefangen. Ob Frameworks oder kleinere Bibliotheken, ein Software-Projekt besteht in der Regel aus vielen einzelnen Bausteinen, die zu einem größeren Ganzen zusammen gesetzt werden. Die Abhängigkeiten von Bausteinen zu Anderen lassen sich bis zu einem bestimmten Grad zwar manuell verwalten, mit zunehmender Größe eines Projekts ist dies auf lange Sicht aber weder praktikabel noch wartbar. Genau an dieser Stelle helfen Dependency-Management Tools dabei Bausteine neu hinzuzufügen, bestehende zu aktualisieren oder deren Abhängigkeiten aufzulösen.

    Read more
  • Self-Contained Systems

    Link Roman Stranghöner Speakerdeck

    Ein handliches Infodeck, das die Vorzüge einer Architektur aus Self-Contained Systems erläutert und diese mit einem monolithischen Ansatz vergleicht.

    Self-Contained Systems

    Link Roman Stranghöner Speakerdeck

    An infodeck comparing a monolith to a self-contained systems (SCS) approach.

  • Clojure in der Praxis

    Talk Philipp Schirmacher, Silvia Schreier Frankfurter Entwicklertag 2015

    Clojure ist eine JVM-Sprache, die das Unmögliche möglich macht: Ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp. Doch was bringt mir das bei meiner täglichen Arbeit? Wie setze ich die Entwicklungsumgebung auf? Wie löse ich die typischen Aufgaben? Wie kann ich Webserver bauen, JSON verarbeiten und auf Datenbanken zugreifen? Und vor allem: Warum sollte ich das mit Clojure tun und nicht eine der altbekannten Möglichkeiten verwenden? In dieser Session zeigen wir all das und machen die Teilnehmer fit für Clojure in der Praxis!

    Wir werden Clojure dabei in hands-on Sessions zur effizienten Realisierung einer Web-Anwendung verwenden. Dabei lernen wir ganz nebenbei funktionale Konzepte kennen, die mittlerweile in vielen Sprachen Einzug gehalten haben.

    Read more
  • Progressive Enhancement in der Praxis

    Talk Roman Stranghöner Cologne.js Slides available

    Sowohl das rapide Wachstum der weltweiten Nutzerzahlen als auch die Vielseitigkeit der Geräte, mit denen das Web zunehmend benutzt wird, stellen die Webentwicklung vor eine große Herausforderung: Wie erreicht man ein möglichst großes Publikum, erfüllt zeitgleich steigende Anforderungen durch neue Webstandards und entwickelt dabei eine wartbare, modulare und wiederverwendbare Codebasis?

    Dieser Vortrag soll anhand von praktischen Beispielen zeigen, dass Progressive Enhancement dabei helfen kann, diesen scheinbaren Widerspruch aufzulösen. Dieses Prinzip ermöglicht durch schichtweise Komposition der Kerntechnologien HTML, CSS und JavaScript sowie schrittweises Hinzufügen von Funktionalität die Umsetzung von interaktiven, robusten und zukunftssicheren Webanwendungen.

    Read more
  • Reaktive Webentwicklung mit Play und Scala

    Talk Tobias Neef Lightweight Java User Group München Slides available

    Dieser Talk bietet eine Einführung in das Play Framework und dessen reaktiven Werkzeugen. Wer schon immer mal wissen wollte warum man Scala für die Webentwicklung einsetzen sollte, was das Ganze mit reaktiver Programmierung zu tun hat und warum ich mich als genesenden Spring Entwickler sehe, für den ist dieser Talk das Richtige.

    Read more
  • Bower on Rails – Frontend Dependency-Management in Rails

    Talk Roman Stranghöner Ruby User Group Köln Slides available

    Das explizite Verwalten und automatische Auflösen von Source-Code Abhängigkeiten hat sich bereits in vielen technischen Ökosystemen durchgesetzt. Und spätestens seit Bower ist Dependency-Management auch für Frontend-Komponenten in aller Munde.

    Bewegt man sich im Rails Umfeld, gibt es mit Rake, Bundler und der Asset-Pipeline verschiedene Möglichkeiten ein Dependency-Management Tool wie Bower zu integrieren. Dieser Talk hat zum Inhalt, welche Lösungsansätze es dafür mittlerweile gibt, welche Vor- und Nachteile diese bieten und was man dabei beachten sollte.

    Read more
  • A practical introduction into Web Development with Play

    Talk Tobias Neef Rhein Main Scala Enthusiasts

    Tobias Neef from innoQ will give us a very practical intro into the Play Framework, by actually showing how a web application is built. The presentation will demonstrate how Play integrates various aspects of web application development (Frontend, API, Domain) into a platform for building ergonomic software without much noise and without sacrificing evolvability.

    Read more
  • Building well-behaved web APIs with Play: The obstacles and how to overcome them

    Talk Daniel Westheide Amsterdam.scala Talks & Drinks

    Building applications that follow the REST architectural style can be quite cumbersome. Like most other web frameworks out there, the Play Framework does not support you a lot in building well-behaved web APIs. On the other hand, it makes implementing not-so-restful HTTP APIs super easy. As a consequence, developers choose the path of least resistance.

    However, the Play Framework is actually quite flexible and modular, so we can replace parts that hinder us and add abstractions that help building RESTful web APIs.

    After a motivational introduction to the nature of truly RESTful web APIs, Daniel will explain where Play gets in the way of building them and show how we can overcome these obstacles. I will introduce libraries for supporting common hypermedia formats and show how to implement Play-based web APIs in a resource-oriented manner.

    Read more
  • Ruby on Rails

    Podcast Robert Glaser, Stefan Tilkov

    In dieser Folge spricht Robert Glaser mit Stefan Tilkov über das Web-Framework Ruby on Rails. Robert stellt die Hauptbestandteile und aktuellen Neuerungen des Frameworks vor und schildert seine Erfahrungen im täglichen Umgang mit Rails. Read more
  • Clojure in der Praxis

    Talk Philipp Schirmacher, Silvia Schreier W-JAX 2014 Slides available

    Clojure ist eine JVM-Sprache, die das Unmögliche möglich macht: Ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp. Doch was bringt mir das bei meiner täglichen Arbeit? Wie setze ich die Entwicklungsumgebung auf? Wie löse ich die typischen Aufgaben? Wie kann ich Webserver bauen, JSON verarbeiten und auf Datenbanken zugreifen? Und vor allem: Warum sollte ich das mit Clojure tun und nicht eine der altbekannten Möglichkeiten verwenden? In dieser Session zeigen wir all das und machen die Teilnehmer fit für Clojure in der Praxis!

    Read more
  • Progressive Enhancement in der Praxis

    Talk Roman Stranghöner WebTech Conference 2014 Slides available

    Sowohl das rapide Wachstum der weltweiten Nutzerzahlen als auch die Vielseitigkeit der Geräte, mit denen das Web zunehmend benutzt wird, stellen die Webentwicklung vor eine große Herausforderung: Wie erreicht man ein möglichst großes Publikum, erfüllt zeitgleich steigende Anforderungen durch neue Webstandards und entwickelt dabei eine wartbare, modulare und wiederverwendbare Codebasis?

    Dieser Vortrag soll anhand von praktischen Beispielen zeigen, dass Progressive Enhancement dabei helfen kann, diesen scheinbaren Widerspruch aufzulösen. Dieses Prinzip ermöglicht durch schichtweise Komposition der Kerntechnologien HTML, CSS und JavaScript sowie schrittweises Hinzufügen von Funktionalität die Umsetzung von interaktiven, robusten und zukunftssicheren Webanwendungen.

    Read more
  • Hypermedia APIs für das Internet of Things

    Talk Oliver Wolf Internet of Things Conference Slides available

    Ein wesentliches Merkmal von Diensteplattformen im Internet of Things ist deren hohe Dynamik. Verschiedenste Arten von autonom kommunizierenden “Dingen” können jederzeit kommen und gehen, stellen unterschiedlichste Arten von Informationen über sich und ihre Umwelt bereit und lassen sich ihrerseits auf vielfältige Weise von außen beeinflussen. Geht es nun darum, für solche Diensteplattformen Programmierschnittstellen zu schaffen, stellen sich eine Reihe von Fragen: Wie kann ein Nutzer eine solchen Schnittstelle “Dinge” finden? Wie kann er erkennen, welche Informationen “Dinge” liefern und was er mit ihnen tun kann? Und wie lässt sich das alles realisieren, ohne eine zu enge Kopplung zwischen Nutzer und “Dingen” zu erfordern?

    Zu diesen und vielen weiteren Fragen liefern hypermedia-getriebene (REST-)Web APIs eine überzeugende Antwort. Nach einer kurzen Einführung in die Grundlagen von Hypermedia zeigt dieser Vortrag anhand eines konkreten Projektbeispiels aus dem Bereich Smart Home, wie sich aktuelle Hypermedia-Formate sinnvoll einsetzen lassen, um flexible, erweiterbare und entwicklerfreundliche Programmierschnittstellen für das Internet of Things zu schaffen.

    Read more
  • Eine Website — viele Geräte

    Podcast Robert Glaser, Roman Stranghöner, Till Schulte-Coerne

    Eine Website sollte unabhängig von der Größe des Browser-Fensters funktionieren und ihren Inhalt in optimaler Form darstellen. Dies ist die Grundidee von Responsive Web-Design. Robert Glaser und Roman Stranghöner berichten in dieser Folge von ihren Erfahrungen mit diesem Ansatz sowie von den zu Grunde liegenden Techniken und Ideen. Read more
  • REST und RESTful HTTP: Was es ist – und was nicht

    Talk Stefan Tilkov Developer Week 2014

    REST gehört mittlerweile zum guten Ton: Was auch immer wir ansehen, ob Produkt, Dienst oder Framework: Überall wimmelt es nur so von Dingen, die behaupten, „RESTful“ zu sein. Aber wie immer, wenn etwas gerade in Mode ist, handelt es sich dabei um Etikettenschwindel. In diesem Vortrag beginnen wir mit einer pragmatischen Einführung in die Grundlagen von REST, des Architekturstils des Webs, bevor wir den größten Teil unserer Zeit damit verbringen, uns die häufigsten Irrtümer und Missverständnisse rund um das Thema anzusehen.

    Read more
  • “REST”: I don’t Think it Means What You Think it Does

    Talk Stefan Tilkov goto Amsterdam 2014

    These days, REST has become truly fashionable. No matter what system, product or service we look at, everything claims to offer a “REST API”. But as is often the case with technical concepts that gain acceptance, many instances just stick the label on something that really doesn’t meet expectations. This session will start with a pragmatic introduction to the basic principles of the Web’s architectural approach. Next, we’ll spend the majority of the time looking at the most common misconceptions, and conclude with an extended Q&A.

    Read more
  • ROCA im Java-EE-Kontext - Endlich webkonforme Anwendungen bauen!

    Talk Holger Kraus, Frederik Dohr BEDcon 2014 Slides available

    ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz zur Entwicklung von Webanwendungen, der sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet.

    Dieser Ansatz fördert Anwendungen, die sowohl robust und wartbar sind, als auch modernen Ansprüchen hinsichtlich der Benutzerfreundlichkeit Rechnung tragen. Dabei ist ROCA im Kern nichts Neues, sondern eine Rückbesinnung auf die klassische Architektur des Webs.

    In Java-Enterprise-Projekten wird dagegen oft auf der Basis von statusbehafteten Komponenten-Server-Frameworks entwickelt. In diesem Umfeld muss man als Architekt oder Entwickler deshalb oft Überzeugungsarbeit leisten. Der Vortrag stellt die Kernelemente von ROCA vor und diskutiert, welche Optionen es zur Umsetzung im Java-EE-Kontext gibt, mit welchen Schwierigkeiten man zu kämpfen hat und warum es trotzdem eine gute Idee ist.

    Read more

    REST: Implementierungsansätze auf der JVM

    Talk Stefan Tilkov, Martin Eigenbrodt BEDcon 2014 Slides available

    REST-basierte APIs werden immer populärer, und damit steigt auch die Anzahl von Bibliotheken und deren Mächtigkeit. In diesem Vortrag wollen wir die Theorie auf das absolute Minimum begrenzen und ganz praktisch zeigen, wie man REST-APIs mit Java und anderen JVM-Sprachen realisiert.

    Die Verwendung von verschiedenen Sprachen, Bibliotheken und Frameworks gibt uns die Chance, die unterschiedlichen Lösungsansätze für Aufgaben und Problemstellungen wie URL/Pfad-Mapping, (Un)Marshalling, Content Negotiation, Caching und Headermanipulation sowie deren Vor- und Nachteile gegenüberzustellen – und bei der Gelegenheit auch gleich die Stärken und Schwächen der jeweiligen Umgebung zu betrachten.

    Read more
  • Architektur 201x: Neue Konzepte für die Architektur komplexer Systeme

    Talk Stefan Tilkov JavaLand 2014 Slides available

    Während im Enterprise-Umfeld Systeme häufig immer noch nach denselben Mustern entworfen werden wie vor 10 oder 15 Jahren, haben sich die Dinge in den immer größer werdenden Internet-Plattformen, -Diensten und Anwendungen der bekannten Internet-Anbieter dramatisch weiterentwickelt. In diesem Vortrag wird diskutiert, wie sich nach Mustern aus diesem Umfeld und mit der Maxime “weniger ist mehr” kleinere Systeme sehr viel effizienter entwickeln und diese dann zu großen Systemlandschaften zusammensetzen lassen.

    Read more

    Tragfähige Frontend-Architekturen

    Talk Till Schulte-Coerne JavaLand 2014 Slides available

    Nutzer von Webanwendungen erwarten heutzutage zurecht ein gewisses Maß an Dynamik und Komfort in den Frontends, das weit über die nativen Fähigkeiten von HTML hinausgeht. Begegnet man dieser Anforderung ohne ein klares Konzept, führt dies fast immer zu Wildwuchs und unwartbarem JavaScript-Code.

    Dieser Vortrag soll zwei Möglichkeiten gegenüberstellen, die diesem Problem eine klare Frontend-Architektur entgegenstellen: ROCA und Single-Page-Anwendungen.

    ROCA bzw. Unobtrusive JavaScript ist ein Ansatz, der vom Server kommend versucht, JavaScript eine klare Rolle zuzuweisen und so beherrschbar zu halten. Dies basiert im Kern auf dem Prinzip des “Progressive Enhancement”, also auf dem sukzessiven Hinzufügen von Features genau dann, wenn die Zielplattform diese auch unterstützt. Progressive Enhancement wird oft als das klassische Prinzip der Web-Frontend-Architektur angesehen, auch wenn es in der Praxis selten konsequent umgesetzt wird.

    Single-Page-Anwendungen stellen eine weitaus radikalere aber ebenso tragfähige Variante dar, bei der weitgehend auf Applikationslogik im Server verzichtet wird, da die Anwendung meist vollständig in JavaScript implementiert ist. Dies resultiert in einem Programmiermodell, in dem das Client-Server-Problem fast gänzlich verschwindet, was erheblich zur Reduktion von Komplexität beitragen kann.

    Read more
  • Sicherheit von IT-Systemen

    Podcast Willem van Kerkhof, Stefan Tilkov

    Willem van Kerkhof spricht mit Stefan Tilkov über die Sicherheit von IT-Systemen. Allgemeine nichttechnischen Aspekte, wie die Wahl von Passwörtern, sind dabei mindestens genauso wichtig wie technische Implikationen beispielsweise zur Absicherung von Web-Anwendungen. Read more
  • Behavioural Abstractions in Play Framework

    Talk Tobias Neef Ping Conference Slides available

    Play is a framework which allows you to kick start your project with a meaningful initial structure. But projects evolve and with them the need to modularize the application into independent components, which can be combined, configured and reused.

    Fortunately Play offers tooling like Actions, Filters and Plug-ins, which help with abstracting over common problems classes. This talk focuses on patterns for modularising behavioural and structural aspects of a Play application, based on experiences gained in real life Play projects.

    Read more
  • Web Development mit Clojure

    Talk Stefan Tilkov, Philipp Schirmacher W-JAX 2013

    Clojure ist eine JVM-basierte funktionale Sprache mit besonderen Konzepten, die das Unmögliche möglich macht: Ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp. In dieser Session zeigen wir nach einer Minimaldosis Theorie, wie mit Clojure und einem Satz von Open-Source-Bibliotheken effizient und eine hochqualitative Webanwendung realisiert werden kann.

    Read more

    ROCA: Resource-oriented Client Architecture

    Talk Stefan Tilkov, Till Schulte-Coerne W-JAX 2013

    Eingezwängt zwischen statusbehafteten Komponenten-Server-Frameworks auf der einen und Single-Page-Apps auf der anderen Seite könnte man meinen, die klassische Architektur von Webanwendungen hätte ausgedient. Das stimmt jedoch keineswegs: Schöpft man das Potenzial des Webs vernünftig aus, so stellt man fest, dass es gerade ohne ein Verbiegen der Grundprinzipien möglich ist, skalierbare und ergonomische Anwendungen zu entwickeln. ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz, der diesem Muster folgt und sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet.

    Read more

    Von passiven zu aktiven APIs

    Talk Stefan Tilkov, Oliver Wolf W-JAX 2013 Slides available

    REST-APIs sind ein wesentlicher Erfolgsfaktor für moderne webbasierte Dienste. Viele APIs verlangen jedoch vom Nutzer detailliertes Wissen über mögliche Aktionen auf exponierten Ressourcen, obwohl dies bei konsequenter Nutzung von Hypermedia vermeidbar wäre. In diesem Vortrag zeigen wir anhand konkreter Beispiele, wie man von solchen passiven zu hypermediagetriebenen, aktiven APIs kommt.

    Read more
  • Web API DOs and DON’Ts

    Talk Oliver Wolf GOTO Berlin Conference 2013 Slides available

    Web APIs are have become ubiquitous nowadays – there’s hardly any internet-based service that doesn’t rely on APIs to extend its reach beyond its own web site and, most importantly, into the mobile world.

    As we see ongoing progress made towards the application of advanced concepts such as hypermedia, it becomes increasingly important to strike the right balance between technical sophistication on one hand and simplicity and conciseness on the other hand.

    In this session, I’m going to talk about common pitfalls and challenges encountered when designing, implementing, deploying and operating Web APIs and highlight a couple of best practices that help ensure your API strategy becomes a success.

    Read more
  • Web Development: You’re Doing it Wrong

    Talk Stefan Tilkov GOTO Berlin Conference 2013

    Even without any sort of programming framework with lots of abstraction layers and fancy tooling, the Web platform is one of the most powerful environments for distributed and collaborative systems. If, that is, we actually /use/ it instead of continuously /abusing/ it through trying to turn it into something it’s not. In this session, we’ll challenge many commonly-held assumptions about how to best develop web applications. Even though we’ll briefly touch the REST architectural style, most of the time will be spent discussing the strengths and ideal roles for HTML, CSS, JavaScript and their connection to the Web’s core standards, HTTP and URIs. We’ll see how a focus on simplicity and moderate use of technologies can lead to great applications that integrate well, scale well, are fun to develop, and are maintainable in the long run.

    Read more
  • Tutorial: Entwicklung von Web-Applikationen mit web2py

    Talk Christoph Iserlohn PyCon.DE 2013

    Web2py ist ein umfassendes und leistungsstarkes Web-Framework, welches den Vergleich mit den etablierten Python basierten Web-Frameworks nicht scheuen braucht. Einfach in der Handhabung bietet web2py alles was man für die Entwicklung von schnellen, sicheren und skalierbaren Web-Applikationen braucht.

    Dieses Tutorial führt die Teilnehmern von der Installation bis zur ersten eigenen Web-Applikation.

    Teilnehmer sollten Grundkenntnisse in HTML und Python-Programmierung mitbringen.

    Read more
  • ROCA: Keine Angst vor HTML und JavaScript

    Article Phillip Ghadir

    ROCA ist ein Architekturstil zur Entwicklung anständiger und zukunftsfähiger Web-Frontends. Er umfasst eine Reihe von Empfehlungen sowohl für die Client- als auch für die Serverseite. Der ROCA-Stil erfordert von vielen Java-Entwicklern ein gewisses Umdenken. Grund genug, sich den Stil genauer anzuschauen.

    Read more
  • CSS-Präprozessoren

    Podcast Roman Stranghöner, Falk Hoppe, Stefan Tilkov

    Roman Stranghöner und Falk Hoppe sprechen mit Stefan Tilkov über die Möglichkeit, die Verwendung von CSS mit Hilfe von Präprozessoren zu vereinfachen und besser in die Gesamtarchitektur von Webanwendungen einzubetten. Read more
  • CSS-Architektur

    Podcast Roman Stranghöner, Falk Hoppe, Stefan Tilkov

    Falk Hoppe und Roman Stranghöner sprechen mit Stefan Tilkov über die Architekturaspekte von CSS. Read more
  • RoR + DynamoDB = ?

    Talk Silvia Schreier JRubyConf 2013 Slides available

    We are currently developing a Ruby on Rails application with Amazon’s DynamoDB. Using a NoSQL cloud service and especially DynamoDB with its particular restrictions entails a lot of challenges.

    We will share our experiences using DynamoDB in general and in combination with Ruby (and Rails) to help you to decide if you want to use DynamoDB for your project (or not). We also provide a list of things you should to keep in mind if you start using DynamoDB. These range from managing your database, over mapping your model to the database, up to testing. Furthermore, we present the design and technical details of our persistence module.

    Read more
  • Frontend-Optimierung von Webanwendungen

    Podcast Till Schulte-Coerne, Stefan Tilkov

    In dieser Episode unterhält sich Till Schulte-Coerne mit Stefan Tilkov über die Frontend-Optimierung bei Webanwendungen. Till macht dabei darauf aufmerksam, dass Geschwindigkeit nicht nur im Backend verbessert werden kann und stellt verschiedene Möglichkeiten zum Optimieren vor. Read more
  • Im Web zu Hause

    Article Frederik Dohr, Till Schulte-Coerne

    Die Resource-oriented Client Architecture stellt einen Gegenpol zum Trend dar, Logik auf den Client zu verlagern. Zum Einsatz kommen dabei vertraute Webtechniken, welche die Entwicklung zeitgemäßer, ergonomischer, robuster, skalierbarer und wartbarer Webanwendungen unterstützen.

    Read more
  • Von passiven zu aktiven APIs

    Talk Stefan Tilkov, Oliver Wolf JAX 2013 Slides available

    REST-APIs sind ein wesentlicher Erfolgsfaktor für moderne webbasierte Dienste. Viele APIs verlangen jedoch vom Nutzer detailliertes Wissen über mögliche Aktionen auf exponierten Ressourcen, obwohl dies bei konsequenter Nutzung von Hypermedia vermeidbar wäre. In diesem Vortrag zeigen wir anhand konkreter Beispiele, wie man von solchen passiven zu Hypermedia-getriebenen aktiven APIs kommt.

    Read more
  • ROCA: Embrace the Web

    Talk Frederik Dohr, Willem van Kerkhof Booster

    (cf. http://2013.boosterconf.no/talks/163)

    Highly interactive web applications have long overtaken static pages as the dominant face of the web as perceived by end users, leading to the much-hyped term “Web 2.0”. Although the precise meaning of that term remains ill-defined, a responsive interaction experience and the possibility to utilize user-generated data are certainly among its core aspects. Considering a growing range of end-user devices and new browser APIs in different stages of maturity, web developers today are faced with a dramatic increase in possibilities and challenges.

    Apart from these technological advances, a host of new architectural approaches to building web applications has emerged in the past few years. All of these approaches can be classified along a spectrum ranging from server-side to client-side emphasis, with great differences in the level of “web awareness” expected of developers.

    ROCA (http://roca-style.org) is an attempt to capture a common - if recently somewhat neglected - approach which leverages both server-side and client-side capabilities while emphasizing the authority of the server-side for essential application logic. By building on the well-understood nature of the web, this approach not only preserves the virtues of the web without sacrificing user experience, it also leads to cleaner and more maintainable software architectures.

    This tutorial will explain the basic proposition of ROCA, provide various hands-on exercises and serve as a forum for discussing conceptual and implementation issues.

    Participants should have at least a basic understanding of HTML, JavaScript and REST principles.

    Read more
  • Architekturkonzepte für große Webanwendungen

    Talk Stefan Tilkov OOP 2013

    “Früher hatten Unternehmen Websites, heute sind sie Websites” - auch wenn dieses Bonmot nicht immer zutrifft, ist doch klar, dass Webanwendungen immer wichtiger werden, ob nun für den externen oder internen Gebrauch. In dieser Session befassen wir uns mit Entwicklungs-, Modularisierungs-, Betriebs- und Organisationskonzepten großer Web-Systeme. Wir betrachten die Rolle verschiedener Frontend- und Backend-Technologien und adressieren Fragen nach Ergonomie, Skalierbarkeit, Performance, aber auch Nachhaltigkeit und Investitionsschutz.

    Sie lernen:

    • Große Web-Anwendungen beherrschen, sowohl im öffentlichen Web wie auch unternehmensintern

    • Einheitliches Look & Feel trotz Modularisierung und Dekomposition

    • Technische Herausforderungen verstehen und adressieren können

    Read more
  • NodeJS

    Talk Stefan Tilkov eJug Seminar

    Node.js ist ein Framework zur Umsetzung von Netzwerkapplikationen in JavaScript, dessen Unterstützung für Funktionen höherer Ordnung perfekt zu einem Programmiermodell passt, das Non-blocking I/O in den Mittelpunkt stellt. In dieser Session wird Node.js und das umgebende Ökosystem vorgestellt und gezeigt, wie sich auf dieser Basis hochperformante Clients und Server implementieren lassen.

    Read more
  • ROCA

    Article Falk Hoppe, Till Schulte-Coerne, Stefan Tilkov

    Eingezwängt zwischen statusbehafteten, serverseitigen Komponenten-Frameworks auf der einen und Single-Page-Apps auf der anderen Seite könnte man meinen, die klassische Architektur von Webanwendungen hätte ausgedient. Das stimmt jedoch keineswegs: Schöpft man das Potenzial des Webs vernünftig aus, so stellt man fest, dass es gerade ohne ein Verbiegen der Grundprinzipien möglich ist, skalierbare und ergonomische Anwendungen zu entwickeln. ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz, der diesem Muster folgt und sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet.

    Read more
  • ROCA: Resource-oriented Client Architecture

    Talk Stefan Tilkov, Till Schulte-Coerne W-JAX 2012

    Eingezwängt zwischen statusbehafteten Komponenten-Server-Frameworks auf der einen und Single-Page-Apps auf der anderen Seite könnte man meinen, die klassische Architektur von Webanwendungen hätte ausgedient. Das stimmt jedoch keineswegs: Schöpft man das Potenzial des Webs vernünftig aus, so stellt man fest, dass es gerade ohne ein Verbiegen der Grundprinzipien möglich ist, skalierbare und ergonomische Anwendungen zu entwickeln. ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz, der diesem Muster folgt und sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet.

    Read more
  • RESTful HTTP - Beyond the Intro Level

    Talk Stefan Tilkov W-JAX 2012

    There is probably no developer left who hasn’t been exposed to at least one introduction to REST, and most have by now gathered some first-hand experience. In this session, there will be no introduction, only advanced stuff, such as hypermedia aspects, security, format/resource/representation design, and implementation issues - with room for lots of questions (and hopefully, answers).

    Read more
  • Power Workshop: RESTful HTTP in der Praxis

    Talk Stefan Tilkov, Phillip Ghadir W-JAX 2012

    In diesem Workshop lernen Sie die unter dem Begriff “REST” (REpresentational State Transfer) beschriebenen Prinzipien kennen und erfahren, wie auch fortgeschrittene Problemstellungen auf Basis der Architektur des Web gelöst werden können. Dabei wird vor allem auf die Architekturaspekte Wert gelegt und es werden sowohl grundlegende als auch weiterführende Aspekte behandelt. REST - Historie und Grundprinzipien REST vs. Web Services Patterns und Antipatterns Java-Frameworks für Clients und Server Einsatz von HTTP Caching Fortgeschrittene Use Cases: zuverlässige Zustellung, Sicherheit, Integrationsaspekte

    Read more
  • Stop flying blind. Profiling your App’s Internals

    Talk Robert Glaser WebTech Conference 2012 Slides available

    Your Rails app has gone into production and thus has a lot to tell you. Learn how to take advantage of the notification system Rails provides and why manually parsing log files is a bad idea almost every time.

    Read more
  • ROCA: Resource-oriented Client Architecture

    Talk Stefan Tilkov WebTech Conference 2012

    Eingezwängt zwischen statusbehafteten Komponenten-Server-Frameworks auf der einen und Single Page Apps auf der anderen Seite könnte man meinen, die klassische Architektur von Webanwendungen hätte ausgedient. Das stimmt jedoch keineswegs: Schöpft man das Potenzial des Webs vernünftig aus, so stellt man fest, dass es gerade ohne ein Verbiegen der Grundprinzipien möglich ist, skalierbare und ergonomische Anwendungen zu entwickeln. ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz, der diesem Muster folgt und sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet.

    Read more

    RESTful HTTP - Beyond the Intro Level

    Talk Stefan Tilkov WebTech Conference 2012

    There is probably no developer left who hasn’t been exposed to at least one introduction to REST, and most have by now gathered some first-hand experience. In this session, there will be no introduction, only advanced stuff, such as hypermedia aspects, security, format/resource/representation design, and implementation issues - with room for lots of questions (and hopefully, answers).

    Read more
  • RESTful HTTP für SOA: Stand der Dinge

    Talk Stefan Tilkov JAX on Tour 2012

    Eine Einführung in REST und RESTful HTTP benötigen die meisten Architekten nicht mehr. Wie aber sieht es aus, wenn man sich tatsächlich dafür entschieden hat, den Architekturstil des Webs für eigene Architekturen konkret auszuprägen? Nach der (versprochen!) kürzesten REST-Einführung der Welt werden in dieser Session bewusst die Probleme angesprochen, die sich bei der konkreten Umsetzung in der Praxis stellen. Ein besonderer Schwerpunkt liegt dabei auf Hypermedia-Aspekten, Sicherheit, Format-, Ressourcen- und Repräsentationsdesign und Implementierungsstrategien – mit reichlich Raum für Fragen und Antworten.

    Read more
  • Webanwendungen mit dem Play!-Framework

    Article Phillip Ghadir, Philipp Haußleiter

    Das Play!-Framework ist ein recht junges, vollständiges MVC-Framework, das den Charme von Ruby on Rails hat. Aber anstatt unreflektiert jede Entwurfsentscheidung von Rails ins Play!-Framework zu übernehmen - wie das manch andere Rails-Klone gemacht haben -, haben die Entwickler darauf geachtet, es so zu konstruieren, dass es sich gut in das Ökosystem eines typischen Java-Entwicklers einfügt.

    Read more
  • Stop flying blind. Profiling your App’s Internals

    Talk Robert Glaser RailsWayCon 2012 Slides available

    Your Rails app has gone into production and thus has a lot to tell you. Learn how to take advantage of the notification system Rails provides and why manually parsing log files is a bad idea almost every time.

    Read more
  • Web und Cloud fürs Unternehmen – was interessieren uns schon Twitter, Facebook, Google und Co.?

    Talk Stefan Tilkov, Oliver Wolf OOP 2012

    Natürlich ist interessant, was die ganz Großen im Web tun, um mit der Last von mehreren Hundert Millionen Benutzern fertig zu werden. Aber welche konkreten Lehren können Entwickler in Unternehmen daraus ziehen? Der Vortrag beschreibt, welche Prinzipien und Ansätze auf den Kontext einer Unternehmensanwendung und auf kleinere externe Web-Anwendung übertragbar sind.

    Read more
  • Moderne Web-Architektur

    Talk Till Schulte-Coerne, Stefan Tilkov OOP 2012

    Die Architekturen von Web-Anwendungen haben sich in den letzten Jahren rasant entwickelt. In diesem Tutorial wird gezeigt, wie eine Web-Anwendung State-of-the-Art aufgebaut wird. Dabei stehen keine Programmiersprache oder einzelne Frameworks, sondern die Gesamtarchitektur im Mittelpunkt, vom optimierten Frontend über eine modulare und skalierbare Geschäftslogik bis hin zur passenden Persistenz. Buzzwords wie REST, Distributed Caching, Sharding, NoSQL werden dabei enttarnt und auf ihre konkreten Auswirkungen auf die Architektur hin untersucht.

    Read more
  • Workshop: Architekturen für hochskalierbare Webanwendungen

    Talk Stefan Tilkov, Till Schulte-Coerne W-JAX 2011

    Für die Entwicklung von Webanwendungen gibt es eine ganze Reihe unterschiedlicher Realisierungsalternativen. Die Entscheidung für eine bestimmte Programmiersprache oder ein bestimmtes Webframework ist dabei nur ein kleiner Baustein, denn eine Webanwendung, insbesondere wenn Sie hohen, nichtfunktionalen Anforderungen unterliegt, ist eine Gesamtlösung, die aus vielen individuell entwickelten, aber auch vielen Standardkomponenten besteht. Der Workshop beschäftigt sich dazu mit den zum Teil wenig bekannten Details der Basisprotokolle, mit den Auswirkungen, die sich aus der internen Anwendungsarchitektur für die Gesamtarchitektur ergeben, mit Frontend-Optimierungen und der Einbettung in die Gesamtinfrastruktur aus Standardkomponenten wie Intermediaries und den Invidualbestandteilen.

    Read more
  • Node.js: eine Einführung

    Talk Stefan Tilkov W-JAX 2011

    Node.js ist ein Framework zur Umsetzung von Netzwerkapplikationen in JavaScript, dessen Unterstützung für Funktionen höherer Ordnung perfekt zu einem Programmiermodell passt, das Non-blocking I/O in den Mittelpunkt stellt. In dieser Session wird Node.js und das umgebende Ökosystem vorgestellt und gezeigt, wie sich auf dieser Basis hochperformante Clients und Server implementieren lassen.

    Read more
  • Rails Engines. Doing it wrong. And then right.

    Talk Robert Glaser RailsWayCon 2011 Slides available

    The session should show the big advantages that the engines feature brings since Rails 3.0. On the other hand it should also hint on the possible pitfalls based on a real life project. After using engines extensively in a government project, there are lots of practical experience that can be shared. - How are we using engines? - What have we done wrong/right? - What are we still not able to do?

    Read more
  • MongoDB on Rails 3, a successful real world struggle

    Talk Willem van Kerkhof RailsWayCon 2011

    In this session we will briefly cover the basic aspects of MongoDB, its differences to other DBMS and its use in Rails 3 using Mongoid. The main focus will however be on problems and caveats encountered and solved during a recent real-world dating platform project involving n-to-n matching and not-so-trivial queries causing huge initial performance problems.

    Read more
  • Architekturen für hochskalierbare Webanwendungen

    Talk Stefan Tilkov, Till Schulte-Coerne JAX 2011

    Für die Entwicklung von Webanwendungen gibt es eine ganze Reihe unterschiedlicher Realisierungsalternativen. Die Entscheidung für eine bestimmte Programmiersprache oder ein bestimmtes Webframework ist dabei nur ein kleiner Baustein. Denn eine Webanwendung, insbesondere wenn Sie hohen, nichtfunktionalen Anforderungen unterliegt, ist eine Gesamtlösung, die aus vielen individuell entwickelten, aber auch vielen Standardkomponenten besteht. Der Workshop zeigt zunächst systematisch, aus welchen Architekturelementen eine Webanwendung bzw. Website besteht. Für die verschiedenen Schichten werden verschiedene State-of-the-Art-Alternativen vorgestellt. Diese werden schließlich in Beziehung zu unterschiedlichen Anforderungen wie Entwicklungs- und Betriebskosten, Verfügbarkeit, Konsistenz, Performance, Wartbarkeit und Investitionssicherheit gesetzt.

    Read more
  • Architekturen für hochskalierbare Webanwendungen

    Talk Stefan Tilkov, Till Schulte-Coerne Entwickler Tage 2011

    Der Workshop besteht aus detaillierten Betrachtungen der Protokolle und gängiger Technologien sowie aus der Beleuchtung verschiedener Szenarien und Architekturvarianten diese sinnvoll einzusetzen. Dabei ist er aber größtenteils unabhängig von Frameworks bzw. Programmiersprachen gestaltet und beleuchtet diese höchstens am Rande. Der Workshop soll ein umfassendes Bild verschiedener Varianten zur Erstellung von Web-Applikationen für unterschiedliche Einsatzszenarien vermitteln, wofür Vor- und Nachteile verschiedener Ansätze diskutiert werden. Außerdem werden Architekturen und Methoden vorgestellt, um sichere und performante Webanwendungen zu entwickeln sowie vorhandene Anwendungen zu beschleunigen bzw. zu entlasten.

    Read more
  • Enterprise Google? Nutzung von Google-Services im Unternehmen

    Talk Stefan Tilkov, Till Schulte-Coerne OOP 2011

    Mit der Google App Engine (GAE) und den GData-Services stellt Google eine Cloud Computing-Plattform zur Verfügung, die auch Normalsterblichen höchstmögliche Skalierbarkeit bieten soll. Aber ist sie auch für einen Unternehmenseinsatz geeignet? In dieser Session betrachten wir nach einer kurzen Einführung die Herausforderungen, die sich beim Einsatz der Google-Plattform im Enterprise-Kontext ergeben, insbesondere bei der Integration in hybride Gesamtlösungen.

    Read more
  • NoSQL - Einsatzgebiete für die neue Datenbank-Generation

    Article Dirk Lingstädt

    NoSQL ist derzeit in aller Munde, obwohl manche Konzepte und Technologien schon seit Jahrzehnten bestehen. Der Begriff umspannt inzwischen derart viele Datenbank-Kategorien und -Produkte, dass es oft zu Verwirrungen und falschen Annahmen über den geeigneten Einsatz kommt. Dieser Artikel betrachtet anhand konkreter Beispielszenarien die Kriterien, die bei der Entscheidung für ein klassisches relationales Datenbanksystem oder eine der NoSQL-Varianten eine Rolle spielen.

    Read more
  • Power Workshop „Architekturen für hochskalierbare Webanwendungen“

    Talk Stefan Tilkov, Till Schulte-Coerne w-jax 10

    Für die Entwicklung von Webanwendungen gibt es eine ganze Reihe unterschiedlicher Realisierungsalternativen. Die Entscheidung für eine bestimmte Programmiersprache oder ein bestimmtes Webframework ist dabei nur ein kleiner Baustein. Denn eine Webanwendung - insbesondere, wenn Sie hohen nichtfunktionalen Anforderungen unterliegt - ist eine Gesamtlösung, die aus vielen individuell entwickelten, aber auch vielen Standardkomponenten besteht. Der Workshop zeigt zunächst systematisch, aus welchen Architekturelementen eine Webanwendung bzw. Website besteht. Für die verschiedenen Schichten werden verschiedene State-of-the-art-Alternativen vorgestellt. Diese werden schließlich in Beziehung zu unterschiedlichen Anforderungen wie Entwicklungs- und Betriebskosten, Verfügbarkeit, Konsistenz, Performance, Wartbarkeit und Investitionssicherheit gesetzt.

    Read more
  • HTML 5

    Talk Till Schulte-Coerne w-jax 10

    Der neue HTML-Standard wird voraussichtlich neben einer Reihe neuer Elemente auch einige Veränderungen unter der Haube mitbringen. Dieser Vortrag soll einen kurzen Einblick in den aktuellen Stand der Spezifikation bieten. Darüber hinaus soll er vermitteln, welche Features schon jetzt sinnvoll eingesetzt werden können, ohne nicht kompatible Browser von der Darstellung einer Webseite auszuschließen.

    Read more
  • Ruby on Rails

    Talk Robert Glaser WebAppDays 2010

  • Workshop Webarchitektur – Architekturen für hochskalierbare Webanwendungen

    Talk Till Schulte-Coerne, Stefan Tilkov JAX 2010

    Für die Realisierung von Webanwendungen gibt es ganze Reihe unterschiedlicher Realisierungsalternativen. Die Entscheidung für eine bestimmte Programmiersprache oder ein bestimmtes Webframework ist dabei nur ein kleiner Baustein. Denn eine Webanwendung - insbesondere, wenn Sie hohen nicht funktionalen Anforderungen unterliegt - ist eine Gesamtlösung, die aus vielen individuell entwickelten, aber auch vielen Standardkomponenten besteht. Der Workshop zeigt zunächst systematisch, aus welchen Architekturelementen eine Webanwendung bzw. Website besteht. Für die verschiedenen Schichten werden verschiedene State-of-the-art-Alternativen vorgestellt. Diese werden schließlich in Beziehung zu unterschiedlichen Anforderungen wie Entwicklungs- und Betriebskosten, Verfügbarkeit, Konsistenz, Performance, Wartbarkeit und Investitionssicherheit gesetzt.

    Read more
  • Fantastische Formulare - Formulare endlich einfach

    Article Robert Glaser RailsWay Magazin 01/2010

    Formulare sind sicherlich das Stiefkind im Alltag eines Rails-Entwicklers: Felder für die verschiedenen Attribute anlegen, Standardwerte und Vorauswahlen einbauen, Fehlermeldungen und Hinweisfelder hinzufügen und letztendlich das Ganze noch in brauchbares semantisches HTML verpacken - Sie kennen das sicher zur Genüge. Das i-Tüpfelchen: Die meisten Webanwendungen sind voll von Formularen!

  • RESTful WebServices mit Ruby on Rails

    Talk Stefan Tilkov JAX 2009

    RESTful WebServices (als Alternative zu SOAP/WSDL/WS-*) werden immer populärer, und das Ruby-on-Rails-Framework eignet sich besonders gut für die Entwicklung von REST-Anwendungen. In diesem Vortrag wird nach einer kurzen Einführung in REST die dafür vorhandene Basisunterstützung in Rails vorgestellt, bevor auf erweiterte Mechanismen wie die Abbildung von Geschäftslogik, konditionale Requests und die Unterstützung für Caching eingegangen wird. Schließlich wird gezeigt, wie sich eine REST-/Rails-Anwendung in eine gemischte Gesamtlandschaft einfügen kann und die Mechanismen des Webs für die Anwendung-zu-Anwendung-Kommunikation per Web-API optimal genutzt werden können.

    Read more
  • WS-Testing: Über das Testen von Web Services

    Article Marcel Tilly, Hartmut Wilms Javamagazin 10/06

    Web Services sind nicht erst seit dem SOA-Hype ein beherrschendes Gesprächsthema in der IT-Welt. Allerorts wird neben der geradezu philosophischen Frage „Was ist ein Service?“ über das Design, die Implementierung und die Architektur serviceorientierter Systeme diskutiert. Ein Thema wird allerdings bisher eher stiefmütterlich behandelt: Wie testet man Web Services? Ob das viel gelobte Test Driven Development mit der Entwicklung von Web Services vereinbar ist und was überhaupt alles getestet werden muss, zeigen wir an einem überschaubaren Beispiel.

  • Eine gute Wahl treffen – Ein Überblick über die Web-Services-Technologien und ihre wichtigsten Standards und Spezifikationen

    Article Marcel Tilly, Hartmut Wilms Entwickler Magazin 3/2006

    Web Services gewinnen zunehmend an Akzeptanz und Verbreitung. Gerade im Zusammenhang mit serviceorientierten Architekturen (SOA) und Interoperabilität sind sie nicht mehr aus der Entwicklung (stark) verteilter Systeme wegzudenken. Sie werden zu Recht als prädestinierte Technologie zur Implementierung von Services innerhalb einer SOA gesehen. Was aber bildet überhaupt die Basis für Web Services? Wie werden die für Enterprise-Anwendungen notwendigen Infrastrukturdienste mit Web Services realisiert? Wie wird Interoperabilität erreicht und welche Standards und Spezifikationen existieren? Zahlreiche Fragen, die Grund genug sind, sich einen Überblick über die Web-Services- Landschaft zu verschaffen.

  • Lose Kopplung mit Web Services

    Article Marcel Tilly, Hartmut Wilms, Stefan Tilkov JavaSPEKTRUM 5/2005

    Für die Entwicklung und Verwendung von Web-Services existieren unterschiedliche Programmiermodelle. Diese unterscheiden sich nicht nur in Bezug auf benötigte Vorkenntnisse, Technologieunabhängigkeit und Aufwand, sondern haben auch entscheidenden Einfluss darauf, ob das hehre Ziel einer losen Kopplung von Dienstanbietern und -nutzern auch in der Praxis erreicht wird. Dem in den meisten Projekten heute eingesetzten, RPC-orientierten Ansatz wird die dokumentorientierte Variante gegenüber gestellt, dabei werden die Vor- und Nachteile beleuchtet.

  • Das Webframework Tapestry

    Article Oliver Tigges, Ludger Springmann JavaSpektrum 01/2005

    Tapestry ist ein komponentenorientiertes Webframework, das eine saubere Umsetzung des MVC-Patterns (Model View Controller) abbildet. Nach einer technischen Übersicht über Tapestry folgt ein Erfahrungsbericht über dessen erfolgreichen Einsatz in einem Softwareprojekt im Bankenumfeld.