Chapter 1 Revealed Distributed Objects Design Concepts CSLA
Distributed Objects An object that is distributed across the network in some manner An application that is a cross between client/server and object orientated technologies.
Client/Server More than one computer is involved At least some meaningful process occurs on at least 2 or more networked computers. (distributed processing)
Client/Server - Tasks Calculations Enforcement of business rules Data manipulation Interact with external apps or services Interact with the user
Client/Server – Tiers Typically we can separate these function into three tiers 1. Presentation tier 2. Business tier 3. Data Services tier
Presentation Tier Provides User Interface Show output to the user Accept input from the user
Business Tier Business rules Business related processing Calculations
Data Services Tier Creating Reading Updating Deleting All pertaining to some form of data store.
Design for Scalability One of the key points to keep in mind is to keep these tiers separate. This allows the system to have a database switched out as well as use the same business rules on multiple interfaces. Although systems may start out small they almost inevitably get larger.
Design for Scalability Three types of topologies Client (presentation, business) and Database (data services) Client (presentation), Application (business), and Database (data services)
Object Orientated Development Objects represent real word entities and relationships Classes are templates from which objects or instances can be made.
Object State Contains some data that is manipulated by the objects implementation code to do useful work. The data needed to be stored in order to recreate the object as it was.
CSLA Component-based Logical Scalable Architecture
CSLA Allow for flexible physical implementations with the same logical model. Enable reuse of code through the use of a component orientated design Provide a scalable architecture, supporting applications on one machine or hundreds on a network.
CSLA As a result we can look back at out 3 tiers, presentation, business and data services. If we want a rich user experience we will need the put some business logic with the presentation layer as well as with the data services.
CSLA Our product is a division of the business tier into UI-centric Objects Data-centric Objects
UI-Centric Form field validation Screen level validation Real time calculations
Data-Centric Data intensive Requires fast and efficient access to the database Usually kept close to the data store Example: COM objects that interact with the database
CSLA Even though UI and Data Centric components may be spread out over the application and the network they are still considered logically the same tier.
Implementing Applications With CSLA Objects Methods Properties UI –Centric common methods – pg 43 Data-Centric common metods – pg 47