You are on page 1of 32

S U N M I C R O S Y S T E M S C E R T I F I C A T I O N

F O R P R O G R A M M E R S , D E V E L O P E R S & A R C H I T E C T S

A guide to
Sun Java Certification
A guide to Sun Java Certification

Sun Java
Technology
Certification Guide
Certification in key IT skills, such as using Java™ Technology, benefits
both IT professionals and the businesses that employ them. This
guide explains the advantages that Sun Java Technology certification
delivers, describes how Sun Java Technology certification works and
provides resources that will help IT professionals to achieve their
certification goals.

l e t { 
t t p S e rv
e n d s H e s t , 
l e t e x t t r e q u
p tS e r v e qu e s
R e c e i e r v l e t R 
( Ht t p S po n s e )
d o P o s t s e r e s i o n { 
R e s p on O E x c e pt
S e r v l e t t i o n , I c a r t 
p t E xc e p o p p in g
S e r v l e a n d s h n ( ) ; 
ow s e s s io n S e s s i o
e r 's s e s t . g e t i o n 
the u s = r e q u e s e s s
e s s i o n d a t e t h
n s in v a l i
ssio i v e d - -
r e c e
ment e ( ) ; 
a t
n.invalid
Page 1 | Section 3
A guide to Sun Java Certification

SECTION 1 | WHY SHOULD I GET CERTIFIED IN JAVA TECHNOLOGY?

Why should I get certified in Java Technology?


As one of the core enterprise technologies of the 21st century, using Java™ Technology to build applications is a critical
skill for IT professionals. Consider, for example, Web services, an IT opportunity that is developing incredibly rapidly,
and an area where 60% of developers expect to use Java Technology (Source: Evans Data Corp., Autumn 2002).

Java Technology certification can benefit you professionally in several ways. It can:
• Improve your career potential: improve opportunities for salary increases, job role changes and promotions. A
recent CRN Salary Survey for the United States indicates that certified Java Technology professionals that have
achieved more than one certification command on average a 14% increase in salary over their counterparts who
only hold one Java Technology certification.
• Enhance your professional credibility
• Increase job security - More than two-thirds of certified professionals feel that technical certifications play a role in
job security.
• Prove to employers that your qualifications/skills are up to date

Why should my employees get certified in Java Technology?


Getting your employees certified in Java Technology will improve their technical knowledge and enhance their ability to
use Java Technology. In turn, this investment in your workforce can help you increase revenue and decrease costs by:
• Increasing your employees’ productivity, thereby decreasing time-to-market and giving your organisation a
competitive advantage
• Increasing service levels and reducing the risk of system failure
• Ensuring that your employees have the required skills to meet your application development needs
• Standardising your criteria for recruitment and/or for promoting employees
• Increasing employee satisfaction and commitment to the business – and the likelihood that they will remain in
their jobs
• Increasing the credibility of your staff, and your business as a whole

Page 1 | Section 1
A guide to Sun Java Certification

SECTION 2 | WHY GET CERTIFIED IN JAVA TECHNOLOGY FROM SUN?

Why get certified in Java Technology from Sun?


Sun created Java™ Technology; who could know it better? As the developer of industry breakthroughs like Java
Technology, the Solaris Operating Environment and Sun™ ONE Middleware, we have a unique perspective on the IT
environment that makes us the best choice to deliver the training and certification you need.

Our Sun Certified Java Professionals command top salaries in the industry, compared to other certification holders
(MCPMag.com, 2003). Indeed, the 2002 CRN Salary Survey reported that Sun certification ranks in the top three –
compared with all other IT certifications – for its affect on salary. According to the JavaPro Salary Survey 2002, the
average Sun Certified Developer for Java earns $22,550 more than their non-certified counterparts.

Participants in Certification Magazine’s Salary Survey for December 2002 rated Sun – in relation to technical
certifications – as Best Vendor for virtual labs, vendor boot camps and overall quality of educational experience.

Sun Certification industry recognition


• Finalist ‘Most Respected High-Level Certification’ Sun Certified Enterprise Architect for the Java 2 Platform,
Enterprise Edition (CertCities Readers’ Choice Awards – May, 2003)
• Finalist ‘Best Developer Certification’ Sun Certified Developer for the Java 2 Platform, Standard Edition (CertCities
Readers’ Choice Awards – May, 2003)
• Finalist ‘Best Internet/Web Certification’ Sun Certified Web Component Developer for the Java 2 Platform,
Enterprise Edition (CertCities Readers’ Choice Awards – May, 2003)

Businesses can rely on Sun to deliver a complete package for infrastructure technology, training and certification,
with one purchase order – and one payment.

Page 3 | Section 2
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Types of Sun Java Technology certification


Sun offers 5 different Java™ Technology Certification options, each with their recommended training courses:
• Sun Certified Programmer for the Java 2 Platform
• Sun Certified Developer for the Java 2 Platform
• Sun Certified Web Component Developer for the Java 2 Platform
• Sun Certified Business Component Developer for the Java 2 Platform
• Sun Certified Enterprise Architect for the Java 2 Platform

The Java Technology learning path os illustrated on page 5.

Sun’s certification policy

Sun operates its certification programme on the premise that candidates need only be certified once and their skills
will be recognised everywhere. Consequently, Sun offers certification based on a version of technology, rather than
requiring candidates to re-certify after a set period. However, to get the maximum value from certification,
candidates should ensure that they are, and continue to be, certified on the most current version of the technology.
When technology is updated, candidates wishing to keep their certification current may need to take the new
certification exam, although upgrade exams are available for some certification titles.

u s e B e a
/jsp:
p l e T a gS
n d s S i m
a g e x t e n , I OE
i m p l e T x c e p t i o
 W o r l d S s J s p E , w o r
i c H e l l o ) t h r o w ( " H e l l o
p u b l d o T a g ( ) . w r i t e
o i d u t (
public v ontext().getO
C
getJsp
}
Page 4 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

JAVA™ TECHNOLOGY CERTIFICATION LEARNING PATH

J2SE

NON-PROGRAMMER ENTRY

FUNDAMENTALS
SL-110

OF THE JAVA
PROGRAMMING
LANGUAGE
WP-1203

ADVANCED
OBJECT-ORIENTED
PROGRAMMING

Take one course at this level

OBJECT-ORIENTED STRUCTURED STRUCTURED


PROGRAMMER ENTRY PROGRAMMER ENTRY PROGRAMMER ENTRY
SL-265*

SL-255*
JAVA JAVA TECHNOLOGY JAVA PROGRAMMIING
SL-275

PROGRAMMING FOR STRUCTURED LANGUAGE FOR VISUAL


LANGUAGE PROGRAMMERS BASIC PROGRAMMERS

* Additional self-paced
TAKE BECOME A courseware included
CERTIFICATION SUN CERTIFIED
EXAM PROGRAMMER
J2EE

OBJECT-ORIENTED
OO-226

DEVELOPING DEVELOPING DEVELOPING


FJ-310

FJ-310

FJ-310

APPLICATION
ANALYSIS & DESIGN J2EE COMPLIANT J2EE COMPLIANT J2EE COMPLIANT
FOR JAVA TECHNOLOGY APPLICATIONS APPLICATIONS APPLICATIONS
(UML)

JAVA WEB COMPONENT ADVANCED BUSINESS ARCHITECTING AND


SL-425
SL-285

SL-314

SL-351

PROGRAMMING DEVLOPMENT COMPONENT DESIGNING JSEE


LANGUAGE WITH DEVELOPMENT WITH APPLICATIONS
WORKSHOP JAVA TECHNOLOGY EJB TECHNOLOGY

TAKE TAKE TAKE TAKE


CERTIFICATION CERTIFICATION CERTIFICATION CERTIFICATION
EXAM EXAM EXAM EXAM
BECOME A BECOME A BECOME A BECOME A
SUN CERTIFIED SUN CERTIFIED WEB SUN CERTIFIED BUSINESS SUN CERTIFIED
DEVELOPER COMPONENT DEVELOPER COMPONENT DEVELOPER ENTERPRISE ARCHITECT

Page 5 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Programmer for


the Java 2 Platform, Standard Edition (J2SE)
This certification is for programmers who are interested > Available at: Authorised Worldwide Prometric
in demonstrating proficiency in the fundamentals of the testing centres
Java programming language, using the Java 2 Platform, > Exam number: 310-036
Standard Edition. > Prerequisites: Successful completion of a previous
version of the Sun Certified Programmer for the Java
2 Platform exam
> Exam type: Multiple choice and short answer
Certification requirements > Number of questions: 33
To become a Sun Certified Programmer for the Java 2 > Pass score: 51% (17 of 33 questions)
Platform, you must successfully complete an exam that
> Time limit: 75 minutes
covers the Java 2 Platform, Standard Edition. You may
> Cost: Locally priced
take the Java 2 Platform 1.4 exam, or, if appropriate,
the Java 2 Platform Upgrade exam. The exam details are
as follows: Sun offers a practice exam that you can use to prepare.
You can order a 90-day subscription to web-based exam
Sun Certified Programmer for the Java 2 Platform 1.4, questions from the Sun Web Learning Centre. The
Standard Edition exam practice exam number is WGS-PREX-J035B.

The Sun Certified Programmer for the Java 2 Platform 1.4


certification exam is for programmers experienced in
using the basic syntax and structure of the Java Learning path
programming language. Sun offers a number of courses to help you prepare for
your Sun Certified Programmer certification exam. The
> Available at: Authorised Worldwide Prometric following diagram illustrates the Java Technology
testing centres certification learning path. After achieving programmer
> Exam number: 310-035 certification, you may choose to advance your career
> Prerequisites: None with one of our Java Technology Speciality Certifications.
> Exam type: Multiple choice and short answer
> Number of questions: 61 RECOMMENDED TRAINING
> Pass score: 52% (32 of 61 questions)
> Time limit: 120 minutes Java Programming Language for Non-Programmers
Course Number: SL-110
> Cost: Locally priced Duration: 5 days
Delivery: Instructor-led
Sun offers a practice exam that you can use to prepare.
Course Number: WJB-110
You can order a 90-day subscription to web-based exam Delivery: Web-based
questions from the Sun Web Learning Centre. The
practice exam number is WGS-PREX-J035B. Course Number: CDJ-110
Delivery: CD-ROM
Sun Certified Programmer for the Java 2 Platform
Java Technology for Structured Programmers
Upgrade exam, Standard Edition Course Number: SL-265
The Sun Certified Programmer for the Java 2 Platform Duration: 5 days
Upgrade Exam, Standard Edition, is for candidates who Delivery: Instructor-led
have already successfully completed the Sun Certified
Programmer for the Java 2 Platform examinations. Java Programming Language
Course Number: SL-275
Duration: 5 days
PLEASE NOTE: CANDIDATES WHO ARE NOT ALREADY CERTIFIED CANNOT TAKE THE
UPGRADE EXAM.
Delivery: Instructor led

Course Number: WJB-275


Delivery: Web-based

Course Number: CDJ-275


Delivery: CD-ROM

Page 6 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Programmer for J2SE

JAVA™ TECHNOLOGY CERTIFICATION LEARNING PATH


SUN CERTIFIED PROGRAMMERS FOR J2SE RECOMMENDED TRAINING

J2SE

NON-PROGRAMMER ENTRY

FUNDAMENTALS
SL-110

OF THE JAVA
PROGRAMMING
LANGUAGE
WP-1203

ADVANCED
OBJECT-ORIENTED
PROGRAMMING

Take one course at this level

OBJECT-ORIENTED STRUCTURED STRUCTURED


PROGRAMMER ENTRY PROGRAMMER ENTRY PROGRAMMER ENTRY
SL-265*

SL-255*
JAVA JAVA TECHNOLOGY JAVA PROGRAMMIING
SL-275

PROGRAMMING FOR STRUCTURED LANGUAGE FOR VISUAL


LANGUAGE PROGRAMMERS BASIC PROGRAMMERS

* Additional self-paced
TAKE BECOME A courseware included
CERTIFICATION SUN CERTIFIED
EXAM PROGRAMMER
J2EE

OBJECT-ORIENTED
OO-226

DEVELOPING DEVELOPING DEVELOPING


FJ-310

FJ-310

FJ-310

APPLICATION
ANALYSIS & DESIGN J2EE COMPLIANT J2EE COMPLIANT J2EE COMPLIANT
FOR JAVA TECHNOLOGY APPLICATIONS APPLICATIONS APPLICATIONS
(UML)

JAVA WEB COMPONENT ADVANCED BUSINESS ARCHITECTING AND


SL-425
SL-285

SL-314

SL-351

PROGRAMMING DEVLOPMENT COMPONENT DESIGNING JSEE


LANGUAGE WITH DEVELOPMENT WITH APPLICATIONS
WORKSHOP JAVA TECHNOLOGY EJB TECHNOLOGY

TAKE TAKE TAKE TAKE


CERTIFICATION CERTIFICATION CERTIFICATION CERTIFICATION
EXAM EXAM EXAM EXAM
BECOME A BECOME A BECOME A BECOME A
SUN CERTIFIED SUN CERTIFIED WEB SUN CERTIFIED BUSINESS SUN CERTIFIED
DEVELOPER COMPONENT DEVELOPER COMPONENT DEVELOPER ENTERPRISE ARCHITECT

Page 7 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Programmer for J2SE

Exam objectives Section 3: Garbage collection


The objectives for the Sun Certified Programmer for the • State the behaviour that is guaranteed by the
Java™ 2 Platform 1.4, Standard Edition, include: garbage-collection system.
• Write code that explicitly makes objects eligible for
Section 1: Declarations and access control garbage collection.
• Write code that declares, constructs and initialises • Recognise, in a piece of source code, the point at which
arrays of any base type using any of the permitted an object becomes eligible for garbage collection.
forms both for declaration and for initialisation.
• Declare classes, nested classes, methods, instance Section 4: Language fundamentals
variables, static variables and automatic (method • Identify correctly constructed package declarations,
local) variables, making appropriate use of all import statements, class declarations (of all forms,
permitted modifiers (such as public, final, static, including inner classes) interface declarations, method
abstract, etc.). State the significance of each of these declarations (including the main method that is used
modifiers both singly and in combination and state to start execution of a class), variable declarations,
the effect of package relationships on declared items and identifiers.
qualified by these modifiers.
• Identify classes that correctly implement an interface
• For a given class, determine if a default where that interface is either java.lang.Runnable or a
constructor will be created and, if so, state the fully specified interface in the question.
prototype of that constructor.
• State the correspondence between index values in the
• Identify legal return types for any method, given argument array passed to a main method, and
the declarations of all related methods in this or command line arguments.
parent classes.
• Identify all Java programming language keywords. Note:
There will not be any questions regarding esoteric
Section 2: Flow control, assertions, and exception distinctions between keywords and manifest constants.
handling
• State the effect of using a variable or array element of
• Write code using if and switch statements, and any kind when no explicit assignment has been made
identify legal argument types for these statements. to it.
• Write code using all forms of loops, including labelled • State the range of all primitive formats, data types
and unlabeled, use of break and continue, and state and declare literal values for String and all primitive
the values taken by loop counter variables during and types, using all permitted formats, bases and
after loop execution. representations.
• Write code that makes proper use of exceptions
and exception-handling clauses (try, catch, finally) Section 5: Operators and assignments
and declares methods and overriding methods that
• Determine the result of applying any operator
throw exceptions.
(including assignment operators and instance of) to
• Recognise the effect of an exception arising at a operands of any type, class, scope, or accessibility, or
specified point in a code fragment. Note: The any combination of these.
exception may be a runtime exception, a checked
• Determine the result of applying the Boolean equals
exception, or an error (the code may include try, catch,
(Object) method to objects of any combination of the
or finally clauses in any legitimate combination).
classes java.lang.String, java.lang.Boolean and
• Write code that makes proper use of assertions, java.lang.Object.
and distinguish appropriate from inappropriate uses
• In an expression involving the operators &, |, &&, ||
of assertions.
and variables of known values, state which operands
• Identify correct statements about the are evaluated and the value of the expression.
assertion mechanism.

Page 8 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Programmer for J2SE

• Determine the effect upon objects and primitive Section 8: Fundamental classes in the java.lang package
values of passing variables into methods and • Write code using the following methods of the
performing assignments, or other modifying java.lang.Math class: abs, ceil, floor, max, min,
operations, in that method. random, round, sin, cos, tan, sqrt.
• Describe the significance of the immutability of
Section 6: Overloading, overriding, runtime type and String objects.
object orientation
• Describe the significance of wrapper classes, including
• State the benefits of encapsulation in object oriented making appropriate selections in the wrapper classes
design, and write code that implements tightly to suit specified behaviour requirements, stating the
encapsulated classes and the relationships “is a” and result of executing a fragment of code that includes
“has a”. an instance of one of the wrapper classes, and writing
• Write code to invoke overridden or overloaded code using the following methods of the wrapper
methods and parental or overloaded constructors, and classes (e.g., Integer, Double, etc.):
describe the effect of invoking these methods. > doubleValue
• Write code to construct instances of any concrete class, > floatValue
including normal top-level classes and nested classes. > intValue
> longValue
Section 7: Threads > parseXxx

• Write code to define, instantiate and start new > getXxx


threads, using both java.lang.Thread and > toString
java.lang.Runnable. > toHexString

• Recognise conditions that might prevent a thread


from executing. Section 9: The Collections Framework
• Write code using synchronised wait, notify and • Make appropriate selection of collection
notifyAll to protect against concurrent access classes/interfaces to suit specified behaviour
problems and to communicate between threads. requirements.
• Define the interaction among threads and object locks • Distinguish between correct and incorrect
when executing synchronised wait notify or notifyAll. implementations of hashcode methods.

resp (r e qu es g
e llo .s ayHello x) {
h t io n e
ca t c h (Excep t r ing();
} ex.t o S
resp =
}
%> 
n n ect ion-

on : v er. jd bc-co
 m an d_comm ask set ser bp u blic 
o s t lo calh
admin_
com
n g ad min t P a s s w ord=p 4 8 4 8 --h
ction
o] D oi p er t y. - p or t co nn e
[ech e - po ol.pro in g: s et - r ve r .jdbc-
oksto r Execu t min s e
l.b o in ] r ad
p oo
p s er v-a d m
o r d - -u s e
= p bp u blic en t . No 
p w d
sswor tem environ m
[sun-a rd yourpass rt y .P a
-passw
o ope read sy
s Page 9 | Section 3

pool.pr p
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Programmer for J2SE

The objectives for the Sun Certified Section 5: Operators and assignments
Programmer for the Java™ 2 Platform • Determine the result of applying any operator
Upgrade exam include: (including assignment operators and instance of) to
Section 1: Declarations and access control operands of any type, class, scope, or accessibility, or
any combination of these.
• Declare classes, nested classes, methods, instance
variables, static variables and automatic (method • In an expression involving the operators &, |, &&, ||
local) variables, making appropriate use of all and variables of known values, state which operands
permitted modifiers (such as public, final, static, are evaluated and the value of the expression.
abstract, etc.). State the significance of each of these • Determine the effect upon objects and primitive
modifiers, both singly and in combination, and state values of passing variables into methods and
the effect of package relationships on declared items performing assignments, or other modifying
qualified by these modifiers. operations, in that method.
• Identify legal return types for any method, given
the declarations of all related methods in this or Section 6: Overloading, overriding, runtime type, and
parent classes. object orientation
• Write code to invoke overridden or overloaded
Section 2: Flow control, assertions, and exception methods and parental or overloaded constructors, and
handling describe the effect of invoking these methods.
• Write code using if and switch statements, and • Write code to construct instances of any concrete class,
identify legal argument types for these statements. including normal top-level classes and nested classes.
• Recognise the effect of an exception arising at a
specified point in a code fragment. Note: The Section 7: Threads
exception may be a runtime exception, a checked • Recognise conditions that might prevent a thread
exception, or an error (the code may include try, catch, from executing.
or finally clauses in any legitimate combination).
• Write code using synchronised wait, notify and
• Write code that makes proper use of assertions, notifyAll to protect against concurrent access
and distinguish appropriate from inappropriate uses problems and to communicate between threads.
of assertions.
• Define the interaction among threads and object locks
• Identify correct statements about the assertion when executing, wait, notify or notifyAll.
mechanism.

Section 8: The collection framework


Section 3: Garbage collection
• Make appropriate selection of collection
• Recognise, in a piece of source code, the point at which classes/interfaces to suit specified behaviour
an object becomes eligible for garbage collection. requirements.
• Distinguish between correct and incorrect
Section 4: Language fundamentals implementations of hashcode methods.
• Identify classes that correctly implement an interface,
where that interface is either java.lang.Runnable or a
fully specified interface in the question.
• State the effect of using a variable or array element of
any kind when no explicit assignment has been made
to it.

Page 10 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Developer for the Java 2 Platform,


Standard Edition (J2SE)
This performance-based certification is for programmers Step 2: Sun Certified Developer for the Java 2
and developers who are already familiar with the basic Platform – essay exam
structure and syntax of the Java™ programming • Available at: Authorised Worldwide Prometric
language, and who can demonstrate advanced testing centres
proficiency in developing complex, production-level
• Exam number: 310-027
applications using the Java 2 Platform, Standard Edition.
• Prerequisites: Must be a Sun Certified Programmer for
the Java Platform (any edition), and submission of the
programming assignment
Certification requirements
• Exam type: Essay
To become a Sun Certified Developer for the Java 2
Platform, you must successfully complete a programming • Number of questions: 4
assignment and an essay exam. Prior to beginning the • Pass score: Subject to the evaluation of the essay
Sun Certified Developer programme, you must be a Sun exam and validation of the
Certified Programmer for the Java Platform (any edition). • authenticity of the Step 1 programming assignment
The assignment and exam details are as follows:
• Time limit: 120 minutes

Step 1: Sun Certified Developer for the Java 2 Platform – • Cost: Locally priced at the time of registration for the
programming assignment essay exam

• Available at: CertManager database


• Exam number: 310-252A
Learning path
• Prerequisites: Sun Certified Programmer for the
Java Platform Sun offers courses to help prepare you to meet your
certification requirements:
• Exam type: Programming assignment
• Number of questions: N/A RECOMMENDED TRAINING
• Pass score: 320 out of 400 possible points, subject
Object-Oriented Application Analysis and Design for Java
to the evaluation of the essay exam and validation
Technology
of the authenticity of the assignment Course Number: 00-226
• Time limit: None Duration: 5 days
Delivery: Instructor-led
• Cost: Locally priced
Java Programming Language Workshop
Course Number: SL-285
Duration: 3 days
Delivery: Instructor-led

The following diagram illustrates the Java Technology


certification learning path.

Page 11 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Developer for J2SE

JAVA™ TECHNOLOGY CERTIFICATION LEARNING PATH


SUN CERTIFIED DEVELOPER FOR J2SE RECOMMENDED TRAINING

J2SE

NON-PROGRAMMER ENTRY

FUNDAMENTALS
SL-110

OF THE JAVA
PROGRAMMING
LANGUAGE
WP-1203

ADVANCED
OBJECT-ORIENTED
PROGRAMMING

Take one course at this level

OBJECT-ORIENTED STRUCTURED STRUCTURED


PROGRAMMER ENTRY PROGRAMMER ENTRY PROGRAMMER ENTRY
SL-265*

SL-255*
JAVA JAVA TECHNOLOGY JAVA PROGRAMMIING
SL-275

PROGRAMMING FOR STRUCTURED LANGUAGE FOR VISUAL


LANGUAGE PROGRAMMERS BASIC PROGRAMMERS

* Additional self-paced
TAKE BECOME A courseware included
CERTIFICATION SUN CERTIFIED
EXAM PROGRAMMER
J2EE

OBJECT-ORIENTED
OO-226

DEVELOPING DEVELOPING DEVELOPING


FJ-310

FJ-310

FJ-310

APPLICATION
ANALYSIS & DESIGN J2EE COMPLIANT J2EE COMPLIANT J2EE COMPLIANT
FOR JAVA TECHNOLOGY APPLICATIONS APPLICATIONS APPLICATIONS
(UML)

JAVA WEB COMPONENT ADVANCED BUSINESS ARCHITECTING AND


SL-425
SL-285

SL-314

SL-351

PROGRAMMING DEVLOPMENT COMPONENT DESIGNING JSEE


LANGUAGE WITH DEVELOPMENT WITH APPLICATIONS
WORKSHOP JAVA TECHNOLOGY EJB TECHNOLOGY

TAKE TAKE TAKE TAKE


CERTIFICATION CERTIFICATION CERTIFICATION CERTIFICATION
EXAM EXAM EXAM EXAM
BECOME A BECOME A BECOME A BECOME A
SUN CERTIFIED SUN CERTIFIED WEB SUN CERTIFIED BUSINESS SUN CERTIFIED
DEVELOPER COMPONENT DEVELOPER COMPONENT DEVELOPER ENTERPRISE ARCHITECT

Page 12 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Developer for J2SE

Exam objectives
The objectives for the programming assignment include
writing an application program using Java™ Technology.
The application requires the following:
• A graphical user interface demonstrating good
principles of design.
• A network connection, using a specified protocol, to
connect to an information server.
• A network server, which connects to a previously
specified Java Technology database.
• A database, created by extending the functionality of
a previously written piece of code, for which only
limited documentation is available.

The objectives for the essay exam include:


• Listing some of the major choices you must make
during the implementation of the above.
• Listing some of the main advantages and
disadvantages of each of your choices.
• Briefly justifying your choices by comparing design
and implementation objectives with the advantages
and disadvantages of each choice.

public n t e xt ().get
Co
getJsp
}
} s e t =U TF-
 / h tm l; char tl/co
