Sunday 3 May 2020

Fundamentals of Dynamics 365, Power Platform and Common Data Service with Real Life Examples



Introduction

Hi Everyone,

Welcome to the Power Guide Mentorship Program.

As per the reader's demand, Today I would like to share some fundamentals concepts of Dynamics 365, Power Platform, Common Data Service, Common Data Model, and many more interesting topics with Real-Life Examples.

Nowadays, It is a very common practice that we start using the Advanced Features of the technologies just because it is required in our project or fulfills the requirement, without knowing its fundamental need and actual use of it. Which often leads to poor system design and architecture.

I know there are several articles available on the Internet, which tells you everything about these topics, however, you often find very fewer articles that tell you the fundamentals of the same.

Without wasting the time let's start today's fundamental session !!


What is CRM?

CRM stands for Customer Relationship Management.

Every Industry/Company/Organisation in this whole world work for their Customers and they leave no stone unturned to maintain a good relationship with them. Because the growth of any industry is directly proportional to its customers.

Hence, maintain a good and healthy relationship with our Customers is one of the key goals and objectives of any industry.

And, the process to manage the relationship with the customers is called Customer Relationship Management.


How can any industry or organization manage the relationship with their Customers?

There are different ways to improve and manage the customer relationship. Mostly every organization whether its a Banking sector, Healthcare Sector, Education Sector, Utility Sector, Investment Sector, Insurance Sector, etc. Their main focus is -

  • How to improve Sales and Identify new opportunity
  • How to improve Customer Service or Support
  • How to track the customer issues and provide the solution as quickly as possible
  • How to manage marketing and campaigns
  • How to maintain a central repository of all customer information for easy access to data
  • How to deal with security and compliance while storing the Customer data especially in cloud
  • How to improve Customer Interaction
  • How to improve organization productivity and resource utilization.
  • ....
  • ...
  • many more...


And, you can imagine, without a proper tool or system it is very difficult to fulfill the above demands, stay connected to customers, streamline processes, and improve profitability.

Hence, various product-based companies launched their own CRM system in the Market that helps businesses to manage the relationships with their customers that drive success.

Few of the CRM system available in the market are:

  • Salesforce
  • HubSpot CRM
  • Pipedrive
  • Insightly
  • Freshsales
  • Zoho CRM
  • Sugar CRM
  • SIEBEL
  • SAP
And Microsoft Dynamics CRM is one of them, which is developed by Microsoft.


Can any organization run its business without using the CRM system?

In this era of digital, the Internet is the backbone of every communication. In this context, CRM does not just aim to provide an organization with a clear and detailed analysis of each customer's habits and preferences but also helps make personalization and automated messaging smoother and efficient.


With rising competition and the introduction of disruptive technologies, companies need to focus on driving an enterprise-wide digital transformation.

Today every customer expects the Sales and Support to run on their fingertips. So without having a proper system or tool in place, it is very difficult to run your business and maintain an effective relationship with our customers.

There could be the following difficulties if there is no CRM system in place:
  • More administration means less time for everything else.
  • Difficult to store and manage customer information
  • Lack of Automation, like schedule meetings, followup with customers, alerts, and notifications.
  • Prioritize and Identify Customer Needs
  • Analyze customer data
  • No accountability, Slow or unsatisfactory response and increase turn around time
  • Communication could be missed or lost in the flood of information 
  • No Social Media Integration
  • No Omnichannel Integrations like IVR, Chat, SMS, Email, etc.
  • No Artificial Intelligence support
  • Hard to create reports and data insights
  • Lack of oversight can also result in a lack of accountability from the team.


What is Microsoft Dynamics CRM?

Microsoft Dynamics CRM is a CRM product launched by Microsoft,

Let's go back in history and see the whole journey of this product.

Microsoft Dynamics CRM first began in 2001 with the acquisition of iCommunicate, a web-based CRM company with only 10 employees. With this collaboration, the development of a modern, web-based CRM application began to form.

Microsoft released its first CRM product in the Market

In January 2003 and named it “Microsoft Business Solutions Customer Relationship Management 1.0”

In 2005, Microsoft released a new version of CRM called Microsoft Dynamics CRM 3.0.

In December 2007,  Microsoft Dynamics CRM  4.0 was introduced.

