SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Software Architecture
                  &
          Design Patterns for
              Developers
    Sebastian Waksmundzki
    eDataLabs Ltd.
    www.edatalabs.net




Connect + Learn = Grow
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 @qmiswax




Connect + Learn = Grow
Agenda
• Architecture
   – Architectural patterns and styles
• Design patterns
   – Master Data Management
   – Data Quality
   – Connected systems
   – Complex Event Processing
   – Long running processes
   – Mashups

Connect + Learn = Grow
Patterns
From 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 Pattern

Connect + Learn = Grow
Patterns
• Architectural pattern is a concept i.e. ETL
• Design Patterns is a reusable solution i.e.
  Batch ETL




Connect + Learn = Grow
Domain Area              Architecture Pattern Name                Design Patterns                   Solution Patterns


Data 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 Check
Data Architecture        •   Transaction Data Stores (TDS/OLTP)   •   Custom Applications
                         •   Master Data Store                        Databases
                         •   Operational Data Store               •   Packaged Application
                         •   Data Mart                                Databases
                         •   Data Warehouse
Business 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 Mining

Master data management   •   Master Data Hub                      •   Master Data Replication
                                                                  •   Master Data Services
                                                                  •   Master Data Synchronization


Data Modelling           •   Dimensional Data Modelling           •   Modelling Standards
                         •   E-R Data Modelling                   •   Naming Conventions




Connect + Learn = Grow
Let’s move on




Connect + Learn = Grow
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 customers



Connect + Learn = Grow
Master data management
                   (Master Data Replication)




Connect + Learn = Grow
Master data management
                   (Master Data Replication)


• Candidate architectures
   – Database synchronization
   – SSIS
   – GEO cluster
   – File Exchange
   – Send Email (Pigeons)
   – Azure Service Bus



Connect + Learn = Grow
Master data management
                   (Master Data Replication)


• Proposed solution
   – Azure Service Bus with Pub Sub




Connect + Learn = Grow
Master data management
              (Master Data Replication) pub /sub




 Filtering




Connect + Learn = Grow
Master data management
                   (Master Data Replication)




                           DEMO




Connect + Learn = Grow
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
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 name

Connect + Learn = Grow
Data Integration
                         (ETL Data Quality)


• Candidate architectures
   – 3rd party tools (they are generic)
   – Manual cleansing process
   – Build custom .net program
   – SQL 2012 DQS with SSIS




Connect + Learn = Grow
Data DQS

Account     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
          Seattle
4934235   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
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
      •   Uniqueness

Connect + Learn = Grow
Data Integration
                         (ETL Data Quality)


• Proposed solution
      SQL 2012 DQS together with SSIS




Connect + Learn = Grow
Data Integration
                         (ETL Data Quality)




                             DEMO




Connect + Learn = Grow
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 systems


Connect + Learn = Grow
Data Integration
                    (Connected systems ESB )


• Candidate architectures
   – BizTalk
   – Export Import File
   – Extended Service Bus




Connect + Learn = Grow
Data Integration
                    (Connected systems ESB )


• Proposed solution Extended Service Bus




Connect + Learn = Grow
Data Integration
                    (Connected systems ESB )


       Azure AppFabric vs. Server AppFabric

Windows Azure AppFabric as a brand name
doesn't exist anymore. It is now called
Windows Azure "Client Libraries for .NET"




Connect + Learn = Grow
Data Integration
                   (Connected systems ESB)




                          DEMO




Connect + Learn = Grow
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
     CRM


Connect + Learn = Grow
Complex Event Processing

• Candidate architectures
   – BizTalk
   – StreamInsight
   – Message based Event Processing




Connect + Learn = Grow
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 time



Connect + Learn = Grow
Long running processes

• Proposed solution
             Windows Server AppFabric Workflows




Connect + Learn = Grow
Long running processes

• Candidate architectures
   – Workflow inside CRM
   – BizTalk Orchestration
   – Windows Appfabric Workflow




