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,
Background:
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:
· Java Authentication & Authorization Services
And also introduces the following techniques:
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:
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。
--曾在IBM Certified Education Center任教,拥MQSeries、DB2、Lotus Domino/Notes、Sybase、PowerBuilder等授课经验, 更由于其在公司内部主要负责JavaEE技术的应用,使得此课成为学生的新宠!维多利亚教育集团 “Advanced J2EE”、“Spring Framework” 、“JavaServer Faces” 、“ORM With Hibernate”、“MQ、JMS & XML” 、“XML & Web Services” 、”Core & Advanced Java” 权威授课教师,以博大精深而著称多市!
Course Outline
1. JavaEE Technologies 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
5. JavaServer Pages (JSP)
6. Java Standard Tag Library (JSTL)
8. Java DataBase Connectivity
9. Java Transaction API (JTA)
10. Java Authentication & Authorization Services (JAAS)
11. Java Connector Architecture (JCA)
d. JavaEE Application Designs
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
d. Rational Unified Process (RUP)
3. Artefacts and Deliverables
g. Objected Oriented Design
h. Design for Service-Oriented Architecture
i. Data Modeling
j. Conceptual Data Model
l. Physical Data Model
a. Introduction to Struts Architecture
b. Struts Configuration Overview
h. Building Presentation Components
i. Tiles
j. Validation Framework
k. Localization & Internationalization
l. Design Patterns
b. Hibernate Configuration
d. Association and Collections
e. Object/Entity Life-cycle
f. Transaction and Concurrency
g. Query Strategy (Eager-fetching, Lazy loading)
a. Introduction to Spring Framework
c. Aspect-Oriented Programming
d. Integration with database operations
f. Building Service Layer
a. Introduction to JSF architecture
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
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
a. Introduction to AJAX fundamental technologies
b. AJAX Frameworks (Prototype, DOJO, GWT, etc)
c. AJAX/JSF Integration in RAD 7.5
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
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
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
· 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