Architecture overview of Microsoft Dynamics CRM 2011 platform. Presentation shows architecture from different points of view, including abstract system model, construction and production focuses.
Lufthansa Reference Architecture for the OpenGroupCapgemini
The presentation describes the aviation reference architecture framework including the meta model and a domain overview.
Author of paper and presentation:
Kai Schröder, Carsten Brockmann and Eldar Sultanow from
Capgemini Germany and
Carsten Breithaupt and Christian Vollmer from Lufthansa
In a project Systems Engineering ensures the overall integrity of the design considering the space segment, the ground segment and the launch vehicle. Systems Engineering is an accepted practice in the space industry with an unstoppable growth and evolution because it brings a multi-disciplinary perspective that is critical to system product innovation, defect reduction and customer satisfaction. A systems engineer is a person who designs space missions and their vehicles by working together with engineers in the necessary disciplines. The technical leadership role of the systems engineer on a project is critical to the success of space projects driven by high safety and performance requirements, that is why demand is soaring for systems engineers in the space industries and government agencies worldwide ( including Spain). The session will help you to understand what makes an Effective Systems Engineer in terms of the expected competencies and the meaning of a Systems Engineering career path to a professional practitioner according to the world's leading organisations in the Space sector.
Which Change Data Capture Strategy is Right for You?Precisely
Change Data Capture or CDC is the practice of moving the changes made in an important transactional system to other systems, so that data is kept current and consistent across the enterprise. CDC keeps reporting and analytic systems working on the latest, most accurate data.
Many different CDC strategies exist. Each strategy has advantages and disadvantages. Some put an undue burden on the source database. They can cause queries or applications to become slow or even fail. Some bog down network bandwidth, or have big delays between change and replication.
Each business process has different requirements, as well. For some business needs, a replication delay of more than a second is too long. For others, a delay of less than 24 hours is excellent.
Which CDC strategy will match your business needs? How do you choose?
View this webcast on-demand to learn:
• Advantages and disadvantages of different CDC methods
• The replication latency your project requires
• How to keep data current in Big Data technologies like Hadoop
The challenge of alignment, integration and change in the development of e-services has gave attention to enterprise architecture. It provide the framework of engagement and thinking tool to define, elaborate, document, agree and communicate the strategic baseline, strategic intent, strategic architecture, strategic change and strategic resources in the development and improvement of e-services within the defined context and perspectives of time, stakeholders, performance, funds, environment, leadership and technology. The shared open presentation is a product of direct engagement with people of decision and work who are enabled to participate the formulation of enterprise architecture that matters to their performance.
Lufthansa Reference Architecture for the OpenGroupCapgemini
The presentation describes the aviation reference architecture framework including the meta model and a domain overview.
Author of paper and presentation:
Kai Schröder, Carsten Brockmann and Eldar Sultanow from
Capgemini Germany and
Carsten Breithaupt and Christian Vollmer from Lufthansa
In a project Systems Engineering ensures the overall integrity of the design considering the space segment, the ground segment and the launch vehicle. Systems Engineering is an accepted practice in the space industry with an unstoppable growth and evolution because it brings a multi-disciplinary perspective that is critical to system product innovation, defect reduction and customer satisfaction. A systems engineer is a person who designs space missions and their vehicles by working together with engineers in the necessary disciplines. The technical leadership role of the systems engineer on a project is critical to the success of space projects driven by high safety and performance requirements, that is why demand is soaring for systems engineers in the space industries and government agencies worldwide ( including Spain). The session will help you to understand what makes an Effective Systems Engineer in terms of the expected competencies and the meaning of a Systems Engineering career path to a professional practitioner according to the world's leading organisations in the Space sector.
Which Change Data Capture Strategy is Right for You?Precisely
Change Data Capture or CDC is the practice of moving the changes made in an important transactional system to other systems, so that data is kept current and consistent across the enterprise. CDC keeps reporting and analytic systems working on the latest, most accurate data.
Many different CDC strategies exist. Each strategy has advantages and disadvantages. Some put an undue burden on the source database. They can cause queries or applications to become slow or even fail. Some bog down network bandwidth, or have big delays between change and replication.
Each business process has different requirements, as well. For some business needs, a replication delay of more than a second is too long. For others, a delay of less than 24 hours is excellent.
Which CDC strategy will match your business needs? How do you choose?
View this webcast on-demand to learn:
• Advantages and disadvantages of different CDC methods
• The replication latency your project requires
• How to keep data current in Big Data technologies like Hadoop
The challenge of alignment, integration and change in the development of e-services has gave attention to enterprise architecture. It provide the framework of engagement and thinking tool to define, elaborate, document, agree and communicate the strategic baseline, strategic intent, strategic architecture, strategic change and strategic resources in the development and improvement of e-services within the defined context and perspectives of time, stakeholders, performance, funds, environment, leadership and technology. The shared open presentation is a product of direct engagement with people of decision and work who are enabled to participate the formulation of enterprise architecture that matters to their performance.
I gave this presentation at the Advanced Architecture Conference, Bill Inmon, 2011 in Evergreen, Colorado. This presentation covers a new breed of data warehousing called Operational Data Warehousing. These are the next steps in business intelligence towards self-service BI and enabling users to do more with their enterprise data warehouse solution. Specifically, it talks about how the Data Vault model fits in to this picture.
If you would like to use the slides, please e-mail me first, I'd be happy to discuss it with you.
Lundi 27 octobre 2014
Groupe Architecture
Sujet: Microsoft Dynamics CRM, vue d'ensemble de la plateforme et architecture de solution 101
Conférencier: Salim Adamon
Avec les nombreux ajouts de fonctionnalités effectués par Microsoft sur sa plateforme Dynamics CRM au cours des dernières années, le produit se compare de plus en plus aux acteurs majeurs dans le domaine du CRM et commence à acquérir une grande part du marché partout dans le monde. En tant qu’architecte de solution travaillant avec des technologies Microsoft, il est important de connaître les atouts de la plateforme Dynamics CRM afin de pouvoir envisager son utilisation si elle répond à des besoins existants et d’économiser un grand temps de développement.
Cette présentation va dans un premier temps vous donner une vue d'ensemble de la plateforme: les modules classiques de gestion de la relation client (CRM), ainsi que les possibilités d'extensions et de personnalisations. Dans un second temps, nous parlerons de différentes considérations à prendre en compte lorsqu'on fait le design d'une solution avec Dynamics CRM. Cette section couvrira à haut niveau le développement, l'intégration, l'infrastructure, la performance et d’autres concepts importants pour architectes, analystes d’affaires et développeurs en entreprise.
Interface Fact Sheets in LeanIX Enterprise Architecture ManagementLeanIX GmbH
Learn more about the new Interface Fact Sheet feature. LeanIX offers an innovative software-as-a-service solution for Enterprise Architecture Management (EAM), based either in a public cloud or the client’s data center.
Companies like Adidas, Axel Springer, Helvetia, RWE, Trusted Shops and Zalando use LeanIX Enterprise Architecture Management tool.
Free Trial: http://bit.ly/LeanIXFreeTrial
Microsoft Dynamics 365 CRM. Dynamics 365 provides out-of-box reports for analyzing your business data. Dynamics 365 reports are based on SQL Server Reporting Services (SSRS).
Introdution to Dataops and AIOps (or MLOps)Adrien Blind
This presentation introduces the audience to the DataOps and AIOps practices. It deals with organizational & tech aspects, and provide hints to start you data journey.
Presenter: Pawel Chadzynski, Aras
To deal with growing product complexity and tie requirements through functional, logical and physical product structure (RFLP), organizations are moving to implement Model Based Systems Engineering (MBSE). Learn how to take the "BS" out of MBSE and provide a foundation for tomorrow's product development processes.
AIOps: Anomalies Detection of Distributed TracesJorge Cardoso
Introduction to the field of AIOps. large-scale monitoring, and observability. Provides an example illustrating how Deep Learning can be used to analyze distributed traces to reveal exactly which component is causing a problem in microservice applications.
Presentation given at the National University of Ireland, Galway (NUI Galway)
on 2019.08.20.
Thanks to Prof. John Breslin
SAP Reference Architecture based on LeanIXLeanIX GmbH
At EA Connect Days 2018, Florian Masjosthusmann und Manuel Männle from itelligence tried to solve the follwing questions: How can you adapt your business from where it is today to where it needs to be tomorrow? How can you document a SAP centric IT-Landscape with LeanIX? How will your IT landscape evolve to meet the demands of the digital transformation with SAP? Based on LeanIX they developed a concept to describe your SAP centric IT-Landscape and Business Architecture. On this basis, an overall strategy for S/4 HANA Transformation can be developed which is oriented on best practices and SAP Reference Architectures. The itelligence EA-Approach is to connect the SAP Best Practice E2E Views and the Capability Views with die IT-Solution Landscape.
I gave this presentation at the Advanced Architecture Conference, Bill Inmon, 2011 in Evergreen, Colorado. This presentation covers a new breed of data warehousing called Operational Data Warehousing. These are the next steps in business intelligence towards self-service BI and enabling users to do more with their enterprise data warehouse solution. Specifically, it talks about how the Data Vault model fits in to this picture.
If you would like to use the slides, please e-mail me first, I'd be happy to discuss it with you.
Lundi 27 octobre 2014
Groupe Architecture
Sujet: Microsoft Dynamics CRM, vue d'ensemble de la plateforme et architecture de solution 101
Conférencier: Salim Adamon
Avec les nombreux ajouts de fonctionnalités effectués par Microsoft sur sa plateforme Dynamics CRM au cours des dernières années, le produit se compare de plus en plus aux acteurs majeurs dans le domaine du CRM et commence à acquérir une grande part du marché partout dans le monde. En tant qu’architecte de solution travaillant avec des technologies Microsoft, il est important de connaître les atouts de la plateforme Dynamics CRM afin de pouvoir envisager son utilisation si elle répond à des besoins existants et d’économiser un grand temps de développement.
Cette présentation va dans un premier temps vous donner une vue d'ensemble de la plateforme: les modules classiques de gestion de la relation client (CRM), ainsi que les possibilités d'extensions et de personnalisations. Dans un second temps, nous parlerons de différentes considérations à prendre en compte lorsqu'on fait le design d'une solution avec Dynamics CRM. Cette section couvrira à haut niveau le développement, l'intégration, l'infrastructure, la performance et d’autres concepts importants pour architectes, analystes d’affaires et développeurs en entreprise.
Interface Fact Sheets in LeanIX Enterprise Architecture ManagementLeanIX GmbH
Learn more about the new Interface Fact Sheet feature. LeanIX offers an innovative software-as-a-service solution for Enterprise Architecture Management (EAM), based either in a public cloud or the client’s data center.
Companies like Adidas, Axel Springer, Helvetia, RWE, Trusted Shops and Zalando use LeanIX Enterprise Architecture Management tool.
Free Trial: http://bit.ly/LeanIXFreeTrial
Microsoft Dynamics 365 CRM. Dynamics 365 provides out-of-box reports for analyzing your business data. Dynamics 365 reports are based on SQL Server Reporting Services (SSRS).
Introdution to Dataops and AIOps (or MLOps)Adrien Blind
This presentation introduces the audience to the DataOps and AIOps practices. It deals with organizational & tech aspects, and provide hints to start you data journey.
Presenter: Pawel Chadzynski, Aras
To deal with growing product complexity and tie requirements through functional, logical and physical product structure (RFLP), organizations are moving to implement Model Based Systems Engineering (MBSE). Learn how to take the "BS" out of MBSE and provide a foundation for tomorrow's product development processes.
AIOps: Anomalies Detection of Distributed TracesJorge Cardoso
Introduction to the field of AIOps. large-scale monitoring, and observability. Provides an example illustrating how Deep Learning can be used to analyze distributed traces to reveal exactly which component is causing a problem in microservice applications.
Presentation given at the National University of Ireland, Galway (NUI Galway)
on 2019.08.20.
Thanks to Prof. John Breslin
SAP Reference Architecture based on LeanIXLeanIX GmbH
At EA Connect Days 2018, Florian Masjosthusmann und Manuel Männle from itelligence tried to solve the follwing questions: How can you adapt your business from where it is today to where it needs to be tomorrow? How can you document a SAP centric IT-Landscape with LeanIX? How will your IT landscape evolve to meet the demands of the digital transformation with SAP? Based on LeanIX they developed a concept to describe your SAP centric IT-Landscape and Business Architecture. On this basis, an overall strategy for S/4 HANA Transformation can be developed which is oriented on best practices and SAP Reference Architectures. The itelligence EA-Approach is to connect the SAP Best Practice E2E Views and the Capability Views with die IT-Solution Landscape.
Nutshell is a next-generation tool that helps sales team better manage their leads, accounts, and contacts. Tyler was the original designer of Nutshell leading up to its 1.0 release in November 2010. This talk was presented at the London ProductTank meetup in April 2011.
Web service architetture e standard - Tesi - cap1pma77
Inquesto primo capitolo della tesi "SVILUPPO E IMPLEMENTAZIONE SU MICROCONTROLLORE DI UN’APPLICAZIONE WEB SERVER PER IL CONTROLLO DI UN SISTEMA EMBEDDED" viene analizzata la metamorfosi che sta subendo Internet in questi ultimi anni ovvero il passaggio da un Web popolato da pagine ad un Web fornitore di servizi. A questo proposito viene presentata la tecnologia dei Web Service . Vengono dapprima descritti gli strumenti base che utilizza e, in seguito, sono discusse le sue caratteristiche e i diversi ambiti e le diverse situazioni in cui è possibile applicarla.
Code your Own: Authentication Provider for Blackboard LearnDan Rinzel
Presentation from Blackboard Developers Conference 2012 on how to build your own Authentication plugin for Blackboard Learn 9.1 Service Pack 8 or later.
MS Dynamics CRM consultant at Cynoteck provide complete CRM customization, Integration, and support in both MS Dynamics CRM System and Salesforce solutions.
Microsoft Dynamics CRM Multi - Tier ArchitectureNaveen Kumar
In order to effectively customize Microsoft Dynamics CRM, you must first have good understanding of the application's architecture. The system's architecture influences how and where you can customize the system components.
The key to understanding the Microsoft Dynamics CRM architecture as it relates to customization is the Microsoft Dynamics CRM platform. One way to understand the value of the Microsoft Dynamics CRM platform is to contrast it with the client/server (two-tier) architecture that has been around for more than two decades.
Quote to Cash Reimagined - We are a management and technology consultancy focused on optimizing the business lifecycle from customer acquisition to billing and revenue management for the Fortune 1000.
This webinar will showcase the new CRM Online portal capabilities and new features. We will also compare online CRM portal with On Premises ADX portal.
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
The .Net Developer designs, modifies, develops, writes and implements software programming applications and components. Supports and/or installs software applications and components. Works from written specifications and pre-established guidelines to perform the functions of the job and maintains documentation of process flow.
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
The .Net Developer designs, modifies, develops, writes and implements software programming applications and components. Supports and/or installs software applications and components. Works from written specifications and pre-established guidelines to perform the functions of the job and maintains documentation of process flow.
Developing RIAs... 10 reasons to use Adobe FlexMatthias Zeller
Rich Internet Applications combine the richness of desktop applications with the reach of the Internet. This presentations covers 10 reasons why you should consider Adobe Flex for your next web application project.
A deck of slides I used for a presentation about Architecting RIAs on the Adobe Flash Platform and whether the practices applied could be used with JavaFX. I concluded the presentation with a small comparison between Flex/AIR and JavaFX.
Oracle ADF Tutorial/Training's Student Study Guide. This presentation is part of Oracle Application Development Framework Training materials and technical resources, used in development, implementation and customization of Oracle Fusion cloud, SaaS and on-premise application. Prepared by Deepak Bhagat as part of Oracle ADF Corporate Training.
To automate entire operations and information of vehicles at a particular given point of time. So that the Cab operator and their customer can get best and fast information about their vehicles and drivers at any point of time. He needs to exercise tight control on the operations and input costs if he is to provide good service at reasonable rates and yet remain profitable.
SAP Microsoft Interoperability - Business Process SolutionsKristian Kalsing
Workshop in the Interactive Zone at the Mastering SAP Technologies conference, Brisbane, June 2009. SAP Microsoft Interoperability - Business Process Solutions.
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...Sabino Labarile
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symposium on INnovations in Intelligent SysTems and Applications) - 24 Giugno 2014
Speaker: Giuseppe Dimauro - Regional Director Microsoft - Code Architects
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Dynamics CRM 2011 Architecture Overview
1. ARCHITECTURE OVERVIEW OF BUSINESS SYSTEMS: MS DYNAMICS CRM
Dmytro Golodiuk / Corporate IT – Business applications / Architecture committee
Nov 16, 2014
2. ARCHITECTURE VIEWPOINTS
by Rozanski & Woods
Context Viewpoint
Functional
Viewpoint
Informational
Viewpoint
Development
Viewpoint
Deployment
Viewpoint
Concurrency
Viewpoint
Operational
Viewpoint
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 2
3. WHAT IS MS DYNAMICS CRM 2011?
The End-to-End Solution
Marketing
Effectiveness
Extended CRM
Applications
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 3
4. MICROSOFT CRM DESIGN GOALS
Provide low total cost of ownership (TCO)
Provide low-cost product customization
Scale up and out to hosted environments
Scale down to a single user desktop
Separate, but equal, application and platform tiers
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 4
5. THE METADATA AND DATA MODELS
In Microsoft Dynamics CRM
Metadata object Description
Entity An entity is a container for data, similar to a table in a traditional database. Each entity contains a
set of attributes. For Microsoft Dynamics CRM, there are a set of entities that exist when you first
install. Some of these are customizable. In addition, you can create custom entities to contain
business data.
Attribute An attribute is a container for a piece of data in an entity. Microsoft Dynamics CRM supports a
wide variety of attribute types.
Relationship A relationship defines an association between two entities: one-to-many, many-to-one, many-to-many,
and self-referential.
Option Set An option set defines a set of options provided for a picklist. Several picklist attributes may use a
global option set so that the options they provide are always the same and can be maintained in
one location.
Option An option is one of the values available in an option set. Each option in an option set has a
unique integer value and an associated set of localized labels.
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 5
6. THE METADATA AND DATA MODELS
Out of Box Entities
Administration and Security Entities
(Organization, Business Unit, User, Team,
Privilege, Role, Field Security)
Activity Feeds Entities
Customer Entities (Account, Contact)
Business Management Entities
Service Entities (Contract, Incident,
Knowledge Base)
Sales Entities (Lead, Opportunity,
Competitor, Quote, Order, Invoice)
Marketing Entities (Campaign, List)
Activity Entities
Goal Management Entities
Product Catalog Entities
Sales Literature Entities
Schedule and Appointment Entities
Template Entities
Annotation (Note) Entity
UserQuery (Saved View) Entity
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 6
7. THE METADATA AND DATA MODELS
Audit
Entity
Data
Changes
Detect
Duplicate
Data
Delete
Data in
Bulk
Import
Data
Manage Your Data
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 7
8. THE SECURITY MODEL
Business
Unit
Security
Role
Privilege
(access
rights)
Access
Level
F(BU, SR, P, AL)
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 8
9. THE SECURITY MODEL
Provide users with the access only to
the appropriate levels of information
that is required to do their jobs.
Categorize users by role and restrict
access based on those roles.
Support data sharing so that users and
teams can be granted access to
records that they do not own for a
specified collaborative effort.
Prevent a user's access to records the
user does not own or share.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
9
Goals
10. THE SECURITY MODEL
Roles
Privileges
Create
Read
Write
Delete
Append
Append To
Assign
Share
Access
Levels
Global Organization
Deep Parent: Child BU
Local BU
Basic User
None No access
11/20/2014 Subject 10
Role-based security
11. THE SECURITY MODEL
Record-Based Security
Access
Rights
Sharing
Records
Assigning
Records
Access Rights
Read
Write
Assign
Append
Append To
Share
Delete
11/20/2014 Subject 11
12. THE SECURITY MODEL
Field-level security
Which Security Roles Allow You to See Secured Fields?
How Do Secured Fields Behave for Retrieve and RetrieveMultiple?
When a Secured Attribute is in the Column Set
When a Secured Attribute is in the Filter Condition
When Grouping on Secured Attributes
When Ordering on Secured Attributes
How Do Secured Fields Behave for Create or Update?
How Do Secured Fields Behave When Records are Shared?
How Do Secured Fields Behave for Filtered Views?
How Do Secured Fields Behave for Offline Synchronization?
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 12
13. THE EXTENSIBILITY MODEL
Dynamics CRM Puts Innovation at the Center
Personalize
TAILOR CRM TO YOUR UNIQUE
NEEDS
Connect
SEAMLESSLY INTEGRATE CRM
TO EXISTING SYSTEMS
Build
RAPIDLY BUILD OTHER LOB
APPLICATIONS
11/20/2014 Subject 13
14. GENERAL MULTY LAYER ARCHITECTURE
Presentation Layer
UI Components UI Process Components
Service Layer
Interfaces Message Types
Business Layer
Application Façade
Business Workflow
Business
Components
Business Entities
Data Layer
Data Access Components Data Helpers / Utilities Service Agents
Cross
Cutting
Security
Operational
Management
Communication
…
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 14
15. CRM 2011 ARCHITECTURE DRILL DOWN
Reporting
(Dashboards,
Charts, Excel,
FetchXML and SRS)
Integrated
Applications
Web Outlook Mobile Tablet
Extensible Application: Form and
client side events, Ribbon, Sitemap,
Web Resources, JS libraries…
Web Services
Front End
Integration
Pre-Event Plug-ins
(.NET Assemblies)
Post-Event Plug-ins
(.NET Assemblies)
Custom Workflow
(.NET Assemblies)
Backend
Integration
Server-to-
Server
Synchronous and Asynchronous Business Logic
Business Entity Components
Data Access Components
Data Access Platform
Metadata Data
Filtered SQL Views
Workflow
Security
11/20/2014 Subject 15
16. THE EXTENSIBILITY MODEL
CRM / xRM Developer Platform
Rapid Development
.NET 4 & WF4
Solution Packaging
Strong types & LINQ
Visualizations
Rich Platform Services
Web Services - WCF / REST / OData
Transaction Support
SharePoint, Office
Claims Authentication
Cloud
Custom code on Server
Sandbox with external calls
Azure Integration
Global Markets
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 16
17. THE EXTENSIBILITY MODEL
What is the .NET Framework?
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 17
18. THE EXTENSIBILITY MODEL
.NET Framework: Objectives
Consistent object-oriented
programming environment
Code-execution environment
• Minimize software deployment and
versioning conflicts
• Safe code execution
• Elimination the performance
problems of scripted or interpreted
environments
Consistency across widely
varying types of applications
(such as Windows-based
applications and Web-based
applications)
.NET-based code integration
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 18
19. THE EXTENSIBILITY MODEL
.NET Framework Architecture
Visual Studio 2012+
ASP.NET (Web Form, MVC,
Web Page, SPA)
Windows
Store Apps
Base Class
Library
WPF
Languages
(C#, VB.NET,
etc.)
Windows
Desktop Apps
(Windows
Forms)
Silverlight
Dynamics
Language
Runtime
ASO.NET
LINQ
Managed
Extensibility
Framework
Entity
Framework
Parallel
Extension
Portable
Class Library
WCF
Signair
Portable
Class Library
ASP.NET
Web API
WF
WinRT
Common Language Runtime
Operating System
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 19
20. THE EXTENSIBILITY MODEL
Common
Language
Runtime
This acts as the
execution engine for the
.NET Framework. All
.NET programs
executes under the
supervision of CLR.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
20
Components of .NET Framework 4.5 Architecture
21. THE EXTENSIBILITY MODEL
Base
Class
Library
This is a library of
functionalities which are
available to all languages
using the .NET
Framework. It consists of
classes, interfaces of
reusable types that
integrates with CLR
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
21
Components of .NET Framework 4.5 Architecture
22. THE EXTENSIBILITY MODEL
Portable
Class
Library
This is a library of
functionalities which are
available to all languages
using the .NET
Framework. It consists of
classes, interfaces of
reusable types that
integrates with CLR
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
22
Components of .NET Framework 4.5 Architecture
23. THE EXTENSIBILITY MODEL
Managed
Extensibility
Framework
(MEF)
MEF is a library for
creating lightweight,
extensible applications. It
allows application
developers to discover
and use extensions with
no configuration required.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
23
Components of .NET Framework 4.5 Architecture
24. THE EXTENSIBILITY MODEL
Dynamic
Language
Runtime
This provides the
runtime environment for
dynamic languages like
python etc. for
executing under the full
control of CLR.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
24
Components of .NET Framework 4.5 Architecture
25. THE EXTENSIBILITY MODEL
WinRT
WinRT or Windows Runtime APIs
provides the user interface
elements for building Windows
Store apps, and provides access
to Windows 8 or Windows RT OS
features. WinRT supports
development in C and other
managed languages C# and
VB.NET, as well as JavaScript
and TypeScript.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
25
Components of .NET Framework 4.5 Architecture
26. THE EXTENSIBILITY MODEL
Asp.Net
This is used to build rich
internet based web
application.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
26
Components of .NET Framework 4.5 Architecture
27. THE EXTENSIBILITY MODEL
Windows
Store Apps
(Metro
Style Apps)
A Windows Store app is a
new type of application
that runs on Windows 8
devices and can take
advantage of new WinRT
APIs. These can only be
distributed in the
Windows 8 store.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
27
Components of .NET Framework 4.5 Architecture
28. THE EXTENSIBILITY MODEL
Desktop
Apps
(Windows
Forms)
A Windows Desktop app is
traditional Windows Forms
application with a new name.
Software developed for Windows
XP, Windows Vista and Windows
7 will be categorized as a
Windows Desktop app when
running in Windows 8. Examples
of Windows Desktop apps are
Microsoft Office families products,
notepad etc.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
28
Components of .NET Framework 4.5 Architecture
29. THE EXTENSIBILITY MODEL
WPF
WPF is used to create
applications with a rich user
experience. It includes
application UI, 2D graphics, 3D
graphics and multimedia. It
takes advantage of hardware
acceleration of modern graphic
cards. WPF makes the UI
faster, scalable and resolution
independent.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
29
Components of .NET Framework 4.5 Architecture
30. THE EXTENSIBILITY MODEL
Silver
Light
This is a cross-browser
web based technology
which allows designers
and developers to deliver
Rich Internet Applications
(RIA) embedded in Web
pages.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
30
Components of .NET Framework 4.5 Architecture
31. THE EXTENSIBILITY MODEL
Ado.Net
This is used to create
Data Access Layer to
query and manipulate
data from underlying
data source like SQL
Server, Oracle, and
DB2 etc.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
31
Components of .NET Framework 4.5 Architecture
32. THE EXTENSIBILITY MODEL
LINQ
This allows you to query the
data from the various data
sources (like SQL databases,
XML documents, Ado.Net
Datasets, Various Web
services and any other objects
such as Collections, Generics
etc.) using a SQL Query like
syntax with .Net framework
languages like C# and VB.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
32
Components of .NET Framework 4.5 Architecture
33. THE EXTENSIBILITY MODEL
Entity
Framework
This is used to query
and store data into to
the relational databases
(like SQL Server,
Oracle, DB2 etc.) in
ORM fashion.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
33
Components of .NET Framework 4.5 Architecture
34. THE EXTENSIBILITY MODEL
Parallel
Extension
This allows you to
distribute your work
code across multiple
processors to take
advantage of the
hardware.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
34
Components of .NET Framework 4.5 Architecture
35. THE EXTENSIBILITY MODEL
WCF
This is used for building
and developing services
based on WS-*
standards.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
35
Components of .NET Framework 4.5 Architecture
36. THE EXTENSIBILITY MODEL
Asp.Net
WebAPI
Asp.Net Web API is a
framework for building
HTTP services that can
be consume by a broad
range of clients including
browsers, mobiles, iphone
and tablets.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
36
Components of .NET Framework 4.5 Architecture
37. THE EXTENSIBILITY MODEL
SignalR
ASP.NET SignalR is a library that
simplifies the process of adding
real-time web functionality to
applications. Real-time web
functionality is the ability to have
server code push content to
connected clients instantly as it
becomes available, rather than
having the server wait for a client
to request new data.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
37
Components of .NET Framework 4.5 Architecture
38. THE EXTENSIBILITY MODEL
WF
This is used to build
process oriented
business workflow and
rules engine.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
38
Components of .NET Framework 4.5 Architecture
39. THE EXTENSIBILITY MODEL
Visual
Studio
2012
The Visual Studio IDE offers a
set of tools that help you to
write and modify the code for
your programs, and also
detect and correct errors in
your programs. Using Visual
Studio 2012 you can build
Windows Store apps, desktop
apps, mobile apps, ASP.NET
web apps, and web services.
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
39
Components of .NET Framework 4.5 Architecture
40. THE EXTENSIBILITY MODEL
Streamlined API with
a focused set of
methods
Use of standard .NET
Types in most cases
Fast processing
through binary
serialization
Improved
performance, security,
testability, etc.
Benefits
WCF Web Services
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 40
41. THE EXTENSIBILITY MODEL
Interoperability via Web Services
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 41
42. THE EXTENSIBILITY MODEL
Windows Workflow Foundation
Durable
timers
Benefits
Visualizing
user
process
Better
collaboration
between
technical and
non-technical
people
Comprehensive
technology
stack
Reusability and
integrations
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 42
43. THE EXTENSIBILITY MODEL
Supported Extensions (SE)
Using MS
Dynamics
Web App.
Customizations Using the
Microsoft Dynamics CRM SDK
Plugins Processes
Form
Scripting
Reporting
Services
Filtered
Views
with
external
apps
Ribbon
Customi
zation
ISV
Config.
(depreca
ted)
Unsupported Customizations (UC)
Extensions for Microsoft Dynamics CRM
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 43
44. THE EXTENSIBILITY MODEL
SE | Customizations Using the Microsoft Dynamics CRM SDK
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 44
45. THE EXTENSIBILITY MODEL
SE | Customizations Using the Microsoft Dynamics CRM SDK
Discovery
Service
Organization
Data Service
Organization
Service
Deployment
Service
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 45
46. THE EXTENSIBILITY MODEL
An extension mechanism
for custom platform-based
business logic
Support an event handler interface
that is based on a pipeline
execution model
Improved
event
processing
subsystem
Event
framework
API
Backwards
compatibility
Synchronous
and
asynchronous
execution
SE | SDK | Plug-ins
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 46
47. THE EXTENSIBILITY MODEL
SE | SDK | Plug-ins: Architecture and Related Components
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 47
48. THE EXTENSIBILITY MODEL
SE | SDK | Plugins: Pipeline Stages
Event Stage name Stage number Description
Pre-Event Pre-validation 10 Stage in the pipeline for plug-ins that are to execute before the main system operation.
Plug-ins registered in this stage may execute outside the database transaction.
Pre-Event Pre-operation 20 Stage in the pipeline for plug-ins that are to execute before the main system operation.
Plug-ins registered in this stage are executed within the database transaction.
Platform
Core
Operation
MainOperation 30 In-transaction main operation of the system, such as create, update, delete, and so on.
No custom plug-ins can be registered in this stage. For internal use only.
Post-Event Post-operation 40 Stage in the pipeline for plug-ins which are to execute after the main operation. Plug-ins
registered in this stage are executed within the database transaction.
Post-Event Post-operation
(Deprecated)
50 Stage in the pipeline for plug-ins which are to execute after the main operation. Plug-ins
registered in this stage may execute outside the database transaction. This stage only
supports Microsoft Dynamics CRM 4.0 based plug-ins.
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 48
49. THE EXTENSIBILITY MODEL
Process
Workflow
Customization
Custom Workflow
Activities
(all deployments)
System.Activities
(System.Workflow.Activities)
XAML (Declarative)
Workflows
(on-premises
deployments only)
Dialog
Customization
Custom Workflow
Activities
(all deployments)
System.Activities
(System.Workflow.Activities)
SE | SDK | Processes (formerly Workflows)
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 49
50. THE EXTENSIBILITY MODEL
SE | SDK | Processes vs Dialogs
Workflows Dialogs
Can be either started by a user or can be automated. Must be started by a user.
Are asynchronous processes, and do not require user
input to run to completion. These processes run in the
background.
Are synchronous processes, and require user input to run
to completion. When you run these processes, a wizard-like
interface is presented to you so you can make
appropriate selections to run the processes.
The entity that stores the details about a running workflow
is AsyncOperation.
The entity that stores information generated by a running
dialog is the ProcessSession (dialog session) entity.
Both Windows Workflow Foundation 4 and Windows
Workflow Foundation 3.5 custom activities are supported.
Only Windows Workflow Foundation 4 custom activities
are supported.
Triggers are supported for workflows. For a list of
supported triggers, see Supported Types, Triggers, and
Entities for Processes (Workflows and Dialogs).
Triggers are not supported for dialogs.
Workflows that are created or updated outside of
Microsoft Dynamics CRM by creating or updating the
underlying XAML file are supported in Microsoft
Dynamics CRM. For information about these custom
XAML workflows, see Custom XAML Workflows for
Microsoft Dynamics CRM 2011.
Dialogs that are created or updated outside of Microsoft
Dynamics CRM by creating or updating the underlying
XAML file are not supported in Microsoft Dynamics CRM.
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 50
51. THE EXTENSIBILITY MODEL
SE | SDK | Process Architecture Diagram
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 51
52. THE EXTENSIBILITY MODEL
SE | SDK | Process Life Cycle: Workflow
Create WF in Draft state, Activation WF
• Subscription to specific events
• Event is triggered
• Add operation to the async service queue manager WF exec. job
• Awaits execution in the queue in the Ready state
Creation of WF instance by WWF run-time engine
• Change state from Ready to Locked
Update the asynchronous operation on each transition
• Set Suspended state
• Remove from memory
• Satisfying Suspended state conditions
Set state Completed when all workflow activities have
completed successfully
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 52
53. THE EXTENSIBILITY MODEL
SE | SDK | Process Life Cycle: Dialog
Create dialog in Draft state,
Activation of Dialog
Start dialog from its primary entity
or by URL
• Create process (dialog) session instance
Complete running the dialog:
Complete or Incomplete state
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 53
54. THE EXTENSIBILITY MODEL
SE | SDK | Form Scripting
Xrm.Page Object
Model
Data Access Using
JavaScript
Use an IFRAME
and Web Resource
Controls on a Form
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 54
55. THE EXTENSIBILITY MODEL
SE | SDK | Form Scripting | Xrm.Page Object Model
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 55
56. THE EXTENSIBILITY MODEL
SE | SDK | Form Scripting | Data Access Using JavaScript
Task Web Service
Create, Retrieve, Update and Delete records. REST Endpoint
Associate and Disassociate records REST Endpoint
Assign Records SOAP Endpoint
Retrieve Metadata SOAP Endpoint
Execute Messages SOAP Endpoint
OrgOarngiaznaitzioanti oDna Stae Srveicrveice
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 56
57. THE EXTENSIBILITY MODEL
SE | SDK | Form Scripting | Use an IFRAME and Web
Resource Controls on a Form
Image (JPG,
PNG, GIF,
ICO) Web
Resources
Web Page (HTML)
Web Resources
Silverlight
(XAP) Web
Resources
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 57
58. THE EXTENSIBILITY MODEL
SE | SDK | Filtered Views
SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[AccountBase]
SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[Account]
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 58
59. THE EXTENSIBILITY MODEL
SE | SDK | Filtered Views
SELECT TOP 1000 AccountNumber, Name FROM [zeppelin_MSCRM].[dbo].[FilteredAccount]
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 59
60. THE EXTENSIBILITY MODEL
Reporting
Advanced
Find
SSRS
SQL-based
Filtered
Views
Only for on-premise
Fetch-based
FetchXml
RDL
sandboxing
Custom
code
SE | SDK | Reporting
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 60
61. THE EXTENSIBILITY MODEL
Unsupported Customization
Modifications to any files in
the wwwroot
Modifications to MS CRM
site
Use of client certificates
Modifications to the physical
schema of the database
Data changes in the
database using SQL
commands or any
technology other than those
described in the Microsoft
Dynamics CRM SDK.
Reuse of any MS Dynamics
CRM JavaScript code,
including ribbon commands
Use of custom HttpModules
to inject HTML/DHTML into
the Microsoft
Dynamics CRM Forms.
Silverlight Application
Library Caching
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 61
62. PRODUCTION FOCUS
Deployment options
On-premise
• Own data center
• Internet-facing deployment (IFD) – only when users
outside internal network
Partner-hosted
• Partner's data center
• Customer access to CRM is usually achieved by
IFD
Online
• Customer subscribes to the Microsoft Dynamics
CRM Online service that is hosted by Microsoft in
its data centers
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 62
63. PRODUCTION FOCUS
Deployment differences
Customization and configuration
option
On-premise Online
Internet Lead Capture feature Not available Included
Scheduled reports feature Included Not available
Query language for custom reports SQL or FetchXML FetchXML only
Maximum number of the custom
entities
Unlimited
Maximum number of the workflow
processes
Unlimited
Custom workflow activities
(assemblies)
Supported Not supported
Custom database indexes Supported Not supported
Database backup As required Upon request
Database restore As required Not available
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 63
64. PRODUCTION FOCUS
MS Dynamics CRM 2011 Deployment: Server roles
Server Role Description Server Group
Discovery Web Service Finds the organization that a user belongs to in a multi-tenant deployment. Front End Server
Organization Web Service Supports running applications that use the methods described in the Microsoft Dynamics CRM SDK. Front End Server
Web Application Server Runs the Web Application Server that is used to connect users to Microsoft Dynamics CRM data. The
Web Application Server role requires the Organization Web Service role.
Front End Server
Help Server Makes Microsoft Dynamics CRM Help available to users. Front End Server
Asynchronous Service Processes queued asynchronous events, such as workflows, bulk e-mail, or data import. Back End Server
Sandbox Processing
Service
Enables an isolated environment to allow for the execution of custom code, such as plug-ins. This
isolated environment reduces the possibility of custom code affecting the operation of the
organizations.
Back End Server
Deployment Web Service Manages the deployment by using the methods described in the Microsoft Dynamics CRM SDK. Deployment
Administration
Server
Deployment Tools Consists of the Deployment Manager and Windows PowerShell cmdlets. Microsoft Dynamics CRM
administrators can use the Windows PowerShell cmdlets to automate Deployment Manager tasks.
Deployment Manager is a Microsoft Management Console (MMC) snap-in that system administrators
can use to manage organizations, servers, and licenses for deployments of Microsoft Dynamics CRM.
Deployment
Administration
Server
Microsoft Dynamics CRM
Reporting Extensions
Provides reporting functionality by interfacing with the Microsoft Dynamics CRM system and Microsoft
SQL Server Reporting Services.
N/A
SQL Server Installs the MSCRM_CONFIG database on the SQL Server. N/A
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 64
65. PRODUCTION FOCUS
Email Router Outlook client
Language
MUIs
Update
Rollups
List
Component for
MS SharePoint
3d party apps
Related tools
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 65
66. PRODUCTION FOCUS
Integration
Organization Service
Protocol: SOAP
http(s)://{ServerName}/{OrgName}/XRMServices/2011/Organization.svc
Organization Data Service
Protocol: OData (REST)
http(s)://{ServerName}/{OrgName}/XRMServices/2011/OrganizationData.svc
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 66
67. SOAP VS REST
REST WS SOAP WS
Abbreviation
Representational
State Transfer
Simple Object
Access Protocol
Standard No standard
Declarative
(standard WSDL is
used)
Support
Numerous content
types
Only XML
Reliability Application specific
WS- Reliable
messaging
Caching
Get operations can
be cached if
desired.
No
Size of message Lightweight
Comparatively
heavy
Implementation Simple Complex
Application areas
Limited bandwidth
and resources
Totally stateless
operations
Caching situations
Asynchronous
processing and
invocation
Formal contracts
Stateful operations
Developer view Resource oriented Object oriented
Transport protocol
support
HTTP HTTP, SMTP, JMS
11/20/2014
MS Dynamics CRM 2011: Architecture
Overview
67
68. PRODUCTION FOCUS
Integrating Microsoft Dynamics CRM & SharePoint 2013
Document
Integration
Extensibility
Analytics
with
PowerView
Business
Connectivity
Services
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 68
69. PRODUCTION FOCUS
SharePoint & CRM are Complementary
Structured &
Semi-structured
Data
Social
Engagement &
Collaboration
Information
Evolution &
Storage
Informal Rules Enterprise
Search
Across Teams
& Domains
Structured
Relational
Data
Social
Interactions &
Tasks
Information
Generation &
Analytics
Formalized
Processes
Data Query &
Filter
Within Teams
& Domains
SharePoint
CRM
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 69
70. PRODUCTION FOCUS
Document Integration
Out of Box Document
Integration
Works with
Online & On-Premises (SharePoint & CRM)
Update for other Browsers (Firefox, Chrome,
etc) coming in December
Native SharePoint Actions
(Check-in, Checkout, …)
Native CRM View of Documents
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 70
71. PRODUCTION FOCUS
Document Integration
Document Library
Structure
Document Library per CRM Entity
Separate Folder for each
CRM Record
Open in SharePoint
button
Documents reside in
SharePoint
Manually Change
Locations if need be
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 71
72. PRODUCTION FOCUS
Windows
Authentication
Claims-based
authentication:
internal access
Claims-based
authentication:
external access
Claims-based
authentication:
internal and
external access
Authentication
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 72
73. PRODUCTION FOCUS
Authentication
Authentication model Scenario
Windows Authentication
Clients authentication using NTLM or Kerberos. Windows
Authentication is used in an intranet environment where all users
are members of your Active Directory domain.
Claims-based
authentication: internal
access
If you have a multiple domain environment where trust does not
exist between the domains, or where some users exist in a
different attribute store such as a partner organization, you can
use claims-based authentication to handle internal user
authentication.
Claims-based
authentication: external
access
Accessing Microsoft Dynamics CRM data over the Internet
through an Internet-facing deployment (IFD) is now done with
claims-based authentication.
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 73
74. PRODUCTION FOCUS
Authentication | Supported authentication scenarios
Deployment Authentication model
Microsoft Dynamics CRM
Online
Claims-based or Active Directory (through federation)
authentication
Microsoft Dynamics CRM
2013 on-premises
Claims-based or Active Directory authentication
Microsoft Dynamics CRM
2013 Internet-facing
deployment (IFD)
Claims-based or Active Directory authentication
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 74
75. PRODUCTION FOCUS
Authentication | AD/ADFS Diagrams
Windows
Authentication
Internal ADFS
External ADFS
Other Identity
Stores, AD,
Windows
Live, Oracle
Etc
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 75
76. SUMMARY
Microsoft Dynamics CRM 2011 has a multi-tier architecture that provides high scalability, flexibility, and extensibility.
The presentation tier displays the user interface through the CRM web client, CRM for Outlook, or CRM for the Mobile
clients, and can be customized by using the client-side integration and web resources.
The application tier runs on the CRM server and includes the web servers, business logic, security, and data access
components. It can be customized by using the server-side integration, workflows and dialogs, and the plugins and
custom workflow activities.
The data tier stores the customer data and metadata. Customization is supported through metadata changes, but direct
database access is not supported. Every application that interacts with CRM does so through the web services in the
CRM platform. Alternatively, applications can use the SQL-based queries to retrieve the CRM data by using filtered views.
There is a range of supported and unsupported configuration and customization methods available for Microsoft
Dynamics CRM 2011. The unsupported methods may work initially, but might not work after an update or upgrade and will
not be supported by Microsoft.
Microsoft Dynamics CRM offers the on-premise, partner-hosted, and online deployment options, with a few
customization and configuration differences between these options.
Using an implementation methodology, such as Microsoft Dynamics Sure Step, ensures that a proven, repeatable process
is followed so that nothing gets overlooked or omitted.
A System Administrator or System Customizer security role is required to customize Microsoft Dynamics CRM 2011.
The System Customizer security role has some limitations, such as creating plugins and web resources.
11/20/2014 MS Dynamics CRM 2011: Architecture Overview 76
77. Dmytro Golodiuk
Microsoft Certified Professional
Senior SDE
Zeppelin
SBU Construction equipment CIS
Corporate IT
Mob. +380 (97) 53 88 621
Skype: dimanngo
Dmytro.Golodiuk@zeppelin.com
dimanngo@hotmail.com
www.zeppelin.com
www.zeppelin.ua
Editor's Notes
Microsoft’s approach to CRM is simple: we provide a powerful set of solutions—from sales, customer service, marketing, and extended CRM capabilities—deployed in the cloud or private cloud that can be consumed via traditional PCs, browsers or mobile devices. Extended CRM means we provide easy-to-use tools to extend the application to support any type of scenario you want to manage. The toolset allows you to extend to particular industries and the capabilities are immense.
Key Points: Microsoft Dynamics CRM 2011 helps deliver marketing effectiveness, sales productivity, customer care, and extended CRM applications.
Notes:
Microsoft Dynamics CRM 2011 has four main areas of capability:
Marketing effectiveness: Marketing effectiveness is built around tools that function across the campaign lifecycle to help you create, target, manage, and track campaigns better.
Sales productivity: sales productivity streamlines administrative tasks and sales processes so that sales people can focus their time on selling.
Customer care: customer care provides intuitive tools and automation that helps customer care representatives provide superior service while controlling operational costs.
Extended CRM applications: Extended CRM is about helping organizations extend CRM beyond customers to manage any kind of business relationship at all.
All these capabilities are accessible through Outlook, the browser, or mobile devices.
All of these capabilities take advantage of a technology called the xRM Framework, which provides a rich set of extensibility capabilities for customizing relationships and data, and data entities. The xRM Framework enables you to customize and tailor interactions across a number of different channels to fit the ways that different people, processes, and systems work together. It includes workflow and process automation along with business intelligence capabilities. The xRM Framework is the core technical capability for delivering all of this, and runs in all versions of Microsoft Dynamics CRM, whether on-premises, hosted in our data center, or in the cloud.
Provide low total cost of ownership (TCO). The product must be manageable, allow customization, and be easy to deploy and upgrade, and be well supported by both Microsoft and the independent software vendors community at large.
Provide low-cost product customization. Product customizations are very important in a CRM environment. No single, out-of-box solution can meet every customer’s needs, so Microsoft CRM has been designed to make customizations very simple and affordable.
Scale up and out to hosted environments. While Microsoft CRM is not sold as a hosted solution, the product was designed with this deployment model in mind. The hosted application model imposes very high demands on an application, and Microsoft CRM was built to meet this demand. Even if your particular situation does not demand this level of scalability, you can feel secure knowing that Microsoft CRM can easily grow with your business.
Scale down to a single user desktop. A CRM solution is not as effective as it could be unless the product is also available in a disconnected model. Microsoft CRM can be deployed inside of Microsoft Outlook® in both connected and disconnected models. The product was designed so that you can deliver your customizations automatically from your intranet-based solution to your desktop clients, smoothly and efficiently.
Separate, but equal, application and platform tiers. Multiple tiers separate business logic from application rendering logic from data management logic.
Microsoft CRM lowers TCO by implementing a metadata-driven architecture. This model allows customers to extend the underlying database schema easily, without having to change any application or platform code.
The data structure can change without requiring any change to code in the Microsoft Dynamics CRM server or client applications.
All the information necessary for Microsoft Dynamics CRM server to operate is stored in the Microsoft Dynamics CRM metadata. This includes information about entities, attributes, relationships, and option sets.
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. Microsoft Dynamics CRM 2011 supports auditing of entity and attribute data changes on a per organization basis.
Duplicate detection lets organizations set duplicate detection policies and create duplicate detection rules for business and custom entities. You can clean the data by deleting, deactivating, or merging the duplicates reported by a duplicate detection job.
Data import lets you upload data from various customer relationship management systems and data sources into Microsoft Dynamics CRM. Microsoft Dynamics CRM includes a Web application tool called Import Data Wizard. You use this tool to import data records from one or more comma-separated values (.csv), XML Spreadsheet 2003 (.xml), or text files.
Microsoft Dynamics CRM 2011 provide a security model that protects data integrity and privacy, and supports efficient data access and collaboration.
Business Unit A scoping mechanism that defines a grouping of users for security modeling purposes; business units are hierarchical in nature. Business Units are a framework upon which a security model is built.
Security Role A collection of privileges (that are given a name) that reflect common user roles of your organization and/or business units; security roles are assigned to users or owner teams. See below for more details on Security Roles.
Privilege (access rights)The definition of a specific type of data access or action that can be granted as a right; privileges are granted through a security role and are cumulative.
Access Level While the Privilege defines the type of data access, the Access Level defines exactly to which records the privileges apply.
In Microsoft Dynamics CRM 2011 the fundamental concept in role-based security is that a role contains privileges that define a set of actions that can be performed within the organization. All the business units in the hierarchy inherit the roles you create for your business unit.
A privilege is a permission to perform an action.
Privileges apply to an entire class of objects, rather than individual instances of objects.
Privileges are "built in" to the product and are used throughout the application and platform layers. You cannot add or remove privileges, or change how privileges are used to grant access to certain functionality, but you can construct new roles from the existing privilege set.
Each privilege can have up to four access levels: Basic, Local, Deep, and Global.
Record-based security in Microsoft Dynamics CRM and Microsoft Dynamics CRM Online applies to individual records. It is provided by using access rights.
The relationship between an access right and a privilege is that access rights apply only after privileges have taken effect. For example, if a user does not have the privilege to read accounts, that user is unable to read any account, regardless of the access rights another user might grant to a specific account through sharing.
An access right is granted to a user for a particular record.
Field-level security to restrict access to high business impact fields to specific users and teams.
The extensibility platform is the heart of Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online.
When you develop an application that uses the Microsoft Dynamics CRM server, you use Web services to communicate with the underlying xRM platform layer. Microsoft Dynamics CRM uses a metadata driven architecture to provide 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.
The xRM platform contains the building blocks for an application, but by itself is nothing more than a collection of related objects. However, the interaction between those objects is used to implement more extensible logic such as the quote-to-order-to-invoice processing and pricing logic.
The xRM platform also controls access to data through security, controls access to the database, and raises events for workflow processes and custom business logic implementations (plug-ins).
Common service data tier
The data tier is the lowest level and consists of a database (loosely speaking) and a well-defined data access layer. The data management tier with Microsoft CRM supports Microsoft SQL Server 2008 as the primary data store. The data access layer provides a consistent programming interface for the service developer, which abstracts platform business logic from the underlying data source.
The domain tier is the only direct consumer of the common service data layer.
Application and custom business logic
Just as there are two distinct presentation clients in Microsoft CRM, there are also two application layers. For the Outlook-based client, a lightweight application framework was built to support the Web-based application logic, but in a disconnected mode. The browser client uses Microsoft ASP.NET application components within an application framework. There is little business logic within the application tiers; the majority of application logic revolves around rendering and data validation. The Microsoft CRM application layer only adds a small amount of customized business logic; the majority was "built-in" to the platform itself.
Both application tiers use XML messages to communicate with the underlying platform layer. Communication between the application tier and the platform tier uses SOAP for both Outlook- and browser-based clients.
Service tier: domain logic
The service tier is responsible for creating problem domain-specific objects. This layer contains the building blocks for an application; but, by itself, is nothing more than a collection of related objects. However, the interaction between those objects within the domain can be assumed to implement more extensible logic, such as the Quote to Order to Invoice processing and pricing logic. The service tier contains more than just the Microsoft CRM business objects. It’s responsible for controlling access to objects and the database, raising events for workflow processes and custom business logic implementations.
The user interface and presentation tier
Microsoft CRM has two distinct presentation components, Microsoft Internet Explorer as the rich, Web-based4 user experience; and Microsoft Outlook as the rich, Microsoft Windows operating system-based experience. Both components make use of the rendering technology built into Internet Explorer. The internal rendering engine is hosted inside Outlook to present the same general look and feel as the Web application, but without the need for a Web server.
The .NET Framework is a technology that supports building and running of applications and services.
The .NET Framework is designed to fulfill the following objectives:
- To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
- To provide a code-execution environment that minimizes software deployment and versioning conflicts.
- To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party.
- To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.
- To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications.
- To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.
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.
Dynamics CRM 2011 introduces a new streamlined WCF endpoint that takes the place of the prior web services. The WCF endpoint is a consolidated API that includes both the CRM Service and the Metadata Service API in prior versions. The WSDL (service contract definition) is static and is the same for any organization.
The Microsoft Windows Workflow Foundation provides a programming framework and tools for developing and executing a wide variety of workflow-based applications.
Visualizing user process
Designing workflows visually make orchestration easier, as we say "one picture is worth a thousand words". This allow you to focus on user process so it has direct impact on user experience. Instead of getting application that "just works", users will get application oriented on their goals, which will offer much better UX.
Better collaboration between technical and non-technical people
Visual representation of application makes easier to collaborate for technical and non-technical people, because diagrams are the common language. It means that developers, UX experts, business people are speaking the same precise language which is more expressive than code or just speaking in English. Moreover, because activities on the workflow are representation of business activities, design is naturally more user-oriented.
Comprehensive technology stack
In version 4.5 of WWF Microsoft done really good job! The previous versions were criticized, for example in early versions designer was not very useful, also often crashes. But version 4.5 is very good and designer works fine. WWF offers many components that allow you quickly design workflow visually and put it on production. The tooling is very comprehensive from designing workflow in VS.NET to re-hosting workflow designer in separate application so that end users can adjust workflows themselves. Rich integration with WCF is great feature and allow to build workflow-driven WCF services without writing any code. Also workflows versioning and updating its definition at runtime are very powerful features, so you can easier maintain new releases and bug fixes for your workflow applications. Cool feature is visual debugging! You can place breakpoints on specific activities and jump between them or just step through the workflow. Here is full list of new features in WWF 4.5.
Reusability and integrations
The fact that workflow consists of activities dropped on designer surface from toolbox, you can focus on building libraries of reusable activities that might be used across many applications. Of course reusability might be achieved on code level, but visualizing orchestration makes easier to discovering general business activities. Also integrations are easier because you can build reusable component libraries for most popular APIs like Google Analytics, Facebook, MailChimp or any other and integrate it with your applications by dropping specific activities on workflow designer.
Durable timers
This is super feature. You can use build-in Delay activity to postpone workflow execution. In combination with out-of-the-box persistence feature in WWF you can quickly implement workflow that will be persisted for even long period of time to resume execution automatically. It is very common task in human workflows, e.g. when someone takes trial of your application you can remind him to upgrade plan or in ecommerce you can remind user to place pending order.
External signaling
Another great feature that in conjunction with previous one allows you to wake up your workflow by external event. It might be web service call, file upload, specific message arrived on the messaging bus or just user action. For example in procurement it might be approval process or performing data import when file is uploaded, also intra-process communication.
Composition
Every workflow is an activity so you can compose workflows consisting of different workflows. In that way you can structure complex processes from smaller ones to deal with complexity.
Microsoft Dynamics CRM provides an extension mechanism for implementing validation and custom platform-based business logic. You can construct business logic that is integrated with Microsoft Dynamics CRM and executes in response to a particular system event for a specific entity.
Plug-ins support an event handler interface that is based on a pipeline execution model. The pipeline model allows for event handlers, also known as plug-ins, to be executed before or after the core operation of the system. When an action occurs caused by user interaction with the Web application or a Web service call, the platform checks for registered event handlers. If a handler is registered for notification, the platform executes a well-defined event handler method, passing it run-time information.
The ability to create custom business logic using the plug-in mechanism described in the Microsoft Dynamics CRM SDK is fully supported and upgradeable. This feature is available for all Microsoft Dynamics CRM deployments, including on-premises, IFD, and Online.
The following figure illustrates the overall architecture of the Microsoft Dynamics CRM platform with respect to both synchronous and asynchronous event processing.
The event execution pipeline processes events either synchronously or asynchronously. The platform core operation and any plug-ins registered for synchronous execution are executed immediately. Synchronous plug-ins that are registered for the event are executed in a well-defined order. Plug-ins registered for asynchronous execution are queued by the Asynchronous Queue Agent and executed at a later time by the asynchronous service.
Important: Regardless of whether a plug-in executes synchronously or asynchronously, there is a 2-minute time limit imposed on the execution of a plug-in registered in the sandbox. If the execution of your plug-in logic exceeds the time limit, a System.TimeoutException is thrown. If a plug-in needs more processing time than the 2-minute time limit, consider using a workflow or other background process to accomplish the intended task.
The event pipeline is divided into multiple stages, of which 4 are available to register custom developed or 3rd party plug-ins. Multiple plug-ins that are registered in each stage can be further be ordered (ranked) within that stage during plug-in registration.
Message Processing
Whenever application code or a workflow invokes a Microsoft Dynamics CRM Web service method, a state change in the system occurs that raises an event. The information passed as a parameter to the Web service method is internally packaged up into a OrganizationRequest message and processed by the pipeline. The information in the OrganizationRequest message is passed to the first plug-in registered for that event where it can be read or modified before being passed to the next registered plug-in for that event and so on. Plug-ins receive the message information in the form of context that is passed to their Execute method. The message is also passed to the platform core operation.
Plug-in Registration
Plug-ins can be registered to execute before or after the core platform operation. Pre-event registered plug-ins receive the OrganizationRequest message first and can modify the message information before the message is passed to the core operation. After the core platform operation has completed, the message is then known as the OrganizationResponse. The response is passed to the registered post-event plug-ins. Post-event plug-ins have the opportunity to modify the message before a copy of the response is passed to any registered asynchronous plug-ins. Finally, the response is returned to the application or workflow that invoked the original Web service method call.
Because a single Microsoft Dynamics CRM server can host more than one organization, the execution pipeline is organization specific. There is a virtual pipeline for every organization. Plug-ins registered with the pipeline can only process business data for a single organization. A plug-in that is designed to work with multiple organizations must be registered with each organization's execution pipeline.
Any registered plug-in that executes during the database transaction and that passes an exception back to the platform cancels the core operation. This results in a rollback of the core operation. In addition, any pre-event or post event registered plug-ins that have not yet executed and any workflow that is triggered by the same event that the plug-in was registered for will not execute.
Business processes are an integral part of any enterprise software application. A business process can be of two types: automated processes that rely solely on communication among applications based on a set of rules, and interactive processes that also rely on people to initiate and run the process, and to make the appropriate decisions during the running of the process.
While the name has been changed to process, the entity that is used to implement a process is still called workflow.
A Microsoft Dynamics CRM process provides many out-of-the-box components that business users and administrators can use to model their business processes. Microsoft Dynamics CRM also offers developers a mechanism to extend and customize the standard behavior of processes to achieve the functionality that their business applications require by allowing them to develop custom components.
Processes are built on top of Windows Workflow Foundation 4. For more information, see Windows Workflow Foundation.
Windows Workflow Foundation provides a runtime engine, a framework, a base library of activities, and default implementations of the runtime services. The Windows Workflow Foundation runtime engine manages process execution, and supports processes that can remain active for extended periods. It preserves the state of process execution during computer shutdown and restart.
Workflows. The automated or asynchronous processes that may require user input to start them. Further, these processes do not require user input to run them to completion. These processes run in the background.
Dialogs. The interactive or synchronous processes that require user input to start and run them to completion. When you start the dialog process, a wizard-like interface is presented to you so you can make appropriate selections to run the process.
Internal Components. The internal components that support the Microsoft Dynamics CRM process programming model include Web services, shared platform, and business logic.
The shared platform consists of common Microsoft Dynamics CRM components that provide registration, metadata cache, and data access services.
Business logic contains the implementation of business logic for Microsoft Dynamics CRM business entities.
External Components. The external components are as follows:
Windows Workflow Foundation object model, which contains a set of classes used to create and parse workflow process definitions in XAML format.
Windows Workflow Foundation execution, which contains a set of classes used to execute workflow processes.
Process Infrastructure. The Microsoft Dynamics CRM process infrastructure consists of the following components:
Process entity model, which contains a set of classes that use the Windows Workflow Foundation object model and expose Microsoft Dynamics CRM workflow activities.
Process business logic, which implements business logic for process-specific entities.
Process execution, which provides workflow execution services, such as workflow hosting and persistence.
Process Data. The Microsoft Dynamics CRM process programming model is supported by the following data:
Business data, which contains information associated with Microsoft Dynamics CRM entities.
Process configuration data, which includes workflow process definitions, compiled workflow processes, and workflow process settings.
Process runtime data, which is required to execute workflow processes and implement workflow process features, such as persistence and notifications.
1. When you create a workflow, it is in the Draft state. You must activate the workflow before it can run. When you activate a workflow, it subscribes to specific Microsoft Dynamics CRM events. When these events are triggered in the platform, a snapshot of the workflow dependencies and input parameters are created and a new asynchronous operation is added to the asynchronous service queue manager. The asynchronous operation represents a workflow execution job and awaits execution in the queue in the Ready state.
2. When the asynchronous operation is processed, a workflow instance, associated with this operation, is created by the Windows Workflow Foundation run-time engine and the state of it is changed from Ready to Locked.
3. The asynchronous operation is updated with the workflow instance state status on each transition. When the asynchronous operation is blocked, the Windows Workflow Foundation run-time engine puts the workflow instance into the Suspended state and removes it from memory. When the Suspended state conditions are satisfied, the workflow instance is loaded back into memory.
4. The workflow execution resumes by putting the workflow instance into a Ready state and then into a Locked state. In the simple scenario, the workflow instance moves to a Completed state when all workflow activities have completed successfully. The state of asynchronous operations can also be changed by the user. For example, an asynchronous operation that is in a Suspended state can explicitly be restarted by the user.
1. When you create a dialog, it is in the Draft state. You must activate the dialog before it can be run. A dialog can be run from its primary entity form and grid, or directly by using the URL of the dialog. For more information, see Start Dialog by using an URL.
2. Every time that you run a dialog, a process session (dialog session) instance is created for the dialog. As you progress with running the dialog, the dialog session entity is updated with the actions performed during the running of the dialog.
3. If you completed running the dialog successfully, the corresponding dialog session record is created with a Complete status. If you canceled the dialog without completing it, the corresponding dialog session record is created with an Incomplete status.
Microsoft JScript functions that are associated through the customization tools to the available events in the form are supported. Interaction with data in the form is supported when performed using documented objects and methods available within the Xrm.Page.data object. Interaction with the form appearance and behavior is supported when performed using documented objects and methods available within the Xrm.Page.ui object. However, any direct interaction with the HTML Document Object Model (DOM) will probably not be upgradable. The structure of forms and HTML elements used in the forms could change in future releases.
context Provides methods to retrieve information specific to an organization, a user, or parameters that were passed to the form in a query string.
data Provides access to the entity data.
ui Contains methods to retrieve information about the user interface, in addition to collections for several sub components of the form.
There are two web services you can use to access data by using JavaScript.
The REST endpoint provides a ‘RESTful’ web service using OData to provide a programming environment that is familiar to many developers. It is the recommended web service to use for tasks that involve creating, retrieving, updating and deleting records. However, in this release of Microsoft Dynamics CRM the capabilities of this Web service are limited to these actions. Future versions of Microsoft Dynamics CRM will enhance the capabilities of the REST endpoint.
The SOAP endpoint provides access to all the messages defined in the Organization service. However, only the types defined within the WSDL will be returned. There is no strong type support. While the SOAP endpoint is also capable of performing create, retrieve, update and delete operations, the REST endpoint provides a better developer experience. In this release of Microsoft Dynamics CRM the SOAP endpoint provides an alternative way to perform operations that the REST endpoint is not yet capable of.
The IFRAME element defines an inline frame for the inclusion of external objects including other HTML documents.
The designs you choose for the form are also used for the Microsoft Dynamics CRM for Microsoft Office Outlook reading pane and read-optimized forms. Web resources and IFRAMEs are not displayed using the Microsoft Dynamics CRM for Outlook reading pane, but IFRAMEs are displayed in read-optimized forms. If your IFRAME depends on access to the Xrm.Page object of the page or any form event handlers, you should configure the IFRAME so that it is not visible by default.
Microsoft Dynamics CRM data and metadata are stored in a Microsoft SQL Server database named <organization_name>_MSCRM on the server that is running Microsoft SQL Server in the Microsoft Dynamics CRM installation. SQL-based reports in Microsoft Dynamics CRM use the filtered views provided for each entity to retrieve data for the reports. Filtered views are fully compliant with the Microsoft Dynamics CRM security model. When you run a report that obtains data from filtered views, the Microsoft Dynamics CRM security role determines what data you can view in the report. Data in filtered views is restricted at these levels: the organization, the business unit, the owner, and at the field level.
Filtered views exist for all Microsoft Dynamics CRM entities, including custom entities. Your custom SQL-based reports cannot read data directly from the Microsoft Dynamics CRM database tables. Instead, you must use the filtered views to retrieve data for your custom SQL-based reports.
Reporting Services is a server-based reporting platform that provides comprehensive reporting functionality for a variety of data sources. Reporting Services includes a complete set of tools for you to create, manage, and deliver reports, and APIs that enable developers to integrate or extend data and report processing in custom applications. Reporting Services tools work within the Microsoft Visual Studio environment and are fully integrated with SQL Server tools and components.
SQL-based These reports use SQL queries to securely retrieve data for reports from filtered views defined by the system. These are the same reports that have been available for previous versions of Microsoft Dynamics CRM. The default reports that are shipped with Microsoft Dynamics CRM 2011 are SQL-based reports.
For security reasons, you cannot deploy custom SQL-based reports to Microsoft Dynamics CRM Online.
Fetch-based These reports are introduced in Microsoft Dynamics CRM 2011 and use FetchXML queries to retrieve data for reports. You can deploy custom fetch-based reports to Microsoft Dynamics CRM Online and to on-premises Microsoft Dynamics CRM 2011. All reports that are created using the Report Wizard in the Microsoft Dynamics CRM 2011 are Fetch-based reports.
Reports in Microsoft Dynamics CRM Online run in sandbox mode, and this is done by enabling RDL sandboxing in Microsoft SQL Server Reporting Services. As a result, certain features might not be available in Microsoft Dynamics CRM Online. For example, custom code in your report definition will not work. For more information, see Enabling and Disabling RDL Sandboxing .
On-premise deployment
In an on-premise deployment, the Microsoft customer deploys Microsoft Dynamics CRM in its own data center. In an on-premise deployment, an internet-facing deployment (IFD) configuration is optional and only necessary when users outside the customer's network need access to the CRM application.
Partner-hosted deployment
In a partner-hosted deployment, a Microsoft hosting partner deploys Microsoft Dynamics CRM in the partner's data center. Customer access to the CRM application is usually achieved by using an IFD configuration.
Online deployment
In an online deployment, the customer subscribes to the Microsoft Dynamics CRM Online service that is hosted by Microsoft in its data centers.
Internet Lead Capture with CRM 2011 for non-US customers/partners - This feature creates a page that enable us to capture web leads with Microsoft Dynamics CRM 2011.
In Microsoft Dynamics CRM Server 2011, you can install specific server functionality, components, and services on different computers. These components and services correspond to specific server roles.
The integration framework within Dynamics CRM is built on Windows Communication Foundation (WCF) endpoints that have been streamlined to provide a set of tools to simplify the development of integrated solutions. This framework supports Language Integrated Query (LINQ) queries to retrieve data from Microsoft Dynamics CRM. The REST endpoint for AJAX and Microsoft Silverlight clients provides an alternative interface that can be leveraged to work with Microsoft Dynamics CRM data. Rather than directly invoking a Simple Object Access Protocol (SOAP)-based Web service, requests can be executed using a service that is based on a URI.
SOAP defines a standard communication protocol (set of rules) specification for XML-based message exchange. SOAP uses different transport protocols, such as HTTP and SMTP. The standard protocol HTTP makes it easier for SOAP model to tunnel across firewalls and proxies without any modifications to the SOAP protocol. SOAP can sometimes be slower than middleware technologies like CORBA or ICE due to its verbose XML format.
REST describes a set of architectural principles by which data can be transmitted over a standardized interface (such as HTTP). REST does not contain an additional messaging layer and focuses on design rules for creating stateless services. A client can access the resource using the unique URI and a representation of the resource is returned. With each new resource representation, the client is said to transfer state. While accessing RESTful resources with HTTP protocol, the URL of the resource serves as the resource identifier and GET, PUT, DELETE, POST and HEAD are the standard HTTP operations to be performed on that resource.
Dynamics CRM 2011 now has built-in integration with SharePoint for document management. From CRM it is now possible to associate Microsoft SharePoint Document locations to a CRM record. Once associated, users are able to collaborate on documents in the context of CRM records.
Microsoft SharePoint integration can be enabled for both built-in and custom entities using the following dialog.
Once SharePoint is enabled for an entity and SharePoint also has the CRM List components installed, folders are automatically created as users work with the records in CRM.
User authentication in Dynamics CRM 2011 is based on Windows Identity Foundation that forms the basis for claims based authentication, allowing a user to present their identity as a set of claims.
Your choice of authentication method depends on your organization's design and deployment goals.
After deploying claims-based authentication, internal users can continue to use Windows Authentication to access Microsoft Dynamics CRM data (for example, using http://<crmserver:port>/orgname).Before deploying claims-based authentication in a production environment, first test your deployment settings in a test environment.
Claims-based identity is a common way for applications to acquire the identity information they need about users inside their organization, in other organizations, and on the Internet. It also provides a consistent approach for applications running on-premises or in the cloud.
Claims-based authentication provides an industry standard security protocol to authenticate a user on a host computer. Claims-based authentication is a set of WS-* standards describing the use of a Security Assertion Markup Language (SAML) token.
Claims-based authentication requires the availability of a security token service (STS) running on a server. An STS server can be based on Active Directory Federation Services (AD FS) V2, or any platform that provides the official STS protocol.
A claim is a statement that one subject, such as a person or organization, makes about itself or another subject. For example the statement can be about a name, group, buying preference, ethnicity, privilege, association or capability. The subject making the claim or claims is the provider. Claims are packaged into one or more tokens that are then issued by an issuer (provider), commonly known as a Security Token Service (STS).
Security Assertions Markup Language (SAML) tokens are XML representations of claims.