6279 Tuesday, July 12, 2016 |
Suresh Maurya
Dynamics CRM Consultant at IBM

Difference between Web API, Organization service and Organization Data service in Microsoft Dynamics CRM

Web API

Web API is introduced with Microsoft Dynamics CRM 2016 and will provide parity with the Organization service.

Key points about Web API:

  • Web API provides parity with Organization service with some limitations.
  •  It implements  OData (Open Data Protocol) version 4.0 which is an open standard for building and consuming RESTful APIs over rich data sources like DOC, HTML and PDF.
  • Because Web API is built on open standards therefore it's no necessary to use Microsoft Dynamics CRM provided libraries, third-party libraries can be used to generate classes. 
  • You can compose own Http requests as well. 
  • Wep API supports wide variety of programming languages (including .Net, C++, Java, JavaScript, Python), platforms and devices as compared to Organization service.
  • Web API will gradually replace Organization service and Organization Data service to become single web service for Microsoft Dynamics CRM.
  • Wep API Request and Response have JSON format, so its very easy to work with Wep API from JavaScript.
  • Authentication is provided by the application itself when used within web resources, form scripts and ribbon commands. 
  • Maximum 5000 records can be return for each request.

Organization Service

Organization service is available since Microsoft Dynamics CRM 2011 and is mainly used for server side development i.e. code running on Microsoft Dynamics CRM server.

Key points about Organization service:

  • Implements IOrganizationService interface.
  • Organization service is also know as SOAP endpoint.
  • Microsoft Dynamics CRM uses Windows Communication Foundation (WCF) to SOAP endpoint.
  • It is the primary web service for accessing data and metadata from Microsoft Dynamics CRM organization.
  • It is built on WCF and optimized for use with the .Net.
  • Organization service request and response has SOAP format.
  • Microsoft Dynamics CRM SDK provides assemblies and tools to generate strongly typed classes and proxies to simplify developement in Microsoft Visual Studio.
  • Maximum 5000 records can be returned in a single query.

Organization Data Service

Organization Data service is available since Microsoft Dynamics CRM 2011 and is mainly used for client side development (code running in browser)  using JavaScript. 

It supports JSON format for request and response which can be easily handled from JavaScript, therefore this is preferred service for client side development.  

Key points about Organization Data service:

  • It is preferred service for client-side development.
  • Organization Data service is also known as "OData" or "REST" endpoint.
  • Microsoft Dynamics CRM uses Windows Communication Foundation (WCF) to provide REST-based service.
  • It supports JSON and ATOM format.
  • Organization Data service can be used within Web resources, form scripts and ribbon commands.
  • Authentication is provided by the application itself, no need to write authentication code.
  • It implements OData v2 standard.
  • It is deprecated with Microsoft Dynamics CRM 2016, Web API should be used to support Microsoft Dynamics CRM 2016 and future versions.
  • It can return maximum 50 records in a single retrieve operation.
  • It is much fatser as comared to Organization service, because less bytes in JSON message in comparison to SOAP message.

 

SYED ABUZAR
very helpful info bo....
Suresh Maurya
Thanks

Dynamics CRM 2011 Goals - Sales Goals

This will show you how to create a sales goal suitable for an individual sales rep, and then how to create a team goal. The team goal demo illustrates the important and initially confusing concept of a "Rollup Query".
 

 

Microsoft Dynamics CRM: Entering a Case

Folder Level Tracking in CRM Online 2015 Update 1

Tracking email activities is key to successful customer engagement, from sales to service. In this video, we'll walk you through setting up folder level tracking to simplify and automate email tracking, which improves end-user productivity and helps to drive positive customer engagement. For more information, visit http://www.microsoft.com/en-us/dynamics/crm-customer-center/default.aspx and http://go.microsoft.com/fwlink/?LinkId=394323

Record Type: Order

Order

  • Represenst a Confirm Order
  • Converts to Invoice

Early Bound Programming in Microsoft Dynamics CRM

Early-Bound: In early-bound programming type-checking and binding happens at compile time.

Early Bound Programming in Microsoft Dynamics CRM

In Microsoft Dynamic CRM, the code generation tool (CrmSvcUtil, available in SDK) generates strongly-typed classes for early-bound programming. These classes can be used in applications that use Microsoft Dynamics CRM as well as plug-ins and custom workflow activities.

Generated classes include all entities, attributes and relationships. 

Each time you make customizations to your system, you must regenerate these classes.  

Advantages of early-bound programming

  • All type references are checked at compile time.
  • Much faster development as compared to late-bound.
  • Intellisense support in Visual Studio.

Disadvantages of early-bound programming 

  • Early-bound classes needs to be regenerated, each time you customize your system.
  • Slightly slow performance as compared to late-bound.

Early-bound performance

Early-bound classes are wrapper to late-bound classes because of this serialization costs increases as these entities are converted to late bound types during transmission over the network.

This performance difference is extremely small and can be neglected.

Data visualization Dynamics CRM 2011

Siddhartha Rai is the Program Manager for Business Intelligence within Microsoft Dynamics CRM 2011. He helped design and build one of the most exciting new features areas in Microsoft Dynamics CRM 2011: Inline Data Visualization. This introduces a new generation of dashboards that can be built by line managers on the fly and used to drill through their data."

Web API in Microsoft Dynamics CRM

