(Micro-)Services und das Composite DB Pattern

Kaum ein Softwareblog kommt heute noch am Thema Microservices vorbei, oder? Puristische Implementierungen sind mir von jeher fremd, jedoch nutze ich heutzutage verstärkt kleinteiligere Services und Microservice-Ansätze. Dabei ist ein Pattern entstanden, welches ich Microservices+Composite DB nenne. Puristische Microservice-Ansätze propagieren lokale DataStores. Ich schätze dagegen die Vorteile einer monolithischen zentralen Datenbank (trotz natürlich vorhandener Nachteile) […]

Mehr lesen »

Das einfachste Lizenzsystem reicht manchmal doch nicht

Vor einiger Zeit habe ich mich entschieden für meine Produkte Simple Software Licensing von Habanero einzusetzen. Ich habe lange nach einer einfachen (und auch günstigen) Standard-Lösung gesucht. Das Versprechen der Lösung war “nicht Crack-safe, aber ein ausreichendes Level an Schutz. Dafür einfache und schnelle Implementierung”. Die Grundidee ist einen schwachen Kopierschutz dadurch zu kompensieren, dass […]

Mehr lesen »

Modern Silverlight = Totgeburt?

Silverlight empfand ich als eine produktive Plattform für anspruchsvolle Anwendungen und mit etwas Geschick konnte man viel Code mit einer WPF-Anwendung teilen. Leider ist Silverlight an sich tot und wird von Microsoft nicht mehr weiterentwickelt. Interessanterweise gibt es Frameworks/Plattformen, welche die Silverlight-Experience auf technischer Basis von HTML5 aufleben lassen. Ich nenne dies einmal Modern Silverlight: […]

Mehr lesen »

Visual Studio 2015 tötet Snoop!

Ich bin wohl etwas spät dran, um im Frühjahr 2016 Lobpreisungen auf Visual Studio 2015 abzugeben. Aber sei es drum. Es ist erstaunlich, an welchen Stellen Microsoft im Vergleich zu früheren Versionen aufgerüstet hat. Besonders ist, dass die Community Edition offenbar gegenüber den früheren Express Editionen nochmals aufgewertet wurde. So kann man beispielsweise Cross-Plattform Xamarin […]

Mehr lesen »

AJAX mal so, mal so

Klar, AJAX durchzieht heutzutage Webanwendungen und Websites. Die Fülle der möglichen Patterns, Libraries und Frameworks ist dabei verdammt groß. Man sollte also wissen, wann man was einsetzt, wenn man das typische Hammer-Nagel Problem vermeiden will. Good Pattern: Server Side Templating Der einfachste aller AJAX Ansätze besteht weiterhin darin, das HTML Server-seitig zu generieren und im Client lediglich in […]

Mehr lesen »

Selbst-optimierende ORMs – Give me the free lunch!

Einst wurde O/R Mapping als Vietnamkrieg der Informatik bezeichnet. Es mag sein, dass dieser Vergleich bei näherer Betrachtung hinkt, er verdeutlicht jedoch auf jeden Fall, dass O/R Mapping ein heftig umstrittenes Feld ist: „Although it may seem trite to say it, Object/Relational Mapping is the Vietnam of Computer Science. It represents a quagmire which starts […]

Mehr lesen »

Datenbankliste

Für alle Datenbänker sei noch einmal meine Datenbank Datenbank in Erinnerung gerufen. Diese enthält wirklich fast alle Datenbank-Systeme, die es auf der Erde gibt! Zugegeben sind auch einige dabei, die ich selbst nie einsetzen würde, aber es gibt doch jenseits von Oracle, MySQL und SQL Server immer wieder Geheimtipps: ScrimoreDB, eine scale-out SQL-Datenbank, die wirklich eine […]

Mehr lesen »

CQRS-ready applications

Eins vorweg: In diesem Artikel werde ich nicht CQRS erläutern. Wem Konzepte wie Domain Events, Event Sourcing und Trennung von Lese- und Schreibvorgängen nicht sagen, der sollte hier nicht weiterlesen. Hier geht es darum, wie man eine klassische Businessanwendung mit zentraler (normalisierter) SQL-Datenbank CQRS-ready macht. Das macht Sinn, falls man CQRS noch nicht sofort einsetzen, […]

Mehr lesen »

Bewegung in der Datenbanktechnik – VoltDB

Nachdem die Versprechungen der Objekt-relationalen Datenbanken sich nicht erfüllt haben, schienen relationale Datenbanken wieder das Maß der Dinge zu sein und mit guten ORMs kann man sich damit natürlich gut arrangieren. Nun scheint mir jedoch wieder Bewegung in die Technik zu kommen. Nachdem Graphdatenbanken und Dokumentendatenbanken sich für bestimmte Anwendungsbereiche als sehr nützlich erwiesen haben, […]

Mehr lesen »

CQRS – Ein Ritt Querbeet

Auf dem .NET Open Space in Leipzig habe ich einige Jünger des CQRS erlebt. Fast etwas fanatisch, aber vielleicht ist das ja ein gutes Zeichen. Egal; das Akronym steht jedenfalls für das sperrige Wort Command Query Responsibilty Segregation. Es mag ein Pattern sein und wird auch so von unserem Pattern-Archivar Martin Fowler in seinem Bliki […]

Mehr lesen »