QB - Jayaram College of Engineering and Technology
QB - Jayaram College of Engineering and Technology
QB - Jayaram College of Engineering and Technology
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Estd: 1994<br />
JAYARAM<br />
COLLEGE OF ENGINEERING AND<br />
TECHNOLOGY<br />
Pagalavadi, Tiruchirappalli - 621014<br />
(An approved by AICTE <strong>and</strong> Affiliated to Anna University)<br />
Department <strong>of</strong> Information <strong>Technology</strong><br />
Subject code : IT1402 Year/Sem: IV/VII<br />
ISO 9001:2000<br />
Certified<br />
Subject Name : Middleware Technologies Faculty<br />
Incharge: Mr.R.Palanikumar<br />
UNIT I<br />
1. What is CORBA<br />
CORBA st<strong>and</strong>s for the common object request broker Architecture. It is a<br />
set <strong>of</strong> st<strong>and</strong>ard mechanisms for naming, locating <strong>and</strong> defining objects in a<br />
distributed computing environment.<br />
2. What is a database server<br />
With a database server, the client passes SQL requests as messages to<br />
the database server. The results <strong>of</strong> each SQL comm<strong>and</strong> are returned over<br />
the network. The server uses its own processing power to find the request<br />
data instead data instead <strong>of</strong> processing all the records back to the client<br />
<strong>and</strong> then getting if find its own data. The result is a much more efficient<br />
use <strong>of</strong> distributed processing power. It is also known as SQL engine.<br />
3. What is File Server<br />
File servers are useful for sharing files across a network with a file server,<br />
the client passes requests for file records over network to file server.<br />
4. What is web server<br />
This new model <strong>of</strong> Client/Server consists <strong>of</strong> thin,portable, universal clients<br />
that talk to super fat servers. In the simplest form, a web server returns<br />
document when clients ask for them by name. the clients <strong>and</strong> server<br />
communicating using an RPC Like protocol called HTTP.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 1
5. What is meant by 2 tier architecture<br />
In 2 tier client server systems, the application logic is either buried inside<br />
the user interface on the client or within the database on the server.<br />
Example : file servers <strong>and</strong> database servers with stored procedures.<br />
6. What is meant by Middleware<br />
Middleware is distributed s<strong>of</strong>tware needed to support interaction between<br />
clients <strong>and</strong> server. In short, it is the s<strong>of</strong>tware that is in the middle <strong>of</strong> the<br />
client/server systems <strong>and</strong> It acts as a bridge between the clients <strong>and</strong><br />
server. It starts with the API set on the client side that is used to invoke a<br />
service <strong>and</strong> it covers the transmission <strong>of</strong> the request over the network<br />
<strong>and</strong> the resulting response. It neither includes the s<strong>of</strong>tware that provides<br />
the actual service that is in the servers domain not the user interface or<br />
the application login that’s in clients domain.<br />
7. What are the two board classes <strong>of</strong> middleware<br />
General middleware<br />
Service specific middleware<br />
8. What is group ware Server<br />
Group server addresses the management <strong>of</strong> semi-structured information<br />
such as text, image, tesmail, bulletin boards <strong>and</strong> the flow <strong>of</strong> work. These<br />
client/server systems have people in direct contact with other people.<br />
9. What are the characteristics <strong>of</strong> client /Server<br />
Service<br />
Shared resources<br />
Asymmentrical protocols<br />
Transparency <strong>of</strong> location<br />
Mix <strong>and</strong> match<br />
Message based exchanges<br />
Encapsulation <strong>of</strong> services<br />
Scalability<br />
Integrity<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 2
Client /server computing is the ultimate open platform it gives the freedom<br />
to mix <strong>and</strong> match components <strong>of</strong> almost any level. Clients <strong>and</strong> servers are<br />
loosely coupled systems that interact through a message passing<br />
mechanism.<br />
10. What is ACID Property<br />
ACID is a term coined by Andrew Reuter in 1983, which st<strong>and</strong>s for<br />
atomicity, consistence, isolation <strong>and</strong> durability.<br />
11. What are the classifications <strong>of</strong> clients<br />
Non GUI clients – two types are<br />
Non GUI clients that do not need multi tasking<br />
(Example automatic teller machines, cell phone)<br />
Non GUI Clients that need multi tasking<br />
Example ROBOTs<br />
GUI clients<br />
OOUI clients<br />
12. What are stored procedures<br />
A stored procedures is a named collection <strong>of</strong> SQL statements <strong>and</strong><br />
procedural logic that is complied verified <strong>and</strong> stored in a sever database. It<br />
is typically treated like any other database object. Stored procedures<br />
accept input parameters so that a single procedure can be used over the<br />
network by multiple clients using different input data. A single remote<br />
message triggers the execution <strong>of</strong> a collection <strong>of</strong> stored SQL statements.<br />
The results are a reduction <strong>of</strong> network traffic <strong>and</strong> better performance.<br />
13. What are the five major technologies that can be used to create<br />
client/server applications<br />
Database Servers<br />
TP monitors<br />
Groupware<br />
Distributed objects<br />
Intranets<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 3
14.What is meant by Mix <strong>and</strong> match<br />
The ideal client server s<strong>of</strong>tware is independent <strong>of</strong> hardware <strong>and</strong> operating<br />
system s<strong>of</strong>tware platform. It should be able to mix match client <strong>and</strong> server<br />
platforms.<br />
15. What is a Transaction server<br />
With a transaction server, the client invokes remote procedures that reside<br />
on the server with an SQL database engine. These remote procedures on<br />
the server execute a group <strong>of</strong> SQL statements. The network exchange<br />
consists <strong>of</strong> a single request reply message. The SQL statements either all<br />
succeed or fail as a unit.<br />
16. What is an object server<br />
With an object server, the client server application is written as a set <strong>of</strong><br />
communicating objects. Client object commnunicate with server objects<br />
using an object request broker. The client invokes a method on a remote<br />
object. The ORB locates an instance <strong>of</strong> that object server class, invokes<br />
the requested method <strong>and</strong> returns the results to the client object. Server<br />
objects must provide support for concurrency <strong>and</strong> sharing. The ORB<br />
brings it all together.<br />
17. What are the called fat clients <strong>and</strong> fat servers<br />
If the bulk <strong>of</strong> the application runs on the client side, then it is fat clients, it<br />
is used for decision support <strong>and</strong> personal s<strong>of</strong>tware. If the bulk <strong>of</strong> the<br />
application runs on the server side, then it is fat servers. It tries to<br />
minimize network interchanges by creating more abstract levels <strong>of</strong><br />
services.<br />
18. What is message oriented middleware<br />
MOM allows general purpose messages to be exchanged in a<br />
client/server system using message queues. Application communicate<br />
over networks by simply putting messages in the queues <strong>and</strong> getting<br />
messages form queue. It typically provides <strong>and</strong> server can run at different<br />
times. It is a post <strong>of</strong>fice like metaphor.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 4
19. What is structured query language (SQL)<br />
SQL is a powerful set oriented language which was developed by ibm<br />
research for the databases that adhere to the relational model. It consists<br />
<strong>of</strong> a short list <strong>of</strong> powerful, yet highly flexible comm<strong>and</strong>s that can be used to<br />
manipulate information collected in tables. Through SQL. We can<br />
manipulate <strong>and</strong> control sets <strong>of</strong> record sets a time.<br />
20. What are the three types <strong>of</strong> SQL database server architectuer<br />
Process per client architecture. Example oracle6, Informix)<br />
Multithreaded architecture. Example Sybase, SQL server)<br />
Hybrid architecture example oracle<br />
UNIT I<br />
BIG QUESTIONS<br />
1. Explain the architecture <strong>of</strong> MOM How is it different from other types <strong>of</strong><br />
Middleware.<br />
2. Define Middleware <strong>and</strong> types <strong>of</strong> middleware in detail.<br />
3. How is RPC implemented in client server environment Explain in detail the<br />
various issues involved while implementing with diagram.<br />
4. How are the servers classified Describe each type in detail.<br />
5. What are the most typical functional units <strong>of</strong> the client /server applications<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 5
UNIT II<br />
1. What is EJB<br />
EJB st<strong>and</strong>s for Enterprise JavaBeans <strong>and</strong> is widely-adopted server side<br />
component architecture for J2EE. It enables rapid development <strong>of</strong> ission-critical<br />
application that are versatile, reusable <strong>and</strong> portable across middleware while<br />
protecting IT investment <strong>and</strong> preventing vendor lock-in.<br />
2. What is session Facade<br />
Session Facade is a design pattern to access the Entity bean through local<br />
interface than accessing directly. It increases the performance over the network.<br />
In this case we call session bean which on turn call entity bean.<br />
3. What is EJB role in J2EE<br />
EJB technology is the core <strong>of</strong> J2EE. It enables developers to write reusable <strong>and</strong><br />
portable server-side business logic for the J2EE platform.<br />
4. What is the difference between EJB <strong>and</strong> Java beans<br />
EJB is a specification for J2EE server, not a product; Java beans may be a<br />
graphical component in IDE.<br />
5. What are the key features <strong>of</strong> the EJB technology<br />
1. EJB components are server-side components written entirely in the Java<br />
programming language<br />
2. EJB components contain business logic only - no system-level<br />
programming & services, such as transactions, security, life-cycle,<br />
threading, persistence, etc. are automatically managed for the EJB<br />
component by the EJB server.<br />
3. EJB architecture is inherently transactional, distributed, portable multi-tier,<br />
scalable <strong>and</strong> secure.<br />
4. EJB components are fully portable across any EJB server <strong>and</strong> any OS.<br />
5. EJB architecture is wire-protocol neutral--any protocol can be utilized like<br />
IIOP, JRMP, HTTP, DCOM, etc.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 6
6. What are the key benefits <strong>of</strong> the EJB technology<br />
1. Rapid application development<br />
2. Broad industry adoption<br />
3. Application portability<br />
4. Protection <strong>of</strong> IT investment<br />
7. How many enterprise beans<br />
There are three kinds <strong>of</strong> enterprise beans:<br />
1. session beans,<br />
2. entity beans, <strong>and</strong><br />
3. message-driven beans.<br />
8. What is message-driven bean<br />
A message-driven bean combines features <strong>of</strong> a session bean <strong>and</strong> a Java<br />
Message Service (JMS) message listener, allowing a business component to<br />
receive JMS. A message-driven bean enables asynchronous clients to access<br />
the business logic in the EJB tier.<br />
9. How can I call one EJB from inside <strong>of</strong> another EJB<br />
EJBs can be clients <strong>of</strong> other EJBs. It just works. Use JNDI to locate the Home<br />
Interface <strong>of</strong> the other bean, then acquire an instance reference, <strong>and</strong> so forth.<br />
10. Can a Session Bean be defined without ejbCreate() method<br />
The ejbCreate() methods is part <strong>of</strong> the bean's lifecycle, so, the compiler will not<br />
return an error because there is no ejbCreate() method.<br />
However, the J2EE spec is explicit:<br />
<br />
<br />
the home interface <strong>of</strong> a Stateless Session Bean must have a single<br />
create() method with no arguments, while the session bean class must<br />
contain exactly one ejbCreate() method, also without arguments.<br />
Stateful Session Beans can have arguments (more than one create<br />
method)<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 7
11. Why would a session bean use bean-managed transactions<br />
In some situations, it's necessary for a (stateful) session bean to selectively<br />
control which methods participate in transactions, <strong>and</strong> then take over the<br />
bundling <strong>of</strong> operations that form a logical unit <strong>of</strong> work.<br />
12. Is method overloading allowed in EJB<br />
Yes you can overload methods.<br />
13. How can JMS be used from EJB 1.1<br />
The same as any client would use JMS. At this point there is no integration, but it<br />
is planned for a future release <strong>of</strong> the EJB spec.<br />
14. Can primary keys contain more than one field<br />
Yes, a primary key can have as many fields as the developer feels is necessary,<br />
just make sure that each field you specify as the primary key, you also specify a<br />
matching field in the bean class. A primary key is simply one or more attributes<br />
which uniquely identify a specific element in a database. Also, remember to<br />
account for all fields in the equals() <strong>and</strong> hashCode() methods.<br />
15. Which fields in beans should be public<br />
All Container Managed Fields in an Entity Bean must be public.<br />
Ejb 1.1 spec section 9.4.1 - "The fields must be defined in the entity bean class<br />
as public, <strong>and</strong> must not be defined as transient."<br />
16. How do I automatically generate primary keys<br />
A common way to do it is to use a stateless session bean to retrieve the ID that<br />
you wish to use as the primary key. This stateless session bean can then<br />
execute an Oracle sequencer or procedure etc. to retrieve the ID value used as<br />
the primary key.<br />
17 What are the different type <strong>of</strong> Enterprise JavaBeans <br />
There are 3 types <strong>of</strong> enterprise beans, namely: Session bean, Entity beans<br />
<strong>and</strong> Message driven beans.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 8
BIG QUESTIONS:<br />
UNIT – II<br />
1. Draw the architecture <strong>and</strong> explain the functions <strong>of</strong> various entities<br />
involved.<br />
2. Discuss the roles in EJB.<br />
3. Draw the life cycle <strong>of</strong> Entity bean <strong>and</strong> explain<br />
4. List the Constraints on using Session beans.<br />
5. Explain the concept <strong>of</strong> session bean <strong>and</strong> It type in detail.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 9
Unit III<br />
1. What is Session Bean<br />
Session bean represents a single client inside the J2EE server. To access the<br />
application deployed in the server the client invokes methods on the session<br />
bean. The session bean performs the task shielding the client from the<br />
complexity <strong>of</strong> the business logic.<br />
Session bean components implement the javax.ejb.SessionBean interface.<br />
Session beans can act as agents modeling workflow or provide access to<br />
special transient business services. Session beans do not normally represent<br />
persistent business concepts. A session bean corresponds to a client server<br />
session. The session bean is created when a client requests some query on<br />
the database <strong>and</strong> exists as long as the client server session exists.<br />
2. What are different types <strong>of</strong> session bean <br />
There are two types <strong>of</strong> session beans, namely: Stateful <strong>and</strong> Stateless.<br />
3. What is an Entity Bean<br />
An entity bean represents a business object in a persistent storage<br />
mechanism. An entity bean typically represents a table in a relational<br />
database <strong>and</strong> each instance represents a row in the table. Entity bean differs<br />
from session bean by: persistence, shared access, relationship <strong>and</strong> primary<br />
key.<br />
4. What are different types <strong>of</strong> entity beans<br />
There are two types <strong>of</strong> entity beans available. Container Managed<br />
Persistence (CMP) , Bean managed persistence (BMP).<br />
5. What is abstract schema <br />
In order to generate the data access calls, the container needs information<br />
that you provide in the entity bean's abstract schema. It is a part <strong>of</strong> Deployment<br />
Descriptor. It is used to define the bean's persistent fields <strong>and</strong> relation ships.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 10
6. When we should use Entity Bean <br />
When the bean represents a business entity, not a procedure. we should<br />
use an entity bean. Also when the bean's state must be persistent we should use<br />
an entity bean. If the bean instance terminates or if the J2EE server is shut down,<br />
the bean's state still exists in persistent storage (a database).<br />
7. When to Use Session Beans <br />
At any given time, only one client has access to the bean instance. The<br />
state <strong>of</strong> the bean is not persistent, existing only for a short period (perhaps a few<br />
hours). The bean implements a web<br />
service. Under all the above circumstances we can use session beans.<br />
8. When to use Stateful session bean<br />
The bean's state represents the interaction between the bean <strong>and</strong> a<br />
specific client. The bean needs to hold information about the client across<br />
method invocations. The bean mediates between the client <strong>and</strong> the other<br />
components <strong>of</strong> the application, presenting a simplified view to the client. Under<br />
all the above circumstances we can use a stateful session bean.<br />
9. When to use a stateless session bean<br />
The bean's state has no data for a specific client. In a single method<br />
invocation, the bean performs a generic task for all clients. For example, you<br />
might use a stateless session bean to send an email that confirms an online<br />
order. The bean fetches from a database a set <strong>of</strong> read-only data that is <strong>of</strong>ten<br />
used by clients. Such a bean, for example, could retrieve the table rows that<br />
represent the products that are on sale this month. Under all the above<br />
circumstance we can use a stateless session bean.<br />
10. Why Use EJB<br />
EJB helps in building enterprise applications easily. Developers <strong>of</strong> EJB<br />
needs to focus on business logic only. All other features like transaction,<br />
persistence etc will be managed by the container. EJB provides developers<br />
architectural independence.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 11
11. What are the different methods <strong>of</strong> Entity Bean<br />
An entity bean consists <strong>of</strong> 4 type <strong>of</strong> methods: create methods, finder<br />
methods, remove methods <strong>and</strong> home methods.<br />
12. What is the difference between EJB <strong>and</strong> Java beans<br />
EJB is a specification for J2EE server, not a product; Java beans may be a<br />
graphical component in IDE.<br />
13. What is EJB role in J2EE<br />
EJB technology is the core <strong>of</strong> J2EE. It enables developers to write reusable <strong>and</strong><br />
portable server-side business logic for the J2EE platform.<br />
14. What are the key benefits <strong>of</strong> the EJB technology<br />
1. Rapid application development<br />
2. Broad industry adoption<br />
3. Application portability<br />
4. Protection <strong>of</strong> IT investment<br />
15. How many enterprise beans<br />
There are three kinds <strong>of</strong> enterprise beans:<br />
1. session beans,<br />
2. entity beans, <strong>and</strong><br />
3. Message-driven beans.<br />
16. What is message-driven bean<br />
A message-driven bean combines features <strong>of</strong> a session bean <strong>and</strong> a Java<br />
Message Service (JMS) message listener, allowing a business component to<br />
receive JMS. A message-driven bean enables asynchronous clients to access<br />
the business logic in the EJB tier.<br />
17. What is the difference between session <strong>and</strong> entity beans<br />
An entity bean represents persistent global data from the database; a session<br />
bean represents transient user-specific data that will die when the user<br />
disconnects (ends his session). Generally, the session beans implement<br />
business methods (e.g. Bank.transferFunds) that call entity beans (e.g.<br />
Account.deposit, Account.withdraw)<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 12
18. How many EJB Objects are created for a Bean<br />
For a Session bean – one EJB object for one bean instance.<br />
For entity bean – it depends , if two users are accessing one row at time then<br />
one EJB object is used for both the beans other wise for each bean one EJB<br />
object.<br />
19. What is EJB container<br />
An EJB container is a run-time environment that manages one or more<br />
enterprise beans. The EJB container manages the life cycles <strong>of</strong> enterprise bean<br />
objects, coordinates distributed transactions, <strong>and</strong> implements object security.<br />
Generally, each EJB container is provided by an EJB server <strong>and</strong> contains a set<br />
<strong>of</strong> enterprise beans that run on the server.<br />
20. What is the difference between ejbCreate() <strong>and</strong> ejbPostCreate<br />
The purpose <strong>of</strong> ejbPostCreate() is to perform clean-up database operations after<br />
SQL INSERTs (which occur when ejbCreate() is called) when working with CMP<br />
entity beans. ejbCreate() is called before database INSERT operations. You<br />
need to use ejbPostCreate() to define operations, like set a flag, after INSERT<br />
completes successfully<br />
UNIT III<br />
BIG QUESTIONS<br />
1. Explain Life Cycle <strong>of</strong> session bean with diagram.<br />
2. Explain detail about Entity beans <strong>and</strong> its deployment.<br />
3. (i) Draw the life cycle <strong>of</strong> entity bean <strong>and</strong> explain.<br />
(ii) List the constraints on using session beans.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 13
UNIT IV<br />
1. Why we need CORBA<br />
It is used to solve one fundamental problem-“how can distributed object oriented<br />
systems implemented in different languages <strong>and</strong> running on different platforms”<br />
2. What are the essential parts <strong>of</strong> CORBA<br />
Invocation Interfaces<br />
Object Request Broker<br />
Object Adapters<br />
3. What are the requirements need to work invocation interfaces <strong>and</strong> object<br />
adapters<br />
All object interfaces need to be described in a common language.<br />
All languages used must have bindings to the common language.<br />
4. What is the use ORB<br />
An ORB is capable <strong>of</strong> loading <strong>and</strong> starting an object servant which receiving<br />
invocation requests for an object <strong>of</strong> that servant.<br />
5. What is responsible <strong>of</strong> object adapter<br />
An object adapter is responsible for which servant serves telling an ORB which<br />
new object.<br />
6. Differentiate stubs <strong>and</strong> skeletons.<br />
Sl.no Stubs Skeletons<br />
1.<br />
2.<br />
Called client side proxy objects.<br />
It forwards all invocations through the<br />
ORB to the real target object.<br />
Called server side stubs<br />
It directly invokes the target method.<br />
7. Specify the features <strong>of</strong> SOM.<br />
Meta programming<br />
Binary compatibility<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 14
8. Specify any four services supporting enterprise distributed computing.<br />
Naming <strong>and</strong> trader service.<br />
Event <strong>and</strong> notification service<br />
Object transaction service<br />
Security service<br />
9. Specify any four services supporting architecture using fine-grained<br />
objects<br />
_ Concurrency control service<br />
_ Licensing service<br />
_ Lifecycle service<br />
_ Relationship service<br />
_ Persistent state service<br />
10. What is naming service<br />
It allows arbitrary names to be associated with an object. Names are unique<br />
within<br />
a naming context <strong>and</strong> naming contexts from a hierarchy.<br />
11. What is push model<br />
In push model the event supplier calls a push method on the event channel,<br />
which<br />
reacts by calling the push method <strong>of</strong> all registered consumers.<br />
12. What is pull model<br />
In pull model the consumers call the pull method <strong>of</strong> the event channel, effectively<br />
pooling the channel for events.<br />
13. What is the life cycle service<br />
This service supports creation, copying, moving <strong>and</strong> deletion <strong>of</strong> objects <strong>and</strong><br />
related<br />
group <strong>of</strong> objects.<br />
14. What are the features <strong>of</strong> CCM components<br />
Ports that are classified into facets, receptacles, event sources <strong>and</strong><br />
event sinks.<br />
Primary keys, which are values that instances <strong>of</strong> entity components<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 15
Attributes <strong>and</strong> configuration<br />
Home interfaces<br />
15. What is facet<br />
A special <strong>of</strong> CCM components is the equivalent interface, which enables<br />
navigation between the different facts <strong>of</strong> a CCM component.<br />
16. What is Receptacles<br />
Receptacles provide connect <strong>and</strong> disconnect operations <strong>and</strong> internally<br />
correspond<br />
to object references top other objects <strong>of</strong> appropriate type.<br />
17. What is home interface<br />
The home interface is provided by a component, not its instances, <strong>and</strong> supports<br />
the<br />
creation <strong>of</strong> new instances.<br />
18. What is the use <strong>of</strong> primary keys<br />
Primary keys which are values that instances <strong>of</strong> entity components provide to<br />
allow client identification <strong>of</strong> the instances.<br />
19. What is attribute <strong>and</strong> configuration<br />
Configuration interfaces support initial configuration <strong>of</strong> new component instances.<br />
They are described as IDL attributes with set <strong>and</strong> get operations.<br />
20. What is MDA<br />
The OMG architecture board introduced a new approach called model driven<br />
architecture for all forthcoming OMG specifications.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 16
UNIT IV<br />
BIG QUESTIONS:<br />
1. Explain briefly about the CORBA services<br />
Services supporting enterprise distributed computing.<br />
Services supporting architecture using fine-grained objects.<br />
2. Explain the CORBA component model.<br />
Portable object adapter<br />
CCM components<br />
CCM containers<br />
3. Write short notes on SOM <strong>and</strong> MDA.<br />
SOM<br />
Meta programming<br />
Binary compatibility<br />
MDA<br />
4. Explain briefly about IDL interface.<br />
_ IDL interface<br />
_ Modules<br />
_ Data types<br />
5. Explain briefly about CCM components.<br />
_ Features<br />
_ Diagram<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 17
UNIT-V<br />
1. Define COM<br />
COM is binary st<strong>and</strong>ard, it specifies nothing about how a particular programming<br />
language may be bound to it. COM does not specify what a component or an<br />
object is.<br />
2. Draw the binary representation <strong>of</strong> a COM interface.<br />
Client variable<br />
3. Name <strong>and</strong> two interfaces that is used in COM<br />
Query interface<br />
Iunknown interface<br />
4. What is the use <strong>of</strong> Query interface method<br />
Query interface takes the name <strong>of</strong> an interface, checks if the current COM object<br />
supports it, <strong>and</strong> if so returns the corresponding interface reference.<br />
5. What is the use <strong>of</strong> Iunknown interface<br />
The identity <strong>of</strong> the Iunknown interface can serve to identify the entire COM object<br />
with out requiring any specific functionality.<br />
6. What are the methods supported by Iunknown interface<br />
Query Interface<br />
AddRef<br />
AddRelease<br />
7.Specify the use <strong>of</strong> HRESULT type.<br />
The type HRESULT is used by most COM interface methods to indicate<br />
success or failure to call. It may also indicate network failure.<br />
Interface node<br />
OP1<br />
OP2<br />
OPn<br />
Component<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 18
8. What is AddRef <strong>and</strong> Release<br />
On creation <strong>of</strong> an object or node, the reference count is initialized to 1<br />
before h<strong>and</strong>ling out a first reference. Each time a copy <strong>of</strong> a reference is created<br />
the count must be incremented (AddRef). Each time a reference is given up, the<br />
count must be decremented (Release).<br />
9. Specify the two forms <strong>of</strong> object reuse.<br />
Containment<br />
Aggregation<br />
10. What is containment<br />
Containment is a form <strong>of</strong> object reuse. It is just the simple object composition<br />
technique. One object holds an exclusive reference to another. Here the call is<br />
forwarded<br />
<strong>and</strong> h<strong>and</strong>led by another object.<br />
11. What is aggregation<br />
Aggregation is a form <strong>of</strong> object reuse. Here instead <strong>of</strong> forwarding requests, an<br />
inner object’s interface reference could be h<strong>and</strong>ed out directly to another object’s<br />
client.<br />
12. When we use Aggregation<br />
Aggregation is only useful where the outer object does not wish to intercept calls<br />
to perform some filtering or additional processing.<br />
13. Compare COM <strong>and</strong> DCOM.<br />
DCOM transparently exp<strong>and</strong>s the concepts <strong>and</strong> services <strong>of</strong> COM. DCOM builds<br />
on the client-side proxy objects <strong>and</strong> the server side stub objects already present<br />
in COM.<br />
14. What is outgoing interface<br />
An outgoing interface is an interface that a COM object would use if it were<br />
“connected” to an object that provides this interface.<br />
15. Name the interface that is declared within outgoing interface.<br />
IConnectionPointContainer<br />
IConectionPoint<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 19
16. Specify the use <strong>of</strong> IConnectionPointContainer<br />
Using IConnectionPointContainer ,the various connection point objects <strong>of</strong> a<br />
connectable object can be found <strong>and</strong> enumerated.<br />
17. Specify the use <strong>of</strong>IConnectionPoint<br />
IConnectionPoint can be used to establish, enumerate <strong>and</strong> tear down<br />
connections.<br />
18. How the connectable objects implement change propagation<br />
Connectable objects provide a uniform way to implement change propagation. As<br />
outgoing <strong>and</strong> incoming interfaces are matched, the propagation can take the<br />
form <strong>of</strong><br />
regular method invocations instead <strong>of</strong> requiring the creation <strong>of</strong> event objects.<br />
19. Specify the policies that are used to determine the shared assemblies in<br />
GAC.<br />
Publisher policy<br />
Application policy<br />
Machine policy<br />
20. What is Appdomains<br />
The CLR execution engine partitions a process into one or more AppDomains.<br />
An<br />
AppDomain isolates sets <strong>of</strong> object from all objects in other appdomain, but is<br />
more light weight <strong>and</strong> cheaper than operating systems.<br />
21. What are contexts<br />
A context is a partition <strong>of</strong> an appdomain the member objects, objects <strong>of</strong> which<br />
share the propreties <strong>of</strong> their contexts.<br />
22. What is reflection<br />
The CLI reflection support grants full access to the type structure <strong>of</strong> loaded<br />
assemblies including all attributes defined on these types.<br />
23. What is remoting<br />
The CLI remoting support combines context <strong>and</strong> reflection infrastructure with<br />
flexible support for proxies, channels <strong>and</strong> messages provide building blocks for a<br />
wide variety <strong>of</strong> communication styles <strong>and</strong> patterns.<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 20
UNIT V<br />
BIG QUESTIONS:<br />
1. Explain the COM services in detail.<br />
Dispatch interfaces<br />
Connectable objects<br />
2. Explain in detail the compound document <strong>and</strong> OLE.<br />
OLE containers <strong>and</strong> services<br />
Controls-ActiveXcontrols<br />
3. Explain briefly about the .Net components.<br />
Assemblies<br />
Single application<br />
Shared application<br />
Policies<br />
4. Write short notes on AppDomains, contexts, reflection,remoting<br />
AppDomains<br />
o Loading<br />
o Unloading<br />
Contexts<br />
o Context bound<br />
o Context Agile<br />
Reflection<br />
Remoting<br />
5. Explain about dual interface <strong>and</strong> outgoing interfaces.<br />
o Dual interface<br />
_ Idispatch method<br />
_ DispID<br />
o Outgoing interface<br />
_ IConnectionPointContainer<br />
_ IConnectionPoint<br />
Department <strong>of</strong> IT, JCET, Trichy. Page 21