= "t e x t js p /j s
 o n t e n tType a.s un .com/
ge c /jav
<%@ pa b uri="http:/ %>
@ ta gli ix=" f"
<%
f ix = " c " %> t io n s " pref
pre
u r i= "/func ead>
t a g lib > < / h
<%@ a t e s < /title
 D
<html> itle>Localized ation"
a d> < t e" >  a pp lic
<he
g co lo r ="whit es" scope="
<body b ean id="local s"/>
eB ale
<jsp:us mypkg.MyLoc
"
class= Page 13 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Web Component Developer for


the Java 2 Platform, Enterprise Edition (J2EE)
This certification is for Sun Certified Programmers for Learning path
the Java™ 2 Platform (1.1, 1.2 and 1.4), who are using
Sun offers a number of courses to help prepare you to
the Java Technology servlet and JavaServer Pages (JSP)
meet your certification requirements:
Application Program Interfaces (APIs) Web applications.
RECOMMENDED TRAINING

Certification requirements Developing J2EE-compliant applications


Course number: FJ-310
To become a Sun Certified Web Component Developer for Duration: 5 days
J2EE Platform, you must already have achieved Sun Delivery: Instructor-led
Certified Programmer for the Java 2 Platform (any edition)
status, and you must successfully complete one exam. Web Component Development with Java Technology
Course number: SL-314
Duration: 5 days
Sun Certified Web Component Developer for J2EE Delivery: Instructor-led
Platform – exam
• Available at: Authorised Worldwide Prometric Course number: WJB-314
Delivery: Web-based
testing centres
• Exam number: CX-310-080 Course number: CDJ-314
Delivery: CD-ROM
• Prerequisites: Sun Certified Programmer for the
Java 2 Platform (any version) status Java Servlets: A Technical Introduction
• Exam type: Multiple choice, short answer, and Course number: WJB-305-180
drag and drop Subscription length: 180 days
Delivery: Web-based
• Number of questions: 59
• Pass score: 61% (36 of 59 questions)
• Time limit: 90 minutes The diagram on page 15 illustrates the Java certification
learning path for Web Component Developer for J2SE.
• Cost: Locally priced

