Chapter 5: Web Applications and Distributed Systems Flashcards
What model do web applications adopt?
Client/server architecture
What are some of the performance concerns of web application?
- Forecasting volume of activity
- Mechanisms for accessing database
- Location of database
What are performance problems with good security?
SSL, server needs to create a key for each request (computationally expensive)
What is Distributed Object Technology (DOT)?
DOT is merging of object orientated technology with distributed systems technology
- The object is the unit of computation and distribution in a heterogenous multi-platform computing environment
What is middleware?
A region in between the client and server. Contains it’s own APIs
What is latency?
Latency is the difference in response time between a local and remote operation invocation
What are sources of latency?
- Network speed
- Middleware overhead
- Communication overhead due to objects in different address space
What are the differences between local vs remote object access?
- Programmer must be aware of ultimate location of object on server
- Execution environment must provide a uniform mechanism for accessing objects that hides their location
What is partial failure?
Failure occurs in a component or network while others continue to operate normally
What are two alternatives for coping with failures?
- Treat all objects as if they were local (partial failures might be issue)
- Treat all objects as if they were remote (adds extra latency)
What are approaches to treating all objects uniformly?
- Ignore the concurrency
- Make all objects single threaded
- Include concurrency semantics in all objects
How to have effective development with DOT?
Object locations and concurrency should be dealt with early as possible
What is the essence of developing distributed systems?
- Prioritize placement of objects and the communication and synchronization between objects.
- Adapt keep-it-simple approach, represent synchronization as a delay between client and server
- Use software model approximation techniques to solve software execution models
Types of System Interactions in Middleware
- Synchronous
- Asynchronous
- Deferred Synchronous
- Asynchronous Callback communication