Upload
chris-dufour
View
1.019
Download
4
Embed Size (px)
DESCRIPTION
"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.
Citation preview
Objective
Introduction to CSLA
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
Challenges of Application Development
Introduction to CSLA
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
What is CSLA .NET?
Introduction to CSLA
•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
CSLA .NET Features
Introduction to CSLA
•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
Distributed Architecture
Introduction to CSLA
Responsibilities
Introduction to CSLA
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)
Responsibilities
Introduction to CSLA
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.
Responsibilities
Introduction to CSLA
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.
Responsibilities
Introduction to CSLA
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 & Management
Physically creates, retrieves, updates, and deletes data in a persistent data store. (SQL Server)
N-tier independent
Introduction to CSLA
•1-, 2- 0r 3-tier deployments support
•Change deployment models without changing code
Standalone Application
Introduction to CSLA
2-Tier Client/Server
Introduction to CSLA
3-Tier Client/Server
Introduction to CSLA
• Editable object Single List Root Parent Child
• Dynamic list List of editable root objects
• Read-only object Single List
Object Stereotypes
Presentation title
• 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
Object Stereotypes
Presentation title
Demo
Introduction to CSLA
Lets see some code!
CSLA .NET Reduces Application Development and Maintenance Costs
Introduction to CSLA
•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
CSLA Increases Application Agility
Introduction to CSLA
•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
CSLA Minimizes Impact of Change
Introduction to CSLA
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