Beginning Helidon: Building Cloud-Native Microservices and Applications
معرفی کتاب «Beginning Helidon: Building Cloud-Native Microservices and Applications» نوشتهٔ Dmitry Kornilov , Daniel Kec , Dmitry Aleksandrov، منتشرشده توسط نشر Apress L. P. در سال 2023. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Learn how to build cloud-native microservices with Helidon - an open-source Java framework from Oracle. This book will show you how to take full advantage of the cloud by optimizing applications with fast start times, low memory consumption, and a small disk footprint. The open-source Helidon framework provides all that, and more. It’s based on Java 17, giving you full access to new code features. This book reveals how Helidon also supports modern enterprise Java standards such as MicroProfile. Plus, you'll see how Helidon lets you use GraalVM to build lightning-fast native executables, and its unique reactive layer allows you to develop efficient low-level APIs. Each chapter in the book teaches a new Helidon concept through practical examples based on real-life use-cases. You’ll learn how to add observability and security to your microservices, how to work with databases, and call other services. You'll also look at all MicroProfile 5.0 platform specifications as well as some stand-alone specs such as Messaging and Long Running Actions. Best of all, everything covered in this book makes it a great study guide for the upcoming Oracle Helidon certification - the perfect way to prove your new skills to a prospective employer! What You'll Learn Package microservices using JLink and GraalVM Deploy microservices to Kubernetes Review MicroProfile 5.0 specifications in detail Understand the basics of Helidon Reactive APIs Who This Book Is For Developers and architects who want to start developing cloud-native applications; developers who already use different Java framework and want to learn about Helidon; those interested in developing portable applications using MicroProfile and Jakarta EE Table of Contents 5 About the Authors 15 About the Technical Reviewers 17 Introduction 18 Preface 22 Chapter 1: Introduction 24 Introducing Helidon 26 Helidon Flavors 29 Helidon MP 32 Helidon SE 34 Which Flavor Should You Use? 35 Summary 37 Chapter 2: Your First Application 38 Generating Your First Application 38 Helidon CLI 39 Project Starter 44 Helidon Maven Archetypes 45 Analyzing Generated Project 46 Quickstart Application 46 Maven Project 50 CDI 51 RESTful Web Service 54 Build and Run 56 Packaging 57 Executable JAR 57 jlink Image 58 Native Image 60 Local Native Image Build 61 Docker Native Image Build 62 Deploying to Kubernetes 63 Summary 65 Chapter 3: Configuration 66 Expressions 68 Programmatic API 69 Config Sources 69 Converters 72 Automatic Converter 74 Aggregated Properties 74 Custom Converter 76 Profiles 79 Property Level 79 Config Source Level 80 Meta Configuration 80 YAML Config Source 82 Custom Config Source 84 Dynamic Config Source 86 Kubernetes ConfigMap 89 Environment Variables 89 Mounted Volume 90 Summary 92 Chapter 4: Observability 93 What Is Observability? 93 Health 95 Kubernetes Probes 95 MicroProfile Health 96 Adding Health Checks to Your Helidon Application 100 Using Project Starter 100 Using CLI 101 Adding Dependencies Manually 101 Built-in Checks 102 Custom Checks 104 Metrics 106 Adding MicroProfile Metrics Support to Your Helidon Application 110 Using Project Starter 110 Using CLI 111 Adding Dependencies Manually 111 Sample Application 112 MicroProfile Metrics REST API 112 Metrics Model 115 Metric Identity 115 Metric Scopes 116 Base Scope 117 Vendor Scope 117 Application Scope 118 Metric Metadata 118 Metrics Types 119 Using MicroProfile Metrics API 120 Counter 120 Using Annotations 120 Using Programmatic API 122 Gauge 124 Using Annotations 125 Using Programmatic APIs 126 Concurrent Gauge 126 Using Annotations 127 Using Programmatic API 129 Histogram 130 Using Programmatic API 133 Meter 135 Using Annotations 137 Using Programmatic APIs 138 Simple Timer 139 Using Annotations 140 Using Programmatic API 141 Timer 142 Using Annotations 145 Using Programmatic API 146 Tracing 147 Distributed Tracing 148 Adding Tracing to Your Helidon Application 150 Using Project Starter 150 Using CLI 151 Adding Dependencies Manually 151 Helidon Tracing Implementation 152 Helidon Built-in Spans 153 MicroProfile OpenTracing API 155 Configuration 156 Enabling/Disabling Tracing 157 Renaming a Top-Level Span 159 Logging 159 Logging in Helidon 162 Mapped Diagnostic Context (MDC) 163 MDC with JUL 164 MDC with Log4j 165 MDC with SLF4J 168 Summary 169 Chapter 5: Communicating with Other Services 171 MicroProfile Rest Client 173 Integration with MicroProfile Config 178 Exception Handling 180 Modifying Requests and Responses 182 Handling Headers 186 Asynchronous Operations 190 Programmatic APIs 191 MicroProfile Rest Client Conclusion 192 JAX-RS Client API 192 Providers 197 Asynchronous Operations 200 JAX-RS Client API Conclusion 201 CORS 201 Summary 206 Chapter 6: Accessing Data 207 Low-Level Data Access with JDBC 208 Working with DataSource 211 Data Access with JPA 214 Transactions 224 Summary 228 Chapter 7: Resiliency 229 Retry 230 Fallback 232 Asynchronous 233 Timeout 236 Circuit Breaker 239 Bulkhead 241 Fault Tolerance and CDI 244 Summary 247 Chapter 8: Security 248 Serving HTTPS 249 Helidon Security 254 Basic Authentication 259 JSON Web Token 262 MicroProfile JWT RBAC 265 OpenID Connect 269 Token Propagation 273 Configuration of Secrets 276 AES-GCM Encryption 277 RSA Encryption 278 Plain Text Password Detection 279 Summary 280 Chapter 9: Using OpenAPI 282 About OpenAPI 282 Basic Usage 284 Static OpenAPI Files 287 Automatic Client Generation 288 Summary 290 Chapter 10: Testing Your Helidon Application 291 Testing in Helidon 291 Testing with JUnit 5 292 Advanced Usage 296 Testing with TestNG 299 Work with Testcontainers 299 The Other Way Around 303 Summary 305 Chapter 11: Scheduling Tasks 306 Scheduling in Helidon 307 Simple Scheduling in Helidon 309 Scheduling in Kubernetes 311 Summary 314 Chapter 12: Integration with Other Technologies 315 Neo4j 315 Enabling Metrics and Health Checks 318 Coherence 319 Integrating with Helidon 319 Verrazzano 325 Deploying the Helidon Wizard Application 326 Summary 333 Chapter 13: Going Reactive 334 Reactive Streams 335 Reactive Operators 337 Marble Diagrams 338 MicroProfile Reactive Streams Operators 340 of 346 empty 347 failed 347 generate 348 iterate 348 fromCompletionStage 349 fromCompletionStageNullable 350 fromPublisher 351 concat 352 map 352 peek 353 filter 354 limit 355 takeWhile 356 dropWhile 357 skip 358 flatMap 359 flatMapCompletionStage 360 flatMapIterable 361 onComplete 361 onError 362 onErrorResume 362 onErrorResumeWith 364 onTerminate 365 cancel 365 reduce 365 distinct 366 findFirst 367 forEach 369 ignore 370 toList 370 to 371 via 372 Helidon Reactive Operators 372 Reactive Messaging 375 Channel 376 Emitter 380 Message 381 Acknowledgment 382 No Acknowledgment 384 Messaging Health 385 Messaging Connectors 386 Kafka Connector 388 Nack Strategies 390 JMS Connector 392 Injected ConnectionFactory 393 Lookup ConnectionFactory over JNDI 394 Destination 395 Message 397 javax vs. jakarta JMS 398 WebLogic JMS Connector 399 WebLogic Destination CDI Syntax 401 Non-Distributed Destinations 401 Uniform Distributed Destinations (UDDs) 401 JNDI Destination 403 Oracle AQ Connector 403 Single Consumer Queue 404 Multi-Consumer Queue 406 Mock Connector 408 Summary 411 Chapter 14: Long Running Actions (LRA) 412 LRA Transaction 413 Context Propagation 417 Participant 418 Complete 420 Compensate 421 Status 422 Forget 423 AfterLRA 424 Leaving LRA 426 Non-JAX-RS Participant Methods 427 Asynchronous Compensation 428 LRA Coordinator 429 Narayana LRA Coordinator 430 MicroTx 431 Experimental Helidon LRA Coordinator 434 Online Cinema Booking System 434 Summary 442 Chapter 15: Helidon SE 443 Helidon SE Basics 443 Generating Helidon SE Application 444 Using Project Starter 444 Using CLI 446 Analyzing the Generated Project 446 Main Method 448 Creating and Starting a Web Server 449 Configuration 450 Routing 451 RESTful Services 453 Health Checks 454 Metrics 455 Building and Packaging 457 Other Helidon SE Features 458 Summary 459 Index 461 df-Capture.PNG 1
دانلود کتاب Beginning Helidon: Building Cloud-Native Microservices and Applications