SlideShare a Scribd company logo
1 of 21
Introduction to CSLA


Chris Dufour
Software Architect, Compuware
chris.dufour@wigets.net
Introduction to CSLA

Objective
Develop an application design architecture that will allow
us to develop leading edge applications utilizing a
composite design approach.

Our design needs to provide us with the following
features
 •   Performance
 •   Scalability
 •   Security
 •   Maintainability
 •   Extensibility
 •   Testability
Introduction to CSLA

Challenges of Application Development
Applications are costly to develop and maintain
 •   Lack of consistency at an architectural level
 •   Too much focus on technology, not enough on business
Applications become rigid and hard to change
 •   Lack of formalization around building a business layer
 •   Too many “one-off” solutions to problems
Underlying technology is in constant change
 •   Technology is in turmoil
      – UI technologies change continually
      – Database access techniques change regularly
Introduction to CSLA

What is CSLA .NET?
•A development framework focused on
managing and implementing business logic
•Enables creation of business objects with
automatic support for advanced features
•Supports 1,2 and n-tier deployment models
Provide flexible data management
Introduction to CSLA

CSLA .NET Features
•Data binding
   •Silverlight, WPF, Windows, Web
•Standardized business logic
   •Validation rules
   •Authorization rules
•Powerful undo capabilities
•Abstract data persistence
   •ADO.NET, EF,LINQ, Others
•Mobile objects
   •Deployment flexibility
Introduction to CSLA

Distributed Architecture
Introduction to CSLA

Responsibilities
Layer               Roles
Interface           Renders display and collects user input.
Interface Control   Acts as an intermediary between the user and the business
                    logic, taking user input and providing it to the business
                    logic, then returning results to the user. (ASPX Server Side
                    Code)
Introduction to CSLA

Responsibilities
Layer               Roles
Interface           Renders display and collects user input.
Interface Control   Acts as an intermediary between the user and the business
                    logic, taking user input and providing it to the business
                    logic, then returning results to the user. (ASPX Server Side
                    Code)
Business Logic      Provides all business rules, validation, manipulation,
                    processing, and security for the application.
Introduction to CSLA

Responsibilities
Layer               Roles
Interface           Renders display and collects user input.
Interface Control   Acts as an intermediary between the user and the business
                    logic, taking user input and providing it to the business
                    logic, then returning results to the user. (ASPX Server Side
                    Code)
Business Logic      Provides all business rules, validation, manipulation,
                    processing, and security for the application.
Data Access         Acts as an intermediary between the business logic and
                    data management. Also encapsulates and contains all
                    knowledge of data access technologies (such as ADO
                    .NET, Enterprise Library etc), databases, and data
                    structures.
Introduction to CSLA

Responsibilities
Layer               Roles
Interface           Renders display and collects user input.
Interface Control   Acts as an intermediary between the user and the business
                    logic, taking user input and providing it to the business
                    logic, then returning results to the user. (ASPX Server Side
                    Code)
Business Logic      Provides all business rules, validation, manipulation,
                    processing, and security for the application.
Data Access         Acts as an intermediary between the business logic and
                    data management. Also encapsulates and contains all
                    knowledge of data access technologies (such as ADO
                    .NET, Enterprise Library etc), databases, and data
                    structures.
Data Storage &      Physically creates, retrieves, updates, and deletes data in
Management          a persistent data store. (SQL Server)
Introduction to CSLA

N-tier independent
•1-, 2- 0r 3-tier deployments support
•Change deployment models without changing code
Introduction to CSLA

Standalone Application
Introduction to CSLA

2-Tier Client/Server
Introduction to CSLA

3-Tier Client/Server
Presentation title

Object Stereotypes
• Editable object
      Single
      List
      Root
      Parent
      Child
• Dynamic list
    List of editable root objects
• Read-only object
    Single
    List
Presentation title

Object Stereotypes
• Name/value list
    Read-only list of name/value objects
