Index
A
- A/B testing
- concept / Explaining the concept of A/B testing
- group of end users, defining / Defining a group of end users
- servers, defining to version / Defining the servers to receive a new version
- version, deploying / Deploying the new version
- version, impact evaluating / Evaluating the impact of a new version
- Abstract Factory pattern
- about / Explaining the Gang of Four design patterns
- explaining / Explaining Abstract Factory
- advice / Interceptors in the JEE platform
- API Gateway / The application is decomposed into smaller components, The API Gateway
- ApplicationController / The application controller pattern
- application controller pattern
- about / The application controller pattern
- DownloadFrontController, implementing / Implementing DownloadFrontController
- DownloadApplicationController, implementing / Implementing DownloadApplicationController
- commands, implementing / Implementing commands
- versus front controller pattern / The difference between the application controller and front controller patterns
- Application Server / Inside a monolithic application
- aspect-oriented programming (AOP)
- about / Aspect-oriented programming
- compile-time, versus run-time / Compile-time versus run-time AOP
- in JEE scenario / AOP in JEE scenario – the interceptor
- decorator pattern / Decorator
- asynchronous EJB method
- concept / Explaining the concept of an asynchronous EJB method
- CDI event, difference between / Difference between an asynchronous EJB method and an event in CDI
- implementing / Implementing an asynchronous EJB method
- asynchronous events
- producers / Asynchronous events – producers and observers
- observers / Asynchronous events – producers and observers
- asynchronous REST service
- concept / Explaining the concept of an asynchronous REST service
- implementing / Implementing an asynchronous REST service
- EJBs, implementing / Implementing the EJBs
- FileUploadResource class, implementing / Implementing the FileUploadResource class
- client API, implementing / Implementing the client API
- authentication interceptor
- about / Explaining the authentication interceptor
- implementing / Implementing the authentication interceptor
- CDI interceptor, implementing / Implementing the CDI interceptor
- JAX-RS resource, implementing / Implementing the JAX-RS resource
- authentication mechanism
- explaining / Explaining the authentication mechanism
- about / Explaining basic authentication
- form authentication / Explaining form authentication
- digest authentication / Explaining digest authentication
- client authentication / Explaining client authentication
- mutual authentication / Explaining mutual authentication
- deployment descriptor, using / When to use the deployment descriptor, annotation, or programmatic configuration
- annotation, using / When to use the deployment descriptor, annotation, or programmatic configuration
- programmatic configuration, using / When to use the deployment descriptor, annotation, or programmatic configuration
- implementing / Implementing the authentication mechanism
- web.xml file, implementing / Implementing the web.xml file
- HelloWorld class, implementing / Implementing the HelloWorld class
- HelloWordServlet class, implementing / Implementing the HelloWordServlet class
B
- bean / The bean
- blue/green deployment
- concept / Explaining the concept of blue/green deployment
- about / Explaining the concept of blue/green deployment
- group of servers, defining / Defining the group of servers to receive the first deployment
- application, deploying to group of servers / Deploying the application to a group of servers
- application, deploying to server / Deploying the application to the remaining server
- business-object pattern
- about / Explaining the business-object pattern
- applications, with complex business rules / Applications with complex business rules
- using / Motivation for using the business-object pattern
- benefits / Benefits of business-object pattern usage
- implementing / Implementing the business-object pattern
- Business Delegate pattern
- about / Explaining the Business Delegate pattern, Business Delegate – obsolete or not
- client tier / Client tier, presentation tier, and business tier
- presentation tier / Client tier, presentation tier, and business tier
- business tier / Client tier, presentation tier, and business tier
- layers / Layers
- tiers / Tiers
- scenario / The classic Business Delegate pattern scenario
- benefits / The benefits of the Business Delegate pattern
- business tier / Understanding the business tier
C
- cache-aside pattern
- about / The cache-aside pattern
- need for / When to use the cache-aside pattern
- cached data / The lifetime of cached data
- evicting data / Evicting data
- cache, priming / Priming the cache
- consistency / Consistency
- local caching / Local (in-memory) caching
- canary deployment
- concept / Explaining the concept of canary deployment
- canary servers, defining / Defining the canary servers
- application, deploying to canary servers / Deploying the application to canary servers
- application, testing / Testing the application and verifying whether it satisfies our criteria
- application, verifying / Testing the application and verifying whether it satisfies our criteria
- application, deploying to servers / Deploying the application to remaining servers
- CDI / A brief word about CDI and beans
- CDI 2.0 / CDI 2.0
- CDI interceptor
- implementing / CDI interceptor implementation, Implementing the CDI interceptor
- circuit-breaker mechanism
- about / The circuit-breaker mechanism
- closed / The circuit-breaker mechanism
- open / The circuit-breaker mechanism
- half-open / The circuit-breaker mechanism
- circuit-breaker pattern / The circuit-breaker pattern
- Class Factory pattern / Explaining the Gang of Four design patterns
- client authentication / Explaining client authentication
- cloud-native application
- cloud-native application, goals
- availability / Explaining the goals of the cloud-native application
- data management / Explaining the goals of the cloud-native application
- messaging / Explaining the goals of the cloud-native application
- management and monitoring / Explaining the goals of the cloud-native application
- performance and scalability / Explaining the goals of the cloud-native application
- resiliency / Explaining the goals of the cloud-native application
- security / Explaining the goals of the cloud-native application
- cloud-native applications, concept
- container-packaged / Explaining the concept of cloud-native applications
- dynamically-managed / Explaining the concept of cloud-native applications
- micro-services-oriented / Explaining the concept of cloud-native applications
- cloud config server / Config server
- cloud design pattern
- explaining / Explaining the cloud design patterns
- composite application / Composite application (microservices)
- abstraction / Abstraction
- twelve-factor methodology / Twelve-factor
- API Gateway / The API Gateway
- service-registry pattern / The service-registry pattern
- config server / Config server
- circuit-breaker pattern / The circuit-breaker pattern
- circuit-breaker mechanism / The circuit-breaker mechanism
- Common annotations 1.3 / Common annotations 1.3
- compile-time
- versus run-time / Compile-time versus run-time AOP
- config server / Config server
- context and dependency injection (CDI) / Interceptors in the JEE platform
- continuous deployment
- CQRS (Command and Query Responsibility Segregation) / The CQRS pattern
- CQRS pattern / The CQRS pattern
D
- Data-Access Object (DAO) pattern
- about / The classic Session Façade pattern scenario, Implementing the domain-store pattern
- concept / Explaining the concept of the data-access object pattern
- implementing / Implementing the data-access object pattern, Implementing DAO
- entity, implementing with JPA / Implementing the entity with JPA
- decorator pattern
- about / Decorator , The decorator pattern
- in JEE scenario / The decorator in a JEE scenario
- implementing / Decorator implementation
- deployment pattern
- deployment strategies / Explaining the concept of deployment patterns
- design pattern
- explaining / Explaining design patterns
- Gang of Four (GoF) design pattern, explaining / Explaining the Gang of Four design patterns
- advantages / Understanding the advantages of design patterns
- of Java / Understanding the basic design patterns of the Java world
- Singleton, explaining / Explaining Singleton
- Abstract Factory, explaining / Explaining Abstract Factory
- Facade, explaining / Explaining Facade
- Iterator, explaining / Explaining Iterator
- Proxy, explaining / Explaining Proxy
- design patterns
- versus enterprise patterns / Defining the difference between design patterns and enterprise patterns
- digest authentication / Explaining digest authentication
- domain-store pattern
- concept / Explaining the concept of the domain-store pattern
- implementing / Implementing the domain-store pattern
- PersistenceManagerFactory / Implementing the domain-store pattern
- PersistenceManager / Implementing the domain-store pattern
- Persistence / Implementing the domain-store pattern
- EmployeeStoreManager / Implementing the domain-store pattern
- StageManager / Implementing the domain-store pattern
- EmployeeStageManager / Implementing the domain-store pattern
- TransactionFactory / Implementing the domain-store pattern
- Transaction / Implementing the domain-store pattern
- Transaction (Annotation) / Implementing the domain-store pattern
- PersistenceManagerFactory class, implementing / Implementing the PersistenceManagerFactory class
- PersistenceManager class, implementing / Implementing the PersistenceManager class
- EmployeeStoreManager class, implementing / Implementing the EmployeeStoreManager class
- StageManager interface, implementing / Implementing the StageManager interface
- TransactionFactory class, implementing / Implementing the TransactionFactory class
- Transaction class, implementing / Implementing the Transaction class
- EmployeeBusiness class, implementing / Implementing the EmployeeBusiness class
E
- Eclipse MicroProfile Config 1.3 / Eclipse MicroProfile Config 1.3
- Eclipse MicroProfile Fault Tolerance 1.1 / Eclipse MicroProfile Fault Tolerance 1.1
- Eclipse MicroProfile Health Check 1.0 / Eclipse MicroProfile Health Check 1.0
- Eclipse MicroProfile JWT authentication 1.1 / Eclipse MicroProfile JWT authentication 1.1
- Eclipse MicroProfile Metrics 1.1 / Eclipse MicroProfile Metrics 1.1
- Eclipse MicroProfile OpenAPI 1.0 / Eclipse MicroProfile OpenAPI 1.0
- Eclipse MicroProfile OpenTracing 1.1 / Eclipse MicroProfile OpenTracing 1.1
- Eclipse MicroProfile project approach
- explaining / Explaining the Eclipse MicroProfile project approach
- Eclipse MicroProfile Config 1.3 / Eclipse MicroProfile Config 1.3
- Eclipse MicroProfile Fault Tolerance 1.1 / Eclipse MicroProfile Fault Tolerance 1.1
- Eclipse MicroProfile Health Check 1.0 / Eclipse MicroProfile Health Check 1.0
- Eclipse MicroProfile JWT authentication 1.1 / Eclipse MicroProfile JWT authentication 1.1
- Eclipse MicroProfile Metrics 1.1 / Eclipse MicroProfile Metrics 1.1
- Eclipse MicroProfile OpenAPI 1.0 / Eclipse MicroProfile OpenAPI 1.0
- Eclipse MicroProfile OpenTracing 1.1 / Eclipse MicroProfile OpenTracing 1.1
- Eclipse MicroProfile REST Client 1.1 / Eclipse MicroProfile REST Client 1.1
- CDI 2.0 / CDI 2.0
- Common annotations 1.3 / Common annotations 1.3
- JAX-RS 2.1 / JAX-RS 2.1
- JSON-B 1.0 / JSON-B 1.0
- JSON-P 1.1 / JSON-P 1.1
- MicroProfile project, need for / Why should we use the MicroProfile project?
- MicroProfile community / Community
- future / Future work
- Eclipse MicroProfile REST Client 1.1 / Eclipse MicroProfile REST Client 1.1
- EJB interceptor implementation
- about / EJB interceptor implementation
- method invocation, intercepting / Intercepting method invocation
- interceptor class / Interceptor class and multiple method interceptors
- multiple method interceptors / Interceptor class and multiple method interceptors
- lifecycle callback events, intercepting / Intercepting life cycle callback events
- lifecycle callback events / Intercepting life cycle callback events
- Enterprise Java Beans (EJB)
- about / Understanding the business tier
- implementing / Implementing EJBs
- FileUploadResource class, implementing / Implementing the FileUploadResource class
- enterprise patterns
- explaining / Explaining enterprise patterns
- versus design patterns / Defining the difference between design patterns and enterprise patterns
- event
- about / Explaining the concept of an event in CDI
- implementing / Implementing an event in CDI
- FileUploadResource class, implementing / Implementing the FileUploadResource class
- observers, implementing / Implementing observers
- event sourcing pattern
- about / The event sourcing pattern
- event of event sourcing / Understanding the event of event sourcing
- performance, promoting / Promoting performance
- decoupling, promoting / Promoting decoupling
- scalability, promoting / Promoting scalability
- audit, promoting / Promoting auditing
- external configuration store pattern
F
- Facade
- explaining / Explaining Facade
- Factory Method pattern / Explaining the Gang of Four design patterns
- FileUploadResource
- asynchronous EJB method, calling to save ZIP / Calling an asynchronous EJB method to save a ZIP
- FileUploadResource class
- implementing / Implementing the FileUploadResource class, Implementing the FileUploadResource class
- bean, sending to event / Bean sent on the event
- qualifier, for selecting JpgHandler observer / Qualifier to select the JpgHandler observer to react to an event
- qualifier, for selecting PdfHandler observer / Qualifier to select the PdfHandler observer to react to an event
- qualifier, for selecting ZipHandler observer / Qualifier to select the ZipHandler observer to react to an event
- FIleUploadResource class / The FIleUploadResource class
- asynchronous EJB method, calling to save PDF / Calling an asynchronous EJB method to save a PDF
- asynchronous EJB method, calling to save JPG / Calling an asynchronous EJB method to save a JPG
- form authentication / Explaining form authentication
- FrontController pattern
- explaining / Explaining the FrontController pattern
- implementing / Implementing FrontController
- commands, implementing / Implementing the commands
- about / The application controller pattern
G
- Gang of Four (GoF) design pattern
- explaining / Explaining the Gang of Four design patterns
- catalog / The catalog of Gang of Four design patterns
- abstract factory / The catalog of Gang of Four design patterns
- adapter / The catalog of Gang of Four design patterns
- bridge / The catalog of Gang of Four design patterns
- builder / The catalog of Gang of Four design patterns
- chain of responsibility / The catalog of Gang of Four design patterns
- command / The catalog of Gang of Four design patterns
- composite / The catalog of Gang of Four design patterns
- decorator / The catalog of Gang of Four design patterns
- facade / The catalog of Gang of Four design patterns
- factory method / The catalog of Gang of Four design patterns
- flyweight / The catalog of Gang of Four design patterns
- interpreter / The catalog of Gang of Four design patterns
- iterator / The catalog of Gang of Four design patterns
- mediator / The catalog of Gang of Four design patterns
- memento / The catalog of Gang of Four design patterns
- observer / The catalog of Gang of Four design patterns
- prototype / The catalog of Gang of Four design patterns
- proxy / The catalog of Gang of Four design patterns
- state / The catalog of Gang of Four design patterns
- singleton / The catalog of Gang of Four design patterns
- strategy / The catalog of Gang of Four design patterns
- template method / The catalog of Gang of Four design patterns
- visitor / The catalog of Gang of Four design patterns
- about / Explaining the Session Façade pattern
H
- health endpoint monitoring pattern
- horizontal scalability / The scale cube
I
- integration tier / Explaining the concept of the integration tier
- intercepting filter pattern
- explaining / Explaining intercepting filter pattern
- implementing, Java EE 8 used / Implementing the intercepting filter pattern using Java EE 8
- LogAccessFilter, implementing / Implementing LogAccessFilter
- LogBrowserFilter, implementing / Implementing LogBrowserFilter
- filter mapping, deciding / Deciding filter mapping
- interceptor / Compile-time versus run-time AOP
- interceptor class / Interceptors in the JEE platform
- Iterator
- explaining / Explaining Iterator
- about / Explaining Iterator
J
- Java EE 8
- used, for implementing intercepting filter pattern / Implementing the intercepting filter pattern using Java EE 8
- Java EE components
- Java Message Service (JMS) / Java Message Service (JMS)
- Java Persistence API (JPA) / Understanding the business tier
- JAX-RS 2.1 / JAX-RS 2.1
- JAX-RS resource
- implementing / Implementing the JAX-RS resource
- JEE
- Session Façade pattern, implementing / Implementing the Session Façade pattern in JEE
- JEE scenario
- aspect-oriented programming (AOP) in / AOP in JEE scenario – the interceptor
- CDI / A brief word about CDI and beans
- bean / A brief word about CDI and beans, The bean
- loose coupling / Loose coupling
- interceptors / Interceptors in the JEE platform
- EJB interceptor implementation / EJB interceptor implementation
- CDI interceptor, implementing / CDI interceptor implementation
- CDI interceptor implementation / CDI interceptor implementation
- JSON-B 1.0 / JSON-B 1.0
- JSON-P 1.1 / JSON-P 1.1
- JSON Web Tokens (JWT) / Eclipse MicroProfile JWT authentication 1.1
L
- London Java Community (LJC) / Community
- loose coupling
- about / Loose coupling
- event notifications / Loose coupling
- interceptors / Loose coupling
- decorators / Loose coupling
M
- managed bean
- about / The bean
- in CDI / Managed beans in CDI
- management and monitoring patterns
- concept / Explaining the concept of management and monitoring patterns
- ambassador pattern / The ambassador pattern
- ambassador pattern, need for / When to use the ambassador pattern
- health endpoint monitoring pattern, explaining / Explaining the health endpoint monitoring pattern
- external configuration store pattern, explaining / Explaining the external configuration store pattern
- materialized view pattern
- about / The materialized view pattern
- rebuilding / Rebuilding the materialized view
- need for / When to use the materialized view pattern
- message-driven bean (MDB)
- about / Java Message Service (JMS)
- characteristics / Java Message Service (JMS)
- message-driven middleware (MOM) / Java Message Service (JMS)
- MicroProfile community
- URL / Community
- MicroProfile project
- need for / Why should we use the MicroProfile project?
- microservices
- implementing / Implementing microservices
- microservices-based application
- microservices architecture
- working / Explaining how microservices architecture works
- components, decomposing / The application is decomposed into smaller components
- multitask teams / Multitask teams
- product focus / Product focus
- processing / Simpler and smarter processing
- decentralized governance of libraries / Decentralized governance of libraries and APIs
- decentralized governance of APIs / Decentralized governance of libraries and APIs
- single responsibility principle / Single responsibility principle
- fault tolerance / Fault tolerance
- evolutionary systems / Evolutionary systems
- decentralized data / Decentralized data
- need for / Explaining when to use microservices architecture
- application, decomposing / How to decompose an application into microservices
- identifying / Identifying microservices
- business capabilities / Identifying microservices
- use case / Identifying microservices
- application modules, extracting / Taking care of the process of extracting application modules that are candidates for microservices
- hexagonal model, establishing for application / Establishing a hexagonal model for the application
- microservices architecture patterns
- about / Microservices architecture patterns
- aggregator pattern / Aggregator pattern
- proxy pattern / Proxy pattern
- chained pattern / Chained pattern
- branch pattern / Branch pattern
- asynchronous pattern / Asynchronous pattern
- microservices patterns
- explaining / Explaining microservices patterns
- monolithic application / Inside a monolithic application
- scale cube / The scale cube
- about / What microservices actually are, Microservices are not a silver bullet
- monolithic application
- about / Inside a monolithic application
- features, implementing / Difficulty in implementing new features and fixing bugs
- bugs, fixing / Difficulty in implementing new features and fixing bugs
- startup time / Long application startup time
- continuous deployment / Inefficient continuous deployment
- low reliability / Low reliability
- frameworks, using / Difficulty using new frameworks and technologies
- technologies, using / Difficulty using new frameworks and technologies
- mutual authentication / Explaining mutual authentication
O
- Object Relational Mapping (ORM) / Explaining Proxy
- observers
- implementing / Implementing observers
- OpenID Connect (OIDC) / Eclipse MicroProfile JWT authentication 1.1
- operational patterns
P
- patterns, business tier
- Business Delegate pattern / Understanding the business tier
- Session Façade pattern / Understanding the business tier
- Business-object pattern / Understanding the business tier
- performance pattern
- concept / Explaining the concept of performance and scalability patterns
- cache-aside pattern / The cache-aside pattern
- cache-aside pattern, need for / When to use the cache-aside pattern
- CQRS pattern / The CQRS pattern
- CQRS pattern, need for / When to use the CQRS pattern
- event sourcing pattern / The event sourcing pattern
- index table pattern, explaining / Explaining the index table pattern
- materialized view pattern / The materialized view pattern
- pointcut / Interceptors in the JEE platform
- presentation tier
- explaining / Explaining the presentation tier
- presentation-oriented tier / Explaining the presentation tier
- server-oriented tier / Explaining the presentation tier
- principles, security information
- confidentiality / Explaining the concept of security patterns
- integrity / Explaining the concept of security patterns
- availability / Explaining the concept of security patterns
- non-repudiation / Explaining the concept of security patterns
- Proxy
- explaining / Explaining Proxy
R
- Red Hat single-sign-on (RH-SSO) / Explaining the concept of the single-sign-on pattern
- role-based access control (RBAC) / Eclipse MicroProfile JWT authentication 1.1
S
- scalability pattern
- concept / Explaining the concept of performance and scalability patterns
- cache-aside pattern / The cache-aside pattern
- cache-aside pattern, need for / When to use the cache-aside pattern
- CQRS pattern / The CQRS pattern
- CQRS pattern, need for / When to use the CQRS pattern
- event sourcing pattern / The event sourcing pattern
- index table pattern, explaining / Explaining the index table pattern
- materialized view pattern / The materialized view pattern
- sharding pattern, explaining / Explaining the sharding pattern
- scale cube
- about / The scale cube
- X-axis scaling / The scale cube
- Z-axis scaling / The scale cube
- Y-axis scaling / The scale cube
- security patterns
- service-activator pattern
- concept / Explaining the concept of the service-activator pattern
- Java Message Service (JMS) / Java Message Service (JMS)
- EJB asynchronous methods / EJB asynchronous methods
- asynchronous events / Asynchronous events – producers and observers
- implementing / Implementing the service-activator pattern
- JMS message-sender, implementing / Implementing sending and receiving messages with JMS
- EJB asynchronous methods, implementing / Implementing the EJB asynchronous methods
- asynchronous events, implementing / Implementing asynchronous events – producers and observers
- service-registry pattern / The service-registry pattern
- Session Façade pattern
- about / Explaining the Session Façade pattern
- benefits / Benefits of Session Façade
- implementing, in JEE / Implementing the Session Façade pattern in JEE
- scenario / The classic Session Façade pattern scenario
- implementing / Implementing the Session Façade pattern
- sharding pattern
- explaining / Explaining the sharding pattern
- lookup strategy / Explaining the sharding pattern
- range strategy / Explaining the sharding pattern
- hash strategy / Explaining the sharding pattern
- need for / When to use the sharding pattern
- single-sign-on pattern
- concept / Explaining the concept of the single-sign-on pattern
- implementing / Implementing the single-sign-on pattern
- AuthenticationResource class, implementing / Implementing the AuthenticationResource class
- App1 classes, implementing / Implementing the App1 and App2 classes
- App2 classes, implementing / Implementing the App1 and App2 classes
- Singleton
- explaining / Explaining Singleton
- about / Explaining Singleton
T
- three-dimension scalability model / The scale cube
- twelve-factor methodology
- about / Twelve-factor
- codebase / Codebase
- dependencies / Dependencies
- config / Config
- backing services / Backing services
- build / Build, release, run
- release / Build, release, run
- run / Build, release, run
- processes / Processes
- port-binding / Port-binding
- concurrency / Concurrency
- disposability / Disposability
- dev/prod parity / Dev/prod parity
- logs / Logs
- admin processes / Admin processes