In February 2010, Microsoft Dynamics CRM 2011 was introduced.

In July 2013, Microsoft Dynamics 2013 was introduced

In September 2014, Microsoft Dynamics 2015 was introduced.

In November 2015, Microsoft Dynamics 2016 was introduced.

In October 2018, Microsoft Dynamics 365 was introduced.


What is Dynamics 365?

If you have seen the history of Microsoft Dynamics CRM. Until 2015, it was called Microsoft Dynamics CRM, however, in 2018, Microsoft renamed it to Dynamics 365.

Let me explain why Microsoft now calls this Product Dynamics 365.

Earlier Microsoft Dynamics was an all-in-one business solution for everyone. It was composed of two main branches namely CRM or Customer Relationship Management and ERP or Enterprise Resources Planning which is both profitable and can increase the overall business success.

Where Microsoft Dynamics ERP itself had 4 products

  • Dynamics NAV
  • Dynamics AX
  • Dynamics GP
  • Dynamics SL
and Microsoft Dynamics CRM was the only product to manage the customer relationship.

Difference Between ERP and CRM?

Those who don't know the difference between ERP and CRM, here is a basic difference between these two:

ERP and CRM have a similar aim - How to enhance the business profit however, they still differ with functionality. 
  • CRM is described as a system that stores and records everything that is related to customer interactions to improve the business profit. While, ERP creates processes that reduce costs while enhancing profits. It focuses on the inside operation of the business
  • CRM focuses and works on customer relations which is outside the company. Customer is the main source of success, therefore, businesses must offer high quality of customer care. While, ERP works on the core of the business. It includes process cutting costs, giving information to employees to keep them working on their tasks, and completing a certain process or production in the shortest possible period.
Example - If a Car is an organisation then Car Engine is a CRM and Steering Wheel is an ERP.

CRM will be your engine and it will drive your business as it increases sales and improves profits. ERP will be the steering wheel which will guide you with precision. CRM and ERP work together not just for the owners but also for the employees.




So basically there are a total of five products launched by Microsoft. Dynamics NAV, Dynamics AX, Dynamics GP, and Dynamics SL, all ERP software; and Dynamics CRM.

Now, in 2018, Microsoft has merged a few of its ERP and CRM products and launched a new version of a product called Dynamics 365.

That means,

Dynamics 365 = Microsoft Dynamics ERP (Dynamics AX and Dynamics NAV) + Microsoft Dynamics CRM

Dynamics AX has now become Dynamics 365 Finance & Operations and
Dynamics NAV has now revamped to Dynamics 365 Business Central

Note: Dynamics GP and Dynamics SL remain standalone products, they are not part of Dynamics 365.

With the release of Dynamics 365, all the ERP and CRM products have now become App.

Hence, what was previously sold as Dynamics CRM has now been split into various Apps. Customers can now purchase only specific apps based on their business needs.

  • Dynamics 365 Sales, 
  • Dynamics 365 Customer Service, 
  • Dynamics 365 Marketing
  • Dynamics 365 Customer Insights
  • Dynamics 365 Field Service
  • Dynamics 365 Project Service Automation.
  • Dynamics 365 Talent
  • Dynamics 365 Retail
  • Dynamics 365 HR
  • Dynamics 365 Finance & Operation
  • Dynamics 365 Asset Management.
  • Dynamics 365 Business Central

Several more apps are scheduled for release in the future.


Is it possible to create my own App and Module from scratch and customize it according to my business need?

To provide this capability, Microsoft came up with a new idea called Power Platform, which allows any business to create a robust solution based on their organization's needs.

How interesting it is !!

Power Platform:  "Adapt. Now more than ever."

Let's dig into more details and understand about Power Platform.


What is the Power Platform?


"Powerful Alone, Better Together"


One of the major limitations of Microsoft Dynamics CRM was:

  • UI Restrictions - Doesn't allow to change the CRM UI as per your need.
  • Scalability -  Cannot create your own module and application from scratch based on your business need. Only allowed to design the application using OOB components of Dynamics CRM
  • Integration - No central repository, due to which integration used to be very complex.
  • Slow Upgrade Process -  Microsoft rapidly innovate, update and release new products and solutions and earlier it was very difficult to upgrade the systems with the same pace