• Command
    Execute code on client and server
• Criteria
    Parameter object to create/fetch
• Object factory
      Create
      Fetch
      Update
      Delete
      Execute
Introduction to CSLA

Demo



       Lets see some code!
Introduction to CSLA
CSLA .NET Reduces Application
Development and Maintenance Costs
•CSLA defines specific application layers
 •   Every type of code has a “home” in the architecture
•CSLA codifies a formal architecture
 •   Framework makes it easy to do the right thing
 •   Developers follow the path of least resistance
•CSLA enables object-orientation
 •   OO design results in code that is more…
             Organized, readable, maintainable, flexible
•CSLA lets developers focus on your business problems,
not the technology
Introduction to CSLA

CSLA Increases Application Agility
•Formal business layer enables change
 • Change the UI, Change the database, change
   deployment
 • Use iterative, agile techniques to refactor objects over
   time
•Object-oriented design aligns with business
 • Use case driven design
 • Common terminology between business and
   developers
•Object-oriented business layer enables change
 • Minimize dependencies and coupling
 • Normalization of behavior
Introduction to CSLA

CSLA Minimizes Impact of Change
A CSLA .NET business layer is

•UI independent
 •   Web Forms, AJAX, MVC, Silverlight, WCF services,
     Workflow, Windows Forms, etc
•Database independent
 • Formal structure for invoking all CRUD operations
 • Can use any data access layer or ORM tool
     – ADO .NET, Enterprise Library, Entity Framework, NHibernate, etc

•N-tier independent
 • 1-, 2- 0r 3-tier deployments support
 • Change deployment models without changing code
Thank You


Chris Dufour
Software Architect, Compuware
chris.dufour@wigets.net

More Related Content

What's hot

Caducidad del testamento
Caducidad del testamentoCaducidad del testamento
Caducidad del testamento
lupiitha89
 
Civile 1
Civile 1Civile 1
Civile 1
zogaj
 
ENJ-300 Herramientas para el éxito de un juicio oral
ENJ-300 Herramientas para el éxito de un juicio oralENJ-300 Herramientas para el éxito de un juicio oral
ENJ-300 Herramientas para el éxito de un juicio oral
ENJ
 
Cuadro de prueba derecho procesal
Cuadro de prueba derecho procesalCuadro de prueba derecho procesal
Cuadro de prueba derecho procesal
Sofia Lima Herrera
 
E Drejta Familjare Pyetje e Pergjigje
E Drejta Familjare   Pyetje e PergjigjeE Drejta Familjare   Pyetje e Pergjigje
E Drejta Familjare Pyetje e Pergjigje
Refik Mustafa
 
E drejta e detyrimeve & llojet e kontratave esi hasko
E drejta e detyrimeve & llojet e kontratave esi haskoE drejta e detyrimeve & llojet e kontratave esi hasko
E drejta e detyrimeve & llojet e kontratave esi hasko
Esi Hasko
 
Sucesión testamentaria y clasificación de los testamentos
Sucesión testamentaria y clasificación de los testamentos Sucesión testamentaria y clasificación de los testamentos
Sucesión testamentaria y clasificación de los testamentos
Lourdes72
 
Shkaktimi i demit
Shkaktimi i demitShkaktimi i demit
Shkaktimi i demit
Menaxherat
 
Tema 11 adopción, adrogación, legitimación y emancipación copia
Tema 11 adopción, adrogación, legitimación y emancipación   copiaTema 11 adopción, adrogación, legitimación y emancipación   copia
Tema 11 adopción, adrogación, legitimación y emancipación copia
UGMA.
 

What's hot (20)

E drejta familjare (permbledhje)
E drejta familjare (permbledhje)E drejta familjare (permbledhje)
E drejta familjare (permbledhje)
 
