Sun ONE MiddleWare Certifications

Sun ONE MiddleWare Certifications

Definition: The Sun One Middleware program cosists of two certifications. The first, Sun Certified Developer for Sun[tm] ONE Application Server 6.0, is designed for developers who design, run and deploy applications on a Sun One Server. The second, the Sun Certified Engineer for Sun ONE Directory Server 5.x, is for engineers who design, deploy, administer and implement applications at the enterprise level.

To Obtain a Sun Certified Develper for Sun ONE:

  • Must have a Sun Certified Programmer for Java[tm] Platform (any edition) certification.
  • Must pass exam number CX-310-540.
  • The exam is 76 questions, lasts 2 hours, and costs $150.

To Obtain a Sun Certified Engineer for Sun ONE:

  • Must pass exam number CX-310-560.
  • The exam is 87 questions, lasts 2 hours, and costs $150.

Sun Security Administrator for the Solaris 9 OE

Sun Security Administrator for the Solaris 9 OE

Definition: This certification is designed for professionals who have experience (6 to 12 months is recommended) administering security in a Solaris OE environment.

To Obtain:

  • Previous completion of Sun Certified System Administrator for Solaris OE and Sun Certified Network Administrator for Solaris OE are recommended, but not required.
  • You must pass one exam. The exam costs $150.
  • The exam includes 60 multiple choice scenario based questions, matching, dragdrop, and free response questions.
  • You are required to have in-depth knowledge of the following topics:
    • General Security Concepts
    • Auditing, Logging and Device Management
    • Security Attacks
    • File and System Resources Protection
    • Host and Network Prevention
    • Network Connection Access, Authentication and Encryption
  • Sun recommends completion of the following course: Administering Security on Solaris 9 OE (SC-300)
Also Known As: Sun Security Administrator for the Solaris 9 Operating Environment


SCEA

SCEA
Sun Certified Enterprise Architect

Description

The Sun Certified Enterprise Architect for J2EE Technology (Step 1 of 3) certification exam is for enterprise architects responsible for architecting and designing Java 2 Platform, Enterprise Edition (J2EE) compliant applications, which are scalable, flexible and highly secure.


Details
  • Delivered at: Authorized Prometric testing centers
  • Prerequisites: None
  • Other exams/assignments required for this certification: Step 2 (CX-310-300A), Step 3 (CX-310-061)
  • Exam type: Multiple choice, short answer, and drag and drop
  • Number of questions: 48
  • Pass score: 68%
  • Time limit: 75 minutes

Languages
  • English

Exam Objectives

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


  • Recognize 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.
  • Recognize 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 benefits and potential weaknesses associated with it.


Section 3: Legacy Connectivity


  • Distinguish appropriate from inappropriate techniques for providing access to a legacy system from Java code given an outline description of that legacy system


Section 4: Enterprise JavaBeans Technology


  • List the required classes/interfaces that must be provided for an EJB technology.
  • Distinguish stateful and stateless Session beans.
  • Distinguish Session and Entity beans.
  • Recognize appropriate uses for Entity, Stateful Session, and Stateless Session beans.
  • State benefits and costs of Container Managed Persistence.
  • State the transactional behavior in a given scenario for an enterprise bean method with a specified transactional deployment descriptor.
  • Given a requirement specification detailing security and flexibility needs, identify architectures that would fulfill those requirements.
  • Identify 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 EJB container.
  • State the benefits of Passivation in an EJB container.
  • State the benefit of monitoring of resources in an EJB container.
  • Explain how the EJB container does lifecycle management and has the capability to increase scalability.


Section 6: Protocols


  • Given a scenario description, distinguish appropriate from inappropriate protocols to implement that scenario.
  • Identify a protocol, given a list of some of its features, where the protocol is one of the following: HTTP, HTTPS, IIOP, 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 those application aspects that are suited to implementation using J2EE.
  • Select from a list those application aspects that are suited to implementation using EJB.
  • Identify suitable J2EE technologies for the implementation of specified application aspects.


Section 8: Design Patterns


  • From a list, select 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.
  • State the name of a design pattern (for example, Gamma) given the UML diagram and/or a brief description of the pattern's functionality.
  • Select from a list benefits of a specified design pattern (for example, Gamma).
  • Identify the design pattern associated with a specified J2EE feature


Section 9: Messaging


  • Identify scenarios that are appropriate to implementation using messaging, EJB, or both.
  • List benefits of synchronous and asynchronous messaging.
  • Select scenarios from a list that are appropriate to implementation using synchronous and asynchronous messaging.


Section 10: Internationalization


  • State three aspects of any application that might need to be varied or customized in different deployment locales.
  • 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


  • Select from a list security restrictions that Java 2 environments normally impose on applets running in a browser.
  • Given an architectural system specification, identify appropriate locations for implementation of specified security features, and select suitable technologies for implementation of those features.



SCMAD

SCMAD
Sun Certified Mobile Application Developer

Description

The Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition, Version 1.0 certification exam is for programmers and developers who are using Java 2 Platform, Micro Edition (J2ME) technologies to develop mobile applications for cell phones or other Java enabled devices. Passing this exam certifies that the candidate has achieved a standard level of proficiency with mobile Java technologies, as well as with the Java Technology for Wireless Industry (JTWI) specification, including the Wireless Messaging application programming interface (API) and Mobile Media APIs. To take the Sun Certified Mobile Application Developer exam, you must have already achieved the status of Sun Certified Programmer for the Java 2 Platform.

Details
  • Delivered at: Authorized Worldwide Prometric Testing Centers
  • Prerequisites: Sun Certified Programmer for the Java 2 Platform (any edition)
  • Exam type: Multiple choice, drag and drop
  • Number of questions: 68
  • Pass score: 55% (38 items of 68)
  • Time limit: 150 minutes