Connect + Learn = Grow
Long running processes
                   What are Workflow Services?

                           WCF Service

                            WF Workflow

            WCF endpoint             Operation



                                                 External
                                                 Service


            WCF endpoint     Operation



                                                 External
                                                 Service




Connect + Learn = Grow
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
Long running processes
                     (workflows)




                         DEMO




Connect + Learn = Grow
Long running processes
                 Workflow Manager
Workflow Manager 1.0 is a new server which introduces
new capabilities for authoring, hosting and managing
workflows. These workflows will run at high scale and
density, and will support execution in a multi-tenant
environment.

  In addition, Workflow Manager 1.0 is used by
  SharePoint 2013




Connect + Learn = Grow
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 day



Connect + Learn = Grow
Mashups

• Candidate architectures
   – Load all transactions to MS CRM Custom
     entity
   – More Licenses for transactional system
   – UI Mashup




Connect + Learn = Grow
Mashups

• Proposed solution UI Mashup




Connect + Learn = Grow
Thank you




Connect + Learn = Grow
Sebastian Waksmundzki
                             EDataLabs Ltd
                           seb@edatalabs.net

Thank 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
Session Evaluation Survey online:
     http://www.extremecrm.com/Pages/2013RomeSurvey.aspx




Connect + Learn = Grow

Contenu connexe

Tendances

Power BI: From the Basics
Power BI: From the BasicsPower BI: From the Basics
Power BI: From the BasicsNikkia Carter
 
Azure Information Protection
Azure Information ProtectionAzure Information Protection
Azure Information ProtectionRobert Crane
 
QRadar Architecture.pdf
QRadar Architecture.pdfQRadar Architecture.pdf
QRadar Architecture.pdfPencilData
 
Enterprise Mobility+Security Overview
Enterprise Mobility+Security Overview Enterprise Mobility+Security Overview
Enterprise Mobility+Security Overview Chris Genazzio
 
Power BI Made Simple
Power BI Made SimplePower BI Made Simple
Power BI Made SimpleJames Serra
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake OverviewJames Serra
 
Microsoft Power BI Technical Overview
Microsoft Power BI Technical OverviewMicrosoft Power BI Technical Overview
Microsoft Power BI Technical OverviewDavid J Rosenthal
 
IBM Q-radar security intelligence roadmap
IBM Q-radar security intelligence roadmapIBM Q-radar security intelligence roadmap
IBM Q-radar security intelligence roadmapDATA SECURITY SOLUTIONS
 
DATASTAGE AND QUALITY STAGE 9.1 ONLINE TRAINING
DATASTAGE AND QUALITY STAGE 9.1 ONLINE TRAININGDATASTAGE AND QUALITY STAGE 9.1 ONLINE TRAINING
DATASTAGE AND QUALITY STAGE 9.1 ONLINE TRAININGDatawarehouse Trainings
 
Building Data Lakes and Analytics on AWS
Building Data Lakes and Analytics on AWSBuilding Data Lakes and Analytics on AWS
Building Data Lakes and Analytics on AWSAmazon Web Services
 
User and entity behavior analytics: building an effective solution
User and entity behavior analytics: building an effective solutionUser and entity behavior analytics: building an effective solution
User and entity behavior analytics: building an effective solutionYolanta Beresna
 
Introduction to power BI
Introduction to power BIIntroduction to power BI
Introduction to power BIRamar Bose
 
Best Practices for Building Your Data Lake on AWS
Best Practices for Building Your Data Lake on AWSBest Practices for Building Your Data Lake on AWS
Best Practices for Building Your Data Lake on AWSAmazon Web Services
 

Tendances (20)

Power BI: From the Basics
Power BI: From the BasicsPower BI: From the Basics
Power BI: From the Basics
 
Database security
Database securityDatabase security
Database security
 
Building a Data Lake on AWS
Building a Data Lake on AWSBuilding a Data Lake on AWS
Building a Data Lake on AWS
 
