Introduction to CSLA
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Introduction to CSLA

on

  • 1,323 views

"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, ...

"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.

Statistics

Views

Total Views
1,323
Views on SlideShare
1,320
Embed Views
3

Actions

Likes
1
Downloads
21
Comments
0

1 Embed 3

http://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduction to CSLA Presentation Transcript

  • 1. Introduction to CSLAChris DufourSoftware Architect, Compuwarechris.dufour@wigets.net
  • 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. 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. 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. 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. Introduction to CSLADistributed Architecture
  • 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. 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. 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. 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. Introduction to CSLAN-tier independent•1-, 2- 0r 3-tier deployments support•Change deployment models without changing code
  • 12. Introduction to CSLAStandalone Application
  • 13. Introduction to CSLA2-Tier Client/Server
  • 14. Introduction to CSLA3-Tier Client/Server
  • 15. Presentation titleObject Stereotypes• Editable object  Single  List  Root  Parent  Child• Dynamic list  List of editable root objects• Read-only object  Single  List
  • 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. Introduction to CSLADemo Lets see some code!
  • 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. 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. 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. Thank YouChris DufourSoftware Architect, Compuwarechris.dufour@wigets.net