Upload
ashley-warren
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
OFC 322Building Office Research Web Services: Exposing Corporate Data Through Office
Brian Jones
Program Manager
Authoring Services
Martin SawickiLead Program Manager
Authoring Services
Agenda
What is the Research Library?
Demo: Built in services
Demo: Custom services
Demo: Powerful Interaction
Service Deployment
Overview
Task Pane that integrates search tasks into Office
Supports display of contents, forms, pushing data into the app
Widely supported: Word, Excel, PPT, Outlook, Publisher, OneNote, Visio, IE
Third party extensibilityCorporate: technical spec database
Information providers: legal case database
demodemo
Built inBuilt inResearch LibraryResearch Library
Brian JonesBrian JonesProgram ManagerProgram ManagerAuthoring & Collaboration Svcs.Authoring & Collaboration Svcs.
demodemo
CustomCustomResearch LibraryResearch Library
Brian JonesBrian JonesProgram ManagerProgram ManagerAuthoring & Collaboration Svcs.Authoring & Collaboration Svcs.
Web ServerWeb Server
Registration RequestRegistration Request
Registration ResponseRegistration Response
Query RequestQuery Request
Query ResponseQuery Response
Web Service CallsRegistration and Query
demodemo
Creating Powerful Creating Powerful Research SevicesResearch Sevices
Brian JonesBrian JonesProgram ManagerProgram ManagerAuthoring & Collaboration Svcs.Authoring & Collaboration Svcs.
Research Components
I Buy Spy Query
I Buy Spy Response
I Buy Spy Response (Smart Tag)
I Buy Spy Response (Advanced Product Search)
IBuySpy-Query-Response.XML
IBuySpy-Query-REQUEST.XML
IBuySpy-Query-Response-ProductDetail-SmartTag.XML
IBuySpy-Query-Response-WithFormAndResults.XML
DeploymentDeployment
Martin SawickiMartin SawickiLead Program ManagerLead Program ManagerAuthoring & Collaboration Svcs.Authoring & Collaboration Svcs.
ProviderProvider
Key Concepts
Service/Sourcecollection of research data displayed in the Research and Reference task pane.
Providersource of research and reference content typically accessed via an external URL or internal server address. A provider may offer one or more research sources.
ServiceService
Major Deployment Scenarios
Internet/Public serviceFree
For pay
Intranet/Corporate service
Locally on a user’s computerhttp://localhost
Deployment: Manual RegistrationUser Interface
User types in the URL; No admin action needed.
Service’s online registration interface is used
Deployment: Manual RegistrationService Registration Interface
Necessary for initial handshake between Office app and the provider
SOAP based 2-way communicationClient sends Registration Request
Provider returns Registration Response1. list of services
2. user makes a choice
3. service registered (in registry)
4. may be on or off
Registration Function
C#:[WebMethod] Public String Registration(String xml)
VB.NET:<WebMethod> Public Function Registration(xml As String) As String
The XML string argument conforms to the RegistrationRequest schema
The XML string returned must conform to the RegistrationResponse schema
Registration Request Sample
<RegistrationRequest revision="2" build="(11.0.5308)" xmlns="urn:Microsoft.Search.Registration.Request">
<SystemInformation><SkuLanguage>en-us</SkuLanguage> <LanguagePack>en-us</LanguagePack> <InterfaceLanguage>en-us</InterfaceLanguage> <Location>US</Location>
</SystemInformation>
</RegistrationRequest>
Registration Response Sample<?xml version="1.0" encoding="utf-8" ?> <ProviderUpdate xmlns="urn:Microsoft.Search.Registration.Response">
<Status>SUCCESS</Status><Providers>
<Provider><Message>This is a sample research library.</Message>
<Id>{9FF837AF-34D6-4a94-BB52-B0F19F3A343A}</Id> <Name>Sample Research library</Name> <QueryPath>http://localhost/Query.asmx</QueryPath> <RegistrationPath>http://localhost/Registration.asmx</RegistrationPath> <AboutPath>http://localhost/about.asmx</AboutPath> <Type>SOAP</Type>
<Services><Service>
<Id>{CD144577-9D90-4144-AE38-0D6553CA4004}</Id>
<Name>Sample service</Name> <Description>Sample
description</Description> <Display>On</Display>
<Category>RESEARCH_GENERAL</Category> </Service>
</Services></Provider>
</Providers> </ProviderUpdate>
Registration ResponseOptional Information
Other info you can specify about your services at registration:
License agreement
Terms of Use
Options webpage URL
Copyright info
Deployment: Manual RegistrationLimitations
How does the user know there is a new Research Library service in the first place?
Need to type in a URL – not friendly
Solution: Automatic discovery services
Deployment: Discovery Services
Online directories of available servicesTo add a service: update your online directory
the new service will be discovered by Office automatically
Discovery services registered in registryup to 5 different discovery services
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Common\Research\Discovery"DiscoveryPath1"=http://server1/discovery/discovery.asmx"DiscoveryPath2"=http://server2/discovery/discovery.asmx…"DiscoveryPath5"=http://server5/discovery/discovery.asmx
Discovery Function
C#:[WebMethod] Public String Discovery(String xml)
VB.NET:<WebMethod> Public Function Discovery(xml As String) As String
The XML string argument conforms to RegistrationRequest schema
The XML string returned must conform to the Discovery schema
Deployment: Discovery ServiceResponse
<?xml version='1.0'?><Discovery xmlns='http://schemas.microsoft.com/Office/Research/2002/8/Discovery'>
<!-- Service 1 --><Research autoInstall='false'>
<Id>{80B86BFF-5A43-4ACB-B283-611CCFD99999}</Id><Name>SERVICE 1 NAME</Name><RegistrationPath>http://PATH TO SERVICE 1</RegistrationPath><Description>SERVICE 1 DESCRIPTION</Description>
</Research>
<!-- Service 2 --><Research autoInstall='true'>
<Id>{80B86BFF-5A43-4ACB-B283-611CCFD99999}</Id><Name>SERVICE 2 NAME</Name><RegistrationPath>http://PATH TO SERVICE 2</RegistrationPath>
<Description>SERVICE 2 DESCRIPTION</Description></Research>
</Discovery>
Deployment: Discovery ServiceUser Notification
Admin chooses what to do when new service is discovered:
Automatic install – no user opt-in
Advertise – user notified and given the option to register
Deployment: Discovery ServicePublic/Internet Services
http://office.microsoft.com/marketplace
“Market place” website: Microsoft’s global discovery service
Microsoft’s services
3rd party services
Approval process (Free)
Categorized listings
Deployment: Desktop RolloutYou can pre-register services when deploying OfficeNo user intervention neededDiscovery can be disabled (regkey)Manual registration can be disabled (regkey)Registry entries in the desktop image:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\Research\Sources\<servicename>
Deployment: Desktop Rollout“Out of the Box” Services
Examples of services registered by default during Office installation:
Thesaurus
MSN® Search
Microsoft Encarta® Encyclopedia
a number of third party services
Deployment Methods and Scenarios
Method:Method:
Scenario:Scenario: InternetInternet(MarketPlace)(MarketPlace)
IntranetIntranet LocalhostLocalhost
ManualManual
DiscoveryDiscovery
Rollout (Registry)Rollout (Registry)
Security
No special considerations – only data is transmittedService can require Windows AuthenticationCookie support
Can read cookies written by the browserCan write cookies that are recognized by the browserShares persistent cookies with Internet ExplorerSupports session and persistent cookies
HTTPS supported
Resources
Research library SDK in beta 2 kit
MSDN online (msdn.microsoft.com/office)‘Build Your Own Research Library with Office 2003 and the Google Web Service API” – By Chris Kunicki
“Customizing the Microsoft Office 2003 Research Task Pane” – by Jan Fransen
Community Resources
Community Resourceshttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx
User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.