Now, the biggest change that Microsoft ever did in Microsoft History by introducing a new Powerful  Platform called Power Platform. This is a One App Platform for Office 365 and Dynamics 365

According to Microsoft CEO Satya Nadella “For the first time in fact, in our own Microsoft history, we have an extensibility model that is the same for Office 365 and Dynamics 365. This has been a dream of mine for, I don’t know, for 15 years probably. And we are finally here and we are executing super well.”


Let's understand how Power Platform gives everyone the ability to create solutions that accelerate business

In order to design any application or system what is the most important feature required?

  • User Interface (UI) - To design Web UI, Mobile UI, Tablet UI, etc


  • Business Logic and Automation - To perform validation, complex business logic, Integrations, and automate the business process, etc.


  • Analytics and Reports - Graphical Representation and data-driven insights.
  • Chat BOT - To provide chat feature with customer and employee

Hence to keep the above mandatory features in mind, 

Microsoft introduced ‘Power Platform’, which is a collective term for four Microsoft products: PowerApps, Power Automate, Power BI and Power Virtual Agent


"The world needs great solutions. Build yours faster."
  • Power Apps (UI Design) - Turn ideas into organizational solutions by enabling everyone to build custom apps that solve business challenges. Build apps in hours—not months that easily connect to data, use Excel-like expressions to add logic, and run on the web, iOS, and Android devices. Learn More
    • Model-Driven App - To design the Web-Based App for Internal Users
    • Canvas App - To design the Tablet and Mobile App
    • PowerApps Portal - To design customer portal for Internal/External Users both




"Take care of what's important. Automate the rest."
  • Power Automate (Business Logic and Automation) - Boost business productivity to get more done by giving everyone the ability to automate organizational processes. Unify data from many sources to create interactive, immersive dashboards and reports that provide actionable insights and drive business results. Learn More



"Find clarity when you need it most"
  • Power BI (Analytics and Reports) - Make informed, confident business decisions by putting data-driven insights into everyone’s hands. Include powerful workflow automation directly in your apps with a no-code approach that connects to hundreds of popular apps and services. Learn More



"Build the extra help you need"
  • Power Virtual Agents (Chat BOT) - Easily build chatbots to engage conversationally with your customers and employees—no coding required. Learn More



How does it work - Real Life Example?








Let's understand the importance and concept of power platform with a real-life example

MSStore is Retail Company, which sells electronic items Online and at Store both.

Arpit is an Employee of MSStore Company, who deals with their customers who either order items online and purchase items by visiting at the store.

David is a Customer, who wants to order items online.

If I decide to design a solution using Power Platform, I can create a Retail App (PowerApps) for Company's internal employees, which can be accessed through Web, Mobile, and Tablet.

Web App can be accessed by the MSStore employees who are dealing with customers in the store. Customers can interact with MSStore employees through various channels like phonecall, emails to order items, raise complaints, inquiries, order status, etc

Mobile or Tablet App can be accessed by a delivery boy or field workers who are traveling at a customer location for home delivery, for collecting defected products or return items, etc.

Power Automate can be used :

- To send an order confirmation to the customer either by Email or SMS, 
- To create requests in the system like order status request, order return request, order refund request, etc
- To automate the assignment of request to other teams and get the manager approval, especially in case of a refund.
- To generate order receipt in PDF format or Word format and send it to the customer.
- To integrate the App with other systems like Outlook (for email communication), SharePoint (to store any documents, product images, order receipt, etc)

Power Virtual Agent (Chat BOT) can be embedded in MSStore Website so that customers can directly chat with Virtual Chat BOT and get their Order Status, Request for Refund, Request for the product return, for any FAQs, complaints, and Escalation. 
Power Virtual Agent combination with Power Automate provides automation. This will help to reduce the employee's overhead to deal with customer's requests.

Power BI can obviously be used to provide customer's data insights, reports, analytics, and dashboard. For example - It also helps to visualize - which items are being sold most and at what volume, net revenue generated from sales, analyze product quality based on feedback received from customers, employee performance, sales target achieved, etc which will help to improve the sales performance

So, you have seen how Power Platform helps organizations to drive their business with ease and provide so many existing features without writing a single line of code.

One of the major advantages of the Power Platform is, it provides a Low Code No Code solution, which,
  • Saves businesses time and money that would otherwise be spent submitting IT requests or hiring developers
  • IT departments and developers are able to focus on more important tasks, rather than manual.
  • Employees have the ability to become citizen developers and to feel more empowered in their roles

