Hands-On Reactive Programming with Reactor


Book Description

Discover how project Reactor enhances the reactive programming paradigm and allows you to build scalable asynchronous applications Key FeaturesUse reactive APIs, Flux, and Mono to implement reactive extensionsCreate concurrent applications without the complexity of Java's concurrent APIUnderstand techniques to implement event-driven and reactive applicationsBook Description Reactor is an implementation of the Java 9 Reactive Streams specification, an API for asynchronous data processing. This specification is based on a reactive programming paradigm, enabling developers to build enterprise-grade, robust applications with reduced complexity and in less time. Hands-On Reactive Programming with Reactor shows you how Reactor works, as well as how to use it to develop reactive applications in Java. The book begins with the fundamentals of Reactor and the role it plays in building effective applications. You will learn how to build fully non-blocking applications and will later be guided by the Publisher and Subscriber APIs. You will gain an understanding how to use two reactive composable APIs, Flux and Mono, which are used extensively to implement Reactive Extensions. All of these components are combined using various operations to build a complete solution. In addition to this, you will get to grips with the Flow API and understand backpressure in order to control overruns. You will also study the use of Spring WebFlux, an extension of the Reactor framework for building microservices. By the end of the book, you will have gained enough confidence to build reactive and scalable microservices. What you will learnExplore benefits of the Reactive paradigm and the Reactive Streams APIDiscover the impact of Flux and Mono implications in ReactorExpand and repeat data in stream processingGet to grips with various types of processors and choose the best oneUnderstand how to map errors to make corrections easierCreate robust tests using testing utilities offered by ReactorFind the best way to schedule the execution of codeWho this book is for If you’re looking to develop event- and data-driven applications easily with Reactor, this book is for you. Sound knowledge of Java fundamentals is necessary to understand the concepts covered in the book.




Hands-On Reactive Programming in Spring 5


Book Description

Today, businesses need a new type of system that can remain responsive at all times. This result is achievable and is called reactive, which means it reacts to changes. The development of such systems is a complex task, requiring a deep understanding of the domain. The developers of the Spring Framework help with the reactive version




Hands-On Spring Security 5 for Reactive Applications


Book Description

Secure your Java applications by integrating the Spring Security framework in your code Key Features Provide authentication, authorization and other security features for Java applications. Learn how to secure microservices, cloud, and serverless applications easily Understand the code behind the implementation of various security features Book Description Security is one of the most vital concerns for any organization. The complexity of an application is compounded when you need to integrate security with existing code, new technology, and other frameworks. This book will show you how to effectively write Java code that is robust and easy to maintain. Hands-On Spring Security 5 for Reactive Applications starts with the essential concepts of reactive programming, Spring Framework, and Spring Security. You will then learn about a variety of authentication mechanisms and how to integrate them easily with the Spring MVC application. You will also understand how to achieve authorization in a Spring WebFlux application using Spring Security.You will be able to explore the security confgurations required to achieve OAuth2 for securing REST APIs and integrate security in microservices and serverless applications. This book will guide you in integrating add-ons that will add value to any Spring Security module. By the end of the book, you will be proficient at integrating Spring Security in your Java applications What you will learn Understand how Spring Framework and Reactive application programming are connected Implement easy security confgurations with Spring Security expressions Discover the relationship between OAuth2 and OpenID Connect Secure microservices and serverless applications with Spring Integrate add-ons, such as HDIV, Crypto Module, and CORS support Apply Spring Security 5 features to enhance your Java reactive applications Who this book is for If you are a Java developer who wants to improve application security, then this book is for you. A basic understanding of Spring, Spring Security framework, and reactive applications is required to make the most of the book.




Hands-On Reactive Programming with Python


Book Description

