Entdecke die Neuen Möglichkeiten

Von der Fachabteilung bis zum Architekt im SharePoint Umfeld ändert sich einiges. Die Access Services schaffen neue Möglichkeiten und haben einige Features im Gepäck.
Die Integration von Access in SharePoint Umgebungen, ist ein großer Schritt nach vorn und bringen frischen Wind in die Projekte. Von der Daten Eingabe bis zum Report wird alles abgedeckt.Der SharePoint Server 2010 und Access 2010 stehen mit vielen Neuerungen vor der Tür.
Bei der Planung von neuen Projekten sollte man sich schon jetzt mit den Neuerungen beschäftigen, denn es lohnt sich.
Viele neue Erkenntnisse und Verbesserungen wurden umgesetzt und eine der Interessantesten Neuerungen sind die Access Services.
Mit den Access Services erhalten wir die Möglichkeit eine Anwendung in Access zu realisieren, die über den Webbrowser erreichbar ist – klingt simpel.
Aber genau das ist es, was viele Kunden und Fachabteilungen möchten und den Entwickler, Architekten und IT Pro bereits einiges abverlangen.

Microsoft Access wird von Fachabteilung gerne verwendet, weil bereits erste Ergebnisse ohne Einarbeitungszeit sichtbar sind. Einfache Lösungen sind schnell gebaut. Viele Firmen haben auf Access gesetzt und waren nicht immer begeistert, auch das Arbeiten mit dem SharePoint Server 2007, waren nicht immer erfolgreich.

Dies hat sich nun schlagartig geändert. Als erstmals Mitte 2009 erste Gerüchte von den Access Services bekannt wurden, wunderten sich einige vielleicht, wie das zusammen passt. Für das Arbeiten mit Daten gab es immer eine Lücke zwischen InfoPath, Reporting und einfachen SharePoint Listen-Formularen. Access 2007 war damals nur als Notlösung bekannt und nicht jeder aus dem IT Bereich wollte sich an diese Lösungen gewöhnen.

Access Lösungen geraten oft immer dann erst in den Mittelpunkt von IT Sitzungen, wenn es um Schwierigkeiten geht. Die Fachabteilung hat eine Access Lösung auf die Beine gestellt und nach ein paar Wochen im Einsatz, kommen die ersten Schwierigkeiten zu tage. Plötzlich dauern viele Operationen viel zu lange, belasten das Netzwerk, frisst den schmalen Speicher der Clients auf und das Standort übergreifende Arbeiten klappt auf einmal doch nicht wie anfangs angenommen, da z.B. die Bandbreite nicht ausreicht.

Diese Szenarien kommen sehr oft im Berufsalltag vor. Fachabteilungen machen sich ohne die Unterstützung der IT an die Umsetzung und bauen drauf los.

Den Herausforderungen dass die Anwendung beispielsweise das Firmennetz ausbremst, sensible Daten nicht korrekt verarbeitet, durch die Verteilung der iterativ veränderten Front Ends schwer zu warten ist und irgendwann sehr lange brauch, um Daten abzurufen, muss sich dann letztendlich doch der IT Verantwortliche stellen.

Dieser bringt dann auch die Richtige Einstellung mit und belehrt die Fachabteilung dahingehend, dass ohne die IT alles schief geht, wobei er dann in den nächsten Sätzen und Sitzungen erläutert, dass ihm die Ressourcen für neue Projekte fehlen und diese daher frühestens im halben Jahr angefasst werden können. Insgeheim wünscht sich der IT Verantwortlich dann noch, alle Access Installationen ungeschehen zu machen.

Aber bevor diese Träume Access zu verbannen womöglich in die Tat umgesetzt werden, sollte sich jeder IT Verantwortliche fragen, ob er trotz mangelnder Zeit, in Zukunft alle Wünsche der Fachabteilungen verstehen und die Umsetzung selbst planen möchte?

Letztendlich ist das Loslassen und Unterstützen der Fachabteilung durch Schulungsmaßnamen viel wertvoller. Beispielsweise kann die dann mit Access 2010 und den Access Services skalierbare, robuste und Mehrbenutzer fähige Lösungen schaffen.

Als IT Fachkraft ist es oftmals gar nicht möglich sich jeder Idee zu widmen und sich an die Umsetzung zu machen, zumal die Herausforderung schon darin besteht, die Anforderungen der Fachabteilung zu verstehen.

In meinem Artikel geht es darum, den Entwickler, Architekten, sowie der Fachabteilung den Überblick über die neuen Möglichkeiten zu geben.
Ich möchte sogar so weit gehen, dass mit den Access Services und Access 2010 die Fachabteilung gute Ergebnisse liefern können, ohne den Groll der IT heraufzubeschwören.

