Marcel Gnoth, OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office...

66
Marcel Gnoth, www.gnoth.net OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003

Transcript of Marcel Gnoth, OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office...

Page 1: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

OFF4 - IBF 1.5

Information Bridge Framework 1.5 verbindet Web Services und

Office System 2003

Page 2: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 2

Zur Person• Dipl. Inf. Marcel Gnoth, MCSD

• www.gnoth.net

• NTeam GmbH, Berlin• www.nteam.de• Leiter Softwareentwicklung• MS Gold Partner: Busines Intelligence, Information Worker,

Advanced Infrastructur

• Autor dotnetpro, dotnet-magazin, ComputerWorld, MSDN• Trainer (u.a. SPC Berlin, www.spc.de )• Themen

• VB6, COM, SQL Server• Verteilte nachrichtenbasierte Informationssysteme• Office System 2003 Integration• Reisen in ferne Länder: www.gnoth.net/reise.htm

Page 3: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 3

Agenda

• Einführung• Demo Contoso• Architektur• Ablauf eines IBF-Projektes• Der Webservice und die Geschäftsklassen• Eine einfache IBF-Lösung erstellen

• Meta Data Import, Wizards, Test

• Smart Tag erstellen• Schlussfolgerungen

Page 4: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Information Bridge Framework

Office Dokumente mit verschiedenen LOB – Daten verknüpfen

Page 5: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 5

Warum IBF ?

Find Customer Account Rep

Find Orders

MS Word Task Pane

Option1Option1

Child

ChildChildChild

Label

LabelMary : Ford order is late. Please investigate.

Unproduktiv und Fehleranfällig!

Copy & Paste

• Emails und Dokumente beziehen sich auf Geschäfts-Entitäten• Kunde, Bestellung, ...

• Oft befinden sich die Daten in verschiedenen Systemen

• Es gibt keinen einfachen Weg diese Daten in Beziehung zu setzen

• Einarbeitung in die Systeme• Copy & Paste ist einzige

Integration

Page 6: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 6

Warum IBF• Verknüpft Office Dokumente mit Daten• Zugriff auf Daten über Webservices• Informationen werden komfortabel in der TaskPane angezeigt

• Wenig Programmieren, deklarativer Ansatz• Dafür gute XML-Kenntnisse erforderlich

Page 7: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Demo

Was kann IBF

Page 8: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 8

IBF-Überblick-Grafik• Web Service-basierende Architektur (SOA)• Zentraler Metadaten / GUI Server• Runtime für Smart Tag /

XML Ereignis Initiierung• Windows Forms und

Taskpane Unterstützung

MetadataMetadata

FinanceFinance

ERPERP

CRMCRM

Smart ClientsSmart Clients

Web Web ServicesServices

Web Web ServicesServices

Page 9: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 9

IBF-Architektur

Windows 2003 Server Services

.NET Framework

IBF Metadata Store

SQL Server 2000

IBF (Metadata Service)

Windows Client

XML

Microsoft Office Professional Edition

Web Services.NET Framework

Information Bridge Framework

Client Server

CRM

ERP Other Data

Metadata Service

In

form

ati

on B

ridg

e E

ngin

e1User selects “Show

Details” from Smart

Tag

2

CAS Interprets “Context” using Metadata

3Call Web Service to retrieve data

Smart TagDisplays data in Taskpane

5

4 Returns data

Page 10: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 10

IBF-Architekur

Legacy Legacy AppApp

Workflow Workflow EngineEngine

SiebelSiebelSAPSAPMS-CRMMS-CRM

Information BridgeInformation Bridge

Back-end ServicesBack-end Services

ClientClient

Office Office ApplicationApplication

Smart TagSmart Tag

Smart DocSmart Doc

Task Pane Task Pane ManagerManager

Host Host RendererRenderer

IBF - UIIBF - UI

IBF IBF EngineEngine

Metadata Metadata CacheCache

Metadata Metadata DesignerDesigner

Metadata Metadata Web ServiceWeb Service

MetadataMetadata

Compliant Compliant Service Service AdapterAdapter

Compliant Compliant Service Service AdapterAdapter

Compliant Compliant Service Service (Native)(Native)

BizTalk BizTalk EAIEAI

Existing Existing Web Web

ServiceService

XML Instance XML Instance DataData

MetadataMetadata

Page 11: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 11

Installation

• Server• Windows 2003 + IIS für IBF-Webservices• SQL Server 2000 +• MOIBF 1.0 Server

