|
1. Which of
the following are true about Active Replication?
A It is a fault-tolerance
mechanism
B It is achieved by taking cold
back ups
C Each replica attempts to
process each request but extra calls may be intercepted via an interceptor
D State changes are logged and
periodically flushed to the replicas
E State is synchronized only
when the primary service fails
F Each replica is identical to
the main service.
Choices A, C and F are correct.
Active Replication is a fault tolerance mechanism where each replica is
identical to the main service and attempts to service each request. An
interceptor is used to block extra responses. Active replication is similar in
concept to Hot Backups. Hence choices A, C and F are correct.
Active Replication is not achieved through cold backups. In cold backups, the
replicas are not constantly updated. Their state is synchronized with the
primary service in regular intervals. In the event that the primary service
fails, one of the replicas has to be synchronized (perhaps with data from a
storage device) before it can service requests. Hence choice B is incorrect.
Choice D refers to the concept of Warm Backus. In warm backups, only the
primary service responds to requests. However all activity is constantly
logged. Periodically these logs may also get flushed to the replicas. When the
primary service fails, a replica takes over after its state is synchronized
with the logs. Hence choice D is incorrect.
With active replication, as mentioned before, the state of all replicas is
constantly synchronized. Hence choice E is incorrect.
2 Which
of the following are benefits of Server Clustering?
A Replication
B High Security
C Easy Manageability
D Load Balancing
E Fault Tolerance
Choices A, D and E are correct.
Through the use of replicas, server clusters increase the reliability and
availability of a system. They provide a fault tolerance mechanism with load
distribution and load balancing capabilities. Hence choices A, D and E are
correct.
J2EE applications offer security features through Identification,
Authentication and Authorization mechanisms. In addition they also provide
APIs that allow secure communication, encryption of messages and so on. This
is not a feature of server clusters though. Hence choice B is incorrect.
Managing multiple servers is always a harder than managing just one server.
Hence easy manageability may not always be true with distributed platforms.
With J2EE, due to clear roles and responsibilities of tiers and layers,
applications may be relatively easier to manage than other distributed
systems. However manageability is not the best asset of distributed systems.
Hence choice C is incorrect.
Refer to the following diagram:
In the above diagram:
A Class D implements Class C
B Class C implements Class D
C Interface C implements Class D
D Interface D implements Class C
E Class D implements interface C
Choice E is correct.
In the diagram, A and B are classes, C is an interface and D is a class that
implements C. Hence Choice E is correct.
Choice A is incorrect because <<Interface>> C is not a class and
you can only extend classes, not implement them. Choice B is the reverse of
choice A but again incorrect because C is an interface, not a class.
Choice C is incorrect because it claims that the interface C implements class
D, whereas in reality class D implements interface C.
Choice D is incorrect because it claims that D is an interface. And C is a
class, while it is the other way round.
3 Which
of the following are true about Passive Replication?
A Primary Service and all
replicas respond to all requests
B Primary Service randomly
delegates requests to one of the secondary replicas
C Primary service handles all
requests
D State is periodically
synchronized between the Primary service and all replicas
E It is similar to hot backup
F It is similar to Warm Backup
Choices C, D and F are correct.
In Passive Replication, the primary service handles all requests. The state of
the replicas is periodically synchronized. In the event that the primary
service fails, one of the replicas takes over after its state is synchronized
(with log files, for example.) In concept, passive replication is similar to
that of Warm Backups. Hence choices C, D and F are correct.
Only in Active Replication, the primary service and all replicas respond to
all requests. Hence choice A is incorrect.
Choice B seems to indicate that Passive replication uses some kind of load
distribution mechanism. Hence choice B is incorrect.
Passive replication is similar to warm backups as opposed to active
replication, which is similar to hot backups. Hence choice E is incorrect.
4 CORBA
is a standard for
A Messaging using virtual
channels called Queues
B Standardized development
practices
C Messaging using virtual
channels called topics
D Accessing distributed object
systems in many platforms and languages
E Accessing Distributed object
systems based only on Java Technologies
Choice D is correct.
Common Object Request Broker Architecture (CORBA) is a standard for
distributed communication involving applications written using different
languages. Hence choice D is accurate.
Queues are the mechanism by which two parties communicate in a Point-to-Point
asynchronous messaging paradigm. Hence choice A is incorrect.
Choice B indicates that CORBA is a methodology, as opposed to a standard and
is incorrect.
Topics are the mechanism through with Publish Subscribe messaging is
accomplished. Choice C is incorrect.
Although choice E talks about distributed object systems, it is referring to
pure Java objects. CORBA is used object distribution involving different
languages. Hence choice E is incorrect.
5
RMI-IIOP
does not provide which of the following capabilities?
A Remote Method Invocation
B Stub Downloads
C Objects pass by value (state
only)
D Distributed Garbage Collection
Choices B and D are correct.
RMI-IIOP does not support Stub downloads and distributed garbage collection.
Hence choices B and D are correct.
Both Remote Method Invocation and Objects pass by value are supported by
RMI-IIOP. Hence choices A and C are incorrect.
6 Which
of the following are not true about Screen Scrapers?
A Screen scrapers function as
Terminal Emulators on one end and as Object Interfaces on the other.
B Screen Scraping may be a
useful tool when used in conjunction with the off-board servers.
C Changes to legacy UI has
little or no impact on the new GUI
D Screen Scraping is best used
when the legacy clients have loose coupling with other tiers.
Choices C and D are correct.
When using screen scrapers, any changes to the legacy user interface will also
affect the new GUI. Also screen scraping is the best alternative only if the
existing UI is very tightly coupled with the business tier of the legacy
application. Hence choices C and D are false and therefore the correct
choices.
Choices A and B are true about screen scrapers and hence incorrect.
7 Which
of the following methods may be present in the Home Interface of an Entity
Bean?
A create()
B findByPrimaryKey()
C remove()
D locateByPrimaryKey()
E retrieveBean()
Choices A, B and C are correct.
The Home Interface provides methods for creation, location and removal of
beans. Hence you could find create(), findByPrimaryKey() and remove() methods
in the bean's Home Interface. Choices A, B and C are therefore correct.
There are no methods like locateByPrimaryKey() and retrieveBean() in the Home
Interface. Hence choices D and E are incorrect.
8
Undefined Primary Keys refers to?
A Refers to Entity Beans that do
not use Primary Keys
B Primary Keys that are defined
during development
C Primary Keys that remain
undefined until the bean is deployed
D Entity Beans cannot have
undefined Primary Keys
Choice C is correct.
One problem with container-managed persistence in EJB 1.0 was that the bean
developer had to define the primary key during development. This forced the
developer to make assumptions thus limiting the bean's portability across
databases. EJB 1.1 allows the primary key to remain undefined until
deployment. Hence choice C is correct.
Choice A is incorrect because all entity beans must have a serializable
primary key that can be used to uniquely identify an entity bean in the
database.
Undefined Primary Keys are not defined during development. Hence choice B is
incorrect.
Choice D is incorrect because it indicates that Entity Beans are not allowed
to have undefined Primary Keys. This was true in EJB1.0 but not in EJB1.1.
9 Which
of the following are valid life cycle states for a Stateless Session
Bean?
A Does not Exist
B Pooled State
C Method Ready Pool
D Passive
Choices A and C are correct.
The two valid states in a Stateless Session Bean's life cycle are 'Does Not
Exist' and 'Method Ready Pool.' When Beans are not instantiated they are said
to be in the 'Does Not Exist' state. Beans transition from 'Does Not Exist' to
'Method Ready Pool' when instantiated. The container does this automatically,
as needed. Hence choices A and C are correct.
Pooled and Passive are not valid states in the lifecycle of a Stateless
Session Bean. Hence choices B and D are incorrect.
10 Both CMT
and BMT may be used with Entity and Session Beans. True or False?
A True
B False
Choice B is correct
With EJB1.1 only Session Beans with <transaction-type> equal to 'Bean'
can have bean-managed transactions. Entity Beans are not allowed to be BMT
beans. Hence choice B is correct.
11 A session
bean called SomeBean has a method called someMethod(), which calls
someOtherMethod (same bean) followed by someOtherBeanMethod() of
SomeOtherBean. SomeOtherBean is an Entity Bean with CMT. Which of the
following is true?
A SomeOtherBean has no control
on the transaction since it is a CMT bean.
B SomeOtherBean has full access
to the UserTransaction object through which it can control the
transaction.
C SomeOtherBean has access only
to the transaction methods in EJBContext, which gives it the power to veto
transactions.
D SomeOtherBean has access on
the transaction only if the method had RequiresNew set as its transaction
attribute.
Choice C is correct.
Only BMT beans have access to the User-Transaction from the EJBContext. The
EJBContext provides the methods setRollbackOnly() and getRollbackOnly(), to
provide CMT beans access to the transaction. The setRollbackOnly() method
gives a bean the power to veto a transaction. Hence choice C is correct.
Choice A is incorrect because the entity bean has the capability to veto the
transaction.
Choice B is incorrect because CMT beans only have the power to veto user
transactions.
Choice D makes an incorrect argument and is thus wrong.
12 Which of
the following is not a resource management technique?
A Maintaining a smaller pool of
Stateless Beans to serve a large number of clients.
B Providing Database Connection
Pooling
C Persistence of Entity Beans
D Passivation of Stateful Beans
Choice C is correct.
Persistence of Entity beans is the ability to save data represented by the
bean into a database. It is not a resource management technique. Choice C is
false and therefore correct.
Maintaining a smaller number of beans to serve a larger number of clients is a
very clever resource management technique. It is also an example of the
Flyweight Design Pattern. Choice A is thus a resource management technique and
therefore incorrect.
Database connection pooling, a similar concept as bean pools, is also a good
resource management technique. Choice B is therefore incorrect.
With Stateful Session Beans, the container uses passivation to manage memory.
In passivation the state of the bean is serialized and its memory freed up for
reuse by other services. Hence bean passivation is a memory management
technique making choice D incorrect.
13 Which of
the following are invalid states in the life of a Stateful Session
Bean?
A Does Not Exist
B Method Ready Pool
C Method Ready in Transaction
D Method Ready
E Ready
F Pooled
G Passive
Choices B, E and F are correct.
The valid life cycle states of a Stateful Session Bean are 'Does Not Exist',
'Method Ready', 'Method Ready in Transaction' and 'Passive'. 'Method Ready
Pool' is a life cycle state of Stateless Session Beans. 'Pooled' and 'Ready'
are life cycle states of Entity Beans. Hence choices B, E and F are correct.
14 What is
the sequence of steps in the life cycle of a Stateless Session Bean?
A class.newInstance(),
setSessionContext (ctx), ejbCreate()
B ejbCreate(), setSessionContext
(ctx), class.newInstance()
C class.newInstance(),
ejbCreate(), setSessionContext (ctx)
D setSessionContext (ctx),
ejbCreate(), class.newInstance()
Choice A is correct.
When Stateless Session Beans transition from 'Does Not Exist' to 'Method Ready
Pool', the container invokes newInstance(), setSessionContext() and
ejbCreate() methods. Hence choice A is correct.
Although choices B, C and D have the same methods, the order in which they
appear to be called is wrong. Therefore choices B, C and D are incorrect.
15 HTTPS is
defined as
A HTTP with Security
B HTTP on secure line
C HTTP over SSL
D HTTP with SSL
Choice C is correct
HTTPS stands for HTTP over SSL. With HTTPS, SSL sits above the TCP-IP layer
and below the application protocol layer. Hence choice C is correct.
16 HTTP
is
A Connection Less
B Connection Base
C Stateful
D Stateless
E Secure
Choice B and D are correct.
HTTP (HyperText Transfer Protocol) is a transport mechanism for MIME
(Multipurpose Internet Mail Extensions) documents. MIME documents often
contain HTML (HyperText Markup Language) code for display in browser windows.
HTTP consists of a request sent by the client to the server, followed by a
response sent from the server back to the client. HTTP uses TCP/IP as the
underlying transport and network protocols.
The following is taken from:
http://www.w3.org/Protocols/Activity.html
"Whenever a client accesses a document, an image, a sound bite etc. HTTP/1.0
creates a new TCP connection and as soon as it is done, it is immediately
dismissed and never reused."
"HTTP/1.1 fixes this in two ways. First, it allows the client to reuse the
same TCP connection (persistent connections) again and again when talking to
the same server. Second, it makes sure that the courier carries as much
information as possible (pipelining) so that it doesn't have to run back and
forth as much. That is, not only does HTTP/1.1 use less TCP connections, it
also makes sure that they are better used. The result is less traffic jam and
faster delivery."
The following is taken from:
http://www.w3.org/Protocols/HTTP/HTTP2.html
"HTTP is a protocol with the lightness and speed necessary for a distributed
collaborative hypermedia information system. It is a generic stateless
object-oriented protocol, which may be used for many similar tasks such as
name servers, and distributed object-oriented systems, by extending the
commands, or 'methods', used."
Hence choices B and D are correct. Since choices A and C are the opposite,
they are incorrect.
HTTP can be made secure by using 'HTTP over SSL' or HTTPS. But by itself, HTTP
is not secure. Hence choice E is incorrect.
17
Asynchronous communication is achieved by using:
A Remote Procedure Calls
B RMI/IIOP
C Message Oriented Middleware
D CORBA
Choice C is correct.
Message Oriented Middleware or MOM is used for asynchronous messaging between
applications. Most popular implementations support Point to Point (one to one)
and Publish Subscribe (one to many) messaging. Hence choice C is correct.
Remote Procedure Calls are used for synchronous communication between
applications. CORBA and RMI/IIOP are two protocols that support RPC based
communication. Hence choices A, B and D are incorrect.
18 Which of
the following is not part of the Messaging architecture:
A Decentralized messaging using
IP Multicasting
B Decentralized messaging using
Secure Sockets Layer (SSL)
C Use of virtual channels called
Queues
D Use of virtual channels called
Topics
Choice B is correct.
Only choice B is not a standard paradigm in messaging architecture. Hence
choice B is correct.
IP Multicasting can be used as a technique for decentralized messaging. Queues
and Topics are used with Point to Point and Publish Subscribe messaging. Hence
choices A, C and D are incorrect.
19 In P2P,
clients send messages to:
A A designated queue
B Multiple Queues
C A specific node for
redistribution to subscribers
D CORBA compliant ORB
Choice A is correct.
P2P or Point to Point messaging is used for one to one communication between
two components or applications. In the P2P model, message producers send
messages to a designated queue. Hence choice A is correct.
Although it is possible to mimic Publish Subscribe architecture by sending P2P
messages to multiple queues, it is not a standard practice. Hence choice B is
incorrect.
In Publish Subscribe architecture, messages are sent to a specific node for
redistribution to subscribers. Hence choice C is incorrect.
CORBA is an RPC protocol and is not used for asynchronous messaging. Hence
choice D is incorrect.
20 Happy Joe
Banking Corporation is building a Banking application to provide online access
to their account holders. They have chosen 2
SUN 450s for
their web server cluster and 1
SUN E10000 for
their application server. The business requirements indicate that to become a
customer, a person must have at least a primary checking account with the
bank. Further since the customer will be using the Internet to view
confidential information, security is considered paramount.
What do you understand about the requirements of the
system?
A The need for Security is a
classic example of a functional service level requirement and the checking
account rule, an example of non-functional QoS requirement.
B The discussion about Security
and the mandatory checking account both illustrate functional service level
requirements.
C Neither Security nor the
mandatory Checking Account is an example of any kind of requirements,
theoretically speaking.
D {Security is an Architectural
non-functional requirement and the Mandatory Checking Account a functional
design requirement.
E They are both examples of
Business Use Cases.
Choice D is correct.
Successful software architecture deals with addressing the non-functional
service level requirements of a system. The Design process takes all the
functional business requirements into account. Security is considered a
non-functional requirement and specific business rules, such as the one
described with the checking account are considered functional requirements. D
is the only choice that accurately describes this.
A is incorrect because the functional and non-functional requirements are
flipped over.
B is incorrect because only one of them is a functional requirement.
C is incorrect because as described above, one of them is a functional
requirement and the other, a non-functional requirement.
Finally E is incorrect because business analysis may start with use cases
(where the checking account rules may be captured), but this discussion is
specifically questioning functional vs. non-functional requirements.
21 In an
interview between the senior management of Happy Joe Banking Corporation and
the J2EE application architect
Scott
Khosla, the
following points were discussed:
I. The system needed to respond within
5 seconds
II. The system is needed to have a 99.9%
uptime
III. HJBC was in the process of acquiring another
bank which would add two hundred thousand customers to their already existing
half million.
IV. Each phase of the SDLC was to have a
clear sign off process.
V. The development team was expected
to provide a detailed unit test plan and user documentation.
VI. In order to ensure privacy, HTTPS was to
be used.
22 What
non-functional requirements were discussed?
A Scalability, Availability,
Extensibility, Manageability and Security
B Performance, Reliability,
Elaboration, Transition, Documentation and Security
C Specification, Elaboration,
Construction, Transition, Use Cases and Security
D Performance, Availability,
Scalability and Security
E Reliability, Availability,
Scalability, Manageability and Security
Choice D is correct.
The non-functional service level requirements discussed are Performance
(system needs to respond within 5 seconds), Availability (system is needed to
have a 99.9% uptime), Scalability (additional two hundred thousand
subscribers), and Security (HTTPS is to be used.) Hence choice D is correct.
There is no mention of extensibility (ability to easily add or extend
functionality) and Manageability (ability to monitor the health of the
system.) Hence choice A is incorrect.
Specification, Elaboration, Construction, Transition, Documentation and use
cases are not non-functional service level requirements. Hence choices B and C
are incorrect.
While scalability and reliability may be related (will the system perform as
reliably when more users operate on it), there is no mention of reliability in
the question. Hence choice E is incorrect.
23 N-tier
applications show better performance than 2-tier applications because they are
modular in nature, which means that they can be scaled easily, by tuning
components and containers individually. True/False ?
A True
B False
Choice A is correct.
N-Tier applications (especially those based on J2EE) are designed to be very
modular in nature. The tiers and layers separate roles and responsibilities of
each component and container. Hence components and containers can be
individually targeted and scaled as needed. This results in better
performance. Hence choice A is correct.
24 Moon
Microsystems has a web-based solution that was originally built using
Servlets. However, in recent months, the IS manager has asked developers to
use JSP technology with Java Scriptlets embedded in HTML code.
Scott
Khosla, the
architect, however is insisting that the code be modularized and that EJBs be
used instead of Servlets and JSP for business logic processing. In asking
developers to modularize existing code, what software development technique is
Scott asking
the developers to follow?
A Code Break up
B Code engineering
C Code Tiering
D Code Factoring
Choice D is correct.
Software applications have a tendency to grow in complexity over time. When
that happens, they become difficult to extend, maintain and modify. They also
become hard to understand.
Code factoring is a modularization technique that deals with the separation of
responsibilities in code. Factored code has loose coupling and minimal
dependencies, making components and code more reusable. Hence choice D is
correct.
There are no concepts like code break up, code engineering or code tiering.
Hence choices A, B and C are incorrect.
25 Refer to
the following exhibit
In UML,
A (i) represents an object and
(ii) a class
B (ii) represents a package and
(i) a class
C (i) represents a class and
(ii) an object
D (i) and (ii) both represent
components
Choice C is correct.
In the above diagram Aclass represents a class and: Aclass represents an
object. Hence choice C is correct.
|