Mehr noch, die Fachabteilungen sind mit Access 2010 und den Access Services in der Lage, unternehmensweite Lösungen zu realisieren, ohne viele Ressourcen der IT zu beanspruchen.

Das ist neu: Access 2010 und die SharePoint Services

Auf dem ersten Blick ist zu erkennen, dass sich Design und die Farben geändert haben. Alles wirkt intuitiver und ist dank der neuen Menüs leicht zugänglich.

Beim genaueren Hinsehen, fallen all die anderen Neuerungen auf. Beziehungen zu anderen Listen/Tabellen lassen sich über einen “Lookup Wizard” herstellen. Cascade Delete und Restrict Delete stehen für die verbesserte Integrität von Daten zur Verfügung. In den Table Tools kann durch ein Klick auf “unique check box” das eintragen von doppelten Einträgen in eine Liste/Tabelle eingeschränkt werden. In den TableTools steht die Datenvalidierung für eine Tabelle/Liste oder Spalte zur Verfügung. Der Expression Builder unterstützt den Anwender bei der Definition von Ausdrücken, um das Verhalten bei der Arbeit mit der Datenbank zu beeinflussen. Obendrein gibt es auch IntelliSense, die immer dann anspringt, wenn Ausdrücke zu formulieren sind.

Insgesamt wirkt das Produkt Professioneller und unterstützt den Anwender mit seinen vielen Funktionen. Auch wenn die Menüs noch so gut strukturiert sind, ist die Lernkurve für einen Access Neuling der sich vorher mehr im SharePoint Umfeld bewegt hat, nicht zu vernachlässigen. Es ist ratsam die fertigen Beispiele auszuprobieren und sich stück für stück im Designer alles anzusehen.

  • Tw1tt3r
  • L1nk3dIn

Für die neue Version stehen einige Templates unter “Sample Templates” zur Verfügung. Diese Templates sind lauffähige Datenbanken, an denen sich der Interessierte Anwender probieren kann.
Da diese bereits Web Kompatibel sind, also jederzeit mit den Access Services in eine SharePoint 2010 Umgebung gebracht werden können, erlangt der Anwender gleich sein erstes Erfolgserlebnis.

Im Beispiel für eine Kontaktdatenbank werden die Stärken von Access gut durch die einfache Bedienbarkeit und die Fokussierung auf die Daten ein und Ausgabe reduziert. Die Menüs sind gut erreichbar, das wesentliche erschließt sich dem Anwender sofort.

  • Tw1tt3r
  • L1nk3dIn

Die Positionierung der Elemente in der veröffentlichten Version wird durch versteckte HTML Tabellen realisiert.

Mit dem Dialog “Access Services Overview” im Menü Files, wird die Veröffentlichung der Datenbank gesteuert.

  • Tw1tt3r
  • L1nk3dIn

Nur wenn in der Webkompatibilitätsprüfung keine Fehler auftauchen, kann die Lösung Veröffentlich werden. Daher sollten folgende Punkte Beachtung finden und vermieden werden:

  • Zusammengesetzte Indizes – mehrere Spalten bilden Indizes und werden nicht unterstützt.
  • Ungültige Namen – Verwendung von Namen, die der SharePoint Server für sich reserviert. Ebenso ist darauf zu achten, keine ungültigen Zeichen zu verwenden.
  • Text basierte Primärschlüssel – Der Primärschlüssel muss immer vom Typ Long Integer sein.

  • Tw1tt3r
  • L1nk3dIn

Die Kompatibilitätsprüfung steht auch für einzelne Tabelle zur Verfügung. Im Design Modus führt ein Rechtsklick auf eine Tabelle den entsprechenden Menüpunkt zu tage.

In den Options wird das zu öffnende Formular festgelegt.

  • Tw1tt3r
  • L1nk3dIn

Sind alle offenen Fehler beseitigt, wird durch “Publish to Access Services” die Lösung in den SharePoint Server 2010 übertragen.

  • Tw1tt3r
  • L1nk3dIn

Für den Aufruf der Datenbank über den Webbrowser sind keine weiteren Einstellungen notwendig. Mit Firefox, Safari, IE7, IE8, … kann mit der Datenbank gearbeitet werden.

Wurde der Vorgang erfolgreich durchgeführt kann diese sofort aufgerufen werden. Eine Datenbank unter der Adresse wäre denkbar.

