1 Architecting End-to-End Enterprise Solutions with Microsoft Office InfoPath 2003 Kamaljit Bath...

29
1 Architecting End-to- End Enterprise Solutions with Microsoft Office InfoPath 2003 Kamaljit Bath Lead Program Manager Microsoft Corporation Session Code: Dat350

Transcript of 1 Architecting End-to-End Enterprise Solutions with Microsoft Office InfoPath 2003 Kamaljit Bath...

1

Architecting End-to-End Enterprise Solutions with Microsoft Office InfoPath 2003

Kamaljit BathLead Program ManagerMicrosoft Corporation

Session Code: Dat350

Mary Feil-Jacobs
This is the Data Systems Breakout template. Yellow backgrounds should be used for the title slide, and all "special" slides including demo, video, customer, partner and announcing slides. Blue backgrounds should be used for all "content" slides.

2

AgendaAgenda

InfoPath - Key Business ValuesEnterprise Scenario Demo InfoPath Architecture and Programming ModelWeb Services InteropBizTalk 2004 InteropOther Server and Data InteropAdditional Resources

InfoPath - Key Business ValuesEnterprise Scenario Demo InfoPath Architecture and Programming ModelWeb Services InteropBizTalk 2004 InteropOther Server and Data InteropAdditional Resources

3

What is InfoPath?What is InfoPath?

A new program in Microsoft Office System

Included in Office Pro Ent. Ed. 2003 Available standalone

A desktop application

The platform for a new generation of electronic forms

A new program in Microsoft Office System

Included in Office Pro Ent. Ed. 2003 Available standalone

A desktop application

The platform for a new generation of electronic forms

4

InfoPath – Key Business ValuesInfoPath – Key Business Values

Rich Office editing experienceSpell check, rich UI, validation, offline …

End-user oriented XML Authoring toolOut-of-box support for XML and XML Web servicesSupport for customer-defined schema

Deployment and RAD environmentWYSIWYG design from existing schemas, XML Web services, etc. Visual Studio/Managed code integrationSolution Caching & auto update

Rich Office editing experienceSpell check, rich UI, validation, offline …

End-user oriented XML Authoring toolOut-of-box support for XML and XML Web servicesSupport for customer-defined schema

Deployment and RAD environmentWYSIWYG design from existing schemas, XML Web services, etc. Visual Studio/Managed code integrationSolution Caching & auto update

5

Clie

nt

Serv

er

InfoPath integration with the enterprise ecosystemInfoPath integration with the enterprise ecosystem

Solution front-end

Data Validation

Workflow support

Collaboration

Process integrationSQLSQL

ServerServer

InfoPath

•XML Schema•Validation rules•Managed code

•Form library•Property promotion

•XML Web Services•HTTP Post•XML payloads

•Rich programming environment•XML Web Services

•Rapid development and deployment•Rich editing UI•integration with other Office apps

Rule engine

SharePoint

BizTalk

InfoPath

InfoPath Support

SAP, SAP, Siebel..Siebel..

6

Sales Call Report

Kamaljit BathLead Program ManagerMicrosoft Office InfoPath 2003

7

InfoPath: Architecture and Programming Model

8

XML Structural EditingBuilding an XML documentXML Structural EditingBuilding an XML document

salesReportsalesReport

customerscustomers

customercustomer

itemsitems

itemitem

actionsactions

customercustomer

itemsitems

itemitemactionaction

9

Controls are bound to the main XML DOMControls are bound to the main XML DOM

Controls must be bound to a node in the primary data source’s DOM*All the programming is against Data, not against view, controls

What this means:To change the data in a control, you write to the DOM To get the data from a control, you look at the DOM.

Controls must be bound to a node in the primary data source’s DOM*All the programming is against Data, not against view, controls

What this means:To change the data in a control, you write to the DOM To get the data from a control, you look at the DOM.

10

Programmability InfrastructureProgrammability Infrastructure

OpenOpen EditEdit SubmitSubmit CloseClose

On

Ve

rsio

nU

pg

rad

On

Ve

rsio

nU

pg

rad

ee

On

Lo

ad

On

Lo

ad

On

Sw

itc

hV

iew

On

Sw

itc

hV

iew

On

Be

fore

Ch

an

ge

On

Be

fore

Ch

an

ge

On

Va

lid

ate

On

Va

lid

ate

On

Aft

erC

ha

ng

eO

nA

fte

rCh

an

ge

On

Cli

ck

On

Cli

ck

On

Su

bm

itR

eq

ue

st

On

Su

bm

itR

eq

ue

st

C#, VB.NET, JScript, VBScriptC#, VB.NET, JScript, VBScript

XDocument lifecycle

Events

Eventhandlers

On

