Focus

development

Talk
Talk

Schreibkonflikte in verteilten Daten automatisch lösen: Ein Überblick über CRDTs

parallel 2019 / 16:30 - 17:20

Talk
Talk

Mind the GIL!

parallel 2019 / 11:00 - 12:10

Talk
Talk

Elixir für Einsteiger (Workshop)

parallel 2019 / 11:00 - 18:00

Talk
Talk

Java 10, 11, 12 und darüber hinaus – Große, kleine und noch nicht bestätigte Features

IT-Tage 2018 / 11:30 - 12:15

Talk
Talk

Blockchain verstehen – In wenigen Stunden zur eigenen Blockchain

IT-Tage 2018 / 09:00 - 16:00

Talk
Talk

UX is for the team

UXMS7 / 19:30 - 20:30

Talk
Talk

UX is for the team

IT Frauen Berlin November 2018 / 19:00 - 20:00

Talk
Talk

GraalVM: Fast, Polyglot, Native

Codemotion Berlin 2018 / 15:10 - 15:50

Blog Post

Serverless - The Vendor Is Not Your Enemy

Serverless Entwicklung mit bekannten Pattern

Article

Designer sind vom Mars, Entwickler von der Venus

Digitale Produkte werden von Designern und Entwicklern sowie Architekten und Projektleitern Hand in Hand erarbeitet. Alle tragen gleichermaßen die Verantwortung für das Endergebnis. Und doch, oder deshalb, stellt die Zusammenarbeit oft eine Herausforderung dar. Über Farben lässt sich streiten, über Frameworks auch, im besten Fall agil und aufs Pixel genau. Ein empathischer Umgang miteinander erleichtert sicherlich den Arbeitsalltag, aber grundlegende Kenntnisse, die über den Tellerrand der eigenen Disziplin hinausgehen, können die Qualität eines Produkts direkt beeinflussen.

Article

Java-Bibliotheken für den Einsatz in Tests

In den meisten Projekten entfällt ein nicht gerade kleiner Anteil des Codes auf Tests. Für diesen Testcode sollten dieselben Regeln wie für Produktivcode gelten. Neben dem Achten auf Verständlichkeit und Wartbarkeit gehört auch das Erschaffen von Abstraktionen und das Vermeiden des Not-invented-here-Syndroms durch den Einsatz von passenden Bibliotheken dazu. Dieser Artikel stellt sechs Bibliotheken vor, die sich im Einsatz als praktisch und hilfreich erwiesen haben.

Blog Post

Building a Load Test with Tsung for a Login and Post Session with dynamic url-encoded variables

Podcast

Metric-Driven Development

Produkt- und Entwicklungsentscheidungen auf Basis von Daten statt Gefühlen

Blog Post

Multiple Worktrees aus einem lokalen git-Repo.

Ein lokales Git-Repository auf der eigenen Festplatte kann bequem mehrere Worktrees parallel bedienen. Dieses praktische Git-Feature ist relativ unbekannt. Hier stellen wir es vor.

Article

Einsatz von Containern zum Testen

Testcontainers in JUnit-Tests verwenden

Link

Podcast-Folge mit Joy Clark zum Thema Clojure

Article

Java 10 – Evolution statt Revolution

Gerade erst ist Java 9 erschienen, da steht auch schon das nächste Release, Java 10, an. Dieser Artikel betrachtet die Neuerungen von Java 10 und wagt einen kurzen Blick in die Zukunft.

Blog Post

Proof of Existence via HTTPS

Blog Post

Carbon dioxide monitoring with Rust, InfluxDB and Grafana

Carbon dioxide monitoring with Rust, InfluxDB and Grafana.

Article

Health-Checks in Java-Anwendungen

Health-Checks sind für den Betrieb von Anwendungen heute, insbesondere wenn sie als Container in einem Cluster deployt werden, unerlässlich. Dieser Artikel zeigt, wieso Health-Checks so wichtig sind, welche Details beachtet werden sollten und wie Health-Checks in Java mit drei gängigen Bibliotheken umgesetzt werden können.

