25.09.2005, 02:34 Uhr

Brückenbau für Office 2003

Das Information Bridge Framework verbindet Office 2003 mit firmeninternen Geschäftsanwendungen via Webservices. Von Marcel Gnoth *
Beim aktuellen Office-Paket von Microsoft stand die Integration der Office-Anwendungen in die IT-Landschaft der Unternehmen im Vordergrund. Dafür hat Microsoft Schritt für Schritt neue Möglichkeiten geschaffen, die weit über das klassische VBA hinaus gehen. Eine dieser neuen Technologien ist das Information Bridge Framework (IBF), welches seit Anfang des Jahres in der Version 1.5 verfügbar ist.

Warum IBF?

Wenn Anwender in grossen Unternehmen Geschäftsdokumente mit Word oder Excel erstellen oder einem Kunden per E-Mail antworten, dann müssen sie dafür oft Daten aus anderen Systemen wie etwa einer SAP-Lösung oder einer CRM-Anwendung heraussuchen. Solche Informationssysteme werden auch auf Fachdeutsch als Line-of-Business-Applikationen (LOB) bezeichnet. Jedes dieser LOB-Systeme bringt eine eigene, mehr oder weniger komfortable und intuitive Benutzeroberfläche mit, für die die Anwender geschult sein müssen.
Wäre es nicht schön, wenn der Anwender direkt aus Word oder Excel heraus auf Kunden- oder Produktinformationen zugreifen könnte? Wenn der Anwender den Status einer Bestellung direkt aus Office heraus ändern könnte?

Komfort via Taskpane

Zu einer IBF-Lösung gehören fast immer SmartTag-Recognizer, die Office-Dokumente nach Kunden-, Produktnummern oder beliebigen anderen geschäftsrelevanten Inhalten durchsuchen und diese dann mit speziellen IBF-SmartTags kennzeichnen. So kann der Anwender direkt aus dem Dokument heraus über das Kontextmenü des SmartTags Informationen abrufen, die dann im Aufgabenbereich (Taskpane) dargestellt werden (Screen 1) [1].

Die IBF-Architektur

Ein IBF-Projekt besteht aus in XML-beschriebenen Metadaten, die definieren, auf welche Webservices zugegriffen wird und wie die Daten visualisiert werden. Diese Metadaten werden auf einem SQL-Server gespeichert. Die Clients greifen auf die Metadaten über zwei Webservices zu, einen zum Lesen und einen zum Schreiben (Screen 2).
Die IBF-Engine auf den Clients speichert die Metadaten in ihrem lokalen Cache zwischen und greift direkt auf die Webservices der LOB-Systeme zu, um die Informationen in der Taskpane darzustellen. Die Client-Komponenten erfordern ein Office 2003 mit Primary Interop Assemblies (PIA). Ausserdem muss das .Net Framework und der IBFClient installiert sein. Entwickler benötigen zusätzlich noch den Metadata-Designer, der sich in Visual Studio 2003 integriert (Installationsanleitung [2]).

XML-Metadaten und Webservices

Der Kern einer IBF-Entwicklung besteht aus einem XML-Dokument, das die Metadaten enthält. Dieses XML-Dokument wird über den Meta Data Explorer (Screen 3) oder das Meta-Data-Guidance-Fenster, welches Zugriff auf einige Wizards bietet, bearbeitet. Nach der IBF-Installation können Sie in Visual Studio ein neues Projekt vom Typ IBF-Metadata anlegen. Dieses Projekt besteht aus einer XML-Datei: MSIBFMetadata.xml.
Für eine IBF-Lösung werden als erstes Webservices benötigt, die den Zugriff auf das gewünschte LOB-System ermöglichen. Viele LOB-Systeme bieten inzwischen eigene Webservice-Schnittstellen an, wie zum Beispiel SAP. Diese können von IBF verwendet werden. Im Idealfall können Sie aber die Schnittstellen der Webservices selber festlegen, so dass diese möglichst einfach von IBF aus verwendet werden können.

Definition von Entities und Views

