The Java EE 5 Tutorial

Part VIII Appendixes

Part Eight contains appendixes.

Appendix A Java Encoding Schemes

This appendix describes the character-encoding schemes that are supported by the Java platform.

US-ASCII

US-ASCII is a 7-bit character set and encoding that covers the English-language alphabet. It is not large enough to cover the characters used in other languages, however, so it is not very useful for internationalization.

ISO-8859-1

ISO-8859-1 is the character set for Western European languages. It’s an 8-bit encoding scheme in which every encoded character takes exactly 8 bits. (With the remaining character sets, on the other hand, some codes are reserved to signal the start of a multibyte character.)

UTF-8

UTF-8 is an 8-bit encoding scheme. Characters from the English-language alphabet are all encoded using an 8-bit byte. Characters for other languages are encoded using 2, 3, or even 4 bytes. UTF-8 therefore produces compact documents for the English language, but for other languages, documents tend to be half again as large as they would be if they used UTF-16. If the majority of a document’s text is in a Western European language, then UTF-8 is generally a good choice because it allows for internationalization while still minimizing the space required for encoding.

UTF-16

UTF-16 is a 16-bit encoding scheme. It is large enough to encode all the characters from all the alphabets in the world. It uses 16 bits for most characters but includes 32-bit characters for ideogram-based languages such as Chinese. A Western European-language document that uses UTF-16 will be twice as large as the same document encoded using UTF-8. But documents written in far Eastern languages will be far smaller using UTF-16.


Note –

UTF-16 depends on the system’s byte-ordering conventions. Although in most systems, high-order bytes follow low-order bytes in a 16-bit or 32-bit “word,” some systems use the reverse order. UTF-16 documents cannot be interchanged between such systems without a conversion.


Further Information about Character Encoding

The character set and encoding names recognized by Internet authorities are listed in the IANA character set registry at http://www.iana.org/assignments/character-sets.

The Java programming language represents characters internally using the Unicode character set, which provides support for most languages. For storage and transmission over networks, however, many other character encodings are used. The Java 2 platform therefore also supports character conversion to and from other character encodings. Any Java runtime must support the Unicode transformations UTF-8, UTF-16BE, and UTF-16LE as well as the ISO-8859-1 character encoding, but most implementations support many more. For a complete list of the encodings that can be supported by the Java 2 platform, see http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html.

Appendix B Preparation for Java EE Certification Exams

Sun Microsystems provides certification examinations for Solaris administrators and different types of Java programmers. Sun also offers a learning path, consisting of training classes and practice exams, for each type of certification.

The Java EE learning path focuses on providing Java EE training for architects and for Web component, business component, and integration developers. Java EE training can lead to one of three certifications: Sun Certified Web Component Developer (SCWCD), Sun Certified Business Component Developer (SCBCD), or Sun Certified Enterprise Architect (SCEA).

You can use the Java EE Tutorial as preparation for the certification exams. This appendix provides details about how the sections of the exams map to chapters of the tutorial. Exam objectives change over time, and potential certification candidates should check http://www.sun.com/training/certification/ for the most up-to-date list of certification exam objectives.


Note –

This tutorial is not intended as a primer for the certification exams: it does not cover every subject to the depth that will be on the exam. The links below are presented so that you can use this tutorial as one of many sources for exam preparation.


This appendix provides information relating to the following certification exam: CX-310-083: Sun Certified Web Component Developer.

This appendix also provides information relating to the following course: SL-351–EE5: Business Component Development with Enterprise JavaBeansTM Technology.

CX-310-083: Sun Certified Web Component Developer

The certification exam, CX-310-083: Sun Certified Web Component Developer, is for Sun Certified Programmers (any edition) who are using the Java Servlet technology and JavaServer Pages (JSP) application program interface (APIs) to develop Web applications.

Table B–1 Mapping from CX-310-083 Sections to Tutorial Chapters

Course Section 

Tutorial Chapters 

Section 1: The Servlet Technology Model 

Chapter 4, Java Servlet Technology

Section 2: The Structure and Deployment of Web Applications 

Chapter 3, Getting Started with Web Applications

Section 3: The Web Container Model 

Chapter 3, Getting Started with Web Applications

Chapter 4, Java Servlet Technology

Section 4: Session Management 

Chapter 3, Getting Started with Web Applications

Chapter 4, Java Servlet Technology

Chapter 5, JavaServer Pages Technology

Section 5: Web Application Security 

Chapter 30, Securing Web Applications