El antejuicio constitucional, atribuciones. Desarrolla el análisis de un caso...
El antejuicio constitucional, atribuciones. Desarrolla el análisis de un caso...El antejuicio constitucional, atribuciones. Desarrolla el análisis de un caso...
El antejuicio constitucional, atribuciones. Desarrolla el análisis de un caso...
 
Esponsales y matrimonio
Esponsales y matrimonioEsponsales y matrimonio
Esponsales y matrimonio
 
Capitulo 9
Capitulo 9   Capitulo 9
Capitulo 9
 
Caducidad del testamento
Caducidad del testamentoCaducidad del testamento
Caducidad del testamento
 
PROPIEDAD-Y-HERENCIA-Legis.pe_ (2).ppt
PROPIEDAD-Y-HERENCIA-Legis.pe_ (2).pptPROPIEDAD-Y-HERENCIA-Legis.pe_ (2).ppt
PROPIEDAD-Y-HERENCIA-Legis.pe_ (2).ppt
 
Civile 1
Civile 1Civile 1
Civile 1
 
ENJ-300 Herramientas para el éxito de un juicio oral
ENJ-300 Herramientas para el éxito de un juicio oralENJ-300 Herramientas para el éxito de un juicio oral
ENJ-300 Herramientas para el éxito de un juicio oral
 
Cuadro de prueba derecho procesal
Cuadro de prueba derecho procesalCuadro de prueba derecho procesal
Cuadro de prueba derecho procesal
 
Capítulo sexto. El concubinato.
Capítulo sexto. El concubinato.Capítulo sexto. El concubinato.
Capítulo sexto. El concubinato.
 
E Drejta Familjare Pyetje e Pergjigje
E Drejta Familjare   Pyetje e PergjigjeE Drejta Familjare   Pyetje e Pergjigje
E Drejta Familjare Pyetje e Pergjigje
 
Kontrata komerciale
Kontrata komerciale Kontrata komerciale
Kontrata komerciale
 
La comunidad
La comunidadLa comunidad
La comunidad
 
Notario público y corredor público
Notario público y corredor públicoNotario público y corredor público
Notario público y corredor público
 
Trabajo final civil iii
Trabajo final civil iiiTrabajo final civil iii
Trabajo final civil iii
 
E drejta e detyrimeve & llojet e kontratave esi hasko
E drejta e detyrimeve & llojet e kontratave esi haskoE drejta e detyrimeve & llojet e kontratave esi hasko
E drejta e detyrimeve & llojet e kontratave esi hasko
 
Sucesión testamentaria y clasificación de los testamentos
Sucesión testamentaria y clasificación de los testamentos Sucesión testamentaria y clasificación de los testamentos
Sucesión testamentaria y clasificación de los testamentos
 
PRUEBAS LABORAL
PRUEBAS LABORALPRUEBAS LABORAL
PRUEBAS LABORAL
 
Shkaktimi i demit
Shkaktimi i demitShkaktimi i demit
Shkaktimi i demit
 
Tema 11 adopción, adrogación, legitimación y emancipación copia
Tema 11 adopción, adrogación, legitimación y emancipación   copiaTema 11 adopción, adrogación, legitimación y emancipación   copia
Tema 11 adopción, adrogación, legitimación y emancipación copia
 

Similar to Introduction to CSLA

10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
Majong DevJfu
 

Similar to Introduction to CSLA (20)

From OpenStack.... towards an Open cloud architecture
From OpenStack.... towards an Open cloud architecture From OpenStack.... towards an Open cloud architecture
From OpenStack.... towards an Open cloud architecture
 
Prashant Patel
Prashant PatelPrashant Patel
Prashant Patel
 
application-template-deployment-guide.pdf
application-template-deployment-guide.pdfapplication-template-deployment-guide.pdf
application-template-deployment-guide.pdf
 
Introduction to soa suite 12c in 20 slides
Introduction to soa suite 12c in 20 slidesIntroduction to soa suite 12c in 20 slides
Introduction to soa suite 12c in 20 slides
 
