JavaEE Real Project Hands-on Workshop



本期技术亮点:AJAX/Web 2.0, Struts, JavaServer Faces 1.x/2.x, AJAX, UML 2.0, ORM, IoC, AOP, EJB 3, Hibernate, Spring Framework, Java Message Service, XML (DTD/Schema/DOM/SAX/JAXP/JAXB/XPATH/XSLT/XQUERY), SOAP Web Services, RESTful Web Services, WebSphere MQ, WebSphere Application Server, Middleware, Service Integration Bus,




In recent days, having skills such as JSP, Servlet, Struts and a few other framework, is not good enough to qualify you as a JavaEE professional required by the current job market. In the last decade, new technologies keep on coming out. They do not only represent NEW stuff introduced into JavaEE world, they also reflect what and how JavaEE professionals are thinking about a better pattern of JavaEE application development.


To be qualified as a senior IT professional, you need to master comprehensive technologies in system integration and application development at the enterprise level. Since the first edition of J2EE is released, there are a lot of technologies have emerged. Some lasted longer while others lived shorter. There are reasons! Those last for now have resolved key problems and concerns in the industry, such as IoC (Inverse of Control), AOP (Aspect-Oriented Programming), ORM (Object Rational Mapping), Asynchronous Programming and Processing. These has brought up a lot of pioneer technologies, for instance, Spring Framework, Hibernate, JavaServer Faces, EJB 3.0, AJAX, etc.


Spring Framework has been widely used in enterprise application development since its great concepts and features at programming pattern, design pattern and integration levels. Embeded with a comprehensive integration ability, Spring Framework based applications work perfectly with a large number of other technologies and framework, for example, Hibernate, EJB 3.0, JavaServer Faces, Java Messaging Services, JDBC, Velocity, iBates, etc.


From data persistence perspective, Hibernate has gained popularity in the industry and have been thriving. The release of EJB 3.0 adds the feature of standardization. Due to the special relationship between EJB 3.0 and Hibernate, they together create a broader view for JavaEE developers. EJB 3.0 abstracts ORM interfaces from Hibernate and makes it a standard. On the other hand, Hibernate builds a firm foundation of ORM theory for EJB 3.0.


It also wroth a greater time to have a deeper discussion on enterprise resource integration, asynchronous processing over messaging system, security, authentication and authorization (JAAS), information processing, enterprise level error handling and failover etc., since they are key parts in building an enterprise application around those core parts discussed above.


Moreover, Web 2.0 technology has brought the Web-based application development into a new era. Web 2.0 allows users to do more than just retrieve information. They can build on the interactive facilities of "Web 1.0" to provide "Network as platform" computing, allowing users to run software-applications entirely through a browser. Web 2.0 sites often feature a rich, user-friendly interface based on Ajax and similar client-side interactivity frameworks, or full client-server application frameworks.


On the other hand, it is also very important to take a deep breath and understand the fundamental JavaEE technologies, such as Servlet, JSP, EJB, middleware, JAC, JAAS, JMS, JDBC and XML related technologies. With a fully comprehensive understanding and analysis of existing JavaEE architecture, it makes us view the new coming technologies at a higher level and wider scope.


Course & Project Introduction:

In this course, we will start introducing fundamental JavaEE technologies (Servlet, JSP, EJB, middleware, JDBC, JMS, JAAS, JAC and etc). Then we will bring in STRUTS Framework, which is utilized in building our first application, On-line Insurance Claim Query System, working with EJB.


As another focus of this course, we’ll introduce all foundation knowledge required in build our second application, On-line Insurance Claim Report System.


The project is trying to build two web-based applications of an on-line insurance claim query & report system. The project team will go through the whole life-cycle of the development starting the requirements extraction and analysis and come with design using UML tools.


The course add four new labs designed for students to walk through ORM (Hibernate/EJB3), IoC (Spring Framework) and JSF/AJAX technologies step by step.


Those applications are designed to use MVC pattern and utilizes and mainly focus on the following popular technologies:

·     JavaEE technologies
·     Struts Framework
·     Java Server Faces (1.x/2.x)
·     Spring Framework
·     ORM & Hibernate/JPA
·     MQ & JMS
·     AJAX 2.0
·     Enterprise Java Bean 3.0
·     XML processing
·     Web Services (SOAP & RESTful)

·     Java Authentication & Authorization Services

·     Java Reflection
·     Cryptography

And also introduces the following techniques:

