Smarte und verbundene Dokumente mit Office 2003 und .NET entwickeln

Slides:



Advertisements
Ähnliche Präsentationen
Vernetzung von Repositorien : DRIVER Guidelines Dr Dale Peters, SUB Goettingen 4. Helmholtz Open Access Workshop Potsdam, 17 Juni 2008.
Advertisements

E-Solutions mySchoeller.com for Felix Schoeller Imaging
DNS-Resolver-Mechanismus
Transaction Synchronization for XML Data in Client Server Web Applications Stefan Böttcher & Adelhard Türling Universität Paderborn.
Microsoft Referenzarchitekturen- Infrastruktur für Connected Systems
1 Sascha Michael Competence Manager Integration Umsetzung einer SOA-basierten Retail Plattform.
Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH Dirk Primbs.
Windows Vista Deployment
Windows Vista für Entwickler
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Windows Server 2003 Managment Eric Hellmich
Installation des Add-In SOLVERSTAT
Microsofts XML-Strategie aus Sicht des Endanwenders Klaus Rohe Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf.
.NET – Quo Vadis? Dariusz Parys Developer Group Microsoft GmbH.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
Microsoft Office Information Bridge Framework Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Divide and Conquer Eclipse RCP und Spring in verteilten Anwendungen Stefan Reichert | Lufthansa Systems Benjamin Pasero | IBM Rational.
Office Programmierung im .Net Zeitalter
Formatvorlage des Untertitelmasters durch Klicken bearbeiten Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner: Web Content Management.
Microsoft Office Forms Server
Entwickeln einer Windows 8 Modern UI Businessapplikation auf der Basis von Dynamics CRM/xRM Christian Haller Marc Sallin isolutions AG isolutions.
Marcel Gnoth, OFF4 - IBF 1.5 Information Bridge Framework 1.5 verbindet Web Services und Office System 2003.
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
Microsoft Security Tools Christian Thor Systems Engineer Microsoft GmbH.
Google App Engine Microsoft Windows Azure
Metro-Style Apps mit Expression Blend 5 für HTML designen Christian Moser User Experience Designer Zühlke Engineering AG
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Test Driven Development - Romano Adler-
Sanjay Patil Standards Architect – SAP AG April 2008
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
Best Practices in der Datenbank-programmierung
No. 239 Marcel Gnoth, NTeam GmbH Datenstrukturen Das Framework der Jäger und Sammler.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
© 2005 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Office als Applikationsplattform.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
| Basel Von der SharePoint Taskliste zum gemanagten Project in Project Server Luca Argentiero Solution Specialist Microsoft
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Gameplay Systems I Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz.
Developer Day Webseiten auf Windows Azure hosten Britta Labud bbv Software Services AG Roland Krummenacher bbv Software Services AG.
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure Windows Azure Mobile Services.
| Basel Developing apps for SharePoint 2013 using Visual Studio 2013 René Modery, Office 365 MVP, 1stQuad Solutions.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Quelle: Standish Group, 2006 Fourth Quarter Research Report, CHAOS Research Results.
Cooperation unlimited © Zühlke August 2008 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
MVVM in Windows 8 und Windows Phone 8
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
XML IV: Cocoon 2.
Template v5 October 12, Copyright © Infor. All Rights Reserved.
… und was man damit machen kann.
Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Web Application Engineering & Content Management.
SharePoint FIS HandsOn – out of the Box.
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Making people work together! Folie 1 NEXPLORE AG Stefan von Niederhäusern Einfache Anwendung der SuisseID durch das Software Development KIT
Office Business Anwendungen mit SharePoint 2010 Fabian Moritz SharePoint MVP.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
Digital Dashboard Toolkit 2001 SharePoint Portal Server released targeting portal market SharePoint Team Services (STS) released as free add-
© All rights reserved. Zend Technologies, Inc. Jenseits von var_dump(): Debugging in ZF Jan Burkl System Engineer.
Informations-Forum: SAP Interoperabilität
Web Services in.NET und die.NET My Services 14. November Web Services in.NET und die.NET My Services Mario Ehrlicher Senior Consultant Xuccess
Die nächste Generation von Microsoft Office System 2007 Microsoft Office System Gernot Kühn Technologieberater Office System Mittelstandsbetreuung.
Developer Day Deep Dive into WinRT-Controls: FlipView, ListView, GridView and SemanticZoom Thomas Claudius Huber Principal Consultant, Trivadis AG
Thomas Claudius Huber Senior Consultant Trivadis AG WCF RIA Services Datengetriebene Apps.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Azure Mobile Services Deep dive into node.js scripting
 Präsentation transkript:

Smarte und verbundene Dokumente mit Office 2003 und .NET entwickeln Microsoft Office System 2003 Smarte und verbundene Dokumente mit Office 2003 und .NET entwickeln Geschäftsdaten intelligent mit Dokumenten verbinden

Zur Person Dipl. Inf. Marcel Gnoth, MCSD NTeam GmbH, Berlin www.gnoth.net NTeam GmbH, Berlin www.nteam.de Leiter Softwareentwicklung MS Gold Partner Busines Intelligence, Information Worker, Advanced Infrastructur Autor dotnetpro und dotnet-magazin Trainer (u.a. SPC Berlin, www.spc.de ) Themen VB6, COM Datenbanken, Yukon Verteilte Informationssysteme mit .Net Office System 2003 Integration Reisen in ferne Länder: www.gnoth.net/reise.htm 

Agenda Einleitung VBA und das Web Services Toolkit 2.01 Research Services XML-Schemata und Office Dokumente Smart Documents (ISmartDocument) VSTO 2003 VSTO 2005 Beta Smart Tags Information Bridge Framework (IBF) Fazit

Office in den Unternehmen Microsoft Office System 2003 Einleitung Office in den Unternehmen

