middleware

advertisement
MIDDLEWARE – TECHNOLOGIES – MC951
TWO MARK QUESTIONS
1. What are the types in design pattern?
There are four types in design pattern.
*Algorithm strategy patterns
*Computational design patterns
*Execution patterns
*Implementation strategy patterns.
2. Define design pattern?
Design pattern is general reusable solution to a commonly occurring problem with in a given
context in software design. Design patterns reside in the domain of modules and interconnections.
3. Type of Reports?
*Status report -for (e.g.) telling a sales manager the orders taken in the last week month or year.
*Errors Report -for (e.g.) what orders have errors in them?
*Statistics -for (e.g.) Stock levels, sales figures.
*Trend analysis –It is key items, Which required for demand forecasting.
4. What are the important topics in IT architecture?
*Information Access
*Information Accuracy
*Shared data or controlled redundancy.
*Integration with existing database.
5. Define data mark?
Data Mark technology used in predicated on copying the data from the production system to
the mark.
6. What are the sources in information accuracy?
*Information is out of data.
*Wrong conclusions are down from the data.
* Information was input incorrectly.
7. Define Integrity benefits of message Queuing?
The integrity benefits come as a result of message queuing built-in mechanism for ensuring that
messages are send and sent only once.
8. Importance of IT Architecture?
* Identifies the components of a problem space.
*Show the relationship among them.
*Defines the terminology.
*Rules and constraints on the relationships and components.
9. Types of IT Architecture environment?
*Presentation ->Manage the interface.
*Application ->Represents the business logic.
*Data ->Operating on the various databases.
10. What is Evaluation?
Evaluation means that the parts of the system have clearly defined functionality and work
together in the simplest way possible.
11. Define Middleware?
Definition of middleware is Software that is necessary in practices to build distributed
application.
12. Middleware and associated elements?
1. The communication link.
2. The protocol
3. The programmatic interface
4. A common data format
5. Server process control
6. Naming/Directory services
7. Security
8. System management.
13. Write RPC mechanisms?
1. Open network computing (ONC) from sun micro systems.
2. Distributed computing Environment (DCM) from open software foundation.
14. Define marshalling
Stub is to convert parameters into a string of bits and send the message over the network.
15. Define Unmarshalling?
Skelton takes the message converts it back into parameters.
16. Define Serialization?
It is used to taking an object and converting it into a message for storing on disk or sending over
the network but it is also used in the context of converting parameters to message.
17. What are the approaches in programmatic interface?
There are two approaches to the programmatic interface
*Dynamic SQL ->It’s passed text from client to server.
*Remote database access ->it’s a normal database interface
18. What are stored procedures?
Stored procedures turns remote database access into a form of RPC.Remote database access
calling stored procedure can be many times faster than a remote database access calling other SQL
commands.
19. Write my five technologies in remote database access?
1. ODBC –Open Database Connectivity.
2. OLEDB –Object Linking and Embedding Database.
3. ADO –Active Data Object
4. Most recently ADO.NET
5. Java Environment –IDBC-Java database connectivity
JDO-Java data object.
20. Define ACID Properties?
A ->Atomic
C ->Consistent
I ->Isolation
D ->Durable
21. What is XA-Protocol?
Open group’s Standard protocol between the middleware and the database is called the XA
protocol.
22. Define message Queuing?
Message Queuing is program-to-message Queue. Message Queue as a very fast mailbox since
you can put a message in the box without the recipient’s being active.
23. Proxy objects:
Proxy object are shared by different clients, or at least look as if they are shared to the client.
24. Agent object:
Agent object are shared, when the client request an agent object, the server creates a new
object.
25.
What is Interpretive interface?
RAC middleware the operations may also be called through an interpretive interface.Such as macro
language.
An interpretive interface requires some way of finding out about the operations at runtime.
26. What is cookies?
Cookies are small amounts of data the server can send to the browser and request that it be
loaded on the browser’s disk.
27. Define web service?
The W3C defines a web service as a software system designed to support interoperable
machine-to-machine interaction over a network.
28. Define SOAP?
SOAP ->Simple Object Access Protocol)
The key messaging technology is SOAP.IT is relatively simple and be used over many
communication protocol.
29. Define Middleware Interoperability?
Middleware Interoperability is one of the main functions of EAI products Enterprise application
Integration products.
30. Define IIOP?
Internet Inter ORB protocol is a protocol that makes it possible for distributed programs written
in different programming language.
31. What are the categories of systems management?
* Administration
* Operation
* Fault tracking and resolution
* Performance management and accounting
*Security
32. What are the scenarios in distributed environment?
1. The client failing
2. The server failing
3. Both the client & server failing.
33. What is clustering?
*It is the one important approach of dual active.
*Clustering means the database is shared by both systems.
34. What is un-slippery slope?
Difference b/w back marks and reality is the hardware architecture. We call this un-slippery slope.
35. What is hardware architecture gap?
The gap b/w what the processor could do and what it actually does do we call it the hardware
architecture gap.
36. Define message queuing:
Message queue can de very efficient because they allow a number of message to be put into one black
both for transmission over the n/w and for writing to disk.
37. Define activities:
Activities such as processing and recording information, instructing the other part to take action ,and
displaying information for operator, call this part process and manage.
38. Define snmp:
 Snmp define the attributes of the managed objects in a management information base(MIB). A
