Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Marcel Gnoth, www.gnoth.net OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003."—  Präsentation transkript:

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

2 Marcel Gnoth, www.gnoth.net 1 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 )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 www.gnoth.net/reise.htm

3 Marcel Gnoth, www.gnoth.net 2 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

4 Marcel Gnoth, www.gnoth.net Information Bridge Framework Office Dokumente mit verschiedenen LOB – Daten verknüpfen

5 Marcel Gnoth, www.gnoth.net 4 Warum IBF ? Find Customer Account Rep Find Orders MS WordTask Pane Option1 Child Label Mary : 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

6 Marcel Gnoth, www.gnoth.net 5 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

7 Marcel Gnoth, www.gnoth.net Demo Was kann IBF

8 Marcel Gnoth, www.gnoth.net 7 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 Metadata Finance ERP CRM Smart Clients Web Services

9 Marcel Gnoth, www.gnoth.net 8 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 CRMERPOther Data Metadata Service Information Bridge Engine 1 User selects Show Details from Smart Tag 2 CAS Interprets Context using Metadata 3 Call Web Service to retrieve data Smart Tag Displays data in Taskpane 5 4 Returns data

10 Marcel Gnoth, www.gnoth.net 9 IBF-Architekur Legacy App Workflow Engine SiebelSAPMS-CRM Information Bridge Back-end Services Client Office Application Smart Tag Smart Doc Task Pane Manager Host Renderer IBF - UI IBF Engine Metadata Cache Metadata Designer Metadata Web Service Metadata Compliant Service Adapter Compliant Service (Native) BizTalk EAI Existing Web Service XML Instance Data Metadata

11 Marcel Gnoth, www.gnoth.net 10 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

12 Marcel Gnoth, www.gnoth.net IBF-Entwicklung Lets walking through the dark forest …

13 Marcel Gnoth, www.gnoth.net 12 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

14 Marcel Gnoth, www.gnoth.net 13 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

15 Marcel Gnoth, www.gnoth.net 14 Vorgehen bei IBF Programmierung 1.Gründliche Planung (Use Cases) 2.Definition von Artefakten und Entitäten 1.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

16 Marcel Gnoth, www.gnoth.net 15 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)

17 Marcel Gnoth, www.gnoth.net 16 IBF – Views Darstellung einer Entität Mind. eine Default-View Mehrere Views für eine Entität möglich Views in XML planen

18 Marcel Gnoth, www.gnoth.net 17 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

19 Marcel Gnoth, www.gnoth.net 18 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

20 Marcel Gnoth, www.gnoth.net 19 Relationships von verschiedenen LOB Systemen Office 2003 IBF Engine Metadata Cache Information Worker Client side Server side Pubs database Fulfillment System Web Service Relationship in Metadata Informationen können aus mehreren LOBs zusammengesammelt werden

21 Marcel Gnoth, www.gnoth.net 20 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

22 Marcel Gnoth, www.gnoth.net 21 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;} }... }

23 Marcel Gnoth, www.gnoth.net 22 Erstellen der CustomerID-Referenz Klasse Customer_ID mit XML-Attributen für den SOAP-Formatter Analoge Klassen für die anderen Referenzen (Email, …) // [XmlRoot("CustomerID", Namespace="CustomerID-Data",IsNullable=false)] [XmlType("CustomerID", Namespace="CustomerID-Data")] public class Customer_ID { // Fields private string _CustomerID; // Customer ID Attribute [XmlAttribute] public string CustomerID { get{return this._CustomerID;} set{this._CustomerID = value;} } }

24 Marcel Gnoth, www.gnoth.net 23 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

25 Marcel Gnoth, www.gnoth.net 24 Get-Methoden Liefern Entitäten als View zurück Bekommen meist eine Referenz übergeben [WebMethod] public Customer GetCustomer(Customer_ID objCustomerID) {... }

26 Marcel Gnoth, www.gnoth.net 25 Put-Methoden Aktualisieren eine Entität im LOB-System mit den View-Daten [WebMethod] public void PutCustomer(Customer objCustomer) {... }

27 Marcel Gnoth, www.gnoth.net 26 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) {...}

28 Marcel Gnoth, www.gnoth.net 27 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) {... }

29 Marcel Gnoth, www.gnoth.net Coding Geschäftsklassen und Webservices

30 Marcel Gnoth, www.gnoth.net Metadaten erzeugen Meta Data Explorer und Wizards

31 Marcel Gnoth, www.gnoth.net 30 Metadaten anlegen Zwei Gruppen von Metadaten Daten und Logik Webservice Zugriffe Operations, Entities Darstellung Views GUI-Elemente in der TaskPane

32 Marcel Gnoth, www.gnoth.net 31 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

