Microsoft Visio ist ein nützliches Werkzeug, um Abläufe, Prozesse, Statis oder IT Landschaften zu Visuell darzustellen. Solche Zeichnungen schmücken die Wände so mancher IT Büros. Mehr und mehr wandern diese Visio Zeichnungen – meist umgewandelt als Grafik und eingebettet in eine HTML Seite, ins Intra- oder Extranet – oder in den Papierkorb.

Alles schön und gut, aber hinter dem Produkt – Microsoft Visio steckt noch viel mehr. Wir sind erst am Anfang einer neuen spannenden Gesichte. Visio mit SharePoint in – die Visio Services… ein nicht ganz so billiges Enterprise Feature trifft auf den Visio Power User.

Wie schon angedeutet, können die Visio Grafiken (Shapes) mit SharePoint sprechen – auch wenn dies eher einseitiger Natur ist – nur Lesend.

Gemeinsam mit Ihnen werde ich alles ganz genau durchkauen und anhand eines einfachen Beispiels alle Schritte gehen und erläutern, die nötig sind, um Sie in die Lage zu versetzen, auch eigene Lösungen zu erschaffen – Visualisierung der IT Landschaft als Unterseite im IT Bereich mit Systemzuständen und Detail Informationen – wow, dem Chef freut das sicherlich.

Visio Services kurz und knapp

Mit den Visio Services können wir veröffentlichte Visio Diagramme mit dem Browser betrachten – ohne die Installation von Microsoft Visio. Eine Installation von Microsoft Visio ist für den Betrachter, im Gegensatz zum Autor, somit nicht mehr notwendig. Die Visio Services sind eine Dienstanwendung vom SharePoint Server 2010 und versetzen uns in die Lage nicht nur Visio Zeichnungen zu veröffentlichen, sondern auch Externe Daten mit einzubinden, um den Betrachter mit der Lebendigen Darstellung von relevanten Informationen in seinen Bann zu ziehen. Wie bei ausgewachsenen Microsoft Produkten üblich, spielt hier die Sicherheit betreffend der Einbindung externer Datenquellen eine große Rolle. Die Visio Services greifen nur Lesend auf Daten zu, macht aber nix.

Los geht’s

Um in den Genuss der Visio Services zu kommen, sind noch ein paar Vorbereitungen notwendig. Zuerst wird in der Zentral Administration unter System Settings auf der Seite “Manage services on Server” der Visio Graphics Service gestartet, dieser ist per default im Stoped Zustand.

  • Tw1tt3r
  • L1nk3dIn

Als nächstes erstellen wir in der Anwendungsverwaltung die Dienstanwendung Access-Service. Zu erreichen sind die Einstellungen ebenfalls über die Zentraladministration. Im Menü “Application management”, muss hierfür die Seite “Manage service aplications” gewählt werden. Mit einem Klick auf “New” wird der “Visio graphics Service” ausgewählt. Abb2

  • Tw1tt3r
  • L1nk3dIn

Hier sind die Einstellungen auch gewohnt umfangreicher. Wichtig ist grundsätzlich dass für Kritische Umgebungen getrennte Application Pools verwendet werden. Passiert etwas im Kontext eines Application Pools, z.B. innerhalb einer Webanwendung – und bringt eine Webanwendung sogar zum Stillstand, so blieben die Visio Services unberührt, bzw. werden nicht beeinträchtigt.

Ein Application Pool ist tatsächlich eine Virtuelle Hostumgebung für Programminstanzen, in der eigenen Ressourcen für die darin befindlichen Prozesse bereitstellt werden. Innerhalb eines Application Pools sollten nicht mehr als 10 Webanwendungen betrieben werden. Um erfolgreich die Performance der Farm zu überwachen, kann der Zustand der einzelnen Anwendungspools mit dem Bordwerkzeug perfmon überwacht werden, also ist es umso wichtiger sich intensiv mit der SharePoint Architektur auseinander zu setzen. Gleichzeitig können so auch kritische Anwendungen Isoliert werden. Dieses Vorgehen ist insbesondere bei Webanwendung die mit Problematischer Eigenentwicklung z.B. viel Speicher in Anspruch nehmen, weil sie nicht gut mit der Garbage Collection(Automatische Speicherbereinigung) harmonisieren, sinnvoll.