Power Platform Architecture?



After having so much detailed discussion about Power Platform, Let see how Power Platform Architecture looks like. 

As per the architecture, you can imagine the Power of Power Platform. It provides a common platform for Office 365, Dynamics 365, Azure and for Your Custom Apps and Solutions

Dynamics 365, is just a small component of it. which uses the Power Platform to designed the Apps and offers to their customers. Now, you can imagine, Why the Power Platform is so important and give everyone the ability to create solutions that accelerate business.

One of the key components of this Architecture is Azure. You might have a question in your mind, what is the Relation of Azure with Power Platform?


Relation between Azure and Power Platform?




To understand, the role of Azure in Power Platform. Let's see the architecture of Power Platform from a Developer perspective.

Microsoft has introduced the concept of Power Platform to provide Low Code No Code capabilities that mean, most of the business solutions could easily be designed by business people, non-developers, or by the people who has zero coding knowledge rather hiring a core developer unless an organization actually need to implement some complex business logic and integrations.

Power Platform uses components like PowerPoint that you can easily drag and drop in order to design the screen and use formula or query like Excel to perform the operation in data sources.

Azure is the backbone of the whole Power Platform. Everything you see in Power Platform is hosted and managed by Azure only like PowerApps, Power BI, Power Automate, and Power Virtual Agent. However, from the end-user and/or administrator standpoint, there is not a lot of control over how exactly it’s running there.

Additionally, it’s up to Microsoft to ensure that the Power Platform is running smoothly, so we, Power Platform users/admins, don’t need to worry about it unless we really required to interact with Azure Components like Azure Functions, Cognitive Services, Azure SQL, Azure Data lake, etc

As per the above Architecture, there are three major areas of Power Platform, where an organization required to interact with Azure Components:
  • Hosting and Azure Services - Non-Developers - Power Platform uses Azure services and resources to host and create PowerApps, Power Automate, Power BI, and Power Virtual Agents.
  • Boosting Productivity for Pro-Developers - Developers can now automatically and easily connect to Azure resources from inside of PowerApps and Power Automate. For Example - Call Azure Functions, Perform operations in Azure Active Directory using Microsoft Graph API, etc.
  • Rich Application Life Cycle Management -  Provide Azure DevOps CI/CD capabilities to automate solution deployment along with powerapps, power automates, and enables continuous and other Power Platform projects. 

One more important key component of Power Platform is a Common Data Model + Common Data Service. Let's understand what is the significance of that...


Common Data Model and Common Data Service?

Till now, we have only discussed about - 
  • How to Analyze the data (using Power BI)
  • How to Act on data (using Power Apps) and 
  • How to Automate (using Power Automate) the data.
However, we didn't discuss about -
  • How to Manage the data
  • How to Store the Data.
Data models define how the logical structure of a database is modeled. Data models define how data is connected to each other and how they are processed and stored inside the system. 

Data is a Heart of the Digital Transformation. You cannot drive your business, without having proper management of your customer and organization data.





Let's understand some common business problems nowadays related to the data:
  • Multiple Data Sources without having a Common Data Model in place
  • No single point of information
  • Each System got its own data model
  • No unified reference for Business Applications
  • No secure way to secure database for internet
  • No easy way to  Migrate or follow the product evolution

Let's understand this problem with one real-time scenario. MSStore is a Retail Company, where customer's information is distributed in multiple databases. For Example, Marketing data is stored in the Marketing database, sales data is stored in the sales database, same for support, documents, and communication-related information (email, phone call, appointment, etc) is stored in the different-different data sources.

And each data source has its own data model (database, table, fields properties, and structure).

Let say if the customer's full name is Arpit Shrivastava. And each database has its own data model to store the full name like the Marketing system has Name field, Finance Database has a Person Name field and Sales Database has a Customer field same for other databases. So you can imagine how data is siloed among different data sources.

Customer is same, his name is same, but the information is scattered across multiple data sources.























Now Imagine, If I have to design a dashboard/reports or customer 360-degree view. I 'll have to interact with multiple data sources to collect customer information.