Blog Post

Logging mit Docker und Elasticsearch

Blog Post

Tags für Docker Images ohne Registry

Gibt man bei “Tags” von Docker Images keine Registry an, so wird die Standard-Registry unter docker.io benutzt. Taggen ganz ohne Registry-Angabe scheint nicht vorgesehen zu sein, obwohl es dafür gelegentlich gute Gründe gibt. Der hier vorgestellte einfache Workaround hilft.

Article

Jepsen – verteilte Systeme testen

An verteilten Systemen kommt heute kein Entwickler mehr vorbei. Selbst wenn man keines baut, setzt man häufig Komponenten ein, die ein verteiltes System sind. Hierzu gehören vor allem viele Vertreter von neueren Datenbanken. Dieser Artikel zeigt, wie man diese mit Jepsen testen kann.

Link

Conway’s Law & die ewige Suche nach der „richtigen“ Architektur

Article

Command Line Interfaces in Java

Die meisten neuen Anwendungen stellen eine Web- oder grafische Benutzungsoberfläche für die Interaktion mit dem Benutzer bereit. Doch gerade für Anwendungen, die Teil eines Batch-Jobs sind, automatisiert aufgerufen werden oder für sogenannte Powernutzer gemacht sind, bietet es sich an, eine Oberfläche für die Kommandozeile anzubieten. Dieser Artikel zeigt die Bestandteile einer solchen Anwendung und wie man diese in Java benutzt.

Link

Java 9 Release: „Für mich sind die Erweiterungen der bestehenden APIs die wichtigsten Features“

Blog Post

Elm in the wild: A Sandwich Delivery Game

Article

Logging und Metriken in verteilten Systemen

Aufgrund des aktuellen Trends rund um Microservices entsteht in vielen Projekten ein verteiltes System. Eine Herausforderung von verteilten Systemen ist deren Überwachung und das Nachvollziehen, was zur Laufzeit vor sich geht. Dieser Artikel gibt Ihnen einen Überblick, wie dies mit Logging und Metriken gewährleistet werden kann.

Article

Tooling für JavaScript-Frontends

Nahezu jede Webanwendung besitzt einen Anteil an JavaScript im Frontend. Im Vergleich zu früher haben sich jedoch viele Dinge geändert. So sind heute zahlreiche Tools üblich, die den Entwickler unterstützen. Dieser Artikel gibt einen Überblick über aktuell genutzte Entwicklungswerkzeuge für die Entwicklung von JavaScript-Frontends.

Link

Continuous Delivery im Expertencheck, Teil 2

Link

Continuous Delivery im Expertencheck

Article

Docker Compose – Komplette Systeme mit Docker managen

Der Einstieg in Docker ist einfach. Schnell hat man gelernt, mit Dockerfiles Images zu erzeugen und die ersten Container laufen bereits. Dann wird es wirklich spannend. Wie manage ich mehrere Container, die zusammen eine ganze Umgebung bilden? Dieser Artikel liefert Ihnen die Antwort auf diese Frage.

Blog Post

The Power of the HTML Form

Blog Post

Serverless

Um den Begriff serverless gibt es immer noch hitzige Diskussionen. Einige halten ihn für einen Hoax und setzen ihn mit “useless” gleich, andere schwören darauf, dass serverless bald alle anderen Architekturstile ablösen wird.

Blog Post

Implementierung einer einfachen Zustandsmaschine (state machine) in Java

Eine simple Zustandsmaschine (state machine) in Java

Article

Lokale Datenanalyse mit Data Frames

Am Anfang war die Frage

Link

The Empathic Programmer

Article

Vault

Eigentlich ist man sich einig, dass durch immer größere und komplexere Netze und Systemlandschaften das Thema “Sicherheit” nicht einfach durch die eine grosse Perimeter-Firewall erledigt ist. Trotzdem fehlt es häufig an Infrastruktur, die dabei unterstützt zum Beispiel mit Zugangsdaten automatisiert und sicher umzugehen. Vault unterstützt hier als “a tool for managing secrets” dieses Problem anzugehen.

