Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Software Architecture                  &          Design Patterns for              Developers    Sebastian Waksmundzki    ...
Hello World• Senior Dynamics Architect      • Over 12 years experience      • I still love technology and code      • MS C...
Agenda• Architecture   – Architectural patterns and styles• Design patterns   – Master Data Management   – Data Quality   ...
PatternsFrom the Yahoo Design Pattern Library:• Patterns are optimal solutions to common  problems. As common problems are...
Patterns• Architectural pattern is a concept i.e. ETL• Design Patterns is a reusable solution i.e.  Batch ETLConnect + Lea...
Domain Area              Architecture Pattern Name                Design Patterns                   Solution PatternsData ...
Let’s move onConnect + Learn = Grow
Master data management - domain                  (Master Data Replication) – design pattern• Business Problem      Company...
Master data management                   (Master Data Replication)Connect + Learn = Grow
Master data management                   (Master Data Replication)• Candidate architectures   – Database synchronization  ...
Master data management                   (Master Data Replication)• Proposed solution   – Azure Service Bus with Pub SubCo...
Master data management              (Master Data Replication) pub /sub FilteringConnect + Learn = Grow
Master data management                   (Master Data Replication)                           DEMOConnect + Learn = Grow
Master data management                   (Master Data Replication)• Proposed solution benefits   – Scalability   – (One)(M...
Master data management                   (Master Data Replication)• RU 12 Updates   New in Microsoft Dynamics CRM 2011 Upd...
Data Integration                         (ETL Data Quality)• Candidate architectures   – 3rd party tools (they are generic...
Data DQSAccount     Home       Team       Revenue               Home              Address   ID       Team       Type      ...
Data Integration                         (ETL Data Quality)• Proposed solution benefits   – Toolset already with SQL 2012 ...
Data Integration                         (ETL Data Quality)• Proposed solution      SQL 2012 DQS together with SSISConnect...
Data Integration                         (ETL Data Quality)                             DEMOConnect + Learn = Grow
Data Integration                    (Connected systems ESB )• Business Problem   XYZ Enterprise has CRM online used by sal...
Data Integration                    (Connected systems ESB )• Candidate architectures   – BizTalk   – Export Import File  ...
Data Integration                    (Connected systems ESB )• Proposed solution Extended Service BusConnect + Learn = Grow
Data Integration                    (Connected systems ESB )       Azure AppFabric vs. Server AppFabricWindows Azure AppFa...
Data Integration                   (Connected systems ESB)                          DEMOConnect + Learn = Grow
Complex Event Processing• Business Problem    XYZ has network of websites, which sell goods,   they want identify the best...
Complex Event Processing• Candidate architectures   – BizTalk   – StreamInsight   – Message based Event ProcessingConnect ...
Long running processes• Business Problem   – XYZ has MS CRM which stores Golden Copy     records for financial instruments...
Long running processes• Proposed solution             Windows Server AppFabric WorkflowsConnect + Learn = Grow
Long running processes• Candidate architectures   – Workflow inside CRM   – BizTalk Orchestration   – Windows Appfabric Wo...
Long running processes                   What are Workflow Services?                           WCF Service                ...
Long running processes• Proposed solution benefits   – Fully declarative XAML modelling in WF 4 (workflows     & activitie...
Long running processes                     (workflows)                         DEMOConnect + Learn = Grow
Long running processes                 Workflow ManagerWorkflow Manager 1.0 is a new server which introducesnew capabiliti...
UI Mashups• Business Problem   – Transactional data not visible in MS CRM• Key requirements   – 10 million historical tran...
Mashups• Candidate architectures   – Load all transactions to MS CRM Custom     entity   – More Licenses for transactional...
Mashups• Proposed solution UI MashupConnect + Learn = Grow
Thank youConnect + Learn = Grow
Sebastian Waksmundzki                             EDataLabs Ltd                           seb@edatalabs.netThank You to al...
Session Evaluation Survey online:     http://www.extremecrm.com/Pages/2013RomeSurvey.aspxConnect + Learn = Grow
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
Dynamics CRM - Solution Architecture
Next
Upcoming SlideShare
Dynamics CRM - Solution Architecture
Next
Download to read offline and view in fullscreen.

Share

Software architecture & design patterns for MS CRM Developers

Download to read offline

Presentation from my session at extreme CRM 2013 .

Related Books

Free with a 30 day trial from Scribd

See all

Software architecture & design patterns for MS CRM Developers

  1. 1. Software Architecture & Design Patterns for Developers Sebastian Waksmundzki eDataLabs Ltd. www.edatalabs.netConnect + Learn = Grow
  2. 2. Hello World• Senior Dynamics Architect • Over 12 years experience • I still love technology and code • MS CRM (since 1.2 ), SharePoint, ERP(s)• Social • Blog www.mindthecloud.net • Twitter @qmiswaxConnect + Learn = Grow
  3. 3. Agenda• Architecture – Architectural patterns and styles• Design patterns – Master Data Management – Data Quality – Connected systems – Complex Event Processing – Long running processes – MashupsConnect + Learn = Grow
  4. 4. PatternsFrom the Yahoo Design Pattern Library:• Patterns are optimal solutions to common problems. As common problems are tossed around a community and are resolved, common solutions often spontaneously emerge. Eventually, the best of these rise above the din and self-identify and become refined until they reach the status of a Design PatternConnect + Learn = Grow
  5. 5. Patterns• Architectural pattern is a concept i.e. ETL• Design Patterns is a reusable solution i.e. Batch ETLConnect + Learn = Grow
  6. 6. Domain Area Architecture Pattern Name Design Patterns Solution PatternsData Integration • ETL • Change Data Capture • Error handling • Near Real-Time ETL • Job scheduling • Batch ETL • Data validation • Data Discovery • Slowly Changing Dimensions Load • MFT • Publish/subscribe • One-Way • EAI/ESB • Request/reply • Synchronous • Message Exchange Patterns Request/Response • Basic Call-back • Claim CheckData Architecture • Transaction Data Stores (TDS/OLTP) • Custom Applications • Master Data Store Databases • Operational Data Store • Packaged Application • Data Mart Databases • Data WarehouseBusiness Intelligence • Transactional Reporting • Transactional Reporting • Real-Time Dashboards • Operational Reporting Data Access • In-Memory Analytics • Analytical Reporting • Operational Reporting Data • Statistical Analysis Access • Predictive analytics • Analytical Reporting Data Access • Analytical Dashboard Data Access • Operational Dashboard Data Access • Data MiningMaster data management • Master Data Hub • Master Data Replication • Master Data Services • Master Data SynchronizationData Modelling • Dimensional Data Modelling • Modelling Standards • E-R Data Modelling • Naming ConventionsConnect + Learn = Grow
  7. 7. Let’s move onConnect + Learn = Grow
  8. 8. Master data management - domain (Master Data Replication) – design pattern• Business Problem Company XYZ Corp: Headquarter + 2 remote locations , all have separate MS CRM instances (one online)• Key requirements• The central master data be synchronized to all instances so that each instance has access to the latest version of the core information.• Solution has to allow : – Secure and reliable cross-boundary communication – Scalability• We need to synchronise: – Reference data, countries, currency codes, products –phase 1 – Transactional data, which describes or results from an action by or with the business.• Only Relevant data should be synchronised• Some data should be published on a portal for customersConnect + Learn = Grow
  9. 9. Master data management (Master Data Replication)Connect + Learn = Grow
  10. 10. Master data management (Master Data Replication)• Candidate architectures – Database synchronization – SSIS – GEO cluster – File Exchange – Send Email (Pigeons) – Azure Service BusConnect + Learn = Grow
  11. 11. Master data management (Master Data Replication)• Proposed solution – Azure Service Bus with Pub SubConnect + Learn = Grow
  12. 12. Master data management (Master Data Replication) pub /sub FilteringConnect + Learn = Grow
  13. 13. Master data management (Master Data Replication) DEMOConnect + Learn = Grow
  14. 14. Master data management (Master Data Replication)• Proposed solution benefits – Scalability – (One)(Many)-to-many communication. – Secure and reliable cross-boundary communication. – Improved security.Connect + Learn = Grow
  15. 15. Master data management (Master Data Replication)• RU 12 Updates New in Microsoft Dynamics CRM 2011 Update Rollup 12 is a property bag of extra information added to each brokered message Properties. The property bag, available with persistent queue and topic contract endpoints, contains the following information. – Organization Url – Calling user ID – Initiating user ID – Entity logical name – Request nameConnect + Learn = Grow
  16. 16. Data Integration (ETL Data Quality)• Candidate architectures – 3rd party tools (they are generic) – Manual cleansing process – Build custom .net program – SQL 2012 DQS with SSISConnect + Learn = Grow
  17. 17. Data DQSAccount Home Team Revenue Home Address ID Team Type Type Sales Arena Line City State Zip Boston Food &A124324 Celtics Basketball Beverages 655 TD Garden 100 Legends Way Boston MA 2114 2114 New York East 161st Street &7676862 Yankees Baseball Music 389 Yankee Stadium River Avenue NY NY Seattle4934235 Mariners Baseball MLB Music 443 Safeco Field 1516 First Avenue S Seattle WA 98134 98134 Data Quality Knowledge Base Account ID Team Type Address Line City State Zip Structure ValuesType Team External address validation provider Rule Synonyms Reference Validation Detection Data Full Address - Composite Domain Connect + Learn = Grow 17
  18. 18. Data Integration (ETL Data Quality)• Proposed solution benefits – Toolset already with SQL 2012 – Corporate Knowledge Base – Fast, reliable – Improves DQ on different dimensions • Completeness • Accuracy • Consistency • UniquenessConnect + Learn = Grow
  19. 19. Data Integration (ETL Data Quality)• Proposed solution SQL 2012 DQS together with SSISConnect + Learn = Grow
  20. 20. Data Integration (ETL Data Quality) DEMOConnect + Learn = Grow
  21. 21. Data Integration (Connected systems ESB )• Business Problem XYZ Enterprise has CRM online used by sales team. Invoices generated should promptly appear in ERP system as well as on SharePoint site.• Key requirements – Scalable secure communication – Multiple systemsConnect + Learn = Grow
  22. 22. Data Integration (Connected systems ESB )• Candidate architectures – BizTalk – Export Import File – Extended Service BusConnect + Learn = Grow
  23. 23. Data Integration (Connected systems ESB )• Proposed solution Extended Service BusConnect + Learn = Grow
  24. 24. Data Integration (Connected systems ESB ) Azure AppFabric vs. Server AppFabricWindows Azure AppFabric as a brand namedoesnt exist anymore. It is now calledWindows Azure "Client Libraries for .NET"Connect + Learn = Grow
  25. 25. Data Integration (Connected systems ESB) DEMOConnect + Learn = Grow
  26. 26. Complex Event Processing• Business Problem XYZ has network of websites, which sell goods, they want identify the best customers in near real time• Key requirements – Identify best customers in near real time – Information about customers should be in MS CRMConnect + Learn = Grow
  27. 27. Complex Event Processing• Candidate architectures – BizTalk – StreamInsight – Message based Event ProcessingConnect + Learn = Grow
  28. 28. Long running processes• Business Problem – XYZ has MS CRM which stores Golden Copy records for financial instruments, GC record is “combined” from at least 3 sources• Key requirements – Multiple different sources – Processing and GC generation takes timeConnect + Learn = Grow
  29. 29. Long running processes• Proposed solution Windows Server AppFabric WorkflowsConnect + Learn = Grow
  30. 30. Long running processes• Candidate architectures – Workflow inside CRM – BizTalk Orchestration – Windows Appfabric WorkflowConnect + Learn = Grow
  31. 31. Long running processes What are Workflow Services? WCF Service WF Workflow WCF endpoint Operation External Service WCF endpoint Operation External ServiceConnect + Learn = Grow
  32. 32. Long running processes• Proposed solution benefits – Fully declarative XAML modelling in WF 4 (workflows & activities) – Testable solution – Elastic scale – Improved performance, availability and reliability – A complete hosting environment for long running workflows, including persistence.Connect + Learn = Grow
  33. 33. Long running processes (workflows) DEMOConnect + Learn = Grow
  34. 34. Long running processes Workflow ManagerWorkflow Manager 1.0 is a new server which introducesnew capabilities for authoring, hosting and managingworkflows. These workflows will run at high scale anddensity, and will support execution in a multi-tenantenvironment. In addition, Workflow Manager 1.0 is used by SharePoint 2013Connect + Learn = Grow
  35. 35. UI Mashups• Business Problem – Transactional data not visible in MS CRM• Key requirements – 10 million historical transactions visible in MS CRM – Transactional system produces up to 100,000 transactions per dayConnect + Learn = Grow
  36. 36. Mashups• Candidate architectures – Load all transactions to MS CRM Custom entity – More Licenses for transactional system – UI MashupConnect + Learn = Grow
  37. 37. Mashups• Proposed solution UI MashupConnect + Learn = Grow
  38. 38. Thank youConnect + Learn = Grow
  39. 39. Sebastian Waksmundzki EDataLabs Ltd seb@edatalabs.netThank You to all of our Sponsors and thank YOU for attending eXtremeCRM 2013 Rome! Please remember to fill out your session evaluation survey online! The link to the survey was emailed to you, or go to: http://www.extremecrm.com/Pages/2013RomeSurvey.aspx Complete prior to the closing session to be included in today’s drawing! Connect + Learn = Grow
  40. 40. Session Evaluation Survey online: http://www.extremecrm.com/Pages/2013RomeSurvey.aspxConnect + Learn = Grow
  • selvakumarkandsamy

    Mar. 6, 2019
  • tikluganguly

    May. 30, 2017
  • ssuser2f66bb

    Jul. 21, 2016
  • Ersinztrk

    Jul. 13, 2016
  • darktiger1809

    Sep. 13, 2015
  • ViniciusPinheiro6

    Oct. 8, 2014
  • cheng32

    May. 7, 2014

Presentation from my session at extreme CRM 2013 .

Views

Total views

7,958

On Slideshare

0

From embeds

0

Number of embeds

41

Actions

Downloads

255

Shares

0

Comments

0

Likes

7

×