3 types or reasons for distributed applicationsData
Data used by the application is distributedComputation
Computation is distributedUsers
Users of the application are distributed
Why is Computing Distributed? Data
Applications must execute on multiple computers because the data that the application must access exist on multiple computers Both Administrative and ownership reasons Permissions must be granted
Accessed remotely but not stored locally
Why is Computing Distributed? Computation
Some applications execute on multiple computers in order to take advantage of multiple processors computing in parallel to solve problems Examples: Folding at home and also many math
institutions hoping to solve equations Pyramid Scheme
Distributed applications can take advantage of the scalability and heterogeneity of the distributed system
Why is Computing Distributed?Users
Many applications execute on multiple computers because users of the application communicate and interact with each other via the application
Fundamental Realities of Distributed SystemsCo-Located (Local Systems)
Communication = FastFailures = Objects fail togetherConcurrent Access = Only with multiple threadsSecure = Yes
DistributedCommunication = SlowFailures = Objects fail separatelyConcurrent Access = YesSecure = No
What is CORBA? Why is it important?CORBA, or Common Object Request Broker
Architecture, is a standard architecture for distributed object systems. It allows a distributed, heterogeneous collection of objects to interoperateCORBA is a specification, a guide for implementing
productsImportance
One of the goals of the CORBA specification is that clients and object implementations are portable
Code written for one vendor’s CORBA product could, with a minimum of effort, be rewritten to work with another vendor’s product.
What is COM, and how does it work in principle?A software architecture that allows
applications to be built from binary software components
Yes it does work in principalCOM is the underlying architecture that forms
the foundation for higher-level software services
Comparison between CORBA and COMBoth are architectures or specifications on
how to implement a software project to successfully create a distributed architecture.
CORBA is a framework, and COM is the architecture