Upload
avtex
View
674
Download
2
Embed Size (px)
DESCRIPTION
TechFuse presentation on how and why to develop with Microsoft CRM Online. Presented by Neil Iverson and Bart Sneary from Avtex.
Citation preview
CRM Online Development
Bart Sneary – VP CRM SolutionsNeil Iversen – Principal Architect
Agenda
• Intro to CRM and XRM Framework • Whirlwind intro to CRM Development– Extensibility Options– Deployment Steps
• Integrating with CRM Online– Calling into CRM– Authenticating with Live ID
• Extending CRM Online– Allow CRM to Push Data– Azure End Point
PC Browser Mobile
Marketing Effectiveness
Sales Productivity
Customer Care
Extended CRM Applications
RELATIONSHIPS | INTERACTIONS | PROCESS | INSIGHTS
xRM Framework
Microsoft Dynamics CRM: The End-to-End Solution
• Entity/Attribute framework for table creation/relation• API’s of various kinds to talk to with SDK• Forms/Views/Search/.Net 4.0 UI already there• Access to client/server/workflow/API• Security Model (down to the field)• Browser, Mobile Web, Mobile Device, Outlook clients• Native Charts/Dashboards/SSRS Reporting• Option for cloud or premises-based app
Why Develop with CRM instead of Custom?
Structure of CRM
Economic Reasons for Using Cloud
CRM Online/Partner Hosted• Operating expense instead of large capital up-front outlay• Time to Value (instant on)• Software version is always current (user productivity)• Fewer IT resources needed• Utilize IT resources only to innovate, not maintain systems• Never overbuy licenses/can scale down as applicable• No reliance on any other particular infrastructure (like SQL, AD, or Exchange)• No need for VPN• Unlimited MS Support included**
** CRM Online Only
Technical Reasons for Using Cloud
CRM Online• Access anywhere you can get to Internet• Universal Authentication Provider• Disaster Recovery included• Uptime SLA• Data security (MS datacenter standards)• Upgrades/Patches/Robust Hardware always in place as made available• Scale users up/down as needs change• Business Users in control of mundane administration of application so developers
can focus on building functionality• Remove connectivity to your datacenter as a single point of failure
CRM Development – Common Extensibility• On Client– Form Customization
• On Server – Workflows– Plugins
• Off Server– SQL Database – Web Services• Multiple ways to access
CRM Deployment• JavaScript Deployment• DLL Deployment• Solution Deployment– Managed– Unmanaged
CRM Development - Plugin• Custom code that can be run on entities • Can be fired for different events• Sandbox– Level of protection for the server and data– Restricts the .NET calls available to the plugin– All Cloud deployed code runs in a sandbox
DEMO: COMPLEX CALCULATION PLUGIN
Interacting with CRM Online• Nearly identical to an On Prem installation• Authentication is the primary difference– Live ID is the default credential (other types are available)
• Understanding Authentication is key• Fiddler is great for debugging
http://www.infoq.com/articles/ws-standards-wcf-bustamante
Interacting with CRM Online• Live ID Authentication (on behalf of user)– Requires• Username• Password• Organization URL
• Object Model– AuthenticationProviderType.LiveId– Set User/Pass credentials– Microsoft.Crm.Services.Utility.DeviceIdManager.LoadOrRegisterDevice()
There be Dragons!
DEMO: ACCESSING CRM FROM THE CLOUD
Getting Data Out of CRM• No direct SQL Access for the Cloud• Asynchronous usage scenario– Examples• Portal Integration• Heavy calculation• Data Augmentation• Data Copy/Backup to another system
Getting Data Out of CRM – Azure Service Bus• Azure provides a shared queue– Reliability– Durability
• Workers can consume work– Processing can take as long as required
Cloud CRM and Azure Service Bus• Setup Azure – Access Control– Service Bus
• Setup CRM– Add Service Endpoint– Add Plugin to place in Service Bus
• Write Code to call Azure Service Bus
DEMO: CRM AND THE AZURE SERVICE BUS
Cloud CRM• Very similar to On Premise• Can Leverage other Cloud solutions• Can be Leveraged by other Cloud Solutions• Rich Platform to extend
Questions?