Languages
  • English
  • Chinese (Simplified)
  • Japanese

Exam Objectives

Section 1: JTWI (JSR 185) and Overview of JTWI-Compliant Wireless Applications


  • Identify the goals and characteristics of the JTWI specification (JSR 185), including the mandatory specifications, conditionally required specifications, and the minimum configuration. Compare the relationship and differences between JTWI and other wireless Java technologies.
  • Develop portable applications that are compatible with the requirements and restrictions an application programmer must adhere to, in order to ensure compatibility with a JTWI-compliant device, including resource minimums (standard-size application), clock resolution, and the use of preferred Multi-Purpose Internet Mail Extensions (MIME) names as applicable to Connected Limited Device Configuration (CLDC) 1.0 and 1.1, Mobile Information Device Profile (MIDP) 2.0, Wireless Messaging API (WMA) 1.1, and Mobile Media API (MMAPI) 1.1).


Section 2: CLDC 1.0 and 1.1


  • Identify correct and incorrect statements or examples about the requirements and scope of the CLDC specification, including the differences between 1.0 and 1.1.
  • Describe the ways in which a CLDC virtual machine does and does not adhere to the Java Language Specification (JLS) and the Java Virtual Machine specification.
  • Identify correct and incorrect statements or examples about CLDC classes including those derived from J2SE, and the CLDC-specific classes, including identifying which core J2SE classes are NOT included in CLDC, or have different behaviors (for example java.lang.String and io classes)
  • Given the differences and limitations of exception/error handling with CLDC devices, handle exceptions correctly.
  • Write code that effectively manages memory and garbage collection.


Section 3: Security (Both CLDC and MIDP)


  • Given a set of requirements, design and build applications given CLDC-specified application-level security, including the sandbox model.
  • Identify correct and incorrect statements or examples about untrusted MIDlet suites.
  • Explain trusted MIDlet suite security authorization and permissions, including the process for MIDlet suite signing.
  • Explain requirements and process of using X.509 public key infrastructure (PKI) authentication for MIDlet suites.


Section 4: Networking


  • Write code using the Generic Connection framework specified by CLDC, recognizing its characteristics, use, classes, and interfaces. This may include identification of the class hierarchy and relationships of the Generic Connection framework.
  • Write code for MIDP 2.0 networking, and issues and limitations related to Hypertext Transfer Protocol (HTTP), HTTPS, and Transmission Control Protocol/Internet Protocol (TCP/IP) sockets and datagram, recognizing which connections are required and which are optional, as well as comparing the issues related to TCP/IP and User Datagram Protocol (UDP) datagrams.
  • Write code using the MIDP 2.0 classes in the javax.microedition.io package, including code that correctly opens, closes, and uses a network connection, using the implications of network blocking operations, scheme, connection number limitations, and character encoding.
  • Given a problem scenario, troubleshoot networking issues for MIDP 2.0.


Section 5: Application Model, Delivery, Lifecycle, and Provisioning


  • Explain the specification guarantees for: browsing for MIDlet suites, transferring MIDlet suites, using HTTP, push registries, basic authentication, installing and updating MIDlet suites, invoking MIDlet suites, and deleting MIDlet suites.
  • Identify correct and incorrect statements or examples about the MIDP application model, including: the MIDP execution environment, MIDlet suites, MIDlet suite packaging (including the manifest and the application descriptor), discovering available services on the device, discovering which version of MIDP and CLDC is on the device.
  • Develop applications that correctly reflect a MIDlet's application lifecycle, including: the purpose of the MIDlet class, communication with the application management software, platform request API, valid MIDlet states and transitions, and the behavior that should and should NOT be implemented within different lifecycle methods (including the constructor).
  • Deploy a MIDP 2.0 application with the correct use of Java Application Descriptor (JAD) files and manifests.
  • Given an installation failure, analyze the problem and develop possible resolutions.
  • Given a set of requirements, develop applications that correctly implement MIDP 2.0 support for delayed or scheduled activities using timers and background threads.


Section 6: MIDP Persistent Storage


  • Develop code that correctly implements handling, sharing, and removing RecordStores within MIDlet suites.
  • Develop code that correctly implements adding, retrieving, modifying, and deleting individual records in a RecordStore, and converting RecordStore record data to and from byte arrays, and that reflects performance implications.
  • Identify correct and incorrect statements or examples about filtering, comparing, event listening, and enumerating records in a RecordStore.


Section 7: Push Registry


  • Explain MIDP 2.0 Push Registry benefits and limitations, and describe its use in applications.
  • Develop applications that correctly use MIDP 2.0 Push Registry including discovery, dynamic compared to static, and recognizing the types of connections that can and cannot be accepted.


Section 8: MIDP User Interface (UI) API


  • Given a scenario, develop MIDP 2.0-compliant user interfaces, recognizing portability requirements and limitations (such as double-buffering not guaranteed), and performance issues (such as using inner classes and freeing memory buffers).
  • Discuss the MIDP user interface high-level API including concurrency, portability, structure of the API, and interplay with the application manager.
  • Explain the MIDP user interface low-level API including font support, repainting, and coordinate system.
  • Given a set of requirements, develop interactive MIDP 2.0 user interface code with proper event-handling (including both the high-level and low-level APIs, repainting and threading issues).
  • Identify correct and incorrect statements or examples about the classes (including the class hierarchy) within the javax.microedition.lcdui package.
  • Compare and contrast high-level and low-level APIs, including layout techniques.
  • Explain requirements, issues, class hierarchy, and relationships between items and screens.


Section 9: MIDP Game API


  • Given a scenario, develop code using the MIDP Game API package to improve performance and reduce application size.
  • Compare and contrast the use of MIDP's GameCanvas class and the MIDP low-level canvas.
  • Given a set of requirements, develop code using MIDP's LayerManager class.
  • Given a set of requirements, develop code using MIDP's Layer, Sprite, and TiledLayer classes.


