By Garrett Kelly
3 types or reasons for distributed applications Data Data used by the application is distributed Computation Computation is distributed Users 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 Systems Co-Located (Local Systems) Communication = Fast Failures = Objects fail together Concurrent Access = Only with multiple threads Secure = Yes Distributed Communication = Slow Failures = Objects fail separately Concurrent Access = Yes Secure = 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 interoperate CORBA is a specification, a guide for implementing products Importance 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 principal COM is the underlying architecture that forms the foundation for higher-level software services
Comparison between CORBA and COM Both 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
Questions?