• Client• Office 2003 (mit Primary Interop Assemblies !!!)• Visual Studio 2003• MOIBF 1.5 Client (Anwender, Entwickler)• MOIBF 1.5 Meta Data Designer (Entwickler)

• LOB – Webservices

Page 12: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

IBF-Entwicklung

Let‘s walking through the dark forest …

Page 13: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 13

Eine IBF-Lösung• IBF ist ein Framework für:

• Zugriff auf Webservices• Zugriff auf Assemblies• Anzeige von Informationen in der TaskPane• Interaktion mit SmartTags

• Eigentlich keine Programmierung • Alles XML-Metadaten (XML, XSD, XSL, XPath)• Ausnahmen

• SmartTag (Standardlösungen vorhanden)• Evtl. UserControls (können vom Wizard generiert werden)• Evtl. WinForms• Evtl. Webservices für LOB-Zugriff• Evtl. Office Automation

Page 14: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 14

Bestandteile eines IBF-Projektes• Metadaten

• Bestehen aus XML, sie sind das IBF-Projekt• Befinden sich alle in einer XML-Datei

• Smart Tags• Interaktion zwischen Office Dokumenten und IBF• Aktivierung der IBF-Aktionen

• Eigene Bezutzerschnittstellen• UserControls, WinForms

• Webservice• Lesen und schreiben der Daten• Evtl. BL-Komponenten

Page 15: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 15

Vorgehen bei IBF Programmierung1. Gründliche Planung (Use Cases)

2. Definition von Artefakten und Entitäten1. Ansichten (View) der Entitäten (Geschäftsobjekte)

2. Referenzen (Reference) für Zugriff auf Entitäten

3. Beziehungen (RelationShip) zwischen Entitäten

4. Operationen (Operation)

3. Webservices• Nach Möglichkeit an IBF angepasst

4. Metadaten mit VS 2003 erstellen, Designer + Wizards

5. SmartTag mit VS 2003 programmieren

6. GUI entwickeln (UserControls, WinForms)• nicht zwingend

Page 16: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 16

Planung

• Anzeige eines Kunden aus der NorthWind-DB• Suche nach KundenID (ALFKI, LETSS, … )• Definition von Entitäten

• Kunde• Bestellung

• Operationen• Was soll mit den Entitäten geschehen?• Kunde laden, speichern (get, put)• Bestellstatus ändern (act)

Page 17: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 17

IBF – Views • Darstellung einer Entität

• Mind. eine Default-View• Mehrere Views für eine Entität möglich

• Views in XML planen

<Customer xmlns="NTeam-Data"><CustomerID></CustomerID><CompanyName></CompanyName><ContactName></ContactName><ContactTitle></ContactTitle> <EMail></ EMail >

<Region></Region><Phone></Phone></Customer>

<Customer xmlns="NTeam-Data"><CustomerID></CustomerID><CompanyName></CompanyName><ContactName></ContactName><ContactTitle></ContactTitle> <EMail></ EMail >

<Region></Region><Phone></Phone></Customer>

<BookView xmlns=" NTeam-Data"><ISBN></ISBN>

<Title></Title><SuggestedPrice></SuggestedPrice></BookView>

<BookView xmlns=" NTeam-Data"><ISBN></ISBN>

<Title></Title><SuggestedPrice></SuggestedPrice></BookView>

Page 18: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 18

IBF – References

• Ähnlich einem Primärschlüssel• Ermöglichen Zugriff auf eine bestimmte Entität• ViewLocator

• Mehrere Referenzen für eine Entität möglich• Mind. eine Default-Referenz• Kunde – KundenID• Kunde – Email

<CustomerID ID="ALFKI" xmlns=" NTeam-Data " />

<CustomerEmail Address="[email protected]" xmlns="NTeam-Data" />

<BookIDReference ISBN=”0972317937” xmlns="NTeam-Data"/>

<CustomerID ID="ALFKI" xmlns=" NTeam-Data " />

<CustomerEmail Address="[email protected]" xmlns="NTeam-Data" />

<BookIDReference ISBN=”0972317937” xmlns="NTeam-Data"/>

Page 19: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 19

IBF – Relationships

• Stellen Verbindung zwischen zwei Views her• Zum Beispiel:

• View-Customer und View-Orders sind verbunden über eine CustomerID-Referenz

• Navigation zwischen Geschäftsobjekten

Page 20: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 20

Relationships von verschiedenen LOB Systemen

Office 2003Office 2003

IBF EngineIBF EngineMetadata

CacheMetadata

Cache

Information WorkerInformation Worker