MIB is a formal description of a set of network objects that can be managed using snmp.
 Snmp is very effective at managing network components such as routers and switches.
39. What is mean by reuse?
 When components became popular their primary selling point was reuse.
For components reuse to become common place , development must be broken down into
three roles.
I.
The programmer who writes reusable components.
II.
The assembler who writes scripts that calls the components.
III.
The administrator who writes the deployment descriptors and contigures the
production system.
40. Define serendipitous reuse:
 The alternative to serendipitous reuse is architectural reuse.
 It is bottom-up reuse.
 It’s good for the simple application.
41. List down the types of task level design:




Database logical design.
Security logical design.
System management logical design.
Business rules definition.
42. Write seven areas analysis:





Performance
Resiliency.
Error handling.
Data accuracy.
Timing constraints.
 Migration.
 Flexibility.
43. Define the term migration:
Migration means changing. New business process replaces an existing business process; change from
one to other can be sudden or gradual. It can be done sub process or unit by unit.
44. Process information:
Process information means information about the process such as object types, tracking objects,
resource objects, plan objects and needs some basic online inquiry facilities.
45. Types of design patterns;
Design patterns reside in the domain of modules and inter connections:
Types:




Algorithm strategy patterns.
Computational design patterns.
Execution patterns.
Implementation strategy patterns.
46. What is CORBA?
Common Object Request Broker Architecture – provides services to support intercommunication
between objects. It is a framework and a specification for object collaboration and sharing across
a heterogeneous distributed network of machines and applications.
47. What are the goals of CORBA?
CORBA aims to allow interaction between potentially distributed component objects created by
different manufacturers in different languages (location transparency and language
transparency).
48. What is a heterogeneous distributed system?
A collection of communicating machines running different operating systems.
49. What is an ORB?
An ORB or Object Request Broker is software that allows servers to register the objects they
provide and clients to find objects providing the services they want and then to interact with
them.
50. What is the purpose of a request in CORBA?
A request is used to transfer the name of the method (the service) and the parameters between the
client and the server.
51. What are the roles of a skeleton and a stub in CORBA?
A stub and a skeleton are automatically generated from the IDL description of an interface. The
stub behaves to the caller just like the called object – it provides the same methods and
implements the same interfaces. However, when the methods are called, the stub interacts with
the network to pass the request to the skeleton. The skeleton calls the appropriate method on the
called object and passes the results back to the stub, which returns them to the caller.
52. What is the role of an interface in CORBA?
An interface is used to define the services (methods) provided by an object and their parameters
and results. The remote server provides an object which implements the interface. The client
requests the interface from the ORB and the returned object must provide all the methods
defined in the contract represented by the interface.
53. What is the purpose of IDL?
Interface Definition Language (IDL) is a programming language-independent language for
specifying the names, parameters and return types of the interface methods. A module may
contain several interfaces and may define constants to be used with the methods.
54. What is the purpose of a mapping?
A mapping allows a compiler to translate an interface defined in IDL into a specific
programming language. It allows the compiler to generate stubs, skeletons and various helper
classes which can be used to develop implementations of the interface.
55. What are the similarities and differences between RMI and CORBA?
Similarities



