The Spring Blog

Engineering
Releases
News and Events

SpringOne2GX 2015 replay: Building microservices with event sourcing and CQRS

Recorded at SpringOne2GX 2015.
Speaker: Michael Ploed
Cloud Native Track
Slides: http://www.slideshare.net/SpringCentral/building-microservices-with-event-sourcing-and-cqrs-53211567
CQRS and Event Sourcing are two architectural patterns that have become very popular through the rise of cloud architectures and No-SQL databases. Both work very well together and take a different take at the handling and storage of data compared to the “classic enterprise approach”. CQRS splits your application in a read- and a write-part whereas through Event Sourcing the state of your data is represented by sequences of events. This talk introduces both patterns and shows how applications leveraging CQRS and Event Sourcing can be implemented with the Spring Ecosystem.The talk will have slides and live demos.

Read more...

SpringOne2GX 2015 replay: Isomorphic templating with Spring Boot, Nashorn and React

Recorded at SpringOne2GX 2015.
Speaker: Sebastian Deleuze
Web / JavaScript Track
Slides: http://www.slideshare.net/SpringCentral/isomorphic-templating-with-spring-boot-nashorn-and-react
The first part of this talk introduces the upcoming Spring Framework 4.2 Script Templating support,
showing how you can use Nashorn, Jython or JRuby to render templates with Javascript, Python or Ruyby based template engines. We will see how easy you can extend out of the box capabilities on the scripting side.
Based on benchmarks, features available and code samples, we will see if this can be a production ready alternative to templating technologies usually used with Spring MVC like JSP, Velocity, FreeMarker or Thymeleaf.
The second part of the talk will explain how to build an isomorphic application that performs the same templates rendering on client AND server based on Spring Boot, Nashorn and React, the the latest game changer Javascript library released by Facebook. The rendering of Javascript templates is performed initially on server-side thanks to a Spring MVC + Nashorn integration, then enriched on client side with a Server-Sent Events push mechanism.
This kind of isomorphic templating + the disruptive innovation brought by React with his virtual DOM mechanism make it possible to build a new kind of applications : responsive, with a great UX while being accessible.

Read more...

SpringOne2GX 2015 replay: Introducing CallTracing(tm), based on RabbitMQ, Spring and Zipkin

Recorded at SpringOne2GX 2015.
Speaker: Monish Unni
Data / Integration Track
Slides: http://www.slideshare.net/SpringCentral/introducing-calltracing-tm-based-on-rabbitmq-spring-and-zipkin
Do you live in a world where StackTraces aren’t quite enough? There is no easy way for you to predict how a certain set of services might be called or what their usage patterns are? Does everything work in DIT/SIT/UAT/PELT until you hit production and strange things start to happen due to distribution of services? Solution: Use RabbitMQ (AMQP protocol) and spring proxies/interceptors to enable an out-of-band instrumentation to trace requests and gain deep knowledge about how certain requests perform in a distributed system. In 2014, as part of infrastructure wide changes, I introduced calltracing(tm) as a way to correlate requests from a single user across E*Trade’s heterogeneous systems. This "“trace”" is then consumed by various big-data analytic tools to produce aggregated reports. Zipkin(tm) is a collector, digester and a visualization front-end for the aggregated data. in other words, it’s a distributed tracing system that can show timing data for services that are on various nodes. Zipkin manages both collection and lookup of data through a collector and a query service. In this session, i will discuss specifically how E*Trade’s disparate services are stitched together using RabbitMQ(AMQP protocol) and Spring Proxies to form the enablement tier to provide data to Zipkin.

Read more...

Supercharging Operations and Analytics: Using Spring XD to Support Analytics and CEP

Recorded at SpringOne2GX 2015.
Speaker: Joseph Paulchell, CapitalOne
Big Data Track
Slides: http://www.slideshare.net/SpringCentral/supercharging-operations-analysis-using-spring-xd-to-support-analytics-and-cep
Operations, analytics, and business teams are requesting ever increasing amounts of data delivered to Big Data analysis platforms and tools. This demand is driven by the desire to better understand user experience, quality of service, real time performance of systems, and the undiscovered patterns and opportunities that exist to improve service, sell products, and delight users. Capital One Technology solved for the ever increasing demand for data from consumer facing applications using Spring Extreme Data (XD) and custom Java libraries to stream data in real time from applications to Hadoop HDFS, Mongo, Kafka, Splunk, and others. In this talk we will discuss our journey from batch-oriented processes using databases to a real time data streaming solution and the significant benefits achieved. We’ll cover the implications of adopting a streaming solution, why we selected Spring XD, and the target architecture we are implementing to land data in HDFS. We’ll cover how we automated environment provisioning, the design for our client libraries (Java, Spring), our XD environment, and how we’re tapping into all that data. We’ll describe challenges we overcame on this journey including connecting to our HDFS cluster, working with multiple Mongo stores, using Kerberos, and ensuring protection and encryption of sensitive data end to end. Lastly we’ll talk about a number of use cases where we are evaluating Spring XD and see potential benefits including “rolling window” system analytics, digital message delivery, and event driven architectures.

Read more...

Webinar: Spring Boot and Ratpack Web Framework