Client sideClient side

Server sideServer side

Pubs databaseFulfillment

System

Web Service Web Service

Relationship in Metadata

• Informationen können aus mehreren LOB’s zusammengesammelt werden

Page 21: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 21

Erstellen von Geschäftsklassen

• Nur, wenn Sie den Webservices selber erstellen• Für jede View und für jede Referenz eine Klasse

erstellen• Diese Klassen mit XML-Attributen versehen

• Werden vom SOAP Formatter in das geplante XML serialisiert

• Diese Klassen dienen als Parameter für die zu erstellenden Webservices

Page 22: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 22

Erstellen der Customer-Klasse

• Klasse Customer mit XML-Attributen für den SOAP-Formatter

[XmlRoot("Customer",Namespace="Customer-Data",IsNullable=false)][XmlType("Customer", Namespace="Customer-Data")]public class Customer {

// Customer ID[XmlElement]public string CustomerID {

get{return this._CustomerID;}set{this._CustomerID = value;}

}// Company Name[XmlElement]public string CompanyName {

get{return this._CompanyName;}set{this._CompanyName = value;}

}...

}

[XmlRoot("Customer",Namespace="Customer-Data",IsNullable=false)][XmlType("Customer", Namespace="Customer-Data")]public class Customer {

// Customer ID[XmlElement]public string CustomerID {

get{return this._CustomerID;}set{this._CustomerID = value;}

}// Company Name[XmlElement]public string CompanyName {

get{return this._CompanyName;}set{this._CompanyName = value;}

}...

}

Page 23: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 23

Erstellen der CustomerID-Referenz• Klasse Customer_ID mit XML-Attributen für den

SOAP-Formatter• Analoge Klassen für die anderen Referenzen

(Email, …)

//<CustomerID CustomerID="ANYCUSTOMERID" xmlns="CustomerID-Data"/>[XmlRoot("CustomerID", Namespace="CustomerID-Data",IsNullable=false)][XmlType("CustomerID", Namespace="CustomerID-Data")]public class Customer_ID {

// Fieldsprivate string _CustomerID;// Customer ID Attribute[XmlAttribute]public string CustomerID {

get{return this._CustomerID;}set{this._CustomerID = value;}

}}

//<CustomerID CustomerID="ANYCUSTOMERID" xmlns="CustomerID-Data"/>[XmlRoot("CustomerID", Namespace="CustomerID-Data",IsNullable=false)][XmlType("CustomerID", Namespace="CustomerID-Data")]public class Customer_ID {

// Fieldsprivate string _CustomerID;// Customer ID Attribute[XmlAttribute]public string CustomerID {

get{return this._CustomerID;}set{this._CustomerID = value;}

}}

Page 24: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 24

Erstellen der Webservices

• Beliebige Webservices können eingesetzt und kombiniert werden

• Eigene Webservices für beliebigen Datenzugriff• Können an IBF angepasst erstellt werden• Weniger Transformationen

• LOB-Webservices• Können genauso verwendet werden

• Drei Arten von Webmethoden• Get, Put, Act

Page 25: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 25

Get-Methoden

• Liefern Entitäten als View zurück• Bekommen meist eine Referenz übergeben

[WebMethod]public Customer GetCustomer(Customer_ID objCustomerID) { ... }

[WebMethod]public Customer GetCustomer(Customer_ID objCustomerID) { ... }

Page 26: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 26

Put-Methoden

• Aktualisieren eine Entität im LOB-System mit den View-Daten

[WebMethod]public void PutCustomer(Customer objCustomer) { ... }

[WebMethod]public void PutCustomer(Customer objCustomer) { ... }

Page 27: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 27

Act-Methoden

• Operationen, die über das Lesen und Schreiben von Entitäten hinausgehen

• z.B. BestellStatus ändern

[WebMethod]public void ChangeOrderStatus(OrderID orderID, OrderStatus status) { ... }

[WebMethod]public void ChangeOrderStatus(OrderID orderID, OrderStatus status) { ... }

Page 28: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 28

Test-Methoden

• Webservices haben komplexe Datentypen als Parameter (Referenzen,…)

• Können nicht direkt mit dem IE getestet werden• Deshalb Testmethoden mit einfachen

Parametern

[WebMethod]public Customer GetCustomerTest(string strCustomerID) { ... }

[WebMethod]public Customer GetCustomerTest(string strCustomerID) { ... }

Page 29: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Coding

Geschäftsklassen und Webservices

Page 30: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Metadaten erzeugen

