Webinar: Documenting RESTful APIs

News | Pieter Humphrey | January 20, 2015 | ...

Speaker: Andy Wilkinson, Pivotal

An API's documentation is a vital part of making it easy to understand and easy to use. RESTful APIs are no different. In this webinar we'll look at what should be included in your RESTful API's documentation and, just as importantly, what should be omitted. To illustrate this we'll look at some real-world examples of good and bad API documentation. We'll look at some of the problems and limitations of choosing a tool like Swagger to produce your API's documentation and conclude by looking at some alternatives that are better-suited to producing documentation that your users will love.

Tuesday, Feb 3rd, 2015 3:00PM GMT (London GMT) Register

Tuesday, Feb 3rd, 2015 10:00AM PST (San Francisco GMT-08:00) Register

 

 

Webinar: Introducing Spring Session

News | Pieter Humphrey | January 20, 2015 | ...

Speaker: Josh Long, Pivotal

Back in the era of the application server, HTTP Session replication was a common way to scale out user session data, as well as make it fault tolerant. In today's world of lightweight containers, PaaS, and virtualization, Spring Session offers a 100% server and/or container portable HTTP Session. See how Spring Session easily plugs in implementations like Redis, scales out across a cluster, handles multiple users' browser sessions, works with WebSocket, and allows header based authentication within REST apps. It's a perfect fit for working with user data, particularly in a highly distributed environment like the cloud, or on a Platform like Cloud Foundry.

Tuesday, Feb 24th, 2015 3:00PM GMT (London GMT) Register

Tuesday, Feb 24th, 2015 10:00AM PST (San Francisco GMT-08:00) Register

 

 

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

News | Pieter Humphrey | January 20, 2015 | ...

Speakers: Mark Pollack, Mark Fisher, Sabby Anandan

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.

Tuesday, Feb 17th, 2015 3:00PM GMT (London GMT) Register

Tuesday, Feb 17th, 2015 10:00AM PST (San Francisco GMT-08:00) Register

 

The Resource Server: Angular JS and Spring Security Part III

Engineering | Dave Syer | January 20, 2015 | ...

Note: the source code and test for this blog continue to evolve, but the changes to the text are not being maintained here. Please see the tutorial version for the most up to date content.

In this article we continue our discussion of how to use Spring Security with Angular JS in a "single page application". Here we start by breaking out the "greeting" resource that we are using as the dynamic content in our application into a separate server, first as an unprotected resource, and then protected by an opaque token. This is the third in a series of articles, and you can catch up on the basic building blocks of the application or build it from scratch by reading the first article, or you can just go straight to the source code in Github, which is in two parts: one where the

This Week in Spring - January 20th, 2015

Engineering | Josh Long | January 20, 2015 | ...

Welcome to another installment of This Week in Spring! This week's roundup could've just as easily been titled, This Week in Spring Videos and Webinars, because we've got a lot of them!

  1. The good Dr. Dave Syer continues his series introducing Spring Security and Angular.js integration, this time looking at breaking apart the resource server from the authorization server. This post looks
  2. Our pal Nicoalas Frankel is back at it! Nicolas lives in both the Vaadin and the Spring communities. So, naturally, when Petter Holmström and I started the Vaadin4Spring project at the beginning of 2014, we weren't surprised when Nicolas started making great contributions. His latest contribution introduces an elegant implementation of the MVP pattern for Vaadin and he's written a very nice introduction to it

Spring Tool Suite and Groovy/Grails Tool Suite 3.6.3.SR1 released

Releases | Martin Lippert | January 19, 2015 | ...

Dear Spring Community,

We have released a minor service release for STS/GGTS 3.6.3 on Eclipse 4.4.1 to address a security vulnerability that was found in the JGit client. More details on this can be found here: JGit client (CVE-2014-9390)

To download the updated distributions, please go visit:

Detailed new and noteworthy notes can be found here: STS/GGTS 3.6.3.SR1 New & Noteworthy.

STS/GGTS 3.6.4 is scheduled to ship in March 2015, shortly after the Eclipse Luna SR2 release.

Enjoy!

Webinar Replay: Building Scalable Data Applications with Spring and GemFire

News | Pieter Humphrey | January 19, 2015 | ...

Webinar: Building Scalable Data Applications with Spring and GemFire

Speakers: Luke Shannon, Pivotal