Section 6: The JavaServer Pages (JSP) Technology Model 

Chapter 5, JavaServer Pages Technology

Section 8: Building JSP Pages Using Standard Actions 

Chapter 5, JavaServer Pages Technology

Section 9: Building JSP Pages Using Tag Libraries 

Chapter 7, JavaServer Pages Standard Tag Library

Section 10: Building a Custom Tag Library 

Chapter 8, Custom Tags in JSP Pages

SL-351–EE5: Business Component Development with Enterprise JavaBeansTM Technology

The course SL-351: Business Component Development with Enterprise JavaBeans Technology provides students with advanced concepts and skills in designing, developing, and deploying EJB applications for the business tier.

Table B–2 Mapping from SL-351 Modules to Tutorial Chapters

Course Module 

Tutorial Chapters 

Module 1: Examine EJB Applications 

Chapter 20, Enterprise Beans

Chapter 21, Getting Started with Enterprise Beans

Module 3: Examine session beans 

Chapter 21, Getting Started with Enterprise Beans

Chapter 22, Session Bean Examples

Module 4: Examine Java Persistence API 

Chapter 24, Introduction to the Java Persistence API

Chapter 26, Persistence in the EJB Tier

Module 5: Model data association relationships using persistence entities 

Chapter 24, Introduction to the Java Persistence API

Chapter 26, Persistence in the EJB Tier

Module 6: Model inheritance and composition relationships using persistence entities 

Chapter 24, Introduction to the Java Persistence API

Chapter 26, Persistence in the EJB Tier

Module 7: Examine the Java Persistence query language 

Chapter 24, Introduction to the Java Persistence API

Chapter 27, The Java Persistence Query Language

Module 8: Examine Java Messaging API 

Chapter 31, The Java Message Service API

Chapter 32, Java EE Examples Using the JMS API

Module 9: Examine message-driven beans 

Chapter 20, Enterprise Beans

Chapter 23, A Message-Driven Bean Example

Module 11: Examine EJB transactions 

Chapter 20, Enterprise Beans

Chapter 33, Transactions

Module 12: Examine exception handling in an EJB application 

Chapter 20, Enterprise Beans

Module 13: Use timer services 

Chapter 22, Session Bean Examples

Module 14: Examine Java EE security 

Chapter 28, Introduction to Security in the Java EE Platform

Chapter 29, Securing Java EE Applications

Appendix C About the Authors

Java Architecture for XML Binding

Eric Jendrock is a staff writer at Sun Microsystems, where he leads the Java EE Tutorial and the Java WSIT Tutorial. Previously, he documented middleware products and standards. Currently, he writes about the Java Web Services Interoperability Technologies, the Java Architecture for XML Binding (JAXB), and security in the Java EE platform.

JavaServer Faces Technology, Web-Tier Technologies

Jennifer Ball is a staff writer at Sun Microsystems, where she documents JavaServer Faces technology. Previously she documented the Java2D API, deploytool, and JAXB. She holds an M.A. degree in Interdisciplinary Computer Science from Mills College.

Security

Debbie Carson is a staff writer at Sun Microsystems, where she documents the Java EE, Java SE, and Java Web Services Interoperability Technologies platforms. In previous positions she documented creating database applications using C++ and Java technologies and creating distributed applications using Java technology.

Java API for XML Web Services, Enterprise JavaBeans Technology, Java Persistence API

Ian Evans is a staff writer at Sun Microsystems, where he documents the Java EE and Java Web Services platforms and edits the Java EE platform specifications. In previous positions he documented programming tools, CORBA middleware, and Java application servers, and taught classes on UNIX, web programming, and server-side Java development.

Streaming API for XML, Java Architecture for XML Binding

Scott Fordin is a senior staff writer, illustrator, and online help specialist in the Java and XML Technology groups at Sun Microsystems. He has written numerous articles on Java, XML, and web service technologies. Scott has also written many developer guides, administrator guides, user guides (including the JAXB User’s Guide), specifications, white papers, and tutorials for a wide range of products. Some of his most recent work includes writing about the StAX APIs, Application Server troubleshooting, and Application Server error messages.

SOAP with Attachments API for Java, Java Message Service API

Kim Haase is a staff writer at Sun Microsystems, where she documents the Java EE platform and Java Web Services. In previous positions she documented compilers, debuggers, and floating-point programming. She currently writes about the Java Message Service, the Java API for XML Registries, SOAP with Attachments API for Java, the Java DB database, and Service Registry.