Nicht weniger wichtig ist die Wahl des richtigen Kontos für den Application Pool. Vorzugsweise sollte dies ein Domänen Konto sein – mit so wenig Rechten wie nötig – nur für diese Aufgabe. Viel hilft nicht immer viel, sobald Berechtigungen im Spiel sind und Dienste bestimmte Berechtigungen besitzen, sollte immer geprüft werden, dass die Rechte entsprechend abgestimmt sind.

Unterstützte Datenquellen

Wir haben die Möglichkeit Daten aus verschiedenen Quellen mit in eine Visio Zeichnung zu nehmen – das ist bekannt. Folgende Datenquellen (Datenprovider) werden unterstützt.

  • SQL Server 7.0
  • SQL Server 2000
  • SQL Server 2005 (32- & 64-bit)
  • SQL Server 2008 (32- & 64-bit)
  • SQL Server 2008 R2 (32- & 64-bit)
  • Sheet information that is stored in Excel workbooks (.xlsx files) published from Microsoft Office Excel 2007 or Microsoft Excel 2010 hosted on the same SharePoint Server 2010 farm
  • SharePoint Server lists that are hosted on the same farm
  • OLE DB or ODBC
  • Custom Data Providers implemented as .NET Framework assemblies

 

Neben der Einbindung von Daten aus dem SQL Server, dem Excel Sheet oder einer SharePoint Liste, kann auch ein eigener Daten Provider hinzugefügt werden. In vielen Szenarien macht das durchaus Sinn, denn es gibt Systeme auf die ungern direkt auf die Nackte Datenbank zugegriffen werden soll – mit ungern ist gemeint, dass ein Professioneller Ansatz her muss. Kurz und knapp – Eigene Datenprovider müssen letztendlich im SharePoint Server 2010 deployed werden und dienem dem Zweck eine Visio Zeichnung entsprechend mit Daten zu versorgen. Die Visio Services API arbeitet Asynchron und besteht aus einer Basis Klasse (AddonDataHandler) und drei Methoden.

BeginGetData(HttpContext, AsyncCallback, Object) method Called by Visio Services to start retrieving data from the data source specified by the custom data provider. When you implement this method, design it to return as quickly as possible, because custom data providers are meant to be run asynchronously.
EndGetData(IAsyncResult) method Called by Visio Services when this custom data provider has finished retrieving data. This method must return to Visio Services the data retrieved by the custom data provider in the form of an ADO.NET DataSet object.
Cancel() method Called by Visio Services to stop the asynchronous processing of the data when it detects an error, or when the maximum time allocated for retrieving data has elapsed and data retrieval is not complete.

 

Wer mehr über das Erstellen eines eigenen Datenproviders erfahren möchte, sollte sich hier umsehen.

Interaktion mit SharePoint

Als Visio Power User mit SharePoint Erfahrung können wir mit wenig Aufwand Interaktivität ins Spiel bringen. Hierbei gibt es die verschiedenen Ansätze.

Mit dem Visio Web Access Webpart kann auf verschiedenen Seiten jeweils das Passende Visio Diagramm gezeigt werden – schnell und einfach.

Der nächste Schritt geht dahin, mit der Hilfe eines Webparts, über eine Webpart Verbindung ein bestimmtes Shape innerhalb einer Visio Zeichnung anzusteuern – dank Silverlight ist die Bedienung recht flüssig. Ich werde nicht ins Detail gehen, in der vorherigen Ausgabe konnte dies schon näher beschrieben werden.

Wer sich vom Chef eine Gehaltserhöhung erhofft, sollte sich mit der Visio Services Mash-up API beschäftigen und seine Liebe zu JavaScript und ASPX Seiten ausgraben. Falls daraus nichts wird, kann es nur an der Fachlichen Relevanz liegen – oder der Wirtschaftskriese.