Section 10: Media Using MIDP 2.0 and the MMAPI 1.1


  • Given a set of requirements, develop code using MMAPI's support for tone generation.
  • Given a set of requirements, develop code that correctly uses MIDP support for sound including audio playback, tone generation, media flow controls (start, stop), media type controls (volume, tone), and media capabilities using "Manager", "Player", and "Control" objects, recognizing the difference between required and optional features.
  • Develop code that correctly uses MMAPI support for playback and recording of media, including the use of the "DataSource", "Player", and "Manager" objects, support for audio and video capture and playback, system properties queries, recognizing the difference between required and optional features.
  • Identify correct and incorrect statements or examples about the media class hierarchies in both MIDP 2.0 and MMAPI 1.1.


Section 11: Wireless Messaging API 1.1


  • Describe the WMA's basic support for sending and receiving messages, and the Generic Connection Framework.
  • Explain the WMA's support for Short Message Service (SMS) and Cell Broadcast capabilities.
  • Identify correct and incorrect statements or examples about WMA including the WMA addressing scheme, client vs. server connections, WMA-related exceptions, WMA-related security issues, message size limitation, message creation, sending, synchronous compared to asynchronous message receipt, and the relationship between WMA and Push Registry.

SCDJWS

SCDJWS
Sun Certified Developer For Java Web Services

Description

The Sun Certified Developer for Java Web Services certification exam is for developers who have been creating web services applications using Java technology components such as those supported by the Java Web Services Developer Pack and the Java 2, Enterprise Edition 1.4 platform. Passing this exam certifies that the candidate has achieved a standard level of proficiency with web services, as well as with the Java technologies that support web services. To take the Sun Certified Developer for Java Web Services exam, you must have already achieved the status of Sun Certified Programmer for the Java 2 Platform.


Details
  • Delivered at: Authorized Worldwide Prometric Testing Centers
  • Prerequisites: Sun Certified Programmer for the Java 2 Platform (any edition)
  • Other exams/assignments required for this certification: None
  • Exam type: Multiple choice, drag and drop
  • Number of questions: 69
  • Pass score: 68% (47 items of 69 questions)
  • Time limit: 150 minutes

Languages
  • English

Exam Objectives

Section 1: XML Web Service Standards


  • 1.1 Given XML documents, schemas, and fragments determine whether their syntax and form are correct (according to W3C schema) and whether they conform to the WS-I Basic Profile 1.0a.
  • 1.2 Describe the use of XML schema in J2EE Web services.
  • 1.3 Describe the use of namespaces in an XML document.


Section 2: SOAP 1.1 Web Service Standards


  • 2.1 List and describe the encoding types used in a SOAP message.
  • 2.2 Describe how SOAP message header blocks are used and processed.
  • 2.3 Describe the function of each element contained in a SOAP message, the SOAP binding to HTTP, and how to represent faults that occur when processing a SOAP message.
  • 2.4 Create a SOAP message that contains an attachment.
  • 2.5 Describe the restrictions placed on the use of SOAP by the WS-I Basic Profile 1.0a.
  • 2.6 Describe the function of SOAP in a Web service interaction and the advantages and disadvantages of using SOAP messages.


Section 3: Describing and Publishing (WSDL and UDDI)


  • 3.1 Explain the use of WSDL in Web services, including a description of WSDL's basic elements, binding mechanisms and the basic WSDL operation types as limited by the WS-I Basic Profile 1.0a.
  • 3.2 Describe how W3C XML Schema is used as a typing mechanism in WSDL 1.1.
  • 3.3 Describe the use of UDDI data structures. Consider the requirements imposed on UDDI by the WS-I Basic Profile 1.0a.
  • 3.4 Describe the basic functions provided by the UDDI Publish and Inquiry APIs to interact with a UDDI business registry.


Section 4: JAX-RPC


  • 4.1 Explain the service description model, client connection types, interaction modes, transport mechanisms/protocols, and endpoint types as they relate to JAX-RPC.
  • 4.2 Given a set of requirements for a Web service, such as transactional needs, and security requirements, design and develop Web service applications that use servlet-based endpoints and EJB based endpoints.
  • 4.3 Given an set of requirements, design and develop a Web sevice client, such as a J2EE client and a stand-alone Java client, using the appropriate JAX-RPC client connection style.
  • 4.4 Given a set of requirements, develop and configure a Web service client that accesses a stateful Web service.
  • 4.5 Explain the advantages and disadvantages of a WSDL to Java vs. a Java to WSDL development approach.
  • 4.6 Describe the advantages and disadvantages of web service applications that use either synchronous/request response, one-way RPC, or non-blocking RPC invocation modes.
  • 4.7 Use the JAX-RPC Handler API to create a SOAP message handler, describe the function of a handler chain, and describe the role of SAAJ when creating a message handler.


Section 5: SOAP and XML Processing APIs (JAXP, JAXB, and SAAJ)


  • 5.1 Describe the functions and capabilities of the APIs included within JAXP.
  • 5.2 Given a scenario, select the proper mechanism for parsing and processing the information in an XML document.
  • 5.3 Describe the functions and capabilities of JAXB, including the JAXB process flow, such as XML-to-Java and Java-to-XML, and the binding and validation mechanisms provided by JAXB.
  • 5.4 Use the SAAJ APIs to create and manipulate a SOAP message.


Section 6: JAXR


  • 6.1 Describe the function of JAXR in Web service architectural model, the two basic levels of business registry functionality supported by JAXR, and the function of the basic JAXR business objects and how they map to the UDDI data structures.
  • 6.2 Use JAXR to connect to a UDDI business registry, execute queries to locate services that meet specific requirements, and publish or update information about a business service.