Oracle SOA Suite 11g
Oracle SOA Suite 11gOracle SOA Suite 11g
Oracle SOA Suite 11g
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Rapid SQL Datasheet - The Intelligent IDE for SQL Development
Rapid SQL Datasheet - The Intelligent IDE for SQL DevelopmentRapid SQL Datasheet - The Intelligent IDE for SQL Development
Rapid SQL Datasheet - The Intelligent IDE for SQL Development
 
Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008
 
Integration with dynamics ax 2012
Integration with dynamics ax 2012Integration with dynamics ax 2012
Integration with dynamics ax 2012
 
Resume
ResumeResume
Resume
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
Web-Scale Library Management Services (Paul Harvey)
Web-Scale Library Management Services (Paul Harvey)Web-Scale Library Management Services (Paul Harvey)
Web-Scale Library Management Services (Paul Harvey)
 
ORACLE SOA - IBANK
ORACLE SOA - IBANKORACLE SOA - IBANK
ORACLE SOA - IBANK
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
Systems Advantage Forum : Autonomous DB e DBaaS
Systems Advantage Forum : Autonomous DB e DBaaS Systems Advantage Forum : Autonomous DB e DBaaS
Systems Advantage Forum : Autonomous DB e DBaaS
 
Profile_Ahmad2
Profile_Ahmad2Profile_Ahmad2
Profile_Ahmad2
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
 
SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)
 

More from Chris Dufour

Windows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the CloudWindows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the Cloud
Chris Dufour
 

More from Chris Dufour (11)

Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Developing Windows 10 Hosted Web Apps
Developing Windows 10 Hosted Web AppsDeveloping Windows 10 Hosted Web Apps
Developing Windows 10 Hosted Web Apps
 
Developing windows 10 universal apps
Developing windows 10 universal appsDeveloping windows 10 universal apps
Developing windows 10 universal apps
 
DevCamp - What can the cloud do for me
DevCamp - What can the cloud do for meDevCamp - What can the cloud do for me
DevCamp - What can the cloud do for me
 
Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)
 
Migrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureMigrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft Azure
 
Whats new for developers in Visual Studio 2013
Whats new for developers in Visual Studio 2013Whats new for developers in Visual Studio 2013
Whats new for developers in Visual Studio 2013
 
Windows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the CloudWindows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the Cloud
 
Asynchronous Programming in ASP.NET
Asynchronous Programming in ASP.NETAsynchronous Programming in ASP.NET
Asynchronous Programming in ASP.NET
 
Implementing OData: Create a UG Event Feed
Implementing OData: Create a UG Event FeedImplementing OData: Create a UG Event Feed
Implementing OData: Create a UG Event Feed
 