Article

Wo bist du?

Consul: Service Discovery für den Microservices-Stack

Article

Horden von Zombies

Kennen Sie das Computer-Spiel „Plants vs. Zombies“? 1 Das Szenario ist einfach: Zombies stürmen auf unser Haus zu. Als Spieler haben wir eigentlich nur eine Chance, der Übermacht zu begegnen: Wir müssen die Verteidigungsmechanismen vorbereiten, die wir im Eifer des Gefechts brauchen werden. Paprikaschoten, Erbsen und Walnüsse werden uns helfen, die Angriffswut der Zombies zu stoppen. In dieser Ausgabe nutze ich die Kulisse des Spiels, um ein paar Eigenschaften von Reactive Extensions vorzustellen.

Article

Features in Java 9

Bereits seit dem 26. Mai 2016 befindet sich Java 9 im „Feature Complete“-Stadium 1. Somit ist es bereits jetzt möglich, sich einen Build des Early Access Release herunterzuladen 2 und neue Features auszuprobieren.

Article

Zwei Jahre nach dem Tod der Java Application Server

Leben Todgesagte länger?

Article

Consumer-Driven Contracts – Testen von Schnittstellen innerhalb einer Microservices-Architektur

In einer Microservices-Architektur entstehen viele Services – potenziell in den verschiedensten Programmiersprachen. Um eine reibungslose Kommunikation zwischen diesen zu gewährleisten, müssen die Schnittstellen passen und auch über längere Zeit stabil bleiben. Consumer-Driven Contracts stellt hierzu einen Ansatz dar, der zudem die Schnittstellen und deren Aufrufer noch zusätzlich testet.

Link

Continuous Architecture Blog: Was ist ein Festpreisprojekt wert?

Article

Java-Web-Frameworks von innen?

Im Maschinenraum

Link

When Option is not good enough

Link

Codepancake Spotlight 51: Introducing senior consultant Silvia

Blog Post

Horizontal automation – a waste of time.

Blog Post

Web Scraping

This blog post provides examples how to implement web scraping using HtmlUnit, Selenium, ui4j or jaunt and compares them.

Blog Post

git pull gotchas

The ever-so-convenient git pull isn’t really all that convenient all that often. This piece explains why not, and what to do instead.

Podcast

Redis in der Praxis

Überblick und praktischer Einsatz des schnellen Datenstruktur-Servers

Blog Post

iOS: Writing to Core Data in your Today extension

This blog post gives guidance on how to propagate changes in Core Data made by a Today extension to the host app and handle them properly.

Link

JAX TV: Technologie-Trends jenseits von Java

Blog Post

Auto Layout in iOS: How to avoid the common mistake

News

W-JAX 2015 mit Web-Anwendungen, Microservices und REST 2015

Blog Post

Play 2.4 with Guice and MyBatis

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!

News

Informatica Feminale 2015 in Bremen und Furtwangen

Blog Post

Reliable Web Clients

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.

Article

Bessere Web-Apps mit HTML5-APIs

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.

Podcast

Erlang/OTP

Eine Programmiersprache für non-stop laufende Systeme

Blog Post

Declarative HTTP API Testing with gabbi

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.

Article

Batch-Computing in Java

Auch heute noch gibt es Bedarf für die wohl älteste Form der elektronischen Datenverarbeitung. Dass Batch immer noch relevant ist, zeigt der junge JSR 352 für Batch-Verarbeitung in Java EE 7. In diesem Beitrag diskutieren wir verschiedene Fragestellungen, die im Zusammenhang mit der Modernisierung bestehender und Umsetzung neuer Batch-Prozesse auftreten, und gehen auf Strategien und Technologieauswahl ein, die bei der Implementierung von Batch in der JVM auftreten können.