Before the introduction of Power Platform, The same problem was with Microsoft Dynamics CRM as well, where ERP and CRM were two different products, and a customer's data is often siloed within multiple systems, and sharing information between software platforms was very difficult, often impossible, without extensive customization.

That’s where the Common Data Model comes in, and why it was needed. Microsoft created the Common Data Model to act as a secure database, where business information can not only be stored in a central repository but standardized, allowing information to be unified across a number of apps.

There are currently over 120 pre-set standard entities, with new entries added on a regular basis. Of course, the whole point of the CDM is to have standardized entries that can be eternally and globally understood.

This data model can, however, extend and create new entities to meet their unique needs, without having to worry about breaking or disrupting pre-existing connections with other apps.

How Common Data Model solves the problem?


Common Data Model solves this problem by creating a Common Data Model of all most commonly used business entities (like contact, account, lead, opportunity, email, phone call, etc) stitching the data together that is distributed among multiple sources into one common data source called Common Data Service.

Common Data Model offers a set of standard definitions, or “entities”. Though each application may have a different way of recording, labeling, and structuring data, the regulated entities in the CDM disambiguate data coming from differing sources by mapping it to universally-agreed entities from its library. By using these key-type entities, all apps can recognize, understand, and communicate the information held in the Common Data Model’s “data lake”.

Common Data Model allows apps to integrate and share data with each other without the need for extensive, custom integration by providing a centralized point where systems can come together and connect, and bridging the gap between repositories of information once divided by a digital language barrier.

Hence, In Laymen Language - 

Common Data Service - is a database.

Common Data Model - is a table (entity) model/structure within the database.

Now, Let's understand the concept of CDM and CDS from the Dynamics CRM perspective.

Earlier, Microsoft Dynamics ERP and Microsoft Dynamics CRM were two different applications, And each application store and process the data in a similar fashion but still they have their own databases and follow the different data models. So, in case if the ERP system needs data from CRM and vice-versa, they had to deal with complex integrations with extensive customizations. 

Also, Both the systems will have some common entities as well like Currency, Contact, Account, Email, Phone Call, etc.

Now if my organization has purchased a license of ERP and CRM both and on top of it I have to design any custom applications or design dashboard/reports, where I have to show Account, Contact, and Email data, I have to integrate my custom application with ERP and CRM both however the data stored in both the application is common and of the same customer.

That's where Dynamics 365 comes into the picture, which combines both ERP and CRM as a common application and offers a common platform for all ERP Apps like Finance and Operations and CRM App like Sales App, Service App, Marketing App, etc

“Whether users are working within the Dynamics 365 landscape or custom applications, the Common Data Service offers a great way to manage data between applications that have overlapping entities,” “The Common Data Service can ensure that any change made in an ERP app — for example, Dynamics 365 for Finance and Operations — is seamlessly reflected in other applications, such as Dynamics 365 for Sales.”

Before CDS and CDM




After CDS and CDM


This is the whole concept of Power Platform along with CDS, which allows organizations to store the data in a central repository called CDS and design PowerApps, Power Automate, Power BI Reports, and Power Virtual Agent, on top of it.

I hope you also understood the Relationship between Power Platform, Dynamics 365, and Common Data Service as well.





Why use Common Data Service?

  • Easy to manage – Both the metadata and data are stored in the cloud. You don't need to worry about the details of how they're stored.
  • Easy to secure – Data is securely stored so that users can see it only if you grant them access. Role-based security allows you to control access to entities for different users within your organization.
  • Access your Dynamics 365 Data – Data from your Dynamics 365 applications is also stored within the Common Data Service allowing you to quickly build apps that leverage your Dynamics 365 data and extend your apps using Power Apps.
  • Rich metadata – Data types and relationships are leveraged directly within Power Apps.
  • Logic and validation – Define calculated fields, business rules, workflows, and business process flows to ensure data quality and drive business processes.
  • Productivity tools – Entities are available within the add-ins for Microsoft Excel to increase productivity and ensure data accessibility.

Integrate external data into Common Data Service?

