A
access
business layers, 103-105
data source resource references, 67-68
getters and setters, 41
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
loggers, 43-44
role-based, 151
Web services, 189
ACID (Atomicity, Consistency, Isolation, and Durability) tests, 82
ad hoc project methodology, 254
adding
bookmarks, 165
filters to login processes, 236-237
flexibility into layers, 21
shared libraries, 116
Spring DAO frameworks, 76-80
aggregation, 151
portlets, 154
agile approaches to unit testing, 59
agile project methodology, 254
Alcott, Tom, 34
aliases, creating authentication, 269-271
analysis, packages, 244
annotations, 84-88
@JPAManager, 88
@Lob, 86
@ManytoOne, 86
@OnetoMany, 86
@Remote, 95
@SupressWarnings, 88
APIs (application programming interfaces)
Java Logging API, 45-47
Java Persistence, 83-97
Java Portlet, 156-160
preferences, 160-161
JAX-WS, 181-182
applicationContext.xml file, 78
application programming interfaces. See APIs
architecture
architects, 2-3
building blocks of, 16-25, 27-30
engineering, 7
overview of, 1-2
roles of architects, 5-6
types of architects, 3-4
caching, 203-205
clients, configuring, 187-189
composite, 154
events, 129
HelloWorld, middle tier layer examples, 101-103
iBATIS frameworks, 68-71
configuring, 74-75
configuring domains, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
management, 243
avoiding common process malpractices, 249
documenting libraries, 245-246
enforcing architecture adherence, 244
maintaining discipline, 245
organizational processes, 246-249
technology solutions, 251
WSRR, 251-253
performance, 197-198
architecture, 198
caching, 199-203
terminology, 199
persistence, 65
as portlets, 154-156
sample JSFs, 131-144
adding filters to login processes, 236-237
architecture, 237-241
authentication, 225-236
importance of, 219-220
role of security architects, 221
SQL injection, 222-225
software engineering
accessing loggers, 43-44
classes, 37-41
constants, 38
functions, 38
getters and setters, 41
inline comments, 41-42
interfaces, 37
internal documentation, 39
Java Logging API, 45-47
JSPs, 38
logging, 42-43
method-level timers, 47-48
methods, 38
naming standards, 36
overview of, 34-35
packages, 37
standards documentation, 36
System.out messages, 43
tracing, 42-43
variables, 38
testing, 93-94
Web, comparing to portals, 153-154
applying
external libraries, 54-55
logging, 49
aspect-oriented programming, 51
exception/error handling, 51-53
standards, 50
tracing, 49
aspect-oriented programming, 51
exception/error handling, 51-53
architects
communication with, 6
overview of, 2-3
roles, 5-6
security, 221
types, 3-4
architecture
adherence, enforcing, 244
applications
architects, 2-3
engineering, 7
overview of, 1-2
types of architects, 3-6
colors in, 30
iBATIS frameworks, 70
performance, 198
portals, incorporating, 150-151
reference, 10
SCA, 178
security, 237
authorization, 239-241
LTPA, 238
SOA, 29
business functions, services as, 177-178
commitments, 178-179
implementing, 177
managing service data elements, 178
overview of, 175-176
service modeling, 177
WebSphere
base containers, 12
extensions, 14
functionality, 15
overview of, 8-9
specifications, 13
WAS (WebSphere Application Server), 9-12
aspect-oriented programming, 51
Atomicity, Consistency, Isolation, and Durability. See ACID tests
attacks
security. See security
SQL injection, protection against, 224-225
aliases. creating, 269-271
j_security_check, 227-228
WebSphere Application Servers, 153
authorization, 239-241
avoiding common process malpractices, 249
B
B2E (Business-to-Employee) portals, 152
base containers, 12
BIRT (Business Intelligence and Reporting Tools), 259-260
BizLayerDAO class, 104
bookmarks
adding, 165
paging through, 169
BPM (Business Process Management), 179
building blocks of application architecture, 16-17
deployment patterns, 24-27
layers, 18-21
modules, 27-30
tiers, 22-23
business application services, 9
business functions, services as, 177-178
Business Intelligence and Reporting Tools (BIRT), 259-260
accessing, 103-105
logic, 16
testing, 116-117
business logic, 99-100
business processes
integration, 151
layers, 122
portals, 152
Business Process Management (BPM), 179
Business-to-Employee (B2E) portals, 152
C
CacheMonitor.ear, 216
caching, 199
design options, 200-201
dMaps, 206
testing, 209-214
HTML fragment, 214-216
ESI plug-in, 217
monitoring, 216-217
sizing, 200-201
user sessions, 202-203
WebSphere Application Servers, 203-205
Capability Maturity Model Integration. See CMMI
Carnegie Mellon University, 246
CCB (Change Control Board), 255-256
checked exceptions, 51
classes, 37
BizLayerDAO, 104
CustomerDAOImpl, 76
CustomerDAOImpl.java, 76
GenericPortlet, 161
header information, 40
loggers, accessing, 43-44
methods, 41
Orderdetails, 87
OrdersManager, 89
SqlMapClientDaoSupport, 76
Classic Models database
configuring, 259-260
DB2
creating, 262-263
creating WebSphere data sources, 266-273
loading data, 264-265
environments, configuring, 261
libraries, 116
schemas, 260
ClassicModelsSessionEJB, 92
ClassicModelsSessionEJBClient, 92
ClassicModelsWeb project, 92
clients
applications, configuring, 187, 189
remote, 94-97
CMMI (Capability Maturity Model Integration), 246-247
code. See also programming
business logic, placement of, 99-100
completion, 59-62
conventions and standards, 35
examples, running, 277-280
HelloWorld middle tier layer examples, 101-103
Java, 62
reviews, 60
performance, 197-198
architecture, 198
caching, 199-203
terminology, 199
adding filters to login processes, 236-237
architecture, 237-241
authentication, 225-236
importance of, 219-220
role of security architects, 221
SQL injection, 222-225
collaboration, 151
colors, 30
com.ibmpress.biz.profile, 135
com.ibmpress.entity, 135
com.ibmpress.jsf.pagecode, 135
com.ibmpress.web, 135
comments, 39
inline, 41-42
commitments, 178-179
common process malpractices, avoiding, 249
communication
with architects, 6
with wikis, 62-63
completion, coding, 59-62
components
completion, 35
HTML fragment caching, 214-216
ESI plug-in, 217
monitoring, 216-217
lifecycles, 250
properties, Edit, 145
composite applications, 154
configuration
authentication, aliases, 269-271
client applications, 187-189
conventions and standards, 33-34
databases, 259-260
creating WebSphere data sources, 266-273
DB2, 262-265
environment, 261
schemas, 260
dMaps, 206-208
testing, 209-214
domains, 72-74
iBATIS frameworks, 74-75
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
Java Portlet APIs, 160-161
logging, 49
aspect-oriented programming, 51
exception/error handling, 51-53
standards, 50
middle tier layers, 99
accessing business layers, 103-105
business logic, 99-100
HelloWorld examples, 101-103
pages, profiles, 135-138
performance, 197-198
architecture, 198
caching, 199-203
terminology, 199
shared libraries, 107-108
business process layers, 122
controlling, 117-118
implementing, 120-121
mapping, 114-116
testing, 116-117
viewing, 110-112
tracing, 49
aspect-oriented programming, 51
exception/error handling, 51-53
connections, testing, 275
constants, 38
containers, base, 12
content
aggregation, 151
delivery, 153
personalization, 154
controlling
Page Controllers, 127
shared libraries, 117-118
conventions, 33-34
coding, 35
naming, 36
conversion, errors, 144-146
Create, Read, Update, Delete (CRUD) functionality, 88
createNamedQuery method, 90
createOrders( ) method, 89
credit limit services, 182-194
CRUD (Create, Read, Update, Delete) functionality, 88
Custom mode, 159
Customer class, 72-74
customer SQL mapping, 72-74
Customer.java file, 72
CustomerDAOImpl class, 76
CustomerDAOImpl.java class, 76
customerIdChanged( ) method, 137
customerIdValidation( ) method, 137
customization
architects, 2-3
building blocks of, 16-25, 27-30
engineering, 7
overview of, 1-2
roles of architects, 5-6
types of architects, 3-4
caching, 203-205
clients, configuring, 187-189
composite, 154
events, 129
HelloWorld, middle tier layer examples, 101-103
iBATIS frameworks, 68-71
configuring, 74-75
configuring domains, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
Java Portlet APIs, 160-161
management, 243
avoiding common process malpractices, 249
documenting libraries, 245-246
enforcing architecture adherence, 244
maintaining discipline, 245
organizational processes, 246-249
technology solutions, 251
WSRR, 251-253
performance, 197-198
architecture, 198
caching, 199-203
terminology, 199
persistence, 65
as portlets, 154-156
sample JSFs, 131-144
adding filters to login processes, 236-237
architecture, 237-241
authentication, 225-236
importance of, 219-220
role of security architects, 221
SQL injection, 222-225
shared libraries, 120-121
software engineering
accessing loggers, 43-44
classes, 37-41
constants, 38
functions, 38
getters and setters, 41
inline comments, 41-42
interfaces, 37
internal documentation, 39
Java Logging API, 45-47
JSPs, 38
logging, 42-43
method-level timers, 47-48
methods, 38
naming standards, 36
overview of, 34-35
packages, 37
standards documentation, 36
System.out messages, 43
tracing, 42-43
variables, 38
testing, 93-94
data access layers, 16
data elements, managing service, 178
data sources, resource references, 67-68
data storage, 65
databases
configuring, 259-260
DB2
configuring, 262-263
loading data, 264-265
WebSphere data sources, creating, 266-273
environments, 261
iBATIS frameworks, 68-71
configuring, 74-75
configuring domains, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
parameters, 274
schemas, 260
DB2 databases
configuring, 262-263
loading data, 264-265
WebSphere data sources, creating, 266-273
DB2 Admin_Customer_SqlMap.xml file, 72
debugging lifecycle phase listeners, 130-131
defining modules, 28
deleteOrders method, 90
delivery, content, 153
dependency of services, 180
deployment, 94-97
patterns, 24-27
WAR files, 24
development
conventions and standards, 33-34
environments, 35
lead, 4
performance, 197-198
architecture, 198
caching, 199-203
terminology, 199
standardization, 35
testing, 57
disk resident caches, 201
distributed maps (dMaps), 206
creating, 206-208
testing, 209-214
distribution of services, 179
dMaps (distributed maps), 206
creating, 206-208
inline comments, 41-42
internal, 39
libraries, 245-246. See alsolibraries
specialized, 35
standards, 36
doEdit( ) method, 163
doGet( ) method, 81
domains
configuring, 72-74
rich domain models, 100
doView( ) method, 162
dynamic caching, 203-205
HTML fragment caching, 214
Dynamic Caching Service, 14
dynamic WSDL generation, 184
E
EAR (enterprise application) files, 103
Eclipse Extension Framework, 14
Edge Side Includes. See ESI plug-in caches
Edit component properties, 145
Edit mode, 159
EJB (Enterprise Java Bean), 10
EJB 3, 83-97
elements, managing service data, 178
B2E portals, 152
on demand portals, 151
enforcing architecture adherence, 244
engineering
classes, 37
header information, 40
methods, 41
constants, 38
functions, 38
getters and setters, 41
inline comments, 41-42
interfaces, 37
internal documentation, 39
Java Logging API, 45-47
JSPs, 38
loggers, accessing, 43-44
logging, 42-43
method-level timers, 47-48
methods, 38
overview of, 34-35
packages, 37
standards
documentation, 36
naming, 36
System.out messages, 43
tracing, 42-43
variables, 38
engineering, application architecture and, 7
enterprise application (EAR) files, 103
enterprise architects, 4
Enterprise Java Bean (EJB), 10
Enterprise Service Bus, 177
Entity Managers, 88-94
environments
configuring, 261
development, 35
errors
handling, 51-53
JSFs, 130
validation, 142
ESI (Edge Side Includes) plug-in caches, 217
events, applications, 129
exceptions, handling, 51-53
expert location, 151
expiration policies, 200
Extended Deployment (XD), 201
extensions, WebSphere, 14
external libraries, applying, 54-55
Extensible Markup Language. See XML
F
features
of base containers, 12
of SOA, 176
files
applicationContext.xml, 78
configuring, 53-55
Customer.java, 72
DB2Admin_Customer_SqlMap.xml, 72
documents. See documents
EAR, 103
ibm-web-bnd.xmi, 68
persistence.xml, 88
security-constraint sections, 232
sharing, 151
WAR, deployment of, 24
web.xml, 68
forms-based portals, 152
Fowler, Martin, 127
fragments, HTML caching, 214-216
ESI plug-in, 217
monitoring, 216-217
frameworks
iBATIS, 68-71
configuring, 74-75
domains, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
JWL, 147
persistence, 65-67
O/R mapping, 66
SQL-based, 66
portals, 149
applications as, 154-156
B2E, 152
business processes, 152
comparing to Web applications, 153-154
example of, 161-172
incorporating into architecture, 150-151
Java Portlet API, 156-161
virtual technology, 151-152
presentation
JSFs, 127-130
lifecycle phase listeners, 130-131
sample applications, 131-144
selecting, 125-126
standards, 146
troubleshooting, 144-146
SOA, 151
functionality, 151
CRUD, 88
virtual portal technology, 151-152
WebSphere, 15
functions, 38
getters and setters, 41
testing, 57
G
GenericPortlet class, 161
GET method, 233
getBean( ) method, 80
getEntityManager( ) method, 89
getters, 41
governance, 243
commitments, 178-179
Web services, 180
groups, 229
H
handling errors/exceptions, 51-53
headers, classes, 40
HelloWorld middle tier layer examples, 101-103
Help mode, 159
HTML (Hypertext Transfer Markup Language), 214-216
ESI plug-in, 217
monitoring, 216-217
HTTP (Hypertext Transfer Protocol) caching, 205
I
configuring, 74-75
domains, configuring, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
IbatisSpringDAOTestServlet, 80
ibm-web-bnd.xmi file, 68
identifying modules, 27-30
implementation
lifecycle phase listeners, 130-131
shared libraries, 120-121
SOA, 177
business functions, services as, 177-178
commitments, 178-179
managing service data elements, 178
service modeling, 177
importance of security, 219-220
information and application integration, 9
Information Technology Infrastructure Library (ITIL), 247-249
init( ) method, 80
injection, SQL, 222-225
inline comments, 41-42
Integrated Solutions Console, 206
integration
information and application, 9
reference architecture, 9
services, 189
testing, 57
interaction
clients, REST, 191-194
layers, 141
services, 9
interfaces, 37
applications, testing, 93-94
Java
Logging API, 45-47
Persistence, 83-94
Portlet API, 156-161
JAX-WS, 181-182
internal documentation, 39
interoperability
on-the-fly, 177
WS-I, 180
isUserInRole( ) method, 236
iterative project methodology, 254
ITIL (Information Technology Infrastructure Library), 247-249
J
J2EE Connector Architecture (JCA), 12
Java, 5
code reviews, 62
naming standards and conventions, 36
Persistence APIs, 83-97
Java API for XML Web Services. See JAX-WS
Java Architecture for XML Binding (JAXB2.0), 181
Java Messaging Service (JMS), 12
Java Naming and Directory (JNDI) services, 13
Java Portlet APIs, 156-160
preferences, 160-161
Java Programming Query Language (JPQL), 85
Java Server Pages (JSPs), 12
HTML fragment caching, 214-216
monitoring, 216-217
naming, 38
packages, 37
Java Virtual Machine (JVM), 22
JavaServer Faces (JSFs), 125-130
lifecycles, phase listeners, 130-131
sample applications, 131-144
standards, 146
troubleshooting, 144-146
JAX-WS (Java API for XML Web Services), 181-182
JAX-WS 2.0 (Java API for XML Web Services), 181
JAXB 2.0 (Java Architecture for XML Binding), 181
JCA (J2EE Connector Architecture), 12
JDBC (Java Database Connectors), 266-269
JMS (Java Messaging Service), 12
JNDI (Java Naming and Directory) services, 13
Johnson, Rod, 76
JPQL (Java Programming Query Language), 85
JSFs (JavaServer Faces), 125-130
Lifecycles, phase listeners, 130-131
sample applications, 131-144
standards, 146
troubleshooting, 144-146
JSPs (Java Server Pages), 12
HTML fragment caching, 214-216
monitoring, 216-217
naming, 38
packages, 37
JVM (Java Virtual Machine), 22
JWL framework, 147
j_security_check, 227-228
keys
cache generation, 200
information, 151
Kruchten, Phillippe, 30
latest craze project methodology, 254
layers
application architecture, 16
business
processes, 122
testing, 116-117
deployment patterns, 24-27
interaction, 141
middle tier
accessing, 103-105
business logic, 99-100
configuring, 99
HelloWorld examples, 101-103
testing, 105-107
modules, comparing to, 27-30
overview of, 18-21
Persistence, 65
portals, 155
presentation
JSFs, 127-130
lifecycle phase listeners, 130-131
sample applications, 131-144
selecting, 125-126
standards, 146
troubleshooting, 144-146
tiers, comparing to, 22-23
layouts, portlets, 172
levels of development testing, 57
libraries
documenting, 245-246
external, applying, 54-55
ITIL, 247-249
shared
business process layers, 122
configuring, 107-108
controlling, 117-118
implementing, 120-121
mapping, 114-116
testing, 116-117
viewing, 110-112
lifecycles
components, 250
JSFs, 128-130
phase listeners, 130-131
portlets, 157
WSRR, 252
Lightweight Third Party Authentication (LTPA), 238
load, 199
loading
Classic Models data, 264-265
policies, 200
local deployment, 94-97
local service layer (LSL), 21
loggers, accessing, 43-44
logging, 42-43
applying, 49
aspect-oriented programming, 51
exception/error handling, 51-53
Java Logging API, 45-47
standards, 50
trace-level, 47-48
login filters, adding, 236-237
LSL (local service layer), 21
LTPA (Lightweight Third Party Authentication), 238
M
main( ) method, 58
malpractices, avoiding common process, 249
management
applications, 243
avoiding common process malpractices, 249
documenting libraries, 245-246
enforcing architecture adherence, 244
maintaining discipline, 245
organizational processes, 246-249
technology solutions, 251
WSRR, 251-253
BPM, 179
commitments, 178-179
Entity Managers, 88-92
POJOs, 105
services, data elements, 178
shared libraries, 117-118
Web services, 180
mapping
customer SQL, 72-74
dMaps, 206
creating, 206-208
testing, 209-214
iBATIS frameworks, 69
O/R components, 65-66
products, 10
roles, 229
shared libraries, 114-116
masking errors, 144-146
memory resident caches, 201
Message Queue, 177
Message Transmission Optimization Mechanism (MTOM), 181
messages, System.out, 43
metadata, persistence, 88
methodologies, projects, 253-254
CCB, 255-256
troubleshooting, 254-255
methods, 38
classes, 41
createNamedQuery, 90
createOrders( ), 89
customerIdChanged( ), 137
customerIdValidation( ), 137
deleteOrders, 90
doEdit( ), 163
doGet( ), 81
doView( ), 162
GET, 233
getBean( ), 80
getEntityManager( ), 89
init( ), 80
isUserInRole( ), 236
main( ), 58
method-level timers, 47-48
POST, 233
processAction( ), 166
store( ), 167
Michelson, Brenda, 176
middle tier layers
accessing, 103-105
business logic, 99-100
configuring, 99
HelloWorld examples, 101-103
testing, 105-107
models, 100
JSF navigation, 132-133
services, 177
values, updating, 129
modes, switching, 168-172
modules, 27-30
monitoring
ESI cache plug-ins, 217
HTML fragment caches, 216-217
MTOM (Message Transmission Optimization Mechanism), 181
N–O
naming
JSPs, 38
packages, 37
standards, 36
navigation
JSFs, 132-133
role-based, 153
O/R (Object/Relational) mapping components, 65-66
caching, 206
PortletPreferences, 167
Office of Government Commerce in the United Kingdom, 247
on demand portals, 151
on-the-fly interoperability, 177
Open Group, 175
options
architecture
architects, 2-3
building blocks of, 16-30
engineering, 7
overview of, 1-2
roles of architects, 5-6
types of architects, 3-4
caching, 201-205
clients, configuring, 187-189
composite, 154
events, 129
HelloWorld, middle tier layer examples, 101-103
iBATIS frameworks, 68-71
configuring, 74-75
configuring domains, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
management, 243
avoiding common process malpractices, 249
documenting libraries, 245-246
enforcing architecture adherence, 244
maintaining discipline, 245
organizational processes, 246-249
technology solutions, 251
WSRR, 251-253
performance, 197-198
architecture, 198
caching, 199-203
terminology, 199
persistence, 65
as portlets, 154-156
sample JSFs, 131-144
shared libraries, 120-121
adding filters to login processes, 236-237
architecture, 237-241
authentication, 225-236
importance of, 219-220
role of security architects, 221
SQL injection, 222-225
software engineering
accessing loggers, 43-44
classes, 37-41
constants, 38
functions, 38
getters and setters, 41
inline comments, 41-42
interfaces, 37
internal documentation, 39
Java Logging API, 45-47
JSPs, 38
logging, 42-43
method-level timers, 47-48
methods, 38
naming standards, 36
overview of, 34-35
packages, 37
standards documentation, 36
System.out messages, 43
tracing, 42-43
variables, 38
testing, 93-94
Web, comparing to portals, 153-154
Orderdetails class, 87
OrdersManager, 88
OrdersManager class, 89
OrdersTestServlet, 93
OrderWebServlet, 239
organizational processes, managing, 246-249
P
packages, 37
analysis, 244
files, configuring, 53-55
structure, 107
Page Controllers, 127
page profiles
creating, 135-138
reviewing, 139-144
paging through bookmarks, 169
parameters
databases, 274
PREF_REMOVE, 165
patterns
deployment, 24-27
business functions, services as, 177-178
commitments, 178-179
implementing, 177
managing service data elements, 178
service modeling, 177
Patterns of Enterprise Application Architecture, 127
performance, 197-198
architecture, 198
caching, 199
design options, 200-201
user sessions, 202-203
terminology, 199
testing, 57
Web services, 179
Performance Analysis for Java Web Sites, 199
persistence
data source resource references, 67-68
EJB 3, 83-97
frameworks, 65-67
O/R mapping, 66
SQL-based, 66
iBATIS frameworks, 68-71
configuring, 74-75
configuring domains, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
Persistence layer, 65
persistence.xml file, 88
personalization of content, 151, 154
phase listeners, lifecycle, 130-131
placement of business logic, 99-100
Plain Old Java Object. See POJO
plug-ins
caching, 205
ESI caching, 217
POJO (Plain Old Java Object), 72, 84-88, 105
policies
expiration, 200
loading, 200
PortalPatterns.org, 62-63
portals
forms-based, 152
frameworks, 149
applications as, 154-156
B2E, 152
business processes, 152
comparing to Web applications, 153-154
example of, 161-172
incorporating into architecture, 150-151
Java Portlet API, 156-161
virtual technology, 151-152
portlet.xml deployment descriptor, 171
PortletPreferences object, 167
PortletRequestDispatcher, 162
portlets
aggregation, 154
lifecycles, 157
POST method, 233
preferences
architecture
architects, 2-3
building blocks of, 16-30
engineering, 7
overview of, 1-2
roles of architects, 5-6
types of architects, 3-4
bookmarks, adding, 165
caching, 203-205
clients, configuring, 187-189
composite, 154
events, 129
HelloWorld, middle tier layer examples, 101-103
iBATIS frameworks, 68-71
configuring, 74-75
configuring domains, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
Java Portlet APIs, 160-161
management, 243
avoiding common process malpractices, 249
documenting libraries, 245-246
enforcing architecture adherence, 244
maintaining discipline, 245
organizational processes, 246-249
technology solutions, 251
WSRR, 251-253
performance, 197-198
architecture, 198
caching, 199-203
terminology, 199
persistence, 65
as portlets, 154-156
sample JSFs, 131-144
adding filters to login processes, 236-237
architecture, 237-241
authentication, 225-236
importance of, 219-220
role of security architects, 221
SQL injection, 222-225
shared libraries, 120-121
software engineering
accessing loggers, 43-44
classes, 37-41
constants, 38
functions, 38
getters and setters, 41
inline comments, 41-42
interfaces, 37
internal documentation, 39
Java Logging API, 45-47
JSPs, 38
logging, 42-43
method-level timers, 47-48
methods, 38
naming standards, 36
overview of, 34-35
packages, 37
standards documentation, 36
System.out messages, 43
tracing, 42-43
variables, 38
PREF_REMOVE parameter, 165
frameworks
JSFs, 127-130
lifecycle phase listeners, 130-131
sample applications, 131-144
selecting, 125-126
standards, 146
troubleshooting, 144-146
layers, 16-21
processAction( ) method, 166
processes
BPM, 179
login, adding filters, 236-237
malpractices, avoiding common, 249
organizational, managing, 246-249
requirements, 59-62
review, 35
services, 9
validation, 129
products, mapping, 10
profiles
pages
creating, 135-138
reviewing, 139-144
saving, 143
programming
architecture
architects, 2-3
building blocks of, 16-30
engineering, 7
overview of, 1-2
roles of architects, 5-6
types of architects, 3-4
aspect-oriented, 51
bookmarks, adding, 165
caching, 203-205
clients, configuring, 187-189
composite, 154
events, 129
HelloWorld, middle tier layer examples, 101-103
iBATIS frameworks, 68-71
configuring, 74-75
configuring domains, 72-74
Spring DAO framework, adding, 76-80
testing, 80-81
transactions, 82
Java Portlet APIs, 160-161
management, 243
avoiding common process malpractices, 249
documenting libraries, 245-246
enforcing architecture adherence, 244
maintaining discipline, 245
organizational processes, 246-249
technology solutions, 251
WSRR, 251-253
modes, switching, 168-172
performance, 197-198
architecture, 198
caching, 199-203
terminology, 199
persistence, 65
as portlets, 154-156
sample JSFs, 131-144
adding filters to login processes, 236-237
architecture, 237-241
authentication, 225-236
importance of, 219-220
role of security architects, 221
SQL injection, 222-225
shared libraries, 120-121
software engineering
accessing loggers, 43-44
classes, 37-41
constants, 38
functions, 38
getters and setters, 41
inline comments, 41-42
interfaces, 37
internal documentation, 39
Java Logging API, 45-47
JSPs, 38
logging, 42-43
method-level timers, 47-48
methods, 38
naming standards, 36
overview of, 34-35
packages, 37
standards documentation, 36
System.out messages, 43
tracing, 42-43
variables, 38
Programming Portlets Second Edition, 78
projects
files, configuring, 53-55
malpractices, avoiding, 250
methodologies, 253-254
CCB, 255-256
troubleshooting, 254-255
properties, Edit components, 145
protection against SQL injection attacks, 224. See also security
Q–R
RAD (Rational Application Developer), 161, 181-184
references
architecture, 10
resources, 67-68
shared libraries, 116
remote clients, 94-97
remote deployment, 94-97
Representational State Transfer (REST), 189-194
requests
CCB, 255-256
values, 129
requirements. See also conventions; standards
code completion, 59-62
review processes, 59-62
unit testing, 55-59
resources
references, 67-68
security, 229-236
response time, 199
REST (Representational State Transfer), 189-194
Restore view, 129
review processes, 35
code, 60
Java, 62
page profiles, 139-144
requirements, 59-62
rich domain models, 100
roles, 229
access, 151
of architects, 5-6
mapping, 229
navigation, 153
of security architects, 221
running code examples, 277-280
S
SAAJ 1.3 (SOAP with Attachments API for Java), 181
sample applications, JSFs, 131-144
sample portlets, 161-172
saving profiles, 143
SCA (Service Component Architecture), 178
schemas, databases, 260
SDOs (Service Data Objects), 178
applications, 13
architecture, 237
authorization, 239-241
LTPA, 238
j_security_check, 227-228
resources, 229-236
filters, adding to login processes, 236-237
importance of, 219-220
role of security architects, 221
SQL injection, 222-225
WebSphere Application Servers, 153
security-constraint sections, 232
SEI (Software Engineering Institute), 246
selection of presentation frameworks, 125-126
servers
caching, 203-205
HTTP, 205
Service Component Architecture (SCA), 178
Service Data Objects (SDOs), 178
Service Oriented Architecture. See SOA
services
as business functions, 177-178
data elements, managing, 178
integration, 189
modeling, 177
REST, 189-194
testing, 184-187
types of, 178
Web, 179
credit limit services, 182-194
JAX-WS, 181-182
management, 180
performance, 179
standardization, 180
WebSphere, 9
servlets
HTML fragment caching, 214-216
ESI plug-in, 217
monitoring, 216-217
testing, 94
Session Initiation Protocol (SIP), 12
sessions, caching, 202-203
setters, 41
setup, 35
shared libraries, 54
business process layers, 122
configuring, 107-108
controlling, 117-118
implementing, 120-121
mapping, 114-116
testing, 116-117
viewing, 110-112
files, 151
single sign-on, LTPA, 238
SIP (Session Initiation Protocol), 12
sizing caches, 200-201
SOA (Service Oriented Architecture), 29, 151
implementing, 177
business functions, services as, 177-178
commitments, 178-179
managing service data elements, 178
service modeling, 177
overview of, 175-176
SOAP with Attachments API for Java (SAAJ 1.3), 181
software architects, 4. See also architects
software engineering
classes, 37
header information, 40
methods, 41
constants, 38
functions, 38
getters and setters, 41
inline comments, 41-42
interfaces, 37
internal documentation, 39
Java Logging API, 45-47
JSPs, 38
loggers, accessing, 43-44
logging, 42-43
method-level timers, 47-48
methods, 38
overview of, 34-35
packages, 37
standards
documentation, 36
naming, 36
System.out messages, 43
tracing, 42-43
variables, 38
Software Engineering Institute (SEI), 246
solution architects, 4
specialized architects, 4
specialized documents, 35
specifications, WebSphere, 13
Spring DAO framework, adding, 76-80
SQL (Structured Query Language)
customer mapping, 72-74
injection, 222-225
persistence frameworks, 66
SqlMapClientDaoSupport class, 76
staleness of cached data, 200
standards, 33-34
coding, 35
documentation, 36
JSF as, 146
logging, 50
naming, 36
Web services, 180
stone idol project methodology, 254
storage, 65
getters and setters, 41
store( ) method, 167
structures
files, configuring, 53-55
packages, 107
Struts, 146
switching modes, 168-172
System.out messages, 43
T
team spaces, 151
technology solutions, 251
terminology, performance, 199
testing
ACID, 82
business layers, 116-117
data sources, 275
dMaps, 209-214
iBatis frameworks, 80-81
middle tier layers, 105-107
services, 184-187
servlets, 94
unit requirements, 55-59
Web, troubleshooting, 58
throughput, 199
tiers, overview of, 22-23
timers, method-level, 47-48
trace-level logging, 47-48
tracing, 42-43
applying, 49
aspect-oriented programming, 51
exception/error handling, 51-53
transactions, iBatis frameworks, 82
troubleshooting
project methodologies, 254-255
validation, 142
Web testing, 58
of architects, 3-4
of caches, 201
of modules, 28
of persistence frameworks, 65-67
O/R mapping, 66
SQL-based, 66
of services, 178
U
unchecked exceptions, 51
unit testing, 105-107
requirements, 55-59
updates, model values, 129
user acceptance testing, 57
users
authentication, 225-227
j_security_check, 227-228
resources, 229-236
sessions, caching, 202-203
virtual portal technology, 151-152
V
validation
errors, 142
processes, 129
values
models, updating, 129
requests, 129
variables, 38
vendor-defined methodologies, 254
View mode, 159
viewing shared libraries, 110-112
views, Restore, 129
virtual portal technology, 151-152
W–Z
WAR files, deployment of, 24
WAS (WebSphere Application Server), 9-12
Scheduler, 14
Web Server Plug-ins, 205
waterfall project methodology, 254
Web application portals, comparing, 153-154
Web Service Interoperability (WS-I), 180
Web services, 179
credit limit services, 182-194
JAX-WS, 181-182
management, 180
performance, 179
standardization, 180
Web Services Addressing (WS-Addressing), 181
Web Services Reliable Messaging (WS-RM), 181
Web testing, troubleshooting, 58
web.xml files, 68
WebSphere
base containers, 12
data sources, creating, 266-273
extensions, 14
functionality, 15
overview of, 8-9
specifications, 13
WebSphere Application Server. See WAS
WebSphere Business Integration Primer: Process Server, BPEL, SCA, and SOA, 123
WebSphere Service Registry and Repository. See WSRR
wikis, communication with, 62-63
WS-Addressing (Web Services Addressing), 181
WS-I (Web Service Interoperability), 180
WS-RM (Web Services Reliable Messaging), 181
WSRR (WebSphere Service Registry and Repository), 251-253
XD (Extended Deployment), 201
XML (Extensible Markup Language), JAX-WS, 181-182
18.225.10.116