00 Days 00 hours 00 minutes 00 seconds

Your last chance! Enjoy 30% off with promo code 'Lituz'!

Pro Jakarta EE 10: Open Source Enterprise Java-based Cloud-native Applications Development (2023) – Peter Späth

33990 UZS

-Do'stlaringizga tafsiya etish!

Description

«Pro Jakarta EE 10: Open Source Enterprise Java-based Cloud-native Applications Development» by Peter Späth (2023) is a comprehensive guide tailored for developers looking to harness the full potential of Jakarta EE 10. This book delves into the intricacies of building robust, scalable, and cloud-native applications using enterprise-grade Java technologies.

Peter Späth provides a thorough exploration of the Jakarta EE platform, covering key topics such as microservices architecture, containerization, and the latest advancements in cloud-native application development. Readers will gain a deep understanding of how to leverage open-source tools and frameworks to create high-performance applications that can seamlessly integrate with modern cloud environments.

The book is structured to cater to both beginners and experienced developers, offering practical examples, detailed explanations, and hands-on projects that illustrate the core principles and best practices of Jakarta EE 10. From setting up your development environment to deploying applications in the cloud, «Pro Jakarta EE 10» serves as an essential resource for anyone aiming to excel in the rapidly evolving field of enterprise Java development.

Additional information

Number of pages:

484

Mundarija

