Muutke küpsiste eelistusi

JBoss in Action: Configuring the JBoss Application Server [Pehme köide]

  • Formaat: Paperback / softback, 496 pages, kõrgus x laius x paksus: 235x190x30 mm, kaal: 840 g, Illustrations
  • Ilmumisaeg: 29-Jan-2009
  • Kirjastus: Manning Publications
  • ISBN-10: 1933988029
  • ISBN-13: 9781933988023
Teised raamatud teemal:
  • Pehme köide
  • Hind: 58,59 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 496 pages, kõrgus x laius x paksus: 235x190x30 mm, kaal: 840 g, Illustrations
  • Ilmumisaeg: 29-Jan-2009
  • Kirjastus: Manning Publications
  • ISBN-10: 1933988029
  • ISBN-13: 9781933988023
Teised raamatud teemal:
HIGHLIGHT

JBoss in Action teaches readers how to use the JBoss application server, digging

into the things that separate JBoss from other Java EE servers. This book goes

deeply into the advanced features and configuration of the server. In particular,

it focuses on enterprise-class topics, such as high availability, security, and

performance.

DESCRIPTION

JBoss in Action is the first book to focus on teaching readers in detail how to use

the JBoss application server. Unlike other titles about JBoss, the authors of JBoss

in Action go deeper into the advanced features and configuration of the server.

In particular, it focuses on enterprise-class topics, such as high availability,

security, and performance.

This book walks readers through the JBoss 5 Application Server from installation

to configuration to production deployment. It shows how to configure the

servers various component containers such as the JBoss Web Server, the EJB 3

server, and JBoss Messaging. It also provides detailed insight into configuring the

various component services such as security, performance, and clustering.

Beyond coverage of the core application server, the book also teaches how to use

some of the hot technologies that run on top of the application server, such as

JBoss Seam and JBoss Portal.

The authors, both seasoned professional experts at developing and administering

JBoss, provide meaningful explanations and background on many topics

which they tie in with their own practical, real-world advice from their

collective experience. These uniquely comprehensive explanations and the wide

coverage provided in this book surpass any other content currently available in

any other book, article, or documentation on the subject.

KEY POINTS

First book to focus on how to use the JBoss application server

Written by expert authors who share their real-world experiences

Comprehensive coverage of topic surpasses any other book or article

Teaches how to use hot technologies such as JBoss Seam and JBoss Portal

MARKET INFORMATION

The JBoss Application Server is a Java-based application server; a software-based

server that can run software components that developers build. The JBoss

Application Server is compliant with the Java Enterprise Edition 5 specification

defined by the Java Community Process. Anyone interested in working with the

JBoss Application Server would be interested in this book. This includes developers

writing Java EE applications, as well as administrators responsible for maintaining