SAP HANA Cloud Security
SAP HANA Cloud SecuritySAP HANA Cloud Security
SAP HANA Cloud Security
 
Azure Information Protection
Azure Information ProtectionAzure Information Protection
Azure Information Protection
 
QRadar Architecture.pdf
QRadar Architecture.pdfQRadar Architecture.pdf
QRadar Architecture.pdf
 
Domain 1 - Security and Risk Management
Domain 1 - Security and Risk ManagementDomain 1 - Security and Risk Management
Domain 1 - Security and Risk Management
 
Enterprise Mobility+Security Overview
Enterprise Mobility+Security Overview Enterprise Mobility+Security Overview
Enterprise Mobility+Security Overview
 
Power BI Made Simple
Power BI Made SimplePower BI Made Simple
Power BI Made Simple
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
 
Microsoft Power BI Technical Overview
Microsoft Power BI Technical OverviewMicrosoft Power BI Technical Overview
Microsoft Power BI Technical Overview
 
Power bi components
Power bi components Power bi components
Power bi components
 
IBM Q-radar security intelligence roadmap
IBM Q-radar security intelligence roadmapIBM Q-radar security intelligence roadmap
IBM Q-radar security intelligence roadmap
 
Building-a-Data-Lake-on-AWS
Building-a-Data-Lake-on-AWSBuilding-a-Data-Lake-on-AWS
Building-a-Data-Lake-on-AWS
 
DATASTAGE AND QUALITY STAGE 9.1 ONLINE TRAINING
DATASTAGE AND QUALITY STAGE 9.1 ONLINE TRAININGDATASTAGE AND QUALITY STAGE 9.1 ONLINE TRAINING
DATASTAGE AND QUALITY STAGE 9.1 ONLINE TRAINING
 
Building Data Lakes and Analytics on AWS
Building Data Lakes and Analytics on AWSBuilding Data Lakes and Analytics on AWS
Building Data Lakes and Analytics on AWS
 
User and entity behavior analytics: building an effective solution
User and entity behavior analytics: building an effective solutionUser and entity behavior analytics: building an effective solution
User and entity behavior analytics: building an effective solution
 
Security tools
Security toolsSecurity tools
Security tools
 
Introduction to power BI
Introduction to power BIIntroduction to power BI
Introduction to power BI
 
Best Practices for Building Your Data Lake on AWS
Best Practices for Building Your Data Lake on AWSBest Practices for Building Your Data Lake on AWS
Best Practices for Building Your Data Lake on AWS
 

En vedette

Designing a Modern CRM
Designing a Modern CRMDesigning a Modern CRM
Designing a Modern CRMTyler Tate
 
Salim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architectureSalim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architectureMSDEVMTL
 
Building a CRM Application
Building a CRM ApplicationBuilding a CRM Application
Building a CRM ApplicationIron Speed
 
Dynamics CRM 2011 Architecture Overview
Dynamics CRM 2011 Architecture OverviewDynamics CRM 2011 Architecture Overview
Dynamics CRM 2011 Architecture OverviewDmytro Golodiuk
 
CRM: Modelling Customer Relationships
CRM: Modelling Customer RelationshipsCRM: Modelling Customer Relationships
CRM: Modelling Customer Relationshipsdavidpuckey
 
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureMicrosoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureNaveen Kumar
 
MS Dynamics CRM as Application Development Platform
MS Dynamics CRM as Application Development PlatformMS Dynamics CRM as Application Development Platform
MS Dynamics CRM as Application Development PlatformPetr Cermak
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An OverviewOliver Stadie
 
Hybrid Integration with Dynamics CRM Online, Microsoft Azure Service Bus and ...
Hybrid Integration with Dynamics CRM Online, Microsoft Azure Service Bus and ...Hybrid Integration with Dynamics CRM Online, Microsoft Azure Service Bus and ...
Hybrid Integration with Dynamics CRM Online, Microsoft Azure Service Bus and ...Colin Meade
 