Office als Client Mehr als 400 Mio Officeinstallationen Für sehr viele Menschen ist Office das Hauptwerkzeug im Büro Wie kann Ihnen das Arbeiten leichter gemacht werden? Wenige neuen Features, Bessere Integration in die Unternehmens IT

Probleme im Büroalltag für Anwender... Anwender muss Informationen in verschiedenen Systemen zusammensuchen Outlook, SharePoint CRM, in HR, in SAP, in ... Anwender muss in der Lage sein, diese Systeme zu bedienen, auch wenn er/sie nur selten damit arbeitet Keine Unterstützung bei der Dateneingabe Viel manuelle Tipparbeit Austausch zwischen den verschiedenen Systemen könnte für den Anwender leichter sein. Nur Copy & Paste Oder abtippen 

Probleme im Büroalltag für IT ... Office Dokumente sind Freitext Nutzer kann fehlerhafte, unstrukturierte Eingaben machen schlechte Datenqualität Parsen nach Informationen aufwendig Dokumentformat properitär Elektronische Verarbeitung (auf Servern) aufwendig Austausch mit anderen heterogenen Systemen schwierig

Unterstützung durch Office 2003 Dokumente können als XML gespeichert werden Austausch mit anderen Systemen Verarbeitung auf dem Server ohne Office Verknüpfen eines Office Dokumentes mit einem XML-Schema Prüfen von Nutzereingaben auf Fehler Daten können einfach elektronisch weiterverarbeitet und ausgetauscht werden

Unterstützung durch Office 2003 Kontextbezogene Informationen bereitstellen Aggregation von Informationen aus verschiedenen Systemen Recherchieren von Informationen Einfügen von Daten in ein Office Dokument Vermeidet Fehleingaben Erhöht Datenqualität

Viele Wege führen nach Friedrichshagen ... Microsoft hat viel Energie unter die Oberfläche von Office gesteckt Die Anwender verwenden eh nur 10% der Möglichkeiten Deshalb viel Energie auf Smart Clients und Unterstützung von Information Workern Leute die schnell, einfach auf viele Infos zugreifen müssen Das (stärkste) Argument für Office 2003

Taskpane / Aufgabenbereich Werkzeuge Viele Ansätze Taskpane / Aufgabenbereich Formulare zur Dateneingabe Nachschlageergebnisse Informationen / Aktionen XML-Schemata Kein Freitext mehr Kontextbezogener Zugriff auf TaskPane Smart Tags Aktionen und Infos zu einem ausgewählten Wort Webservice Zugriff Nachschlagewerke, Datenaustausch

Und ich dachte immer Officeprogrammierung ist langweilig  Umsetzungen Und ich dachte immer Officeprogrammierung ist langweilig  Office VBA VS.Net, Toolkits und Werkzeuge ohne Ende ... XML, Research Service, Smart Tags, Smart Document, ISmartDocument, IBF, VSTO 2003 und 2005, WS für VBA, MOSTL, RSDE, RSCL, RSTV, MOSTL, SharePoint, ...........

Technologieübersicht TaskPane Research Services IBF ISmartDocument VSTO 2003+2005 Im Dokument SmartTags XML VSTO 2005 Kontextbezogene Hilfe

Zugriffe auf die schöne, bunte Web Service Welt von VBA aus Webservice Toolkit 2.01 VBA und Webservices Zugriffe auf die schöne, bunte Web Service Welt von VBA aus

Office 2003 Webservice Toolkit 2.01 Separater Download Tools -> Add Webreferenz Erzeugt VBA-Proxyklassen Dynamische Listen über WS Zugriff Amazon, eBay, ...

Webservice Toolkit 2.01 Demo VBA und Webservices

Fazit Sehr leichte Einbindung von WS in VBA

Research Services Nachschlagewerke für das eigene Unternehmen Microsoft Office System 2003 Research Services Nachschlagewerke für das eigene Unternehmen Webservices und die TaskPane

Research Services (RS) – Überblick Recherche von Informationen über Webservices Word, Excel, PPT, Outlook, Publisher, OneNote, Visio, IE Anzeige der Informationen in der TaskPane Übernahme von Daten in das Dokument Office eigene Dienste Kommerzielle Anbieter Eigenentwicklung WS mit beliebiger Sprache implementieren WS kann auf beliebiger Plattform laufen WS muss zwei XSD – Schemata unterstützen

Verfügbare Research Services Lokal auf dem Computer Thesaurus und Übersetzung Office 2003 Research Services Wörterbuch, Enzyklopädie, Web Suche, Aktienkurse Kommerzielle Anbieter Factiva, eLibrary, Gale, WorldLingo Weitere werden kommen SharePoint Portal server

Research Beispiele

Eigene Research Services entwickeln Beliebige Sprache, beliebige Plattform Ein Webservice mit zwei Methoden Register (oder Registry-Keys direkt schreiben) Query SOAP Response muß Schemata entsprechen MS Werkzeuge RS - SDK RS - Development Extras RS mit Smart Tags erweitern Daten in das Dokument einfügen Andere Aktionen starten ... Dll auf dem Client benötigt!

RS – Schemata

RS SDK – Schemata WS Registration WS Query Beispiele, Doku, Schemata Request Response WS Query Beispiele, Doku, Schemata Codieren der Werbservice Antworten ist „fummlig“ (zu) viel Handarbeit Nicht wirklich schön .WriteStartElement("Content", ns:="urn:Microsoft.Search.Response.Content") .WriteElementString("P", "Folgende Pokemon wurden gefunden:") .WriteStartElement("Image source=""" + pathHTTP + "Pokemon/Gengar.gif"" ") .WriteEndElement() .WriteElementString("P", "Name: " + m_Pokemons.Name) .WriteStartElement("Tabular") .WriteStartElement("Record") .WriteElementString("Name", "Type")

