The document discusses different strategies for licensing CRM solutions and cloud services. It covers challenges with licensing, such as preventing unauthorized use while not punishing legitimate customers. It then describes strategies like using license keys tied to specific deployments and implementing public key cryptography. The document demonstrates how to generate and validate licenses. It also proposes using a "license wall" approach of putting solutions behind a check that authenticated customers can access online resources. The "license wall" is discussed as an easier alternative to generating license keys that avoids maintenance while allowing for subscription or user-based models.
1 of 28
Downloaded 30 times
More Related Content
Building a licensing strategy for CRM ISV Solutions
3. What are we going to cover?
# Licensing Challenges
# License Key Strategies for CRM Solutions
# License Key Strategies for Cloud
http://crmlicensing.codeplex.com
Connect + Learn = Grow
4. #1 Nothing is 100% safe. It can always
be hacked
Connect + Learn = Grow
8. License Keys
Token to enable your solution
Only you should be able to generate it
Tied to a specific customer / deployment
Connect + Learn = Grow
9. Public Key Cryptography
Cryptography -> Base for licensing
Private key is not good enough
Public Key encryption enables signing
Connect + Learn = Grow
13. What are we going to cover?
# Licensing Challenges
# License Key Strategies for CRM Solutions
# License Key Strategies for Cloud
Connect + Learn = Grow
14. How to validate the license in CRM?
License storage/installation
Web Resource license checks
.Net code license checks
Connect + Learn = Grow
15. Demo Scenario
The EU VAT Checker
Solution
Using the VIES service
from the EU
Allow to Check for Valid
VAT and Enrich Account
data with addresses
Connect + Learn = Grow
16. License Storage & Installation
Store the license as a web resource
XML File containing the license
Clean & No need to create custom entities
Needs publishing
Configuration page
Simple HTML Page
Create/update license
Connect + Learn = Grow
17. Web Resource / UI License
Checks
JavaScript Library
Download License and Public Key
Validate the License using Public Key
Act on the results
Web Resources / Forms
Include the JavaScript library
<script src=/slideshow/building-a-licensing-strategy-for-crm-isv-solutions/16339660/"../Scripts/crmlicensing.lib.auto.min.js"
type="text/javascript"></script>
Connect + Learn = Grow
18. Plug-in Checks
Similar as JavaScript
Validate the License using
Public Key & Act on the
results
But
Cache the result to avoid
penalising plugins
Use a Abstract Class to
implement the plumbing
Connect + Learn = Grow
19. Building a fictitious ISV add-on solution to validate EU VAT
numbers and implementing the license checks
DEMO: A LICENSED SOLUTION
Connect + Learn = Grow
20. What are we going to cover?
# Licensing Challenges
# License Key Strategies for CRM Solutions
# License Key Strategies for Cloud
Connect + Learn = Grow
21. Lets forget the licenses
Generating licenses requires lots of Work
Generate Licenses
Replace them
Support calls
What if we use something easier?
Connect + Learn = Grow
23. Building a License Wall
Put part of your solution behind a License
Wall
Natural for Web Resources
Can be used for .Net code
Only licensed CRM instances can access
the resources
Connect + Learn = Grow
24. How to create a license wall in 10 minutes using Windows Azure
DEMO: LICENSE WALL
Connect + Learn = Grow
25. License Wall Pros & Cons
Pros
No requirement to generate license
Easier to maintain / update
Enables new license models
Subscriptions, User based, etc.
Cons
Requires internet access
Connect + Learn = Grow
26. What have we covered?
# Licensing Challenges
# License Key Strategies for CRM Solutions
# License Key Strategies for Cloud
http://crmlicensing.codeplex.com
Connect + Learn = Grow
27. Marco Amoedo
Microsoft
@marcoamoedo
Thank You to all of our Sponsors and thank YOU for attending
eXtremeCRM 2013 Rome!
Session evaluation surveys are online! Check your email or to to:
http://www.extremecrm.com/Pages/2013RomeSurvey.aspx
Complete prior to the closing session to be included in todays drawing!
Connect + Learn = Grow
7 minutesStart WPF AppAdd the UIThen add code to generate the license keysAdd the encrypt codeVerify
15 minutesConfiguration PageCheck for .lic fileUpload .licPublish request (using guid)Licensed Web ResourceExplain the setup with the minimiserExplain the issue about RSA.JSShow the code for the auto checkerExplain how to customiseLicensed PluginExplain basic ideaWhy needs a base class and hold the result in memory