The Spring Blog

Engineering
Releases
News and Events

SpringOne2GX 2014 Replay: RaveJS - Spring Boot concepts for JavaScript applications

Recorded at SpringOne2GX 2014.

Speaker: John Hann

Web / JavaScript Track

Slides: http://www.slideshare.net/SpringCentral/rave-js-springone-2gx-2014-41117770

Modern JavaScript frameworks have become quite sophisticated. Unfortunately, they have also become quite complicated. The demos and sample projects for these frameworks look deceptively simple. However, to build and deploy real applications, developers must scaffold, configure, and maintain a tremendous amount of intricate machinery. Until recently, the Java world wasn't very different. Spring Boot finally made it easy to create stand-alone, production-grade Spring Applications that can you can "just run". Can we do the same for JavaScript? Yes, we can! Introducing RaveJS. Rave eliminates configuration, machinery, and complexity. Stop configuring and tweaking machinery such as file watchers, minifiers, and transpilers just to get to a runnable app. Instead, go from zero to "hello world" in 30 seconds. In the next 30 seconds, easily add capabilities and frameworks to your application simply by installing *Rave Extensions* and *Rave Starter* packages from npm and Bower, the leading JavaScript package managers. Finally, install additional *Rave Extension* packages to apply your favorite build, deploy, and testing patterns.

Read more...

SpringOne2GX 2014 Replay: The Revolution Will Not Be Centralized

Recorded at SpringOne2GX 2014.

Speaker: Chris Beams

Data / Integration Track

Slides: http://www.slideshare.net/SpringCentral/the-revolution-will-not-be-centralizedhow-to-build-a-blockchain-using-spring-to-develop-a-bitcoinlike-virtual-currency

Massive government-run data dragnets. Advertising-based "free" cloud services working against the best interests of their users. Giant, unreadable end user license agreements. It seems that everywhere we turn, the walls are closing in on individual privacy and autonomy. The situation is complex. Out of confusion and frustration, many users have already given up. Common refrains are "privacy is dead" and "I've got nothing to hide". But revolution is in the air. The internet and the web are decentralized by design. Protocols like DNS, SMTP and HTTP assume a network of peers, but during the last 15 years—our adolescence with these technologies—we have unintentionally centralized much of the internet's infrastructure. This hasn't been for nefarious purposes; it's been done out of convenience. Having a GMail account is simply much easier than running your own mail server; storing everything in the cloud is easier than maintaining your own backups. As an unintended consequence, we've made surveillance much easier and made invasive ad-based business models the norm. A growing number of technologists are working to re-decentralize the net in surprising and profound ways. Free software and innovative peer-to-peer networks play an important role in this effort, but what may prove to be the most important tool is a new one: cryptocurrency. With bitcoin, we now have a natively digital money; a cash for the web; a currency that is as decentralized and flexible as the rest of the internet was designed to be. At a glance, bitcoin may look like just another payment option, a fad, or a speculative bubble. On closer inspection, one begins to see that it can enable new business models by facilitating previously impossible economic incentives between peers. Once one grasps the fundamentals of cryptocurrency, one sees that its long-term implications and possibilities are as broad and deep as the internet itself. And just like the internet, bitcoin is not a panacea. It is rife with its own problems and faces its own existential threats. In this talk, Chris Beams will share his findings from over two years of research into bitcoin and related technologies: the promise and the peril; how bitcoin may be able to create the first sustainable business models for the development of free software; how privacy may rise from the dead yet; and why the revolution will not be centralized.

Read more...

SpringOne2GX 2014 Replay: Caching with Spring: Advanced Topics and Best Practices

Recorded at SpringOne2GX 2014.

Speaker: Michael Plod

Core Spring Track

Slides: http://www.slideshare.net/SpringCentral/spring-one2gx-caching-with-spring

Caching is relevant for a wide range of business applications and there is a huge variety of products in the market ranging from easy to adopt local heap based caches to powerful distributed data grids. This talk addresses advanced usage of Spring’s caching abstraction such as integrating a cache provider that is not integrated by the default Spring Package. In addition to that I will also give an overview of the JCache Specification and it’s adoption in the Spring ecosystem. Finally the presentation will also address various best practices for integrating various caching solutions into enterprise grade applications that don’t have the luxury of having "eventual consistency“ as a non-functional requirement. This talk comes with many live demos, some of them are demoed on a distributed cache cluster on Raspberry Pis and Lego Mindstorms robots (running Spring).

Read more...

Webinar: Building a secure Polymer app with Spring backend

Speaker: Scott Deeg

Polymer is the latest web framework out of Google. Designed completely around the emerging Web Components standards, it has the lofty goal of making it easy to build apps based on these low level primitives. Along with Polymer comes a new set of Elements (buttons, dialog boxes and such) based on the ideas of "Material Design". These technologies together make it easy to build responsive, componentized "Single Page" web applications that work for browsers on PCs or mobile devices. But what about the backend, and how do we make these apps secure? In this talk Scott Deeg will take you through an introduction to Polmyer and its related technologies, and then through the build out of a full blown cloud based app with a secure, RESTful backend based on Spring REST, Spring Cloud, and Spring Security and using Thymeleaf for backend rendering jobs. At the end he will show the principles applied in a tool he's currently building. The talk will be mainly code walk through and demo, and assumes familiarity with Java/Spring and JavaScript.

Read more...

Webinar: JHipster for Spring Boot

Speaker: Julien Dubois