Page 14 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Web Component Developer for J2EE

JAVA™ TECHNOLOGY CERTIFICATION LEARNING PATH


SUN CERTIFIED WEB COMPONENT DEVELOPER FOR J2EE

J2SE

NON-PROGRAMMER ENTRY

FUNDAMENTALS
SL-110

OF THE JAVA
PROGRAMMING
LANGUAGE
WP-1203

ADVANCED
OBJECT-ORIENTED
PROGRAMMING

Take one course at this level

OBJECT-ORIENTED STRUCTURED STRUCTURED


PROGRAMMER ENTRY PROGRAMMER ENTRY PROGRAMMER ENTRY
SL-265*

SL-255*
JAVA JAVA TECHNOLOGY JAVA PROGRAMMIING
SL-275

PROGRAMMING FOR STRUCTURED LANGUAGE FOR VISUAL


LANGUAGE PROGRAMMERS BASIC PROGRAMMERS

* Additional self-paced
TAKE BECOME A courseware included
CERTIFICATION SUN CERTIFIED
EXAM PROGRAMMER
J2EE

OBJECT-ORIENTED
OO-226

DEVELOPING DEVELOPING DEVELOPING


FJ-310

FJ-310

FJ-310

APPLICATION
ANALYSIS & DESIGN J2EE COMPLIANT J2EE COMPLIANT J2EE COMPLIANT
FOR JAVA TECHNOLOGY APPLICATIONS APPLICATIONS APPLICATIONS
(UML)