Section 7: J2EE Web Services


  • 7.1 Identify the characteristics of and the services and APIs included in the J2EE platform.
  • 7.2 Explain the benefits of using the J2EE platform for creating and deploying Web service applications.
  • 7.3 Describe the functions and capabilities of the JAXP, DOM, SAX, JAXR, JAX-RPC, and SAAJ in the J2EE platform.
  • 7.4 Describe the role of the WS-I Basic Profile when designing J2EE Web services.


Section 8: Security


  • 8.1 Explain basic security mechanisms including: transport level security, such as basic and mutual authentication and SSL, message level security, XML encryption, XML Digital Signature, and federated identity and trust.
  • 8.2 Identify the purpose and benefits of Web services security oriented initiatives and standards such as Username Token Profile, SAML, XACML, XKMS, WS-Security, and the Liberty Project.
  • 8.3 Given a scenario, implement J2EE based web service web-tier and/or EJB-tier basic security mechanisms, such as mutual authentication, SSL, and access control.
  • 8.4 Describe factors that impact the security requirements of a Web service, such as the relationship between the client and service provider, the type of data being exchanged, the message format, and the transport mechanism.


Section 9: Developing Web Services


  • 9.1 Describe the steps required to configure, package, and deploy J2EE Web services and service clients, including a description of the packaging formats, such as .ear, .war, .jar, deployment descriptor settings, the associated Web services description file, RPC mapping files, and service reference elements used for EJB and servlet endpoints.
  • 9.2 Given a set of requirements, develop code to process XML files using the SAX, DOM, XSLT, and JAXB APIs.
  • 9.3 Given an XML schema for a document style Web service create a WSDL file that describes the service and generate a service implementation.
  • 9.4 Given a set of requirements, develop code to create an XML-based, document style, Web service using the JAX-RPC APIs.
  • 9.5 Implement a SOAP logging mechanism for testing and debugging a Web service application using J2EE Web Service APIs.
  • 9.6 Given a set of requirements, develop code to handle system and service exceptions and faults received by a Web services client.


Section 10: General Design and Architecture


  • 10.1 Describe the characteristics of a service oriented architecture and how Web services fits to this model.
  • 10.2Given a scenario, design a J2EE service using the business delegate, service locator, and/or proxy client-side design patterns and the adapter, command, Web service broker, and/or faade server-side patterns.
  • 10.3 Describe alternatives for dealing with issues that impact the quality of service provided by a Web service and methods to improve the system reliability, maintainability, security, and performance of a service.
  • 10.4 Describe how to handle the various types of return values, faults, errors, and exceptions that can occur during a Web service interaction.
  • 10.5 Describe the role that Web services play when integrating data, application functions, or business processes in a J2EE application.
  • 10.6 Describe how to design a stateless Web service that exposes the functionality of a stateful business process.


Section 11: Endpoint Design and Architecture


  • 11.1 Given a scenario, design Web service applications using information models that are either procedure-style or document-style.
  • 11.2 Describe the function of the service interaction and processing layers in a Web service.
  • 11.3 Describe the tasks performed by each phase of an XML-based, document oriented, Web service application, including the consumption, business processing, and production phases.
  • 11.4 Design a Web service for an asynchronous, document-style process and describe how to refactor a Web service from a synchronous to an asynchronous model.
  • 11.5 Describe how the characteristics, such as resource utilization, conversational capabilities, and operational modes, of the various types of Web service clients impact the design of a Web service or determine the type of client that might interact with a particular service.

SCBCD

SCBCD
Sun Certified Business Component Developer

Description

This Sun Certified Business Component Developer for the Java Platform, Enterprise Edition 5 certification is for advanced programmer and developers with extensive job-role experience in designing, developing, testing, deploying, and integrating Enterprise JavaBeans EJB Edition 3.0. The exam includes multiple-choice, scenario-based questions and drag-and-drop questions and requires extensive knowledge of EJB Edition 3.0.

Details
  • Delivered at: Authorized Worldwide Prometric Testing Centers
  • Prerequisites: Sun Certified Programmer for the Java 2 Platform (any edition)
  • Exam type: Multiple-Choice, Scenario-based questions and Drag-and-Drop questions
  • Number of questions: 61
  • Pass score: 59% (36 of 61 questions)
  • Time limit: 145 minutes

Languages
  • English

Exam Objectives

EJB 3.0 Overview


  • Identify the uses, benefits, and characteristics of Enterprise JavaBeans technology, for version 3.0 of the EJB specification.
  • Identify the APIs that all EJB 3.0 containers must make available to developers.
  • Identify correct and incorrect statements or examples about EJB programming restrictions.
  • Match the seven EJB roles with the corresponding description of the role's responsibilities.
  • Describe the packaging and deployment requirements for enterprise beans.
  • Describe the purposes and uses of annotations and deployment descriptors, including how the two mechanisms interact, how overriding is handled, and how these mechanisms function at the class, method, and field levels.


General EJB 3.0 Enterprise Bean Knowledge


  • Identify correct and incorrect statements or examples about the lifecycle of all 3.0 Enterprise Bean instances, including the use of the @PostConstruct and @PreDestroy callback methods.
  • Identify correct and incorrect statements or examples about interceptors, including implementing an interceptor class, the lifecycle of interceptor instances, @AroundInvoke methods, invocation order, exception handling, lifecycle callback methods, default and method level interceptors, and specifying interceptors in the deployment descriptor.
  • Identify correct and incorrect statements or examples about how enterprise beans declare dependencies on external resources using JNDI or dependency injection, including the general rules for using JNDI, annotations and/or deployment descriptors, EJB references, connection factories, resource environment entries, and persistence context and persistence unit references.
  • Identify correct and incorrect statements or examples about Timer Services, including the bean provider's view and responsibilities, the TimerService, Timer and TimerHandle interfaces, and @Timeout callback methods.
  • Identify correct and incorrect statements or examples about the EJB context objects that the container provides to 3.0 Session beans and 3.0 Message-Driven beans, including the security, transaction, timer, and lookup services the context can provide.
  • Identify correct and incorrect statements or examples about EJB 3.0 / EJB 2.x interoperability, including how to adapt an EJB 3.0 bean for use with clients written to the EJB 2.x API and how to access beans written to the EJB 2.x API from beans written to the EJB 3.0 API.