Link

Put your writes where your master is

News

Microservices, Internet of Things und RxJava beim Java Forum Stuttgart

Blog Post

A day full of Clojure - organizing the first German ClojureBridge workshop

During the last years a lot of initiatives focusing on increasing diversity in IT and getting kids into IT have emerged. Last weekend the first German ClojureBridge workshop took place in Solingen. Another small but important step towards a diverse IT world.

Blog Post

Per request debugging with Log4j 2 filters

Podcast

Twelve-Factor App: Web-Applikationen auf die neue Art

Ein Ansatz für skalierbare, portable und leicht deploybare Web-Applikationen in der Cloud

Article

Rails gegen Grails

Möchten mit der Java Virtual Machine vertraute Programmierer bei der Webentwicklung in bekannten Territorien bleiben, landen sie bei der Framework-Suche schnell bei Rails mit [JRuby] (http://jruby.org) und Grails mit [Groovy] (http://groovy-lang.org). Dieser Artikel durchleuchtet hauptsächlich funktionale Aspekte der populären Kandidaten und blickt auf ihre Historie zurück. Außerdem wird betrachtet, was positiv heraussticht oder weniger gut gelungen ist, da nicht Features allein den Ausschlag bei der Wahl geben können. So gesehen, ist eine Gegenüberstellung von Webframeworks gar nicht so weit von den Vergleichstests entfernt, die in Autozeitungen zu finden sind.

Blog Post

Using Vector Assets on iOS

Blog Post

Functional Validation in Scala

Validation is something everybody needs eventually when working with domain models. The Scala ecosystems offers a wide rage of tools which can be used for this purpose. This blog post introduces some of the most common approaches by applying them to a domain model.

Blog Post

Docker images for developers

Docker seems to be all the rage lately. There are docker talks at every conference, hosting Docker containers has become a hosting option with most if not all PaaS providers, and there is hardly a technology left that is not supposed to run better and more flexibly if you wrap it in a Docker container. Well, except maybe for enterprise-level DBMSs, but you can’t have them all. This post provides an example how Docker can be used at the start of the software lifecycle, during development.

Blog Post

Play Anwendungen mit Docker & AWS Beanstalk in die Cloud bringen

Blog Post

Frontend Dependency-Management in Rails

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.

Blog Post

Frontend Dependency-Management mit Bower

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.

Blog Post

Eureka Provisionierung mit AWS CloudFormation

Link

Interview zum Thema Microservices mit Clojure

Article

Logging konsolidieren und Performance gewinnen

Apache Log4j 2.0 ist eine Neuimplementierung von Log4j und zeichnet sich – dank asynchronem I/O – vor allem durch einen höheren Durchsatz aus. Die Neuerungen des Frameworks machen Lust darauf, Log4j2 einzusetzen. Aber es drängt sich die Frage auf, wie die Vorzüge von Log4j2 in einem System genutzt werden können, wenn Teile noch Log4j 1, commons-logging oder Ähnliches verwenden. Neben einer kurzen Vorstellung des Frameworks betrachten wir daher auch diesen Aspekt.

News

microxchg 2015 - Die Microservices Konferenz in Berlin mit innoQ-Beteiligung

Article

Von Markdown zu Published

Im Jahr 2012 begann innoQ, mit der Published-Reihe ein jährlich zu Weihnachten erscheinendes Buch herauszugeben, welches die Artikel von Mitarbeitern des vergangenen Jahres beinhaltet. Wurden die ersten beiden Ausgaben noch von einer Agentur per Hand erstellt, haben wir uns für 2014 das Ziel gesetzt, eine eigene Pipeline zu bauen, mit der das Buch erstellt werden kann. Dieser Artikel beschreibt nun den Aufbau und die Arbeit an der Pipeline und hinter der dritten Ausgabe von Published.

Article

Ruby on Rails wird zehn Jahre alt

Nachdem Rails vor einigen Jahren durch progressive Ansätze fast schon eine Revolution in der Welt der Webentwicklung auslöste und damit unzählige Nachahmer fand, wurde es in den letzten Jahren etwas ruhiger um das Framework. Es hat sich mittlerweile als Standard etabliert, an dem Alternativen und Nachahmer - auch aus anderen Sprachen - gemessen werden. Dieser Artikel blickt auf die Meilensteine und Verdienste des Frameworks zurück und wagt einen Ausblick, wie die Fahrt auf Schienen weitergeht.

Podcast

Ruby on Rails

Das Full-Stack-Web-Framework

Article

Grenzenlose Freiheit?

„Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt“, stellte schon Ludwig Wittgenstein fest. Auch wenn zwei Programmiersprachen Turing-vollständig sind und somit die gleichen Probleme lösen können, beeinflussen ihre Eigenschaften dennoch die Art und Qualität der Problemlösung. Mit der JVM steht uns heute eine Plattform zur Verfügung, bei der wir für jedes Problem die am besten geeignete Sprache wählen können. Auch wenn sich prinzipiell jede JVM-Sprache mit jeder anderen kombinieren lässt, gibt es einige Stolpersteine. In diesem Artikel wollen wir analysieren, wie gut sich Clojure mit Java verträgt.

Article

Attribut-basiertes Testen mit Scala

Das Testen eines Software-Systems ist eine alltägliche Aufgabe mit dem Ziel, dessen Konformität bezüglich einer Spezifikation nachzuweisen. Die grüne Ampel der Testumgebung ist in vielen Projekten das Fieberthermometer, welches die Normaltemperatur des Systems verkündet oder zu Warnungen bei Überschreitung führt. Doch können wir diesem Messgerät trauen? Das Attribut-basiertes Testen ist ein Werkzeug aus der Welt der funktionalen Entwicklung, welches uns helfen kann die Zuversicht in unsere Systeme zu erhöhen.

Article

Ceylon auf der JVM und node.js

Schwarzer Tee mit syntaktischem Zucker

Article

Die Renaissance von Erlang

Vergleicht man die Geschichte von Erlang mit der von anderen Sprachen, so ist diese sicherlich keine die man besonders laut erzählen würde. Nicht weil man sich dafür schämt, im Gegenteil. Erlang hat einen vorbildlichen und erfolgreichen Weg hinter sich. Die Sprache ist jedoch aufgrund mangelnder Popularität funktionaler Programmiersprachen, nebst sämtlichen Hypes rund um die Objektorientierung, meist abseits des Rampenlichts gestanden. Wendet man jedoch den Blick nach vorne und schaut sich aktuelle Trends in der IT an, so sieht man den Anstieg der Beliebtheit funktionaler Sprachen.

Podcast

Vom Dasein eines Apache Software Foundation-Mitglieds

Software für die ganze Welt

Article

Domain-Driven Design in Clojure

Gut bewertet

Podcast

Sicherheit von IT-Systemen

Allgemeine Aspekte der IT-Sicherheit und der Web-Sicherheit im Speziellen

Podcast

Graphdatenbanken

Vor- und Nachteile graphbasierter Datenbanken

Article

Endlich viel erben?

Default-Methoden in Java-Interfaces

Link

Developing Modular JavaScript Components

Podcast

Play!

Das Full Stack Web-Framework auf der JVM

Podcast

Modern Batch

Zeitgemäße Architekturen zur Massendatenverarbeitung

Podcast

Scala

Was die objektorientierte, funktionale JVM-Sprache in der Praxis bringt

Podcast

Clojure

Ein pragmatisches Lisp auf der JVM

Article

Micro-Cloud mit Cloud Foundry

Einer der Plattformdienste

Article

Rubies are forever

Der 24. Februar 2013 markiert nicht nur die Freigabe der Version 2.0 der Programmiersprache Ruby, sondern zugleich auch ihr 20-jähriges Bestehen. Am

Article

Apache Buildr

Die Automatisierung der Buildprozesse ist eine feine und wichtige Sache. In der Regel freut man sich, wenn ein Projekt Apache Maven verwendet und man dank der Konvention das Projekt sofort bauen kann. Doch mit der Zeit stellt sich in der Regel Ernüchterung ein. Der Build schlägt plötzlich fehl, weil ein Artefakt nicht mehr in den bekannten Repositories gefunden werden kann, die Ergebnisse sind nicht exakt reproduzierbar oder für eine kleine Erweiterung des Prozesses müssen erst aufwendig Plug-ins entwickelt und verteilt werden. Muss das so sein? Apache Buildr hat sich zu einer mächtigen Alternative entwickelt, in dem es den deklarativen Ansatz von Maven mit dem imperativen einer Skriptsprache kombiniert.

Article

Java-Programme mit Clojure würzen

Doppelplusgut

Article

Webanwendungen mit dem Play!-Framework

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.

Article

Domain Specific Languages

In den letzten Jahren hat es sich eingebürgert, bei domänenspezifischen Sprachen zwei Varianten zu unterscheiden: interne und externe. Dabei gewinnen interne DSLs insbesondere durch die steigende Popularität dynamischer Sprachen zunehmend an Bedeutung.

Article

„Infrastructure as Code“ mit Chef

Server programmieren statt konfigurieren

Article

Clojure — in der Praxis?

Von Andy Hunt und Dave Thomas stammt der Rat, jedes Jahr eine neue Programmiersprache zu lernen, um nicht einzurosten. Und die Anhänger dieser Philosophie können sich zur Zeit glücklich schätzen: An neuen oder wiederentdeckten Programmiersprachen herrscht wirklich kein Mangel. Die große Mehrheit der Entwickler jedoch steht dem Thema deutlich skeptischer gegenüber. In diesem Artikel wollen wir am Beispiel von Clojure näher beleuchten, welche Gründe es gibt, sich mit neuen Programmiersprachen auseinanderzusetzen. Viele der Argumente sind Clojure-spezifisch, andere lassen sich auch auf andere Sprachen übertragen, insbesondere wenn diese — wie JRuby, Scala oder Groovy — auch auf der JVM lauffähig sind. Vorab: Natürlich gibt es diverse Nachteile, die ganz allgemein mit der Einführung einer neuen Sprache zusammenhängen, und jede Sprache hat auch ihre eigenen spezifischen Schwächen. Diese blenden wir in den nächsten Absätzen einfach einmal aus. Denn erstens kennen Sie diese Nachteile wahrscheinlich schon und zweitens ist unsere Motivation natürlich völlig klar: Wir sollen Sie motivieren, neue Sprachen ernstzunehmen und nicht zu ignorieren. Nachdem die „hidden agenda“ nun nicht mehr so versteckt ist, auf ans Werk!

Article

NoSQL - Einsatzgebiete für die neue Datenbank-Generation

Der Begriff NoSQL ist irreführend, da „No“ nicht einfach mit „kein“ gleichzusetzen ist. Für die meisten steht es nämlich für „Not only SQL“ – also nicht für ein Ende der Ab-fragesprache SQL. Kurz gesagt beinhaltet dieser Trend alle Arten von Datenspeichern, die eben nicht den relationalen Datenbanken (RDBMS) zuzuordnen sind. Häufig sind sie explizit für ein verteiltes Arbeiten mit großen bis sehr großen Datenmengen ausgelegt, bieten diesem Einsatzzweck entsprechende Datenstrukturen und verzichten bewusst auf Transaktionen. Aber in Bezug auf das Datenmodell, die Unterstützung dynamischer Abfragen, die Verteilung und den Persistenzmechanismus unterscheiden sie sich erheblich von einander: „NoSQL“ ist eine sehr breite und unscharfe Rubrik, die alle Varianten von Textdateien bis hin zu objektorientierten Datenbanken beinhaltet.

Link

Fantastische Formulare - Formulare endlich einfach

Link

Die Java Persistence API