·     GUI design
·     Validation
·     Conversion
·     Unified Modeling Language 2.0
·     Inverse of Control (IoC)
·     Aspect-Oriented Programming (AOP)
·     Object-Relational Mapping (ORM)
·     Hibernate
·     JPA
·     Spring Framework
·     JavaServer Faces (JSF) 1.x
·     JavaServer Faces (JSF) 2.x
·     AJAX & Web 2.0
·     Asynchronies Programming and Processing
·     Enterprise Java Bean 3
·     XML definition (DTD/Schema) and validation
·     XML parsing (DOM/SAX)
·     XML marshalling/unmarshalling
·     SOAP Web Services
·     RESTful Web Services
·     WebSphere MQ
·     Java Messaging Services
·     Java reflection
·     JA&AS
·     Java Cryptography

In addition, it also focuses on the integration of Struts, JSF, AJAX, Spring Framework, Web Services, MQ/JMS, Hibernate and EJB 3.


Briefly speaking, the application implements the following functionalities:

·     User Registration (UR)
·     User Maintenance (UM)
·     Claim Hierarchy and Maintenance
·     File Claims
·     Claim Queries
·     Claim Approval
·     Processing Work Flow

This project will be developed using IBM Rational Application Developer (RAD) 9.x, deployed on IBM Webshpere Application Server (WAS) 8.5, IBM Webshpere MQ 7.5 and regular relational database (DB2, Oracle, SQL Server and MySQL).


授课老师简介:David Gao

--从事软件开发与设计十多年,拥有计算机本科及硕士学位,曾在铁路、交通、出版、办公自动化、流程控制等领域从事开发大型IT项目。来北美之后,主要从事大型金融、保险项目开发、系统集成、方案及系统架构设计等工作。曾前后就职于IBMRoyal Bank, 现任职著名保险公司担任Architect

--曾在IBM Certified Education Center任教,拥MQSeriesDB2Lotus Domino/NotesSybasePowerBuilder等授课经验更由于其在公司内部主要负责JavaEE技术的应用,使得此课成为学生的新宠!维多利亚教育集团“Advanced J2EE”“Spring Framework” “JavaServer Faces” “ORM With Hibernate”“MQJMS & XML”“XML & Web Services” ”Core & Advanced Java” 权威授课教师,以博大精深而著称多市!


Course Outline

Part I

1.      JavaEE Technologies Overview

a.       JavaEE Overview

b.      Web-enabled application components

1.      HTML, JavaScript, JSP, Servlet, EJB

2.      Frameworks review: Struts, Tapestry, WebWork, iBates, Spring Framework, Hibernate, JDO, ORB and etc)

c.       Fundamental JavaEE technologies

1.      JavaEE Containers
2.      JavaEE Components
3.      JavaEE Connectors
4.      Servlet

5.      JavaServer Pages (JSP)

6.      Java Standard Tag Library (JSTL)

7.      Servlet Filter

8.      Java DataBase Connectivity

9.      Java Transaction API (JTA)

10. Java Authentication & Authorization Services (JAAS)

11. Java Connector Architecture (JCA)

12. etc

d.      JavaEE Application Designs

1.      Concurrency
2.      Transaction
3.      Security
4.      Integrity
5.      Performance
6.      Design Patterns
e.       Integration in JavaEE

1.      Multi-tier application design

2.      Integration inside the application

3.      Inter-application integration

2.      Software Development Life Cycle (SDLC)

a.       Project Team: Roles & Responsibility

b.      Waterfall Development
1.      Development Phases
c.       Iterative Development

d.      Rational Unified Process (RUP)

1.      RUP Phases
2.      Iteration

3.      Artefacts and Deliverables

4.      Work Flow
e.       Kanban
f.       Agile
1.      Lean Agile
2.      Scrum Agile
3.      UML 2.0 and Modeling
a.       Use Case Analysis
b.      Activity Diagram
c.       Sequence Diagram
d.      Class Diagram
e.       Service Model
f.       Model Entities

g.      Objected Oriented Design

h.      Design for Service-Oriented Architecture

i.        Data Modeling

j.        Conceptual Data Model

k.      Logical Data Model

l.        Physical Data Model

m.    Model Implementation
4.      Struts Framework

a.       Introduction to Struts Architecture

b.      Struts Configuration Overview

c.       ActionForms
d.      Actions
e.       ActionForwards
f.       ActionMapping
g.      ActionServlet

h.      Building Presentation Components

i.        Tiles

j.        Validation Framework