Der eben durchgeführte Vorgang hätte mit reiner .NET Entwicklung oder InfoPath Design und Anpassung viel mehr Zeit in Anspruch genommen und das ist es was Access auch ohne SharePoint bisher so beliebt gemacht hat.

Verbesserungen gegenüber 2007

Die Performance mit Access 2007 in Verbindung mit SharePoint 2007 Listen war ernüchternd.
Bei größeren Listen war das Arbeiten kaum möglich. Durch die Access Services und Access 2010 ändert sich dich nun schlagartig.

Beim erstmaligen öffnen der Datenbank, fallen die Unterschiede in punkto Ladezeiten kaum auf. Die Verbesserungen in Access 2010 scheinen das erstmalige Laden nicht wesentlich zu beschleunigen.
Wird die Datenbank geschlossen und wieder geöffnet, ist eine enorme Verbesserung zu verzeichnen.

Beim erneuten öffnen benötigt Access 2010 mit den Access Services nur einen Bruchteil der Zeit gegenüber Access 2007 und die SharePoint-Listen.

Aber warum gibt es diese großen Unterschiede? Folgende Veränderungen führen zu einer erheblichen Verbesserung beim Einsatz von Access 2010 und den Access Services:

  • Das Laden der Daten mit Access 2010 geschieht asynchron. Sobald der erste Datensatz zur Anzeige vorliegt, ist dieser sichtbar, alles Weitere wird im Hintergrund geladen.

     

  • Daten werden lokal im XML Format in den cache gelegt. Dies führt dazu, dass nur noch ein Bruchteil an Arbeitsspeicher reserviert wird.

     

  • Lediglich die geänderten Datensätze werden synchronisiert.

    Wurde schon einmal mit der Datenbank gearbeitet, so werden beim erneuten öffnen die Daten aus dem cache gerufen.

  • Die Kommunikation zu den SharePoint Listen wurde dahingehend verbessert, dass beispielsweise 50 einzelne Operationen zusammengefasst werden, was zu einer enormen Zeitersparnis führt und bei Versuchen eine Verbesserung um den 10 erreicht werden konnte.

     

  • Die Reduzierung der Kommunikation mit dem Web Service bringt zusätzliche Zeitersparnis. Bei komplexeren Szenarien mit vielen Verlinkungen zu SharePoint Listen macht sich die Strategie, dass für das abfragen von Daten, so wenig Web Service Aufrufe wie nötig stattfinden, bezahlt.

Diese Veränderungen tragen dazu bei, dass die Lösungen weniger Systemresourcen beanspruchen und erheblich schneller laufen, was für die Akzeptanz der Access Projekte entscheidend ist.

Durch die Optimierung der Kommunikation und den weiteren Maßnahmen die ich im Artikel erläutre, haben Enterprise Lösungen auf Access Basis künftig mehr Chancen. Beispielsweise können Anwender aus Asien innerhalb der SharePoint Umgebung, entweder mit einem angepassten Client oder dem Web Frontend auf dem Backend in Europa zugreifen.

Die Webanwendung

Im vorherigen Beispiel wurde in wenigen Schritten eine Access Lösung veröffentlich.
Jeder im fiktiven Intranet von Contoso.com kann diese Anwendung über den Browser (Safari, Firefox, IR7, IE8, …) aufrufen und darin arbeiten.

Alle Objekte wurden mit dem Applikation Transfer Protocol (MS-AXL) serialisiert. Um Änderungen am Design umzusetzen, wird neben MS-AXL auch das XAML Protokoll eingesetzt.

ActiveX Controls sind Vergangenheit, stattdessen setzt Microsoft auf JavaScript und XML. Mit AJAX Techniken wird vermieden, dass Komplette Seiten beim Arbeiten mit den Inhalten neu geladen werden müssen. Statt der Postbacks findet unter der Haube der Datenaustausch asynchron statt.

Bei der Entwicklung von Webanwendungen ist es an manchen Stellen wichtig, zu unterscheiden, ob diese mit dem Browser oder dem Client aufgerufen wird. Die IsClient() und IsServer() Ausdrücke geben Aufschluss über die Art des Frontends. Nicht immer steht im Web Frontend die gleiche Funktionalität wie im Access Client zur Verfügung, daher macht es Sinn den Zugriff auf entsprechende Buttons mit einem IsClient() im Load Event eines Formulars zu steuern.

Im Bild ist die Anwendung zu sehen – sie wirkt fast wie die Client Variante.

  • Tw1tt3r
  • L1nk3dIn

Eventhandling mit Data Macros

Data Makros bringen das Eventhandling für Tabellen und Spalten mit. Sie verhalten sich ähnlich gegenüber Trigger auf einem SQL Server. Für das Design der Datenbank bedeutet dies, dass ganz egal welches Frontend die Daten manipuliert, bestimmte Checks und Abläufe immer behandelt werden.