Verwenden von Smart Tag Actions Definiert durch Query Response RS – Smart Tags Verwenden von Smart Tag Actions Definiert durch Query Response Simple Smart Tags Insert, Copy, NewQuery, Hyperlink Smart Tag API Dll Sehr flexibel

RS Hallo Welt SmartTag Northwind RS Research Services Demo RS Hallo Welt SmartTag Northwind RS

RS – Development Extras (RSDE) Separater Download Research Services Class Library (RSCL) OO-Wrapper für SDK Schemata Macht das Leben leichter Mit Quellcode RSCL Wizard Neuer Projekttyp Viele Samples Research Services Tracing and Validation Tool (RSTV)

RSDE Demo RSCL Wizard und RSTV

Installation durch Anwender Installation durch Admin Deployment / Registry Installation durch Anwender Eingabe der URL Installation durch Admin Verwenden einer .reg - Datei HKEY_CURRENT_USER\Software\Microsoft\... …Office\11.0\Common\Research HKEY_LOCAL_MACHINE\Software\Microsoft\... …Office\11.0\Common\Research Ausnahme: eigene Smart – Tags Dll auf dem Client Später mehr

Einfache Recherche aus Office Applikationen heraus Fazit Einfache Recherche aus Office Applikationen heraus Kombinieren mit Volltextsuche des SQL Servers Dynamisches Update WS können auf jedem System gehostet werden! SELECT ProductName, QuantityPerUnit FROM Products WHERE CONTAINS(ProductName, ' FORMSOF (INFLECTIONAL, dry) ')

XML – Schemata und Office Dokumente Microsoft Office System 2003 XML – Schemata und Office Dokumente Schluss mit dem Freitext

Überblick Office Dokumente (Freitext) mit einem XML-Schema verknüpfen Daten können als XML gespeichert (und weiterverarbeitet) werden Trennung der Daten von der Präsentation

XML in Office Offenes XML-Dateiformat Verknüpfen der Dokumente mit einem XML-Schema GUI-Integration über Aufgabenbereich (auch Outlook ein bisschen)

Freitext

Freitext

Inhalt als XML <ConferenceReport> <Date>3/24/2004</Date> <Summary> <Keyword>XML Conference (Europe)</Keyword> <Abstract>Role of XML on the Desktop</Abstract> </Summary> <Attendees> <Attendee Name="John" Doe”> <Department>Health Agency</Department> <Potential> <Sales>100</Sales> <Growth>25%</Growth> <Remarks>The team comprises great innovators</Remarks> <ToDo>Contact their IT Manager</ToDo> </Potential> </Attendee> <Attendee Name="Judith" Jones”> <Department>Finance Agency</Department> </Attendees> <Conclusion>Organize another European tour </Conclusion> </ConferenceReport>

Formatierungen

Keine verschachtelten Tags Formatierung als XML WordML Eigenes Schema HTML ähnlich Keine verschachtelten Tags <w:p> <w:r> <w:rPr> <w:b /> </w:rPr> <w:t>John Doe</w:t> </w:r> <w:i /> <w:t>Health Agency</w:t> </w:p>

Dokumente und XML-Schemata Selbstdefinierte (Geschäfts-) Schemata Datenorientiert Kunde, Auftrag, Mitarbeiter, ... Erlauben Zerlegung des Dokumentes in Datenelemente MS-Referenz-Schemata Präsentationsorientiert Fett, Kursiv, Tabelle, Zelle, ... WordprocessingML, SpreadsheetML, FormTemplate, DataDiagramingML Offen und Lizenzgebührenfrei Erzeugen und verändern von Officedokumenten auf dem Server ohne Office Austausch in heterogenen Systemen

Hello Word in WordML <?mso-application progid="Word.Document"?> <w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"><o:DocumentProperties><o:Title>Hello World</o:Title><o:Author>John Peltonen</o:Author><o:LastAuthor>John Peltonen</o:LastAuthor><o:Revision>1</o:Revision><o:TotalTime>0</o:TotalTime><o:Created>2004-02-18T04:15:00Z</o:Created><o:LastSaved>2004-02-18T04:15:00Z</o:LastSaved><o:Pages>1</o:Pages><o:Words>1</o:Words><o:Characters>12</o:Characters><o:Company>3SHARP</o:Company><o:Lines>1</o:Lines><o:Paragraphs>1</o:Paragraphs><o:CharactersWithSpaces>12</o:CharactersWithSpaces><o:Version>11.5604</o:Version></o:DocumentProperties><w:fonts><w:defaultFonts w:ascii="Times New Roman" w:fareast="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/></w:fonts><w:styles><w:versionOfBuiltInStylenames w:val="4"/><w:latentStyles w:defLockedState="off" w:latentStyleCount="156"/><w:style w:type="paragraph" w:default="on" w:styleId="Normal"><w:name w:val="Normal"/><w:rPr><wx:font wx:val="Times New Roman"/><w:sz w:val="24"/><w:sz-cs w:val="24"/><w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/></w:rPr></w:style><w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"><w:name w:val="Default Paragraph Font"/><w:semiHidden/></w:style><w:style w:type="table" w:default="on" w:styleId="TableNormal"><w:name w:val="Normal Table"/><wx:uiName wx:val="Table Normal"/><w:semiHidden/><w:rPr><wx:font wx:val="Times New Roman"/></w:rPr><w:tblPr><w:tblInd w:w="0" w:type="dxa"/><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style><w:style w:type="list" w:default="on" w:styleId="NoList"><w:name w:val="No List"/><w:semiHidden/></w:style></w:styles><w:docPr><w:view w:val="print"/><w:zoom w:percent="100"/><w:displayBackgroundShape/><w:doNotEmbedSystemFonts/><w:proofState w:grammar="clean"/><w:attachedTemplate w:val=""/><w:defaultTabStop w:val="720"/><w:punctuationKerning/><w:characterSpacingControl w:val="DontCompress"/><w:optimizeForBrowser/><w:validateAgainstSchema/><w:saveInvalidXML w:val="off"/><w:ignoreMixedContent w:val="off"/><w:alwaysShowPlaceholderText w:val="off"/><w:compat><w:breakWrappedTables/><w:snapToGridInCell/><w:wrapTextWithPunct/><w:useAsianBreakRules/><w:dontGrowAutofit/></w:compat></w:docPr><w:body><wx:sect><w:p><w:r><w:t>Hello WordML!</w:t></w:r></w:p><w:sectPr><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:line-pitch="360"/></w:sectPr></wx:sect></w:body></w:wordDocument>