A comprehensive guide to help you understand the principles of Reactive and asynchronous programming and its benefits Key FeaturesExplore the advantages of Reactive programmingUse concurrency and parallelism in RxPY to build powerful reactive applicationsDeploy and scale your reactive applications using DockerBook Description Reactive programming is central to many concurrent systems, but it’s famous for its steep learning curve, which makes most developers feel like they're hitting a wall. With this book, you will get to grips with reactive programming by steadily exploring various concepts This hands-on guide gets you started with Reactive Programming (RP) in Python. You will learn abouta the principles and benefits of using RP, which can be leveraged to build powerful concurrent applications. As you progress through the chapters, you will be introduced to the paradigm of Functional and Reactive Programming (FaRP), observables and observers, and concurrency and parallelism. The book will then take you through the implementation of an audio transcoding server and introduce you to a library that helps in the writing of FaRP code. You will understand how to use third-party services and dynamically reconfigure an application. By the end of the book, you will also have learned how to deploy and scale your applications with Docker and Traefik and explore the significant potential behind the reactive streams concept, and you'll have got to grips with a comprehensive set of best practices. What you will learnStructure Python code for better readability, testing, and performanceExplore the world of event-based programmingGrasp the use of the most common operators in RxUnderstand reactive extensions beyond simple examplesMaster the art of writing reusable componentsDeploy an application on a cloud platform with Docker and TraefikWho this book is for If you are a Python developer who wants to learn Reactive programming to build powerful concurrent and asynchronous applications, this book is for you. Basic understanding of the Python language is all you need to understand the concepts covered in this book.




Hands-On Reactive Programming with Clojure


Book Description

Learn how to use RxClojure to deal with stateful computations Key FeaturesLeverage the features of Functional Reactive Programming using ClojureCreate dataflow-based systems that are the building blocks of Reactive ProgrammingUse different Functional Reactive Programming frameworks, techniques, and patterns to solve real-world problemsBook Description Reactive Programming is central to many concurrent systems, and can help make the process of developing highly concurrent, event-driven, and asynchronous applications simpler and less error-prone. This book will allow you to explore Reactive Programming in Clojure 1.9 and help you get to grips with some of its new features such as transducers, reader conditionals, additional string functions, direct linking, and socket servers. Hands-On Reactive Programming with Clojure starts by introducing you to Functional Reactive Programming (FRP) and its formulations, as well as showing you how it inspired Compositional Event Systems (CES). It then guides you in understanding Reactive Programming as well as learning how to develop your ability to work with time-varying values thanks to examples of reactive applications implemented in different frameworks. You'll also gain insight into some interesting Reactive design patterns such as the simple component, circuit breaker, request-response, and multiple-master replication. Finally, the book introduces microservices-based architecture in Clojure and closes with examples of unit testing frameworks. By the end of the book, you will have gained all the knowledge you need to create applications using different Reactive Programming approaches. What you will learnUnderstand how to think in terms of time-varying values and event streamsCreate, compose, and transform observable sequences using Reactive extensionsBuild a CES framework from scratch using core.async as its foundationDevelop a simple ClojureScript game using ReagiIntegrate Om and RxJS in a web applicationImplement a reactive API in Amazon Web Services (AWS) Discover helpful approaches to backpressure and error handlingGet to grips with futures and their applicationsWho this book is for If you’re interested in using Reactive Programming to build asynchronous and concurrent applications, this is the book for you. Basic knowledge of Clojure programming is necessary to understand the concepts covered in this book.




Reactive Spring


Book Description

Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn't be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we'd still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better.Join Spring Developer Advocate Josh Long for an introduction to reactive programming in the Spring ecosystem, leveraging the reactive streams specification, Reactor, Spring Boot, Spring Cloud and so much more.This book will cover important concepts in reactive programming including project Reactor and the reactive streams specification, data access, web programming, RPC with protocols like RSocket, testing, and integration and composition, and more.




Reactive Systems in Java


Book Description