Hide communication to remote objects behind method calls
Use stub/skeleton approach
Provide a Naming Service
Differences



RMI is Java-only, CORBA is multi-language
CORBA is more sophisticated – will have greater overhead
CORBA offers many additional services e.g. persistence, events, application-domain
services
56. Write
about OMG.
OMG stands for Object Management Group were created in 1989. The OMG solicited input from all segments of the
industry and eventually defined the CORBA standard. The OMG does not create products; it focuses on creating
specifications that can be implemented and used by all.
57.What is DOM? And Write about it.
CORBA is a specification for an emerging technology known as distributed object management (DOM) . DOM
technology provides a higher-level, object-oriented interface on top of the basic distributed computing services.
CORBA has emerged as the leading standard among DOM solutions, with only one significant competitor, Microsoft’s
distributed component object model (DCOM) .
58.What
is OMA? And write about its elements.
The higher-level specification is referred to as the object management architecture (OMA), which addresses following
elements:
1.CORBA services
2.CORBA facilities
3.CORBA domains
4.ORB (Object Request Broker).
59.What are the things consists by CORBA object model.
Object- An encapsulation entity that provides services to a client.
Requests- An action created by a client directed to a target object that includes information on the operation to be
performed and zero or more actual parameters.
Object Creation and Destruction – Based on the state of requests, objects are created or deleted.
Types- An identifiable entity defined over values.
Interfaces – The specification of operations that a client can request from a object.
Operations- An identifiable entity that defines what a client can request from an object.
60.How to managing Distributed Systems?
The Distributed Systems managed by applying following Services.
2.Naming
3.Monitoring
4.Licensing
5.Persistence
6.Security
7.Transaction
8.Messaging
9.Distributed garage collection
10.Resource Management.
61.What are factors considered during the development and the deployment of software
for Distributed Objects?
* Language choice is no longer a primary consideration.
* Process and machine boundaries are more easily crossed.
* Internet and push technologies offer new delivery mechanisms.
62. What are the fundamentals traits of a distributed object system?
Data Types
Interfaces
Marshaling and un marshaling
Proxies, stubs, and skeletons
Object handles
Object creation
Object invocation
Object destruction
63 What is BSTR?
A BSTR also known as a Basic String is a pointer to a length-prefixed wide character array. Because a BSTR is
prefixed with a 4-byte length attribute, a C/C++ BSTR pointer does not point at the beginning of the data structure but
instead points to the first wide character in the array. In a C++ application, a BSTR instance must be allocated using
the SysAllocString() method and deallocated using the SysFreeString() method.
64. How to implement a remote method invocation in CORBA?
1. A Client invokes a remote method. The remote method is actually invoked in the client stub.
2. The Client stub creates a message containing information needed for the remote invocation.
3. The Client stub sends he message to the server skeleton using the communication bus.
4. The server skeleton receives the message and unpacks it.
5. The server skeleton calls the appropriate server method based on the information provided in the received
message.
6. The server skeleton creates a message based on the outputs of the call to the server method.(i.e., the return value
and out parameters).
7. The server skeleton sends the result message to the client stub using the communication bus.
8. The client stub receives the result message, unpacks the message, and returns the results to the client.
65. What is marshaling and Un-Marshaling?
In Client-Server communication with CORBA or COM or RMI, The message creation or packing process in any side it
refers to as Marshaling. The message unpacking process is referred to as un-marshaling.
66. What is CORBA?
CORBA stands for Common Object Request Broker Architecture which is a Middleware between Client and Server in
Distributed Architecture. CORBA provides language independence by defining object interface in a languageindependent manner. CORBA is providing to be one of the most important innovations in the recent history of
information systems. It addresses the two most prominent problems faced in he software industry today:
1.The difficulty of developing client-server applications.
2.By rapidly integrating legacy systems, off-the-shelf applications, and new development.
67. What are the key roles of broker in distributed System?
The broker plays two key roles.
1.It provides the common services, including basic messaging and communication between client and server,
directory services, meta-data description, security services, and location transparency.
2.It insulates the applications from the specifics of the system configuration , such as hardware platforms and
operating systems, network protocols , and implementation languages.
68.. What is CORBA Object Model?
The CORBA Object Model defines key boundaries and meanings to enable unambiguous interpretation of these
concepts. Without a common object model, the implementation of CORBA – compliant tools by independent software
manufactures might otherwise produce fatal incompatibilities. CORBA’s object model is based on a complete object
approach in which a client sends a message to an object. The message identifies an object, and one or more
parameters are included. The first parameter defines the operation to be performed, although the specific method
used is determined by the receiving object.
69. What is GIOP?
GIOP stands for General inter-ORB protocol. The GIOP was specified to allow interoperability among ORB
implementations. It assumes an underlying connection-oriented transport layer. The GIOP defines transfer syntax,
known as common data representation (CDR), and seven basic message types.
70. What is IIOP?
IIOP stands for Internet Inter –ORB protocol. The mapping of GIOP to TCP/IP is referred to as the internet Inter-ORB
protocol. The interoperable object reference (IOR) is the mechanism through which objects are accessed through the
IIOP and between ORB vendors. The IOR includes the Orb’s internal object reference, Internet host address, and
port numbers. It is managed by the interoperating Orbs and is not visible to application programmers.
71. What is IDL?
IDL stands for Interface Definition Language. OMG IDL is a declarative for defining the interface of CORBA objects. It
is a language- independent way in which implementers and users of objects can be assured of type-safe invocation
of operations, even though the only other information that needs to pass between them is an object reference. IDL is
used by ORB-specific IDL compilers to generate stub and/or skeleton code that converts in-memory data structures
in one programming language into equivalent network streams and then unpacks them on another machine into
equivalent data structures in another language, makes a method call, and then transmits the results in the opposite
direction.
72. What is IDL Interface?
The IDL interface defines the exposed details of distributed objects. Each IDL interface defines a new object type.
The operation signatures are the essence of the interface. These are the entry points for service requests. IDL
interface is that it specifies a software boundary between a service implementation and its clients. The IDL declares
what is exposed by this interface, and all other details are hidden. IDL interface can inherit from other interfaces.
73. What is the purpose of IDL Modules?
IDL modules create separate name spaces for IDL definitions. This prevents potential name conflicts among
identifiers used in different domains. Modules do not inherit from other modules. Only IDL interfaces are capable of
inheriting specifications. Modules can be nested. Modules are used at the base definition level to enclose one or
more IDL interface and their associated type definition.
74.What is the purpose of using IDL Forward?
The IDL forward statement is used to declare an interface name before its complete definition appears in the file.
Forward declarations can also be used to create recursive definitions. Forward declarations do not establish their
enclosed definitions.
75. Write about IDL Constants.
IDL allows the definition of constant values. There is a restricted set of types, including integer, character, Boolean,
floating point, string, and renamed types. The constant definitions can include some arithmetic expressions.
Example:
const unsigned long k =4.5;
76. What is IDL sequence?
Sequences are special data type that is unique to IDL. Sequences are essentially variable-length arrays. Since every
programming language has a binding to IDL that is natural, sequences are defined as appropriate within the
programming language environment. If the programming language already has a variable-length elements type , that
is a suitable representation.
77. What is purpose of IDL Type Declaration?
The purpose of type declarations in IDL is to enable strong type checking of operation signatures. Type declarations
include renaming of the intrinsic types in IDL, as well as the creation of user-defined types that can be either
enumeration, structures, arrays, sequences , or unions.
78. Write about IDL Attributes?
IDL definitions expose public attributes and operations. If an attribute or operation is private, it should not appear in a
public IDL definition. By default, all IDL definitions know by the ORB are public because they are publicly retrievable
from the Interface Repository. Attribute may be read-only or read-write. Each attribute has an IDL data type and
appears within a specific IDL interface definition.
Example: attribute unsigned short age;
79. Write about IDL Exception.
CORBA makes the important guarantee that the client making an invocation will always receive a successful return or
an exception. This is a significant simplification of the complexities of distributed computing and can greatly reduce
the amount of client code needed. Exceptions are also an important part of an interface specification. Exceptions
define the values passed by the interface in case something goes wrong. There are two general kinds of exceptions:
user-defined and CORBA defined .
80.What is IDL Operation Signatures?
The specification of operation signatures is the underlying purpose of IDL. An operation signature defines the
acceptable ways to access an object. No other hidden interfaces are allowed. All operation definitions are declared
within specific IDL interfaces. By default, IDL operations are synchronous. There is an asynchronous option denoted
by the one-way keyword, which indicates that the operation will be executed at-most-once, using a best-effort
semantics.
81.What is EJB?
EJB stands for Enterprise Java Bean and is widely-adopted server side component architecture
for J2EE. It enables rapid development of mission-critical application that are versatile, reusable
and portable across middleware while protecting IT investment and preventing vendor lock-in.
82.What is the difference between EJB and Java beans?
EJB is a specification for J2EE server, not a product; Java beans may be a graphical component
in IDE.
83.What is EJB role in J2EE?
EJB technology is the core of J2EE. It enables developers to write reusable and portable serverside business logic for the J2EE platform.
85.What are the key features of the EJB technology?
<!--[if !supportLists]-->1. <!--[endif]-->EJB components are server-side components written
entirely in the Java programming language
<!--[if !supportLists]-->2. <!--[endif]-->EJB components contain business logic only – no
system-level programming & services, such as transactions, security, life-cycle,
threading, persistence, etc. are automatically managed for the EJB component by the EJB
server.
<!--[if !supportLists]-->3. <!--[endif]-->EJB architecture is inherently transactional,
distributed, portable multi-tier, scalable and secure.
<!--[if !supportLists]-->4. <!--[endif]-->EJB components are fully portable across any EJB
server and any OS.
<!--[if !supportLists]-->5. <!--[endif]-->EJB architecture is wire-protocol neutral–any
protocol can be utilized like IIOP,JRMP, HTTP, DCOM,etc.
86.What are the key benefits of the EJB technology?
<!--[if !supportLists]-->1. <!--[endif]-->Rapid application development
<!--[if !supportLists]-->2. <!--[endif]-->Broad industry adoption
<!--[if !supportLists]-->3. <!--[endif]-->Application portability
<!--[if !supportLists]-->4. <!--[endif]-->Protection of IT investment
87.How many enterprise beans?
There are three kinds of enterprise beans:
<!--[if !supportLists]-->1. <!--[endif]-->session beans,
<!--[if !supportLists]-->2. <!--[endif]-->entity beans, and
<!--[if !supportLists]-->3. <!--[endif]-->Message-driven beans.
88.What is message-driven bean?
A message-driven bean combines features of a session bean and a Java Message Service (JMS)
message listener, allowing a business component to receive JMS. A message-driven bean enables
asynchronous clients to access the business logic in the EJB tier.
89.What are Entity Bean and Session Bean?
Entity Bean is a Java class which implements an Enterprise Bean interface and provides the
implementation of the business methods. There are two types: Container Managed Persistence
(CMP) and Bean-Managed Persistence (BMP).
Session Bean is used to represent a workflow on behalf of a client. There are two types: Stateless
and Stateful. Stateless bean is the simplest bean. It doesn’t maintain any conversational state
with clients between method invocations. Stateful bean maintains state between invocations.
90.What is Session Bean? Explain
A session bean is a non-persistent object that implements some business logic running on the
server. One way to think of a session object is as a logical extension of the client program that
runs on the server.
Session beans are used to manage the interactions of entity and other session beans,access
resources, and generally perform tasks on behalf of the client.
There are two basic kinds of session bean: stateless and stateful.
Stateless session beans are made up of business methods that behave like procedures; they
operate only on the arguments passed to them when they are invoked. Stateless beans are called
stateless because they are transient; they do not maintain business state between method
invocations. Each invocation of a stateless business method is independent from previous
invocations. Because stateless session beans are stateless, they are easier for the EJB container to
manage, so they tend to process requests faster and use fewer resources.
Stateful session beans encapsulate business logic and state specific to a client. Stateful beans are
called “stateful” because they do maintain business state between method invocations, held in
memory and not persistent. Unlike stateless session beans, clients do not share stateful beans.
When a client creates a stateful bean, that bean instance is dedicated to service only that client.
This makes it possible to maintain conversational state, which is business state that can be shared
by methods in the same stateful bean.
91.What is the difference between session and entity beans?
An entity bean represents persistent global data from the database; a session bean represents
transient user-specific data that will die when the user disconnects (ends his session). Generally,
the session beans implement business methods (e.g. Bank.transferFunds) that call entity beans
(e.g. Account.deposit, Account.withdraw)
92.What are the services provided by container?
Container services are totally depends upon the “vendor implementation”. But more or less most
of the vendors suppots the basic services like,
<!--[if !supportLists]-->1. <!--[endif]-->LifeCycle Management – It is Automatic.
<!--[if !supportLists]-->2. <!--[endif]-->Session Management – it is used by Developer coded
callback methods…
<!--[if !supportLists]-->3. <!--[endif]-->Transaction Management – it is used by configuring
deployment descriptor (DD).
<!--[if !supportLists]-->4. <!--[endif]-->Security management – it is used by configuring
deployment descriptor (DD).
The other services, if any will be in advanced versions, and depends on Vendor specific.
93.What is Deployment descriptor?
A deployment descriptor is an XML file packaged with the enterprise beans in an EJB JAR file
or an EAR file. It contains metadata describing the contents and structure of the enterprise beans,
and runtime transaction and security information for the EJB container.
94.How many EJB Objects are created for a Bean?
For a Session bean – one EJB object for one bean instance.
For entity bean – it depends , if two users are accessing one row at time then one EJB object is
used for both the beans other wise for each bean one EJB object.
95.What is re-entrant. Is session beans reentrant. Is entity beans reentrant?
If we define the entity bean as being reentrant, multiple clients can connect to the Entity bean &
execute methods within the entity bean concurrently. Container takes care of synchronization. If
we define the entity bean as non-reentrant and many clients connect to it concurrently to execute
a method, exception is thrown
96.What is EJB container?
An EJB container is a run-time environment that manages one or more enterprise beans. The EJB
container manages the life cycles of enterprise bean objects, coordinates distributed transactions,
and implements object security. Generally, each EJB container is provided by an EJB server and
contains a set of enterprise beans that run on the server.
97.What is EJB server?
An EJB server is a high-level process or application that provides a run-time environment to
support the execution of server applications that use enterprise beans. An EJB server provides a
JNDI-accessible naming service, manages and coordinates the allocation of resources to client
applications, provides access to system resources, and provides a transaction service. An EJB
server could be provided by, for example, a database or application server.
98.What is the difference between ejbCreate() and ejbPostCreate?
The purpose of ejbPostCreate() is to perform clean-up database operations after SQL INSERTs
(which occur when ejbCreate() is called) when working with CMP entity beans. ejbCreate() is
called before database INSERT operations. You need to use ejbPostCreate() to define operations,
like set a flag, after INSERT completes successfully.
99.Why does EJB needs two interfaces(Home and Remote Interface)
There
is
a
pure
division
of
roles
between
the
two
.
Home Interface is the way to communicate with the container which is responsible for creating ,
locating and removing beans and Remote Interface is the link to the bean that allows acces to all
methods and members.
100.What is the difference between a Server, a Container, and a Connector?
An EJB server is an application, usually a product such as BEA WebLogic, that provides (or
should provide) for concurrent client connections and manages system resources such as threads,
processes, memory, database connections, network connections, etc. An EJB container runs
inside (or within) an EJB server, and provides deployed EJB beans with transaction and security
management, etc. The EJB container insulates an EJB bean from the specifics of an underlying
EJB server by providing a simple, standard API between the EJB bean and its container. A
Connector provides the ability for any Enterprise Information System (EIS) to plug into any EJB
server which supports the Connector architecture. See Sun’s J2EE Connectors for more in-depth
information on Connectors.
101.Why is ejbFindByPrimaryKey mandatory?
An Entity Bean represents persistent data that is stored outside of the EJB Container/Server. The
ejbFindByPrimaryKey is a method used to locate and load an Entity Bean into the container,
similar to a SELECT statement in SQL. By making this method mandatory, the client
programmer can be assured that if they have the primary key of the Entity Bean, then they can
retrieve the bean without having to create a new bean each time – which would mean creating
duplications of persistent data and break the integrity of EJB.
What is the default transaction attribute for an EJB?
Download