Hello World-etwas schöner <?mso-application progid="Word.Document"?> <w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"><o:DocumentProperties><o:Title>Hello World</o:Title><o:Author>John Peltonen</o:Author><o:LastAuthor>John Peltonen</o:LastAuthor><o:Revision>1</o:Revision><o:TotalTime>0</o:TotalTime><o:Created>2004-02-18T04:15:00Z</o:Created><o:LastSaved>2004-02-18T04:15:00Z</o:LastSaved><o:Pages>1</o:Pages><o:Words>1</o:Words><o:Characters>12</o:Characters><o:Company>3SHARP</o:Company><o:Lines>1</o:Lines><o:Paragraphs>1</o:Paragraphs><o:CharactersWithSpaces>12</o:CharactersWithSpaces><o:Version>11.5604</o:Version></o:DocumentProperties><w:fonts><w:defaultFonts w:ascii="Times New Roman" w:fareast="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/></w:fonts><w:styles><w:versionOfBuiltInStylenames w:val="4"/><w:latentStyles w:defLockedState="off" w:latentStyleCount="156"/><w:style w:type="paragraph" w:default="on" w:styleId="Normal"><w:name w:val="Normal"/><w:rPr><wx:font wx:val="Times New Roman"/><w:sz w:val="24"/><w:sz-cs w:val="24"/><w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/></w:rPr></w:style><w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"><w:name w:val="Default Paragraph Font"/><w:semiHidden/></w:style><w:style w:type="table" w:default="on" w:styleId="TableNormal"><w:name w:val="Normal Table"/><wx:uiName wx:val="Table Normal"/><w:semiHidden/><w:rPr><wx:font wx:val="Times New Roman"/></w:rPr><w:tblPr><w:tblInd w:w="0" w:type="dxa"/><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style><w:style w:type="list" w:default="on" w:styleId="NoList"><w:name w:val="No List"/><w:semiHidden/></w:style></w:styles><w:docPr><w:view w:val="print"/><w:zoom w:percent="100"/><w:displayBackgroundShape/><w:doNotEmbedSystemFonts/><w:proofState w:grammar="clean"/><w:attachedTemplate w:val=""/><w:defaultTabStop w:val="720"/><w:punctuationKerning/><w:characterSpacingControl w:val="DontCompress"/><w:optimizeForBrowser/><w:validateAgainstSchema/><w:saveInvalidXML w:val="off"/><w:ignoreMixedContent w:val="off"/><w:alwaysShowPlaceholderText w:val="off"/><w:compat><w:breakWrappedTables/><w:snapToGridInCell/><w:wrapTextWithPunct/><w:useAsianBreakRules/><w:dontGrowAutofit/></w:compat></w:docPr> <w:body><wx:sect><w:p><w:r><w:t>Hello World!</w:t></w:r></w:p> <w:sectPr><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:line-pitch="360"/></w:sectPr></wx:sect> </w:body> </w:wordDocument> Namespace Declarations Document Properties Section Properties

XML erlaubt keine überlappenden Tags wie HTML: WordML – im Detail XML erlaubt keine überlappenden Tags wie HTML: <p><b>This is some <i>bolded</b> and Italicized text</i></p> WordML: <p> <r> <rPr> <b/> </rPr> <t>This is some</t> </r> <rPr> <b/> <i/> </rPr> <t>bolded</t> ... etc ... </p>

Save ‘Data Only’ or Transform XML und Word Plain XML vs Word XML: Word Your XML Save ‘Data Only’ or Transform Microsoft Corp. Microsoft Corp. Database 2/21/2003 Strong Buy Strong Buy 2/21/2003 Transform Open/Save WYSIWYG Web Page WordML Microsoft Corp. 2/21/2003 Microsoft Corp. Strong Buy 2/21/2003 Transform Strong Buy

XML in Word-Formularen

Microsoft Office System 2003 Demo Word – XML – Excel

XML - Schema Validierung Bei der Eingabe Platzhalter bei der Eingabe Dokumente schützen

Schemalvalidierung und Platzhalter Microsoft Office System 2003 Demo Schemalvalidierung und Platzhalter

XML-Format eröffnet viele neue Wege Fazit XML-Format eröffnet viele neue Wege Verarbeiten von Dokumenten ohne Office Schemavalidierung Datenaustausch

ISmartDocument COM Schnittstelle Microsoft Office System 2003 Smart Documents ISmartDocument COM Schnittstelle

Programmieren der Taskpane Smarte Dokumente Programmieren der Taskpane Dokument mit benutzerdefinierten Schema verknüpft Code wird Elementen des Schemas zugeordnet Code Lokal auf Client oder auf Server Wird auf dem Client ausgeführt Erhöhte Sicherheit Einfaches Deployment

Smart Document - Komponenten Dokument mit XML Schema Solution URL verweißt auf XML-Manifest Manifest beschreibt Dateien des XML-Expansion Pack‘s Code (Dll), Bilder, Daten Komponenten können von Webserver geladen werden Jetzt ist das Doc Smart  XML Schema Document name address Solution URL XML Manifest dll image schema config

