31.01.2015 Views

QB - Jayaram College of Engineering and Technology

QB - Jayaram College of Engineering and Technology

QB - Jayaram College of Engineering and Technology

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!