In veröffentlichten Tabellen stellen Workflow Aktionen die Behandlung der Regeln sicher. Im Access Client übernimmt die Arbeit die Access Datenbank Engine auf die gleiche Weise.

  • Tw1tt3r
  • L1nk3dIn

Um Data Marcos anzuwenden, muss die Tabelle oder Spalte im Designer Modus markiert werden. Im Menü Fields unter den Data Tools werden die verfügbaren Ereignisse zur Auswahl angezeigt. Ein Klick auf ein Ereignis öffnet den Makro Designer.

  • Before Change, Before Delete
    Diese Events sind dafür gedacht, schlanke Operationen durchzuführen. Eine Überprüfung des neuen Wertes, bevor dieser eingetragen wird, läge hier nahe.

     

  • After Update, After Insert, After Delete

    In diesen Ereignissen werden auch mächtigere Operationen unterstützt. Grundsätzlich sollten hier keine Änderungen am Eintrag vorgenommen werden, um mehrfachaufrufe zu vermeiden.

    Die Verschachtelungstiefe, ist auf eine Tiefe von 10 beschränkt.

    Falls dies aber doch vorkommt, kann es bei der Arbeit mit dem “After Event” passieren, dass das aktuelle Feld geändert wird und den After Update Event erneut auslöst.

    Hier kann beispielweise mit dem Aufruf Updated (“NamedesFeldes”) gearbeitet werden, um versehentliche Mehrfachaufrufe zu vermeiden, indem das zu ändernde Feld geprüft wird.

Anhänge oder Spalten mit mehrfachen Einträgen bleiben bei der Verarbeitung außen vor.

Die Engine von Access 2007 unterstützt keine “Data Macros”, daher ist der schreibende Zugriff auf verlinkte Daten von Access 2010 Projekten nicht möglich.

  • Tw1tt3r
  • L1nk3dIn

Referenzielle Integrität

Mit dem SharePoint Server 2010 gibt es eine Neuerung für Verlinkte Spalten. Eine abgeschwächte Form der Referenziellen Integrität für SharePoint Listen.
Bei Lookup spalten besteht nun die Möglichkeit, zu verhindern, dass verwendete Einträge gelöscht werden. Andersrum kann ein Löschen auch das Gegenteil bewirken und Zusammengehörenden Datensätze mit entfernen.

In Access 2010 ändert sich auch etwas gegenüber der Vorversion. Vor dem veröffentlichen muss eine Lookup Spalte definiert werden. Im Designer für eine vorhandene Tabelle, wird eine neue Spalte vom Typ “Lookup & Relationship” hinzugefügt.

  • Tw1tt3r
  • L1nk3dIn

Im Laufe der Dialoge sollte die Eigenschaft “Referenzielle Integrität ermöglichen” aktiviert werden.

  • Tw1tt3r
  • L1nk3dIn

Ausdrücke

Die Ausdrücke, wie sie jetzt in Access 2010 möglich sind, können mit Formeln in Excel verglichen werden. Die Access Services nutzen eine abgeänderte Version der Bibliothek die für die Excel Calculation Services benutzt wird. Als Neuerung wurde auch die Möglichkeit geschaffen, mit Null-Werten umzugehen.

Um Ausdrücke zu definieren, steht der Expression Builder zur Verfügung. Auf dem ersten Blick ist zu erkennen, dass das Aussehen und die Funktionalität des Expression Builders um einiges verbessert wurden.
Im Designer Modus von Access 2010 startet die IntelliSense, sobald Ausdrücke Formuliert werden können, und liefern eine Anzahl an möglichen Vorschlägen.

Hinweis:
Fehlerhafte Ausdrücke in Berechneten Spalten oder Validierungsregeln, werden bei unveröffentlichten Datenbanken nicht erkannt. Es treten dann Kompilierungsfehler im Vorgang für die Veröffentlichung des Projekts auf.

Insgesamt ist der Expression-Builder gelungen, er passt gut ins neue Bild und unterstützt den Anwender entsprechend.

Es werden Ausdrücke in Query-Abfragen, Ereignissen, berechneten spalten, Forms und Report quellen unterstützt.

Daten Validierung

Anders als mit Access 2007, kann die Validierung auf der Daten-Schicht durchgeführt und kann für Spalten oder ganze Tabellen mit der Definition von Ausdrücken durchgeführt werden, die wahr ergeben müssen.

  • Tw1tt3r
  • L1nk3dIn

