Java Development News:

The Sun Certified Web Component Developer (SCWCD) Exam

By Pradeep Chopra

01 Mar 2003 | TheServerSide.com

J2EE Certifications

J2EE (Java 2 Enterprise Edition) technology, unveiled by Sun Microsystems in 1999, has been widely accepted for its unmatched server side capabilities. Many vendors like IBM and BEA Systems have come up with products for the J2EE platform. J2EE vendors represent nearly 90 percent of the application server market.

With the advancement and increasing presence of J2EE technologies, J2EE certifications have also started evolving and adding great value to the careers of programmers, developers and architects. The domain of J2EE certifications has grown substantially, which is evident by a growing number of certification exams, increasing support by blue chip organizations like SUN, IBM, BEA and the increasing number of people pursuing these certifications.

Sun Certified Web Component Developer is one of most popular and valuable certifications in the domain of J2EE. This article will help you understand the objectives, preparation requirements and resources available for this prestigious certification by Sun Microsystems.


The Sun Certified Web Component Developer (SCWCD) Certification Exam

Exam background and its importance

Launched in August 2001 by Sun Microsystems, the Sun Certified Web Component Developer (SCWCD) Certification Exam has occupied a place of its own in the Web Components (especially JSP and Servlets) developer Community. An effective measure of server side Java skills, this exam is becoming increasingly important for developers.

If you want to prove your competency in "Java Web Components", this is the exam for you. Also, if you are a programmer working in core Java, taking this exam will provide a definite advancement in your career.

Exam Info

  • Prerequisites - Sun Certified Java Programmer (SCJP). The first step towards SCWCD is SCJP (Sun Certified Java Programmer), which is the pre-requisite for this exam. You need to have a detailed and thorough understanding of issues involving the design, development and implementation of various Java web components.

  • Objectives - The SCWCD exam tests your knowledge on various aspects of Java web components, especially JSPs, Servlets and JavaBeans. You need to have a detailed and thorough understanding of issues involving the design, development and implementation of various Java web components. These are the objectives of the exam specified by Sun Micorosystems:

    • The Servlet Model
    • The Structure and Deployment of Modern Servlet Web Applications
    • The Servlet Container Model
    • Designing and Developing Servlets to Handle Server-side Exceptions
    • Designing and Developing Servlets Using Session Management
    • Designing and Developing Secure Web Applications
    • Designing and Developing Thread-safe Servlets
    • The Java Server Pages (JSP) Technology Model
    • Designing and Developing Reusable Web Components
    • Designing and Developing JSP pages Using JavaBean Components
    • Designing and Developing JSP pages Using Custom Tags
    • Designing and Developing a Custom Tag Library
    • Design Patterns


    For detailed information refer to the complete exam objectives for the SCWCD exam, by Sun Microsystems.

  • Type of Questions - Like the SCJP Exam, the type of questions asked in the SCWCD exam are multiple-choice (with one or more correct choices), fill in the blanks (also called short answer) and drag-n-drop (occasionally asked). Again, like the SCJP, if a multiple-choice question has more than one correct choice, it is explicitly stated in the question.

  • Time - The time allowed to complete this exam is 90 minutes, which is sufficient. Once again, like the SCJP, you are allowed to review the question(s) if you have some extra time towards the end.

  • Passing % - You need to obtain at least 61% to be successful. The exam asks you 59 questions and you need to correctly answer at least 36.

Useful Resources

  • Books - Preparatory books are a valuable asset for any IT Certification preparation. Here are some recommended books for the SCWCD exam:



  • Specifications - It is highly recommended that quality time be spent going through the JSP 1.2 and Servlets 2.3 specifications for this exam. You will find answers to many questions hidden in the specifications.

  • WebServer - "Practice is Power
    If your aim is to get an in-depth understanding of the objectives as well as scoring high on the exam, it is important for you to spend a lot of time writing lines of code focusing on various objectives.

    But where do I practice?
    Tomcat Apache Version 4.0 is the best platform to practice on. It adheres to the latest JSP 1.2 and Servlet 2.3 specifications and it is absolutely free. You can download it here: Tomcat 4.0

  • Tutorials and Articles - There are numerous tutorials freely available on Java web components. The most reliable and recommended of these are by Sun. Following is a list of some highly useful tutorials and articles for the SCWCD Exam:



  • Notes - Many people have contributed by sharing their preparation strategies and exam experience in the form of concise notes. Some of these useful notes are listed below:



  • J2EE Training - If you really want to gain expertise in the J2EE domain, check out the high quality J2EE training offered by The Middleware Company.

  • Mock Exams - After you have prepared with the appropriate books, browsed through the specifications, read the tutorials, articles and notes, there comes the need to practice for the exam. What can be better than taking a mock exam? Unlike the SCJP, for which there are plenty of good mock exams available, there are only a handful of mock exams for the SCWCD Exam:



  • Exam Simulator - Is there something better than a FREE mock Exam?

    Yes, a Certification Test Simulator, which simulates the exam environment and gives you the best practice you can have before you appear for the exam..

    SCWCD Certification Exam Simulator from Whizlabs Software. Designed and developed by highly committed, experienced, and certified professionals, it ensures your success in the exam with its High Quality Mock Tests, Interactive Quiz and Quick Revision Tips on the latest pattern of the SCWCD exam.

