Thursday, February 14, 2013

ODB: OR-Mapping für C++

Aus den meisten Programmiersprachen ist das Konzept des Objekt-relationalen Mappings nicht mehr wegzudenken.

In Java ist u.a. Hibernate (JBoss) oder die Java Persistence API recht bekannt. In .NET gibt es unter vielen anderen das Entity Framework (Microsoft) oder NHibernate. In Ruby ist ActiveRecord (Ruby on Rails) verbreitet. In Python verwenden viele das OR-Mapping von Django (Web-Entwickler natürlich) und auch PHP kennt einige Mapper. In JavaScript greift man nicht direkt auf die Datenbank zu (Ausnahme vielleicht node.js, da server-seitig), sondern typischerweise über Ajax und bildet das zurückgelieferte JSON meist auf die Oberfläche ab (z.B. mit Knockout).

In anderen Sprachen wie Flex, Perl oder C++ war OR-Mapping dagegen bislang kein sehr verbreitetes Konzept. Mit der Veröffentlichung von ODB (Code Synthesis) als Open Source ändert sich das jetzt. Das Mapping von Klassen und Feldern auf Tabellen, Spalten geschieht analog zu anderen Sprachen (Annotations, Attributes) über #pragma db. Generische Query-Klassen sorgen für gewohnt komfortable Abfragemöglichkeiten. Abhängigkeiten zu anderen Frameworks gibt es nicht (Qt und boost support gibt es). Unterstützt werden die wichtigsten Datenbanken (z.Zt. Oracle, MSSql, PostgreSQL, MySql und SQLite). Neben GPL gibt es noch andere Lizenzmodelle. Meiner Meinung ein wertvoller Zuwachs für die C++ Welt.

Tuesday, February 5, 2013

Git in TFS

Brian Harry, TFS product manager, hat in seinem Blog angekündigt, dass TFS bald Git repositories hosten kann. Der Team Foundation Service kann das schon jetzt (30.01.2013). Außerdem wird VS2012 SP2 native Git-Unterstützung haben.