Try Microsoft Edge
A fast and secure browser that's designed for Windows 10
The current Blog post describes the most common challenges of the implementation of the Dynamics xRM platform and key Technical Decision Maker questions and/or concerns in topics such as:
Companies require Customer Engagement solutions like MS Dynamics CRM, however, challenges often arise with complex implementations, integrations with legacy systems, and lack of extensibility capabilities from these systems of engagement. How Dynamics CRM Online addresses these challenges?
QUICK EXTENSIBILITY – Reduce time to value and have application development resources focused on addressing high-growth market opportunities—not application infrastructure or frameworks.
Companies can reduce solution implementation times for customer engagement solutions such as Dynamics CRM leveraging Marketplace Industry templates. Dynamics CRM not only allows solution providers to create these templates for customers but companies can leverage the same tools and application platform components to create their own or build their customer experiences leveraging Click and Configure capabilities natively in the Dynamics CRM product.
Dynamics CRM multi-tier (n-tier) architecture allows separation of concerns for presentation, business, and data components/layers.
Software architecture is often described as the organization or structure of a system, where the system represents a collection of components that accomplish a specific function or set of functions. In other words, architecture is focused on organizing components to support specific functionality. This organization of functionality is often referred to as grouping components into “areas of concern.”
Dynamics CRM can be extended and configured for any vertical market. Companies can leverage Marketplace Industry templates to get up and running quickly in their Proof of Concept initiatives when testing out a new line of business customer engagement solution or reduce the implementation go-live duration (time to value) by leveraging these templates as starter industry specific components.
Click-n-Configure to build your Customer Experience
The Click and Configure Journey to building a customer experience using Dynamics CRM. This is an example of a “guide” for extending a customer experience using Dynamics CRM.
Starting point is the METADATA MODEL
Dynamics CRM uses metadata driven architecture to provide the flexibility to create custom entities and additional system entity attributes. This structure also makes upgrades and the transportation of customizations easier. The data structure can change without requiring any change to code in the Microsoft Dynamics CRM server or client applications.
After completing the metadata model activities we move to the BUSINESS RULES.
Business rules provide a simple declarative interface to implement and maintain business logic for an organization.
Moving to defining the BUSINESS SETTINGS to manage business units, selecting language options, default currency, and SLAs
You use the security model in Microsoft Dynamics CRM to protect the data integrity and privacy in a Microsoft Dynamics CRM organization. The security model also promotes efficient data access and collaboration. The goals of the model are as follows:
You combine business units, role-based security, record-based security, and field-based security to define the overall access to information that users have in your Microsoft Dynamics CRM organization.
Business users have access to their customer data using personalized Out-of-the-Box Dashboards, Views, and Reports. Business users are also empowered to create their own.
Language Preferences: The Microsoft Dynamics CRM Language Pack enables users to change the language of the user interface or Help that is displayed in the application.
Last mile (20%)
CUSTOMIZATION – this is where integration scenarios will influence the last mile of the desired customer experience. Dynamics CRM has multiple layers for integration and mash-up building capabilities explained in more detail later.
Presentation Layer – showcases Native UI and Customized UI using Mashups seamlessly into the Microsoft Dynamics CRM user interface. Create implementation specific customizations or modify the user experience. All client programming code is stored in the Microsoft Dynamics CRM database.
Services – Microsoft Dynamics CRM provides a dynamic Web service interface for applications to use to access and manipulate platform data, metadata, and to interact with platform services, implemented using the Windows Communication Foundation (WCF). These services allow you to write .NET applications using Microsoft Visual Studio or non-.NET applications using other developer tools by simply referencing the Web services. The Web services exposed by the platform are WSI BP 1.1 compliant. This compliance support makes the Web services interoperable with non-Microsoft platforms.
Configuration with Dynamics CRM metadata driven architecture provides the flexibility to create custom entities and additional system entity attributes. This structure also makes upgrades and the transportation of customizations easier. The data structure can change without requiring any change to code in the Microsoft Dynamics CRM server or client applications using Click and Configure designers.
Programming with Microsoft Dynamics CRM offers several programming paradigms designed to give you the flexibility to decide what works best for your needs. An early-bound entity data model has been added that includes an “object services” layer that integrates with the stack and exposes entity values as .NET Framework objects. You can also use the late-bound scenario.
Security – provides a security model that protects data integrity and privacy, and supports efficient data access and collaboration.
Data is stored implemented on top of SQL Server.
Metadata refers to the structure of entities used to manage data within Microsoft Dynamics CRM. All the information necessary for Microsoft Dynamics CRM to operate is stored in the Microsoft Dynamics CRM metadata. This includes information about entities, attributes, relationships, and option sets.
A very important role of the metadata is to provide the framework to deliver a fully metadata driven user interface. The entity metadata controls the grid and form layout, and how navigation options are presented.
When you create a custom entity, the information in the attributes and relationships are used to create the appropriate user interface for that entity.
In addition, this supports multiple languages in the user interface so that one user may see labels and other text in a different language from another user. These languages and the associated labels are stored in the metadata.
Developers and System Integrators need a central place for answers to their questions.
CRM Developer Center
Developer Center is designed to provide a central place for answers to Dynamics CRM Developers and System Integrators.
Dynamics CRM SDK
The SDK contains a wealth of resources, including code samples and serves as a guide for developers writing solutions, server-side code, client applications and extensions, custom business logic, plug-ins, integration modules, custom workflow modules and more. The SDK contains an architectural overview of Microsoft Dynamics CRM, the entity model, security model, web services, and sample code.
Build managed code using Visual Studio and the .NET Framework
Use Microsoft Visual Studio to build your managed code applications using .NET Framework 4.5.2 or later.
Code generation tool for early bound entity classes
Create a Microsoft Visual C# or Microsoft Visual Basic .NET output file that contains strongly-typed classes for entities in your organization. This includes custom entities and attributes. This output file contains one class for each entity, providing early binding and IntelliSense support in Microsoft Visual Studio to aid you as you write custom code. The generated classes are partial classes that can be extended with custom business logic in separate files. You can also create extensions to this tool.
Entity Metadata Browser
Use the Entity Metadata Browser to view entities and their properties in Microsoft Dynamics CRM.
Enhanced debugging experience with Microsoft Visual Studio
The Plug-in Profiler is a tool that profiles the execution of plug-ins and custom workflow activities for an enhanced debugging experience in Microsoft Visual Studio.
Solution Packager Tool for team development
The SolutionPackager tool, available in the Microsoft Dynamics CRM SDK download, resolves the problem of source code control and team development of solution files. The tool identifies individual components in the compressed solution file and extracts them out to individual files. The tool can also re-create a solution file by packing the files that had been previously extracted. This enables multiple people to work independently on a single solution and extract their changes into a common location. Because each component in the solution file is broken into multiple files, it becomes possible to merge customizations without overwriting prior changes. A secondary use of the SolutionPackager tool is that it can be invoked from an automated build process to generate a compressed solution file from previously extracted component files.
Custom Code Validation Tool
INTEGRATION – investments in deploying and maintaining line-of-business (LOB) software systems constitute a significant percentage of IT-related spending in the small and medium-sized businesses (SMB) and enterprise business segments. The vast majority of businesses invest in purchasing and integrating vendor offerings that best address the needs of their business model(s), industry vertical(s), and user requirements. Dynamics CRM offers different Layers for integration:
In Click and Configure fashion use the form designer in the customization tools to create and edit entity forms without a single line of code as well as first party integrations with InsideView, Microsoft Social Engagement, and Microsoft Dynamics Marketing.
CLIENT SIDE PROGRAMMING
Client Side SDK – client methods, properties, and events available
Client Side Context – Your code will need to operate in a context where a number of variables are not known at design time. The context object provides methods to retrieve information specific to an organization, a user, or parameters passed to a page.
Web Resources – represent files that can be used to extend the Microsoft Dynamics CRM web application such as html files, JScript, and Silverlight applications displaying date from different sources. You can use web resources in form customizations, the SiteMap, or the application ribbon because they can be referenced by using URL syntax.
Processes enable you to model real-life business processes.
There are four categories of processes you can choose from in when modeling your business practices:
The processes’ capability is implemented using Windows Workflow Foundation.
There are three ways to create business processes: interactively through the web application forms and the workflow designer, by writing code that uses workflow related classes, and by importing a pre-made workflow in a solution.
Custom Workflow Activities
Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online 2015 Update supports the registration and execution of custom workflow activities in addition to the out-of-box activities provided by Windows Workflow Foundation.
EXTEND BUSINESS LOGIC
Custom Business Logic –Business rules are designer based experiences that allow customizers to move common form logic away from form scripts so that they do not need to rely on developers. Business rules don’t replace form scripts or plug-ins. They provide a way for a person who isn’t a developer to apply common logic. The logic applied in the business rule can be quickly changed without editing code both for UI and Server based business rules.
Plug-ins & Event pipeline – Developers have the ability to extend or customize the functionality of Dynamics CRM through the integration of custom business logic (code). Developers can customize to support the way a company does business, and can add new features to Dynamics CRM. The technology that enables your custom code to be developed and integrated into the Microsoft Dynamics CRM server is called the event framework.
Server extensions – early and late bound – In Microsoft Dynamics CRM, you can mix early binding and late binding methods to work with both strong types and the Entity class. This approach uses both static metadata from a code-generated file of strong types with the flexibility of the Entity class and its helper methods. Code generation tool (CrmSvcUtil) creates early-bound entity classes that you can use to access business data in Microsoft Dynamics CRM. These classes include one class for each entity in your installation, including custom entities. Each time you make customizations to your system, you must regenerate these classes.
Azure Logic Apps – Logic apps enable you to develop and deliver powerful integration solutions with ease. With Azure’s hybrid connectivity options – bridge your cloud and on-premises worlds.
OData REST / SOAP API – ATOM/JSON Support
INTEGRATION COMPONENTS / MODULES
BUSINESS LOGIC DESIGNER
Metadata Driven Architecture – provides the flexibility to create custom entities and additional system entity attributes and also to make upgrades and enable transportation of solutions easier. This allows for changes in the data structure without requiring any change to code in Microsoft Dynamics CRM.
Entity Metadata Browser – view entities and their properties in Microsoft Dynamics CRM
DATA ACCESS – You can use .NET Language-Integrated Query (LINQ) in early and late binding scenarios, you can write queries by using FetchXML, the proprietary Microsoft Dynamics CRM query language, or you can build a query by using QueryExpression and the QueryExpression class.
Alternate Keys – All Microsoft Dynamics CRM records have unique identifiers defined as GUIDs. These are the primary key for each entity. When you need to integrate with an external data store, you might be able to add a column to the external database tables to contain a reference to the unique identifier in CRM. This allows you to have a local reference to link to the CRM record. However, sometimes you can’t modify the external database. With alternate keys you can now define an attribute in a CRM entity to correspond to a unique identifier (or unique combination of columns) used by the external data store. This alternate key can be used to uniquely identify a record in CRM in place of the primary key. You must be able to define which attributes represent a unique identity for your records. Once you identify the attributes that are unique to the entity, you can declare them as alternate keys through the customization UI or in the code
Change Tracking – The change tracking feature in Microsoft Dynamics CRM provides a way to keep the data synchronized in a performant way by detecting what data has changed since the data was initially extracted or last synchronized. Previously, without this new feature, it was difficult to build a reliable and efficient mechanism to determine what records had changed in CRM.
Upsert – You can reduce the complexity involved with data integration scenarios by using the UpsertRequest message. When loading data into Microsoft Dynamics CRM from an external system, for example in a bulk data integration scenario, you may not know if a record already exists in CRM. In such cases you won’t know if you should call an UpdateRequest or a CreateRequest operation. This results in your querying for the record first to determine if it exists before performing the appropriate operation. You can now reduce this complexity and load data into CRM more efficiently by using the new UpsertRequest (Update or Insert) message.
Optimistic Concurrency – On a multi-threaded and multi-user system like Microsoft Dynamics CRM, operations and data changes often happen in parallel. A problem arises when two or more update or delete operations on the same piece of data happen at the same time. This situation could potentially result in data loss. Microsoft Dynamics CRM provides the ability for your applications to detect whether an entity record has changed on the server in the time between when your application retrieved the record and when it tries to update or delete that record.
Role-Based – focuses on grouping a set of privileges together that describe the responsibilities (or tasks that can be performed) for a user.
Record-Based – focuses on access rights to specific records.
Field-Level – restricts access to specific high business impact fields in an entity only to specified users or teams.
Data Encryption in transit and at rest
Business Data Auditing
Organizations need to track changes made to business data for maintaining security, examining the history of a particular data record, documenting modifications for future analysis and record keeping, and being in compliance with regulations.
Duplicate Data Detection
To determine whether a record is a potential duplicate, Microsoft Dynamics CRM uses duplicate detection rules. For example, you detect duplicates by matching the record fields, such as email address, first name, and last name.
Bulk Data Functions – With bulk deletion you can perform the following operations:
To import large volumes of data, we recommend a programmatic way, as most efficient. When you import data programmatically, you gain additional capabilities that are not available when you use other methods of importing data. These advanced capabilities include viewing stored source data, accessing error logs and creating data maps that include complex transformation mapping, such as concatenation, split, and replace.
For smaller import jobs, you can use the Import Data Wizard tool included in the CRM web application.
COLLABORATION – empower internal and external teams with fast, easy, and familiar ways. Increase collaboration across your company leveraging the power of Dynamics CRM with Office 365. Collaborate, discuss topics and capture feedback in real-time using Contextual Conversation with Office 365 Groups and engage in real-time communications with customers, colleagues, and team members without leaving Microsoft Dynamics CRM.
Microsoft SharePoint Server is a collaboration and content management application that simplifies how people store, find, and share information. It helps people to collaborate effectively by having secure access to documents and information that they require to make business decisions.
The SharePoint integration feature enables you to store and manage documents on SharePoint in the context of a Microsoft Dynamics CRM record, and use the SharePoint document management abilities in Microsoft Dynamics CRM, such as checking the document in and out, viewing version history, and changing document properties. You can integrate with SharePoint in two ways:
Client-to-server integration with SharePoint: This requires you to install the Microsoft Dynamics CRM List Component in the sandboxed environment of SharePoint to have the SharePoint document management functionality within CRM. The client-to server integration is supported for both online and on-premises versions of CRM and SharePoint.
Server-to-server integration with SharePoint (CRM Online only): This does not require you to install the Microsoft Dynamics CRM List Component in the sandboxed environment of SharePoint or any other additional software to have the SharePoint document management functionality within CRM. After you enable server-based SharePoint integration for your organization, you can’t revert to the client-based authentication method. The server-based integration is supported for SharePoint Online, and SharePoint on-premises only if you have Microsoft Dynamics CRM Online 2015 Update 1.
Office 365 Groups
Office 365 Groups are a shared workspace for email, conversations, files, and events where group members can collectively get stuff done.
You can use Office 365 Groups to collaborate with people across your company – even if they don’t have access to Microsoft Dynamics CRM Online. You can create a group for your sales team and invite other Office 365 users to join the group, and then share documents, conversations, meeting notes, and OneNote information related to specific accounts or opportunities.
Millions of people use Microsoft Office Excel to analyze corporate data and create reports. Now you can use Microsoft Excel Online to do quick analysis, right from CRM Online.
Take advantage of all that Microsoft OneNote has to offer, directly from CRM Online. For example, when you’re on the go at a customer site, take notes on your Microsoft Surface or other mobile device while you’re viewing opportunity details. Capture photos, take voice notes, do free-form drawings and more. Everything is automatically linked with the opportunity record in CRM Online.
Microsoft Dynamics CRM already includes a full-featured CRM add-in for Microsoft Office Outlook called Microsoft Dynamics CRM for Outlook. Now you have the choice of using Dynamics CRM for Outlook or the new Dynamics CRM App for Outlook to track incoming email.
Skype for Business
Real-time communications with customers, colleagues, and team members without leaving Microsoft Dynamics CRM.
Track meetings as Activities in Microsoft Dynamics CRM.
Get Presence information for members of the same email domain you are signed in with in Skype for Businesss. For example, if you are signed in on Skype for Business with email@example.com, you will see presence for other @contoso.com members.
Yammer empowers employees to be more productive and successful by enabling them to collaborate easily, make decisions faster, and self-organize into teams to take on any business challenge. Integrate Yammer with Microsoft Dynamics CRM Online to add a social layer to your existing CRM tool and jumpstart collaboration.
Having a group conversation is a way to communicate with group members. The conversations section displays each message, where you can read, reply to, and create new conversations in the context of CRM entity records.
SECURITY – data integrity, privacy, and efficient data access and collaboration without compromise. The Microsoft Dynamics CRM Online security model protects data integrity and privacy as well as supporting efficient data access and collaboration.
The goals of the security model in Microsoft Dynamics CRM Online are to:
Microsoft Dynamics CRM Online ensures the security of data through the combined use of role based security, record-based security, and field-level security.
These features together provide organizations with the ability to define the overall security rights for users within their Microsoft Dynamics CRM Online organization.
The Microsoft Dynamics CRM Online security model protects data integrity and privacy as well as supporting efficient data access and collaboration.
ACCESS ANYWHERE – use any major supported internet browser, phone or tablet from Windows, iOS, and Android as well as Outlook while on the go:
In a mobile-first world, Microsoft Dynamics CRM enables business users to be productive anytime, anywhere! With apps for various mobile phones and tablets including Android, Windows, iPad …, you can get the right data at the right time on the right device of your choice.
The mobile apps are tailored to your configuration and dynamically adapt based on tablet and phone form factors. With Dynamics CRM, you can ‘configure once’ for your mobile users and your configuration are seamlessly ‘deployed everywhere’ across various devices. Any subsequent configuration changes are also cascaded to all devices.
For enterprises in regulatory compliance environments, our mobile apps provide the ability to secure CRM data in Mobile App Management (MAM) containers such as the ones from Microsoft Intune. Combined with the platform level security such as field-level access and security roles, organizations can have the peace of mind when deploying CRM for mobile users.
Developers can also create custom mobile solutions for specific scenarios with the mobile SDK. The SDK includes samples for various mobile platforms and frameworks including Microsoft Azure for scalable mobile extensibility.
INSIGHT – information that will help you find, understand, engage, and share using familiar Microsoft solutions such as PowerBI, Office 365, and Social Engagement:
To fully benefit from the power of data, organizations need to make it easy for all users to get access to the right data, at the right time, so they can make more informed decisions, while also giving IT the tools to manage data access, quality and compliance.
Business users can mine multiple data sources (ie. Relational, Non-Relational) with the right tools to discover, collaborate and share insight across your organization powered by Dynamics CRM Dashboards, Reports, Power BI, and Microsoft Social Engagement.
Find the records you want in Microsoft Dynamics CRM by using Advanced Find. You can also use Advanced Find to prepare data for export to Microsoft Office Excel so that you analyze, summarize, or aggregate data, or create PivotTables to view your data from different perspectives.
Create personalized dashboards and keep up on metrics that matter to you. Get a holistic view of all your data and empower your team to make quick, confident decisions.
Dashboards in Microsoft Dynamics CRM provide an overview of business data ‒ actionable information that’s viewable across the organization. Use a dashboard to see performance at a glance.
Microsoft Dynamics CRM includes reports that provide useful business information to the user. Microsoft Dynamics CRM also includes a Report Wizard that can be used to easily create reports in just a few steps without using XML or SQL-based queries. When you create a new report, share it with other people on your team or in your organization so that they can also benefit from it. There are several ways that you can share your new report with other people.
The Power BI for Office 365 cloud service works together with Microsoft Office Excel and Microsoft Dynamics CRM to provide a self-service analytics solution. Power BI now supports data refresh with Microsoft Dynamics CRM Online. With Excel for authoring reports and Power BI for sharing dashboards and refreshing data from Microsoft Dynamics CRM Online, sales and service personnel in your organization have a powerful new way to work with CRM data.
Your customers and stakeholders are talking about you on Facebook, Twitter, or blogs. How do you learn about it? In Microsoft Dynamics CRM, you can get powerful social insights by connecting Microsoft Dynamics CRM to Microsoft Social Engagement. Microsoft Social Engagement collects data from social media websites and presents it to you in charts and graphs that you can use to spot emerging trends in people’s comments, whether they’re positive, negative, or neutral. You can drill down into the data and see who is mentioning you, where they posted the comment, and exactly what they said. Armed with these insights, you can pinpoint what you’re doing right, and address potential issues before bigger problems arise.
With social insights, you bring social media data directly into CRM dashboards and entity forms.
DEPLOYMENT AND MANAGEMENT – reduce total cost of ownership; increase agility and global scale:
Public cloud and SaaS Services have gone mainstream. This statement is true for more and more enterprises and users every day. Just think how many different cloud based services and applications you are using for your personal and business needs.
The strengths of the Public Cloud, Speed, Scale and Economics are causing an increasing adoption.
Let’s take a closer look.
SPEED: Within hours instead of days/weeks you can procure and deploy CRM infrastructure that provides the necessary capabilities to your sales, service and marketing staff fast. You no longer have wait on new hardware to arrive, new network or storage to be provisioned or for you place in the queue. With CRM Online we take care of the heavy lifting from making sure the infrastructure is ready when you need it and ensuring that you have high availability and growth space where you want it – it’s a complete solution ready for you to use. This enables you to focus on what matters most – setting up your workflows, configuring your business users and tracking your deal, campaigns and service cases to increase revenue and improve customer satisfaction. Don’t become a victim to “shadow IT” where business units are resorting to using credit cards to procure computing resources outside of the purview of the IT, help your business move forward against the competition.
SCALE: Cloud gives you an almost infinite set of computing resources allowing you to reach your sales, marketing, and customer cares staff around the globe. You will enjoy massive global scale, and can easily scale up or down depending on your business growth. That means, you never have to worry about running out of capacity or worry about overprovisioning. You use just enough resources for your needs – nothing more, nothing less.
ECONOMICS: Less infrastructure to procure, less storage to buy and guaranteed high availability to meet your business needs. You pay for your users licenses and leave the infrastructure costs to us. This allows IT to become more strategic for the business and focus on integration and strategic services rather than installation. You also get a test environment that is ready for you so you save on the extra costs associated with dev/test environments. Lastly, updates are applied for you, we communicate with you when they are coming and we handle the implementation reducing the overhead for you while always keeping you on the most current version.
With the introduction of cloud computing, bring your own device, and the plethora of cloud first applications available in the marketplace, businesses must look to these new paradigms to help them create competitive differentiation. Some leverage the cloud to scale globally, allowing them to reach their users, customers, and partners within a matter of minutes; others choose to bypass the cost of building datacenters and upgrading hardware but prefer the control of administering cloud infrastructure components internally and others want to leverage SaaS applications to deliver must have productivity without the administrative burden to stay focused on their core competencies while leaving IT to the cloud provider.
Today more than ever, IT Leaders need to understand the requirements of their Business counterparts. The cloud enables new avenues for purchasing and implementing software faster than in the past which is assisting these leaders to eliminate IT from the decision making process. So how can today’s IT Leaders become a true partner instead of a guard?
You can delete Microsoft Dynamics CRM Online Sandbox instances to recover the licenses and storage space or to prevent them from being used by mistake. In order to delete a production instance, you must first switch to a Sandbox instance and then delete the Sandbox instance.
You can reset a Sandbox instance to delete and re-provision it. Consider a reset when you want to:
You may decide that your customization work developed and tested on a Sandbox instance is now ready to go live. You can easily switch the instance type to Production so all your users can access your CRM organization. When you configure or edit an instance, you can switch the instance from:
Only Administrator and System Customizer roles can access system
Administrators can edit properties of a Microsoft Dynamics CRM Online instance, such as the friendly name, URL, and the purpose. However, instances that are being provisioned cannot be edited, and disabled instances must be enabled before they can be edited.
You can use Copy instance in the CRM Online Administration Center to copy the CRM application and all data from any instance to a Sandbox instance. You can do either a full or minimal copy.
Minimal Copy only includes customizations & schema from source.
You can add production and non-production (Sandbox) instances to a Microsoft Dynamics CRM Online subscription. Each new instance creates a separate organization that can be used by different departments, locations, or for non-production purposes such as development.
About single tenant with multiple instances: