groove: building enterprise workgroup applications hugh pyle off303 senior product manager microsoft...
TRANSCRIPT
![Page 1: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/1.jpg)
Groove: Building Enterprise Groove: Building Enterprise Workgroup ApplicationsWorkgroup Applications
Hugh PyleHugh PyleOFF303OFF303Senior Product ManagerSenior Product ManagerMicrosoft CorporationMicrosoft Corporation
![Page 2: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/2.jpg)
Building Enterprise Building Enterprise Workgroup Applications Workgroup Applications With Groove 3.1With Groove 3.1
video: http://www.escapeyesterworld.com/video: http://www.escapeyesterworld.com/
![Page 3: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/3.jpg)
AgendaAgenda
Groove: What, why, whereGroove: What, why, where
Groove FormsGroove Forms
Groove Web ServicesGroove Web Services
Groove Enterprise Data Bridge (EDB) Groove Enterprise Data Bridge (EDB) and Process Integrationand Process Integration
QuestionsQuestions
![Page 4: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/4.jpg)
SurveysSurveys
……
DocumentsDocuments
DiscussionsDiscussions
TasksTasks ContactsContacts
MembersMembersCalendarCalendar
TeamTeam
Flexible workspace collaboration tools that match Flexible workspace collaboration tools that match how work gets donehow work gets done
Rich Rich clientclient MobileMobile
Cross-Cross-organizationorganization
Small Small teamsteamsShort Short
termterm
ThinThin clientclientBroad Broad
reachreachSearchabSearchablele
CommunitieCommunitiess
Scalability Scalability & & AvailabilitAvailabilityy
Long termLong term
Ad hocAd hoc
Collaborative WorkspacesCollaborative WorkspacesStay on the same page in a common work Stay on the same page in a common work areaarea
![Page 5: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/5.jpg)
Relay Server
DisconnectedEmployee
Employee
Partner
How Groove WorksHow Groove WorksA hybrid architectureA hybrid architecture
![Page 6: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/6.jpg)
Relay Server
DisconnectedEmployee
Management Server
Employee
Partner
Business Apps.(e.g. Siebel)
Databases(e.g. SQL Server)
Information Sharing(e.g. SharePoint Portal
Server)
EnterpriseData Bridge
How Groove WorksHow Groove WorksA hybrid architectureA hybrid architecture
![Page 7: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/7.jpg)
Groove SynchronizationGroove Synchronization
Every user change creates a “Delta”Every user change creates a “Delta”Transaction applied to local copy of Transaction applied to local copy of workspaceworkspace
Queued for dissemination to each other Queued for dissemination to each other useruser
Via relay if direct connection is not availableVia relay if direct connection is not available
Queued locally if no communicationsQueued locally if no communications
Groove Dynamics: subsystem Groove Dynamics: subsystem responsible for transaction responsible for transaction synchronizationsynchronization
Guarantees that all users see the same Guarantees that all users see the same sequence of transactions (even if sequence of transactions (even if incomplete)incomplete)
““Push”; also can “fetch” missing Push”; also can “fetch” missing transactionstransactions
![Page 8: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/8.jpg)
Groove SecurityGroove Security
All on-disk data is strongly encryptedAll on-disk data is strongly encryptedUser passphrase provides the Account User passphrase provides the Account keykey
Account file contains list of workspaces, Account file contains list of workspaces, and key for each workspaceand key for each workspace
Each workspace has its own keyEach workspace has its own key
Workspaces re-keyed on membership Workspaces re-keyed on membership changechange
All on-the-wire data is strongly All on-the-wire data is strongly encryptedencrypted
““Immune to user indifference”Immune to user indifference”
![Page 9: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/9.jpg)
Where Should I Use Where Should I Use Groove?Groove?
Virtual workgroupsVirtual workgroupsGeographically dispersedGeographically dispersedNeed to collaborate outside the Need to collaborate outside the enterpriseenterpriseMobile or occasionally connected Mobile or occasionally connected employees employees Teams dealing with adverse Teams dealing with adverse infrastructureinfrastructure
Best fit with: professional services, IT Best fit with: professional services, IT project management and public project management and public sectorsectorSome new Office “12” integration Some new Office “12” integration comingcoming
InfoPath, RTC, WSSInfoPath, RTC, WSSExtends what we’ll see todayExtends what we’ll see today
![Page 10: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/10.jpg)
Integration ScenarioIntegration Scenario
Contacts formContacts form
Read data from Groove into Read data from Groove into <something><something>
Using Groove clientUsing Groove client
Write data from <something> into Write data from <something> into GrooveGroove
Using Groove EDBUsing Groove EDB
OrchestrateOrchestrateCreate workspace, add data, invite Create workspace, add data, invite membersmembers
![Page 11: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/11.jpg)
AgendaAgenda
Groove: What, why, whereGroove: What, why, where
Groove FormsGroove Forms
Groove Web ServicesGroove Web Services
Groove Enterprise Data Bridge (EDB) Groove Enterprise Data Bridge (EDB) and Process Integrationand Process Integration
QuestionsQuestions
![Page 12: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/12.jpg)
Agenda: Groove FormsAgenda: Groove Forms
What, whyWhat, why
Example applicationsExample applications
Demo: build a simple formDemo: build a simple form
![Page 13: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/13.jpg)
Groove FormsGroove Forms
Customizable tool for workgroup appsCustomizable tool for workgroup apps
Forms DesignerForms DesignerFields, Forms, ViewsFields, Forms, Views
Forms UIForms UI
Distributed databaseDistributed databaseRecordsRecords
Parent/Response relationshipsParent/Response relationships
![Page 14: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/14.jpg)
Groove Forms: FieldsGroove Forms: Fields
Simple field typesSimple field typesText, Multi-LineText, Multi-Line
Numeric, CurrencyNumeric, Currency
Checkboxes, Option Buttons, Dropdown, Checkboxes, Option Buttons, Dropdown, ListboxListbox
Extended field typesExtended field typesRich TextRich Text
AttachmentsAttachments
ContactContact
Others: Script Buttons, layout Others: Script Buttons, layout elementselements
![Page 15: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/15.jpg)
Groove Forms: ViewsGroove Forms: Views
Multiple views per toolMultiple views per tool
Easy to build viewsEasy to build viewsSelect columns (scalar, richtext, etc)Select columns (scalar, richtext, etc)
Select sorting, grouping, defaultsSelect sorting, grouping, defaults
Add selection conditionsAdd selection conditionsDisplay only records from selected formsDisplay only records from selected forms
Display only records matching particular Display only records matching particular criteriacriteria
User-visible viewsUser-visible views
Hidden views; lookup fields, lookup Hidden views; lookup fields, lookup scriptscript
![Page 16: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/16.jpg)
ProgrammabilityProgrammability
Scripting in a FormScripting in a FormUser Interface: DHTML + CSS + ScriptUser Interface: DHTML + CSS + Script
Add/change/move/show/hide form elementsAdd/change/move/show/hide form elementsDynamic validation (on UI events)Dynamic validation (on UI events)
Record data: Script + Forms APIRecord data: Script + Forms APIRead/write fields on recordsRead/write fields on recordsNavigate related recordsNavigate related records
Send IM, navigateSend IM, navigateNon-record data (persistent & non-Non-record data (persistent & non-persistent)persistent)
Macros (script)Macros (script)Web Services: external accessWeb Services: external access
![Page 17: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/17.jpg)
Design ChangesDesign Changes
Your Forms design is part of the Your Forms design is part of the workspaceworkspace
When design is updated,When design is updated,all workspace members receive the all workspace members receive the changeschanges
Design management facilities:Design management facilities:““Save Tool as Template” (GTA)Save Tool as Template” (GTA)
““Save Workspace as Template” (GSA)Save Workspace as Template” (GSA)
““Replace Design”Replace Design”
![Page 18: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/18.jpg)
Demo: Building a FormDemo: Building a Form
![Page 19: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/19.jpg)
Forms ExamplesForms Examples
More on More on http://www.groove.net/solutions/http://www.groove.net/solutions/
Downloadable solution templatesDownloadable solution templates
Run “as-is” or customizeRun “as-is” or customize
![Page 20: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/20.jpg)
AgendaAgenda
Groove: What, why, whereGroove: What, why, where
Groove FormsGroove Forms
Groove Web ServicesGroove Web Services
Groove Enterprise Data Bridge (EDB) Groove Enterprise Data Bridge (EDB) and Process Integrationand Process Integration
QuestionsQuestions
![Page 21: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/21.jpg)
Agenda: GWSAgenda: GWS
What, why, historyWhat, why, history
Example applicationsExample applications
Building Groove Web Services Building Groove Web Services applicationsapplications
Web referencesWeb references
Headers, securityHeaders, security
Structure: Account, Identity, Space, Tool, Structure: Account, Identity, Space, Tool, datadata
Forms Data and .NET DataSetForms Data and .NET DataSet
![Page 22: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/22.jpg)
Groove Web ServicesGroove Web Services
Groove is a web services serverGroove is a web services serverhttp://localhost:9080/GWS/Groove/http://localhost:9080/GWS/Groove/<service><service>
SOAP access to Groove servicesSOAP access to Groove servicesAccounts, Identities, ContactsAccounts, Identities, Contacts
Presence / Awareness, MessagingPresence / Awareness, Messaging
Workspaces, Tools, Data (CRUD)Workspaces, Tools, Data (CRUD)
Local UI (navigate, open dialogs)Local UI (navigate, open dialogs)
Developer kit providesDeveloper kit providesWSDL, XSDWSDL, XSD
Code samples, DocumentationCode samples, Documentation
![Page 23: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/23.jpg)
GWS ApplicationsGWS Applications
Local access to GrooveLocal access to GrooveLocal data integrationLocal data integration
Adding Groove services to existing Adding Groove services to existing applicationsapplications
Remote access to GrooveRemote access to GrooveSpecialized applications: server-basedSpecialized applications: server-based
SecuritySecuritySecret request key in SOAP headerSecret request key in SOAP header
Request keys in registry HKCURequest keys in registry HKCU
![Page 24: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/24.jpg)
Demo: Reading Forms DataDemo: Reading Forms Data
Outlook addinOutlook addinRead Forms data from GrooveRead Forms data from Groove
(Groove Forms data is a serialized (Groove Forms data is a serialized DataSet)DataSet)Write to Outlook ContactsWrite to Outlook Contacts
![Page 25: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/25.jpg)
Demo: Writing Forms DataDemo: Writing Forms Data
Standalone executable (Windows Forms)Standalone executable (Windows Forms)Read list data from WSS, to DataSetRead list data from WSS, to DataSetWrite records to GrooveWrite records to Groove
![Page 26: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/26.jpg)
AgendaAgenda
Groove: What, why, whereGroove: What, why, where
Groove FormsGroove Forms
Groove Web ServicesGroove Web Services
Groove Enterprise Data Bridge (EDB) Groove Enterprise Data Bridge (EDB) and Process Integrationand Process Integration
QuestionsQuestions
![Page 27: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/27.jpg)
Groove EDB ComponentGroove EDB Component
Enterprise Data Bridge: Groove data Enterprise Data Bridge: Groove data serverserver
Always-OnAlways-On
Always-ConnectedAlways-Connected
Privileged connections – host in data Privileged connections – host in data centercenter
Scalable workspace memberScalable workspace memberThousands of workspacesThousands of workspaces
Scalable GWS serverScalable GWS serverOptimized Web services HTTP stackOptimized Web services HTTP stack
![Page 28: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/28.jpg)
Groove EDB UIGroove EDB UI
![Page 29: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/29.jpg)
Casahl ComponentCasahl Component
Third-Party Companion Product: Third-Party Companion Product: CasahlCasahlOff-the-shelf record data Off-the-shelf record data synchronizationsynchronization
Product bundle available with Groove Product bundle available with Groove EDBEDB
EDB + Casahl ecKnowledge +EDB + Casahl ecKnowledge +Casahl’s Groove connector + one otherCasahl’s Groove connector + one other
Reduce or eliminate controller Reduce or eliminate controller developmentdevelopment
Build vs. Buy (many connectors available)Build vs. Buy (many connectors available)
Scheduled synchronization jobsScheduled synchronization jobsXML-RPC API for controllersXML-RPC API for controllers
Create synchronization targets and jobsCreate synchronization targets and jobsTrigger synchronization, query job statusTrigger synchronization, query job status
![Page 30: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/30.jpg)
Integration ExamplesIntegration Examples
Siemens Medical LogisticsSiemens Medical LogisticsQuote (from Siebel) and/or Sales Order Quote (from Siebel) and/or Sales Order (SAP)(SAP)
Groove workspace created on EDBGroove workspace created on EDB
Initial data populated from SQL ServerInitial data populated from SQL Server
Invitations sent to membersInvitations sent to members
User data synchronized to SQL ServerUser data synchronized to SQL Server
Florida SERTFlorida SERT““Constellation” of workspacesConstellation” of workspaces
Controller listens for GWS events (data Controller listens for GWS events (data change)change)
Groove-to-Groove synchronizationGroove-to-Groove synchronization
![Page 31: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/31.jpg)
Integration ExampleIntegration Example
Windows SharePoint Services (WSS) Windows SharePoint Services (WSS) sitesite
List of contactsList of contacts
List of workspacesList of workspaces
Create workspace from templateCreate workspace from template
Populate workspace data from WSS Populate workspace data from WSS listlist
Save invitation file as WSS Save invitation file as WSS attachmentattachment
![Page 32: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/32.jpg)
Controller ArchitectureController Architecture
Typical controller – very repeatableTypical controller – very repeatableManage workspace status, creation, Manage workspace status, creation, archivalarchival
Manage member status, invitationsManage member status, invitations
Listen for eventsListen for events
Synchronize data on event, or on Synchronize data on event, or on scheduleschedule
Deployment optionsDeployment optionsConsole application + Task SchedulerConsole application + Task Scheduler
Windows Forms applicationWindows Forms application
Windows ServiceWindows Service
![Page 33: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/33.jpg)
AgendaAgenda
Groove: What, why, whereGroove: What, why, where
Groove FormsGroove Forms
Groove Web ServicesGroove Web Services
Groove Enterprise Data Bridge (EDB) Groove Enterprise Data Bridge (EDB) and Process Integrationand Process Integration
QuestionsQuestions
[email protected]@microsoft.comhttp://blogs.msdn.com/hughpyle/http://blogs.msdn.com/hughpyle/
![Page 34: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/34.jpg)
Community ResourcesCommunity Resources
At PDCAt PDCFor more information, go seeFor more information, go see
Hands-On Lab Hands-On Lab OFFHOL22: Using Groove Web Services in a Windows Forms OFFHOL22: Using Groove Web Services in a Windows Forms Application Application
OFF Track LoungeOFF Track LoungeHugh Pyle, Paresh Suthar, Bob DoyleHugh Pyle, Paresh Suthar, Bob Doyle
After PDCAfter PDCPresentation & code on DVDPresentation & code on DVD
More background: More background: http://blogs.msdn.com/hughpyle/http://blogs.msdn.com/hughpyle/
Developer resources:Developer resources:http://www.groove.net/solutions/develop/http://www.groove.net/solutions/develop/
![Page 35: Groove: Building Enterprise Workgroup Applications Hugh Pyle OFF303 Senior Product Manager Microsoft Corporation](https://reader038.vdocuments.net/reader038/viewer/2022110320/56649cd75503460f9499f01c/html5/thumbnails/35.jpg)
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.