JAVA WEB COMPONENT ADVANCED BUSINESS ARCHITECTING AND


SL-425
SL-285

SL-314

SL-351

PROGRAMMING DEVLOPMENT COMPONENT DESIGNING JSEE


LANGUAGE WITH DEVELOPMENT WITH APPLICATIONS
WORKSHOP JAVA TECHNOLOGY EJB TECHNOLOGY

TAKE TAKE TAKE TAKE


CERTIFICATION CERTIFICATION CERTIFICATION CERTIFICATION
EXAM EXAM EXAM EXAM
BECOME A BECOME A BECOME A BECOME A
SUN CERTIFIED SUN CERTIFIED WEB SUN CERTIFIED BUSINESS SUN CERTIFIED
DEVELOPER COMPONENT DEVELOPER COMPONENT DEVELOPER ENTERPRISE ARCHITECT

Page 15 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Web Component Developer for J2EE

Sun offers a practice exam that you can use to prepare. > The WebApp deployment descriptor
You can order a 90-day subscription to web-based exam > The WebApp class files
questions from the Sun Web Learning Centre. The > Any auxiliary JAR files
practice exam number is WGS-PREX-J080B.
• Match the name, with a description of purpose or
functionality, for each of the following deployment
descriptor elements:
Exam objectives > Servlet instance
The objectives for the Sun Certified Web Component > Servlet name
Developer for J2EE Platform include: > Servlet class
> Initialisation parameters
Section 1: The servlet model
> URL to named servlet mapping
• For each of the HTTP methods, GET, POST, and
PUT, identify the corresponding method in the
Section 3: The servlet container model
HttpServlet class.
• Identify the uses for ,and the interfaces (or classes)
• For each of the HTTP methods, GET, POST, and HEAD,
and methods to achieve, the following features:
identify triggers that might cause a browser to use
> Servlet context init. parameters
the method, and identify benefits or functionality of
> Servlet context listener
the method.
> Servlet context attribute listener
• For each of the following operations, identify the
> Session attribute listeners
interface and method name that should be used:
> Retrieve HTML form parameters from the request • Identify the WebApp deployment descriptor element
> Retrieve a servlet initialisation parameter name that declares the following features:
> Retrieve HTTP request header information > Servlet context init. parameters
> Set an HTTP response header, and set the content type > Servlet context listener
of the response > Servlet context attribute listener
> Acquire a text stream for the response > Session attribute listeners
> Acquire a binary stream for the response
• Distinguish the behaviour of the following in a
> Redirect an HTTP request to another URL
distributable:
• Identify the interface, and method to access values > Servlet context init. parameters
and resources and to set object attributes, within the > Servlet context listener
following three Web scopes: > Servlet context attribute listener
> Request > Session attribute listeners
> Session
> Context Section 4: Designing and developing servlets to handle
• Given a life-cycle method: init, service, or destroy, server-side exceptions
identify correct statements about its purpose or about • For each of the following cases, identify correctly
how and when it is invoked. constructed code for handling business logic
• Use a RequestDispatcher to include or forward to a exceptions, and match that code with correct
Web resource. statements about the code’s behaviour: Return an
HTTP error using the sendError response method;
Return an HTTP error using the setStatus method.
Section 2: The structure and deployment of modern
servlet Web applications • Given a set of business logic exceptions, identify the
following: The configuration that the deployment
• Identify the structure of a Web Application and Web
descriptor uses to handle each exception; How to use
Archive file, the name of the WebApp deployment
a RequestDispatcher to forward the request to an error
descriptor, and the name of the directories where you
page; Specify the handling declaratively in the
place the following:
deployment descriptor.

