S U N F O R
M I C R O S Y S T E M S P R O G R A M M E R S ,
C E R T I F I C A T I O N 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.
{ t e l rv e S p t t H s , d t n s e e t u x q e e r t e l t v s r e e qu e tS p i R e t c e l e v R r e ) S e p s t n Ht po ( s t e { s r o n P e o i o s d pt on e p c s x e E O R t I e , l v n t r o r i a e t c S p p g e in xc p E p t o e h l v s r ; d ) e ( n S n a o i n s s io s ow s e s S e t s e g . 's t r n s e o e i s u s u q s e e r s the = e h n t o i e s t s a e d i l s a v n in ssio d e v i e c e r ment ; ) ( e t a 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.
a e B e s u /jsp:
gS a T e l p m i S s d n e t OE x I e , g n a o i T t e l p p e c m x i E S p d l s r r J o o w W s , o w l o l l o l e r e h H H t " c ( i ) l ( e b g t u i a p r T w o . d ) ( d t i u o 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
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
SL-110
ADVANCED OBJECT-ORIENTED PROGRAMMING
WP-1203
NON-PROGRAMMER ENTRY
Take one course at this level
JAVA TECHNOLOGY FOR STRUCTURED PROGRAMMERS
TAKE CERTIFICATION EXAM
JAVA PROGRAMMIING LANGUAGE FOR VISUAL BASIC PROGRAMMERS
SL-255*
SL-275
JAVA PROGRAMMING LANGUAGE
STRUCTURED PROGRAMMER ENTRY
SL-265*
STRUCTURED PROGRAMMER ENTRY
OBJECT-ORIENTED PROGRAMMER ENTRY
* Additional self-paced courseware included
BECOME A SUN CERTIFIED PROGRAMMER
DEVELOPING J2EE COMPLIANT APPLICATIONS
FJ-310
ARCHITECTING AND DESIGNING JSEE APPLICATIONS
SL-425
ADVANCED BUSINESS COMPONENT DEVELOPMENT WITH EJB TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-351
WEB COMPONENT DEVLOPMENT WITH JAVA TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-314
JAVA PROGRAMMING LANGUAGE WORKSHOP
OO-226
OBJECT-ORIENTED APPLICATION ANALYSIS & DESIGN FOR JAVA TECHNOLOGY (UML)
SL-285
J2EE
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
BECOME A SUN CERTIFIED DEVELOPER
BECOME A SUN CERTIFIED WEB COMPONENT DEVELOPER
BECOME A SUN CERTIFIED BUSINESS COMPONENT DEVELOPER
BECOME A SUN CERTIFIED 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 in demonstrating proficiency in the fundamentals of the Java programming language, using the Java 2 Platform, Standard Edition.
Certification requirements To become a Sun Certified Programmer for the Java 2 Platform, you must successfully complete an exam that covers the Java 2 Platform, Standard Edition. You may take the Java 2 Platform 1.4 exam, or, if appropriate, the Java 2 Platform Upgrade exam. The exam details are as follows: Sun Certified Programmer for the Java 2 Platform 1.4, Standard Edition exam 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 programming language. > Available at: Authorised Worldwide Prometric testing centres > Exam number: 310-035 > Prerequisites: None
> Available at: Authorised Worldwide Prometric testing centres > Exam number: 310-036 > 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 > Number of questions: 33 > Pass score: 51% (17 of 33 questions) > Time limit: 75 minutes > Cost: Locally priced
Sun offers a practice exam that you can use to prepare. You can order a 90-day subscription to web-based exam questions from the Sun Web Learning Centre. The practice exam number is WGS-PREX-J035B.
Learning path Sun offers a number of courses to help you prepare for your Sun Certified Programmer certification exam. The following diagram illustrates the Java Technology certification learning path. After achieving programmer certification, you may choose to advance your career 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 > Cost: Locally priced
Sun offers a practice exam that you can use to prepare. You can order a 90-day subscription to web-based exam questions from the Sun Web Learning Centre. The practice exam number is WGS-PREX-J035B. Sun Certified Programmer for the Java 2 Platform Upgrade exam, Standard Edition The Sun Certified Programmer for the Java 2 Platform Upgrade Exam, Standard Edition, is for candidates who have already successfully completed the Sun Certified Programmer for the Java 2 Platform examinations. PLEASE NOTE: CANDIDATES WHO ARE NOT ALREADY CERTIFIED CANNOT TAKE THE UPGRADE EXAM.
Java Programming Language for Non-Programmers Course Number: SL-110 Duration: 5 days Delivery: Instructor-led Course Number: WJB-110 Delivery: Web-based Course Number: CDJ-110 Delivery: CD-ROM Java Technology for Structured Programmers Course Number: SL-265 Duration: 5 days Delivery: Instructor-led Java Programming Language Course Number: SL-275 Duration: 5 days 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
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
SL-110
ADVANCED OBJECT-ORIENTED PROGRAMMING
WP-1203
NON-PROGRAMMER ENTRY
Take one course at this level
JAVA TECHNOLOGY FOR STRUCTURED PROGRAMMERS
TAKE CERTIFICATION EXAM
JAVA PROGRAMMIING LANGUAGE FOR VISUAL BASIC PROGRAMMERS
SL-255*
SL-275
JAVA PROGRAMMING LANGUAGE
STRUCTURED PROGRAMMER ENTRY
SL-265*
STRUCTURED PROGRAMMER ENTRY
OBJECT-ORIENTED PROGRAMMER ENTRY
* Additional self-paced courseware included
BECOME A SUN CERTIFIED PROGRAMMER
DEVELOPING J2EE COMPLIANT APPLICATIONS
FJ-310
ARCHITECTING AND DESIGNING JSEE APPLICATIONS
SL-425
ADVANCED BUSINESS COMPONENT DEVELOPMENT WITH EJB TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-351
WEB COMPONENT DEVLOPMENT WITH JAVA TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-314
JAVA PROGRAMMING LANGUAGE WORKSHOP
OO-226
OBJECT-ORIENTED APPLICATION ANALYSIS & DESIGN FOR JAVA TECHNOLOGY (UML)
SL-285
J2EE
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
BECOME A SUN CERTIFIED DEVELOPER
BECOME A SUN CERTIFIED WEB COMPONENT DEVELOPER
BECOME A SUN CERTIFIED BUSINESS COMPONENT DEVELOPER
BECOME A SUN CERTIFIED 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 Java™ 2 Platform 1.4, Standard Edition, include:
• State the behaviour that is guaranteed by the garbage-collection system.
Section 1: Declarations and access control
• Write code that explicitly makes objects eligible for garbage collection.
• Write code that declares, constructs and initialises arrays of any base type using any of the permitted forms both for declaration and for initialisation.
• Recognise, in a piece of source code, the point at which an object becomes eligible for garbage collection.
• Declare classes, nested classes, methods, instance variables, static variables and automatic (method local) variables, making appropriate use of all permitted modifiers (such as public, final, static, abstract, etc.). State the significance of each of these modifiers both singly and in combination and state the effect of package relationships on declared items qualified by these modifiers.
Section 4: Language fundamentals
• For a given class, determine if a default constructor will be created and, if so, state the prototype of that constructor. • Identify legal return types for any method, given the declarations of all related methods in this or parent classes. Section 2: Flow control, assertions, and exception handling
• 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 correspondence between index values in the argument array passed to a main method, and command line arguments. • Identify all Java programming language keywords. Note: There will not be any questions regarding esoteric distinctions between keywords and manifest constants.
• Write code using if and switch statements, and identify legal argument types for these statements.
• State the effect of using a variable or array element of any kind when no explicit assignment has been made to it.
• Write code using all forms of loops, including labelled and unlabeled, use of break and continue, and state the values taken by loop counter variables during and after loop execution.
• State the range of all primitive formats, data types and declare literal values for String and all primitive types, using all permitted formats, bases and representations.
• Write code that makes proper use of exceptions and exception-handling clauses (try, catch, finally) and declares methods and overriding methods that throw exceptions.
Section 5: Operators and assignments
• Recognise the effect of an exception arising at a specified point in a code fragment. Note: The exception may be a runtime exception, a checked exception, or an error (the code may include try, catch, or finally clauses in any legitimate combination). • Write code that makes proper use of assertions, and distinguish appropriate from inappropriate uses of assertions. • Identify correct statements about the assertion mechanism.
Page 8 | Section 3
• Identify correctly constructed package declarations, import statements, class declarations (of all forms, including inner classes) interface declarations, method declarations (including the main method that is used to start execution of a class), variable declarations, and identifiers.
• Determine the result of applying any operator (including assignment operators and instance of) to operands of any type, class, scope, or accessibility, or any combination of these. • Determine the result of applying the Boolean equals (Object) method to objects of any combination of the classes java.lang.String, java.lang.Boolean and java.lang.Object. • In an expression involving the operators &, |, &&, || and variables of known values, state which operands are evaluated and the value of the expression.
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 values of passing variables into methods and performing assignments, or other modifying operations, in that method. Section 6: Overloading, overriding, runtime type and object orientation • State the benefits of encapsulation in object oriented design, and write code that implements tightly encapsulated classes and the relationships “is a” and “has a”. • Write code to invoke overridden or overloaded methods and parental or overloaded constructors, and describe the effect of invoking these methods. • Write code to construct instances of any concrete class, including normal top-level classes and nested classes.
Section 8: Fundamental classes in the java.lang package • Write code using the following methods of the java.lang.Math class: abs, ceil, floor, max, min, random, round, sin, cos, tan, sqrt. • Describe the significance of the immutability of String objects. • Describe the significance of wrapper classes, including making appropriate selections in the wrapper classes to suit specified behaviour requirements, stating the result of executing a fragment of code that includes an instance of one of the wrapper classes, and writing code using the following methods of the wrapper classes (e.g., Integer, Double, etc.): > doubleValue > floatValue > intValue > longValue
Section 7: Threads
> parseXxx
• Write code to define, instantiate and start new threads, using both java.lang.Thread and java.lang.Runnable.
> getXxx > toString > toHexString
• Recognise conditions that might prevent a thread from executing.
Section 9: The Collections Framework
• Write code using synchronised wait, notify and notifyAll to protect against concurrent access problems and to communicate between threads.
• Make appropriate selection of collection classes/interfaces to suit specified behaviour requirements.
• Define the interaction among threads and object locks when executing synchronised wait notify or notifyAll.
• Distinguish between correct and incorrect implementations of hashcode methods.
s g e u q e resp r ( yHello a s . o l l x) { e e h n o i t (Excep h c ng(); i t r a t c S } o ex.t resp = } %> ion- t c e n n bc-co d j . : r n e o v calh c i _comm ask set ser o l l d b n u t a p s b m o com --h ord=p 8 min t w d 4 s a 8 s a g 4 admin_ n P ction . i t e y o r n t D o n r p o e ] c p o [ech et ol.pro .jdbcs o r : p e g v n r i e e t r Execu min s oksto d o ] a b n . i l r o e m o s d p blic No -u u v-a . p r t b e n d p e s r = p o d m p w sswor tem environ a [sun-a rd yourpass P . y t r s o ope read sy -passw p pool.pr Page 9 | Section 3
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 Programmer for the Java™ 2 Platform Upgrade exam include: Section 1: Declarations and access control • Declare classes, nested classes, methods, instance variables, static variables and automatic (method local) variables, making appropriate use of all permitted modifiers (such as public, final, static, abstract, etc.). State the significance of each of these modifiers, both singly and in combination, and state the effect of package relationships on declared items qualified by these modifiers.
Section 5: Operators and assignments • Determine the result of applying any operator (including assignment operators and instance of) to operands of any type, class, scope, or accessibility, or any combination of these. • In an expression involving the operators &, |, &&, || and variables of known values, state which operands are evaluated and the value of the expression. • Determine the effect upon objects and primitive values of passing variables into methods and performing assignments, or other modifying operations, in that method.
• Identify legal return types for any method, given the declarations of all related methods in this or parent classes.
Section 6: Overloading, overriding, runtime type, and object orientation
Section 2: Flow control, assertions, and exception handling
• Write code to invoke overridden or overloaded methods and parental or overloaded constructors, and describe the effect of invoking these methods.
• Write code using if and switch statements, and identify legal argument types for these statements.
• Write code to construct instances of any concrete class, 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 exception may be a runtime exception, a checked exception, or an error (the code may include try, catch, or finally clauses in any legitimate combination). • Write code that makes proper use of assertions, and distinguish appropriate from inappropriate uses of assertions. • Identify correct statements about the assertion mechanism.
Section 7: Threads • Recognise conditions that might prevent a thread from executing. • Write code using synchronised wait, notify and notifyAll to protect against concurrent access problems and to communicate between threads. • Define the interaction among threads and object locks when executing, wait, notify or notifyAll. Section 8: The collection framework
Section 3: Garbage collection • Recognise, in a piece of source code, the point at which an object becomes eligible for garbage collection.
• Make appropriate selection of collection classes/interfaces to suit specified behaviour requirements.
Section 4: Language fundamentals
• Distinguish between correct and incorrect 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 and developers who are already familiar with the basic structure and syntax of the Java™ programming language, and who can demonstrate advanced proficiency in developing complex, production-level applications using the Java 2 Platform, Standard Edition.
Certification requirements To become a Sun Certified Developer for the Java 2 Platform, you must successfully complete a programming assignment and an essay exam. Prior to beginning the Sun Certified Developer programme, you must be a Sun Certified Programmer for the Java Platform (any edition). The assignment and exam details are as follows: Step 1: Sun Certified Developer for the Java 2 Platform – programming assignment
Step 2: Sun Certified Developer for the Java 2 Platform – essay exam • Available at: Authorised Worldwide Prometric testing centres • Exam number: 310-027 • Prerequisites: Must be a Sun Certified Programmer for the Java Platform (any edition), and submission of the programming assignment • Exam type: Essay • Number of questions: 4 • Pass score: Subject to the evaluation of the essay exam and validation of the • authenticity of the Step 1 programming assignment • Time limit: 120 minutes • Cost: Locally priced at the time of registration for the essay exam
• Available at: CertManager database • Exam number: 310-252A • Prerequisites: Sun Certified Programmer for the Java Platform • Exam type: Programming assignment • Number of questions: N/A • Pass score: 320 out of 400 possible points, subject to the evaluation of the essay exam and validation of the authenticity of the assignment • Time limit: None • Cost: Locally priced
Learning path Sun offers courses to help prepare you to meet your certification requirements: RECOMMENDED TRAINING Object-Oriented Application Analysis and Design for Java Technology Course Number: 00-226 Duration: 5 days Delivery: Instructor-led 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
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
SL-110
ADVANCED OBJECT-ORIENTED PROGRAMMING
WP-1203
NON-PROGRAMMER ENTRY
Take one course at this level
JAVA TECHNOLOGY FOR STRUCTURED PROGRAMMERS
TAKE CERTIFICATION EXAM
JAVA PROGRAMMIING LANGUAGE FOR VISUAL BASIC PROGRAMMERS
SL-255*
SL-275
JAVA PROGRAMMING LANGUAGE
STRUCTURED PROGRAMMER ENTRY
SL-265*
STRUCTURED PROGRAMMER ENTRY
OBJECT-ORIENTED PROGRAMMER ENTRY
* Additional self-paced courseware included
BECOME A SUN CERTIFIED PROGRAMMER
Page 12 | Section 3
DEVELOPING J2EE COMPLIANT APPLICATIONS
FJ-310
ARCHITECTING AND DESIGNING JSEE APPLICATIONS
SL-425
ADVANCED BUSINESS COMPONENT DEVELOPMENT WITH EJB TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-351
WEB COMPONENT DEVLOPMENT WITH JAVA TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-314
JAVA PROGRAMMING LANGUAGE WORKSHOP
OO-226
OBJECT-ORIENTED APPLICATION ANALYSIS & DESIGN FOR JAVA TECHNOLOGY (UML)
SL-285
J2EE
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
BECOME A SUN CERTIFIED DEVELOPER
BECOME A SUN CERTIFIED WEB COMPONENT DEVELOPER
BECOME A SUN CERTIFIED BUSINESS COMPONENT DEVELOPER
BECOME A SUN CERTIFIED ENTERPRISE ARCHITECT
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.
).get ( public t x e t n Co getJsp } TF} U = t e s ; char l m t h tl/co / t s x j e / t p " s = j com/ tType . n n e u t s . n a o /jav ge c <%@ pa b uri="http:/ %> " li g f a " t = x i @ <% pref " %> " c s " n = o x i i t f pre /func " = i r ad> u e h b i l / g < a > t <%@ /title < s e t a D itle>Localized tion" a c t i l < > p " > p d e a a 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 the Java™ 2 Platform (1.1, 1.2 and 1.4), who are using the Java Technology servlet and JavaServer Pages (JSP) Application Program Interfaces (APIs) Web applications.
Learning path Sun offers a number of courses to help prepare you to meet your certification requirements: RECOMMENDED TRAINING
Certification requirements To become a Sun Certified Web Component Developer for J2EE Platform, you must already have achieved Sun Certified Programmer for the Java 2 Platform (any edition) status, and you must successfully complete one exam. Sun Certified Web Component Developer for J2EE Platform – exam
Developing J2EE-compliant applications Course number: FJ-310 Duration: 5 days Delivery: Instructor-led Web Component Development with Java Technology Course number: SL-314 Duration: 5 days Delivery: Instructor-led
• Available at: Authorised Worldwide Prometric testing centres
Course number: WJB-314 Delivery: Web-based
• Exam number: CX-310-080
Course number: CDJ-314 Delivery: CD-ROM
• Prerequisites: Sun Certified Programmer for the Java 2 Platform (any version) status • Exam type: Multiple choice, short answer, and drag and drop
Java Servlets: A Technical Introduction Course number: WJB-305-180 Subscription length: 180 days Delivery: Web-based
• Number of questions: 59 • Pass score: 61% (36 of 59 questions) • Time limit: 90 minutes • Cost: Locally priced
Page 14 | Section 3
The diagram on page 15 illustrates the Java certification learning path for Web Component Developer for J2SE.
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
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
SL-110
ADVANCED OBJECT-ORIENTED PROGRAMMING
WP-1203
NON-PROGRAMMER ENTRY
Take one course at this level
JAVA TECHNOLOGY FOR STRUCTURED PROGRAMMERS
TAKE CERTIFICATION EXAM
JAVA PROGRAMMIING LANGUAGE FOR VISUAL BASIC PROGRAMMERS
SL-255*
SL-275
JAVA PROGRAMMING LANGUAGE
STRUCTURED PROGRAMMER ENTRY
SL-265*
STRUCTURED PROGRAMMER ENTRY
OBJECT-ORIENTED PROGRAMMER ENTRY
* Additional self-paced courseware included
BECOME A SUN CERTIFIED PROGRAMMER
DEVELOPING J2EE COMPLIANT APPLICATIONS
FJ-310
ARCHITECTING AND DESIGNING JSEE APPLICATIONS
SL-425
ADVANCED BUSINESS COMPONENT DEVELOPMENT WITH EJB TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-351
WEB COMPONENT DEVLOPMENT WITH JAVA TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-314
JAVA PROGRAMMING LANGUAGE WORKSHOP
OO-226
OBJECT-ORIENTED APPLICATION ANALYSIS & DESIGN FOR JAVA TECHNOLOGY (UML)
SL-285
J2EE
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
BECOME A SUN CERTIFIED DEVELOPER
BECOME A SUN CERTIFIED WEB COMPONENT DEVELOPER
BECOME A SUN CERTIFIED BUSINESS COMPONENT DEVELOPER
BECOME A SUN CERTIFIED 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. You can order a 90-day subscription to web-based exam questions from the Sun Web Learning Centre. The practice exam number is WGS-PREX-J080B.
Exam objectives The objectives for the Sun Certified Web Component Developer for J2EE Platform include:
> The WebApp deployment descriptor > The WebApp class files > Any auxiliary JAR files
• Match the name, with a description of purpose or functionality, for each of the following deployment descriptor elements: > Servlet instance > Servlet name > Servlet class > Initialisation parameters
Section 1: The servlet model • For each of the HTTP methods, GET, POST, and PUT, identify the corresponding method in the HttpServlet class. • For each of the HTTP methods, GET, POST, and HEAD, identify triggers that might cause a browser to use the method, and identify benefits or functionality of the method. • For each of the following operations, identify the interface and method name that should be used: > Retrieve HTML form parameters from the request > Retrieve a servlet initialisation parameter
> URL to named servlet mapping
Section 3: The servlet container model • Identify the uses for ,and the interfaces (or classes) and methods to achieve, the following features: > Servlet context init. parameters > Servlet context listener > Servlet context attribute listener > Session attribute listeners
• Identify the WebApp deployment descriptor element 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 of the response
> Servlet context listener
> Acquire a text stream for the response
> Session attribute listeners
> Acquire a binary stream for the response > Redirect an HTTP request to another URL
• Identify the interface, and method to access values and resources and to set object attributes, within the following three Web scopes: > Request
> Servlet context attribute listener
• Distinguish the behaviour of the following in a distributable: > Servlet context init. parameters > Servlet context listener > Servlet context attribute listener > Session attribute listeners
> Session > Context
• Given a life-cycle method: init, service, or destroy, identify correct statements about its purpose or about how and when it is invoked. • Use a RequestDispatcher to include or forward to a Web resource. Section 2: The structure and deployment of modern servlet Web applications • Identify the structure of a Web Application and Web Archive file, the name of the WebApp deployment descriptor, and the name of the directories where you place the following:
Page 16 | Section 3
Section 4: Designing and developing servlets to handle server-side exceptions • For each of the following cases, identify correctly constructed code for handling business logic exceptions, and match that code with correct statements about the code’s behaviour: Return an HTTP error using the sendError response method; Return an HTTP error using the setStatus method. • Given a set of business logic exceptions, identify the following: The configuration that the deployment descriptor uses to handle each exception; How to use a RequestDispatcher to forward the request to an error page; Specify the handling declaratively in the deployment descriptor.
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 message to the WebApp log; Write a message and an exception to the WebApp log.
> Instance variables > Class variables > Request attributes > Session attributes
Section 5: Designing and developing servlets using session management • Identify the interface and method for each of the following: > Retrieve a session object across multiple requests to the same or different servlets within the same WebApp
> Context attributes
• Identify correct statements about differences between the multi-threaded and single-threaded servlet models. • Identify the interface used to declare that a servlet must use the single thread model.
> Store objects into a session object > Retrieve objects from a session object > Respond to the event when a particular object is added to a session
Section 8: The JavaServer Pages Technology Model • Write the opening and closing tags for the following JSP tag types:
> Respond to the event when a session is created and destroyed
> Directive
> Expunge a session object
> Scriptlet
• Given a scenario, state whether a session object will be invalidated. • Given that URL-rewriting must be used for session management, identify the design requirement on session-related HTML pages. Section 6: Designing and developing secure web applications • Identify correct descriptions or statements about these security issues: > Authentication, authorisation
> Declaration > Expression
• Given a type of JSP tag, identify correct statements about its purpose or use. • Given a JSP tag type, identify the equivalent XMLbased tags. • Identify the page directive attribute, and its values, that: > Import a Java class into the JSP page > Declare that a JSP page exists within a session > Declare that a JSP page uses an error page > Declare that a JSP page is an error page
> Data integrity > Auditing > Malicious code > Web site attacks
• Identify the deployment descriptor element names, and their structure, that declare the following:
• Identify and put in sequence the following elements of the JSP page lifecycle: > Page translation > JSP page compilation > Load class > 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 use with any of the following implicit objects: > request > response
• Identify properly formatted taglib directives in a JSP page. • Given a custom tag library, identify properly formatted 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 > exception
• Distinguish correct and incorrect scriptlet code for: > A conditional statement > An iteration statement
Section 12: Designing and Developing a Custom Tag Library • Identify the tag library descriptor element names that declare the following: > The name of the tag > The class of the tag handler
Section 9: The JavaServer Pages Technology Model • Given a description of required functionality, identify the JSP page directive or standard tag, in the correct format with the correct attributes required to specify the inclusion of a Web component into the JSP page.
> The type of content that the tag accepts > Any attributes of the tag
• Identify the tag library descriptor element names that declare the following: > The name of a tag attribute > Whether a tag attribute is required
Section 10: The JavaServer Pages Technology Model • For any of the following tag functions, match the correctly constructed tag, with attributes and values as appropriate, with the corresponding description of the tag’s functionality:
• Given a custom tag, identify the necessary value for the bodycontent TLD element for any of the following tag types:
> Declare the use of a JavaBeans component within the page.
> Empty-tag
> Specify, for jsp: useBean or jsp: getProperty tags, the name of an attribute.
> Custom tag that surrounds content that is used only by the tag handler
> Specify, for a jsp: useBean tag, the class of the attribute. > Specify, for a jsp: useBean tag, the scope of the attribute. > Access or mutate a property from a declared JavaBean. > Specify, for a jsp: getProperty tag, the property of the attribute. > Specify, for a jsp: setProperty tag, the property of the attribute to mutate, and the new value.
• Given JSP page attribute scopes: request, session, and application, identify the equivalent servlet code. • Identify techniques that access a declared JavaBean component. Section 11: Designing and developing JSP pages using custom tags • Identify properly formatted tag library declarations in the Web application deployment descriptor.
Page 18 | Section 3
> Whether or not the attribute’s value can be dynamically specified
> Custom tag that surrounds other JSP code
• Given a tag event method (doStartTag, doAfterBody, and doEndTag), identify the correct description of the methods trigger. • Identify valid return values for the following methods: > doStartTag > doAfterBody > doEndTag > PageConext.getOut
• Given a “BODY” or “PAGE” constant, identify a correct description of the constant’s use in the following methods: > doStartTag > doAfterBody > doEndTag
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 Top e l b a r u jms/D null; = <% p s re String ew n ( ) b { u y t r t getHe b = (S . u ) ( t l p s m b Stu vice_I r e S o l l MyHe ty( r e p o r tP POIN e D s N _ . E . b b u u st pc.St r . l /hel 4 m x 2 . x 0 1 a : v t a j alhos c o l / / : F)stu I o l l e "http H llo = ( e h F I Hello t.get resp = Hello(reques y hello.sa ption ex) { Exce ( h g(); c n i t r a t S }c ex.to 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 Java 2 Platform, Enterprise Edition 1.3 exam, is for programmers and developers who are responsible for designing, developing, testing, deploying, and integrating Enterprise JavaBeans (EJB) applications. It is also for those specialising in leveraging the Java 2 Platform, Enterprise Edition (J2EE platform) technologies that are used to develop server-side components that encapsulate the business logic of an application. Prior to beginning the Sun Certified Business Component Developer program, you must be a Sun Certified Programmer for the the Java platform (any edition).
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 Platform (any edition) status, and you must successfully complete one exam. 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
Learning path Sun offers a number of courses to help prepare you to meet your certification requirements: RECOMMENDED TRAINING Developing J2EE-compliant applications Course number: FJ-310 Duration: 5 days Delivery: Instructor-led Advanced business component development with EJB Technology Course number: SL-351 Duration: 5 days Delivery: Instructor-led
The diagram on page 21 illustrates the Java Technology certification learning path for Business Component Developer for J2EE.
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
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
SL-110
ADVANCED OBJECT-ORIENTED PROGRAMMING
WP-1203
NON-PROGRAMMER ENTRY
Take one course at this level
JAVA TECHNOLOGY FOR STRUCTURED PROGRAMMERS
TAKE CERTIFICATION EXAM
JAVA PROGRAMMIING LANGUAGE FOR VISUAL BASIC PROGRAMMERS
SL-255*
SL-275
JAVA PROGRAMMING LANGUAGE
STRUCTURED PROGRAMMER ENTRY
SL-265*
STRUCTURED PROGRAMMER ENTRY
OBJECT-ORIENTED PROGRAMMER ENTRY
* Additional self-paced courseware included
BECOME A SUN CERTIFIED PROGRAMMER
DEVELOPING J2EE COMPLIANT APPLICATIONS
FJ-310
ARCHITECTING AND DESIGNING JSEE APPLICATIONS
SL-425
ADVANCED BUSINESS COMPONENT DEVELOPMENT WITH EJB TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-351
WEB COMPONENT DEVLOPMENT WITH JAVA TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-314
JAVA PROGRAMMING LANGUAGE WORKSHOP
OO-226
OBJECT-ORIENTED APPLICATION ANALYSIS & DESIGN FOR JAVA TECHNOLOGY (UML)
SL-285
J2EE
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
BECOME A SUN CERTIFIED DEVELOPER
BECOME A SUN CERTIFIED WEB COMPONENT DEVELOPER
BECOME A SUN CERTIFIED BUSINESS COMPONENT DEVELOPER
BECOME A SUN CERTIFIED 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 The objectives for the Sun Certified Business Component Developer for J2EE Platform 1.3 include: Section 1: EJB overview • Identify the use, benefits, and characteristics of Enterprise JavaBeans Technology, for version 2.0 of the EJB specification. • Identify EJB 2.0 container requirements. • Identify correct and incorrect statements about, or examples of, EJB programming restrictions. • Match EJB roles with the corresponding description of the role’s responsibilities, where the description may include deployment descriptor information. • Given a list, identify which are requirements for an EJB-jar file.
• Given a list of responsibilities related to session beans, identify those that are the responsibility of the session bean provider and those that are the responsibility of the EJB container provider. • Given a list of requirements, identify those that are the requirements for a session bean class, a remote component interface, a remote home interface, create methods, business methods, a local component interface, and a remote component interface. Section 4: Session Bean Life Cycle • Identify correct and incorrect statements about, or examples of, the life cycle of a stateful or stateless session bean instance.
• Identify correct and incorrect statements about, or examples of, the client view of a session bean’s local and remote component interfaces.
• Given a list of methods for a stateful or stateless session bean class, define which of the following operations can be performed from each of those methods: SessionContext interface methods, UserTransaction methods, Java Naming and Directory Interface Application Program Interface (JNDI API) access to java:comp/env environment naming context, resource manager access, and other enterprise bean access.
Section 3: Session Bean Component Contract
• Given a list of scenarios, identify which will result in an ejbRemove method not being called on a bean instance.
Section 2: Client View of a Session Bean • Identify correct and incorrect statements about, or examples of, the client view of a session bean’s local and remote home interfaces, including the code used by a client to locate a session bean’s home interface.
• Identify correct and incorrect statements about, or examples of, session beans, including conversational state, the SessionBean interface, and create methods. • Identify the use and the behaviour of the ejbPassivate method in a session bean, including the responsibilities of both the container and the bean provider. • Identify the interface and method for each of the following: retrieve the session bean’s remote home interface, retrieve the session bean’s local component interface, determine if the session bean’s caller has a particular role, allow the instance to mark the current transaction as a roleback, retrieve the UserTransaction interface, prepare the instance for reuse following passivation, release resources prior to removal, identify the invoker of the bean instance’s component interface, be notified that a new transaction has begun, and be notified that the current transaction has completed.
Page 22 | Section 3
• Match correct descriptions of purpose and function to applicable session bean types: stateless, stateful, or both.
Section 5: Client View of an Entity • Identify correct and incorrect statements about, or examples of, the client of an entity bean’s local and remote home interface. To include viewing the code used to locate an entity bean’s home interface, and the home interface methods that are provided to the client. • Identify correct and incorrect statements about, or examples of, the client view of an entity bean’s local component interface (EJBLocalObject). • Identify correct and incorrect statements about, or examples of, the client view of an entity bean’s remote component interface (EJBObject). • Identify the use, syntax, and behaviour of the following entity bean home method types for Container-Managed Persistence (CMP): finder methods, create methods, remove methods, and home methods.
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 Persistence (CMP) • Identify correct and incorrect statements about, or examples of, the entity bean provider’s view and programming contract for CMP, including the requirements for a CMP entity bean. • Identify correct and incorrect statements about, or examples of, persistent relationships, remove protocols, and about the abstract schema type of a CMP entity bean. • Identify correct and incorrect statements about, or examples of, the rules and semantics for relationship assignment and relationship updating in a CMP bean. • Match the name with a description of purpose or functionality, for each of the following deployment descriptor elements: ejb-name, abstract-schemaname, ejb-relation, ejb-relationship-role, cmr-field, cmr-field-type, and relationship-role-source.
Section 9: EJB-QL • Identify correct and incorrect syntax for an EJB QL query, including the SELECT, FROM, and WHERE clauses. • Identify correct and incorrect statements about, or examples of, the purpose and use of EJB QL. • Identify correct and incorrect conditional expressions, between expressions, in expressions, like expressions, and comparison expressions. Section 10: Message-Driven Bean Component Contract • Identify correct and incorrect statements about, or examples of, the client view of a message-driven bean, and the life cycle of a message-driven bean. • Identify the interfaces and methods a JMS messagedriven bean must implement. • Identify the use and behaviour of the MessageDrivenContext interface methods.
• Identify correctly-implemented deployment descriptor elements for a CMP bean (including containermanaged relationships).
• From a list, identify the responsibility of the bean provider and the responsibility of the container provider for a message-driven bean.
• Identify the interfaces and methods a CMP entity bean must and must not implement.
Section 11: Transactions
Section 7: CMP Entity Bean Life Cycle
• Identify correct and incorrect statements about, or examples of, EJB transactions, including beanmanaged transaction demarcation and containermanaged transaction demarcation.
• Identify correct and incorrect statements about, or examples of, the life cycle of a CMP entity bean. • From a list, identify the purpose, behaviour, and responsibilities of the bean provider for a CMP entity bean, including, but not limited to: setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActivate, ejbPassivate, ejbRemove, ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect. • From a list, identify the responsibility of the container for a CMP entity bean, including, but not limited to: setEntityContext, unsetEntityContext, ejbCreate, ejbPostCreate, ejbActivate, ejbPassivate, ejbRemove, ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect. Section 8: Entity Beans
• Identify correct and incorrect statements about the Application Assembler’s responsibilities, including the use of deployment descriptor elements related to transactions, and the identification of the methods of a particular bean type, for which a transaction attribute must be specified. • Given a list of transaction behaviours, match them with the appropriate transaction attributes. • Given a list of responsibilities, identify which are the container’s with respect to transactions, including the handling of getRollbackOnly, setRollbackOnly, getUserTransaction, and SessionSynchronzation callbacks, for both container and bean-managed 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 • Identify correct and incorrect statements about, or examples of, exception handling in EJB. • Given a list of responsibilities related to exceptions, identify those that are the bean provider’s, and those that are the container provider’s. Be prepared to recognise responsibilities for which neither the bean provider, nor the container provider, are responsible.
• Given a code listing, determine whether it is a legal and appropriate way to programmatically access a caller’s security context. • Given a security-related deployment descriptor tag, identify correct and incorrect statements and code related to that tag.
• 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. Section 14: Security Management • Identify correct and incorrect statements about the EJB support for security management, including security roles, security role references, and method permissions. • From a list of responsibilities, identify which belong to the application assembler, bean provider, deployer, container provider, or system administrator.
Page 24 | Section 3
... {
ChildN t e g . e d omNo d = e() = e p d y T no e d .getNo e d e.ge d o n o ( n ( if t Elemen ndex++ e e r t && odeI N t n e && elem break;
sour e r s te-jm tionFa a e r c n asadmi .TopicConnec s ost: h l m a j . c x o a l v = 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 are responsible for architecting and designing the Java™ 2 Platform, Enterprise Edition (J2EE Technology) – compliant applications, which are scalable, flexible and highly secure.
• Available at: Authorised Worldwide Prometric testing centres
Certification requirements
• Exam type: Essay
To become a Sun Certified Enterprise Architect for J2EE Technology, you must successfully complete a multiplechoice exam, an architecture and design project, and an essay exam. The exam and assignment details are as follows: Step 1: Sun Certified Enterprise Architect for J2EE Technology – multiple-choice exam • Available at: Authorised Worldwide Prometric testing centres • Exam number: 310-051 • Prerequisites: None • Exam type: Multiple choice, short answer, and drag and drop • Number of questions: 48 • Pass score: 68% • Time limit: 75 minutes • Cost: Locally priced Step 2: Sun Certified Enterprise Architect For J2EE Technology – assignment • Available at: CertManager database • Assignment number: CX-310-300A
• Exam number: 310-061 • Prerequisites: Successful completion of the (Step 1) multiple-choice exam and submission of the (Step 2) architecture and design assignment • Number of questions: 4 • Pass score: N/A (please refer to the score in Step 2 above) • Time limit: 90 minutes • Cost: Locally priced
Learning path Sun offers courses to help prepare you to meet your certification requirements: RECOMMENDED TRAINING Developing J2EE-compliant applications Course number: FJ-310 Duration: 5 days Delivery: Instructor-led Architecting and designing J2EE applications Course Number: SL-425 Duration: 4 days Delivery: Instructor-led
The diagram onb page 25 illustrates the Java Technology certification learning path for Enterprise Architecture for J2EE.
• Prerequisites: Successful completion of the multiplechoice 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
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
SL-110
ADVANCED OBJECT-ORIENTED PROGRAMMING
WP-1203
NON-PROGRAMMER ENTRY
Take one course at this level
JAVA TECHNOLOGY FOR STRUCTURED PROGRAMMERS
TAKE CERTIFICATION EXAM
JAVA PROGRAMMIING LANGUAGE FOR VISUAL BASIC PROGRAMMERS
SL-255*
SL-275
JAVA PROGRAMMING LANGUAGE
STRUCTURED PROGRAMMER ENTRY
SL-265*
STRUCTURED PROGRAMMER ENTRY
OBJECT-ORIENTED PROGRAMMER ENTRY
* Additional self-paced courseware included
BECOME A SUN CERTIFIED PROGRAMMER
Page 26 | Section 3
DEVELOPING J2EE COMPLIANT APPLICATIONS
FJ-310
ARCHITECTING AND DESIGNING JSEE APPLICATIONS
SL-425
ADVANCED BUSINESS COMPONENT DEVELOPMENT WITH EJB TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-351
WEB COMPONENT DEVLOPMENT WITH JAVA TECHNOLOGY
FJ-310
DEVELOPING J2EE COMPLIANT APPLICATIONS
SL-314
JAVA PROGRAMMING LANGUAGE WORKSHOP
OO-226
OBJECT-ORIENTED APPLICATION ANALYSIS & DESIGN FOR JAVA TECHNOLOGY (UML)
SL-285
J2EE
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
TAKE CERTIFICATION EXAM
BECOME A SUN CERTIFIED DEVELOPER
BECOME A SUN CERTIFIED WEB COMPONENT DEVELOPER
BECOME A SUN CERTIFIED BUSINESS COMPONENT DEVELOPER
BECOME A SUN CERTIFIED ENTERPRISE ARCHITECT
A guide to Sun Java Certification
SECTION 3 | TYPES OF SUN JAVA TECHNOLOGY CERTIFICATION
Sun Certified Enterprise Architect for J2EE Exam objectives The objectives for the Sun Certified Enterprise Architect for J2EE Technology include: Section 1: Concepts • Draw UML Diagrams. • Interpret UML diagrams. • State the effect of encapsulation, inheritance, and use of interfaces on architectural characteristics. Section 2: Common architectures • Recognise the effect on each of the following characteristics of two-tier, three-tier and multi-tier architectures: scalability maintainability, reliability, availability, extensibility, performance, manageability, and security. • Recognise the effect of each of the following characteristics on J2EE Technology: scalability maintainability, reliability, availability, extensibility, performance, manageability, and security. • Given an architecture described in terms of network layout, list the benefits and potential weaknesses associated with it. Section 3: Legacy connectivity • Given an outline description of a legacy system, distinguish between appropriate and inappropriate techniques for providing access to that legacy system from Java Technology code. Section 4: Enterprise JavaBeans™ Technology
• Given a requirement specification detailing security and flexibility needs, identify architectures that would fulfil those requirements. • Identify the costs and benefits of using an intermediate data-access object between an entity bean and the data resource. Section 5: Enterprise JavaBeans™ container model • State the benefits of bean pooling in an Enterprise JavaBeans container. • State the benefits of Passivation in an Enterprise JavaBeans container. • State the benefit of monitoring resources in an Enterprise JavaBeans container. • Explain how the Enterprise JavaBeans container facilitates lifecycle management, and has the capability to increase scalability. Section 6: Protocols • Given a scenario description, distinguish between appropriate and inappropriate protocols used to implement that scenario. • Given a list of some of its features, identify a protocol that is one of the following: HTTP, HTTPS, IIOP, or JRMP. • Select, from a list, common firewall features that might interfere with the normal operation of a given protocol. Section 7: Applicability of J2EE™ Technology • Select, from a list, applications aspects that are suitable for implementation using J2EE.
• List the required classes/interfaces that must be provided for an Enterprise JavaBean™ Technology.
• Select, from a list, application aspects that are suitable for implementation using Enterprise JavaBeans.
• Distinguish between stateful and stateless Session beans.
• Identify suitable J2EE technologies for the implementation of specified application aspects.
• Distinguish between Session and Entity beans. • Recognise appropriate uses for Entity, Stateful Session, and Stateless Session beans. • State the benefits and costs of Container-Managed Persistence. • State the transactional behaviour, in a given scenario, for an enterprise bean method with a specified transactional attribute.
Section 8: Design patterns • From a list, identify the most appropriate design pattern for a given scenario. Patterns will be limited to those documented in Gamma et al., and named using the names given in that book. • State the benefits of using design patterns.
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, Gamma) given the UML diagram and/or a brief description of the pattern’s functionality.
Resources
• From a list, identify benefits of a specified design pattern (for example, Gamma).
> For a step-by-step guide to scheduling exams and more information on Java certification, please contact your local Sun representative.
• Identify the design pattern associated with a specified J2EE feature. Section 9: Messaging • Identify scenarios that are suitable for implementation using messaging, Enterprise JavaBeans, or both.
You can find further information and resources at http://suned.sun.com/us/certification/java/index.html.
> 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. > And for the certification FAQ, visit http://suned.sun.com/us/certification/java/index.html.
• 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 typical uses: Properties, Locale, ResourceBundle, Unicode, java.text package, InputStreamReader and OutputStreamWriter. Section 11: Security • From a list, identify security restrictions that Java 2 environments normally impose on applets running in a browser. • Given an architectural system specification, identify appropriate locations for implementing specified security features, and select suitable technologies for implementing those features.
Page 28 | Section 3
Elemen ndex++ = s e e r t && odeI N t n e && elem break;
e --r c r u o s s-re m j ry o e t t c a a e F r n io nc asadmi .TopicConnect t:imqCon s hos javax.jm ssList=local tionFacto ec re imqAdd bleTopicConn ra jms/Du null; = <% p s re String ew n ( ) b { u y t r t b = (S u t pl().g s m b I _ e Stu ervic S o l l e H My ty(
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