k.      Localization & Internationalization

l.        Design Patterns

5.      ORM Theory
a.       ORM Mapping Theory

b.      Hibernate Configuration

c.       Inheritance in ORM

d.      Association and Collections

e.       Object/Entity Life-cycle

f.       Transaction and Concurrency

g.      Query Strategy (Eager-fetching, Lazy loading)

h.      Building Model Layer
6.      Spring Framework

a.       Introduction to Spring Framework

b.      Inverse of Control

c.       Aspect-Oriented Programming

d.      Integration with database operations

e.       Integration with ORM

f.       Building Service Layer

7.      JavaServer Faces I

a.       Introduction to JSF architecture

b.      Components and Pages
c.       JSF Page Development
d.      Navigation

e.       Messaging and Exceptions

f.       Integration with Spring Framework

g.      Integration with Hibernate (optional)

h.      Building views and controllers

8.      Java Messaging Services

a.       Introduction to JMS architecture

b.      Message Pattern

c.       Asynchronies Programming

d.      Building Asynchronies Service Layer

e.       IBM MQSeries introduction

f.       MQSeries implementation

9.      Enterprise Java Bean (EJB) 3.0

a.       Java EE architecture

b.      Introduction to EJB 3

c.       Session EJBs

d.      Strategies for testing EJBs

e.       EJB clients

f.       Introduction to the Java Persistence API (JPA)

g.      Object-relational mapping with JPA

h.      Java Persistence Query Language (JPQL)

i.        Message-driven beans

j.        Managing transactions in EJBs

k.      EJB 3 timers and interceptors

l.        EJBs and Web services

m.    EJB security

10. AJAX

a.       Introduction to AJAX fundamental technologies

b.      AJAX Frameworks (Prototype, DOJO, GWT, etc)

c.       AJAX/JSF Integration in RAD 7.5

11. XML processing

a.       DTD and Schemas

b.      XML Validation

c.       SAX and DOM

d.      XPATH

e.       XSLT

f.       XQuery

g.      Java API for XML Processing (JAXP)

h.      Java API for XML Binding (JAXB)

i.        Java Reflection

j.        Marshalling and Un-marshalling

k.     Exception Control
12. SOAP Web Services

a.       Web Services Overview

b.      Web Services Architecture

c.       SOAP

d.      WSDL

e.       Web Services Tooling

f.       JAX-RPC and JAX-WS

g.      Create Web Services (bottom-up, top-down)

h.      Web Service Client

13. Java Architecture for XML Binding (JAXB)

a.       Introduction

b.      Architecture Overview

c.       JAXB Binding Process

d.      Unmarshlling

e.       Marshlling

f.       Validation

g.      Data Type Binding

h.      JAXB Annotations

14. RESTful Web Services

a.       Overview

b.      REST definitions, styles and states

c.       REST and HTTP

d.      HTTP verbs

e.       RESTful URLs

f.       Build the Service

1.      General Services

2.      Download Files

3.      Upload Files

4.      Process XML

g.      Build the Service Consumer

1.      Programmatically Invoke the Service

2.      Programmatically Download Files

3.      Programmatically Upload Files

4.      Programmatically Process XML

h.      CURD Operations

15. Java Server Faces II (2.x)

a.       Overview

b.      Programming Basics

c.       Managed Beans

d.      Explicit Page Navigation

e.       Expression Language

f.       Properties Files, Messages, and I18N

g.      Event Handling

h.      Integrated Ajax Support

i.        Validating User Input

j.        Handling Variable-Length

k.      Data Table

l.        Composite Components

m.    Page Templating

n.      View Params, GET Requests, & Bookmarking

o.      Using Spring with JSF 2.0

16. WebSphere MQ & JMS

a.       Introduction

b.      MQ Installation

c.       Basic Administration

d.      MQI Programming

e.       MQI: Major Calls

f.       MQI: Reports & Replies

g.      MQI: Retrieval of Messages

h.      MQ Java Programming

i.        Java Messaging Services

j.        MQ JMS Programming


Lab Environment


·     Rational Application Developer 9.0

·     eclipse

Application Server:

·     WebSphere Application Server 8.5

·     WebLogic Application Server 11g (optional)

·     Apache TomCat 7.x


·     IBM DB/2 v9.5

·     Oracle

·     MS Sql Server

·     My SQL


·     IBM WebSphere MQ 7.5

·     WebSphere Service Integration Bus



本页最后更新: | -- | 网站设计和虚拟主机服务 CMS