Be

fore

Ch

an

ge

On

Be

fore

Ch

an

ge

On

Va

lid

ate

On

Va

lid

ate

On

Aft

erC

ha

ng

eO

nA

fte

rCh

an

ge

11

Data ValidationProgramming: DOM Editing Events

Data ValidationProgramming: DOM Editing Events

ROOT

itemsTotals

itemitem

total unitPrice sold

Bubbling trace

Updated node

Xml TreeXml Tree Editing eventsEditing events

item::OnValidate()

item::OnAfterChange()

item::OnBeforeChange()

DataDOM EventDataDOM Event

Site = itemSource = soldOperation = UpdateOldValueNewValueReportErrorReturnStatusReturnMessage

sold

ROOT

items

item

12

InfoPath: Web Services Interop

13

Oracle, DB2, …

SAP, PeopleSoft,

Siebel,…

InfoPath 2003 is a Smart Client for XML Web ServicesInfoPath 2003 is a Smart Client for XML Web Services

InfoPath

BizTalk

IIS

SQL

WSS*XMLHTTPSOAPWSDLUDDI

.XML.XML

SQLAccess

XMLXML

SubmitSubmit

WSS*

SubmitSubmit

SaveSave

SendSend

*Windows SharePointServices

14

InfoPath and Web ServicesInfoPath and Web Services

ScenariosDesign a InfoPath form as a front end to a Web ServiceBind a control in an InfoPath form to lookup data from a Web Service call

Design mode supportUDDI based search for Web ServicesGenerate schema based on selected Web Service call

Edit mode supportAutomatically generate SOAP calls for getting/submitting dataLimited OM access to Web Service call parametersCustomizable submit for advanced scenarios

ScenariosDesign a InfoPath form as a front end to a Web ServiceBind a control in an InfoPath form to lookup data from a Web Service call

Design mode supportUDDI based search for Web ServicesGenerate schema based on selected Web Service call

Edit mode supportAutomatically generate SOAP calls for getting/submitting dataLimited OM access to Web Service call parametersCustomizable submit for advanced scenarios

15

InfoPath and Web ServicesWeb Services Enhancements (WSE)InfoPath and Web ServicesWeb Services Enhancements (WSE)

Web Services are widely adoptedProvide communication infrastructure WS-I is fully operational

Web Services Enhancements (WSE) 2.0Extends Web Services to support more complex intra- and inter-organizational scenariosMakes Secure, Reliable, Transacted Web services

Targeted at early adoptersScenarios for InfoPath integration

Connecting to secure Web ServicesConnect to Web Services over TCP and other protocols

16

InfoPath and Web ServicesIndigo IntegrationInfoPath and Web ServicesIndigo Integration

In the short-term, do it in codeUse WSE and Message-Bus APIs directly in InfoPath formReturned XML is automatically bound to form controls

Possible enhancements in the long-term

Built-in support for Message-Bus in the InfoPath Designer and EditorInfoPath pops-up authentication and other dialogs Built-in handlers for WS-Policy and other metadata tokens

In the short-term, do it in codeUse WSE and Message-Bus APIs directly in InfoPath formReturned XML is automatically bound to form controls

Possible enhancements in the long-term

Built-in support for Message-Bus in the InfoPath Designer and EditorInfoPath pops-up authentication and other dialogs Built-in handlers for WS-Policy and other metadata tokens

17

InfoPath: BizTalk Interop

18

Integration scenariosIntegration scenariosInfoPathInfoPath

BizTalkBizTalkServerServer eMaileMail

SharepointSharepoint

InvoiceInvoiceDatabaseDatabase

DatabaseDatabase

11

22

33

11

2233 44

19

InfoPath and BizTalkBizTalk 2004 featuresInfoPath and BizTalkBizTalk 2004 features

BizTalk accepts PIs and namespacesYou can configure send and receive pipelines to preserve/Remove/Change PIs

BizTalk uses XSD so no more issues with XSD/XDR conversionOrchestration can be exposed thru a Web service You can design your workflow starting either from BizTalk or InfoPath

BizTalk accepts PIs and namespacesYou can configure send and receive pipelines to preserve/Remove/Change PIs

BizTalk uses XSD so no more issues with XSD/XDR conversionOrchestration can be exposed thru a Web service You can design your workflow starting either from BizTalk or InfoPath

20

InfoPath and BizTalk

Kamaljit BathLead Program ManagerMicrosoft Office InfoPath 2003

21

InfoPath: Other Server and Data interop

22

InfoPath and YukonXML Data type columnsInfoPath and YukonXML Data type columns

Yukon supports XML data type natively

Advanced features for retrieving and updating XML docs stored in the database

Hierarchical data can be stored in a relational DB

