This course provides a coherent, high-level explanation of the Java Platform, Enterprise Edition (Java EE): what sorts of software are created with Java EE; how software is developed for this platform; how it is deployed and put into production; how it can be administered. The course is designed specifically for non-programmers -- analysts, managers, technical writers, and anyone who desires a good conceptual understanding of Java EE while not needing to drill down into the details of particular APIs or runtime specifications. Developers may also find this course quite useful as a starting point for one or more of our courses in specific Java EE technology -- it gives a great sense of the big picture before one dives into the details of Servlets, JSP, JSF, EJB, or Java web services.
The course is presented seminar-style, with no hands-on exercises for students and no need for lab equipment. The instructor demonstrates several sample Java EE applications, including web applications, EJBs, JMS, and web services, and can go into source code and other details to suit the interests of the audience. But the focus is on architecture, and on boiling down a very complex system to its essential features: code portability, components and containers, metadata and declarative development. Students come to understand the roles that various Java EE technologies play in a multi-tier, enterprise application, and acquire the terminology and basic workings of each.
Analysts, managers, technical writers, and anyone who desires a good conceptual understanding of Java EE.
Upon successful completion of this course, the student will be able to:
- Understand the role of Java EE in the development of enterprise software in the Java language.
- Understand how Java EE facilitates integration of Java components with non-Java systems including relational databases, the World Wide Web, message queues, CORBA objects, and web services.
- Appreciate the importance of the container/component architecture, which gives Java EE servers the ability to take a great deal of grunt-work off of the shoulders of the application.
- Describe how containers are able to provide enterprise features to compliant application components, such as remote connectivity, scalability, availability, security, and transaction support.
- Explain the use of source-code annotations and XML deployment descriptors as a way of reducing programming workload and communicating with the Java EE application server.
- Understand the deployment process and know the general structure of web, EJB, and enterprise archive files.
Some prior experience with business software is assumed, but there are no formal prerequisites for this course.