Spring Boot @ PayPal
SpringOne Platform 2016 Speaker: Fabio Carvalho; Sr. Software Engineer, PayPal. Eduardo Solis; MTS Software Engineer, PayPal. Although PayPal has been using Spring in production for many years, as part of a goal to move towards micro-services, PayPal recently introduced Spring Boot to its Java framework (known as “Raptor”), which includes RESTful services, Batch and Message Daemon applications. Besides Spring Boot, other Spring projects are used, such as Spring framework, Spring Batch and Spring Integration. PayPal Java RESTful framework provides a microservices architecture and deployment model, relying on a PaaS infrastructure on the cloud, CI, Docker, embedded container and Spring Boot. Additionally, many Spring Boot starters, and Spring based features, were developed to achieve PayPal needs. A few examples are: 1. A REST client abstraction and DI mechanism 2. Central application logging (abstracting URIs and supporting sub-resources when logging traffic to RESTful endpoints) 3. Application logging to asynchronous activity in Spring Integration channels (for messaging applications) 4. A few Spring Boot starters for automatic initialization and configuration of “opinionated” PayPal components 5. RESTEasy Spring Boot starter Regarding REST services, RESTEasy is the JAX-RS choice for PayPal. Although there is one Spring Boot starter for Jersey, and one for Spring REST, there was none for RESTEasy. Because of that PayPal also created, and open sourced, a RESTEasy Spring Boot starter.