Scale Your Data Tier With Windows Server App Fabric
Scale Your Data Tier With Windows Server App FabricScale Your Data Tier With Windows Server App Fabric
Scale Your Data Tier With Windows Server App Fabric
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Introduction to CSLA

  • 1. Introduction to CSLA Chris Dufour Software Architect, Compuware chris.dufour@wigets.net
  • 2. Introduction to CSLA Objective Develop an application design architecture that will allow us to develop leading edge applications utilizing a composite design approach. Our design needs to provide us with the following features • Performance • Scalability • Security • Maintainability • Extensibility • Testability
  • 3. Introduction to CSLA Challenges of Application Development Applications are costly to develop and maintain • Lack of consistency at an architectural level • Too much focus on technology, not enough on business Applications become rigid and hard to change • Lack of formalization around building a business layer • Too many “one-off” solutions to problems Underlying technology is in constant change • Technology is in turmoil – UI technologies change continually – Database access techniques change regularly
  • 4. Introduction to CSLA What is CSLA .NET? •A development framework focused on managing and implementing business logic •Enables creation of business objects with automatic support for advanced features •Supports 1,2 and n-tier deployment models Provide flexible data management
  • 5. Introduction to CSLA CSLA .NET Features •Data binding •Silverlight, WPF, Windows, Web •Standardized business logic •Validation rules •Authorization rules •Powerful undo capabilities •Abstract data persistence •ADO.NET, EF,LINQ, Others •Mobile objects •Deployment flexibility
  • 7. Introduction to CSLA Responsibilities Layer Roles Interface Renders display and collects user input. Interface Control Acts as an intermediary between the user and the business logic, taking user input and providing it to the business logic, then returning results to the user. (ASPX Server Side Code)
  • 8. Introduction to CSLA Responsibilities Layer Roles Interface Renders display and collects user input. Interface Control Acts as an intermediary between the user and the business logic, taking user input and providing it to the business logic, then returning results to the user. (ASPX Server Side Code) Business Logic Provides all business rules, validation, manipulation, processing, and security for the application.
  • 9. Introduction to CSLA Responsibilities Layer Roles Interface Renders display and collects user input. Interface Control Acts as an intermediary between the user and the business logic, taking user input and providing it to the business logic, then returning results to the user. (ASPX Server Side Code) Business Logic Provides all business rules, validation, manipulation, processing, and security for the application. Data Access Acts as an intermediary between the business logic and data management. Also encapsulates and contains all knowledge of data access technologies (such as ADO .NET, Enterprise Library etc), databases, and data structures.
  • 10. Introduction to CSLA Responsibilities Layer Roles Interface Renders display and collects user input. Interface Control Acts as an intermediary between the user and the business logic, taking user input and providing it to the business logic, then returning results to the user. (ASPX Server Side Code) Business Logic Provides all business rules, validation, manipulation, processing, and security for the application. Data Access Acts as an intermediary between the business logic and data management. Also encapsulates and contains all knowledge of data access technologies (such as ADO .NET, Enterprise Library etc), databases, and data structures. Data Storage & Physically creates, retrieves, updates, and deletes data in Management a persistent data store. (SQL Server)
  • 11. Introduction to CSLA N-tier independent •1-, 2- 0r 3-tier deployments support •Change deployment models without changing code
  • 15. Presentation title Object Stereotypes • Editable object  Single  List  Root  Parent  Child • Dynamic list  List of editable root objects • Read-only object  Single  List
  • 16. Presentation title Object Stereotypes • Name/value list  Read-only list of name/value objects • Command  Execute code on client and server • Criteria  Parameter object to create/fetch • Object factory  Create  Fetch  Update  Delete  Execute
  • 17. Introduction to CSLA Demo Lets see some code!
  • 18. Introduction to CSLA CSLA .NET Reduces Application Development and Maintenance Costs •CSLA defines specific application layers • Every type of code has a “home” in the architecture •CSLA codifies a formal architecture • Framework makes it easy to do the right thing • Developers follow the path of least resistance •CSLA enables object-orientation • OO design results in code that is more… Organized, readable, maintainable, flexible •CSLA lets developers focus on your business problems, not the technology
  • 19. Introduction to CSLA CSLA Increases Application Agility •Formal business layer enables change • Change the UI, Change the database, change deployment • Use iterative, agile techniques to refactor objects over time •Object-oriented design aligns with business • Use case driven design • Common terminology between business and developers •Object-oriented business layer enables change • Minimize dependencies and coupling • Normalization of behavior
  • 20. Introduction to CSLA CSLA Minimizes Impact of Change A CSLA .NET business layer is •UI independent • Web Forms, AJAX, MVC, Silverlight, WCF services, Workflow, Windows Forms, etc •Database independent • Formal structure for invoking all CRUD operations • Can use any data access layer or ORM tool – ADO .NET, Enterprise Library, Entity Framework, NHibernate, etc •N-tier independent • 1-, 2- 0r 3-tier deployments support • Change deployment models without changing code
  • 21. Thank You Chris Dufour Software Architect, Compuware chris.dufour@wigets.net