Meta Data Explorer und Wizards

Page 31: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 31

Metadaten anlegen• Zwei Gruppen von Metadaten• Daten und Logik

• Webservice Zugriffe• Operations, Entities

• Darstellung• Views• GUI-Elemente in der TaskPane

Page 32: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 32

Metadaten-Typen

• Metadata = Ein Projekt der IBF Lösung• Entity = Geschäftsobjekt• View = eine Ansicht eines Geschäftsobjektes• Port = Quelle für XML, Daten, Schemata, …• Schema = XML-Schema • Transformation = wandelt XML in anderes XML

Page 33: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 33

Arten von Meta Daten

Relationship View 2

Entity

Scope

EntityEntity 2

Operation

Instance

View Locator

View 1

Entity 1

Operation

Instance

View Locator

PortPort

Page 34: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 34

IBF-Projekt anlegen

• Neuer Projekttyp in Visual Studio .Net 2003• Enthält nur eine Datei: MSIBFMetadata.xml• Metadata Explorer

• Bearbeiten der MetaDaten

• MetaData Guidance• Wizards

Page 35: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 35

Importieren von Meta Daten• XML-Datei mit den MetaDaten ist leer• Eine Vorlage aus dem Ressource Kit

• MOIBF1.5_Reskit_Templates• Microsoft.InformationBridge.

Framework.UI.InformationBridgeScope.Metadata.xml

• WSDL vom Webservice

Page 36: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Demo

Importieren der Meta Daten

Page 37: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Views erstellen

Service Metadata Creation Wizard

Page 38: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 38

Entity, View und ViewLocator• Mit Wizard Artefakte erstellen• Entity = Customer• View = Darstellung der Entity• ViewLocator besorgt die Daten für die View

Page 39: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Demo

Service Metadata Creation Wizard

Page 40: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Region Creation Wizard

Die Darstellung

Page 41: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 41

Die GUI

Page 42: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 42

Region Creation Wizard• Erzeugt eine Region

• UserControl• HTML

• Erzeugt eine Action• Für die Darstellung

• Bug bei nicht englische.Net• Wizard verwendet XSD.exe und prüft englische

Textausgaben!! • Lösung: Ressource-Datei umbennen

C:\Programme\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\DE\xsd.resources.dll

Page 43: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 43

Action• Besteht aus mehreren Operation-Instanzen

Page 44: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 44

Aktions Designer – Parameter • Die Operationen können sequentiell ausgeführt werden• Über Transformationsinstanzen können Ein- und

Ausgabeparameter zwischen den Operationsinstanzen zugewiesen werden

Page 45: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 45

Aktionen testen

Build & Execute Action Button

Build & Execute Action Context Menu Item

Page 46: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 46

Aktionen testen

• ControlLib Assembly mit StrongName versehen• Full Trust für Assembly auf Machinenebene

einstellen

• Erwarten Input-Parameter wie im Schema der Referenz definiert

<CustomerID ID="ALFKI" xmlns="CustomerID-Data" /> <CustomerID ID="ALFKI" xmlns="CustomerID-Data" />

Page 47: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Demo

Erstellen einer Region

Testen der Action

Page 48: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

IBF – Smart Tags

Ein bisschen Code muss sein!

Page 49: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 49

Was sind SmartTags?

• Verknüpfen Text in Dokumenten mit Geschäftsprozessen

Smart Tag Action Button

Lila gepunktete Linie: Smart Tag Kennzeichnung

Page 50: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 50

Entwicklung von Smart Tags• Microsoft Office Smart Tag List (MOSTL)

• Für “einfache” Smart Tags• Leichte Entwicklung und Deployment• Können automatisch aktualisiert werden

• Smart Tag API• Alle Möglichkeiten des .Net Frameworks• Programmierung (COM-Interface)

• C#, VB.NET, C++ oder VB6• .Net Applikationen verwenden COM Interop oder VSTO Loader

• Benötigen Setup (Einträge in die Registry)

• IBF-SmartTags sind anders als die anderen

Page 51: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 51

IBF Smart Tag Projekt

• Dll Projekt, mit Strong Name, FullTrust !!!• Referenzen auf:

• Microsoft.InformationBridge.Framework.Interfaces• Microsoft.InformationBridge.Framework.UI.Interop• COM: Microsoft.Office.Interop.SmartTag

(Microsoft Smart Tags 2.0 Type Library)

• Implementieren der Interfaces:• IRecognizer• IActionHandler

Page 52: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 52

IRecognizer

• IRecognizer.Initialize • Laden von Daten