Software Architecture Design Patterns
Software Architecture Design PatternsSoftware Architecture Design Patterns
Software Architecture Design PatternsStanislav
 
Software Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupOliver Stadie
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?Òscar Vilaplana
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software designMr. Swapnil G. Thaware
 
Nimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT TemplateNimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT Templatetjain
 
Practices of Good Software Architects
Practices of Good Software ArchitectsPractices of Good Software Architects
Practices of Good Software ArchitectsEberhard Wolff
 
Architecture Design
Architecture DesignArchitecture Design
Architecture DesignSaqib Raza
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture designLen Bass
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
 

En vedette (20)

CRM Architecture
CRM ArchitectureCRM Architecture
CRM Architecture
 
Designing a Modern CRM
Designing a Modern CRMDesigning a Modern CRM
Designing a Modern CRM
 
Salim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architectureSalim Adamon: Dynamics CRM overview & architecture
Salim Adamon: Dynamics CRM overview & architecture
 
Building a CRM Application
Building a CRM ApplicationBuilding a CRM Application
Building a CRM Application
 
Dynamics CRM 2011 Architecture Overview
Dynamics CRM 2011 Architecture OverviewDynamics CRM 2011 Architecture Overview
Dynamics CRM 2011 Architecture Overview
 
CRM: Modelling Customer Relationships
CRM: Modelling Customer RelationshipsCRM: Modelling Customer Relationships
CRM: Modelling Customer Relationships
 
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureMicrosoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier Architecture
 
MS Dynamics CRM as Application Development Platform
MS Dynamics CRM as Application Development PlatformMS Dynamics CRM as Application Development Platform
MS Dynamics CRM as Application Development Platform
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An Overview
 
Hybrid Integration with Dynamics CRM Online, Microsoft Azure Service Bus and ...
Hybrid Integration with Dynamics CRM Online, Microsoft Azure Service Bus and ...Hybrid Integration with Dynamics CRM Online, Microsoft Azure Service Bus and ...
Hybrid Integration with Dynamics CRM Online, Microsoft Azure Service Bus and ...
 
Software Architecture Design Patterns
Software Architecture Design PatternsSoftware Architecture Design Patterns
Software Architecture Design Patterns
 
Software Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup Group
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Nimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT TemplateNimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT Template
 
Practices of Good Software Architects
Practices of Good Software ArchitectsPractices of Good Software Architects
Practices of Good Software Architects
 
Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture design
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 

Similaire à Software architecture & design patterns for MS CRM Developers

Introducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & TalendIntroducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & TalendCaserta
 
2009/12 - Database Architechs - Presentation
2009/12 - Database Architechs - Presentation2009/12 - Database Architechs - Presentation
2009/12 - Database Architechs - PresentationDatabase Architechs
 
2009/12 Database Architechs Presentation
2009/12   Database Architechs Presentation2009/12   Database Architechs Presentation
2009/12 Database Architechs Presentationguest248edc
 
Big Data 視覺化分析解決方案
Big Data 視覺化分析解決方案Big Data 視覺化分析解決方案
Big Data 視覺化分析解決方案Etu Solution
 
Business Intelligence Data Analytics June 28 2012 Icpas V4 Final 20120625 8am
Business Intelligence  Data Analytics June 28 2012 Icpas V4  Final 20120625 8amBusiness Intelligence  Data Analytics June 28 2012 Icpas V4  Final 20120625 8am
Business Intelligence Data Analytics June 28 2012 Icpas V4 Final 20120625 8amBarrett Peterson
 
Processing Big Data
Processing Big DataProcessing Big Data
Processing Big Datacwensel
 
Data mining - GDi Techno Solutions
Data mining - GDi Techno SolutionsData mining - GDi Techno Solutions
Data mining - GDi Techno SolutionsGDi Techno Solutions
 
The Microsoft BigData Story
The Microsoft BigData StoryThe Microsoft BigData Story
The Microsoft BigData StoryLynn Langit
 
