Sharepoint und Access

Neben den diversen Möglichkeiten, Serverdatenbanken zu betreiben (MySQL, MS SQL, Oracle etc.) und dafür Code zu schreiben, Formulare zu entwickeln etc., hat Microsoft seit einigen Jahren „Sharepoint“ als umfassendes Konzept hervorgebracht. Sharepoint ist eine Entwicklungsumgebung für Web-Zusammenarbeit (vor allem in Betrieben), die nun schon auf einige Schritte der Weiterentwicklung und Verbesserung zurückblickt, und die in Konzept und Umsetzung als überaus innovativ und leistungsstark gilt. Das Konzept ist, dass die Aktivitäten eines Betriebes, also dessen Personen und Gruppen, von vorn herein webbasiert betrieben und abgebildet werden. Dokumente werden auf Cloudservern abgelegt, Ablageorte werden Gruppen zugeordnet, so dass neue Dokumente oder neue Versionen von Dokumenten sofort einer ganzen Gruppe zur Verfügung stehen. So wird ein betrieblicher Workflow ermöglicht, der bereits im ersten Ausgangspunkt webbasiert ist. Da nun alle Dokumente und Tabellen webbasiert sind, und somit über Internetbrowser wie Edge oder Chrome oder Firefox erreichbar sind, ist es nur ein kleiner Schritt, Dokumente nicht nur einer Arbeitsgruppe eines Betriebes verfügbar zu machen, sondern sie öffentlich „zu stellen“. Denn der Dreh-und Angelpunkt aller betrieblichen Aktivitäten ist ja, zumindest auch, die Interaktion mit dem Kunden. In Sharepoint können Tabellen, und überhaupt Dokumente, sehr leicht auf die öffentliche Internetseite des Betriebes gestellt werden („im Web“ sind sie ja bereits), beispielsweise zur minutenaktuellen Information für alle Besucher der Website. Tabellen können auch als Eingabetabellen für Kunden bearbeitbar sein, und somit sofort strukturierte Daten zur Weiterverarbeitung zur Verfügung stellen. Dokumente verschiedenster Anwendungen können zudem in Sharepoint durch ein makroartiges Werkzeug namens „Flow“ miteinander verbunden werden, und eventgesteuert Kaskaden anderer Programmabläufe auslösen. Z.B. kann ein „Event“ wie ein händischer Eintrag in eine Tabelle, durch „Flow“ weitere, nunmehr automatische, Events auslösen – beispielsweise das Senden einer vorstrukturierten Email, vielleicht eines Angebotes, etc.. Zum umfassend webbasierten Konzept gehört auch, dass die von Microsoft bestens bekannten Anwendungen wie Word, Excel, Powerpoint etc. nun Webanwendungen sind. D.h., man kann diese Anwendungen über den Browser betreiben. Neben vielen Vorteilen bedeutet dies zum Beispiel auch, dass mächtige Tools wie Word etc. nicht auf einem kleinen Webbook installiert werden müssen (was oft genug aus Hardwaregründen unmöglich ist), um ein Word-Dokument zu bearbeiten. Man muss auch nicht an USB-Speichersticks und Ähnliches denken, wenn man sicher sein will, die wichtigen Dokumente an jedem Ort zur Verfügung zu haben, gleich gemeinsam mit dem Tool für ihre Bearbeitung. Die IDEs, also die Möglichkeiten diese Anwendungen mit den angepassten Versionen von Visual Basic (Visual Basic for Applications = VBA) zu programmieren, stehen online verständlicherweise nicht zur Verfügung. Warum „verständlicherweise“? Weil Microsoft auf den eigenen Servern keine beliebig gestrickte Software laufen lassen kann – dies wäre lokalen Anwendungen vorbehalten (wie eben Access). Dafür hat Microsoft proprietäre Hilfs-Tools wie „Flow“ entwickelt. Access wurde in Sharepoint nicht als Webanwendung programmiert, sicherlich weil Microsoft als Serverdatenbank bereits MS-SQL bereithält und sich nicht selbst „kannibalisieren“ möchte. Außerdem ist die eigentliche Stärke der Access-Datenbank, eine Kombination aus Programmierumgebung (IDE) und „Out-Of-The-Box“ Datenbankanwendung zu sein – ohne die Programmierbarkeit mit VBA Access wäre das Programm mehr oder weniger das, was eine Sharepoint-Liste ja bereits ist, oder auch das, was ein Excel-Spreadsheet bereits ist. Und darüber, dass Microsoft auf den eigenen Servern keine Fremdsoftware laufen lassen kann/möchte haben wir bereits gesprochen. Daher: Ohne die eigentliche Access-Stärke der Programmierbarkeit und gegen die bereits in Sharepoint vorhandenen Tabellen machte es wohl wenig Sinn, ein Online-Access bereitzustellen … es wäre ein zweites Excel. Zumal es wie gesagt die ausdrückliche Strategie von Microsoft ist, USER-Programm-Erweiterungen nicht auf den eigenen Servern laufen zu lassen, sondern Client-basiert, oder auf den eigenen Serverrechnern von Kunden. Und, es gibt ja großartige Möglichkeiten, Access Frontends mit allen möglichen Webserverdatenbanken zu verbinden, aber besonders gute und stabile Möglichkeiten der Verbindung gibt es mit den „Sharepoint-Listen“ genannten Tabellen! Übrigens ist Sharepoint als Entwicklungsumgebung, wie der Name schon sagt, für das Teilen und Bearbeiten webbasierter Daten gedacht und ausgelegt, und so können innerhalb von Sharepoint auch Microsoft-fremde Datenbanken wie MySQL oder Oracle als Datenquellen in den Workflow eingebunden werden. Die Möglichkeiten von Access-Anwendungen im Zusammenhang mit Sharepoint sind jedenfalls riesig, denn die Access Tabellen können wie gesagt mit Sharepoint-Tabellen verknüpft werden. Auf diese Art und Weise werden Anwendereingaben in eine Sharepoint-Liste einer Firmenwebseite zu Tabelleneinträgen einer Access-Anwendung lokal. Kommen neue Einträge hinzu (tragen sich neue Kunden auf der Website ein), können, beispielsweise durch zeitgesteuerte Skripts, lokale Access-Programmteile ausgelöst werden … wie zum Bericht erstellen, automatische Email senden, etc. etc.. Die Möglichkeiten der Access – Datenbank gehen dabei natürlich sofort über die Möglichkeiten des makroartigen „Flow“ hinaus. Auf diese Weise verliert das lokale Büro nie den Kontakt zur Interaktion mit den Internetvorgängen, es stehen aber alle Möglichkeiten des realen Büros zur Verfügung, und nicht nur die des virtuellen. Erwähnt werden sollte, dass mit einiger Kenntnis von Sharepoint dieses durch zahlreiche Programmierbausteine erweiterbar ist, beispielsweise können, wie Windows üblich, C# – Programmteile eingebunden werden, Visual Basic, oder auch Javascript. Dies ist wie gesagt limitiert durch die eingeschränkte Serververfügbarkeit für Fremdcode … die einfachste und beste lokale Programmier-Lösung ist hier jeweils Access. Darüber hinaus gibt es noch einen „App-Markt“, der Zahlreiche Funktionserweiterungen, eben „Apps“ (fertige Teilanwendungen) bereit hält. Sharepoint ist Teil des Office 365 Professional Paketes (um die 12 € im Monat).