Reactive systems and event-driven architecture are becoming indispensable to application design, and companies are taking note. Reactive systems ensure that applications are responsive, resilient, and elastic no matter what failures or errors may be occurring, while event-driven architecture offers a flexible and composable option for distributed systems. This practical book helps Java developers bring these approaches together using Quarkus 2.x, the Kubernetes-native Java framework. Clement Escoffier and Ken Finnigan show you how to take advantage of event-driven and reactive principles to build robust distributed systems, reducing latency and increasing throughput, particularly in microservices and serverless applications. You'll also get a foundation in Quarkus to help you create true Kubernetes-native applications for the cloud. Understand the fundamentals of reactive systems and event-driven architecture Learn how to use Quarkus to build reactive applications Combine Quarkus with Apache Kafka or AMQP to build reactive systems Develop microservices that utilize messages with Quarkus for use in event-driven architectures Learn how to integrate external messaging systems, such as Apache Kafka, with Quarkus Build applications with Quarkus using reactive systems and reactive programming concepts




Reactive Java Programming


Book Description

Learn reactive programming using Java and its functional aspects, sometimes called RxJava. This book shows you how to solve "callback hell" with RxJava and shows you how to write thread-safe code without hanging onto state variables which comes in handy for cloud computing software-as-a-service issues, especially when dealing with big data processes through streaming. Reactive Java Programming includes unique coverage of reactive Android programming, growing more and more popular in mobile development with the Cloud. After reading this guide to reactive programming, you'll be able to apply it to your own big data cloud applications that use Java. What You'll Learn Use and map observables Filter and combine events Employ subjects, schedulers, and backpressure Handle reactive patterns Test your RxJava code Write your own operators Carry out reactive Android programming Who This Book Is For Experienced Java programmers new to reactive programming and those who may have some experience with reactive programming new to Java.




Learning Reactive Programming with Java 8


Book Description

Whether you are a Java expert or at a beginner level, you'll benefit from this book, because it will teach you a brand new way of coding and thinking. The book starts with an explanation of what reactive programming is, why it is so appealing, and how we can integrate it in to Java. It continues by introducing the new Java 8 syntax features, such as lambdas and function references, and some functional programming basics. From this point on, the book focuses on RxJava in depth. It goes through creating Observables, transforming, filtering, and combining them, and concurrency and testing to finish with extending the library itself. This book is a definite tutorial in RxJava filled with a lot of well-described examples. It explains reactive programming concepts in plain and readable language, without scientific formulas and terms.




Scala Reactive Programming


Book Description

Build fault-tolerant, robust, and distributed applications in Scala Key Features - Understand and use the concepts of reactive programming to build distributed systems running on multiple nodes. - Learn how reactive architecture reduces complexity throughout the development process. - Get to grips with functional reactive programming and Reactive Microservices. Book Description Reactive programming is a scalable, fast way to build applications, and one that helps us write code that is concise, clear, and readable. It can be used for many purposes such as GUIs, robotics, music, and others, and is central to many concurrent systems. This book will be your guide to getting started with Reactive programming in Scala. You will begin with the fundamental concepts of Reactive programming and gradually move on to working with asynchronous data streams. You will then start building an application using Akka Actors and extend it using the Play framework. You will also learn about reactive stream specifications, event sourcing techniques, and different methods to integrate Akka Streams into the Play Framework. This book will also take you one step forward by showing you the advantages of the Lagom framework while working with reactive microservices. You will also learn to scale applications using multi-node clusters and test, secure, and deploy your microservices to the cloud. By the end of the book, you will have gained the knowledge to build robust and distributed systems with Scala and Akka. What you will learn Understand the fundamental principles of Reactive and Functional programming Develop applications utilizing features of the Akka framework Explore techniques to integrate Scala, Akka, and Play together Learn about Reactive Streams with real-time use cases Develop Reactive Web Applications with Play, Scala, Akka, and Akka Streams Develop and deploy Reactive microservices using the Lagom framework and ConductR Who this book is for This book is for Scala developers who would like to build fault-tolerant, scalable distributed systems. No knowledge of Reactive programming is required.