Title: Office 2003 im Zusammenspiel mit der Unternehmens-IT
1Office 2003 im Zusammenspiel mit der
Unternehmens-IT
Marcel Gnoth Avanade Deutschland GmbH
2Vorstellung
- Dipl. Inf. Marcel Gnoth, MCSD
- marcel_at_gnoth.net , www.gnoth.net (CodeFolien)
- Senior Consultant, Avanade Deutschland GmbH
- Office Business Application Group
- Autor
- dotnetpro, dotnet-magazin, Developerworld, MSDN
- Sprecher
- BASTA!, TechTalk, SQL Server Days
- Themen
- Verteilte nachrichtenbasierte Informationssysteme
- MS Message Queueing, SQL Server Service Broker
- Office System 2003 Integration
- Workshop gleich im Anschluss
- VB6, COM, SQL Server, .Net
3Agenda
- Word/SQL Server - Szenario vorstellen
- XML und Word und Excel
- Eine Applikation mit mit VSTO 2.0
- Verarbeiten von Worddokumenten auf dem SQL
Server - InfoPath/BizTalk - Szenario vorstellen
- InfoPath das bessere Formular
- Dokumenten Bibliotheken im SharePoint
- Verarbeitung im BizTalk Server
4Szenario I
- Winword Dokumentvorlage
- Mit XML-Schema verknüpft
- TaskPane stellt dem Anwender UI zur Verfügung
- Mit VSTO 2.0
- WordML wird zum SQL Server geschickt
- Mit XSLT werden WordML Elemente entfernt
- Formulardaten werden in Tabellen eingetragen
- Abfragen und Auswerten mit
- TSQL
- XML
5(No Transcript)
6Demo
7Überblick
- Ca. 400 Millionen Office Installationen
- Word und Excel Dokumente enthalten viele wichtige
Daten - Office Dokumente sind Freitext
- Nutzer kann fehlerhafte, unstrukturierte Eingaben
machen - schlechte Datenqualität, Prüfen des Inhalts
- Elektronische Verarbeitung der Informationen
aufwendig - Formulare mit Word und Excel erstellen
- InfoPath ist noch nicht weit verbreitet
- Binäres Dokumentformat
- Austausch mit anderen heterogenen Systemen
schwierig - Elektronische Verarbeitung (auf Servern)
aufwendig - Office Installation auf dem Server unerwünscht
- Verteilung von Office Lösungen
- Sicherheit
8XML Dokument Format
- XML-Dateiformat und XML-Schemata
- Offenes Dateiformat
- Kein Freitext mehr, mit Schema verknüpft
- Kontextbezogener Zugriff auf TaskPane
- Serververarbeitung von Dokumenten
9XML in Office
- Offenes XML-Dateiformat
- Verknüpfen der Dokumente mit einem XML-Schema
- GUI-Integration über Aufgabenbereich(auch
Outlook ein bisschen) - Excel Limitationen
- Features and limitations of XML Spreadsheet
format - http//office.microsoft.com/en-us/assistance/HP010
733621033.aspx
10Freitext
11Freitext
12Inhalt als XML
ltConferenceReportgt ltDategt3/24/2004lt/Dategt
ltSummarygt ltKeywordgtXML Conference
(Europe)lt/Keywordgt ltAbstractgtRole of XML on
the Desktoplt/Abstractgt lt/Summarygt
ltAttendeesgt ltAttendee Name"John" Doegt
ltDepartmentgtHealth Agencylt/Departmentgt
ltPotentialgt ltSalesgt100lt/Salesgt
ltGrowthgt25lt/Growthgt ltRemarksgtThe team
comprises great innovatorslt/Remarksgt
ltToDogtContact their IT Managerlt/ToDogt
lt/Potentialgt lt/Attendeegt ltAttendee
Name"Judith" Jonesgt ltDepartmentgtFinance
Agencylt/Departmentgt lt/Attendeegt
lt/Attendeesgt ltConclusiongtOrganize another
European tour lt/Conclusiongt lt/ConferenceReportgt
13Formatierungen
14Formatierung als XML
- WordML
- Eigenes Schema
- HTML ähnlich
- Keine verschachtelten Tags
ltwpgt ltwrgt ltwrPrgt ltwb /gt
lt/wrPrgt ltwtgtJohn Doelt/wtgt lt/wrgt
ltwrgt ltwrPrgt ltwi /gt lt/wrPrgt
ltwtgtHealth Agencylt/wtgt lt/wrgt lt/wpgt
15Dokumente 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
- Erzeugen und verändern von Officedokumenten auf
dem Server ohne Office - WordprocessingML Transform Inference Tool, XSLT
- Austausch mit heterogenen Systemen
16Hello World in WordML
- lt?mso-application progid"Word.Document"?gt
- ltwwordDocument xmlnsw"http//schemas.microsoft.
com/office/word/2003/wordml" xmlnsv"urnschemas-
microsoft-comvml" xmlnsw10"urnschemas-microsof
t-comofficeword" xmlnssl"http//schemas.micros
oft.com/schemaLibrary/2003/core"
xmlnsaml"http//schemas.microsoft.com/aml/2001/c
ore" xmlnswx"http//schemas.microsoft.com/office
/word/2003/auxHint" xmlnso"urnschemas-microsoft
-comofficeoffice" xmlnsdt"uuidC2F41010-65B3-1
1d1-A29F-00AA00C14882" wmacrosPresent"no"
wembeddedObjPresent"no" wocxPresent"no"
xmlspace"preserve"gtltoDocumentPropertiesgtltoTitl
egtHello Worldlt/oTitlegtltoAuthorgtJohn
Peltonenlt/oAuthorgtltoLastAuthorgtJohn
Peltonenlt/oLastAuthorgtltoRevisiongt1lt/oRevisiongtlt
oTotalTimegt0lt/oTotalTimegtltoCreatedgt2004-02-18T0
41500Zlt/oCreatedgtltoLastSavedgt2004-02-18T0415
00Zlt/oLastSavedgtltoPagesgt1lt/oPagesgtltoWordsgt1lt/o
WordsgtltoCharactersgt12lt/oCharactersgtltoCompanygt3
SHARPlt/oCompanygtltoLinesgt1lt/oLinesgtltoParagraphs
gt1lt/oParagraphsgtltoCharactersWithSpacesgt12lt/oCha
ractersWithSpacesgtltoVersiongt11.5604lt/oVersiongtlt/
oDocumentPropertiesgtltwfontsgtltwdefaultFonts
wascii"Times New Roman" wfareast"Times New
Roman" wh-ansi"Times New Roman" wcs"Times New
Roman"/gtlt/wfontsgtltwstylesgtltwversionOfBuiltInSty
lenames wval"4"/gtltwlatentStyles
wdefLockedState"off" wlatentStyleCount"156"/gtlt
wstyle wtype"paragraph" wdefault"on"
wstyleId"Normal"gtltwname wval"Normal"/gtltwrPrgt
ltwxfont wxval"Times New Roman"/gtltwsz
wval"24"/gtltwsz-cs wval"24"/gtltwlang
wval"EN-US" wfareast"EN-US"
wbidi"AR-SA"/gtlt/wrPrgtlt/wstylegtltwstyle
wtype"character" wdefault"on"
wstyleId"DefaultParagraphFont"gtltwname
wval"Default Paragraph Font"/gtltwsemiHidden/gtlt/w
stylegtltwstyle wtype"table" wdefault"on"
wstyleId"TableNormal"gtltwname wval"Normal
Table"/gtltwxuiName wxval"Table
Normal"/gtltwsemiHidden/gtltwrPrgtltwxfont
wxval"Times New Roman"/gtlt/wrPrgtltwtblPrgtltwtblI
nd ww"0" wtype"dxa"/gtltwtblCellMargtltwtop
ww"0" wtype"dxa"/gtltwleft ww"108"
wtype"dxa"/gtltwbottom ww"0"
wtype"dxa"/gtltwright ww"108"
wtype"dxa"/gtlt/wtblCellMargtlt/wtblPrgtlt/wstylegtlt
wstyle wtype"list" wdefault"on"
wstyleId"NoList"gtltwname wval"No
List"/gtltwsemiHidden/gtlt/wstylegtlt/wstylesgtltwdocP
rgtltwview wval"print"/gtltwzoom
wpercent"100"/gtltwdisplayBackgroundShape/gtltwdoN
otEmbedSystemFonts/gtltwproofState
wgrammar"clean"/gtltwattachedTemplate
wval""/gtltwdefaultTabStop wval"720"/gtltwpunctu
ationKerning/gtltwcharacterSpacingControl
wval"DontCompress"/gtltwoptimizeForBrowser/gtltwva
lidateAgainstSchema/gtltwsaveInvalidXML
wval"off"/gtltwignoreMixedContent
wval"off"/gtltwalwaysShowPlaceholderText
wval"off"/gtltwcompatgtltwbreakWrappedTables/gtltws
napToGridInCell/gtltwwrapTextWithPunct/gtltwuseAsian
BreakRules/gtltwdontGrowAutofit/gtlt/wcompatgtlt/wdoc
Prgt - ltwbodygtltwxsectgtltwpgtltwrgtltwtgtHello
World!lt/wtgtlt/wrgtlt/wpgt - ltwsectPrgtltwpgSz ww"12240" wh"15840"/gtltwpgMa
r wtop"1440" wright"1800" wbottom"1440"
wleft"1800" wheader"720" wfooter"720"
wgutter"0"/gtltwcols wspace"720"/gtltwdocGrid
wline-pitch"360"/gtlt/wsectPrgtlt/wxsectgt - lt/wbodygt
- lt/wwordDocumentgt
Namespace Declarations
Document Properties
17XML und Word
Microsoft Corp.
Microsoft Corp.
Database
2/21/2003
Strong Buy
Strong Buy
2/21/2003
Microsoft Corp.
2/21/2003
Microsoft Corp.
Strong Buy
2/21/2003
Strong Buy
18XML in Word-Formularen
19XML - Schema Validierung
- Bei der Eingabe
- Platzhalter bei der Eingabe
- Dokumente schützen
20Demo
21Daten aus WordML extrahieren
- Word Schema und eigenes Schema sind vermischt
- Schwer auf relevante Daten zuzugreifen
- XSL-Transformation zum trennen der Daten
- Office 2003 XML
- ISBN 0-596-00538-5
22Demo
- WordML mit XSLT eliminieren
23Eine VSTO Lösung zur Datenerfassung
24Screenshot
25Features VSTO 2.0
- Integrierte Designer für VS
- Voller Zugriff auf .NET Framework, Web Services,
ADO .NET, integriertes Debugging - Databinding, Data Cache (DataIsland, Offlinedata)
- Unterstützt managed Controls
- Microsoft und Drittanbieter
- Neue VSTO Host Office Controls
- Word-Bookmark, Excel-Range, XML-Node
- Managed Document Actions Pane Smart Tags
- Schemabasiertes Programmiermodell
- CLR-basiertes Sicherheitsmodell
26Demo
27Code Access Security (CAS)
- VSTO erzeugt normale .Net Assemblies
- CAS muß auf dem Client konfiguriert sein
- Caspol.exe oder .Net Framework Konfiguration
- Assembly Location
- Assembly Strong Name
- Ausrollen mit Runtime
- Keine Entscheidung des Anwenders
- Kein Makro aktivieren J/N
Caspol.exe -ag All_Code -url
"file//C/Smart Doc Files/" FullTrust
-n NorthwindSmartDocDemo
28Verknüpfung Dokument Assembly
- Dokument -gt Eigenschaften
- GUID des Runtime Storage Control
- Application Manifest ist im Dokument gespeichert
- Application Manifest verweist auf ein Deployment
Manifest auf dem Server
Dok. auf dem Client
Auf dem Server
Assembly
Deployment Manifest
Application Manifest
Dokument
29Demo
30XML Verarbeitung auf dem SQL Server 2005
- Webservices und CLR Prozeduren
31Webservices auf dem SQL Server
- System Dll zum Hosten von Webservices unabhängig
vom IIS - Endpoint
- Verbunden mit einer Stored Procedure
- Webreferenz verwenden
32CLR Stored Procedures
- Neues Visualstudio Projekt
- Fast ganze .Net Funktionalität
- Benutzt für XSLT
- Business Logik im SQL Server
33Abfragen
34Demo
35Fazit SQLWord
- Worddokumente können auf dem Server verarbeitet
werden - SQL Server 2005 bietet viele Möglichkeiten für
die Arbeit mit XML - (Fast) Gleiche Möglichkeiten mit Excel
- XML-Format eröffnet viele neue Wege
- Verarbeiten von Dokumenten ohne Office
- WordprocessingML Transform Inference Tool
- Schemavalidierung
- Datenaustausch
- Formulare in Word oder Excel
- InfoPath bietet mehr, ist aber nicht überall
nötig - Ablage im SharePoint
- Automatisch in DB eintragen
36InfoPath, SharePoint und BizTalk Server
- Verarbeitung von Formularen
37Szenario Urlaubsprozess
- Mitarbeiter stellt Antrag auf Urlaub
- Vorgesetzter muss innerhalb von 2 Tagen Antrag
bearbeiten - Wenn der Vorgesetzte den Antrag nicht bearbeitet,
dann wird an Personalabteilung eskaliert - Wenn dann immer noch keine Reaktion, dann wird
der Antrag abgebrochen - Daten sollen im Personal System eingetragen
werden
38Prozessmodell Urlaubsantrag
Benutzer stellt Urlaubsantrag
Urlaub wird in der Personaldatenbank reserviert
Personalabteilung wird informiert
Vorgesetzter erhält den Urlaubsantrag zur
Bearbeitung
Genehmigung erteilt ?
Urlaub wird in Personaldatenbank eingetragen
Urlaubsreservierung in Personaldatenbank wird
zurückgesetzt
Personalabteilung und Mitarbeiter werden
benachrichtigt
Personalabteilung und Mitarbeiter werden
benachrichtigt
Mitarbeiter erhält bearbeiteten Antrag
39Lösungsarchitektur
40Der Antrag
- InfoPath Formular
- Mehrere Ansichten
- Abhängig vom Status
- Speichert XML direkt im SharePoint
41Formular Bibliotheken im SharePoint
- InfoPath-Formulare in Formular Bibliotheken
speichern Eine Bibliothek für Mitarbeiter - Eine Bibliothek für Vorgesetzte und PA
- Berechtigungen für Bibliotheken setzen
42Demo
43BizTalk Server
44BizTalk-Server als Nachrichtendienst
Message
Message
BizTalk
Receive Port
Send Port Group
Send Port(File Drop)
Receive Location(File Drop)
Orchestration
Map
Receive Location(HTTP)
Send Port(HTTP)
Maps
Map
Message
MessageBox
Send Port(HTTP)
Map
Messages
Subscriptions
45BizTalk Adapter
- Choosing an Adapter
- Standard BizTalk adapter
- Third-party adapter
- Custom adapter
Adapters
Financial System
SCM
- BizTalk Adapter Framework
- Common way to create and implement adapters
- Provides standard tools for managing standard and
custom adapters
Mainframe
Database
ERP
CRM System
46Werkzeuge für Entwickler
Model a Business Process
Schemas
Define Business Documents
Orchestration
Pipelines
Mapping
Visual Studio .NET
Process Messages
Transform Data
47Eine BizTalk-Lösung entwickeln
48Bestandteile der Lösung
- BizTalk-Projekt
- XML-Schemata
- BizTalk Map für XML-Transformation
- BizTalk Orchestrierung
- InfoPath-Formular
- SharePoint Formularbibliothek
- Webservices für LOB-Zugriff
49XML-Schemata für die Nachrichten
- BizTalk Server verarbeitet Nachrichten
- Innerhalb des BizTalk Servers wird nur XML
verwendet - Eingehende Nachrichten werden in XML konvertiert
- Ausgehende Nachrichten werden in gewünschtes
Zielformat umgewandelt - XML-Schemata definieren die internen Nachrichten
50Schema erstellen
- Neues BizTalk Projekt
- Neues XML-Schema hinzufügen
- Mit dem BizTalk Schema Editor bearbeiten
51Element Promotion
- XML-Elemente
- Werden für die Orchestrierung gekennzeichnet
- Auf die Werte der Elemente kann dann zugegriffen
werden - Einfach über das Kontextmenü-gtQuickPromotion
52BizTalk Map
- Transformation von Nachrichten
- Von Schema A nach Schema B
- Ändern der Werte über Funktoide
53Funktoide
- Werden in Maps verwendet
- Eine Vielzahl von Funktoiden
- Mathematisch, DB, logisch, Konvertierung,
DateTime - Scripting Funktoid inline Code oder Call in
Assembly
54Demo
55InfoPath Formular
- Formular Werkzeug
- Formulardefinition
- wie Dokumentvorlage
- In separater .xsn Datei gespeichert
- Ist ein CAB-Archiv, kann entpackt werden
- Formulardaten sind reines XML mit Verweis auf
InfoPath und die xsn-Datei - lt?mso-application progid"InfoPath.Document"?gt
- href"http//ebizbaseq1fy04/sites/Prozesse/TokyoSa
keShop/Forms/template.xsn"
56Formular erstellen und veröffentlichen
- InfoPath kann ein neues Formular auf Basis eines
XML-Schemas erstellen - Kann direkt in einer SharePoint Formular
Bibliothek veröffentlicht werden - Mehrere Sichten in der Formular Bibliothek
erstellen - Abhängig vom Status-Feld der XML-Daten
- BizTalk entnimmt dann Formulare aus den Sichten
und startet Prozess - Kann mit Daten aus Datenbanken gefüllt werden
57Demo
- InfoPath Formular erstellen undim SharePoint
veröffentlichen
58Eine einfache Orchestrierung
59BizTalk Messaging
Message
Message
BizTalk
Receive Port
Send Port Group
Send Port(File Drop)
Receive Location(File Drop)
Orchestration
Map
Receive Location(HTTP)
Send Port(HTTP)
Maps
Map
Message
MessageBox
Send Port(HTTP)
Map
Messages
Subscriptions
60Ports Send und Receive
- Logische Ports, die Nachrichten senden oder
empfangen - Werden gebunden an physische Quellen
- Können beliebige Formate Empfangen und Senden
- Intern nach XML umgewandelt
61Pipelines
- Zwischen Ports und MessageBox
- In der MessageBox gibt es nur XML
- Pipelines verarbeiten Nachrichten
- Komprimieren
- Transformieren von/in beliebige Formate
62Was ist eine Orchestration ..?
Port Surface ltlt
gtgt Port Surface
- Orchestration Designer
- Grafischer Designer
- Modelieren von Geschäftsprozessen
- Model wird später kompiliert
Receive PO
ReceivePOPort Operation_1 -gt Request
Check Quantity
Else
Denied
Send_Approve
Denied Msg
SendApprvPort Operation_1 -gt Request
!
Transform
SendDeniedPort Operation_1 lt- Request
Send_Denied
Saved Orchestration
- BizTalk Orchestration
- Runtime Engine
- Führt Geschäftsprozesse aus
63Orchestrierung
- Laufzeitumgebung für Geschäftsprozesse
- Entwicklung mit Visual Studio Designer
- Kompiliert zu .Net Assembly
- Instanz wird aktiv, wenn Receive-Port eine
Nachricht empfängt - Verwaltet mehrere Instanzen der Orchestrierung
64Nachrichten im BizTalk
- Eine Nachricht empfangen
- Geschäftslogik ausführen
- Bedingungen prüfen
- Weitere Nachrichten austauschen
- Eine neue Nachricht erstellen (Construct
Message) - Assign Message (gleiches Schema)
- Transform Message (anderes Schema)
- Eine Nachricht versenden
Assign Message
Transform Message
65Orchestrierung Workflow
- SharePoint Formular empfangen
- Bestellmenge prüfen
- OK
- Bestellung an LOBSystem weitergeben
- Bestätigung an Kunden senden
- Sonst
- Ablehnung an Kunden senden
- Nachricht an Kunden
- Gleiches Schema wie Auftrag
- Nachricht an LOB
- Anderes Schema als Auftrag
66Weitere Shapes
Call Orchestration
Start Orchestration
Check Quantity
Loop
!
Rule
Else
Suspend
!
Parallel Actions
Terminate
Delay
Call Rules
Group
Drop a shapefrom the toolbox here
Compensate
Listen
!
Scope
!
Drop a shapefrom the toolbox here
Expression
Throw Exception
67Demo
- Eine einfache Orchestrierung
68Erstellen und Testen
- BizTalk Projekte werden als Assembly erstellt
- Assemblies brauchen Strong Name, werden im GAC
abgelegt - Über den Projektexplorer Assembly installieren
- Dll in den GAC
- BizTalk Orchestrierung in die BizTalk DB
- Physische Send- und Receive Ports anlegen
- Orchestrierung binden
- Logische und physische Ports
- BizTalk Host Prozess
- Orchestrierung Starten (Enlist/Start)
69BizTalk Tools
- Visual Studio
- Deploy / Undeploy
- Deployment Wizard
- Deploy / Undeploy
- Bindungsdatei schreiben
- Admin-Tool
- Health Activity Tracking (HAT)
- Debugging und Tracing
70Demo
- Orchestrierung erstellen und installieren
71Fazit
- Word, Excel und Info Path bieten gute
XML-Fähigkeiten - Wird mit Office 12 noch stärker ausgebaut
- Microsoft Server Produkte bieten gute
Möglichkeiten Office Dokumente zu verarbeiten - SQL2005, SharePoint, BizTalk
- XML, XSD, XSLT, XPatch sind mächtige Werkzeuge
- Office wird in Zukunft sehr eng mit IT-Systemen
im Unternehmen verzahnt sein - Viele weitere Möglichkeiten
- Office 12
72Alles wird gut ?