Wo zu finden ..? Word 2003 und Excel 2003 Word: Tools -> Templates and Add-ins Excel: Data -> XML -> XML Expansion Packs

Smart Dokument Installation Manifest muß signiert sein Manifest muß von einem vertrauten Server stammen .net CAS

Smart Documents Demo SmartDoc verwenden

Das Manifest <manifest xmlns="http://schemas.microsoft.com/office/xmlexpansionpacks/2003"> <version>1.0</version> <uri>NorthwindSmartDocDemo</uri> <solution> <solutionID>Smart Doc Files</solutionID> <type>smartDocument</type> <alias lcid="1033">Northwind Smart Document Demo</alias> <file> <type>solutionActionHandler</type> <managed /> <version>1.1</version> <filePath>NorthwindSmartDoc.dll</filePath> <CLSNAME>NorthwindSmartDoc.DocActions</CLSNAME> </file> <type>other</type> <version>1.2</version> <filePath>Interop.SmartTagLib.dll</filePath> </solution> <solutionID>Schema Files</solutionID> <type>schema</type> <alias lcid="1033">Northwind Work Absence Form Schema</alias> <runFromServer /> <filePath>workabsence.xsd</filePath> </manifest>

ISmartDocument COM – Schnittstelle VB6 oder .Net oder VC++ oder Delphi  Office Setup PIA‘s für Word/Excel und Smart Tag Support mitinstallieren !!! 17 Methoden Populate OnChange 8 Eigenschaften

ISmartDocument-Porperties Namespace XML-Schema ISmartDocument-Porperties SmartDocXmlTypeCaption SmartDocXmlTypeCount SmartDocXmlTypeName (Zuordnung zwischen Schema-Elementen und dem Code) <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:www.gnoth.net.PokemonSD"> <xsd:element name="Name" type="xsd:string" /> <xsd:element name="Skill" type="xsd:string" /> <xsd:element name="Type" type="xsd:string" /> </xsd:schema> Public Const BASEURI As String = "urn:www.gnoth.net.PokemonSD" Public Const Poke_NAME As String = BASEURI & "#Name" Public Const Poke_SKILL As String = BASEURI & "#Skill" Public Const Poke_TYPE As String = BASEURI & "#Type" Public Const TYPESCOUNT As Integer = 3

Fröhliches Late Binding mit Zahlen http://msdn.streetmarket.com/hr #VacationRequest ControlCount = 5 101 ControlIndex + 100 102 103 104 105

Ablauf

Smart Doc implementieren Smart Documents Demo Smart Doc implementieren

Manifest Security Check Smart Doc Security Manifest Security Check Tool verwenden um Manifest und Code zu signieren xmlsign.exe, SmartDoc SDK Kann auf Entwicklerrechnern deaktiviert werden Kleine Regdatei Quellserver muß zu Trusted Sites gehören Localhost = Intranet, trusted 127.0.0.1 = nicht vertraut [HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Common\Smart Tag] "DisableManifestSecurityCheck"=dword:00000001

Smart Document Security - CAS .Net – Code Access Security (CAS) Für Dateien, die auf den Client runtergeladen und ausgeführt werden sollen CAS kann zentral von Admins ausgerollt werden Detaillierte Einstellungen Caspol.exe -ag All_Code -url "file://C:/Smart Doc Files/*" FullTrust -n NorthwindSmartDocDemo

Kostenlos, mit Quellcode nicht supported Vertigo Wraper Kostenlos, mit Quellcode nicht supported http://vertigosoftware.com/wrapper Gute FAQ! Neue Projekttypen in VS.Net Kapselt das ISmartDocument Interface Objektorientiert Programmierung einfacher Weniger Flexibilität

Fazit Sicherheit und Deployment Endanwender erhält kontextsensitive Hilfe  Entwicklung ist nicht so elegant  COM – basierte Schnittstelle (PIA) Wird mit VSTO 2005 obsolet

VSTO 2003 Visual Studio Tools für Office V1.0 Microsoft Office System 2003 VSTO 2003 Visual Studio Tools für Office V1.0 Word und Excel mit VS.Net programmieren

Strategisches Tool für die Office programmierung Überblick Strategisches Tool für die Office programmierung VSTO 2003 nur für Word und Excel VSTO 2003 ist eine V1.0, der nächste Sprung kommt mit VSTO 2005 Office Applikationen haben COM-API VSTO soll Interop erleichtern VSTO bietet: Vorlagen für VS.Net Aktualisiert lokale Entwicklereinstellungen (CAS) Code Behind – Modell, aber keine Office Designer Gedacht für professionelle Entwickler VS.Net .Net Framework Wird nicht VBA ersetzen (Für Enduser)

VSTO – Entwicklert programmiert Runtime Design time Developer Visual Studio

Business Logic Visual Studio VSTO – Deployment Business Logic Runtime Design time Developer .NET Assembly Code will typically be stored on a share or server for easy deployment and maintenance Visual Studio

Business Logic Excel VSTO – Anwender .NET Security Policy Runtime .NET Assembly .NET Security Policy Runtime Design time Assembly is downloaded from share or server and code runs, subject to restricted security policy Excel

Erzeugen einer VSTO Lösung Demo Erzeugen einer VSTO Lösung

Code in Dokumenten wird geblockt Sicherheit VBA Code in Dokumenten wird geblockt Low, Medium, & High security modes AuthentiCode signatures for code authenticity Codeausführung: Alles oder nichts Anwender treffen „mutige“ Entscheidungen „Dumm, aber glücklich!“ 

Überblick - Sicherheit VSTO erzeugt normale .Net Assemblies Code Access Security (CAS) muß auf dem Client konfiguriert sein Keine Entscheidung des Anwenders Kein „Makro aktivieren J/N“ Auf Entwicklerrechner wird die CAS bei Projekterstellung durch VSTO aktualisiert