EJB 3.0 Session Bean Component Contract & Lifecycle


  • Identify correct and incorrect statements or examples that compare the purpose and use of Stateful and Stateless Session Beans.
  • Identify correct and incorrect statements or examples about remote and local business interfaces for Session Beans.
  • Write code for the bean classes of Stateful and Stateless Session Beans.
  • Identify correct and incorrect statements or examples about the lifecycle of a Stateful Session Bean including the @PrePassivate and @PostActivate lifecycle callback methods and @Remove methods.
  • Given a list of methods of 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, access to the java:comp/env environment naming context, resource manager access, and other enterprise bean access.
  • Identify correct and incorrect statements or examples about implementing a session bean as a web service endpoint, including rules for writing a web service endpoint interface and use of the @WebService and @WebMethod annotations.
  • Identify correct and incorrect statements or examples about the client view of a session bean, including the client view of a session object's life cycle, obtaining and using a session object, and session object identity.


EJB 3.0 Message-Driven Bean Component Contract


  • Develop code that implements a Message-Driven Bean Class.
  • Identify correct and incorrect statements or examples about the interface(s) and methods a JMS Message-Driven bean must implement, and the required metadata.
  • Describe the use and behavior of a JMS message driven bean, including concurrency of message processing, message redelivery, and message acknowledgement.
  • Identify correct and incorrect statements or examples about the client view of a message driven bean.


Java Persistence API Entities


  • Identify correct and incorrect statements or examples about the characteristics of Java Persistence entities.
  • Develop code to create valid entity classes, including the use of fields and properties, admissible types, and embeddable classes.
  • Identify correct and incorrect statements or examples about primary keys and entity identity, including the use of compound primary keys.
  • Implement association relationships using persistence entities, including the following associations: bidirectional for @OneToOne, @ManyToOne, @OneToMany, and @ManyToMany; unidirectional for @OneToOne, @ManyToOne, @OneToMany, and @ManyToMany.
  • Given a set of requirements and entity classes choose and implement an appropriate object-relational mapping for association relationships.
  • Given a set of requirements and entity classes, choose and implement an appropriate inheritance hierarchy strategy and/or an appropriate mapping strategy.
  • Describe the use of annotations and XML mapping files, individually and in combination, for object-relational mapping.


Java Persistence Entity Operations


  • Describe how to manage entities, including using the EntityManager API and the cascade option.
  • Identify correct and incorrect statements or examples about entity instance lifecycle, including the new, managed, detached, and removed states.
  • Identify correct and incorrect statements or examples about EntityManager operations for managing an instance's state, including eager/lazy fetching, handling detached entities, and merging detached entities.
  • Identify correct and incorrect statements or examples about Entity Listeners and Callback Methods, including: @PrePersist, @PostPersist, @PreRemove, @PostRemove, @PreUpdate, @PostUpdate, and @PostLoad, and when they are invoked.
  • Identify correct and incorrect statements about concurrency, including how it is managed through the use of @Version attributes and optimistic locking.


Persistence Units and Persistence Contexts


  • Identify correct and incorrect statements or examples about JTA and resource-local entity managers.
  • Identify correct and incorrect statements or examples about container-managed persistence contexts.
  • Identify correct and incorrect statements or examples about application-managed persistence contexts.
  • Identify correct and incorrect statements or examples about transaction management for persistence contexts, including persistence context propagation, the use of the EntityManager.joinTransaction() method, and the EntityTransaction API.
  • Identify correct and incorrect statements or examples about persistence units, how persistence units are packaged, and the use of the persistence.xml file.
  • Identify correct and incorrect statements or examples about the effect of persistence exceptions on transactions and persistence contexts.


Java Persistence Query Language


  • Develop queries that use the SELECT clause to determine query results, including the use of entity types, use of aggregates, and returning multiple values.
  • Develop queries that use Java Persistence Query Language syntax for defining the domain of a query using JOIN clauses, IN, and prefetching.
  • Use the WHERE clause to restrict query results using conditional expressions, including the use of literals, path expressions, named and positional parameters, logical operators, the following expressions (and their NOT options): BETWEEN, IN, LIKE, NULL, EMPTY, MEMBER [OF], EXISTS, ALL, ANY, SOME, and functional expressions.
  • Develop Java Persistence Query Language statements that update a set of entities using UPDATE/SET and DELETE FROM.
  • Declare and use named queries, dynamic queries, and SQL (native) queries.
  • Obtain javax.persistence.Query objects and use the javax.persistence.Query API.


Transactions


  • Identify correct and incorrect statements or examples about bean-managed transaction demarcation.
  • Identify correct and incorrect statements or examples about container-managed transaction demarcation, and given a list of transaction behaviors, match them with the appropriate transaction attribute.
  • Identify correct and incorrect statements or examples about transaction propagation semantics.
  • Identify correct and incorrect statements or examples about specifying transaction information via annotations and/or deployment descriptors.
  • Identify correct and incorrect statements or examples about the use of the EJB API for transaction management, including getRollbackOnly, setRollbackOnly and the SessionSynchronization interfaces.


