SECTION: 1: 1: Application Design Concepts and Principles
OBJECTIVE: 1.1: Explain the main advantages of an object oriented
approach to system design including the effect of encapsulation, inheritance,
delegation, and the use of interfaces, on architectural characteristics.
1) You are the architect of a new web application that must support
a wide variety of requests with the potential that each request can have
varying degrees of specialized logic. This system must support a flexible and
extensible mechanism for your developers to add request logic.
Which design implementation should be selected to maximize flexibly
and extensibility?
a) Implement a controller object to perform action management.
b) Implement a front controller with a command handler. (*)
c) Implement command objects and import them onto all JSP pages.
d) Implement scriptlets with page specific logic embedded into all JSP pages.
REFERENCE:
Core J2EE design patterns - Front Controller/Command Handler (Alur, Crupi,
Malks)
Option B is correct.
Option A is incorrect because just a controller alone is not the best solution
for extensibility.
Option C is incorrect because command objects are correct but importing on
each JSP page is not appropriate for this solution. It does not address flexibility
or extensibility.
Option D is incorrect because embedding logic in JSP pages allows for the least amount of flexibility.
SECTION: 2: 2: Common Architectures
OBJECTIVE: 2.1: Explain the advantages and disadvantages of
two-tier architectures when examined under the following topics: scalability,
maintainability, reliability, availability, extensibility, performance, manageability,
and security.
2) Your organization has a legacy thick-client application. The issue
is that the presentation and business logic are currently coupled. A
change in presentation logic requires a change in business logic. A suggestion
is to re-factor this into a three-tier application and separate the business
logic from the presentation logic.
What non-functional requirement would you improve by separating the presentation
layer from the business layers?
a) Security
b) Response Time
c) Manageability
d) Maintainability (*)
e) Performance
REFERENCE:
Practical Software Estimation: (M. A. Parthasarathy)
Option D is correct.
Option A is incorrect because securing a one-tier application is generally
easier than securing a three-tier application. With a three-tier you need
to secure the web server, application server, and database.
Option C is incorrect because manageability of one-tier application is generally
easier than tree-tier application. With a three-tier you need to manage the
health the web server, application server, and database.
Options B, E are incorrect because performance and response time of a one-tier
system should be better than a three-tier. With a three-tier application
the request/response cycle includes a web server, application server, and
database.
SECTION: 3: 3: Integration and Messaging
OBJECTIVE: 3.1: Explain possible approaches for communicating
with an external system from a Java EE-based system given an outline description
of those systems and outline the benefits and drawbacks of each approach.
3) You organization has numerous Java applications on their internal
network that must send daily updates to their inventory tracking system.
It is important to keep the inventory system current. If the inventory system
is unavailable when it restarts, it must be able to process and maintain all
updates.
How should the inventory system receive these updates?
a) As a JMS durable subscriber. (*)
b) Using XML over HTTP.
c) Using SOAP over HTTP.
d) Using EJB3 and Java Persistence API.
REFERENCE:
The Java EE 5 Tutorial - The Java Series Enterprise Edition - Third Edition.
Option A is correct.
Options B, C, D are incorrect because JMS is the only implementation
that can guarantee message delivery.
SECTION: 4: 4: Business Tier Technologies
OBJECTIVE: 4.1: Explain and contrast uses for Entity Beans,
Entity Classes, Stateful and Stateless Session Beans, and Message Driven
Beans. Understand the advantages and disadvantages of each type.
4) Your organization is interested in building an application that will
allow users to query and read volumes of statistical data for analysis. They
anticipate high volumes of traffic and want the most scalable solution. This
application will be distributed in a cluster and deployed as an enterprise
archive. Components should be designed so that they can be accessed remotely
by other Java applications.
What Java EE component type and remote access technology is correct for
this architecture?
a) Servlet accessed using HTTP.
b) Message-driven bean accessed using JMS.
c) Stateless session bean accessed using RMI. (*)
d) Stored procedures and DAO's.
REFERENCE:
The Java EE 5 Tutorial - The Java Series Enterprise Edition - Third Edition.
Option D is correct.
Option A is incorrect because this is not the most scalable solution.
Option B is incorrect because this not a workflow application and requires
remote accessibility.
Option D is incorrect because this is not the most scalable solution.
SECTION: 5: 5: Web Tier Technologies
OBJECTIVE: 5.1: State the benefits and drawbacks of adopting
a web framework in designing a Java EE application
5) You are building a new website that presents certain GUI controls
and data on multiple pages.
Which two will you implement to prevent redundant GUI code? (Choose two.)
a) Use a business delegate to decouple the GUI from the business service.
b) Use a service locator to locate business services.
c) Access the data using JDBC.
d) Use templates to create composite view components. (*)
e) Custom Tag Libraries. (*)
f) Use Model-View-Controller.
REFERENCE:
Core J2EE Patterns Second Edition: (Alur, Crupi, Malks)
Options D, E are correct.
Options A, B, C, F are incorrect because they do not deal with the GUI.
SECTION: 6: 6: Applicability of Java EE Technology
OBJECTIVE: 6.1: Given a specified business problem, design
a modular solution implemented using Java EE which solves that business problem.
6) You are architecting a new web deployed portfolio management application.
In the current system, the Portfolio Managers have a desktop application
running on their local PCs, and you want to implement the new solution with
a GUI that is similar to their desktop application. Once the users have set
up and approved a portfolio, you must use a Web service to send the trade to
a fund trading system.
What two technologies are required for this new application? (Choose
two.)
a) JAX-WS (*)
b) JMS
c) JSSE
d) JCE
e) JSP
f) JSF (*)
REFERENCE:
JSF 1.2 spec.
Options A, F are correct.
Options B, C, D are incorrect because they are not indicated by the requirements.
Option E is incorrect because it could be used, but only by adding Ajax,
which is not mentioned in the requirements.
SECTION: 7: 7: Patterns
OBJECTIVE: 7.1: From a list, select the most appropriate pattern
for a given scenario. Patterns are limited to those documented in the book
- Alur, Crupi and Malks. Core J2EE Patterns: Best Practices and Design Strategies
2nd Edition, 2003. and named using the names given in that book.
7) You are architecting a new Change Request management system using
asynchronous messaging. You have chosen to use a message-driven bean
(MDB) to receive the message, interpret the client request, and locate the appropriate
business service to handle the request.
What design pattern is this an example of?
a) Transfer Object Assembler
b) Service Locator
c) Service to Worker
d) Service Activator (*)
e) Web Service Broker
REFERENCE:
Core J2EE Patterns Second Edition: (Alur, Crupi, Malks)
Option D is correct.
Option A is incorrect because that creates an aggregate transfer object.
Option B is incorrect because it is not asynchronous.
Option C is incorrect because it does not address the requirements.
Option E is incorrect because we are not using Web Services.
SECTION:
8: 8: Security
OBJECTIVE: 8.1: Explain the client-side security model for
the Java SE environment, including the Web Start and applet deployment modes.
8) A company is trying to cause chaos by sending out an unsigned applet
that is loaded via the net.
What action can the applet take to cause untold destruction?
a) Access file directories on the local machine.
b) Access load libraries on the local machine.
c) Make network connections to another web server.
d) Use excessive amounts of CPU time. (*)
REFERENCE:
http://java.sun.com/sfaq/
Option D is correct.
Options A, B, C are incorrect because they are prevented by the sandbox.