Entitäten bilden Geschäftsobjekte, wie Kunde oder Bestellung, ab. Für jede Entität wird mindestens eine Ansicht (DefaultView) benötigt. So könnte eine Ansicht die Bestellungen und eine andere die Bankinformationen eines Kunden anzeigen. Jede dieser Views definieren Sie als Klasse im Webserviceprojekt und versehen die Klasse mit XML-Attributen für den Soap-Formatter. So können Sie steuern, wie die View-Daten der Entität an IBF übergeben werden (Listing 1, Seite 62). Referenzen ähneln einem Primärschlüssel und ermöglichen den Zugriff auf eine bestimmte Entität. Auch hier sind mehrere Referenzen denkbar. So kann ein Kunde über seine ID, aber auch über seine E-Mail-Adresse gefunden werden (Listing 1).
Beziehungen zwischen zwei Geschäftsobjekten werden über Relationships abgebildet. So stehen Customer und Order über die CustomerID-Referenz in der Order-View in Beziehung und der Anwender kann in der Taskpane von einer Bestellung zu einem Kunden navigieren.
Klassen für Webservice-Parameter

Jetzt werden Klassen erstellt, die genau solches XML als Parameter und als Rückgabewerte haben. Dazu verwenden Sie Attribute aus dem Namespace System.Xml.Serialization. Das WSDL dieser Webservices kann dann direkt von IBF importiert werden. In der Webmethode erfolgt dann der Zugriff auf das LOB System. Die Daten werden als Customer-Objekt zurückgegeben (Listing 2).

Das Metadaten Projekt

Nachdem Sie ein neues IBF-Projekt angelegt haben, wird ein Template aus dem Ressource Kit [2] und das WSDL der Webservices importiert. Im Meta Data Explorer finden Sie verschiedene Artefakte. Auf oberster Ebene befindet sich der Metadata Scope der einem Projekt entspricht. Darunter finden Sie Entities für die einzelnen Geschäftsobjekte. Für jede Entity wird eine Default-View und ein ViewLocator (Referenz) benötigt. Darüber hinaus sind noch weitere Artefakte vorhanden. Ports etwa bieten den physischen Zugriff auf Ressourcen. Operationen sind die kleinste Einheit für Aktivitäten. Das kann zum Beispiel der Zugriff auf einen Webservice über einen Port sein, aber auch das Abfragen eines Menüs oder der Beschriftung der Titelleiste. Über Transformationen kann IBF generisch Daten und Menüs darstellen, da Informationen über XSLT in definierte IBF-Schemata transformiert werden. Für eine View können dann Aktionen, die aus mehreren Operationen bestehen, definiert (Screen 3) werden.
Die Darstellung in der Taskpane ist in sogenannte Regions unterteilt. In (Screen 1) sind fünf Regions zu sehen, die auf und zugeklappt werden können. Diese Regions können HTML oder ein Windows-Forms-UserControl enthalten. Ein Wizard kann diese UserControls automatisch in einem neuen Projekt erstellen und die nötigen Metadaten zum IBF-Projekt hinzufügen.

Smart Tags aktivieren

Es gibt zwei Wege um IBF innerhalb einer Office Anwendung zu aktivieren. Der häufigste Weg werden sicher SmartTags sein. Dabei unterscheidet sich die Entwicklung von IBF-SmartTags von denen «normaler» SmartTags, die zum Beispiel noch registriert werden müssen. Der IBF-Client bringt ein generisches SmartTag mit. IBF-SmartTags werden in den Metadaten mit der IBF-Lösung verknüpft und das generische Smart-Tag lädt dann alle IBF-SmartTags.
Ein anderer Weg ist die Verknüpfung eines Offices-Dokumentes mit einem XMLSchema. Befindet sich dann der Cursor in einem XML-Element für das IBF-konfiguriert wurde, können automatisch Informationen zu diesem XML-Element in der TaskPane angezeigt werden.
Fazit

Das gute alte VBA ist nicht tot. In vielen Fällen kann eine Office-Automatisierung leicht und schnell mit VBA umgesetzt werden. Für eine ganze Reihe von Projekten reicht aber VBA nicht aus. Dann kommen IBF oder aber die VSTO 2005 ins Spiel. Sie bieten die volle Vielfalt der .Net-Sprachen und des.Net Frameworks. IBF bietet darüber hinaus noch anderes Potenzial. Die Lernkurve für IBF ist am Anfang recht hoch: Gute Kenntnisse in XML, XSD, XSL und XPath sind ein Muss. Im Web gibt es zahlreiche Ressourcen, die den Einstieg erleichtern: Unter [3] ist ein ausführliches Walkthrough für IBF 1.5 zu finden. Eine Menge von Artikeln rund um die Office Entwicklung gibt es unter [5], und unter [6] finden Sie ein gutes Buch für den Einstieg in die IBF Programmierung.
* Marcel Gnoth ist Leiter der Entwicklungsabteilung bei der Berliner NTeam GmbH, einem Microsoft Gold Certified Partner. marcel@gnoth.net, www.gnoth.net.


Das könnte Sie auch interessieren