Business intelligence-solutions 2012-english
Business intelligence-solutions 2012-englishBusiness intelligence-solutions 2012-english
Business intelligence-solutions 2012-englishStratebi
 
Labmatrix Slides 2011 05
Labmatrix Slides 2011 05Labmatrix Slides 2011 05
Labmatrix Slides 2011 05bhughes26
 
Go Beyond the Numbers - Data Visualization in SharePoint 2010
Go Beyond the Numbers - Data Visualization in SharePoint 2010Go Beyond the Numbers - Data Visualization in SharePoint 2010
Go Beyond the Numbers - Data Visualization in SharePoint 2010Chris McNulty
 
IOUG93 - Technical Architecture for the Data Warehouse - Presentation
IOUG93 - Technical Architecture for the Data Warehouse - PresentationIOUG93 - Technical Architecture for the Data Warehouse - Presentation
IOUG93 - Technical Architecture for the Data Warehouse - PresentationDavid Walker
 
Anexinet Big Data Solutions
Anexinet Big Data SolutionsAnexinet Big Data Solutions
Anexinet Big Data SolutionsMark Kromer
 
Relational Database Stockholm Syndrome (Neal Murray, 6 Point 6) London 2019 C...
Relational Database Stockholm Syndrome (Neal Murray, 6 Point 6) London 2019 C...Relational Database Stockholm Syndrome (Neal Murray, 6 Point 6) London 2019 C...
Relational Database Stockholm Syndrome (Neal Murray, 6 Point 6) London 2019 C...confluent
 
Qiagram Slides 2011 05
Qiagram Slides 2011 05Qiagram Slides 2011 05
Qiagram Slides 2011 05bhughes26
 

Similaire à Software architecture & design patterns for MS CRM Developers (20)

Kurukshetra - Big Data
Kurukshetra - Big DataKurukshetra - Big Data
Kurukshetra - Big Data
 
Introducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & TalendIntroducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & Talend
 
2009/12 - Database Architechs - Presentation
2009/12 - Database Architechs - Presentation2009/12 - Database Architechs - Presentation
2009/12 - Database Architechs - Presentation
 
2009/12 Database Architechs Presentation
2009/12   Database Architechs Presentation2009/12   Database Architechs Presentation
2009/12 Database Architechs Presentation
 
Big Data 視覺化分析解決方案
Big Data 視覺化分析解決方案Big Data 視覺化分析解決方案
Big Data 視覺化分析解決方案
 
Data warehousing
Data warehousingData warehousing
Data warehousing
 
Business Intelligence Data Analytics June 28 2012 Icpas V4 Final 20120625 8am
Business Intelligence  Data Analytics June 28 2012 Icpas V4  Final 20120625 8amBusiness Intelligence  Data Analytics June 28 2012 Icpas V4  Final 20120625 8am
Business Intelligence Data Analytics June 28 2012 Icpas V4 Final 20120625 8am
 
Processing Big Data
Processing Big DataProcessing Big Data
Processing Big Data
 
Data mining - GDi Techno Solutions
Data mining - GDi Techno SolutionsData mining - GDi Techno Solutions
Data mining - GDi Techno Solutions
 
Dw 07032018-dr pl pradhan
Dw 07032018-dr pl pradhanDw 07032018-dr pl pradhan
Dw 07032018-dr pl pradhan
 
The Microsoft BigData Story
The Microsoft BigData StoryThe Microsoft BigData Story
The Microsoft BigData Story
 
Business intelligence-solutions 2012-english
Business intelligence-solutions 2012-englishBusiness intelligence-solutions 2012-english
Business intelligence-solutions 2012-english
 
Labmatrix Slides 2011 05
Labmatrix Slides 2011 05Labmatrix Slides 2011 05
Labmatrix Slides 2011 05
 
Go Beyond the Numbers - Data Visualization in SharePoint 2010
Go Beyond the Numbers - Data Visualization in SharePoint 2010Go Beyond the Numbers - Data Visualization in SharePoint 2010
Go Beyond the Numbers - Data Visualization in SharePoint 2010
 