Page 16 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Web Component Developer for J2EE

• Identify the method used for the following: Write a > Instance variables
message to the WebApp log; Write a message and an > Class variables
exception to the WebApp log. > Request attributes
> Session attributes
Section 5: Designing and developing servlets using > Context attributes
session management
• Identify correct statements about differences between
• Identify the interface and method for each of the multi-threaded and single-threaded servlet models.
the following:
• Identify the interface used to declare that a servlet
> Retrieve a session object across multiple requests to
must use the single thread model.
the same or different servlets within the same WebApp
> Store objects into a session object
> Retrieve objects from a session object
Section 8: The JavaServer Pages Technology Model
> Respond to the event when a particular object is added • Write the opening and closing tags for the following
to a session JSP tag types:
> Respond to the event when a session is created > Directive
and destroyed > Declaration
> Expunge a session object > Scriptlet
• Given a scenario, state whether a session object will > Expression
be invalidated. • Given a type of JSP tag, identify correct statements
• Given that URL-rewriting must be used for session about its purpose or use.
management, identify the design requirement on • Given a JSP tag type, identify the equivalent XML-
session-related HTML pages. based tags.
• Identify the page directive attribute, and its
Section 6: Designing and developing secure web values, that:
applications > Import a Java class into the JSP page
• Identify correct descriptions or statements about > Declare that a JSP page exists within a session
these security issues: > Declare that a JSP page uses an error page
> Authentication, authorisation > Declare that a JSP page is an error page
> Data integrity
• Identify and put in sequence the following elements
> Auditing
of the JSP page lifecycle:
> Malicious code
> Page translation
> Web site attacks
> JSP page compilation
• Identify the deployment descriptor element names, > Load class
and their structure, that declare the following: > Create instance
> A security constraint > Call jspInit
> A Web resource > Call _jspService
> The login configuration > Call jspDestroy
> A security role

• Given an authentication type: BASIC, DIGEST, FORM,


and CLIENT-CERT, identify the correct definition of its
mechanism.

Section 7: Designing and developing Thread-safe Servlets


• Identify which attribute scopes are thread-safe:
> Local variables

Page 17 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Web Component Developer for J2EE

• Match correct descriptions about purpose, function, or • Identify properly formatted taglib directives in a
use with any of the following implicit objects: JSP page.
> request • Given a custom tag library, identify properly formatted
> response custom tag usage in a JSP page. Uses include:
> out > An empty custom tag
> session > A custom tag with attributes
> config > A custom tag that surrounds other JSP code
> application > Nested custom tags
> page
> pageContext Section 12: Designing and Developing a Custom
> exception Tag Library
• Distinguish correct and incorrect scriptlet code for: • Identify the tag library descriptor element names that
> A conditional statement declare the following:
> An iteration statement > The name of the tag
> The class of the tag handler

Section 9: The JavaServer Pages Technology Model > The type of content that the tag accepts
> Any attributes of the tag
• Given a description of required functionality, identify
the JSP page directive or standard tag, in the correct • Identify the tag library descriptor element names that
format with the correct attributes required to specify declare the following:
the inclusion of a Web component into the JSP page. > The name of a tag attribute
> Whether a tag attribute is required

Section 10: The JavaServer Pages Technology Model > Whether or not the attribute’s value can be dynamically
specified
• For any of the following tag functions, match the
correctly constructed tag, with attributes and values • Given a custom tag, identify the necessary value for
as appropriate, with the corresponding description of the bodycontent TLD element for any of the following
the tag’s functionality: tag types:
> Declare the use of a JavaBeans component within > Empty-tag
the page. > Custom tag that surrounds other JSP code
> Specify, for jsp: useBean or jsp: getProperty tags, the > Custom tag that surrounds content that is used only by
name of an attribute. the tag handler
> Specify, for a jsp: useBean tag, the class of the attribute.
• Given a tag event method (doStartTag, doAfterBody,
> Specify, for a jsp: useBean tag, the scope of the attribute. and doEndTag), identify the correct description of the
> Access or mutate a property from a declared JavaBean. methods trigger.
> Specify, for a jsp: getProperty tag, the property of
• Identify valid return values for the following methods:
the attribute.
> doStartTag
> Specify, for a jsp: setProperty tag, the property of the
attribute to mutate, and the new value. > doAfterBody
> doEndTag
• Given JSP page attribute scopes: request, session, and
> PageConext.getOut
application, identify the equivalent servlet code.
• Identify techniques that access a declared JavaBean • Given a “BODY” or “PAGE” constant, identify a correct
component. description of the constant’s use in the following
methods:
> doStartTag
Section 11: Designing and developing JSP pages using
> doAfterBody
custom tags
> doEndTag
• Identify properly formatted tag library declarations in
the Web application deployment descriptor.

Page 18 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Web Component Developer for J2EE

• Identify the method in the custom tag handler


that accesses:
> A given JSP page’s implicit variable
> The JSP page’s attributes

• Identify methods that return an outer tag handler


from within an inner tag handler.

Section 13: Design patterns


• Given a scenario description with a list of issues,
select the design pattern (Value Objects, MVC, Data
Access Object, or Business Delegate) that would best
solve those issues.
• Match design patterns with statements describing
potential benefits that accrue from the use of the
pattern, for any of the following patterns:
> Value Objects
> MVC
> Data Access Object
> Business Delegate

imq b le Top
u ra
jms/D