Slides: http://www.slideshare.net/SpringCentral/building-scalable-web-applications-with-spring-data-gemfire

GemFire is Pivotal's distributed In Memory Data grid. In this session we will cover simplifying configuring a GemFire grid using Spring Data GemFire, and explore how data is dynamically distributed and made highly available as the grid resources are increased or decreased to meet increased client demand. GemFire access and testing patterns using Spring will be reviewed in detail. We will walk through creating a domain object and using Spring Data GemFire Repositories to perform CRUD operations on a GemFire grid, creating a Spring MVC/Spring Boot application that uses GemFire as its persistence layer, review how Spring Boot and Spring Data GemFire can be used to help with GemFire test cases and how Spring Data GemFire can make creation and execution of GemFire functions easier. We will also explore how Spring XD can be used to load and monitor data changes in the grid. This will be a hands on, code oriented session.

Spring Roo 1.3.1 RC2 Available Now

Engineering | Pieter Humphrey | January 19, 2015 | ...

Spring Roo 1.3.1 RC2 Available Now

On behalf on the Spring Roo team at Disid Corp, I am pleased to announce the 1.3.1 RC2 Release Candidate is out.

Spring Roo jar files have been published to Maven Central.

As always, the release is available in the Spring IO repository.

The candidate release fixes the following issues:

  • NullPointerException at WarPackaging [ROO-3566]
  • NullPointerException when run dbre [ROO-3567]
  • Cannot uninstall or update any osgi bundles [ROO-3573]
  • NullPointerException when create repository mongodb [ROO-3574]
  • Roo commands allows to create two entities with the same name [ROO-3580]
  • Focus set on non existing class [ROO-3581]
  • Error adding InnerType constructor on ITD Generation [ROO-3583]
  • JavaBean implementing Interface defining getters and setters [ROO-3584]
  • JavaBean implementing Interface and overriding getter causing null pointer [ROO-3585]

It is recommended that all Spring Roo users upgrade to this version.

For full details on the changes made in the release, please refer to the [Release Notes in Jira]

For more project specific information please see the [Project Page] | [GitHub]

Thanks to the awesome users who came up with useful bug reports and suggestions. This is a candidate release, please try out the updates and provide feedback. As always, you'll also find Roo on Twitter - either follow @SpringRoo or just include #SpringRoo in your tweets.

Our current plan is to go 1.3.1.RELEASE in late january. Stay tuned!

Spring Batch and Spring Batch Admin Releases

Releases | Michael Minella | January 16, 2015 | ...

We are pleased to announce a number of Spring Batch related releases today. A bug fix release for Spring Batch, a bug fix release for Spring Batch Admin and a milestone release for the new version of Spring Batch Admin are all now available.

Spring Batch 3.0.3

Spring Batch 3.0.3 represents the latest maintenance release for Spring Batch, addressing a number of enhancements and minor bug fixes. New features in Spring Batch 3.0.3 include:

Improved Support For JSR-352 Custom Infrastructures

Before this release, the only way to override the infrastructure provided by Spring Batch out of the box for JSR-352 configured jobs was to include the configuration in the job's context. This prevented the ability to configure a global override for really shared components. With 3.0.3, you can now specify the location of a Spring configuration via a System property that can override the existing infrastructure.

Optional Polling For Partitioned Results

When using remote partitioning, the master needs a way to be notified that the slave partitions have completed their work. Historically that has been accomplished by each slave replying to the master, the results being aggregated, and then the master being notified that all the slaves have completed. However, this required extra configuration that may not be necessary. Since the slaves in a partitioned job maintain their state in the same job repository that the master does, the master can just poll the job repository to see if the slaves are complete. This release adds the ability to configure the MessageChannelPartitionHandler to poll the job repository instead of waiting for response messages. You can read more about the configuration of this new feature in the documentation for the MessageChannelPartitionHandler.

This isn't a complete list of updates, but highlight the major new features. You can see exactly what changed in Spring Batch's Jira issue tracker here: https://jira.spring.io/browse/BATCH/

Spring Batch Admin

1.3.1

The first of two Spring Batch Admin releases we are making available today is the first maintenance release for the Spring Batch Admin 1.3 line. This release addresses a number of minor bugs, the list of which can be found in Jira here: https://jira.spring.io/browse/BATCHADM/