the JBoss Application Server.
preface xvii
acknowledgments xx
about this book xxii
about the cover illustration xxix
PART 1 THE JBOSS APPLICATION SERVER 1
1 Vote for JBoss
3
1.1 Introducing JBoss
4
What is JBoss?
4
Exploring the JEMS lineup
6
Why is JBoss AS so popular?
7
1.2 Installing JBoss Application Server
9
Preparing for the installation
10
Installing from the binary distribution
11
Using the JEMS Installer
11
1.3 Exploring the installation
13
The bin directory
13
The client directory
14
The dots directory
15
The lib directory
15
The server directory
15
Understanding server configurations
16
Exploring the configuration structure
17
Customizing your configuration
19
1.4 Starting and stopping the server
20
Starting the server
20
Starting an alternative configuration
21
Verifying that the server is running
22
Stopping the server
23
1.5 Deploying to the server
23
Creating the application
24
Deploying the application
25
Undeploying the application
26
1.6 Summary
27
1.7 References
27
2 Managing the JBoss Application Server
28
2.1 Examining the JBoss Application Server architecture
29
Understanding the micro container
29
Understanding JMX
31
2.2 Configuring the application server
33
Configuring logging
34
Configuring directory locations
37
Defining system properties
39
2.3 Exploring the management tools
40
Using the JMX Console
40
Using the twiddle utility
42
2.4 Examining interesting MBeans
43
Viewing system properties
44
Viewing the JNDI namespaces
44
Changing the logging levels
45
Increasing the thread pool size
46
Obtaining application server information
46
2.5 Summary
46
2.6 References
46
3 Deploying applications
47
3.1 Understanding deployment
48
Deploying an application
48
Understanding application packaging
49
Understanding application types
50
Understanding deployment ordering
52
Deployment configuration options
52
3.2 Understanding class loading
55
Understanding multiple class loaders
55
Scoping classes
56
Understanding loader repositories
57
3.3 Fixing common deployment errors
58
Class not found exception
58
Duplicate JAR files
59
Zip file errors
60
Class cast exception
60
3.4 Deploying miscellaneous applications
61
Deploying data sources
61
Deploying a Hibernate archive
67
3.5 Summary
72
3.6 References
72
4 Securing applications
73
4.1 Understanding security
71
Understanding application security
75
Understanding authentication
76
Understanding authorization
77
Configuring security
78
Dynamic login configuration 80
Logging security on the server
81
4.2 Using secure communication
82
Understanding symmetric and asymmetric encryption
82
Understanding certificates and source authentication
84
Creating and signing certificates
85
Modifying the cacerts file
87
Understanding certificate-based client authentication
87
Configuring an SSL-aware security domain
90
4.3 Configuring login modules
91
Using the file-based login module
92
Using the database login module
94
Using the LDAP login module
95
Using the identity login module
102
Stacking login modules
102
Using the client certificate login module
104
4.4 Summary
105
4.5 References
105
PART 2 APPLICATION SERVICES 107
5 Configuring JBoss Web Server
109
5.1 Understanding web applications
110
Understanding the web application structure
110
Understanding web application configuration
111
5.2 Configuring JBoss Web Server
115
Locating key directories
115
Exploring JBoss Web Server Configuration
116
Exploring the WAR deployer configuration file
119
5.3 Configuring URL paths
120
Enabling virtual hosts
121
Configuring context paths
123
Changing the root context path
125
5.4 Configuring connectors
126
Understanding connector configuration
128
Configuring concurrency
129
Configuring timeouts
129
Configuring a proxy hostname and port
129
5.5 Configuring web class loading
129
5.6 Using values
130
5.7 Configuring JavaServer Faces
132
5.8 Summary
133
5.9 References
134
6 Securing web applications
135
6.1 Configuring web security
136
Configuring security in web.xml
137
Configuring security in jbossweb.xml
139
Configuring security in server.xml
139
6.2 Authenticating users
140
Understanding the web authentication strategies
141
Basic authentication
142
Form-based authentication
144
Digest authentication
145
6.3 Authorizing users
146
Configuring authorization
146
Allowing access to any authenticated user
147
6.4 Encrypting web communication
148
Enabling HTTPS
148
Enabling transport guarantees
150
Enabling mutual authentication
152
Creating browser certificates
153
6.5 Enabling client-certificate authentication
154
Enabling protocol-level mutual authentication
155
Setting the authentication method
155
Specifying the JaasSecurityDomain MBean
155
Specifying the security domain
156
Pointing to the security domain from the application
156
Selecting a strategy for forming the principal from the certificate
157
Adding principals and roles to the authorization datastore
157
Adding the client's certificate to the server's truststore
158
Creating a browser certificate
158
6.6 Changing the default security domain
159
6.7 Summary
159
6.8 References
160
7 Configuring enterprise applications
161
7.1 Understanding EJBs
162
Understanding session beans
164
Understanding Hibernate and JPA
165
Understanding enterprise packaging
166
7.2 Creating an EJB application
167
Coding the example application
168
Packaging and panning the example application
171
7.3 Understanding EJB configuration
172
Where does everything go?
172
Configuring EJB applications
173
Configuring the EJB server
176
7.4 Configuring session beans
177
Changing the JNDI binding
177
Looking up a session bean
179
Configuring EJB containers
179
7.5 Configuring entity persistence
182
Injecting Hibernate objects
182
Deploying Hibernate mappings
183
7.6 Creating JMX service objects
184
Creating a service object
184
Running the sample application
186
Accessing MBeans without injection
187
7.7 Configuring the transport protocol
188
Understanding transport configuration
188
Changing the transport
190
7.8 Securing EJBs
191
Securing EJBs via annotations
192
SecuringEJBs via configuration
194
Nonintegrated security
195
Securing EJB communication
197
7.9 Summary
199
7.10 References
200
8 JBoss Messaging
201
8.1 Understanding messaging systems
202
Understanding messaging system architectures
202
Understanding the messaging models
203
Understanding the JMS API
204
Understanding the JBoss Messaging architecture
206
8.2 Developing a JMS application
207
Coding the example application
207
Packaging and running the example application
213
8.3 Using message-driven beans
214
Creating an MDB
215
Packaging an MDB
217
Using a descriptor file with an MDB
218
8.4 Using message-driven POJOs
219
Implementing a message-driven POJO consumer
219
Implementing a message-driven POJO producer
221
Packaging a message-driven POJO
222
8.5 Configuring JBoss Messaging
222
Configuring a data source
223
Configuring access control
224
Configuring destinations
227
Updating the application
228
Running the modified example
229
Updating the MDB
230
Configuring secure message transport
230
8.6 Summary
233
8.7 References
234
9 Configuring Web Services
235
9.1 Understanding Web Services
236
Understanding web service terminology
237
Understanding SOAP binding styles
237
9.2 Developing a web service
238
Coding the web service
238
Packaging the web service
239
Manually generating the WSDL
240
Developing a web service using the top-down strategy
241
Developing the client
242
Developing a C# client
244
Revisiting the SOAP binding styles
245
9.3 Exploring JBossWS annotations
246
Understanding the WebContext annotation
246
Understanding the EndpointConfig annotation
248
9.4 Securing a web service
249
Authorizing web service access
249
Defining the security realm
250
9.5 Encrypting SOAP messages
252
Generating the certificate
253
Securing the server using WS-Security
254
Securing the client using WS-Security
256
Signing the messages using WS-Security
258
9.6 Summary
260
9.7 References
260
10 The JBoss Portal and portlets
263
10.1 Introducing the JBoss Portal
264
Understanding JSR-168
265
Understanding portal terminology
265
Installing the JBoss Portal
266
Administering the JBoss Portal
268
10.2 Creating a portlet
270
Coding the Image portlet
270
Coding the JSP-related source files
275
Understanding the portlet descriptors
279
Building and deploying the portlet
282
10.3 Creating a portlet instance
283
Creating an instance using the portlet instance.xml file
283
Creating an instance using the Admin portlet
284
10.4 Declaring a portlet window
284
Declaring a portlet window using the * object.xml file
284
Declaring a portlet window using the Admin punk
285
10.5 Summary
288
10.6 References
288
11 Configuring the JBoss Portal
289
11.1 Configuring window appearance
290
Configuring window appearance using *-object.xml
291
11.2 Working with multiple windows and instances
292
Configuring multiple instances and windows using the descriptor files
293
11.3 Working with the CMS portlet
295
Gathering example CMS data
296
Displaying the new content
297
Accessing CMS content
298
11.4 Securing the Portal
299
Creating a new account
299
Managing roles
300
Understanding access control
301
11.5 Developing a custom portal
308
Defining the requirements
308
Making the proposal
308
Defining the portal
309
Customizing the theme
312
Customizing CMS content
315
Packaging the portal
316
11.6 Summary
318
12 Understanding clustering
321
12.1 Understanding clustering
322
Load balancing
322
Cluster topology and makeup
325
Automatic discovery and multicasting
327
High availability
328
Replication and fault tolerance
329
State passivation
332
Distribution versus clustering
333
12.2 Setting up a simple cluster
334
Bringing up a JBoss cluster
334
Creating a clustered EJB
336
Deploying your application
337
Calling the clustered EJB
337
12.3 Understanding JBoss clustering
338
Understanding the JGroups architecture
339
Configuring JBoss clustering services
340
Configuring the protocol stack
343
12.4 Configuring JBoss Cache
346
Examining the JBoss Cache configuration files
347
Deciding what to cache
350
12.5 Summary
351
12.6 References
352
13 ClusteringJBoss AS services
353
13.1 HTTP load balancing
354
Load balancing with native web servers
355
Load balancing with hardware
356
13.2 HTTP session replication
356
Configuring replication
356
Understanding session usage
357
Using field-level replication
359
Configuring passivation
360
13.3 Clustering session beans
361
Load balancing session beans
362
Replicating stateful session beans
363
13.4 Clustering entities
364
Replicating the entity cache
364
13.5 Clustering JNDI
367
Understanding the HA-JNDI service
367
Enabling HA-fNDI
369
Accessing HA-JNDI
370
Deciding whether to use HAJNDI
371
13.6 Summary
372
13.7 References
373
14 Tuning the JBoss Application Server
374
14.1 Defining performance
375
14.2 Performance tuning methodology
376
Holistic performance tuning
376
Performance analysis test cycle
377
14.3 Tuning the hardware and network
379
Setting network card Aimed
380
Choosing the number of CPUs
381
Choosing 32-bit or 64-bit
381
14.4 Tuning the OS
382
Understanding processor affinity
382
14.5 Tuning the JVM
384
Understanding the Java heap
385
Understanding garbage collection
387
Gathering garbage collection data
389
Choosing heap settings
396
Resolving out of memory exceptions
397
Exploring more tuning options
397
14.6 Tuning JBoss AS
398
Configuring data sources
398
Configuring the HTTP request thread pool
400
Tuning the JSP servlet
401
14.7 Tuning your application
402
Avoiding System.gc
403
Taking a thread dump
403
14.8 Summary
406
14.9 References
407
15 Going to production
408
15.1 Selecting a platform
409
Selecting a JVM
409
Selecting a JBoss AS version
410
Selecting a platform
413
15.2 Collocating multiple application server instances
414
Preventing file clashes
414
Preventing port clashes
415
Shutting down multiple nodes
422
15.3 Removing unwanted services
422
15.4 Securing the server applications
423
Removing the server applications
424
Adding security to the server applications
424
Limiting access to the local machine
424
15.5 Changing the default database
425
Configuring the EJB3 timer service
426
15.6 Starting the application server as a service
427
Registering a service in Windows
428
Registering multiple services
429
Registering a service in Linux
432
15.7 Configuring JSP compilation
434
15.8 Summary
435
15.9 Resources
436
appendix A JNDI namespaces 437
appendix B Change is inevitable 442
Index 453
Javid Jamae

started his career in software in the mid 90s programming in C, C++,

and PERL, but quickly realized the virtues of the Java programming language. He

is a certified JBoss instructor and teaches courses in Hibernate and the JBoss

Application Server. Javid is also an Agile evangelist and spends a large portion of

his time transforming, coaching, and training organizations in using Agile

methodologies.

Peter Johnson started working in Java in 1998, and was lead designer on projects

such as a JDBC driver for the DMSII database that runs on Unisys mainframes.

For the past several years he has been chief architect on a team that does performance

analysis of Java applications on large-scale Intel-based machines (8 to

32 CPUs), and evaluates various open source software for enterprise readiness.

Peter is a JBoss committer, working on the new admin console. Peter speaks often

on Java and open-source related topics at various industry conferences.