Verknüpfung Dokument – Assembly Document Property wo Assembly liegt CAS Wenn Web offline, dann lädt Word vom Assembly Cache

Komponenten einer VSTO Solution: Überblick Deployment Click Once Depolyment Komponenten einer VSTO Solution: Quellcode (im Source Safe ) Kompiliertes Assembly auf einem Server Office Dokument Enthält Link zum Assembly auf dem Server Zentrales Update auf dem Server

VSTO 2003 Demo Security & Deployment

Ziemlich wenig bis jetzt Hilft bei einigen Details bis jetzt Fazit Ziemlich wenig bis jetzt Hilft bei einigen Details bis jetzt Fast das Gleiche kann auch ohne VSTO mit normalem COM Interop erreicht werden Der große Wurf wird erst mit der nächsten Version kommen Aufgaben Bereich / Task pane Offline Daten / Data Island u.a.

Jetzt gehts erst richtig los Microsoft Office System 2003 VSTO 2005 Beta 1 Jetzt gehts erst richtig los

Office Professional Edition 2003 VSTO Roadmap Word and Excel hosted in VS IDE View controls ActionsPane Schema-based programming model Server-accessible data island Visual Studio projects for Word and Excel Document-centric customizations Version 2005 Version 2003 Visual Studio .NET 2003 Visual Studio 2005 Office Professional Edition 2003

Neue Designer 1. Drag+Drop onto Designer 2. Designer-generated managed classes 3. First-class managed citizens

Programmierbare TaskPane 1. Design a UserControl 2. Add control behaviour 3. Add the control to the ActionsPane

So schauts dann aus...

XML Knoten und die TaskPane 2. Map XML schema 1. Design multiple UserControls 3. Code UserControl behaviour

Demo Die TaskPane

Dateninseln im Dokument 1. Attribute the DataSet as Cached 2. The DataSet is Cached as XML in the doc Vorteile Office Dokumente auf dem Server verarbeiten Offline Modus

Data Islands auf dem Server Keine Officeinstallation auf dem Server ServerDocument doc = new ServerDocument("expenses.xls"); CachedDataItem cdi = _ doc.CachedDataManifest.Views["Sheet1"].CachedData["Expenses"]; cdi.Xml = "new xml string";

Microsoft Office Professional 2003 VS Tools für Office 2005 VSTO Assembly Data Island Web Services Schemas Client VSTO Runtime .NET Framework LoB Data Microsoft Office Professional 2003 Windows Client Deployment Server

Data Island Zugriff auf dem Server VSTO 2005 Data Island Zugriff auf dem Server Data Cache Data Island VSTO ServerDocument Assembly Server-side Assembly Server .NET Framework Windows Server

Kontextbezogene Hilfe Microsoft Office System 2003 Smart Tags Kontextbezogene Hilfe

Verknüpfen Text in Dokumenten mit Geschäftsprozessen Was sind SmartTags? Verknüpfen Text in Dokumenten mit Geschäftsprozessen Smart Tag Action Button Lila gepunktete Linie: Smart Tag Kennzeichnung

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)

Erzeugen einer XML Datei MOSTL Erzeugen einer XML Datei C:\Programme\Gemeinsame Dateien\Microsoft Shared\Smart Tag\LISTS\1031 <FL:smarttaglist xmlns:FL="urn:schemas-microsoft-com:smarttags:list"> <FL:smarttag type="urn:lamborghini-com:cars#car"> <FL:caption>Lamborghini Cars</FL:caption> <FL:terms> <FL:termlist>350, 400, Countach, Diablo, Espada, Gallardo, Islero, Jalpa, Jarama, LM002, Miura, Murcielago, Silhouette, Urraco</FL:termlist> </FL:terms> <FL:actions> <FL:action id="Information"> <FL:caption>&View Information</FL:caption> <FL:url>http://www.lamborghini.com</FL:url> </FL:action> </FL:actions> </FL:smarttag> </FL:smarttaglist>

Dll – Projekt (Klassenbibliothek) COM – API - SmartTagLib Dll – Projekt (Klassenbibliothek) Verweis auf Microsoft Smart Tags 2.0 Type Library COM Bibliothek recognizer Klasse implementieren ISmartTagRecognizer(2) ProgID und GUID Attribute action Klasse implementieren ISmartTagAction(2) [ProgId("MlbSmartTag.Recognizer"), GuidAttribute("90D62E8D-79E3-4197-907F-BF3EC133698D"), ComVisible(true)] public class Recognizer : ISmartTagRecognizer2, ISmartTagRecognizer { }