IOUG93 - Technical Architecture for the Data Warehouse - Presentation
IOUG93 - Technical Architecture for the Data Warehouse - PresentationIOUG93 - Technical Architecture for the Data Warehouse - Presentation
IOUG93 - Technical Architecture for the Data Warehouse - Presentation
 
Anexinet Big Data Solutions
Anexinet Big Data SolutionsAnexinet Big Data Solutions
Anexinet Big Data Solutions
 
Relational Database Stockholm Syndrome (Neal Murray, 6 Point 6) London 2019 C...
Relational Database Stockholm Syndrome (Neal Murray, 6 Point 6) London 2019 C...Relational Database Stockholm Syndrome (Neal Murray, 6 Point 6) London 2019 C...
Relational Database Stockholm Syndrome (Neal Murray, 6 Point 6) London 2019 C...
 
Qiagram
QiagramQiagram
Qiagram
 
Qiagram Slides 2011 05
Qiagram Slides 2011 05Qiagram Slides 2011 05
Qiagram Slides 2011 05
 
Qiagram
QiagramQiagram
Qiagram
 

Dernier

Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

Software architecture & design patterns for MS CRM Developers

  • 1. Software Architecture & Design Patterns for Developers Sebastian Waksmundzki eDataLabs Ltd. www.edatalabs.net Connect + Learn = Grow
  • 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 @qmiswax Connect + Learn = Grow
  • 3. Agenda • Architecture – Architectural patterns and styles • Design patterns – Master Data Management – Data Quality – Connected systems – Complex Event Processing – Long running processes – Mashups Connect + Learn = Grow
  • 4. Patterns From 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 Pattern Connect + Learn = Grow
  • 5. Patterns • Architectural pattern is a concept i.e. ETL • Design Patterns is a reusable solution i.e. Batch ETL Connect + Learn = Grow
  • 6. Domain Area Architecture Pattern Name Design Patterns Solution Patterns Data 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 Check Data Architecture • Transaction Data Stores (TDS/OLTP) • Custom Applications • Master Data Store Databases • Operational Data Store • Packaged Application • Data Mart Databases • Data Warehouse Business 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 Mining Master data management • Master Data Hub • Master Data Replication • Master Data Services • Master Data Synchronization Data Modelling • Dimensional Data Modelling • Modelling Standards • E-R Data Modelling • Naming Conventions Connect + Learn = Grow
  • 7. Let’s move on Connect + Learn = Grow
  • 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 customers Connect + Learn = Grow
  • 9. Master data management (Master Data Replication) Connect + Learn = Grow
  • 10. Master data management (Master Data Replication) • Candidate architectures – Database synchronization – SSIS – GEO cluster – File Exchange – Send Email (Pigeons) – Azure Service Bus Connect + Learn = Grow
  • 11. Master data management (Master Data Replication) • Proposed solution – Azure Service Bus with Pub Sub Connect + Learn = Grow
  • 12. Master data management (Master Data Replication) pub /sub Filtering Connect + Learn = Grow
  • 13. Master data management (Master Data Replication) DEMO Connect + Learn = Grow
  • 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. 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 name Connect + Learn = Grow
  • 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 SSIS Connect + Learn = Grow
  • 17. Data DQS Account 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 Seattle 4934235 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. 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 • Uniqueness Connect + Learn = Grow
  • 19. Data Integration (ETL Data Quality) • Proposed solution SQL 2012 DQS together with SSIS Connect + Learn = Grow
  • 20. Data Integration (ETL Data Quality) DEMO Connect + Learn = Grow
  • 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 systems Connect + Learn = Grow
  • 22. Data Integration (Connected systems ESB ) • Candidate architectures – BizTalk – Export Import File – Extended Service Bus Connect + Learn = Grow
  • 23. Data Integration (Connected systems ESB ) • Proposed solution Extended Service Bus Connect + Learn = Grow
  • 24. Data Integration (Connected systems ESB ) Azure AppFabric vs. Server AppFabric Windows Azure AppFabric as a brand name doesn't exist anymore. It is now called Windows Azure "Client Libraries for .NET" Connect + Learn = Grow
  • 25. Data Integration (Connected systems ESB) DEMO Connect + Learn = Grow
  • 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 CRM Connect + Learn = Grow
  • 27. Complex Event Processing • Candidate architectures – BizTalk – StreamInsight – Message based Event Processing Connect + Learn = Grow
  • 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 time Connect + Learn = Grow
  • 29. Long running processes • Proposed solution Windows Server AppFabric Workflows Connect + Learn = Grow
  • 30. Long running processes • Candidate architectures – Workflow inside CRM – BizTalk Orchestration – Windows Appfabric Workflow Connect + Learn = Grow
  • 31. Long running processes What are Workflow Services? WCF Service WF Workflow WCF endpoint Operation External Service WCF endpoint Operation External Service Connect + Learn = Grow
  • 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. Long running processes (workflows) DEMO Connect + Learn = Grow
  • 34. Long running processes Workflow Manager Workflow Manager 1.0 is a new server which introduces new capabilities for authoring, hosting and managing workflows. These workflows will run at high scale and density, and will support execution in a multi-tenant environment. In addition, Workflow Manager 1.0 is used by SharePoint 2013 Connect + Learn = Grow
  • 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 day Connect + Learn = Grow
  • 36. Mashups • Candidate architectures – Load all transactions to MS CRM Custom entity – More Licenses for transactional system – UI Mashup Connect + Learn = Grow
  • 37. Mashups • Proposed solution UI Mashup Connect + Learn = Grow
  • 38. Thank you Connect + Learn = Grow
  • 39. Sebastian Waksmundzki EDataLabs Ltd seb@edatalabs.net Thank 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. Session Evaluation Survey online: http://www.extremecrm.com/Pages/2013RomeSurvey.aspx Connect + Learn = Grow