JHipster focuses on generating a high quality application with a Java back-end using an extensive set of Spring technologies; Spring Boot, Spring Security, Spring Data, Spring MVC (providing a framework for websockets, REST and MVC), etc. an Angular.js front-end and a suite of pre-configured development tools like Yeoman, Maven, Gradle, Grunt, Gulp.js and Bower. JHipster creates a fully configured Spring Boot application with a set of pre-defined screens for user management, monitoring, and logging. The generated Spring Boot application is specifically tailored to make working with Angular.js a smoother experience. Join Julien for a quick-live coding session to build a simple application, and deploy it to Cloud Foundry.

Read more...

SpringOne2GX 2014 Replay: Spring Data REST - Data Meets Hypermedia

Recorded at SpringOne2GX 2014

Speakers: Roy Clarkson, Greg Turnquist

Slides: http://www.slideshare.net/SpringCentral/spring-one2gx-2014widedatameetshypermedia

Spring Data REST bridges the gap between the convenient data access layers provided by Spring Data's repository abstraction and hypermedia-driven REST web services, effectively taking out the boilerplate needed during implementation. This talk will give a quick overview of the project, explain fundamental design decisions and introduce new features of the latest version (namely service documentation and discoverability). We will then look at the Spring-A-Gram sample application (built using Spring Data REST), focusing on the implementation of the frontend bits and pieces.

Read more...

SpringOne2GX Replay: Spring Batch Performance Tuning

Recorded at SpringOne2GX 2014.

Speakers: Gunnar Hillert, Chris Schaefer Slides: Data / Integration Track

Slides: http://www.slideshare.net/SpringCentral/spring-batch-performance-tuning

In this presentation we will examine various scalability options in order to improve the robustness and performance of your Spring Batch applications. We start out with a single threaded Spring Batch application that we will refactor so we can demonstrate how to run it using: * Concurrent Steps * Remote Chunking * AsyncItemProcessor and AsyncItemWriter * Remote Partitioning Additionally, we will show how you can deploy Spring Batch applications to Spring XD which provides high availability and failover capabilities. Spring XD also allows you to integrate Spring Batch applications with other Big Data processing needs.

Read more...

SpringOne2GX 2014 Replay: Panel Session: Real World Boot-up sequences

Recorded at SpringOne2GX 2014.

Speakers: Erdem Gunay, Turkcell - Tim Hobson, Intuit - Zach Lendon, Independent

Slides: http://www.slideshare.net/SpringCentral/spring-one2gx-2014wideerdemgunay-41125935

Core Spring Track

In this Panel session, each of these presenters will have 20 minutes to respond to the question: tell us about your experiences with Spring Boot? Following that is about 30 minutes of moderated panel discussion. Erdem Gunay from Turkcell will present his experience of re-writing a Mobile BaaS originally written with Spring 3.x. He wrote the service from scratch using Boot in one week, integrating spring security, elasticsearch, mongodb, camel, angular.js, for the win: 40x throughput, 100% availability - zero crashes, 3x the users - used on 300k mobile devices. Tim Hobson from Intuit will present his lessons learned from using with Boot - he will take you through what configuration was necessary, what needed to be built, and how the project leveraged Boot to minimize cross-cutting code and configuration, maximize testability, and focus on the application domain. Zach will present a view of Boot from the hospitality industry, where they are using JAX-RS, DropWizard, and Spring Boot to create micro-service applications. He will help you understand which dropwizard-spring integrations work, and which one's don't, what to watch out for, and how to integrate your Spring applications into dropwizard whether you configure your Spring applications with xml, annotations, and/or java config files.

Read more...

SpringOne2GX 2014 Replay: Artistic Spring Data Neo4j 3.x with Spring Boot

Recorded at SpringOne2GX 2014.

Speakers: Michael Hunger, Lorenzo Speranzoni - Neo Technology

Slides: http://www.slideshare.net/SpringCentral/artistic-spring-data-neo4j-3x-with-spring-boot-and-van-gogh

This session will show, how easy it is to get started with Spring Data Neo4j using Spring Boot. After a quick introduction of the concepts behind the Neo4j NoSQL graph database and its Spring Data integration library, we will discuss the general approach used in Spring Data Neo4j and highlight the exciting, new features of the new 3.x releases which now works with the most recent Neo4j 2.x versions. During the session we'll demonstrate the development steps of an exciting and unusual application - tracking an famous' artists journey connecting him to the places, paintings, people and other aspects that influenced him. Having this data in a graph allows us to find new insights and conclusions as well as quickly adding different aspects to it. This application will use Spring Boot and Spring Data Neo4j to get started quickly. We import the data, look at it as a graph visualization and then build a web-application using Spring Boot's supporting infrastructure. As a final step we show how evolving this application from being a just Neo4j client application to a REST extension of the Neo4j server requires only a few steps and can leverage Spring Data REST to provide the neccessary endpoints for consumers.

Read more...

Webinar Replay: Spring XD - A Platform for data at scale and developer productivity

Speakers: Sabby Anandan, Mark Fisher & Mark Pollack

Slides: https://speakerdeck.com/sabbyanandan/2015

Worried about Big Data and the challenges inherent in making a real application? You don’t have to worry anymore! Spring XD provides a one-stop shop solution that spans traditional enterprise to Big Data use cases - both batch and streaming. It's important to choose the right tool for each use-case, which is why Spring XD integrates with technologies such as Spark, Reactor and RxJava to demonstrate the flexibility and the unified programming model to support complex data computation use-cases. In this webinar, we'll show you how to develop data-driven use cases much faster than other big data solutions on the out of the box XD runtime.

Read more...