Building an app typically involves data from more than one source, while this can sometimes be done at the application level, there are also cases where integrating this data together into a common store allows for an easier app building experience, and a single set of logic to maintain and operate over the data. Common Data Service allows data to be integrated from multiple sources into a single store which can then be used in Power Apps, Power Automate, Power BI, and Power Virtual Agents along with data already available from the Dynamics 365 applications.

  • Scheduled integration with other systems – Data that is kept within another application can be regularly synchronized with the Common Data Service to allow you to leverage other applications data in Power Apps.
  • Transform and import data using PowerQuery – Transforming data when importing into the Common Data Service can be done through PowerQuery from many online data sources, a common tool used across Excel and Power BI.
  • One time import of data – Simple import and export of Excel and CSV files can be used for a one time or infrequent import of data into the Common Data Service.

Common Data Service Security?

Common Data Service has a rich security model to protect the data integrity and privacy of users while promoting efficient data access and collaboration. You can combine business units, role-based security, record-based security, and field-based security to define the overall access to information that users have in a Common Data Service environment.

The following is a high-level overview of how the security model is implemented in Common Data Service.
  • Users are authenticated by Azure Active Directory (Azure AD).
  • Licensing is the first control-gate to allowing access to Power Apps components.
  • Ability to create applications and flows is controlled by security roles in the context of environments.
  • A user's ability to see and use apps is controlled by sharing the application with the user. Sharing of canvas apps is done directly with a user or Azure AD group but is still subject to Common Data Service security roles. Sharing of model-driven apps is done via Common Data Service security roles.
  • Environments act as security boundaries allowing different security needs to be implemented in each environment.
  • Power Automate and Canvas apps use connectors, the specific connections credentials and associated service entitlements determine permissions when apps use the connectors.
  • Environments with Common Data Service add support for more advanced security models that are specific to controlling access to data and services in the Common Data Service environment.




That's all folks for today. 

I hope this article helped you understand the fundamentals of Dynamics 365 and Power Platform. 

Stay tuned for more such interesting stuff. Till then. Stay Healthy. Stay Safe.

Cheers. 👍

13 comments:

  1. Such a well described article.Thanks for sharing this.

    ReplyDelete
  2. Fantastic Article. I was spending lot of time understanding the connection between Dynamics, Power Platforms and CDS,CDM. This Article cleared all my doubts. Thank you very much for sharing.

    ReplyDelete
  3. I’m definitely going to add this to my bookmarks. This is a worthy long read. A lot of valid points to come back to.

    https://www.crmjetty.com/blog/crm-portals-through-the-customer-perspective/

    ReplyDelete
  4. I have read your article, it is very informative and helpful for me.I admire the valuable information you offer in your articles. Thanks for posting it..

    HR Management Software in UAE

    ReplyDelete
  5. i read a lot of stuff and i found that the way of writing to clearifing that exactly want to say was very good so i am impressed and ilike to come again in future..

    HR Management Software in Saudi Arabia

    ReplyDelete
  6. thanks for the tips and information..i really appreciate it..

    Best Software for Clinic management Dubai

    ReplyDelete

  7. Very useful post. This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. Really its great article. Keep it up.
    Best Hospital Management Software

    ReplyDelete
  8. very interesting post.this is my first time visit here.i found so mmany interesting stuff in your blog especially its discussion..thanks for the post!

    Clinic Management Software in Saudi Arabia

    ReplyDelete

  9. You know your projects stand out of the herd. There is something special about them. It seems to me all of them are really brilliant!

    Clinic Management Software in Saudi Arabia

    ReplyDelete
  10. I love the way you write and share your niche! Very interesting and different! Keep it coming!

    ERP Solutions Provider Company Dubai

    ReplyDelete
  11. This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free.

    Clinic Management Software in Saudi Arabia

    ReplyDelete
  12. A great blog, it has a lot of useful information to me

    Village Talkies a top-quality professional corporate video production company in Bangalore and also best explainer video company in Bangalore & animation video makers in Bangalore, Chennai, India & Maryland, Baltimore, USA provides Corporate & Brand films, Promotional, Marketing videos & Training videos, Product demo videos, Employee videos, Product video explainers, eLearning videos, 2d Animation, 3d Animation, Motion Graphics, Whiteboard Explainer videos Client Testimonial Videos, Video Presentation and more for all start-ups, industries, and corporate companies. From scripting to corporate video production services, explainer & 3d, 2d animation video production , our solutions are customized to your budget, timeline, and to meet the company goals and objectives.
    As a best video production company in Bangalore, we produce quality and creative videos to our clients.

    ReplyDelete

Blogger Widgets