Notes de l'éditeur

  1. An architectural pattern is a concept that solves and cohesive elements of a software architecture. Countless different architectures may implement the same pattern and share the related characteristics ie. Etl we know when we have bunch of data we should extract transform and load Design pattern design pattern is a general reusable solution to a commonly occurring problem within a given context i.E Batch ETL
  2. They don’t have corporate WAN, Differences in regional, for example European Union (EU), or national legislation can result in variations in requirements for securing data or maintaining data privacy across the different regions or countries
  3. In the published/sub model, subscribers typically receive only a subset of the total messages published. The process of selecting messages for reception and processing is called filtering. There are two common forms of filtering: topic-based and content-based.In a topic-based system, messages are published to "topics" or named logical channels. Subscribers in a topic-based system will receive all messages published to the topics to which they subscribe, and all subscribers to a topic will receive the same messages. The publisher is responsible for defining the classes of messages to which subscribers can subscribe.In a content-based system, messages are only delivered to a subscriber if the attributes or content of those messages match constraints defined by the subscriber. The subscriber is responsible for classifying the messages.
  4. Show data quality and BDD
  5. You can think of a Workflow Service as a WCF SOAP Service that implements its service operations using workflow activities instead of code. Like WCF SOAP Services, Workflow Services can also compose calls to other external services as a part of their operation implementation.Workflow Services are defined in XAML files with the XAMLX extension and are hosted by a Workflow Service Host within IIS and AppFabric, in a way that is similar to the ServiceHost that runs SVC files for WCF SOAP Services in IIS/AppFabric.The XAMLX files are fully declarative XAML- they have no inline code and depend on types present in the bin directory of the application or the GAC for their operation. They are configured via a web.config in the same way that WCF SOAP Services are.
  6. Huge scaleDynamic programDomain SpecificIntegrated MessagingPub/Sub EventingMulti-tenant
  7. One sourceNorriq