The 5- layer logical architecture:
- Presentation (interaction w. user)
- UI (creation)
- Business logic
- Data Access
- Data and Storage Management
-> from Windows forms perspective: Presentation and UI are the same : GUI
-> Web: Browser represent the Presentation (collect input from user, interact with him), manage pages is done on the server (UI).
- the logic that decides what the user sees and how interact with the app
- validate user input
- performing data formatting
- provide input to business layer
-> Windows form are almost event -driven
- > Web- forms --- a round trip to the server is necessary (instead some logic is in java scrips on the webform)
-> create reusible GUIcomponents
-> includes all business rules, data validation, manipulation, processing, and security
for the application.
-> Microsoft: “The combination of validation edits, login verifications, database lookups, policies, and algorithmic transformations that constitute an enterprise’s way of doing business"
-> avoid duplicate code in UI layer and Business layer
- interacts with the Data Management layer to retrieve, insert, update, and remove
- interface between the business logic and the database
- set of services: each service has a procedure (to insert, delete, update, retrieve data).
- provides mapping between the object-oriented business logic and the relational data in a data store.
- a reason for moving the Data Access layer to an application server is security
Data Storage and Management:
- it handles the physical creation, retrieval, update, and deletion of data.
- validates the data and its relationship to other data
Business objects provide an abstract representation of entities or concepts that are part of the business or problem domain.
Business object: - contains interface, behavior, data
Mobile objects are all about sending smart data (objects) from one machine to another, rather
than sending raw data.
-> moving from machine to machine.
Anchored Objects - objects are always passed by reference.
-> An anchored object never moves; it’s accessed via references
-> In .NET, an anchored object is created by having it inherit from MarshalByRefObject
Mobile Object -> The concept of mobile objects relies on the idea that an object can be passed from one process to another, or from one machine to another, by value.
-> Objects that can move from process to process or from machine to machine are mobile objects
-> in .NET, add the [Serializable()] attribute to your class definition.