Der Benutzer hat mit den definieren von Validierungsregeln einen großen Einfluss auf die Datenqualität, daher lohnt es sich die Validierung wichtiger Spalten oder Tabellen auf dieser Ebene durchzuführen, was gleichzeitig zu einer Unabhängigkeit gegenüber der Front-Ends führt.

In Szenarien, in denen Mehrere Personen, beispielsweise rund um den Globus verteilt, auf gemeinsame Daten über die Access Services zugreifen, ist es wichtig, dass neben einer Standardisierten Validierung der Eingaben in den Frontends eine gründliche Validierung der Eingaben auf der Daten Schicht durchgeführt wird. Nur so kann die Qualität der Daten sichergestellt werden. Dieses Verhalten kann durch die Before * Ereignisse gesteuert werden.

Offline Working

Die Szenarien für das Arbeiten mit Daten erfordern es oftmals, dass auch ohne Netzwerkverbindung gearbeitet werden kann. Gerade weil das Arbeiten mit einem Laptop per Dockingstation weit verbreitet ist, liegt der Gedanke nahe, auch offline mit den Daten zu arbeiten.

Wird eine mit den Access Services verbundene Lösung offline genommen, kann mit der Lokalen Anwendung weiter gearbeitet werden. Es ist für diesen Zeitraum nicht mehr möglich die Struktur der Tabellen zu verändern. Die Tabellen liegen im Cache und werden mit dem Backend zur Synchronisation vorgeschlagen, wenn sich wieder mit dem Netzwerk verbunden wird. Für alle anderen Objekte, werden Änderungen nur dann synchronisiert, wenn der Benutzer dies von sich aus initiiert, hierfür gibt es einen “Sync all” Button.

  • Tw1tt3r
  • L1nk3dIn

Unter Umständen werden Makro Operationen in Offline Szenarien solange angehalten, bis wieder eine Verbindung zum Netzwerk besteht.

Reports

Dank dem “Report Wizard” ist es auch möglich die Daten in wenigen Schritten in ein ansehnliches Format zu bringen, um diese als Report abzulegen. Ein beispielsweise extra dafür angelegtes Formular das dem Anwender eine übersichtliche Auswahl des verfügbaren Reports anbietet, macht eine Anwendung noch wertvoller.

Beim Bau des Reports bietet es sich an, vorher eine Abfrage zu schreiben, die die nötigen Daten zusammenträgt. Im Laufe der Dialoge wird diese dann angegeben.

Sobald der “Report Wizard” abgeschlossen ist, kann dieser mit eines der zur Auswahl stehenden Themes im Aussehen verändert werden.

Sobald die Access Datenbank dann im SharePoint Server 2010 veröffentlich wurde, wird auf die Reporting Services zurückgegriffen. (SQL Server 2008 R2 Reporting Services-Add-In).

Fazit

Architekten im SharePoint / .NET Umfeld, sowie Entwickler und IT Profis sollten diese neuen Möglichkeiten kennen, um diese in Betracht zu ziehen, wenn es um die Auswahl der Richtigen Werkzeuge für die Bewältigung einer neuen Herausforderung geht. Gerade für Fachabteilungen mit viel Access Erfahrung sind das in jedem Fall gute Neuigkeiten.

Access 2010 und die Access Services führen die Fachabteilungen an den SharePoint Server 2010 heran. Die Neuerungen sind sehr wertvoll und machen es möglich, dass Fachabteilungen künftig unabhängiger von dem vorhanden sein der IT Ressourcen sind. Fachabteilungen sind in der Lage eigene Access Datenbanken mit den Access Services Unternehmensweit verfügbar zu machen, daher bietet es sich an, eigens für diesen Zwecke einen Bereich im SharePoint zu schaffen, der dies für Fachabteilungen möglich macht (Beispielsweise http://appweb oder http://appweb.contoso.com).

Der Access Entwickler wird durch die Verbesserungen enorm unterstützt, was dazu führt, dass gute Qualität mit weniger Aufwand realisierbar ist. Um kein Risiko einzugehen, ist es in vielerlei Hinsicht ratsam, kritische Anwendungen mit der IT zu planen, da gerade die verführerische Leichtigkeit dazu führen kann, dass wichtige Daten einem Falschen Personenkreis verfügbar gemacht werden oder gar gegen Datenschutz Bestimmungen verstoßen wird.

Die Access Services sind in der Enterprise Edition verfügbar.

 

Links & Literatur

Improving the Reach and Manageability of Access 2010 Database Applications with Access Services (white paper) http://technet.microsoft.com/en-us/library/ff397963(office.14).aspx

Share This