MTU SSE 3200 - Distributed Information Systems

Unformatted text preview:

Chapter 1:Distributed Information SystemsContents - Chapter 1 R Design of an information system Layers and tiers Bottom up design Top down designR Architecture of an information system  One tier Two tier (client/server) Three tier (middleware) N-tier architectures Clusters and tier distributionR Communication in an information system Blocking or synchronous interactions Non-blocking or asynchronous interactionsLayers and tiersR Client is any user or program that wants to perform an operation over the system. Clients interact with the system through a presentation layerR The application logic determines what the system actually does. It takes care of enforcing the business rules and establish the business processes. The application logic can take many forms: programs, constraints, business processes, etc.R The resource manager deals with the organization (storage, indexing, and retrieval) of the data necessary to support the application logic. This is typically a database but it can also be a text retrieval system or any other data management system providing querying capabilities and persistence.ClientApplication LogicResource ManagerPresentation layerBusiness rulesBusiness objectsClientServerDatabaseClientBusiness processesPersistent storageA game of boxes and arrowsR Each box represents a part of the system.R Each arrow represents a connection between two parts of the system.R The more boxes, the more modular the system: more opportunities for distribution and parallelism. This allows encapsulation, component based design, reuse.R The more boxes, the more arrows: more sessions (connections) need to be maintained, more coordination is necessary. The system becomes more complex to monitor and manage.R The more boxes, the greater the number of context switches and intermediate steps to go through before one gets to the data. Performance suffers considerably.R System designers try to balance the flexibility of modular design with the performance demands of real applications. Once a layer is established, it tends to migrate down and merge with lower layers.There is no problem in system design that cannot be solved by adding a level of indirection. There is no performance problem that cannot be solved by removing a level of indirection.Top down designR The functionality of a system is divided among several modules. Modules cannot act as a separate component, their functionality depends on the functionality of other modules.R Hardware is typically homogeneous and the system is designed to be distributed from the beginning.top-down designPL-A PL-BPL-CAL-AAL-BAL-DAL-CRM-1 RM-2top-down architectureRM-1 RM-2AL-AAL-DAL-CAL-BPL-APL-BPL-CTop down designpresentation layerresource management layerapplication logic layerclientinformation system1. define access channelsand client platforms2. define presentation formats and protocols forthe selected clients andprotocols3. define the functionalitynecessary to deliver thecontents and formats neededat the presentation layer4. define the data sourcesand data organization neededto implement the applicationlogictop-down designBottom up designR In a bottom up design, many of the basic components already exist. These are stand alone systems which need to be integrated into new systems.R The components do not necessarily cease to work as stand alone components. Often old applications continue running at the same time as new applications.R This approach has a wide application because the underlying systems already exist and cannot be easily replaced.R Much of the work and products in this area are related to middleware, the intermediate layer used to provide a common interface, bridge heterogeneity, and cope with distribution.Legacy systemsNewapplicationLegacy applicationBottom up designbottom-up designPL-A PL-BPL-CAL-AAL-BAL-DAL-Cbottom-up architectureAL-AAL-DAL-CAL-BPL-APL-BPL-Cwrapper wrapper wrapperwrapper wrapperwrapperlegacyapplicationlegacyapplicationlegacysystemlegacysystemlegacysystemBottom up designpresentation layerresource management layerapplication logic layerclientinformation system1. define access channelsand client platforms2. examine existing resourcesand the functionalitythey offer3. wrap existing resourcesand integrate their functionalityinto a consistent interface4. adapt the output of the application logic so that itcan be used with the requiredaccess channels and clientprotocolsbottom-up designOne tier: fully centralizedR The presentation layer, application logic and resource manager are built as a monolithic entity.R Users/programs access the system through display terminals but what is displayed and how it appears is controlled by the server. (These are “dumb” terminals).R This was the typical architecture of mainframes, offering several advantages: no forced context switches in the control flow (everything happens within the system), all is centralized, managing and controlling resources is easier, the design can be highly optimized by blurring the separation between layers.1-tier architectureServerTwo tier: client/server R As computers became more powerful, it was possible to move the presentation layer to the client. This has several advantages: Clients are independent of each other: one could have several presentation layers depending on what each client wants to do. One can take advantage of the computing power at the client machine to have more sophisticated presentation layers. This also saves computer resources at the server machine. It introduces the concept of API (Application Program Interface). An interface to invoke the system from the outside. It also allows designers to think about federating the systems into a single system. The resource manager only sees one client: the application logic. This greatly helps with performance since there are no client connections/sessions to maintain.2-tier architectureServerAPI in client/serverR Client/server systems introduced the notion of service (the client invokes a service implemented by the server)R Together with the notion of service, client/server introduced the notion of service interface (how the client can invoke a given service)R Taken all together, the interfaces to all the services provided by a server (whether there are application or system specific) define the server’s Application Program Interface (API) that describes how to interact with the server from the outsideR Many standardization efforts were


View Full Document

MTU SSE 3200 - Distributed Information Systems

Download Distributed Information Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Distributed Information Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Distributed Information Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?