2.0.0.M1

The biggest question I received at SpringOne2GX this past year was "What's going on with Spring Batch Admin?" Spring Batch Admin had its last update in July (shortly before SpringOne2GX last year), but it wasn't much of a feature upgrade. It was released to update the dependencies and address some bugs. Since then, we've been hard at work updating a number of features to bring Spring Batch Admin up to date. Today we announce the first milestone towards that goal.

JSR-352 Support

Spring Batch Admin, as part of the 2.0.0.M1 release, will now support JSR-352 configured jobs. By dropping your XML based configuration in the /META-INF/batch-jobs directory as the spec requires, Spring Batch Admin will load the job to be launchable by the REST endpoints and the current UI. All of the monitoring aspects provided by Spring Batch Admin (viewing the executions, start/stop/restart, etc) are available.

Java Configuration Support

As the shift within the Spring community has been going from XML based configuration to java based configuration, Spring Batch Admin is keeping up. As of this release, Spring Batch Admin supports the configuration of a package to scan for java configured Spring Batch jobs. As with any other batch jobs, these will be loaded and available for execution just like their XML counterparts.

It's important to note, that while Spring Batch Admin now supports java based configuration, you won't want to use @EnableBatchProcessing with it. There's a reason for that. @EnableBatchProcessing provides a collection of infrastructure that is already provided out of the box by Spring Batch Admin. Configuring jobs via java config for use within Spring Batch Admin is exactly the same as if you were using @EnableBatchProcessing...without using that annotation. You still get the ability to autowire the JobBuilderFactory and StepBuilderFactory just like you normally would.

REST Endpoint Updates

As part of the work the Spring XD team has been doing in their administration UI, they have created a completely new set of batch related REST endpoints. This release migrates those endpoints into Spring Batch Admin for all to consume. Off of the /batch path lives a collection of endpoints that provide functionality similar to the existing REST API, however goes much further. The new API follows HATEOAS principles allowing for API discovery and traversal. While the support of HATEOAS is a work in progress, this release provides a look into where we're going with this.

The Future of Spring Batch Admin

Like all of the Spring projects, we strive to make things backwards compatible as much as reasonable possible. Because of that, Spring Batch Admin 2.0 is undergoing some major changes to allow backwards compatibility in the future. These changes include, the removal of an "official" UI, and deprecation of the older version of the REST API. This release does not contain any of these changes. These changes will be coming before Spring Batch Admin 2.0 is generally available. It is our desire to be open and transparent as to the direction of the project.

Anyone that has followed the rate of change in the UI space over the past few years can quickly discern that picking a modern front-end technology and being able to maintain backwards compatibility for the foreseeable future is not possible right now. The rate of breaking changes is just too great right now. When factoring this into our desire to provide tools at the forefront of their related space, we've decided to remove the UI as a formal part of the project. That being said, we still understand that a client is an important piece of what Spring Batch Admin brings to the table. Because of this, it is our plan to provide a collection of sample projects that demonstrate a couple different client options. This will allow us to evolve client options independently of the core framework/API in a way that doesn't prevent us from being backwards compatible.

We will also be deprecating the older version of the REST API. The new API takes a step forward in the REST API maturity model, moving from basic CRUD over HTTP to support for true resources. While the new REST endpoints are still a work in progress, once they are feature complete, we will deprecate the old ones to focus development efforts on improving and evolving the new set.

Where We Go From Here

We will continue to work on the changes mentioned above and currently plan on another release early in the second quarter of this year. We are excited about the future of Spring Batch Admin and look forward to your feedback in Jira, Github, StackOverflow, and social media!

Spring IO Platform 1.1.1 released

Releases | Andy Wilkinson | January 15, 2015 | ...

We are pleased to announce that Spring IO Platform 1.1.1.RELEASE is now available from both repo.spring.io and Maven Central.

The main highlight of this release is the addition of Spring Session 1.0.0.RELEASE to the Platform.

In addition, this release also upgrades the versions of a number of the projects to pick up their latest maintenance releases:

  • Spring AMQP 1.4.2.RELEASE
  • Spring Boot 1.2.1.RELEASE
  • Spring Framework 4.1.4.RELEASE
  • Spring Integration 4.1.2.RELEASE

The versions of many third-party dependencies have also been updated.

Project Page | GitHub | Issues | Documentation

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all