Flashcards in M362 - Unit 11 Deck (19):
What is a component?
A component is a composable software element conforming to a component model.
What is a component model?
A component model is a set of standards for the implementation, documentation and deployment of components. For example, a component model may describe the nature of the interface provided by a component and how a component reveals information about itself.
What are the chief advantages of using components and middleware?
Components are composable, and support interoperability. Interoperability is also supported by middleware, which provides a layer of indirection and hence also looser coupling, which leads to greater scalability and more robustness (sometimes at the cost of some efficiency).
What is an IDL?
An IDL is a language for describing the interface of a component, such as, for example, a Java interface description, but it also provides mappings to various supported languages, catering for differences in semantics and data types between languages.
Which is typically more robust: synchronous or asynchronous communication? Why?
Synchronous communication is typically more robust because it involves a ‘handshake’ between the two sides (one side must wait for the other before proceeding) and this provides an opportunity that might not be available in an asynchronous communication to recover from errors.
What is the relationship between middleware and the tightness of coupling between components?
Middleware promotes loose coupling in that components communicate via the middleware and need not use component-dependent means of message passing.
What is the purpose of the OMG Object Model?
The OMG Object Model defines a standard platform – an implementation independent way of specifying the externally visible characteristics of objects, such as their types, operations and interfaces. This means that it supports object invocation by clients on target objects no matter where in a distributed system, or on what type of machine, they are located.
What does CORBA stand for and what is its purpose?
CORBA stands for Common Object Request Broker Architecture. It is a specification for a CORBA-compliant ORB, which routes communications between objects.
In what ways are the common services, CORBA services and domain services in the OMA Reference Model different from each other?
The context served by these components differs. Common services are of general use, such as printing and internationalisation. CORBA services support the requirements of distribution, such as a naming service and a transaction service. Domain services are of direct interest to end-users in particular domains, such as medical or financial applications.
In the OMG Object Model, what are operations used for?
Operations are equivalent to methods; they enable the querying or changing of a CORBA object’s state and the execution of business logic.
What is the OMG IDL and why does CORBA support it?
The OMG IDL is the interface definition language in the OMA for defining the interfaces of objects (i.e. the operations and the types of object) in a manner that is programming-language-independent. Interfaces are defined separately from object implementations. CORBA supports it because it enables the description of services provided by objects written in different programming languages.
What is a language mapping and what is it used for?
For each programming language, it must be possible to create an IDL interface. A language mapping maps the data types found in the language to the CDR in CORBA. The OMG has standardised mappings for a variety of languages. This provides type safety for operation invocation.
What is the purpose of a CORBA interface?
An interface describes a CORBA object type and the operations supported by that type of CORBA object. Interfaces also hide object language implementation details, so supporting implementation heterogeneity. Indirectly, interfaces also allow the specification of substitutability of one CORBA type for another and one operation for another.
What is an interface repository and what is it used for?
An interface repository holds the specifications of object interfaces written in the IDL. An interface repository allows the dynamic discovery of operations provided by objects, given a CORBA object type.
What is meant by saying that an ORB is middleware?
An ORB is known as middleware because it is located between a client and the servant objects it wishes to invoke.
What is the function of an ORB?
An ORB provides facilities, similar to those of the Java RMI, that make it possible for application programs to send messages to and to receive messages from remote objects in the same way as for local objects and regardless of implementation language. The ORB locates a server able to provide a service and communicates with the server, returning results to the client if necessary.
What is the purpose of the CORBA services specification in the OMA model?
The CORBA services specification specifies various services that are of particular use in distributed systems, such as support for naming, transactions and security.
What is a trading service and how does it differ from a naming service?
A trading service allows clients to find objects based on the services they provide, whereas a naming service allows the lookup of objects based on their names.