Authentifizierung

Trockenes Thema ohne Feuerwerk, ich fasse mich kurz. Es gibt zwei Sorten von Datenquellen. Einmal die innerhalb von SharePoint, also SharePoint Listen oder Excel Arbeitsblätter – hier ist Authentifizierung ein leichtes, es gelten die SharePoint Berechtigungen. Darüber hinaus muss alles innerhalb einer Farm liegen.

Anders ist es bei externen Datenquellen. Das Double Hop Problem – hier muss per Design die Windows Authentifizierung, über den SharePoint Frontend Server, an den SharePoint App Server(Optional) weiter an die Datenquelle gereicht werden. Dies ist nicht sofort mit der alleinigen Windows Authentifizierung zu realisieren. Die Windows Anmeldung wird nicht über den Web Frontend Server hinaus übertragen. Um dies zu lösen gibt es 3 Wege.

Authentifizierung

 

Kerberos Delegation

Kerberos ist ein bewährtes Authentifizierungsprotokoll, wenn es um das weiterreichen von Anmeldeinformationen geht, es integriert sich in die vorhandene Active Directory Infrastruktur und ist, wenn es erst einmal konfiguriert ist, die erste Wahl. Die Konfiguration der IT Infrastruktur kann anspruchsvoll sein.

Secure Store

Mit dem Secure Store Service Feature ist ein Mapping von einem oder mehreren Benutzern auf vordefinierte Anmeldedaten ein Zugriff auf Daten außerhalb vom SharePoint Server 2010 möglich, beispielsweise auf eine SQL Datenbank. Dies geschieht im Namen des SharePoint Servers.

Im Secure Store werden dann zu den jeweiligen “Ziel Anwendungen” die dafür vorgesehenen Domain Benutzer angegeben. Ebenso werden dann die Anmeldedaten für diese Gruppe hinterlegt. Am Ende gibt es noch die Administratoren innerhalb der Ziel Anwendung, die steuern, wer Mitglied dieser Gruppe ist, also mit den hinterlegten Anmeldedaten auf die “Ziel Anwendung” zugreifen darf.

Unattended Service Account

Der Unattended Service Account zeigt auf die Anmeldedaten, die für die “Ziel Anwendung” hinterlegt wurden. Dieses Vorgehen ist für Business Intelligence Lösungen notwendig.

Oberflächlich gesehen greifen ausgewählte Benutzer im Namen eines einzelnen Accounts auf eine Datenquelle zu. Ich möchte euch dieses Video empfehlen. Es beschreibt auch, wie mit Excel eine Datenverbindung erstellt wird.

Datenverbindungen

Für größere Projekte sollten die Datenverbindungen separat verwaltet werden, also außerhalb der Zeichnungen, für den Fall das sich etwas bei den Anmeldedaten etwas ändern sollte, können diese Zentral verwaltet werden.

In diesem Artikel gehen wir den direkten Weg und legen keine Microsoft Office Data Connection (.odc) an, ansonsten macht eine extra für Datenverbindungs-Dateien angelegte SharePoint Bibliothek Sinn. Diese Bibliothek wird dann aus Visio heraus angesteuert.

Sobald externe Daten in Visio eingebunden werden sollen, z.B. im Ribbon Data unter dem Menüpunkt “Link Data to Shapes”, öffnet sich nach einem Klick der “Data Selector”. Es wird der Punkt “Previously created connection” ausgewählt, danach Browse und dann auf “Browse for More…”, um dann die Webadresse der ODC Datei auszuwählen.

Visualisierung der IT Infrastruktur

SCOM – System Center Operation Manager ist ein mächtiges Werkzeug, wenn es darum geht eine gesamte IT Landschaft zu überwachen und zu warten. Es ist ein ausgewachsenes IT Management Instrument und bietet auch Unterstützung für UNIX und Linux Systeme, um deren Zustand zu überwachen.