Exceptions


  • Identify correct and incorrect statements or examples about exception handling in EJB.
  • Identify correct and incorrect statements or examples about application exceptions and system exceptions in session beans and message-driven beans, and defining a runtime exception as an application exception.
  • Given a list of responsibilities related to exceptions, identify those which are the bean provider's, and those which are the responsibility of the container provider. Be prepared to recognize responsibilities for which neither the bean nor container provider is responsible.
  • Identify correct and incorrect statements or examples about the client's view of exceptions received from an enterprise bean invocation.
  • 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.


Security Management


  • Match security behaviors to declarative security specifications (default behavior, security roles, security role references, and method permissions).
  • From a list of responsibilities, identify which roles are responsible for which aspects of security: application assembler, bean provider, deployer, container provider, system administrator, or server provider.
  • Identify correct and incorrect statements or examples about use of the isCallerInRole and getCallerPrincipal EJB programmatic security APIs.
  • Given a security-related deployment descriptor tag or annotation, identify correct and incorrect statements and/or code related to that tag.

SCWCD

SCWCD
Sun Certified Web Component Developer

Description

The Sun Certified Web Component Developer for J2EE Platform certification exam is for Sun Certified Programmers (any edition) who are using the Java technology servlet and JavaServer Pages (JSP) application program interface (APIs) to develop Web applications. Prior to beginning the Sun Certified Web Component Developer program, you must be a Sun Certified Programmer for the Java platform (any edition).


Details
  • Delivered at: Authorized Worldwide Prometric Testing Centers
  • Prerequisites: Sun Certified Programmer for the Java 2 Platform (any edition)
  • Exam type: Multiple Choice and Drag and Drop
  • Number of questions: 69
  • Pass score: 62% (44 of 69 questions)
  • Time limit: 135 minutes
As part of our exam refresh process, Sun occasionally tests new questions on the live exam forms. These questions are tested to understand their statistical properties and will not be counted as part of your final score. There are 10 unscored questions in this exam. Forty extra minutes have been added to your exam duration to allow you ample time to answer all questions.

Languages
  • English
  • Chinese (Traditional)
  • Chinese (Simplified)
  • Japanese
  • Korean

Exam Objectives

Section 1: The Servlet Technology Model


  • For each of the HTTP Methods (such as GET, POST, HEAD, and so on) describe the purpose of the method and the technical characteristics of the HTTP Method protocol, list triggers that might cause a Client (usually a Web browser) to use the method; and identify the HttpServlet method that corresponds to the HTTP Method.
  • Using the HttpServletRequest interface, write code to retrieve HTML form parameters from the request, retrieve HTTP request header information, or retrieve cookies from the request.
  • Using the HttpServletResponse interface, write code to set an HTTP response header, set the content type of the response, acquire a text stream for the response, acquire a binary stream for the response, redirect an HTTP request to another URL, or add cookies to the response.
  • Describe the purpose and event sequence of the servlet life cycle: (1) servlet class loading, (2) servlet instantiation, (3) call the init method, (4) call the service method, and (5) call destroy method.


Section 2: The Structure and Deployment of Web Applications


  • Construct the file and directory structure of a Web Application that may contain (a) static content, (b) JSP pages, (c) servlet classes, (d) the deployment descriptor, (e) tag libraries, (d) JAR files, and (e) Java class files; and describe how to protect resource files from HTTP access.
  • Describe the purpose and semantics of the deployment descriptor.
  • Construct the correct structure of the deployment descriptor.
  • Explain the purpose of a WAR file and describe the contents of a WAR file, how one may be constructed.


Section 3: The Web Container Model


  • For the ServletContext initialization parameters: write servlet code to access initialization parameters; and create the deployment descriptor elements for declaring initialization parameters.
  • For the fundamental servlet attribute scopes (request, session, and context): write servlet code to add, retrieve, and remove attributes; given a usage scenario, identify the proper scope for an attribute; and identify multi-threading issues associated with each scope.
  • Describe the Web container request processing model; write and configure a filter; create a request or response wrapper; and given a design problem, describe how to apply a filter or a wrapper.
  • Describe the Web container life cycle event model for requests, sessions, and web applications;create and configure listener classes for each scope life cycle; create and configure scope attribute listener classes; and given a scenario, identify the proper attribute listener to use.
  • Describe the RequestDispatcher mechanism; write servlet code to create a request dispatcher; write servlet code to forward or include the target resource; and identify and describe the additional request-scoped attributes provided by the container to the target resource.


Section 4: Session Management


  • Write servlet code to store objects into a session object and retrieve objects from a session object.
  • Given a scenario describe the APIs used to access the session object, explain when the session object was created, and describe the mechanisms used to destroy the session object, and when it was destroyed.
  • Using session listeners, write code to respond to an event when an object is added to a session, and write code to respond to an event when a session object migrates from one VM to another.
  • Given a scenario, describe which session management mechanism the Web container could employ, how cookies might be used to manage sessions, how URL rewriting might be used to manage sessions, and write servlet code to perform URL rewriting.


Section 5: Web Application Security


  • Based on the servlet specification, compare and contrast the following security mechanisms: (a) authentication, (b) authorization, (c) data integrity, and (d) confidentiality.
  • In the deployment descriptor, declare a security constraint, a Web resource, the transport guarantee, the login configuration, and a security role.
  • Compare and contrast the authentication types (BASIC, DIGEST, FORM, and CLIENT-CERT); describe how the type works; and given a scenario, select an appropriate type.