33 Marcel Gnoth, www.gnoth.net 32 Arten von Meta Daten Relationship View 2EntityScopeEntityEntity 2 Operation Instance View Locator View 1 Entity 1 Operation Instance View Locator Port

34 Marcel Gnoth, www.gnoth.net 33 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

35 Marcel Gnoth, www.gnoth.net 34 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.Information BridgeScope.Metadata.xml WSDL vom Webservice

36 Marcel Gnoth, www.gnoth.net Demo Importieren der Meta Daten

37 Marcel Gnoth, www.gnoth.net Views erstellen Service Metadata Creation Wizard

38 Marcel Gnoth, www.gnoth.net 37 Entity, View und ViewLocator Mit Wizard Artefakte erstellen Entity = Customer View = Darstellung der Entity ViewLocator besorgt die Daten für die View

39 Marcel Gnoth, www.gnoth.net Demo Service Metadata Creation Wizard

40 Marcel Gnoth, www.gnoth.net Region Creation Wizard Die Darstellung

41 Marcel Gnoth, www.gnoth.net 40 Die GUI

42 Marcel Gnoth, www.gnoth.net 41 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

43 Marcel Gnoth, www.gnoth.net 42 Action Besteht aus mehreren Operation-Instanzen

44 Marcel Gnoth, www.gnoth.net 43 Aktions Designer – Parameter Die Operationen können sequentiell ausgeführt werden Über Transformationsinstanzen können Ein- und Ausgabeparameter zwischen den Operationsinstanzen zugewiesen werden

45 Marcel Gnoth, www.gnoth.net 44 Aktionen testen Build & Execute Action Button Build & Execute Action Context Menu Item

46 Marcel Gnoth, www.gnoth.net 45 Aktionen testen ControlLib Assembly mit StrongName versehen Full Trust für Assembly auf Machinenebene einstellen Erwarten Input-Parameter wie im Schema der Referenz definiert

47 Marcel Gnoth, www.gnoth.net Demo Erstellen einer Region Testen der Action

48 Marcel Gnoth, www.gnoth.net IBF – Smart Tags Ein bisschen Code muss sein!

49 Marcel Gnoth, www.gnoth.net 48 Was sind SmartTags? Verknüpfen Text in Dokumenten mit Geschäftsprozessen Smart Tag Action Button Lila gepunktete Linie: Smart Tag Kennzeichnung

50 Marcel Gnoth, www.gnoth.net 49 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

51 Marcel Gnoth, www.gnoth.net 50 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

52 Marcel Gnoth, www.gnoth.net 51 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

53 Marcel Gnoth, www.gnoth.net 52 ContextInformation-Element Diese Informationen werden vom SmartTag in das Dokument eingebettet

54 Marcel Gnoth, www.gnoth.net 53 IActionHandler Eigene Kontextmenüeinträge Sonst nur Standardeintrag: ShowDetails Eigene Aktionen

55 Marcel Gnoth, www.gnoth.net Demo Ein SmartTag für IBF

56 Marcel Gnoth, www.gnoth.net 55 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

57 Marcel Gnoth, www.gnoth.net 56 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

58 Marcel Gnoth, www.gnoth.net 57 Action und Operation verknüpfen

59 Marcel Gnoth, www.gnoth.net 58 Testen Meta Data Projekt als Startprojekt Projekteigenschaften MetaData/Action Debugger Mode MetaData, Managed, Native BreakPoints im SmartTag-, UserControl-Code BreakPoints im MetaData-Explorer

60 Marcel Gnoth, www.gnoth.net 59 Publishing Metadata Bis jetzt Meta Daten nur auf Client Beim Debuggen werden MetaDaten des VS- Projektes verwendet Meta Daten müssen auf den Server

61 Marcel Gnoth, www.gnoth.net 60 Publish Metadata Dialog URL zum IBF-Write- WebService Clients kennen den Read-WebService Office-Applikationen laden MetaDaten

62 Marcel Gnoth, www.gnoth.net 61 The Publishing Process Metadata Services VS.NET Metadata Designer SQL Server Client side Server side Office 2003 IBF Engine Metadata Cache Information Worker Solution Developer ReadWrite XML File

63 Marcel Gnoth, www.gnoth.net 62 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

64 Marcel Gnoth, www.gnoth.net 63 Mendocino Vorgefertigte IBF-Lösungen Mit SAP

65 Marcel Gnoth, www.gnoth.net 64 Ressourcen Vijay Desai. (Sep, 2004), http://www.persistent.co.in/knowledgecenter/Info rmationBridgeFramework.pdf IBF-Buch Code Project WalkThrough IBF-MOC Kurs Ressource Kit NewsGroup

66 Marcel Gnoth, www.gnoth.net 65 Alles wird gut Uff...


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

Ähnliche Präsentationen


Google-Anzeigen