Introduction to CSLA

1,635 views

Published on

"Building rich applications can be a challenge in today’s environment. You have a wide range of UI technologies and patterns to choose from like ASP.NET, MVC, MVP, MVVM, SilverLight, Mobile, WFP, WCF. To complicate matters UI techniques are evolving and you often find yourself supporting many presentation layers. CSLA (Component-Based, Scalable, Logical Architecture) is a fantastic framework for building business objects which tie together the multitude of UI choices with the data provided by any number of access technologies.

The primary focus of CSLA .NET is to help in the creation of a rich object-oriented business layer that expresses the needs of the business domain model. CSLA objects provide rich databinding, validation and authorization making them a logical choice for today's business applications and services. This talk will provide an introduction to CSLA.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,635
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
50
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Introduction to CSLA

  1. 1. Introduction to CSLAChris DufourSoftware Architect, Compuwarechris.dufour@wigets.net
  2. 2. Introduction to CSLAObjectiveDevelop an application design architecture that will allowus to develop leading edge applications utilizing acomposite design approach.Our design needs to provide us with the followingfeatures • Performance • Scalability • Security • Maintainability • Extensibility • Testability
  3. 3. Introduction to CSLAChallenges of Application DevelopmentApplications are costly to develop and maintain • Lack of consistency at an architectural level • Too much focus on technology, not enough on businessApplications become rigid and hard to change • Lack of formalization around building a business layer • Too many “one-off” solutions to problemsUnderlying technology is in constant change • Technology is in turmoil – UI technologies change continually – Database access techniques change regularly
  4. 4. Introduction to CSLAWhat is CSLA .NET?•A development framework focused onmanaging and implementing business logic•Enables creation of business objects withautomatic support for advanced features•Supports 1,2 and n-tier deployment modelsProvide flexible data management
  5. 5. Introduction to CSLACSLA .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
  6. 6. Introduction to CSLADistributed Architecture
  7. 7. Introduction to CSLAResponsibilitiesLayer RolesInterface 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. 8. Introduction to CSLAResponsibilitiesLayer RolesInterface 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. 9. Introduction to CSLAResponsibilitiesLayer RolesInterface 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. 10. Introduction to CSLAResponsibilitiesLayer RolesInterface 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 inManagement a persistent data store. (SQL Server)
  11. 11. Introduction to CSLAN-tier independent•1-, 2- 0r 3-tier deployments support•Change deployment models without changing code
  12. 12. Introduction to CSLAStandalone Application
  13. 13. Introduction to CSLA2-Tier Client/Server
  14. 14. Introduction to CSLA3-Tier Client/Server
  15. 15. Presentation titleObject Stereotypes• Editable object  Single  List  Root  Parent  Child• Dynamic list  List of editable root objects• Read-only object  Single  List
  16. 16. Presentation titleObject 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. 17. Introduction to CSLADemo Lets see some code!
  18. 18. Introduction to CSLACSLA .NET Reduces ApplicationDevelopment 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. 19. Introduction to CSLACSLA 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. 20. Introduction to CSLACSLA Minimizes Impact of ChangeA 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. 21. Thank YouChris DufourSoftware Architect, Compuwarechris.dufour@wigets.net

×