1 / 66

OFF4 - IBF 1.5

OFF4 - IBF 1.5. Information Bridge Framework 1.5 verbindet Web Services und Office System 2003. Zur Person. Dipl. Inf. Marcel Gnoth, MCSD www.gnoth.net NTeam GmbH, Berlin www.nteam.de Leiter Softwareentwicklung

duaa
Télécharger la présentation

OFF4 - IBF 1.5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 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 Marcel Gnoth, www.gnoth.net

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

  5. Mary : Ford order is late. Please investigate. MS Word Task Pane Label Label Option1 Option1 Child Child Child Child Warum IBF ? • 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 Find Orders Copy & Paste Find Customer Account Rep Unproduktiv und Fehleranfällig! 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 Marcel Gnoth, www.gnoth.net

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

  8. IBF-Überblick-Grafik Smart Clients • Web Service-basierende Architektur (SOA) • Zentraler Metadaten / GUI Server • Runtime für Smart Tag / XML Ereignis Initiierung • Windows Forms und Taskpane Unterstützung Web Services Metadata Finance Web Services ERP CRM Marcel Gnoth, www.gnoth.net

  9. CAS Interprets “Context” using Metadata 2 Metadata Service 1 Returns data 4 User selects “Show Details” from Smart Tag 5 3 Displays data in Taskpane Call Web Service to retrieve data Other Data CRM ERP IBF-Architektur IBF Metadata Store Information Bridge Engine Smart Tag Server Client Information Bridge Framework XML Web Services IBF (Metadata Service) .NET Framework SQL Server 2000 Microsoft Office Professional Edition .NET Framework Windows Client Windows 2003 Server Services Marcel Gnoth, www.gnoth.net

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

  12. IBF-Entwicklung Let‘s walking through the dark forest … 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 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 Marcel Gnoth, www.gnoth.net

  15. Vorgehen bei IBF Programmierung • Gründliche Planung (Use Cases) • Definition von Artefakten und Entitäten • Ansichten (View) der Entitäten (Geschäftsobjekte) • Referenzen (Reference) für Zugriff auf Entitäten • Beziehungen (RelationShip) zwischen Entitäten • Operationen (Operation) • Webservices • Nach Möglichkeit an IBF angepasst • Metadaten mit VS 2003 erstellen, Designer + Wizards • SmartTag mit VS 2003 programmieren • GUI entwickeln (UserControls, WinForms) • nicht zwingend 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) 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 <Customerxmlns="NTeam-Data"> <CustomerID></CustomerID> <CompanyName></CompanyName> <ContactName></ContactName> <ContactTitle></ContactTitle> <EMail></ EMail> <Region></Region> <Phone></Phone></Customer> <BookViewxmlns=" NTeam-Data"> <ISBN></ISBN> <Title></Title> <SuggestedPrice></SuggestedPrice></BookView> 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 <CustomerIDID="ALFKI"xmlns=" NTeam-Data"/> <CustomerEmailAddress="Chef@Alfki.de"xmlns="NTeam-Data"/> <BookIDReferenceISBN=”0972317937”xmlns="NTeam-Data"/> 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 Marcel Gnoth, www.gnoth.net

  20. Relationships von verschiedenen LOB Systemen • Informationen können aus mehreren LOB’s zusammengesammelt werden Information Worker Office 2003 Relationship in Metadata IBF Engine Metadata Cache Client side Server side Web Service Web Service Pubs database Fulfillment System 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 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")]publicclass Customer {// Customer ID [XmlElement]publicstring CustomerID {get{returnthis._CustomerID;}set{this._CustomerID = value;} }// Company Name [XmlElement]publicstring CompanyName {get{returnthis._CompanyName;}set{this._CompanyName = value;} }... } 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")]publicclass Customer_ID {// Fieldsprivatestring _CustomerID;// Customer ID Attribute [XmlAttribute]publicstring CustomerID {get{returnthis._CustomerID;}set{this._CustomerID = value;}}} 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 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) { ... } Marcel Gnoth, www.gnoth.net

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

  27. Act-Methoden • Operationen, die über das Lesen und Schreiben von Entitäten hinausgehen • z.B. BestellStatus ändern [WebMethod]publicvoid ChangeOrderStatus(OrderID orderID, OrderStatus status) { ... } 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) { ... } Marcel Gnoth, www.gnoth.net

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

  30. Metadaten erzeugen Meta Data Explorer und Wizards 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 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  Marcel Gnoth, www.gnoth.net

  33. Entity 2 Scope Entity Entity Port Port View 2 View 1 Relationship Operation Instance Operation Instance View Locator View Locator Arten von Meta Daten Entity 1 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 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 Marcel Gnoth, www.gnoth.net

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

  37. Views erstellen Service Metadata Creation Wizard 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 Marcel Gnoth, www.gnoth.net

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

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

  41. Die GUI 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 umbennenC:\Programme\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\DE\xsd.resources.dll Marcel Gnoth, www.gnoth.net

  43. Action • Besteht aus mehreren Operation-Instanzen 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 Marcel Gnoth, www.gnoth.net

  45. Aktionen testen Build & Execute Action Button Build & Execute Action Context Menu Item 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 <CustomerIDID="ALFKI"xmlns="CustomerID-Data"/> Marcel Gnoth, www.gnoth.net

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

  48. IBF – Smart Tags Ein bisschen Code muss sein! 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 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 Marcel Gnoth, www.gnoth.net

More Related