• IRecognizer.Recognize• Word-Paragraph, Excel-Cell, Buchstabe oder Wort,…

• SmartTag wird in das Dokument eingebettet• Spezielles XML-Element: ContextInformation• muss IBF Schema entsprechen

Page 53: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 53

ContextInformation-Element

• Diese Informationen werden vom SmartTag in das Dokument eingebettet

<ContextInformation xmlns="http://.../InformationBridge/2004/ContextInformation“ MetadataScopeName="NorthwindIBF3" EntityName="Customers ViewName="Customer_View" ReferenceSchemaName="Xsd.CustomerID (CustomerID-Data)"> <Reference> <CustomerIDReference <CustomerID CustomerID=“ALFKI" xmlns="CustomerID-Data" /> </CustomerIDReference> </Reference></ContextInformation>

<ContextInformation xmlns="http://.../InformationBridge/2004/ContextInformation“ MetadataScopeName="NorthwindIBF3" EntityName="Customers ViewName="Customer_View" ReferenceSchemaName="Xsd.CustomerID (CustomerID-Data)"> <Reference> <CustomerIDReference <CustomerID CustomerID=“ALFKI" xmlns="CustomerID-Data" /> </CustomerIDReference> </Reference></ContextInformation>

Page 54: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 54

IActionHandler

• Eigene Kontextmenüeinträge• Sonst nur Standardeintrag: ShowDetails

• Eigene Aktionen

Page 55: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net

Demo

Ein SmartTag für IBF

Page 56: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 56

SmartTag mit IBF verknüpfen

• Normale SmartTags werden als COM-Komponente registriert

• IBF Client verfügt über Genric Recognizer• IBF-SmartTags werden mit der

MetaDataSolution verknüpft• Werden dann von IBF Engine geladen

Page 57: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 57

Generic SmartTag Recognizer• Import Meta Data vom Ressourcekit• Ports

• GenericSmartTags: Pfad zum Assembly• GenericRecognizer: Namespace.Klasse des Recognizers• LoadRecognizer-Operation verweist bereits auf

GenericSmartTag-Port

• Action• Entities > GenericSmartTags

> Views > GenericRecognizers > Actions > AddAction

Page 58: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 58

Action und Operation verknüpfen

Page 59: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 59

Testen

• Meta Data Projekt als Startprojekt• Projekteigenschaften

MetaData/Action Debugger Mode• MetaData, Managed, Native

• BreakPoints im SmartTag-, UserControl-Code• BreakPoints im MetaData-Explorer

Page 60: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 60

Publishing Metadata• Bis jetzt Meta Daten nur auf Client• Beim Debuggen werden MetaDaten des VS-

Projektes verwendet• Meta Daten müssen auf den Server

Page 61: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 61

Publish Metadata Dialog

• URL zum IBF-Write-WebService

• Clients kennen den Read-WebService

• Office-Applikationenladen MetaDaten

Page 62: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 62

The Publishing Process

Metadata ServicesMetadata Services

VS .NETVS .NET

Metadata DesignerMetadata Designer

SQL ServerSQL Server

Client sideClient side

Server sideServer side

Office 2003Office 2003

IBF EngineIBF EngineMetadata

CacheMetadata

Cache

Information WorkerInformation Worker Solution DeveloperSolution Developer

ReadRead WriteWrite

XML File

Page 63: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 63

Fazit• Hohe Lernkurve

• Sehr gute XML, XSL, XSD, … Kenntnisse !

• Entwicklung wird noch nicht genug unterstützt• Version 1.5 seit QI 2005• Unterstützung für Entwickler stark verbessert

• Zugriff auf beliebige Webservices möglich• Metadaten werden einfacher, wenn die Webservices sich

„wohlverhalten“ • Get und Put für Entitäten, Beziehungen zwischen Entitäten

• VSTO 2005 bietet ähnliche Funktionalität• Leichter für Entwickler mit .net Erfahrung

• Auf dem Client muss IBF Runtime sein

Page 64: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 64

Mendocino

• Vorgefertigte IBF-Lösungen• Mit SAP

Page 65: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 65

Ressourcen

• Vijay Desai. (Sep, 2004), http://www.persistent.co.in/knowledgecenter/InformationBridgeFramework.pdf

• IBF-Buch• Code Project WalkThrough• IBF-MOC Kurs• Ressource Kit• NewsGroup

Page 66: Marcel Gnoth,  OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.

Marcel Gnoth, www.gnoth.net 66

Alles wird gut

Uff...Uff...