Chapter 1: Installing a Development Server……………. 3
Installing and Running Under Linux …………………… 4
Installing and Running Under Windows …………………. 5
GlassFish Application Debugging……………………. 6
Elaborated GlassFish Operation Instructions ……………….. 6
Chapter 2: Creating and Building Projects with Eclipse……….. 7
Installing Eclipse…………………………. 7
Configuring Eclipse ………………………… 9
Adding Java Runtimes ………………………. 10
Adding Plugins …………………………. 10
Using Eclipse to Administer a Jakarta EE Server……………… 11
Eclipse Everyday Usage ………………………. 19
Changing the Project Layout…………………….. 20
Chapter 3: Development with NetBeans as an IDE …………. 23
Installing NetBeans ………………………… 23
Starting a NetBeans Project…………………….. 24
Multi-IDE Projects ………………………… 25
Table of Contents
vi
Chapter 4: Git and Subversion……………….. 27
The Subversion Version Control System …………………. 27
Subversion Clients ………………………… 32
The Git Version Control System……………………. 36
Git Clients…………………………… 39
Chapter 5: Continuous Integration………………. 43
The Jenkins CI Server……………………….. 43
Starting a Jenkins Project……………………… 44
Build Triggers ………………………….. 46
Creating Real-World Builds ……………………… 49
Triggering Builds from Git ……………………… 53
Triggering Builds from Subversion…………………… 55
Analyzing Jenkins Builds via REST …………………… 56
Chapter 6: Corporate Maven Repositories……………. 61
The Maven Repository Layout…………………….. 63
A Simple Server to Provide Mavenized Artifacts………………. 64
The Marvin EAR Root Project……………………. 65
The Marvin Web Project……………………… 69
The Marvin EJB Project ……………………… 70
Laying Out the Projects Again…………………… 71
The Web Project Code……………………… 72
The EJB Project Code ……………………… 75
Building and Deploying the EAR ………………….. 79
Using the Corporate Repository…………………… 79
A Sample Java Library……………………… 80
Building and Uploading Company Libraries ……………….. 82
Part II: Advanced Web Tier Topics …………….87
Chapter 7: Facelets……………………. 89
Faces Templating via Facelets ……………………. 89
Installing Facelets………………………… 90
Table of Contents
vii
Facelets Tags Overview ………………………. 91
The <ui:include> Tag………………………. 91
First Variation of the <ui:composition> Tag ………………. 91
Second Variation of the <ui:composition> Tag……………… 91
The <ui:insert> Tag ………………………. 92
The <ui:define> Tag ………………………. 93
The <ui:param> Tag………………………. 93
The <ui:component> Tag …………………….. 93
The <ui:decorate> Tag ……………………… 94
The <ui:fragment> Tag……………………… 95
The <ui:repeat> Tag………………………. 96
The <ui:debug> Tag ………………………. 97
An Example Facelets Project…………………….. 98
Chapter 8: Faces Custom Components…………….. 111
Custom Tag Libraries ………………………. 111
Composite Components ……………………… 114
Custom Components in Java…………………….. 117
Chapter 9: Flows……………………. 119
The Flow Process………………………… 119
Basic Flow Setup ………………………… 120
Overriding Conventions………………………. 123
Specifying a Different Flow Start Page……………….. 124
Specifying a Different Return Page …………………. 124
Programmatic Configuration…………………….. 125
Handling Flow Outcome……………………… 127
Passing Data Between Flows……………………. 127
Chapter 10: Websockets…………………. 131
Websockets on the Server Side …………………… 131
Websockets on the Client Side……………………. 135
Table of Contents
viii
Chapter 11: Frontend Technologies ……………… 137
No Third-Party Frontend Technology………………….. 138
Play 2 ……………………………. 139
React…………………………….. 139
Angular 2…………………………… 141
Spring Boot ………………………….. 142
Vue …………………………….. 142
Spring MVC ………………………….. 143
Ember……………………………. 144
Act.Framework…………………………. 145
Apache Struts 2…………………………. 145
GWT…………………………….. 146
Vaadin ……………………………. 147
DataTables ………………………….. 147
D3js…………………………….. 148
Chapter 12: Form-Based Authentication ……………. 149
Enabling Security on the Sever……………………. 149
Form-Based Authentication for Faces…………………. 151
Security Role Mapping………………………. 154
Form-Based Authentication XHTML Code ………………… 155
Chapter 13: Client Certificates……………….. 159
Preparing Scripting ……………………….. 159
Generating Client Certificates ……………………. 160
Storing the Client Certificate in the Browser ………………. 163
Storing the Client Certificate on the Server ……………….. 164
Client Certificate Web Applications ………………….. 166
Additional GlassFish Configuration ………………….. 168
Client Certificate Example……………………… 169
Table of Contents
ix
Chapter 14: REST Security………………… 175
Security Constraints for REST URLs………………….. 176
About JSON Web Tokens ……………………… 176
Preparing GlassFish ……………………….. 178
The JWT Login Process, Client Code………………….. 178
Server Code ………………………….. 184
The JWT Login Process, Server Code …………………. 185
Sending JWTs Back to the Server…………………… 190
Handling JWTs in REST Endpoints ………………….. 191
Chapter 15: JAVA MVC………………….. 195
About MVC…………………………… 195
Installing Java MVC……………………….. 196
Configuration Files ……………………….. 198
Static Files ………………………….. 203
Model Classes…………………………. 203
Controller Classes ………………………… 206
Messages…………………………… 212
View Pages………………………….. 214
Running the Pet Shop Application…………………… 223
Part III: Advanced Architecture Related Topics ………..225
Chapter 16: Microprofiles…………………. 227
Starting a MicroProfile Sample Project…………………. 229
Installing a MicroProfile Server……………………. 231
Changing the Application to a Microservice……………….. 231
Deploying and Running the Microservice ………………… 234
Chapter 17: Custom CDI…………………. 241
CDI Specification………………………… 241
Building Object Graphs ………………………. 242
Qualifiers…………………………… 246
Table of Contents
x
Alternatives………………………….. 249
Producers…………………………… 251
Scope ……………………………. 253
Interceptors………………………….. 255
Decorators…………………………… 255
Chapter 18: Interceptors…………………. 257
CDI Interceptors ………………………… 257
JPA Lifecycle Listeners ………………………. 261
Servlet Listeners ………………………… 263
Faces Phase Listeners ………………………. 264
Chapter 19: Bean Validation ………………… 267
Where to Use Bean Validation ……………………. 268
How to Add Constraints………………………. 269
Built-in Constraints ……………………….. 269
Custom Constraints……………………….. 272
Bean Validation Exceptions…………………….. 274
Chapter 20: Jakarta EE Concurrency…………….. 277
Preparing the Jakarta EE Server…………………… 277
Using a ManagedExecutorService ………………….. 278
Using a ManagedScheduledExecutorService………………. 280
Using the ManagedThreadFactory ………………….. 283
Enterprise Concurrency and Transactions………………… 284
Chapter 21: Batch Processing ……………….. 285
Batch Processing Concepts …………………….. 285
Preparing the Server for Batch Processing……………….. 286
An Employee Attendance Example Batch Processing……………. 287
Starting a Batch Processing EAR Project………………… 288
Example Data Preparation …………………….. 293
Job Definition File ………………………… 293
Table of Contents
xi
Batch Processing Scheduling ……………………. 295
Batch Processing Java Artifacts…………………… 296
Building and Deploying the Application ………………… 303
Part IV: Useful Supporting Technologies…………..305
Chapter 22: XML Binding…………………. 307
Why JAXB Is So Complicated ……………………. 307
Writing a Java Object Tree as XML………………….. 309
Adding a Schema………………………… 313
Transforming from XML to Java…………………… 316
Generating Java Classes from Schemas………………… 317
Chapter 23: JSON Handling ………………… 319
JSON Documents ………………………… 319
JSON with REST Services ……………………… 320
Generating JSON………………………… 323
Parsing JSON …………………………. 324
Binding JSON to Java Objects……………………. 325
Chapter 24: Jakarta Mail…………………. 331
Installing Jakarta Mail………………………. 331
Generating and Sending Emails…………………… 331
Chapter 25: Application Client (Groovy) ……………. 335
Providing an Enterprise Application ………………….. 335
Building an Application Client ……………………. 337
Running a GroovyConsole Application Client ………………. 338
Chapter 26: Adding Scripting Languages ……………. 341
Installing Scripting Engines …………………….. 341
Using Scripting in Java ………………………. 342
Table of Contents
xii
Part V: Advanced Resource Related Topics …………345
Chapter 27: Hibernate as ORM ……………….. 347
Installing Hibernate……………………….. 347
Adapting the Persistence Configuration………………… 348
Fetching the Hibernate Session…………………… 349
Chapter 28: Connectors …………………. 351
Coding a Resource Adapter…………………….. 351
Packaging and Deploying a Resource Adapter ………………. 366
Deployment Descriptors……………………… 369
Resource Adapter Deployment……………………. 369
Defining a Resource Adapter on the Server……………….. 370
Resource Adapter Clients……………………… 371
Chapter 29: Caching …………………… 373
Installing Ehcache………………………… 373
Configuring Hibernate for Ehcache………………….. 374
Defining Cached Objects in the Code…………………. 377
Monitoring Caching Activities ……………………. 378
Chapter 30: NoSQL…………………… 381
Using CouchDB from Jakarta EE Applications………………. 381
Using MongoDB from Jakarta EE Applications………………. 385
Part VI: Security Enhancements ……………..389
Chapter 31: Secured JMX…………………. 391
Using SSL for Remote JMX Connections………………… 391
Generating the SSL Keys……………………… 391
Configuring the Server………………………. 395
Configuring the Client ………………………. 395
Disabling Random JMX Ports……………………. 397
Table of Contents
xiii
Chapter 32: Java Web Tokens with Encryption………….. 399
Installing Jose4j………………………… 400
Encrypting Claims ………………………… 400
Decrypting Claims………………………… 403
Further Reading ………………………… 405
Chapter 33: Java Enterprise Security…………….. 407
Form-Based Authentication …………………….. 407
The Security API………………………… 408
Authentication Data: IdentityStore ………………….. 408
Authentication Methods: HttpAuthenticationMechanism…………… 410
Part VII: Advanced Monitoring and Logging …………413
Chapter 34: Monitoring Workflow ……………… 415
Using JMX as a Monitoring Technology ………………… 415
Enabling Remote JMX………………………. 417
MBeans in Jakarta EE Applications………………….. 418
Aggregating Values ……………………….. 420
JMX Clients ………………………….. 423
Monitoring Frameworks……………………… 425
Chapter 35: Logging Pipeline with Fluentd…………… 427
Installing Fluentd ………………………… 428
Running Fluentd………………………… 429
Using Logfiles as Input………………………. 430
Filtering……………………………. 432
Using Multiple Routes ………………………. 433
Fluentd Output …………………………. 435
Further Reading ………………………… 436
Table of Contents
xiv
Chapter 36: Performance Troubleshooting …………… 437
Load and Performance Tests…………………….. 437
NFR Testing Methodology ……………………. 438
Where to Run NFR Tests …………………….. 440
NFR Test Duration………………………. 441
NFR Tests with JMeter……………………… 441
Frontend Tests with Selenium …………………… 445
Analyzing Performance Figures …………………… 446
Reducing the File Size……………………… 446
Plotting a Performance Chart …………………… 447
No Min or Max, Please……………………… 449
Code-Level Monitoring with VisualVM …………………. 450
Code Optimization………………………… 452
Chapter 37: Garbage Collection………………. 455
The Importance of Garbage Collectors…………………. 455
G1 Garbage Collector ………………………. 456
Shenandoah GC…………………………. 456
Zero Garbage Collector ………………………. 456
Garbage Collector Logs………………………. 457
Chapter 38: Memory Troubleshooting …………….. 459
Identifying Memory Leaks……………………… 459
More Evidence: Heap Dumps ……………………. 463
Analyzing Heap Dumps ………………………. 466
Chapter 39: Custom Log4j Appender…………….. 473
Including Log4j…………………………. 475
A Statistics Appender………………………. 475
Index………………………… 481

Reviews

There are no reviews yet.

Be the first to review “Pro Jakarta EE 10: Open Source Enterprise Java-based Cloud-native Applications Development (2023) – Peter Späth”

Your email address will not be published. Required fields are marked *

Similar books

Home
Ebooks
0
Cart
My Account