Assembly Version konfigurieren COM – API - SmartTagLib Assembly Version konfigurieren Default ändern von 1.0.* auf einen Wert Zum Debuggen die Start Action auf Word oder Excel setzen Project Properties | Configuration Properties | Debugging | Start Action | … … Start Application (C#) … Start external program (Visual Basic .NET)

Smart Tag Programmierung Research Services Smart Tags Demo Smart Tag Programmierung Research Services

Smart Tag Installation Setup Program installiert Dll Muss registriert werden Als COM Komponente Als Smart Recognizer und Action Selbstregistrierende DLL (ComRegisterFunctionAttribute) Schlüssel bei der Installation erzeugen HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Smart Tag\Recognizers HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Smart Tag\Actions Wenn der VSTO Loader verwendet wird, dann CAS!

Download Smart Tag Developer Tools Smart Tag Explorer Zeigt an, welche Smart Tags auf einem Rechner aktiv sind Recognize Tester Ermöglicht das Testen, ob ein Smart Tag bestimmte Tokens erkennt

Smart Tag Developer Tools Smart Tags Demo Smart Tag Developer Tools

Information Bridge Framework Office Dokumente mit verschiedenen LOB – Daten verknüpfen

Find Customer Account Rep 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 MS Word Task Pane Option1 Child Label Mary : Ford order is late. Please investigate. Find Orders Copy & Paste Find Customer Account Rep Unproduktiv und Fehleranfällig!

Warum IBF Verknüpft Office Documente mit Daten Zugriff auf Daten über Webservices Informationen werden komfortabel in der TaskPane angezeigt Wenig Programmieren, deklarativer Ansatz

Information Bridge Framework Demo Was kann IBF

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 ERP Web Services CRM

IBF-Architektur 2 1 4 5 3 Client Server Information Bridge Engine CAS Interprets “Context” using Metadata Metadata Service 1 User selects “Show Details” from Smart Tag IBF Metadata Store 4 Returns data CRM Information Bridge Engine 3 Call Web Service to retrieve data Smart Tag Displays data in Taskpane 5 Other Data ERP Client Server 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

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

Let‘s walking through the dark forrest … Information Bridge Framework IBF-Entwicklung Let‘s walking through the dark forrest … Inspiriert durch Vijay Desai. (Sep, 2004) http://www.persistent.co.in/knowledgecenter/InformationBridgeFramework.pdf

Überblick einer einfachen IBF-Entwicklung Sorgfältige Planung (Use Cases) Definieren von: Entities (Geschäftsobjekten) Beziehungen der Entities untereinander Views (Darstellung der Geschäftsobjekte) Operations (Welche Aktionen) Erzeugen eines /mehrerer Webservice Nach Möglichkeit IBF-konform (nicht zwingend) XML Strukturen von Entities erzeugen WsdlToMetadata.exe Metadaten mit VS.Net-Metadata-Explorer erzeugen SmartTag entwickeln GUI entwickeln (UserControl), nicht zwingend

Planung - Anwendungsfälle Applikation: GreetingService Anwender öffnet Word Tippt Namen von Freunden ein SmartTag-Recognizer erkennt Namen Anwender ruft SmartTag->Show Detail auf SmartTag-Action ruft IBF auf, übergibt erkannten Anwendernamen IBF ruft Webservices auf und erhält Ergebnis Ergebnis wird in der TaskPane in einem selbstentwickelten UserControl angezeigt

Entities, Views, Operations Entity: Friend Schema <Entity Name="Friend" DefaultReferenceSchemaName="FriendSchema"> <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Friend"> <xs:complexType> <xs:attribute name="Name" type="xs:string" use="required"></xs:attribute> </xs:complexType> </xs:element> </xs:schema>

Entities, Views, Operations View: getGreetingMessage Schema <GreetingMessage> <Salutation>Hello</Salutation> <Name>William</Name> </GreetingMessage> <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Salutation" type="xs:string"></xs:element> <xs:element name="GreetingMessage"> <xs:complexType> <xs:sequence> <xs:element ref="Salutation"></xs:element> <xs:element ref="Name"></xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Name" type="xs:string"></xs:element> </xs:schema>

Entities, Views, Operations Operation: GetGreetingMessage <Operation Name="GetGreetingMessage" EntityName="Friend"> <InputSchemas> <SchemaInstance SchemaName="FriendSchema" Index="1" /> </InputSchemas> <OutputSchemas> <SchemaInstance SchemaName="GreetingMessageSchema" Index="1" /> </OutputSchemas> </Operation>

Neues Projekt: FriendService Neuer WS: SayHello Zwei neue Klassen für Der Webservice Neues Projekt: FriendService Neuer WS: SayHello Zwei neue Klassen für Friend-Entity Enthält XML-Attribute GreetingMessage–View ... [XmlRoot("Friend", Namespace="urn-GreetingService-Data")] public class Friend { private string name; [XmlAttribute("Name")] public string Name { get { return this.name; } set { this.name = value; } }

Ein ganz normaler Webservice 3. Der Webservice Ein ganz normaler Webservice Testmethode einfügen (siehe Code) [WebService(Name="Greeting Service", Description="A Service to send out greeting messages", Namespace="http://InformationBridge/SayHello")] public class SayHello : System.Web.Services.WebService { private GreetingMessage greetingMessage; [WebMethod(Description="A method to greet a friend")] public GreetingMessage GetGreetingMessage(Friend aFriend) { greetingMessage = new GreetingMessage(); greetingMessage.Name = aFriend.Name; if (aFriend.Name=="Marcel") { greetingMessage.Salutation = "Hello "; } else { greetingMessage.Salutation = "Guten Tach "; return greetingMessage;

Webservice Projekt und Test Information Bridge Framework Demo Webservice Projekt und Test

Zwei Gruppen von Metadaten Daten und Logik Metadaten anlegen Zwei Gruppen von Metadaten Daten und Logik Webservice Zugriffe Operations, Entities Darstellung Views GUI-Elemente in der TaskPane Neuer Projekttyp in VS.Net

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

Eine Entity kann auf verschiedene Art Dargestellt werden Entities und Views Eine Entity kann auf verschiedene Art Dargestellt werden Informationen können aus unterschiedlichen Quellen (WebServices) stammen Kunde Finanzen Bestellungen Privates Entity (Author) View (AuthorSummary) View (AuthorRoyaltyData)

In IBF gibt es eine ganze Reihe von Metadaten Überblick Metadaten In IBF gibt es eine ganze Reihe von Metadaten Scope Entity Entity 2 Entity Entity 1 View 1 Relationship View 2 View Locator View Locator Reference Service Operation Instance Service Operation Instance (Output) Schema (Input) Schema Port

Relationships Ein Autor hat viele Bücher geschrieben Die Entitäten stehen in Beziehung zu einander So kann der Anwender später ein Drill Down machen

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

Metadaten – Geschäftsdaten Metadata Scope SayHello Entity Friend View GreetingMessage Friend.DefaultViewName = GreetingMessage Port XML und Schema für Friend-Schema Port XML und Schema für GreetingMessage-Schema Zuweisen der Schemata zu Entity und GreetingMessage

Metadaten – Der Webservice Port SOAP für den Webservice anlegen Hier wird die Webreferenz verlinkt Operation für GetGreetingMessage anlegen Port SOAP zuordnen Entity Friend zuordnen

Metadata Aktueller Stand der Metadaten Operation Schemata Port zum Webservice Ports

Metadata-Explorer und XML-Datei Information Bridge Framework Demo Metadata-Explorer und XML-Datei

Publishing Metadata

Metadata Explorer: The Publish Metadata Dialog Box

The Publishing Process Office 2003 IBF Engine Metadata Cache Information Worker Solution Developer VS .NET Metadata Designer XML File Client side Server side Read Write SQL Server Metadata Services

Information Bridge Framework Demo Publishing

Die GUI

Die GUI Title Bar Region Caption Region

Die GUI – Eine Überschrift (Title bar) View GreetingMessage Verfügt über MenuItemDefinition – Properties Menüaussehen wird über XML definiert XML kommt aus einer Operation MenuType = 1 (Anzeigen) MenuDefinitionOp…Instance hinzufügen Operation hinzufügen

Name des erkannten Freundes anzeigen Die Operation Name des erkannten Freundes anzeigen Input ist ein Schema vom Typ Friend das auch den Namen (Attribut Name) enthält Menüs müssen ein bestimmtes IBF Schema erfüllen Output der Operation muß ein Schema vom Typ MenuDefinitionSchema Deshalb Operation vom Typ: OperationTransformationAggregation <xs:element name="ViewProperties" type="ViewPropertiesType" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="ViewPropertiesType" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:sequence> <xs:any namespace="##any" processContents="lax" minOccurs="0" /> </xs:sequence> <xs:attribute name="Caption" type="xs:string" use="optional" default="" /> <xs:attribute name="Description" type="xs:string" use="optional" default="" /> </xs:complexType> </xs:element>

Die Operation – Wir zeigen eine Überschrift an … Operation wandelt Friend Input in MenuDefinition Output um Schemata Ports für XML-Text

Überschirft Metadaten Information Bridge Framework Überschirft Metadaten Anzeige der Knoten

Aktionen Aktionen bestehen aus Instanzen mehrerer Operationen

Aktions Designer: Instanzen von Operationen erzeugen Action Canvas Metadata Explorer Toolbox

Aktions Designer – Parameter Die Operationen können sequentiell ausgeführt werden Über Transformationsinstanzen können Ein- und Ausgabeparameter zwischen den Operationsinstanzen zugewiesen werden

Aktionen testen Build & Execute Action Button Build & Execute Action Context Menu Item

Aktion aus VS heraus testen Information Bridge Framework Demo Aktion aus VS heraus testen

IBF Client Microsoft Office System (InfoPath, Word, Excel, Visio, Outlook) Visual Studio Tools for Office (VSTO) Actions Pane Deep document centric integration with Word and Excel Information Bridge Framework (IBF) Context & Action Services Engine (CAS) Smart Tag driven Windows Forms Can use either use .NET Assemblies or Web Services Server Microsoft Windows Server 2003 IBF uses IIS6 for the reading/writing web services that access the metadata server. SQL Server 2000 Used as the Metadata Server store IBF Metadata Server based on SQL Server 2000 Metadata store is relatively small (~5MB) as it only stores metadata and not data directly.

All services reside on a single machine Server Konfig All services reside on a single machine SQL Server 2000 MDS Read / Write Web Service Authorization Manager Web services are hosted on one or more separate servers MDS Read / Write Web Service Authorization Manager SQL Server 2000 Web Server

Client Konfig MDS Read / Write Web Service Authorization Manager Visual Studio .NET Metadata Designer IBF Client Office 2003 IIS & SQL Server 2000 IIS & SQL Server 2000 MDS Read / Write Web Service Authorization Manager Windows XP Metadata Designer Visual Studio .NET Office 2003 IBF Client

Entwicklung wird noch nicht genug unterstützt Fazit Hohe Lernkurve Sehr gute XML, XSL, XSD, … Kenntnisse ! Entwicklung wird noch nicht genug unterstützt Version 1.5 für QI 2005 geplant ! 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

Microsoft Office System 2003 Fazit Und was nun ...?

VSTO 2005 wird ein großer Schritt nach vorn Ergebnisse VBA bleibt VSTO 2005 wird ein großer Schritt nach vorn IBF steckt noch in den Kinderschuhen, hat aber großes Potential Research Services: gutes Aufwand Nutzen Verhältnis Formulare in Word oder InfoPath Je nach Schwerpunkt ISmartDocument ist aufwendig zu programmieren Wird mit VSTO 2005 obsolet VSTO 2003 bringt nicht wirklich Punkte Office Dokumente gewinnen viel durch XML Unterstützung Verbessertes Deployment und Security

InfoPath 2003 Toolkit für VS.Net Info Path mit Assemblies verknüpfen

Java Script oder VB Script InfoPath Entwicklung Java Script oder VB Script Mit dem Toolkit kann auch in .Net entwickelt werden Neues Projekttemplate in VS.Net Info Path- oder Wordformulare? InfoPath muss auf den Clients installiert Der Schwerpunkt bei Infopath liegt auf den Formularen und dem Zugriff auf Datenquellen oder WS Der Schwerpunkt bei Word liegt auf Dokumenten

Zuerst VS.Net und dann Office 2003 installieren Tipps Zuerst VS.Net und dann Office 2003 installieren GAC muss vorhanden sein, wenn Office die PIA’s installiert Dann Office 2003 Professional or Professional Enterprise Edition installieren Andere Versionen unterstützen keine Smart Doc Entwicklung Primary Interop Assemblies bei Office installieren Nicht standardmäßig ausgewählt “Run From My Computer” Option verwenden

Alles wird gut  Uff...