Speaker: Danny Hyun
With the advent of Ratpack and Spring Boot, people think you need to choose between one or the other. That couldn’t be further from the truth. The only place where they overlap is in serving web requests. Spring Framework is a very rich ecosystem including but not limited to DI, web mvc, data, security, etc.
Ratpack focuses on rapid web app prototyping and iteration balancing low resource utilization, high performance and developer friendliness. We’ll explore the ways in which Ratpack and Spring Boot work in harmony.

Read more...

Webinar: Stream Processing in the Cloud with Data Microservices

Stream Processing in the Cloud with Data Microservices
Speakers: Marius Bogoevici, Pivotal

The future of scalable data processing is event-driven microservices! They provide a powerful paradigm that solves issues typically associated with distributed applications such as availability, data consistency, or communication complexity, and allows the creation of sophisticated and extensible data processing pipelines.

Building on the ease of development and deployment provided by Spring Boot and the cloud native capabilities of Spring Cloud, the Spring Cloud Stream project provides a simple and powerful framework for creating event-driven microservices. They make it easy to develop data-processing Spring Boot applications that build upon the capabilities of Spring Integration. At a higher level of abstraction, Spring Cloud Data Flow is an integrated orchestration layer that provides a highly productive experience for deploying and managing sophisticated data pipelines consisting of standalone microservices. Streams are defined using a DSL abstraction and can be managed via shell and a web UI. Furthermore, a pluggable runtime SPI allows Spring Cloud Data Flow to coordinate these applications across a variety of distributed runtime platforms such as Apache YARN, Cloud Foundry, Kubernetes, or Apache Mesos.

Read more...

SpringOne2GX 2015 replay: Applied Spring Integration, Spring AMQP and RabbitMQ in Spring XD

Recorded at SpringOne2GX 2015
Presenter: Gary Russell
Data / Integration Track
Slides: http://www.slideshare.net/SpringCentral/applied-spring-integration-spring-amqp-rabbitmq-in-spring-xd

In this session we will discuss how Spring Integration and Spring AMQP are used as two of the underlying technologies in Spring XD.

The RabbitMQ message bus is used to dynamically create and bind queues and exchanges at runtime when modules are deployed.
Items of particular interest include the provision of taps using fanout exchanges, use of the RabbitMQ REST API and spring-retry within the message bus. Spring Integration is used to bind the modules to the message bus (as well as being the technology used within the modules themselves.

Read more...

SpringOne2GX 2015 replay: Hadoop Workflows, Distributed YARN Apps and Spring

Recorded at SpringOne2GX 2015
Presenter: Thomas Risberg
Big Data Track
Slides: http://www.slideshare.net/SpringCentral/hadoop-workflows-using-spring-technologies

The Hadoop ecosystem is getting bigger and more complex. Using multiple projects from this ecosystem, you will have to deal with the difference in philosophy and usage patterns that these project promote. The “Spring for Apache Hadoop” project uses many Spring projects like Data, Integration, Batch and Boot to resolve many of these issues. It simplifies developing for Apache Hadoop by providing a unified configuration model and easy to use APIs for using HDFS, MapReduce, Pig, and Hive. You can leverage your existing Java and Spring skills when making the jump to write applications and workflows for Apache Hadoop if you use the “Spring for Apache Hadoop” project. In this presentation we will see how it can make developing workflows with Map Reduce, Spark, Hive and Pig jobs easier, while providing portability across Apache, Cloudera, Hortonworks, and Pivotal distros.

Read more...

SpringOne2GX 2015 replay: Building a next-generation cloud e-commerce platform with Spring

Recorded at SpringOne2GX 2015
Presenter: Petar Tahchiev
Core Spring Track
Slides: http://www.slideshare.net/SpringCentral/boost-your-ecommerce-with-spring

What are the common pitfalls we need to be aware of when building an e-commerce application? How do we leverage Spring to tackle the complexity of the project and speed up the development time? How do we scale our spring application in order to support huge amounts of requests? Is it possible to bootstrap an e-commerce website in less than 5 minutes and deploy a production-ready instance to Cloud Foundry? What makes spring the perfect choice for an application framework, and how we have used it to solve our problems when building the Nemesis e-commerce platform. In this presentation we are going to discuss all those topics and we are going to make a real-life demonstration on a typical e-commerce project with the Nemesis platform. We are going to list the problems that every e-commerce application faces and we are going to go through most the projects from the Spring portfolio (Spring DATA, Spring Session, Spring Cloud, Spring Boot, Spring MVC, Spring Security, etc.) and demonstrate what business and technical value Spring brings to our customers. This is not a presentation on one particular Spring project, but instead a demonstration on the whole Spring eco-system, showing how all those projects can be integrated in a single project.

Read more...

Webinar: Spring Security Authentication... with Spring Boot and More!

Guest Speaker: Micah Silverman, Stormpath

In this presentation, Java Developer Evangelist Micah Silverman will go over common pain points with Java authentication and how to solve them using Stormpath, Spring Boot, and Spring Security! By the end of this webinar, you’ll be on your way to a fully functioning Spring Boot app with Spring Security and backed by Stormpath.
Topics Covered:
* Stormpath Identity Management
* Authentication Pain Points in Java
* Stormpath + Spring Security + Spring Boot and Your Application
* Quickstart on setting up Spring Security and Spring Boot with a complete user registration and login system
* Advanced Spring Security with Stormpath
* Single Sign-On with Spring Security and Stormpath’s IDSite service
* Technical Q&A*

Read more...