Tips and Tricks
  • Practice each concept by writing the relevant code. It is even better if you conceptualize, develop, deploy and test an application, which uses the concepts asked in the exam. A mock application using HTML, JSP, and Servlets designed using the patterns like MVC should be of great help in understanding the most common concepts for this exam.
  • The time available for the exam is generally sufficient. Try not to rush and give sufficient time to each question.
  • If you really want to obtain a good score, you should spend some time remembering various Deployment Descriptor elements, including the parent-child relationships between them. You should also know which of the elements are mandatory.
  • Thread safety is considered to be one of the difficult areas for this exam. You must spend some valuable time and have thorough understanding of it.
  • Although not mentioned in the exam objectives, you should have the basic understanding of the following design patterns:
    • Factory
    • Facade
    • Singleton

Discussion Forums and Groups

Eventhough you have access to all the resources listed above, you may want to hear about the experiences of other people. There are places for these too:


Conclusion

Since its introduction more than two years ago, the Java 2 Platform, Enterprise Edition (J2EE), has rapidly established a new model for developing distributed applications. Today it has reached a certain level of maturity on which many blue-chip organizations are relying for their complex enterprise-software-development needs. With this evolution of the J2EE platform, there has grown the need for industry-recognized J2EE certifications. The SCWCD is one of such recognized J2EE certification exams, which tests your competence in Java Web Components. Being a Sun Certified Web Component Developer, you can help improve your career potential, gain more respect, and increase job security.

I hope this article will be useful to you in your preparation for the SCWCD Exam. I wish you good luck!!!


About the Author

Pradeep Chopra is the Co-founder of WHIZlabs Software, an e-Learning organization focusing on IT Certification Exam Simulators. A graduate from the Indian Institute of Technology, Delhi, Pradeep has been consulting for IT certifications and authored numerous IT certification exam simulators, articles in J2EE certifications domain. You may find the following J2EE Certification Exam Simulators by Whizlabs of your interest:

You can reach him at pradeep@whizlabs.com



Sample Questions

Let's look at the kind of questions asked in this exam.

Question 1

Which of the following statements is true regarding MyServlet?

import javax.servlet.*;
import javax.servlet.http.*:
import java.io.*;

public class MyServlet extends HttpServlet implements SingleThreadModel
{
 String myName;

 public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
     {
  response.setContentType("text/plain");
  PrintWriter out = res.getWriter();
  myName = req.getParameter("name");
  sayHello(out);
  out.close();
     }

 public void sayHello(PrintWriter out)
 {
  out.println("Hello " + myName);
 }
}

Choose the correct one:

a.) MyServlet is thread safe.

b.) MyServlet is not thread safe because myName is an instance variable.

c.) MyServlet is not thread safe because MyServlet implements SingleThreadModel.

d.) None of the above.


Correct choice

A


Explanation

Choice A is correct. An application is thread safe if it always behaves predictably regardless of the number of concurrent threads running in its process space. The simplest way to ensure that a servlet is thread safe is to implement the SingleThreadModel interface. By implementing this interface, the server guarantees that no more than one thread can execute the service(), doGet(), or doPost() method at a time for a particular servlet instance. This makes the servlet thread safe. Thus even if class MyServlet has instance variables, it is thread safe. Thus A is the correct choice and the other choices are incorrect.




Question 2

Which of the following combinations (Design Pattern - Usefulness) regarding Design Patterns are correct?


Choose the correct two:

a.) Business Delegate - Reduces the coupling between presentation-tier clients and business services.

b.) Data Access Object - Allows for Multiple Views using the same model.

c.) MVC - Enables easier migration to different persistence storage implementations.

d.) Value Object - Reduces Network Traffic


Correct choices

A and D


Explanation

Choices A and D are correct. In a normal scenario, presentation-tier components (e.g. a JSP) interact directly with business services. As a result, the presentation-tier components are vulnerable to changes in the implementation of the business services: when the implementation of the business services change, the code in the presentation tier must change. The goal of the Business Delegate object design pattern is to minimize the coupling between presentation-tier clients and the business service API, thus hiding the underlying implementation details of the service. Thus choice A is correct.

Choice B is incorrect as it's the MVC design pattern rather than the DAO (Data Access Object), which provides Multiple Views using the same model.

Choice C is incorrect as it's the DAO (Data Access Object) pattern, which enables easier migration to different persistence storage implementations.

The Value Object is used to encapsulate the business data. A single method call is used to send and retrieve the Value Object. When the client requests business data from an enterprise bean, the enterprise bean can construct the Value Object, populate it with its attribute values, and pass it by value to the client. Thus choice D is also correct.