Section 6: The JavaServer Pages (JSP) Technology Model


  • Identify, describe, or write the JSP code for the following elements: (a) template text, (b) scripting elements (comments, directives, declarations, scriptlets, and expressions), (c) standard and custom actions, and (d) expression language elements.
  • Write JSP code that uses the directives: (a) 'page' (with attributes 'import', 'session', 'contentType', and 'isELIgnored'), (b) 'include', and (c) 'taglib'.
  • Write a JSP Document (XML-based document) that uses the correct syntax.
  • Describe the purpose and event sequence of the JSP page life cycle: (1) JSP page translation, (2) JSP page compilation, (3) load class, (4) create instance, (5) call the jspInit method, (6) call the _jspService method, and (7) call the jspDestroy method.
  • Given a design goal, write JSP code using the appropriate implicit objects: (a) request, (b) response, (c) out, (d) session, (e) config, (f) application, (g) page, (h) pageContext, and (i) exception.
  • Configure the deployment descriptor to declare one or more tag libraries, deactivate the evaluation language, and deactivate the scripting language. 6.7Given a specific design goal for including a JSP segment in another page, write the JSP code that uses the most appropriate inclusion mechanism (the include directive or the jsp:include standard action).


Section 7: Building JSP Pages Using the Expression Language (EL)


  • Given a scenario, write EL code that accesses the following implicit variables including pageScope, requestScope, sessionScope, and applicationScope, param and paramValues, header and headerValues, cookie, initParam and pageContext.
  • Given a scenario, write EL code that uses the following operators: property access (the . operator), collection access (the [] operator).
  • Given a scenario, write EL code that uses the following operators: aritmetic operators, relational operators, and logical operators.
  • Given a scenario, write EL code that uses a function; write code for an EL function; and configure the EL function in a tag library descriptor.


Section 8: Building JSP Pages Using Standard Actions


  • Given a design goal, create a code snippet using the following standard actions: jsp:useBean (with attributes: 'id', 'scope', 'type', and 'class'), jsp:getProperty, jsp:setProperty (with all attribute combinations), and jsp:attribute.
  • Given a design goal, create a code snippet using the following standard actions: jsp:include, jsp:forward, and jsp:param.


Section 9: Building JSP Pages Using Tag Libraries


  • For a custom tag library or a library of Tag Files, create the 'taglib' directive for a JSP page.
  • Given a design goal, create the custom tag structure in a JSP page to support that goal.
  • Given a design goal, use an appropriate JSP Standard Tag Library (JSTL v1.1) tag from the "core" tag library.


Section 10: Building a Custom Tag Library


  • Describe the semantics of the "Classic" custom tag event model when each event method (doStartTag, doAfterBody, and doEndTag) is executed, and explain what the return value for each event method means; and write a tag handler class.
  • Using the PageContext API, write tag handler code to access the JSP implicit variables and access web application attributes.
  • Given a scenario, write tag handler code to access the parent tag and an arbitrary tag ancestor.
  • Describe the semantics of the "Simple" custom tag event model when the event method (doTag) is executed; write a tag handler class; and explain the constraints on the JSP content within the tag.
  • Describe the semantics of the Tag File model; describe the web application structure for tag files; write a tag file; and explain the constraints on the JSP content in the body of the tag.


Section 11: J2EE Patterns


  • Given a scenario description with a list of issues, select a pattern that would solve the issues. The list of patterns you must know are: Intercepting Filter, Model-View-Controller, Front Controller, Service Locator, Business Delegate, and Transfer Object.
  • Match design patterns with statements describing potential benefits that accrue from the use of the pattern, for any of the following patterns: Intercepting Filter, Model-View-Controller, Front Controller, Service Locator, Business Delegate, and Transfer Object.

SCWCD

SCWCD
Sun Certified Web Component Developer

Description

The Sun Certified Web Component Developer for J2EE Platform certification exam is for Sun Certified Programmers (any edition) who are using the Java technology servlet and JavaServer Pages (JSP) application program interface (APIs) to develop Web applications. Prior to beginning the Sun Certified Web Component Developer program, you must be a Sun Certified Programmer for the Java platform (any edition).


Details
  • Delivered at: Authorized Worldwide Prometric Testing Centers
  • Prerequisites: Sun Certified Programmer for the Java 2 Platform (any edition)
  • Exam type: Multiple Choice and Drag and Drop
  • Number of questions: 69
  • Pass score: 62% (44 of 69 questions)
  • Time limit: 135 minutes
As part of our exam refresh process, Sun occasionally tests new questions on the live exam forms. These questions are tested to understand their statistical properties and will not be counted as part of your final score. There are 10 unscored questions in this exam. Forty extra minutes have been added to your exam duration to allow you ample time to answer all questions.

Languages
  • English
  • Chinese (Traditional)
  • Chinese (Simplified)
  • Japanese
  • Korean

Exam Objectives

Section 1: The Servlet Technology Model


  • For each of the HTTP Methods (such as GET, POST, HEAD, and so on) describe the purpose of the method and the technical characteristics of the HTTP Method protocol, list triggers that might cause a Client (usually a Web browser) to use the method; and identify the HttpServlet method that corresponds to the HTTP Method.
  • Using the HttpServletRequest interface, write code to retrieve HTML form parameters from the request, retrieve HTTP request header information, or retrieve cookies from the request.
  • Using the HttpServletResponse interface, write code to set an HTTP response header, set the content type of the response, acquire a text stream for the response, acquire a binary stream for the response, redirect an HTTP request to another URL, or add cookies to the response.
  • Describe the purpose and event sequence of the servlet life cycle: (1) servlet class loading, (2) servlet instantiation, (3) call the init method, (4) call the service method, and (5) call destroy method.


Section 2: The Structure and Deployment of Web Applications


  • Construct the file and directory structure of a Web Application that may contain (a) static content, (b) JSP pages, (c) servlet classes, (d) the deployment descriptor, (e) tag libraries, (d) JAR files, and (e) Java class files; and describe how to protect resource files from HTTP access.
  • Describe the purpose and semantics of the deployment descriptor.
  • Construct the correct structure of the deployment descriptor.
  • Explain the purpose of a WAR file and describe the contents of a WAR file, how one may be constructed.