<%  s p = null;
re
String
y {  tu b)( n ew
t r u b = (S .getHe
b s t m p l ()
Stu S e r vice_I
MyHe ll o ty(
o pe r
u b ._ s e tP r
u b.E N D POIN
st l.r pc.St /hel
jav a x .x m t : 10 2 4
:/ / lo calhos F)stu
"http H e ll o I
I F h ello = (
Hello
 t.get
resp = Hello(reques
y
hello.sa ption ex) {
a t c h ( Exce r in g();
}c ex.to S t
resp =
Page 19 | Section 3

}
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Business Component


Developer for the Java 2 Platform, Enterprise Edition 1.3
The Sun Certified Business Component Developer for the Learning path
Java 2 Platform, Enterprise Edition 1.3 exam, is for
Sun offers a number of courses to help prepare you
programmers and developers who are responsible for
to meet your certification requirements:
designing, developing, testing, deploying, and
integrating Enterprise JavaBeans (EJB) applications. It is RECOMMENDED TRAINING
also for those specialising in leveraging the Java 2
Platform, Enterprise Edition (J2EE platform) technologies Developing J2EE-compliant applications
that are used to develop server-side components that Course number: FJ-310
Duration: 5 days
encapsulate the business logic of an application. Prior to
Delivery: Instructor-led
beginning the Sun Certified Business Component
Developer program, you must be a Sun Certified Advanced business component development
Programmer for the the Java platform (any edition). with EJB Technology
Course number: SL-351
Duration: 5 days
Delivery: Instructor-led
Certification requirements
To become a Sun Certified Business Component
Developer for the J2EE Platform 1.3, you must already
have achieved Sun Certified Programmer for the Java 2 The diagram on page 21 illustrates the Java Technology
Platform (any edition) status, and you must successfully certification learning path for Business Component
complete one exam. Developer for J2EE.

Sun Certified Business Component Developer for J2EE


Platform – exam
• Available at: Authorised Worldwide Prometric
testing centres
• Exam number: CX-310-090
• Prerequisites: Sun Certified Programmer for the
Java 2 Platform (any version) status
• Exam type: Multiple choice, and drag and drop
• Number of questions: 70
• Pass score: 64% (45 of 70 questions)
• Time limit: 120 minutes
• Cost: Locally priced

Page 20 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Business Component Developer for J2EE

JAVA™ TECHNOLOGY CERTIFICATION LEARNING PATH


SUN CERTIFIED BUSINESS COMPONENT DEVELOPER FOR J2EE

J2SE

NON-PROGRAMMER ENTRY

FUNDAMENTALS
SL-110

OF THE JAVA
PROGRAMMING
LANGUAGE
WP-1203

ADVANCED
OBJECT-ORIENTED
PROGRAMMING

Take one course at this level

OBJECT-ORIENTED STRUCTURED STRUCTURED


PROGRAMMER ENTRY PROGRAMMER ENTRY PROGRAMMER ENTRY
SL-265*

SL-255*
JAVA JAVA TECHNOLOGY JAVA PROGRAMMIING
SL-275

PROGRAMMING FOR STRUCTURED LANGUAGE FOR VISUAL


LANGUAGE PROGRAMMERS BASIC PROGRAMMERS

* Additional self-paced
TAKE BECOME A courseware included
CERTIFICATION SUN CERTIFIED
EXAM PROGRAMMER
J2EE

OBJECT-ORIENTED
OO-226

DEVELOPING DEVELOPING DEVELOPING


FJ-310

FJ-310

FJ-310

APPLICATION
ANALYSIS & DESIGN J2EE COMPLIANT J2EE COMPLIANT J2EE COMPLIANT
FOR JAVA TECHNOLOGY APPLICATIONS APPLICATIONS APPLICATIONS
(UML)

JAVA WEB COMPONENT ADVANCED BUSINESS ARCHITECTING AND


SL-425
SL-285

SL-314

SL-351

PROGRAMMING DEVLOPMENT COMPONENT DESIGNING JSEE


LANGUAGE WITH DEVELOPMENT WITH APPLICATIONS
WORKSHOP JAVA TECHNOLOGY EJB TECHNOLOGY

TAKE TAKE TAKE TAKE


CERTIFICATION CERTIFICATION CERTIFICATION CERTIFICATION
EXAM EXAM EXAM EXAM
BECOME A BECOME A BECOME A BECOME A
SUN CERTIFIED SUN CERTIFIED WEB SUN CERTIFIED BUSINESS SUN CERTIFIED
DEVELOPER COMPONENT DEVELOPER COMPONENT DEVELOPER ENTERPRISE ARCHITECT

Page 21 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Business Component Developer for J2EE

Exam objectives • Match correct descriptions of purpose and function


to applicable session bean types: stateless, stateful,
The objectives for the Sun Certified Business Component
or both.
Developer for J2EE Platform 1.3 include:
• Given a list of responsibilities related to session beans,
Section 1: EJB overview identify those that are the responsibility of the session
bean provider and those that are the responsibility of
• Identify the use, benefits, and characteristics of
the EJB container provider.
Enterprise JavaBeans Technology, for version 2.0 of the
EJB specification. • Given a list of requirements, identify those that are
the requirements for a session bean class, a remote
• Identify EJB 2.0 container requirements.
component interface, a remote home interface, create
• Identify correct and incorrect statements about, or methods, business methods, a local component
examples of, EJB programming restrictions. interface, and a remote component interface.
• Match EJB roles with the corresponding description of
the role’s responsibilities, where the description may Section 4: Session Bean Life Cycle
include deployment descriptor information.
• Identify correct and incorrect statements about, or
• Given a list, identify which are requirements for an examples of, the life cycle of a stateful or stateless
EJB-jar file. session bean instance.
• Given a list of methods for a stateful or stateless
Section 2: Client View of a Session Bean session bean class, define which of the following
• Identify correct and incorrect statements about, or operations can be performed from each of those
examples of, the client view of a session bean’s local methods: SessionContext interface methods,
and remote home interfaces, including the code used UserTransaction methods, Java Naming and Directory
by a client to locate a session bean’s home interface. Interface Application Program Interface (JNDI API)
• Identify correct and incorrect statements about, or access to java:comp/env environment naming
examples of, the client view of a session bean’s local context, resource manager access, and other
and remote component interfaces. enterprise bean access.
• Given a list of scenarios, identify which will result in an
Section 3: Session Bean Component Contract ejbRemove method not being called on a bean instance.
• Identify correct and incorrect statements about, or
examples of, session beans, including conversational Section 5: Client View of an Entity
state, the SessionBean interface, and create methods. • Identify correct and incorrect statements about, or
• Identify the use and the behaviour of the ejbPassivate examples of, the client of an entity bean’s local and
method in a session bean, including the responsibilities remote home interface. To include viewing the code
of both the container and the bean provider. used to locate an entity bean’s home interface, and the
home interface methods that are provided to the client.
• Identify the interface and method for each of the
following: retrieve the session bean’s remote home • Identify correct and incorrect statements about, or
interface, retrieve the session bean’s local component examples of, the client view of an entity bean’s local
interface, determine if the session bean’s caller has a component interface (EJBLocalObject).
particular role, allow the instance to mark the current • Identify correct and incorrect statements about, or
transaction as a roleback, retrieve the UserTransaction examples of, the client view of an entity bean’s
interface, prepare the instance for reuse following remote component interface (EJBObject).
passivation, release resources prior to removal, • Identify the use, syntax, and behaviour of the
identify the invoker of the bean instance’s component following entity bean home method types for
interface, be notified that a new transaction has Container-Managed Persistence (CMP): finder
begun, and be notified that the current transaction methods, create methods, remove methods, and
has completed. home methods.

Page 22 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Business Component Developer for J2EE

Section 6: Component Contract for Container-Managed Section 9: EJB-QL


Persistence (CMP) • Identify correct and incorrect syntax for an EJB QL
• Identify correct and incorrect statements about, or query, including the SELECT, FROM, and WHERE clauses.
examples of, the entity bean provider’s view and • Identify correct and incorrect statements about, or
programming contract for CMP, including the examples of, the purpose and use of EJB QL.
requirements for a CMP entity bean.
• Identify correct and incorrect conditional expressions,
• Identify correct and incorrect statements about, or between expressions, in expressions, like expressions,
examples of, persistent relationships, remove and comparison expressions.
protocols, and about the abstract schema type of a
CMP entity bean.
Section 10: Message-Driven Bean Component Contract
• Identify correct and incorrect statements about, or
• Identify correct and incorrect statements about, or
examples of, the rules and semantics for relationship
examples of, the client view of a message-driven
assignment and relationship updating in a CMP bean.
bean, and the life cycle of a message-driven bean.
• Match the name with a description of purpose or
• Identify the interfaces and methods a JMS message-
functionality, for each of the following deployment
driven bean must implement.
descriptor elements: ejb-name, abstract-schema-
name, ejb-relation, ejb-relationship-role, cmr-field, • Identify the use and behaviour of the
cmr-field-type, and relationship-role-source. MessageDrivenContext interface methods.

• Identify correctly-implemented deployment descriptor • From a list, identify the responsibility of the bean
elements for a CMP bean (including container- provider and the responsibility of the container
managed relationships). provider for a message-driven bean.

• Identify the interfaces and methods a CMP entity bean


must and must not implement. Section 11: Transactions
• Identify correct and incorrect statements about, or
Section 7: CMP Entity Bean Life Cycle examples of, EJB transactions, including bean-
managed transaction demarcation and container-
• Identify correct and incorrect statements about, or
managed transaction demarcation.
examples of, the life cycle of a CMP entity bean.
• Identify correct and incorrect statements about the
• From a list, identify the purpose, behaviour, and
Application Assembler’s responsibilities, including the
responsibilities of the bean provider for a CMP entity
use of deployment descriptor elements related to
bean, including, but not limited to: setEntityContext,
transactions, and the identification of the methods of
unsetEntityContext, ejbCreate, ejbPostCreate,
a particular bean type, for which a transaction
ejbActivate, ejbPassivate, ejbRemove, ejbLoad,
attribute must be specified.
ejbStore, ejbFind, ejbHome, and ejbSelect.
• Given a list of transaction behaviours, match them
• From a list, identify the responsibility of the container
with the appropriate transaction attributes.
for a CMP entity bean, including, but not limited to:
setEntityContext, unsetEntityContext, ejbCreate, • Given a list of responsibilities, identify which are the
ejbPostCreate, ejbActivate, ejbPassivate, ejbRemove, container’s with respect to transactions, including the
ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect. handling of getRollbackOnly, setRollbackOnly,
getUserTransaction, and SessionSynchronzation
callbacks, for both container and bean-managed
Section 8: Entity Beans
transactions.
• From a list, match behaviours with the EntityContext
method that is responsible for them.
• Identify correct and incorrect statements about,
or examples of, an entity bean’s primary key and
object identity.

Page 23 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Business Component Developer for J2EE

Section 12: Exceptions • Given a code listing, determine whether it is a legal


• Identify correct and incorrect statements about, or and appropriate way to programmatically access a
examples of, exception handling in EJB. caller’s security context.
• Given a list of responsibilities related to exceptions, • Given a security-related deployment descriptor tag,
identify those that are the bean provider’s, and those identify correct and incorrect statements and code
that are the container provider’s. Be prepared to related to that tag.
recognise responsibilities for which neither the bean
provider, nor the container provider, are responsible.
• Identify correct and incorrect statements about, or
examples of, application exceptions and system
exceptions in entity beans, session beans, and
message-driven beans.
• Given a particular method condition, identify the
following: whether an exception will be thrown, the
type of exception thrown, the container’s action, and
the client’s view.
• Identify correct and incorrect statements about, or
examples of, the client’s view of exceptions received
from an enterprise bean invocation.

Section 13: Enterprise Bean Environment


• Identify correct and incorrect statements about, or
examples of, an enterprise bean’s environment JNDI
API naming.
• Identify correct and incorrect statements about the
purpose and use of the deployment descriptor
elements for environment entries, EJB references, and
resource manager connection factory references,
including whether a given code listing is appropriate
and correct with respect to a particular deployment
descriptor element.
• Given a list of responsibilities, identify which belong
...
to the deployer, bean provider, application assembler,
container provider, system administrator, or any

combination of these. 
de .g e t ChildN
Section 14: Security Management { de = d omNo yp e() =
no de T
• Identify correct and incorrect statements about the EJB
(n od e.getNo no de.ge
if t (
Elemen ndex++
support for security management, including security
roles, security role references, and method permissions.
tr ee
• From a list of responsibilities, identify which belong to && ntNodeI
e
the application assembler, bean provider, deployer,
&& elem
break;
container provider, or system administrator.


 sour
s - r e

n c r eate-jm tionFa
asadmi .TopicConnec
Page 24 | Section 3

vax.jm s loc alh ost:


ja =
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Enterprise Architect for the


Java 2 Platform, Enterprise Edition (J2EE) Technology
This certification is for enterprise architects who • Available at: Authorised Worldwide Prometric
are responsible for architecting and designing the testing centres
Java™ 2 Platform, Enterprise Edition (J2EE Technology) • Exam number: 310-061
– compliant applications, which are scalable, flexible
• Prerequisites: Successful completion of the (Step 1)
and highly secure.
multiple-choice exam and submission of the (Step 2)
architecture and design assignment
• Exam type: Essay
Certification requirements
• Number of questions: 4
To become a Sun Certified Enterprise Architect for J2EE
Technology, you must successfully complete a multiple- • Pass score: N/A (please refer to the score in Step
choice exam, an architecture and design project, and 2 above)
an essay exam. The exam and assignment details are • Time limit: 90 minutes
as follows: • Cost: Locally priced

Step 1: Sun Certified Enterprise Architect for J2EE


Technology – multiple-choice exam
Learning path
• Available at: Authorised Worldwide Prometric
testing centres Sun offers courses to help prepare you to meet your
certification requirements:
• Exam number: 310-051
• Prerequisites: None RECOMMENDED TRAINING
• Exam type: Multiple choice, short answer,
Developing J2EE-compliant applications
and drag and drop Course number: FJ-310
• Number of questions: 48 Duration: 5 days
Delivery: Instructor-led
• Pass score: 68%
• Time limit: 75 minutes Architecting and designing J2EE applications
Course Number: SL-425
• Cost: Locally priced Duration: 4 days
Delivery: Instructor-led
Step 2: Sun Certified Enterprise Architect For J2EE
Technology – assignment The diagram onb page 25 illustrates the Java Technology
• Available at: CertManager database certification learning path for Enterprise Architecture
for J2EE.
• Assignment number: CX-310-300A
• Prerequisites: Successful completion of the multiple-
choice exam
• Exam type: Assignment
• Number of questions: N/A
• Pass score: 70%, subject to the evaluation of the
essay exam and validation of the authenticity of
the assignment
• Time limit: None
• Cost: Locally priced at the time of registration for the
essay exam

Step 3: Sun Certified Enterprise Architect For J2EE


Technology – essay exam

Page 25 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Enterprise Architect for J2EE

JAVA™ TECHNOLOGY CERTIFICATION LEARNING PATH


SUN CERTIFIED ENTERPRISE ARCHITECT FOR J2EE

J2SE

NON-PROGRAMMER ENTRY

FUNDAMENTALS
SL-110

OF THE JAVA
PROGRAMMING
LANGUAGE
WP-1203

ADVANCED
OBJECT-ORIENTED
PROGRAMMING

Take one course at this level

OBJECT-ORIENTED STRUCTURED STRUCTURED


PROGRAMMER ENTRY PROGRAMMER ENTRY PROGRAMMER ENTRY
SL-265*

SL-255*
JAVA JAVA TECHNOLOGY JAVA PROGRAMMIING
SL-275

PROGRAMMING FOR STRUCTURED LANGUAGE FOR VISUAL


LANGUAGE PROGRAMMERS BASIC PROGRAMMERS

* Additional self-paced
TAKE BECOME A courseware included
CERTIFICATION SUN CERTIFIED
EXAM PROGRAMMER
J2EE

OBJECT-ORIENTED
OO-226

DEVELOPING DEVELOPING DEVELOPING


FJ-310

FJ-310

FJ-310

APPLICATION
ANALYSIS & DESIGN J2EE COMPLIANT J2EE COMPLIANT J2EE COMPLIANT
FOR JAVA TECHNOLOGY APPLICATIONS APPLICATIONS APPLICATIONS
(UML)

JAVA WEB COMPONENT ADVANCED BUSINESS ARCHITECTING AND


SL-425
SL-285

SL-314

SL-351

PROGRAMMING DEVLOPMENT COMPONENT DESIGNING JSEE


LANGUAGE WITH DEVELOPMENT WITH APPLICATIONS
WORKSHOP JAVA TECHNOLOGY EJB TECHNOLOGY

TAKE TAKE TAKE TAKE


CERTIFICATION CERTIFICATION CERTIFICATION CERTIFICATION
EXAM EXAM EXAM EXAM
BECOME A BECOME A BECOME A BECOME A
SUN CERTIFIED SUN CERTIFIED WEB SUN CERTIFIED BUSINESS SUN CERTIFIED
DEVELOPER COMPONENT DEVELOPER COMPONENT DEVELOPER ENTERPRISE ARCHITECT

Page 26 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Enterprise Architect for J2EE

Exam objectives • Given a requirement specification detailing security


and flexibility needs, identify architectures that would
The objectives for the Sun Certified Enterprise Architect
fulfil those requirements.
for J2EE Technology include:
• Identify the costs and benefits of using an
Section 1: Concepts intermediate data-access object between an entity
bean and the data resource.
• Draw UML Diagrams.
• Interpret UML diagrams.
Section 5: Enterprise JavaBeans™ container model
• State the effect of encapsulation, inheritance, and use
• State the benefits of bean pooling in an Enterprise
of interfaces on architectural characteristics.
JavaBeans container.
• State the benefits of Passivation in an Enterprise
Section 2: Common architectures
JavaBeans container.
• Recognise the effect on each of the following
• State the benefit of monitoring resources in an
characteristics of two-tier, three-tier and multi-tier
Enterprise JavaBeans container.
architectures: scalability maintainability, reliability,
availability, extensibility, performance, manageability, • Explain how the Enterprise JavaBeans container
and security. facilitates lifecycle management, and has the
capability to increase scalability.
• Recognise the effect of each of the following
characteristics on J2EE Technology: scalability
maintainability, reliability, availability, extensibility, Section 6: Protocols
performance, manageability, and security. • Given a scenario description, distinguish between
• Given an architecture described in terms of network appropriate and inappropriate protocols used to
layout, list the benefits and potential weaknesses implement that scenario.
associated with it. • Given a list of some of its features, identify a protocol
that is one of the following: HTTP, HTTPS, IIOP, or JRMP.
Section 3: Legacy connectivity • Select, from a list, common firewall features that might
• Given an outline description of a legacy system, interfere with the normal operation of a given protocol.
distinguish between appropriate and inappropriate
techniques for providing access to that legacy system Section 7: Applicability of J2EE™ Technology
from Java Technology code. • Select, from a list, applications aspects that are
suitable for implementation using J2EE.
Section 4: Enterprise JavaBeans™ Technology • Select, from a list, application aspects that are
• List the required classes/interfaces that must be suitable for implementation using Enterprise
provided for an Enterprise JavaBean™ Technology. JavaBeans.
• Distinguish between stateful and stateless • Identify suitable J2EE technologies for the
Session beans. implementation of specified application aspects.
• Distinguish between Session and Entity beans.
• Recognise appropriate uses for Entity, Stateful Section 8: Design patterns
Session, and Stateless Session beans. • From a list, identify the most appropriate design
• State the benefits and costs of Container-Managed pattern for a given scenario. Patterns will be limited
Persistence. to those documented in Gamma et al., and named
using the names given in that book.
• State the transactional behaviour, in a given scenario,
for an enterprise bean method with a specified • State the benefits of using design patterns.
transactional attribute.

Page 27 | Section 3
A guide to Sun Java Certification

SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION

Sun Certified Enterprise Architect for J2EE

• State the name of a design pattern (for example, Resources


Gamma) given the UML diagram and/or a brief
You can find further information and resources at
description of the pattern’s functionality.
http://suned.sun.com/us/certification/java/index.html.
• From a list, identify benefits of a specified design > For a step-by-step guide to scheduling exams and more
pattern (for example, Gamma). information on Java certification, please contact your local
• Identify the design pattern associated with a specified Sun representative.
J2EE feature. > If you’d like to try some sample exam questions, visit
https://tmn.sun.com/WLC/servlet/GuestLoginServlet?cmd=lo
gin1&loginType=1&language=en&id=programmer0000.
Section 9: Messaging > And for the certification FAQ, visit
• Identify scenarios that are suitable for implementation http://suned.sun.com/us/certification/java/index.html.
using messaging, Enterprise JavaBeans, or both.
• List the benefits of synchronous and asynchronous
messaging.
• From a list, identify scenarios that are more
appropriately implemented using synchronous and
asynchronous messaging.

Section 10: Internationalisation


• State three aspects of any application that
might need to be varied or customised in different
deployment locations.
• Match the following features of the Java 2 platform
with descriptions of their functionality, purpose or

Elemen ndex++ = s
typical uses: Properties, Locale, ResourceBundle,
Unicode, java.text package, InputStreamReader and
tree
OutputStreamWriter. && ntNodeI
e
&& elem
break;
Section 11: Security
• From a list, identify security restrictions that Java 2
environments normally impose on applets running in
a browser.

e --r
• Given an architectural system specification, identify
appropriate locations for implementing specified  s o u rc
security features, and select suitable technologies for
 t e- j m s-re t ory -
implementing those features.
nc r ea ion F ac
asadmi .TopicConnect t:imqCon
s hos
javax.jm ssList=local tionFacto
re ec
imqAdd bleTopicConn
ra
jms/Du


<%  s p = null;
re
String
y { tu b )(n ew
t r b = (S
Stu b st u
e _ I m pl().g
H e llo S ervic
My ty(
Page 28 | Section 3
A guide to Sun Java Certification

S E C T I O N 43 | S U N C E R T I F I C A T I O N I N T H E R E A L W O R L D

Sun certification in the real world


Soluziona is one of Spain’s largest multinational professional service companies, and it’s one of the first companies
in Spain to achieve Java™/Sun ONE Work Group Certification for Businesses. The certification is based on exhaustive
training solutions, developed for specific professional profiles and development processes in order to achieve
excellence. In the case of Soluziona, both individual participants, and the company as a whole, achieved Java/Sun
ONE Work Group Certification. Tomás de Miguel, Managing Director of Soluziona’s Consulting Area says: “Thanks to
this programme we have increased our competitive edge on the market, with the resulting increase in flexibility and
an immediate reduction of our Java/Sun ONE development and architecture implementation times.”

Cysive, Inc. is another company that knows the value of Sun certification. Cysive is a provider of Interaction Server
software that allows enterprise customers to interact with customers, partners, and employees over multiple
communications channels. Dave Adams, Process Development Manager at Cysive, explains how Sun certification
helps the company gain competitive advantage: “We encourage our software engineers to achieve all levels of Sun
certification for Java technologies. We believe the investment we’ve made in training and having our staff Sun
certified benefits us and the systems we deliver. Our knowledgeable software engineers build reliable and scalable
systems more quickly than other companies can.”

Find out more


To find out more about what Sun Java Technology
certification can do for you and your business, and for
the latest information on Sun Java certification – visit
http://suned.sun.com/us/certification/java/index.html
or contact your local Sun representative.

Page 29 | Section 4
Sun Microsystems, Ltd. Guillemont Park, Minley Road, Blackwater, Camberley, Surrey GU17 9QG Tel: +44 (0) 1252 420000 Fax: +44 (0) 1252 420001 Web: sun.com
ARGENTINA: +5411-4317-5600 • AUSTRALIA: +61-2-9844-5000 • AUSTRIA: +43-1-60563-0 • BELGIUM: +32-2-704-8000 • BRAZIL: +55-11-5187-2100 • CANADA: +905-477-6745 • CHILE: +56-2-3724500 • COLOMBIA: +571-629-2323 • COMMONWEALTH OF INDEPENDENT
STATES: +7-502-935-8411 • CZECH REPUBLIC: +420-2-3300-9311 • DENMARK: +45 4556 5000 • EGYPT: +202-570-9442 • ESTONIA: +372-6-308-900 • FINLAND: +358-9-525-561 • FRANCE: +33-134-03-00-00 • GERMANY: +49-89-46008-0 • GREECE: +30-210-6188111
HUNGARY: +36-1-489-8900 • ICELAND: +354-563-3010 • INDIA: BANGALORE: +91-80-2298989/2295454; NEW DELHI: +91-11-6106000; MUMBAI: +91-22-697-8111 • IRELAND: +353-1-8055-666 • ISRAEL: +972-9-9710500 • ITALY: +39-02-641511 JAPAN: +81-3-5717-5000
KAZAKHSTAN: +732-725-81810• KOREA: +822-2193-5114 • LATVIA: +371-750-3700 • LITHUANIA: +370-729-8468 • LUXEMBOURG: +352-49 11 33 1 • MALAYSIA: +603-21161888 • MEXICO: +52-5-258-6100 • THE NETHERLANDS: +00-31-33-45-15-000 NEW ZEALAND: AUCKLAND:
+64-9-976-6800; WELLINGTON: +64-4-462-0780 • NORWAY: +47 23 36 96 00 • PEOPLE’S REPUBLIC OF CHINA: BEIJING: +86-10-6803-5588; CHENGDU: +86-28-619-9333; GUANGZHOU: +86-20-8755-5900; SHANGHAI: +86-21-6466-1228 • HONG KONG: +852-2202-6688
POLAND: +48-22-8747800 • PORTUGAL: +351-21-4134000 • RUSSIA: +7-502-935-8411 • SAUDI ARABIA: +9661 273 4567 • SINGAPORE: +65-6438-1888 • SLOVAK REPUBLIC: +421-2-4342-94-85 • SOUTH AFRICA: +27 11 256-6300 • SPAIN: +34-91-596-9900 • SWEDEN:
+46-8-631-10-00 • SWITZERLAND: GERMAN: 41-1-908-90-00; FRENCH: 41-22-999-0444 • TAIWAN: +886-2-8732-9933 • THAILAND: +662-344-6888 • TURKEY: +90-212-335-22-00 • UNITED ARAB EMIRATES: +9714-3366333 • UNITED KINGDOM: +44-1-276-20444 • UNITED STATES:
+1-800-555-9SUN OR +1-650-960-1300 • VENEZUELA: +58-2-905-3800 • OR ONLINE AT SUN.COM/STORE
©2003 Sun Microsystems, Inc. All rights reserved. Sun, Sun Microsystems, We make the net work, Your infrastructure, our business and the Sun logo are trademarks or registered trademarks of Sun Microsystems, Inc.
in the United States and other countries. All other product or service names mentioned herein are trademarks or registered trademarks of their respective owners.
Java/education/11_03/v1

You might also like