Additional Contact InfoProduct Manufacturing InstructionsApplicant resume

InfoPath integration scenariosBuild end-to-end solutions around XML data with rich UI and native store capabilities

Yukon supports XML data type natively

Advanced features for retrieving and updating XML docs stored in the database

Hierarchical data can be stored in a relational DB

Additional Contact InfoProduct Manufacturing InstructionsApplicant resume

InfoPath integration scenariosBuild end-to-end solutions around XML data with rich UI and native store capabilities

23

InfoPath and YukonRetrieving and updating XML dataInfoPath and YukonRetrieving and updating XML data

XML Data typeUse XML data type methods in SQL to access XML data type column via ADO.NET

query(), value(), exist()

Use SQL DML to update modify()

Relational dataUse SQL XML and “For XML” queries to retrieve relational data as XMLUse OPENXML() to update XML back into relational data

HTTP SOAP ListenerWSDL must contain complete schema and no xsi:type declarationsUpdates need to go back thru custom Web Services

XML Data typeUse XML data type methods in SQL to access XML data type column via ADO.NET

query(), value(), exist()

Use SQL DML to update modify()

Relational dataUse SQL XML and “For XML” queries to retrieve relational data as XMLUse OPENXML() to update XML back into relational data

HTTP SOAP ListenerWSDL must contain complete schema and no xsi:type declarationsUpdates need to go back thru custom Web Services

24

InfoPath and LOB ServersSiebel IntegrationInfoPath and LOB ServersSiebel Integration

ScenariosPopulate form fields from Siebel serverCreate custom forms rapidly to work against Siebel server

Create a front-end Web Service to connect to Siebel

Use ADO.NET to connect to DB and execute custom stored procs orCall Siebel business objects to access data

Create an InfoPath Form based on the Web ServiceSiebel 7.5 will support Web Services natively

ScenariosPopulate form fields from Siebel serverCreate custom forms rapidly to work against Siebel server

Create a front-end Web Service to connect to Siebel

Use ADO.NET to connect to DB and execute custom stored procs orCall Siebel business objects to access data

Create an InfoPath Form based on the Web ServiceSiebel 7.5 will support Web Services natively

25

InfoPath and LOB ServersSAP IntegrationInfoPath and LOB ServersSAP Integration

ScenariosPopulate form fields from SAPCreate custom forms rapidly to work against SAP

Create a front-end Web Service to connect to SAP

Install and configure the .NET Connector from SAP websiteCreate and use SAP connection RFC proxy class

C# classes for each unique SAP tables parameter and SAP structures parameter for the selected RFCUse SAP logon classes to create connection string

Create an InfoPath Form based on the Web Service

ScenariosPopulate form fields from SAPCreate custom forms rapidly to work against SAP

Create a front-end Web Service to connect to SAP

Install and configure the .NET Connector from SAP websiteCreate and use SAP connection RFC proxy class

C# classes for each unique SAP tables parameter and SAP structures parameter for the selected RFCUse SAP logon classes to create connection string

Create an InfoPath Form based on the Web Service

26

InfoPath and LOB serversSummaryInfoPath and LOB serversSummary

ScenariosUse InfoPath to easily build rich, custom forms that integrate with LOB servers via standard protocols

Rapid development and deployment model for rich, custom forms

Start from web service description or custom schemaWSYWIG design modeRich programming environmentDynamic controls to work with XMLSimple deployment model like web pages

Interoperability with business processescustom XML schemas, Web Services, open standards

Rich UI and feature sets for structured data gathering

ScenariosUse InfoPath to easily build rich, custom forms that integrate with LOB servers via standard protocols

Rapid development and deployment model for rich, custom forms

Start from web service description or custom schemaWSYWIG design modeRich programming environmentDynamic controls to work with XMLSimple deployment model like web pages

Interoperability with business processescustom XML schemas, Web Services, open standards

Rich UI and feature sets for structured data gathering

27

Developer ResourcesDeveloper Resources

InfoPath included in PDC Office KitDeveloper Resources DVD @ Product Booth

Features Intensive Training, SDK, White Papers

PDC Hands on Lab – HOL 607MSDN InfoPath Developers Center

http://msdn.microsoft.com/Office/InfoPathInfoPath SDK, Training, Solutions

InfoPath Newsgroupmicrosoft.public.InfoPath

InfoPath included in PDC Office KitDeveloper Resources DVD @ Product Booth

Features Intensive Training, SDK, White Papers

PDC Hands on Lab – HOL 607MSDN InfoPath Developers Center

http://msdn.microsoft.com/Office/InfoPathInfoPath SDK, Training, Solutions

InfoPath Newsgroupmicrosoft.public.InfoPath

28© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.