|
|
 |
|
|
|
We know the technology. We understand your business !!
|
|
|
|
|
|
|
Component Based Scalable Logical Architecture for .NET framework is an application
development framework that reduces the cost of building and maintaining applications.
The framework enables the use of object-oriented design as the basis for creating
powerful applications. Business objects based on the framework support many advanced
features to simplify the creation of Windows Forms,
|
|
Web Forms and Web Services interfaces.
CSLA .NET is designed to allow great flexibility in object persistence, so business
objects can use virtually any data sources available. The framework is designed
to enable single tier and n-tier models through the concept of mobile objects. This
provides the flexibility to optimize performance, scalability, security and fault
tolerance with no changes to code in the UI or business objects.
|
|
From the Developers Desk |
|
The most common logical separation is into a UI tier, a business tier, and a data
tier that may exist on a single machine, or on three separate machines - the logical
architecture doesn't define those details.
|
|
|
|
|
Architecture
|
|
After discussing the impact different logical and physical n-tier architectures
have on application complexity, performance, security, scalability, etc., Five Logical
Tiers and the Roles They Provide can be described as follows:
|
- Presentation - Renders display and collects user input
- UI - Acts as an intermediary between the user and the business logic, taking
use input and providing it to the business logic, then returning results to the
user.
- 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), databases, and data structures.
- Data storage and management - Physically creates, retrieves, updates, and
deletes data in a persistent data store.
|
|
|
CSLA Functionality
|
|
A Following functionality built into the CSLA framework design:
|
- n-Level undo capability
- Tracking broken business rules to determine whether an object is valid
- Tracking whether an object's data has changed (is it "dirty"?)
- Support for strongly-typed collections of child objects
- A simple and abstract model for the UI developer
- Full support for data binding in both Windows Forms and Web Forms
- Saving objects to a database and getting them back again
- Table-driven security
- Other miscellaneous features
|
|
|
Framework Classes
|
|
CSLA is scalable logical architecture framework provides following
|
- Business Base object
- BusinessCollectionBase object
- ReadOnlyBase object
- ReadOnlyCollectionBase object
- NameValueList object
- PagedCollectionBase object
- SmartDate object
|
|
|
UI Implementation map with CSLA
|
|
CSLA is scalable logical architecture framework provides following
|
|
Summary/ List Page
|
Mainly those screens are used to list nos of records for particular entity so we
can use either PagedCollectionBase or ReadOnlyCollectionBase objects. In both objects
properties are read only so user is not able to change value of any properties of
those objects.
PagedCollectionBase provide index method to access particular object from Collection
either by passing index or id of the record. It also lists nos of records returned
by the Stored Procedures. For Example Hotel List page list all hotels present in
database.
|
|
Detail/ Edit Page
|
|
Since user can add/edit data from detail/edit page we can use BusinessBase object
to support functionality. BusinessBase object provides different methods and properties
to save or retrieve data from database like BeginEdit, ApplyEdit, CancelEdit, MarkDirty,
IsNew, IsDirty, and IsValid. For Example Hotel Edit page used to add/edit hotel.
|
|
Popup Page
|
|
Whenever there is parent child relationship then we can use BusinessCollectionBase
object for same. Hotel can have one or more roomtypes so we can have BusinessCollectionBase
object for roomtypes. In main BusinessBase object we can have read-only properties
for its child object i.e. in hotel object we can have read only property for roomtypes
collection. In BusinessBase and BusinessCollectionBase objects when BusinessBase
properties saved to database then BusinessCollectionBase objects save is called
by passing parent object as parameter to that save object. Whenever we know parent
going to have single child object then we can have BusinessBase child object property
in parent object and can call child BusinessBase save to save child object to database.
For Example RoomType popup page used to add/edit room type to hotel.
|
|
Master page |
|
Whenever we want to populate list which having single attribute like name then we
can use name value list. Name Value list object is having Name and Value attribute
to uniquely identify object from list. For Example whenever we want to populate
dropdown or list control with country or state list we can achieve same using name
value list.
|
|
|
|
|
Architecture
|
|
A Following functionality built into the CSLA framework design:
|
- n-Level undo capability
- Tracking broken business rules to determine whether an object is valid
- Tracking whether an object's data has changed (is it "dirty"?)
- Support for strongly-typed collections of child objects
- A simple and abstract model for the UI developer
- Full support for data binding in both Windows Forms and Web Forms
- Saving objects to a database and getting them back again
- Table-driven security
- Other miscellaneous features
|
|
Framework Classes
|
|
CSLA is scalable logical architecture framework provides following
|
- Business Base object
- BusinessCollectionBase object
- ReadOnlyBase object
- ReadOnlyCollectionBase object
- NameValueList object
- PagedCollectionBase object
- SmartDate object
|
|
UI Implementation map with CSLA
|
|
CSLA is scalable logical architecture framework provides following
|
|
Summary/ List Page
|
Mainly those screens are used to list nos of records for particular entity so we
can use either PagedCollectionBase or ReadOnlyCollectionBase objects. In both objects
properties are read only so user is not able to change value of any properties of
those objects.
PagedCollectionBase provide index method to access particular object from Collection
either by passing index or id of the record. It also lists nos of records returned
by the Stored Procedures. For Example Hotel List page list all hotels present in
database.
|
|
Detail/ Edit Page
|
|
Since user can add/edit data from detail/edit page we can use BusinessBase object
to support functionality. BusinessBase object provides different methods and properties
to save or retrieve data from database like BeginEdit, ApplyEdit, CancelEdit, MarkDirty,
IsNew, IsDirty, and IsValid. For Example Hotel Edit page used to add/edit hotel.
|
|
Popup Page
|
|
Whenever there is parent child relationship then we can use BusinessCollectionBase
object for same. Hotel can have one or more roomtypes so we can have BusinessCollectionBase
object for roomtypes. In main BusinessBase object we can have read-only properties
for its child object i.e. in hotel object we can have read only property for roomtypes
collection. In BusinessBase and BusinessCollectionBase objects when BusinessBase
properties saved to database then BusinessCollectionBase objects save is called
by passing parent object as parameter to that save object. Whenever we know parent
going to have single child object then we can have BusinessBase child object property
in parent object and can call child BusinessBase save to save child object to database.
For Example RoomType popup page used to add/edit room type to hotel.
|
|
Master page |
|
Whenever we want to populate list which having single attribute like name then we
can use name value list. Name Value list object is having Name and Value attribute
to uniquely identify object from list. For Example whenever we want to populate
dropdown or list control with country or state list we can achieve same using name
value list.
|
|
|
|
|
|
|
 |
|
|
|