 |
MC Press Online eBookStore |
|
Advanced Java EE Development for Rational Application Developer 7.5 |
| Authors: Kameron Cole, Robert McChesney, Richard Raszka | | Publisher: MC Press Online | | Publication Date: August 2011 | | Subject: Computer: Programming & Software Engineering |
|
|
|
|
|
| | About this title |
Written by IBM senior field engineers and senior product development experts, this advanced book provides a solid look at the development of a range of core Java EE technologies, as well as an in-depth description of the development facilities provided by IBM Rational Application Developer Version 7.5.
The Java EE developmental platform incorporates a wide range of technologies from disparate and myriad sources. This up-to-date guidebook helps developers triumph over the complexity and depth of knowledge required to build successful architectures. Senior developers, engineers, and architects—especially those who work with Rational Application Developer and those seeking certification at the Sun-certified Java master-tier level or the IBM Rational Application Developer certified professional and certified advanced professional levels—will appreciate this convenient, single reference point.
Those familiar with the previous edition of this book, Developing J2EE Applications with IBM WebSphere Studio (MC Press, 2003), will find here fully updated coverage of v7 of IBM WebSphere Application Server and a new focus on IBM Rational Application Developer v7.5 as the industry-standard development environment for component-based enterprise applications and SOA solutions. In addition, an all-new Chapter 2 was designed specifically to supplement the syllabus for a one-semester Java EE college or high school course. |
| About authors |
Kameron Cole — Kameron Cole is Complex Solutions Architect in the IBM Text Analytics Group, with ECM Emerging Solutions. He is an IBM Certified Systems Expert for WebSphere Administration and a Sun Certified Java EE Developer. Kameron holds a B.Mus. in Cello Performance, an M.A. in Theoretical Linguistics (focus on Logic and Artificial Languages), and a B.A. in Computer Science, all from the University of Iowa. He is experienced primarily in Unix/Linux operating systems, and he programs in CORBA, Java, Prolog, C, C++, Miranda, ML, LIFE, and Smalltalk. Prior to working at IBM, Kameron was a freelance CORBA(Orbix)/Java EJB programmer and a college professor. He was a member of the author team for the previous edition of this book, Developing J2EE Applications with IBM WebSphere Studio (MC Press, 2003).
Robert McChesney — Robert McChesney is an Advisory Software Engineer in the Application Integration and Middleware division of IBM Software Group. Robert is a software developer for the IBM WebSphere Application Server development and support organization. He is an IBM Certified Application Developer and an IBM Certified Advanced Application Developer – Rational Application Developer v7. He holds a B.S. in Computer Engineering from the University of Puerto Rico and a M.S. in Computer Engineering from Syracuse University. Robert has worked for IBM since 1988 and has held positions in photolithography manufacturing engineering, operating system development, support and services, and most recently in WebSphere software support, services, education, and development. His experience includes Java EE business solutions, C/C++ and Java programming, Struts, JSP, and Dojo user interface development.
Richard Raszka — Richard Raszka is an Integration/Application Architect in the AN/Z GBS Architecture Practice in IBM Global Business Services Australia. He is a Master Certified IT Specialist with the Open Group and a Certified IT Specialist in IBM. Richard holds a B. Engineering in Mechanical Engineering, a B.Sc(Ma) in Mathematics and Computer Science from the University of Adelaide, and an MBA in Technology Management from Monash University. He is experienced with full Software Development Lifecycle (SDLC) development, UML modeling, and use of methodologies including SOMA, RUP, and Agile for the delivery of solutions. Technically, Richard primarily has experience with Unix/Linux operating systems, the WebSphere product set, including Application Server, ESB, and Process Server, with experience in development using C, C++, Pascal, FORTRAN, Java, and Lisp. Richard's IT experience over his career has encompassed the fields of performance engineering, application development, systems integration (particularly of e-business/e-commerce solutions), compiler development, configuration management, graphics and CAD/CAM development, simulation, and agent-oriented artificial
intelligence. He has co-authored the IBM Redbooks IBM Rational Application Developer V6 Programming Guide (2005) and Implementing Technology to Support SOA Governance and Management (2007).
|
| Contents |
Chapter 1: Introduction to Java EE for IBM WebSphere Application Server, Version 7.0
What Is WebSphere?
A Brief History of Java EE
Java EE Architecture
Java EE Architecture: Application Components
Java EE Architecture: System Components
Java EE Architecture: Standard Services
Java EE Architecture: Roles
The WebSphere Java EE Toolset
WebSphere Application Server
IBM Rational Application Developer
Summary
Chapter 2: Introduction to IBM Rational Application Developer for WebSphere Software, Version 7.5
Introducing Perspectives, Views, and Editors
Starting Up the Workbench
Command-line Options
Commonly Used Perspectives
The Data Perspective
The Java EE Perspective
Java Persistence API Project
EJB 3.0 Project
The Java Perspective
The Web Perspective
IBM Rational Application Developer for WebSphere Software Testing Scenarios
Setting Up the WebSphere Test Environment
New Server Configurations
Using the Test Environment to Test Web Components
Using the Universal Test Client to Test EJBs
Universal Test Client Utilities
Unit Testing: The Application Client Launcher
The Debug Perspective
Summary
Chapter 3: Servlets
Web Applications
Introducing Servlets
Using Servlets
Servlet Process Flow
Servlet Life Cycle
The Servlet Request and Response
Encoded Data
GET and POST Requests
Handling GET Requests
Handling POST Requests
Creating and Testing Servlets
Creating a Dynamic Web Project
Web Project Folder Structure
Creating Servlets
Running the Servlet
Producing a Response
Using the Debugger for Servlets
Debug on Server Settings
State Management Using HTTP
Cookies
Creating Cookies
HTTP Session Management
URL Encoding
Enabling URL Encoding within Application Developer
The Model-View-Controller (MVC) Design Pattern
Using a Request Dispatcher
Saving Data into the ServletContext
Best Practices for Saving Servlet Data
Data Transfer Objects (DTOs)
Application Lifecycle Events
Event Types
javax.servlet.ServletContextListener
javax.servlet.ServletContextAttributeListener
javax.servlet.http.HttpSessionListener
javax.servlet.HttpSessionAttributeListener
Storing and Removing Data
javax.servlet.HttpSessionBindingListener
Binding Listener Example
Attribute and Life-cycle Event Listeners
Creating Web Application Life-cycle Event Listeners
Filters
Summary
Chapter 4: JavaServer Pages
Introducing JavaServer Pages (JSP)
Comparison of JSP Pages with Servlets
JSP Syntax
Template Content
Page Directives
Taglib Directives
Include Directive
Declarations
Scriptlets
Implicit Objects
Expressions
Actions
Forwarding a Request
Dynamic Include
Error Handling and Error Pages
Debugging JSPs
EL in JSP Version 1.2
Overview of JSTLs
Summary
Chapter 5: JavaServer Faces (JSF)
Introducing JSF
Value of JSF over Servlets and JSP
JSF Architecture
UI Components
Rendering
Validation
Backing Beans
Converters
Events and Listeners
Messages
Navigation
JSF Request-Processing Lifecycle
JSF Application Architecture
Installation of the JSF Libraries
Using Rational Application Developer, IDE, and WebSphere Application Server Version 7.0
Web Application Deployment Descriptor
JSF Application Configuration
Internationalization
Use of Managed Beans
Configuration of Navigation Rules
JSF Syntax
Implicit JSF Objects
JSF Tag Libraries
Using JSF and Rational Application Developer for Development
Creating a Dynamic Web Project
Using the Web Diagram Tool
Editing JSF Pages
Creating Actions
Using Managed Beans
Testing JSF Pages
Summary
Chapter 6: Struts
Introducing Struts
Value of Struts over Servlets and JSP
Struts Architecture
Struts Application Architecture
Installation of the Struts Framework
Web Application Deployment Descriptor
Struts Application Configuration
Struts Tag Library Syntax
HTML Tag Library
Bean Tag Library
Logic Tag Library
Nested Tag Library
Using JSTL with Struts
Using Struts and Rational Application Developer for Development
Creating Dynamic Web Project
Using the Web Diagram Tool
Generating the Action Mapping and Navigation
Creating the Login.jsp Page
Testing Struts Pages
Comparison of Struts and JSF
Summary
Chapter 7: Java Persistence API
Entities
Role of Entities in Java EE Applications
Annotations
The Basics of Coding Entities
Lifecycle of Entities
States of Entities/Lifecycle States (JPA, Section 3.2)
Persistence and the Java EE Container
Types of Transaction Management for Entities
Basic Object-Relational Mapping for Entities in Rational Application Developer
Persistence Actions Using the EntityManager API
Finding and Updating Entities Using Named Queries
EJB QL Syntax
Basics: Select, From, Where
Literals in Statements
ORDER BY Statements
INNER JOIN Statements
Creating Named Queries Using the Object Relational Mapping Editor
JPA Persistence Strategies
Types of Relationships
Creating and Defining Relationships
CascadeType and FetchType Attributes
WebSphere Extended Support for JPA 2.05
Summary
Chapter 8: Session Enterprise JavaBeans
Session Beans and the EJB Architecture
EJB Architecture
Client Views
Session Beans and Their Types
The Lifecycle of Session Beans in the Java EE Architecture
Developing a Session Bean in Rational Application Developer
Stateless Session Beans
Summary
Chapter 9: Message-Driven Enterprise JavaBeans
A Java Message Service (JMS) Primer
Messaging
Destinations
Topics
Queues
ActivationSpec (JavaBean)
Message Selectors
Basic Messaging Administration
Pooling
What Is a Message?
Developing the MDB
The Bean Class
The onMessage() Method
No Client Interfaces
Summary
Chapter 10: EJB Client Programming
Available Client Models
Clients to Entity Objects
Container-Managed Entities and Application-Managed Entities
Using IBM WebSphere Manager Beans to Create the Persistence Management Sublayer
Writing a Servlet Client to a JPA Entity
Accessing EJBs from Other Java EE Components
Accessing a Session Bean from a Dynamic Web Application
Application Clients
Application Client Programming
Running the IBM Thin Client for EJBs
Running the Thin Client Using a Sun JRE
Clients to Message-Driven EJBs
Access from Java EE Components: Declarative
Clients for JMS Access
Configuring an Application Client for WebSphere for JMS Access
Using the Application Client Resource Configuration Tool (ACRCT)
Configuring a WebSphere Application Server for JMS Access from a Standalone Client
Creating and Testing JMS Clients
Summary
Chapter 11: Transactions
Introduction
The Need for Transactions
Transaction Properties
Transaction Types
Flat Transactions
Nested Transactions
Transaction Support in WebSphere Application Server Version 7
Global Transactions
OTS/XA Transaction Architecture
Java Transaction Service (JTS)
JTA
The javax.transaction.UserTransaction Interface
2PC
The javax.transaction.xa.XAResource
Transactions in Web Components
Transactions in Enterprise Beans
Transaction Attributes
Transaction Read/Write Anomalies
Isolation for EJB (Session and Message-Driven)
Isolation for Persistence Entities
Best Practices of Using Transactions in EJB
Container-managed Versus Bean-managed Transaction Demarcation
Encapsulating Transactions in the Session Bean
Imposing Time Limits on Transactions
Summary
Chapter 12: Security
Introduction
Security Basics
Authentication
Authorization
Cryptography
Digital Signatures
Message Digests
Certificates
The SSL
Java EE Application Security
Securing Web Modules
Defining Security Roles for Web Components
Declarative Java EE Security
Defining Security Roles Using Metadata Annotations
Enforcing Security Roles Programmatically
Securing EJB Modules
Defining Security Roles and Assigning Method Permissions: Metadata Annotations
Propagating Security Identity
Assigning Run-As Propagation Using Metadata Annotations
Securing Enterprise Applications
Application Client Security
Java Authentication and Authorization Service Programmatic Login
Defining the Authentication Method
Defining Security Constraints
WebSphere Security
Open Architecture Paradigm
User Registry
Authentication Mechanisms
Authorization Mechanisms
Summary
Chapter 13: Web Services
Introduction
Web Services Architecture
SOA
Web Services
Web Services Standards
Categorizing Web Services Standards
Description and Discovery
Web Services Interoperability
Java EE 1.5 Web Service APIs
Developing Web Services Using Rational Application Developer
Preparation for Developing Web Services
Development Approaches for Web Services
Creating a Project for Web Services
Top-down Development of Web Services
Bottom-up Development of Web Services
Testing Web Services in Rational Application Developer
Alternative Testing Approaches in Rational Application Developer
Security of Web Services Using Rational Application Developer
Testing Secure Web Services in Rational Application Developer
Summary
Chapter 14: Web Services Client Programming
Introduction
Requirements for Web Services Clients
Requirements from the Service Provider
Requirements for the Client
Java Web Service Clients
Standards for Clients
Communication Modes for Accessing a Web Service
Developing a Web Service Client in Rational Application Developer
Creating a Java Project
Creating the Client Code
Running the Client Code
Summary
Chapter 15: Profiling and Debugging
Profiling Background and Overview
Profiling Concepts
Profiling Architecture
Profiling Agents
Profiling Setup Procedures
Profiling Preferences
Pre-Runtime Profiling Options
Remote Profiling
Probekits
Creating Probes to Use in Profiling
The Profiling Perspective
Profile Monitor View
Using Profiling Views to Analyze Data
Runtime Problem Determination
Identifying Performance Bottlenecks
Remote Debug Background
WebSphere Application Server Debug Procedures
Setting Up WebSphere Application Server to Run in Debug Mode
Creating a Debug Script from the Command Line
Attaching the Rational Software Development Platform Debugger to the Remote WebSphere Application Server
Summary
Chapter 16: Packaging and Deployment
Naming
Deployment Descriptors
References
EJB References
Environment Entries
Message Destination References
Resource Environment References
Resource References (Resource-Manager-Connection References)
Security Role References
Service References
Security
Authentication and Roles
Authorization and Access Controls
Packaging
Installing
Summary
Chapter 17: WebSphere Administration
Server Configuration
Data Source Configuration
Data Connectivity Setup
Messaging
Security
Enabling WebSphere Global Security
Configuring a User Registry
Configuring an Authentication Mechanism
Installing Applications
Summary |
| Related titles |
|
|
| |
|
|
|
|
If download option is selected, Adobe Acrobat 5.0 or later is required to read our e-books*
* Windows PC, Mac OS9/OSX, and Linux |
| |
 |
 |