Section 3: The Web Container Model


  • For the ServletContext initialization parameters: write servlet code to access initialization parameters; and create the deployment descriptor elements for declaring initialization parameters.
  • For the fundamental servlet attribute scopes (request, session, and context): write servlet code to add, retrieve, and remove attributes; given a usage scenario, identify the proper scope for an attribute; and identify multi-threading issues associated with each scope.
  • Describe the Web container request processing model; write and configure a filter; create a request or response wrapper; and given a design problem, describe how to apply a filter or a wrapper.
  • Describe the Web container life cycle event model for requests, sessions, and web applications;create and configure listener classes for each scope life cycle; create and configure scope attribute listener classes; and given a scenario, identify the proper attribute listener to use.
  • Describe the RequestDispatcher mechanism; write servlet code to create a request dispatcher; write servlet code to forward or include the target resource; and identify and describe the additional request-scoped attributes provided by the container to the target resource.


Section 4: Session Management


  • Write servlet code to store objects into a session object and retrieve objects from a session object.
  • Given a scenario describe the APIs used to access the session object, explain when the session object was created, and describe the mechanisms used to destroy the session object, and when it was destroyed.
  • Using session listeners, write code to respond to an event when an object is added to a session, and write code to respond to an event when a session object migrates from one VM to another.
  • Given a scenario, describe which session management mechanism the Web container could employ, how cookies might be used to manage sessions, how URL rewriting might be used to manage sessions, and write servlet code to perform URL rewriting.


Section 5: Web Application Security


  • Based on the servlet specification, compare and contrast the following security mechanisms: (a) authentication, (b) authorization, (c) data integrity, and (d) confidentiality.
  • In the deployment descriptor, declare a security constraint, a Web resource, the transport guarantee, the login configuration, and a security role.
  • Compare and contrast the authentication types (BASIC, DIGEST, FORM, and CLIENT-CERT); describe how the type works; and given a scenario, select an appropriate type.


Section 6: The JavaServer Pages (JSP) Technology Model


  • Identify, describe, or write the JSP code for the following elements: (a) template text, (b) scripting elements (comments, directives, declarations, scriptlets, and expressions), (c) standard and custom actions, and (d) expression language elements.
  • Write JSP code that uses the directives: (a) 'page' (with attributes 'import', 'session', 'contentType', and 'isELIgnored'), (b) 'include', and (c) 'taglib'.
  • Write a JSP Document (XML-based document) that uses the correct syntax.
  • Describe the purpose and event sequence of the JSP page life cycle: (1) JSP page translation, (2) JSP page compilation, (3) load class, (4) create instance, (5) call the jspInit method, (6) call the _jspService method, and (7) call the jspDestroy method.
  • Given a design goal, write JSP code using the appropriate implicit objects: (a) request, (b) response, (c) out, (d) session, (e) config, (f) application, (g) page, (h) pageContext, and (i) exception.
  • Configure the deployment descriptor to declare one or more tag libraries, deactivate the evaluation language, and deactivate the scripting language. 6.7Given a specific design goal for including a JSP segment in another page, write the JSP code that uses the most appropriate inclusion mechanism (the include directive or the jsp:include standard action).


Section 7: Building JSP Pages Using the Expression Language (EL)


  • Given a scenario, write EL code that accesses the following implicit variables including pageScope, requestScope, sessionScope, and applicationScope, param and paramValues, header and headerValues, cookie, initParam and pageContext.
  • Given a scenario, write EL code that uses the following operators: property access (the . operator), collection access (the [] operator).
  • Given a scenario, write EL code that uses the following operators: aritmetic operators, relational operators, and logical operators.
  • Given a scenario, write EL code that uses a function; write code for an EL function; and configure the EL function in a tag library descriptor.


Section 8: Building JSP Pages Using Standard Actions


  • Given a design goal, create a code snippet using the following standard actions: jsp:useBean (with attributes: 'id', 'scope', 'type', and 'class'), jsp:getProperty, jsp:setProperty (with all attribute combinations), and jsp:attribute.
  • Given a design goal, create a code snippet using the following standard actions: jsp:include, jsp:forward, and jsp:param.


Section 9: Building JSP Pages Using Tag Libraries


  • For a custom tag library or a library of Tag Files, create the 'taglib' directive for a JSP page.
  • Given a design goal, create the custom tag structure in a JSP page to support that goal.
  • Given a design goal, use an appropriate JSP Standard Tag Library (JSTL v1.1) tag from the "core" tag library.


Section 10: Building a Custom Tag Library


  • Describe the semantics of the "Classic" custom tag event model when each event method (doStartTag, doAfterBody, and doEndTag) is executed, and explain what the return value for each event method means; and write a tag handler class.
  • Using the PageContext API, write tag handler code to access the JSP implicit variables and access web application attributes.
  • Given a scenario, write tag handler code to access the parent tag and an arbitrary tag ancestor.
  • Describe the semantics of the "Simple" custom tag event model when the event method (doTag) is executed; write a tag handler class; and explain the constraints on the JSP content within the tag.
  • Describe the semantics of the Tag File model; describe the web application structure for tag files; write a tag file; and explain the constraints on the JSP content in the body of the tag.


Section 11: J2EE Patterns


  • Given a scenario description with a list of issues, select a pattern that would solve the issues. The list of patterns you must know are: Intercepting Filter, Model-View-Controller, Front Controller, Service Locator, Business Delegate, and Transfer Object.
  • Match design patterns with statements describing potential benefits that accrue from the use of the pattern, for any of the following patterns: Intercepting Filter, Model-View-Controller, Front Controller, Service Locator, Business Delegate, and Transfer Object.