Web API is introduced with Microsoft Dynamics CRM 2016 and will provide parity with the Organization service.

Key points about Web API:

  • Web API provides parity with Organization service with some limitations.
  •  It implements  OData (Open Data Protocol) version 4.0 which is an open standard for building and consuming RESTful APIs over rich data sources like DOC, HTML and PDF.
  • Because Web API is built on open standards therefore it's no necessary to use Microsoft Dynamics CRM provided libraries, third-party libraries can be used to generate classes. 
  • You can compose own Http requests as well. 
  • Wep API supports wide variety of programming languages (including .Net, C++, Java, JavaScript, Python), platforms and devices as compared to Organization service.
  • Web API will gradually replace Organization service and Organization Data service to become single web service for Microsoft Dynamics CRM.
  • Wep API Request and Response have JSON format, so its very easy to work with Wep API from JavaScript.
  • Authentication is provided by the application itself when used within web resources, form scripts and ribbon commands. 
  • Maximum 5000 records can be return for each request.

Web API Authentication 

Web API authentication with JavaScript

Authentication to Web API in JavaScript is provided by the application itself when used within

  • HTML web resources
  • Form Scripts
  • Ribbon Commands

you don't need to write code for that.

In each of these cases user is already authenticated and authentication is managed by the application.

 

Microsoft Dynamics CRM 2011: Sharing an Opportunity

Automatically translate knowledge articles

Knowledge Management in Microsoft Dynamics CRM 2016 lets you create knowledge articles in one language and  translate them into other languages. Having your knowledge articles available in the different languages of your user base greatly increases the impact of the knowledge you maintain. In turn, this has a positive impact in driving employee and customer self-service scenarios.

Currently when you translate a knowledge article, CRM copies all the related information like Title, Keywords, Description, and Content into the translated version of the article. For example, when you translate an English article into Spanish, CRM copies the English article content into the Spanish article. At that point, you can manually translate the Spanish version.

Manual translation is expensive

While translating your knowledge base to help your users sounds like a great idea, the cost of translation prevents most companies from making it a reality. Translating content can be a significant investment for small or medium business owners.

Introducing automatic translation

Automatic Translation is a sample solution you can download and configure to enable Knowledge Managers in your organization to author and translate articles using machine translation. The sample solution can be downloaded from the Git repository. In the sample solution, we leverage the power of the Microsoft Translator API. Your Knowledge Managers can instantly make their knowledge available to all your customers in a matter of few clicks. This also drastically reduces your company’s translation cost.

How do I configure the Automatic Translation sample solution?

Download the Automatic Translation sample solution from the Git repository and import the managed solution into your CRM organization. The solution adds a sitemap entry for the AutomaticKMTranslationSetting entity under Service. This helps you manage Automatic Translation-related settings. As part of the initial configuration, you need to enter your Microsoft Translate API ClienID and Client Secret. The plugins use this to translate content with Microsoft Translate API using your subscription.

Please see Signing Up for Microsoft Translator to sign up for the Microsoft Translator API. At this time, you can take advantage of a free 2 million characters per month subscription available to all users.

Currently, the Automatic Translation sample solution persists the Microsoft Translator API key in plain text. You can use the permission model of CRM to restrict access to the , or you can use SQL data encryption options.

To automatically translate knowledge articles when you create a knowledge article translation, make sure that IsAutoTranslationEnabledis set to Yes.

01 - Translate Knowledge Articles

 

02 - Translate Knowledge Articles

 

How it works

The sample solution registers the AutoTranslationPlugin for the Create message of the KnowledgeArticle entity. It is a registered pre-operation in the event pipeline in a synchronous execution mode. When you create a knowledge article translation, the plugin is triggered. From the schema model of the KnowledgeArticle entity, the plugin identifies if it is a translation that is being created and from which language it is being translated from. All these details are passed to the Microsoft Translator API. The Microsoft Translator API respects the HTML fragments in your content and only translates the non-HTML content. Currently, the plugin handles the auto translation of the Title, Content, Description, and Keywords fields of the translation that is being created. You can modify the plugin to handle translation of other custom fields that you might be interested in.

On-demand translation

The solution also supports the translation of content on demand. For example, if you have created a Spanish translation for an English article, you can enter English text in the Spanish article to translate it with .

03 - Translate Knowledge Articles

What is the difference between managed and un-managed solutions?

  1. A managed solution is a completed solution that is intended to be distributed and installed.
  2. An unmanaged solution is one that is still under development or is not intended to be distributed.
  3. Managed solutions can also be layered on top of other managed solutions.
  4. Any unmanaged customized solution component can be associated with any number of unmanaged solutions.
  5. Deleting a managed solution will uninstall all of the solutions components.
  6. Unmanaged solutions are references to customizable solution components in the organization.
  7. Think of unmanaged solutions as source code and think of managed solutions as compiled, versioned and signed assemblies.
  8. Unmanaged
    1. Add components.
    2. Remove components.
    3. Delete components that allow for deletion.
    4. Export and import the unmanaged solution.
    5. Export the solution as a managed solution.
  9.  Managed
    1. You cannot add or remove solution components in a managed solution.
    2. You cannot export a managed solution.
    3. Deleting a managed solution uninstalls all the solution components within it.
    4. After you generate a managed solution, you cannot install it in the same Microsoft Dynamics CRM organization that contains the unmanaged solution.