Holger Sirtl's WebLog

Microsoft's Cloud Technology applied in Enterprise Architecture

September, 2008

  • Holger Sirtl's WebLog

    Erste Schritte mit SQL Server Data Services (SSDS) - Teil 1: Registrierung und Grundlagen

    • 3 Comments

    Die SQL Server Data Services (SSDS) sind in Microsofts "Software + Services" Strategie im Bereich der Entwickler-Services angesiedelt. SSDS ist Microsofts Cloud Database Service und gehört den sogenannten Building Block Services der Microsoft Services Plattform an. Die SSDS unterstützen sowohl SOAP als auch REST Schnittstellen. Dadurch wird es möglich, die SSDS aus allen Entwicklungsumgebungen (inkl. diverser Programmiersprachen) heraus zu nutzen, die diese Standards unterstützen.

    In diesem mehrteiligen Blog möchte ich beschreiben, wie dieser Service zur Datenspeicherung genutzt werden kann. In diesem ersten Teil möchte ich auf die Registrierung bei SSDS eingehen und ein paar Worte zum grundsätzlichen Datenmodell der SSDS eingehen.

    Erste Schritte mit SSDS

    Schritt 1: Registrierung im Beta-Programm der SSDS

    Um die SSDS zu nutzen, ist zunächst eine Registrierung auf dem SSDS Portal erforderlich. Für einen eingeschränkten Nutzerkreis werden auf dem Portal Einladungs-E-Mails verschickt. Diese enthalten eine ID. Diese ID kann auf dem Anmeldeportal eingegeben werden. Hierüber erhält man einen Benutzernamen und ein Passwort für die SSDS. Damit hat man zunächst einmal alle Daten, mit denen sich die SSDS nutzen lassen.

    Schritt 2: Grundlagen zum Datenmodell der SSDS

    Dem Datenmodell der SSDS liegt das sogenannte ACE-Modell zugrunde. ACE steht dabei für:

    • A - Authority
    • C - Container
    • E - Entity

    Diese Elemente sind hierarchisch angeordnet, wie in folgender Abbildung zu sehen:

    ACE-Datenmodell der SSDS

    Abbildung: ACE-Datenmodell der SSDS

    Authoritys sind die oberste Gruppierungseinheit. Eine Authority ist vergleichbar mit einer Web-Domain. Sie legt den Namen und den Speicherort (Rechenzentrum) aller darin enthaltenen Daten fest. Eine Authority ist oberste Adressierungseinheit und enthält eine Menge von Containern.

    Ein Container ist in genau einer Authority gespeichert. Er dient zur Gruppierung der darin enthaltenen Entitys und ist vergleichbar mit einem Ordner in einem Dateisystem. Im aktuellen Entwicklungsstand beziehen sich Suchanfragen (hierzu mehr in einem späteren Blog) immer auf einen Container. Container-übergreifende Suchen sind derzeit nicht möglich.

    Entitys sind die eigentlichen Datenelemente (und damit vergleichbar mit Dateien in einem Dateisystem), d.h. hier werden die eigentlichen Nutzdaten gespeichert. Dabei sind Entitys Sammlungen von Schlüssel/Wert-Paaren (wobei der Werttyp ebenfalls angegeben wird). Man kann sich Entitys somit als Tabellen, die drei Spalten ("Name", "Typ", "Wert"), enthalten. Alle in einer Entity gespeicherten Werte werden somit in den Tabellenzeilen gespeichert. Dabei gibt es "Pflicht"-Tabellenzeilen, d.h. Zeilen, die enthalten sein müssen - sogenannte Metadaten. Jede Entity enthält die beiden Medatatenzeilen "ID", über die die Entity eindeutig identifiziert wird, "Version", das die Versionsinformation enthält und "Kind", der vom Programmierer frei definierbare Entity-Typ. Spezielle Blob-Entitys enthalten noch das Metadatum "Content", in dem der Inhalt des Blobs gespeichert wird.

    Diese drei Elemente - Authority, Container und Entity - sind Adressierungsgrößen für Inhalte in SSDS. So wird eine Entity eindeutig über die übergeordnete Authority, den beinhaltenden Container und die ID der Entity eindeutig identifiziert. Dies ist wichtig, wenn auf spezielle Inhalte zugegriffen werden soll:

    • Für Schreiben, Lesen, Ändern und Löschen von Entitys wird die Authority-, Container- und Entity-ID benötigt.
    • Für Suchoperationen wir die Authority- und die Container-ID benötigt, um den Suchscope zu setzen.

    Entitys enthalten neben den Metadaten Propertys auch sogenannte "flexible propertys". Diese frei definierbaren Propertys folgen demselben Aufbau wie die Metadaten Propertys. Der Programmierer kann den Typ des Propertys frei setzen. Er hat dabei die Wahl zwischen folgenden Typen:

    • string
    • base64Binary
    • boolean
    • decimal
    • dateTime

    Eine Entity kann damit aus den Metadaten und den "Flexible Propertys" (in C# umgesetzt als Dictionary) wie folgt aufgebaut werden:

    Entity e1 = new Entity();

     

    // Setzen der Metadaten

    e1.Id = entityId;

    e1.Kind = "UsedBookKind";

     

    // Setzen der flexible properties

    e1.Properties = new Dictionary<string, object>();

    e1.Properties["Title"] = "My Book";

    e1.Properties["ISBN"] = "1-57880-066-36";

    e1.Properties["Author"] = "Mr. Author";

    e1.Properties["Publisher"] = "Mr. Publisher";

    e1.Properties["InPrint"] = false;

    e1.Properties["NumberOfCopiesSold"] = 250m; //decimal

    e1.Properties["PublicationDate"] = DateTime.Parse("27.01.2004");

    e1.Properties["CoverPhoto"] = new byte[] { 0x1, 0x2, 0x3 };

    In den weiteren Blogs dieser Reihe werde ich darauf eingehen, wie nun auf Basis dieses Modells SOAP- und REST-basierte Zugriffe auf die SQL Server Data Services möglich werden. Alles, was für die Adressierung der zu manipulierenden Objekte benötigt wird ist bereits vorhanden.

    Weitere Informationen

    Ich bin Referent auf dem Microsoft Technical Summit 2008 - treffen Sie mich vor Ort!
  • Holger Sirtl's WebLog

    Letzte Rabattchance für Technical Summit und für Xtopia 08 (2 Veranstaltungen mit vielen Infos zu Software-plus-Services)

    • 1 Comments

    Hier nochmals der Hinweis auf zwei Veranstaltungen, die mit jeder Menge Informationen zu Software-plus-Services (S+S) und vielen weiteren aktuellen Produkt- und Technologieinformationen aufwarten können. Ein Blick auf die Agendas lohnt sich in jedem Fall.

    Interessierte können 150,- € netto einfach dadurch sparen, dass sie sich noch am heutigen Freitag anmelden, am Technical Summit ebenso wie an der Xtopia 08 in Berlin. Wer nur an einer Vorkonferenz teilnehmen will, spart immer noch 50,- Euro netto. Ab Samstag ist Schluss mit dem "Early-Bird" und der volle Teilnahmebetrag in Höhe von 599,- statt 449,- Euro netto (oder brutto 712,81 statt 534,31 Euro) wird fällig – selbst für Spätzünder noch immer ein Schnäppchenpreis für die zweitägigen Konferenzen mit hochkarätigen Vorträgen in 4 Tracks und diversen hochwertigen Give-Aways.

    Psst: In den Agendas sind noch einige Lücken für Themen, über die wir aktuell noch gar nicht sprechen dürfen. So viel zum Thema "brandheiße Informationen"...

  • Holger Sirtl's WebLog

    Software-plus-Services mit Tiefgang auf kommenden Veranstaltungen (PDC, Xtopia, TechSummit)

    • 1 Comments

    Software-plus-Services (S+S) ist nach wie vor ein brandheißes Thema. In Kundengesprächen stelle ich leider immer noch fest, dass - möglicherweise auch durch die Kommunikation von Microsoft selbst verschuldet - das Thema immer noch zu sehr mit "Software-as-a-Service" (SaaS) gleichgesetzt wird. Wenngleich SaaS, d.h. die Bereitstellung von Software als Dienstleistung durch einen Serviceprovider, ein wichtiger, zentraler Baustein im Gesamtbild von S+S ist, so ist es doch nur einer von mehreren Bausteinen.

    SaaS geht davon aus, dass Software als Ganzes aus der IT Landschaft des Anwenders herausgelöst wird und durch einen Dienstleister als Service über das Internet bereitgestellt wird. Beim Anwenderunternehmen verbleibt nur ein minimaler Teil der Anwendungslogik. In der Regel greifen die Anwender über einen Browser, der letztlich nur die Anzeige übernimmt, auf den Service zu (siehe hierzu auch mein Blog "Arten von Microsoft Services für Anwender und Entwickler"). Dieser Ansatz bietet unbestreitbare Vorteile:

    • das Anwenderunternehmen befreit sich vom Aufwand eine eigene IT Infrastruktur betreiben zu müssen
    • durch den Web-basierten Ansatzes entfallen für das Anwenderunternehmen Fragen der Softwareverteilung
    • Bereitstellung der Software und Abrechnung der Softwarenutzung (Anwenderunternehmen zahlen nur entsprechend ihrer tatsächlichen Nutzung) können flexibel gehandhabt werden
    • Aktualisierungen der Software können vom Serviceprovider an zentraler Stelle unmittelbar bei Verfügbarkeit bereitgestellt werden
    • durch Spezialisierung auf Softwarebetriebe auf der einen Seite und das Angebot von Services an eine Vielzahl von Unternehmen (die Kosten für die IT-Infrastruktur können auf viele Schultern verteilt werden) können Serviceprovider aufgrund von Economies auf Scale ihre Dienste kostengünstiger anbieten als es den Kunden selbst möglich wäre

    SaaS stellt das Anwenderunternehmen also vor die Alternativen eine Software selbst zu betreiben oder als Ganzes einem Service Provider zu übertragen und von dort als Dienstleistung zu beziehen. Der Verzicht auf einen Eigenbetrieb ist jedoch nicht immer möglich bzw. auch mit Nachteilen verbunden:

    • die Bereitstellung einer Software für viele Anwenderunternehmen zwingt den Serviceprovider zu einem standardisierten Angebot, welches für ein individuelles Unternehmen nur eingeschränkt angepasst werden kann. Ein Anwenderunternehmen muss seine Anforderungen deshalb mit den Möglichkeiten des SaaS-Angebots abgleichen. Wo ein Verzicht auf spezielle Anpassungen nicht möglich ist, scheidet ein zu unflexibeles SaaS Angebot aus.
    • Möglicherweise verhindern auch gesetzliche Vorgaben und Regularien eine Auslagerung; nämlich dann in das SaaS-Angebot diese nicht erfüllt.
    • SaaS in Reinform erfordert eine permanente Netzwerkverbindung zum Serviceprovider. Wo diese nicht gewährleistet werden kann, stellt sich die Frage nach der Unterstützung von Offline-Szenarien
    • der Verzicht auf lokale Anwendungslogik bedeutet auch einen Verzicht auf die Nutzung lokaler Rechenleistung. Lokale Software bietet aber eine Reihe von entscheidenden Vorteilen: Unterstützung verschiedener Endgeräte (PC, Smartphone, ...), hohe Usability durch geringe Latenz, leistungsfähige Benutzerschnittstellen und vieles mehr. 

    Hierüber wird deutlich, dass sowohl Software-as-a-Service als auch lokale Software Vorteile bieten und nur durch eine Kombination dieser beiden Konzepte und die Wahlfreiheit für das Anwenderunternehmen maximaler Anwendernutzen gestiftet werden kann. Dabei ist es entscheidend, dass das Unternehmen möglichst feingranular entscheiden kann welche Teile der IT-Landschaft über lokale Softwaresysteme und welche über fremdgehostete Services realisiert werden. "Möglichst feingranular" heißt in diesem Zusammenhang, dass diese Wahl nicht nur für ganze Anwendungen sondern auch für Teile von Anwendungen gegeben sein sollte. So ist beispielsweise vorstellbar, dass die Geschäftslogik einer Anwendung als lokale Software und die Datenbankfunktionalität über einen Cloud Service bezogen wird. Um in diesem Zusammenhang die Flexibilität für Entwickler zu schaffen ist eine Plattform erforderlich, die für Anwendungskomponenten die Wahlfreiheit hinsichtlich des Betriebsmodells erlaubt. Hier tritt also neben SaaS das Konzept Plattform-as-a-Service (PaaS).

    Stärke des "Software-plus-Services"-Ansatzes 

    Genau dies ist die Stärke der "Software-plus-Services"-Ansatzes: Flexibilität in der Wahl der Betriebsmodelle für ganze Anwendungen aber auch Teile von Anwendungen und die reibungslose Kombination lokaler Software mit Cloud Services. Das durch diese Flexibilität eröffnete Optimierungspotenzial bei der IT-Landschaft geht also weit über die Möglichkeiten eines reinen SaaS-Ansatzes hinaus.

    Weitere Informationen - drei wichtige Veranstaltungen

    Leider kann ich das Thema "S+S vs. SaaS" an dieser Stelle nur kurz anreißen. Auf drei Veranstaltungen, die dieses Jahr noch stattfinden werden, wird es noch viele Informationen hierzu geben. Die drei Veranstaltungen sind die PDC08 in Los Angeles und die Xtopia08 und der TechSummit08 in Berlin.

    Professional Developer Conference (PDC), 27.-30.10.2008 in Los Angeles

    Vom 27. bis 30.10. findet in Los Angeles die diesjährige Professional Developer Conference (PDC) statt. Diese Veranstaltung wird es absolut in sich haben. Neben einer Unmenge an Neuigkeiten rund um das Thema "Software + Services" wird es auch Neuigkeiten zu diversen Microsoft-Produkten und -Technologien geben. Teilweise sind diese Neuigkeiten noch streng vertraulich und dürfen noch nicht kommuniziert werden. Alle Microsoft-Interessieren können bei einem Blick auf Microsoft Produkt-Roadmaps aber erahnen, zu welchen Themen Neuigkeiten zu erwarten sind. Ein Blick auf die Agenda lohnt sich in jedem Fall.

    Wer es im Oktober nicht nach Los Angeles schafft, dem seien zwei deutsche Veranstaltungen ans Herz gelegt, auf denen sich viele Inhalte der PDC wiederfinden:

    Xtopia 2008 und Technical Summit 2008, 16.-21.11.2008 in Berlin

    Bis 19. September haben Interessenten noch Zeit, sich für die beiden Microsoft-Fachveranstaltungen "Technical Summit 2008" und "Xtopia 2008" anzumelden und dabei mit dem günstigen Early-Bird-Preis jeweils bis zu 150 € zu sparen. Die Entwickler-Konferenz "Technical Summit 2008" findet vom 19. bis 21. November im Berliner ICC statt; drei Tage vorher – vom 16. bis 18. November – öffnet die Web-Konferenz "Xtopia 08" ebenfalls im Berliner ICC ihre Tore. Die Terminierung dieser beiden Veranstaltungen ca. 3 Wochen nach der PDC ist nicht zufällig gewählt !!! - Besucher können sich sicher sein, all die interessanten Neuigkeiten der PDC in lokalisierter Form mitgeteilt zu bekommen.

Page 1 of 1 (3 items)