TechFuse 2012 Presentation: Microsoft CRM online development session

Post on 01-Nov-2014

673 views 2 download

Tags:

description

TechFuse presentation on how and why to develop with Microsoft CRM Online. Presented by Neil Iverson and Bart Sneary from Avtex.

transcript

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?