Für Visio gibt es ein Add-In, das uns erlaubt, SCOM als Datenquelle anzuzapfen, um die Zustände einzelner Computer, Datenbanken oder Web Seiten zu überwachen. Diese Stehen als Shape-Daten zur Verfügung und können auf die Visio Zeichnung gebracht werden.

Hinweis: Windows Server R2 als Host wird noch nicht 100% unterstützt, daher habe ich den Windows Server 2008 verwendet. Gleichzeitig ist SP1 auf der SQL Datenbank, als auch beim Server Betriebssystem Voraussetzung.

Schritt 1

Ist ein SCOM in der IT Infrastruktur vorhanden, so muss noch das Visio Add-in installiert werden, falls nicht bitte diesen Link ansteuern.

Für unseren Zweck muss die SCOM Operating oder Authoring Konsole installiert sein. Gleichzeitig sollte Visio 2010 Professional oder Premium sich auf dem System befinden. Der Addin ist hier zu finden. Hat alles geklappt, so sehen wir den Operations Manager im Visio 2010 Client. Abb.3

  • Tw1tt3r
  • L1nk3dIn

Schritt 2

Für den Zugriff auf die SCOM Daten wird ein eigener Datenprovider verwendet, der erst noch installiert werden muss. Zum Download geht’s hier.

Das MSI Packet entpackt lediglich die Dateien in ein Verzeichnis, die Installation selber erfolgt über die SharePoint 2010 Management Shell. Abb.4

  • Tw1tt3r
  • L1nk3dIn

Um das erfolgreiche deployment zu überprüfen muss in der Zentraladministration im Bereich Dienstanwendungen der Visio Graphics Service geöffnet werden. Neben den Globalen Einstellungen, wie z.B. das Festlegen der ID für den Unattended Service Account, gibt es unter “Trusted Data Proviver” alle verfügbaren Datenquellen.

Hinweis: Daten Provider müssen explizit erlaubt werden, bevor eine Zusammenarbeit möglich ist.

Schritt 3

Zurück in Visio 2010 kann nun SCOM als Datenquelle konfiguriert werden, das klappt ganz einfach. Der Hostname des Servers reicht aus und alles weitere erledigt der Dialog. Abb.5

  • Tw1tt3r
  • L1nk3dIn

Ab diesem Punkt kann sich aus dem SCOM bedient werden – genauer gesagt im selben Ribbon mit Add Shapes. Die fertige Visio Zeichnung sollte nun als Web Grafik (Speichern unter…) in einer SharePoint Bibliothek abgelegt werden.

  • Tw1tt3r
  • L1nk3dIn

Mit “Insert Shape” lassen sich die verfügbaren SCOM Shapes anzeigen, die dann auf das “Papier” gebracht werden. Abb 6

Auf einer SharePoint Seite wird nun aus der Kategorie “Business Data” das WebPart “Visio Visual Acces” hinzugefügt. In den Eigenschaften wird dann die Visio Web Zeichnung als Quelle angegeben und fertig. Abb 7

  • Tw1tt3r
  • L1nk3dIn

Hinter jedem Shape gelangt man zu weiteren Informationen betreffend des jeweiligen Objekts. Als Beispiel sieht mein demo2010a Domain Controller nicht gesund aus, mit einem Klick öffnet sich die SCOM Web Übersicht und alle System Informationen liegen vor. Es genügt schon eine Kritische Fehlermeldung im Event Log und der Server Status wechselt den Zustand.

Wichtig: Das auf SCOM Zugreifende Konto sollte nur Leserechte besitzen, da auf dieser Adresse und dem Port gleichzeitig die Komplette SCOM Console als Web Oberfläche im Zugriff ist.

Fazit

Die Visio Services spielen bei der Visualisierung von Daten eine große Rolle. Es macht richtig Spaß sich näher mit dieser Technologie auseinander zu setzen. Trockene Prozesse und langweilige Zahlen lassen sich so viel ansehnlicher darstellen. Besonders unkompliziert ist das Handling mit externen Datenquellen gelöst.


Share This