

Ken Finnigan has worked as an engineer and consultant for nearly 20 years. He currently co-leads the development of WildFly Swarm for Red Hat.
Meer over Ken FinniganEnterprise Microservices
Paperback Engels 2019 1e druk 9781617294242Samenvatting
Microservices break down a large application into smaller components, each interacting with each other to create a united whole. As each component can start, stop, and scale independently, so the whole system benefits from better fault-tolerance and resilience.
Enterprise Java Microservices is an example-rich tutorial that shows readers how to design and manage large-scale Java applications as a collection of microservices.
Key features
- The microservices mental model
- Fault tolerance with Netflix Hystrix
- Securing your microservices
- Deploying to the cloud
This book is for Java developers familiar with distributed n-tier application architecture.
Enterprise Java is a set of APIs, and their implementations, that can provide the entire stack of an application from UI down to the database, communicate with external applications via webservices, and integrate with internal legacy systems, to name a few, with the goal of supporting the business requirements of an Enterprise.
Specificaties
Lezersrecensies
Inhoudsopgave
1 ENTERPRISE JAVA MICROSERVICES
1.1 Enterprise Java pitfalls
1.1.1 What is Enterprise Java?
1.1.2 Typical Enterprise Java Architecture
1.1.3 What is a Monolith?
1.1.4 What are the problems associated with monoliths?
1.2 Microservices and Distributed Architecture
1.2.1 Do One Thing Well
1.2.2 What is a Distributed Architecture?
1.2.3 Why should I care about being Distributed?
1.2.4 What can be done to assist in developing microservices?
1.2.5 Product over Project
1.2.6 Continuous integration and delivery
1.3 Patterns for migration to microservices
1.3.1 Domain Driven Design
1.3.2 Big Bang Pattern
1.3.3 Strangler Pattern
1.3.4 Hybrid Pattern
1.4 What are Enterprise Java microservices?
1.4.1 Why Enterprise Java is a good fit for microservices
Summary
2 DEVELOPING A SIMPLE RESTFUL MICROSERVICE
2.1 Cayambe Monolith
2.2 New administration site
2.2.1 Use cases
2.2.2 Architecture of the application
2.2.3 Creating RESTFul endpoints with JAX-RS
2.2.4 Running it
Summary
3 JUST ENOUGH APPLICATION SERVER FOR MICROSERVICES
3.1 Just enough Application Server
3.1.1 3.1.1 What does JeAS mean?
3.1.2 What are the benefits?
3.1.3 Eclipse MicroProfile
3.2 Choosing Just enough Application Server
3.2.1 Beach Vacation example application
3.2.2 Dropwizard — The Original Opinionated microservice runtime
3.2.3 Payara Micro — Slimmed Java EE App Server in a Jar
3.2.4 Spring Boot — Opinionated Spring microservices
3.2.5 Thorntail — The most flexible JeAS runtime
3.2.6 How do they compare?
Summary
4 MICROSERVICE TESTING
4.1 What type of testing do we need?
4.2 Unit testing
4.3 What is immutability?
4.4 Integration Testing
4.5 Consumer Driven Contract Testing
4.6 Additional Reading
4.7 Additional Exercises
Summary
5 CLOUD NATIVE DEVELOPMENT
5.1 What is Cloud anyway?
5.2 Service Models
5.3 Cloud Native Development
5.4 Deploying to the Cloud
5.5 Starting Minishift
5.6 Microservice Cloud deployment
5.7 Testing in the Cloud
5.8 Additional Exercises
Summary
PART 2: IMPLEMENTING ENTERPRISE JAVA MICROSERVICES
6 CONSUMING MICROSERVICES
6.1 Consuming a microservice with a Java Client Library
6.1.1 java.net
6.1.2 Apache HttpClient
6.2 Consuming a microservice with a JAX-RS Client Library
6.2.1 JAX-RS Client
6.2.2 RESTEasy Client
Summary
7 DISCOVERING MICROSERVICES FOR CONSUMPTION
7.1 Why does a microservice need to be discovered?
7.1.1 What is Service Discovery?
7.1.2 What are the benefits of Service Discovery and a Registry?
7.1.3 Stateless vs Stateful microservices
7.1.4 What is Netflix Ribbon?
7.2 Registering a microservice with Thorntail
7.2.1 Thorntail’s Topologies
7.2.2 Registering a microservice with a Topology
7.3 Consuming a registered microservice with Thorntail
7.3.1 Service lookup with Netflix Ribbon
7.3.2 Service lookup with RESTEasy Client
Summary
8 STRATEGIES FOR FAULT TOLERANCE AND MONITORING
8.1 Microservice Failures in a Distributed Architecture
8.2 Network Failures
8.3 Mitigating Against Failures
8.3.1 What is Hystrix?
8.3.2 Circuit Breakers
8.3.3 Bulkheads
8.3.4 Fallbacks
8.3.5 Request caching
8.3.6 Putting it all together
8.3.7 Hystrix Dashboard
8.4 Adding Hystrix to our Payment microservice
8.4.1 Hystrix with RESTEasy Client
8.4.2 Hystrix with Ribbon Client
Summary
9 SECURING A MICROSERVICE
9.1 Importance of Securing microservice
9.1.1 Why is Security Important?
9.1.2 What does it need to solve?
9.2 Working with Keycloak
9.2.1 Understanding Keycloak’s features
9.2.2 Setting up Keycloak
9.3 Securing Stripe microservice
9.3.1 Configuring Keycloak
9.3.2 Securing the Stripe resource
9.3.3 Authenticating in the Payment resource
9.3.4 Testing your secured microservice
9.4 Capturing user authentication
9.4.1 Configuring Keycloak
9.4.2 Securing category deletion
9.4.3 Authenticating the user in a UI
9.4.4 Testing that the new UI and service all work
Summary
10 ARCHITECTING A MICROSERVICE HYBRID
10.1 The Cayambe monolith
10.2 Running the Cayambe monolith
10.2.1 Database setup
10.2.2 WildFly setup
10.2.3 Running Cayambe
10.3 Cayambe hybrid—monolith with microservices
10.3.1 Integrating Payment microservice
10.3.2 Integrating Admin microservice
10.3.3 New administration UI
10.3.4 Cayambe hybrid summary
10.4 Deploying everything to a Hybrid Cloud
10.4.1 Database
10.4.2 Security
10.4.3 Microservices
10.4.4 Cayambe hybrid
10.4.5 Cayambe EAR
10.4.6 Admin UI
Summary
11 DATA STREAMING WITH APACHE KAFKA
11.1 What can Apache Kafka do for you?
11.1.1 Data Streaming
11.1.2 Apache Kafka
11.2 Simplifying your monolith architecture with streaming
11.3 Deploying and using Kafka for data streaming
11.3.1 Kafka on OpenShift
11.3.2 Admin microservice
11.3.3 Kafka consumer
11.4 Additional exercises
Summary
APPENDIXES
APPENDIX A: SPRING BOOT MICROSERVICES
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan