Webinar replay: Taming Coupling & Cohesive Beasts with Modularity Patterns and Spring

News | Pieter Humphrey | October 02, 2013 | ...

Speaker: Param Rengaiah, Aspire Systems

By now you should have heard about coupling and cohesiveness. These concepts, and their third cousin, polymorphism, is what we as developers chase day-in and day-out. They tease us with reusability and the promise of comprehensiveness of our code. They entice us with promises of code quality and testability. They came in the form of "Object Oriented' design, followed by GoF and SOLID Design Patterns, DDD, BDD.. but none of them delivered what they promised. Now, the new kids on the block are Functional Programming and Modularity Patterns.

What happens when you choose to go through large refactoring exercise on the back of Modularity Patterns, in a large, complex enterprise project? The journey was long, arduous and gruesome. On the way, I made many enemies and found some new friends. This talk will highlight the issues, both technical and otherwise, and how it was overcome; where did Spring help and where did it hurt. In the end, was it worth it? Come to this session and you will find out.

!{iframe width="420" height="315" src="//www.youtube.com/embed/yqQEpXPmJuo" frameborder="0" allowfullscreen}{/iframe}

This Week in Spring - October 1st, 2013

Engineering | Josh Long | October 02, 2013 | ...

Welcome back to another installment of This Week in Spring! There is, of course, lots to talk about so let's get to it.

If you're in the bay area, I'd like to invite you to the Silicon Valley Code Camp this weekend. I'll be giving two talks - one on building RESTful Services with Spring and the other on Improving Spring Java configuration muscle-memory with the amazing Phill Webb. Pivotal will also have a booth there, and we'd love to see you!

  1. Spring Data Arora SR3 has been released! The new release folds in Spring Data Commons 1.5.3, Spring Data JPA 1.3.5, Spring Data MongoDB 1.2.4 and Spring Data Neo4j 2.2.3. Nicely done, as usual, Oliver!

Spring Data Arora SR3 released

Releases | Oliver Drotbohm | October 01, 2013 | ...

The Spring Data team has just released the final service release for the Arora release train. SR3 includes the following modules:

In it's core the release includes all bug fixes made between Babbage RC1 and GA that were candidates for back porting. It's a recommended update for all users on Arora that cannot upgrade to Babbage for whatever reason.

The third service release is the last release for Arora. The Spring Data team is now focussing on the development of the first milestone for the upcoming release train called Codd as well as service releases for Babbage. You can find an overview of the further release planning

Webinar Replay: Getting Agile with Pivotal Tracker

News | Pieter Humphrey | September 30, 2013 | ...

Presenter: Davis W. Frank, Pivotal Labs

Slides: https://github.com/infews/2013.09.05.GettingAgileWithPivotalTracker

"Agile Software Development" is an ambiguous term. It's an umbrella term. It's a controversial term. But what does it really mean? The first principle of agile development is to keep feedback loops small to allow a team to make frequent, small corrections on the way to delivery. Pivotal Labs practices this every day. We coach our clients on how to re-view their problems and approach from first principles. We wrote Pivotal Tracker - the Agile project management app - to work the way we think. Come learn about tight feedback loops, how to use them in software, and how Pivotal Tracker can keep your backlog sane.

!{iframe width="420" height="315" src="//www.youtube.com/embed/kFQORVSDeF0" frameborder="0" allowfullscreen}{/iframe}

This Week in Spring - Sept 24th 2013

News | Pieter Humphrey | September 24, 2013 | ...

Hello everyone! Pieter posting this on Josh Long's behalf here... this week the Spring and Cloud Foundry teams are at JavaOne talking to developers about Spring, Cloud Foundry, Hadoop and big data! Happily, our pretty new @GoPivotal booth has garnered a lot of attention!

I met Duke, too! I think the big guy was as happy to see me as I was him!

  1. Spring ninja Greg Turnquist put together a nice post on how to contribute to Spring Boot with a pull request. The article does ultimately talk about the processing sending a pull request, but most of it's a really great introduction to extending Spring Boot to suit a new use case (like JMS, which simply hadn't been added yet). This post also introduces some cool features in Spring Boot, if you haven't learned about it yet.
  2. Speaking of Spring Boot, check out this upcoming Spring Boot webinar featuring project co-lead Phil Webb!
  3. Rossen Stoyanchev put together a knock-out piece how to build web applications that use websockets, or Sock.js, and how to then layer STOMP on top of that for an easier messaging-style interaction between the browser and the service.
  4. Rossen also has an upcoming webinar on Oct 8th, Building WebSocket Browser Applications with Spring, showing off the best of his SpringOne2GX 2013 session.
  5. I encourage you to check out the upcoming webinar featuring James Williams on building big data applications with Spring, Spring XD and Hadoop! This is going to be an awesome talk. James has some killer examples and knows his stuff.
  6. In related news, I put together a quick post on my thoughts on Data Integration, Stream Processing and Spring XD.
  7. Jakub Kubrynski has put together a nice post on how to use load-time weaving to inject dependencies into objects not managed by the Spring container using a couple of different approaches.
  8. Nitin Kumar put together a nice look at Spring Integration, a lightweight approach.
  9. Tomás Lin, who says that he loves testing Grails applications with Spock, put together a great post on how to test with Spring Boot with Spock.
  10. Sometimes, you need to do RMI, and when you do, Spring has you covered!
  11. The BitwiseOR blog has a great post on how to use Spring Boot to build REST services, using Groovy no less! Win! I'm not sure if I agree with the conclusion, but whatever it takes for people to be able to use this to simplify development, it's a win! And, with really great posts like this, hopefully it won't be long at all before everyone's bootstrapping their development, too!

Webinar: Building Big Data Applications with Hadoop & Spring

News | Pieter Humphrey | September 24, 2013 | ...

At Pivotal we are bringing two open source projects together -- Hadoop and the very rapid and widely used Spring java application development framework to help build Big Data Applications. While Hadoop is proving to be the defacto foundation for storing and processing data, real-world scenarios require much more. Millions of developers are already using Spring to create high performing, easily testable, reusable code without any lock-in. In this month's webinar James Williams will explore how Spring XD (Xtreme Data) is addressing Big Data Application needs including:

  • High throughput distributed data ingestion into HDFS from a variety of input sources
  • Real-time analytics at ingestion time, e.g. gathering metrics and counting values
  • Hadoop workflow management via batch jobs
  • High throughput data export, e.g. from HDFS to a RDBMS or NoSQL database.

Date: Thursday, October 3, 2013 Time: 9:00 AM, PST/5:00 PM, GMT Summer Time

Register http://play.gopivotal.com/Global_Hadoop_Spring_Webinar_Register.html

 

Webinar: Building WebSocket Browser Applications with Spring

News | Pieter Humphrey | September 24, 2013 | ...

So, you've written a "Hello world!" WebSocket application or perhaps even a chat sample. You're able to exchange messages even in pre-Servlet 3.1 containers and pre-IE 10 browsers (that don't yet support WebSocket) thanks to the SockJS protocol and Spring's support for it. However a message is a blank page that can have any content. Whatever message format you choose, proprietary or standard, both client and server need to understand it as well as distinguish different kinds of messages. You need support for the publish-subscribe pattern central to messaging applications so you can broadcast messages to one or more subscribers. You need to incorporate security, validation, and so on. In short you need to build a real-world application. If you're used to web applications (and Spring MVC annotated controllers) you are familiar with the foundation that HTTP provides including URLs (nouns), HTTP methods (verbs), headers, parameters, and others. Imagine building an application without HTTP, just a socket. WebSocket gives you this brand new, exciting capability -- full duplex, two-way communication -- yet you no longer have an application-level protocol. Can an entire application be built around a single Endpoint class processing all messages, assuming a single WebSocket connection between browser and server? Join Rossen Stoyanchev as he demonstrates that, thankfully, the WebSocket protocol has a built-in sub-protocol mechanism.

Europe

Tuesday, October 8 3:00PM GMT Summer Time London, GMT+01:00)

Register https://gopivotal.webex.com/gopivotal/onstage/g.php?t=a&d=667384670

 

North America

Tuesday, October 8 10:00AM PDT San Francisco, GMT-07:00)

Register https://gopivotal.webex.com/gopivotal/onstage/g.php?t=a&d=660130258

Contributing to Spring Boot with a pull request

Engineering | Greg L. Turnquist | September 20, 2013 | ...

In case you missed this year's SpringOne 2GX conference, one of the hot keynote items was the announcement of Spring Boot. Dave Syer showed how to rapidly create a Spring MVC app with code that would fit inside a single tweet. In this blog entry, I will peel back the covers of Spring Boot and show you how it works by putting together a pull request.

Autoconfiguration

Spring Boot has a powerful autoconfiguration feature. When it detects certain things on the classpath, it automatically creates beans. But one feature it doesn't yet have is support for Spring JMS. I need that feature!

The first…

Webinar: Simplifying Spring with Spring Boot

News | Pieter Humphrey | September 19, 2013 | ...

Are you fed up with searching stackoverflow for copy-paste configuration, do you want to write apps that can 'just run'? Perhaps you are just starting out with Spring and want a quick way to learn the basics without manually downloading and installing half the Internet?

In this webinar Phil Webb will demonstrate how Spring Boot can take you from zero to Spring with minimal fuss. We will look at how you can rapidly prototype Spring applications using Groovy, and how Spring Configuration in Java applications can be radically simpler. We will show how you can embed tomcat into your applications…

This Week in Spring - September 17, 2013

Engineering | Josh Long | September 17, 2013 | ...

This Week in Spring

Welcome back to another installment of This Week in Spring! I'm still reeling from last week. If you were there, you know what I mean, if not, then look forward to the videos coming out over the coming months. There's so much stuff to see.

For those of you who were at the show and sought me out because of This Week in Spring, it was really great to meet you all!

The world keeps on spinning of course, so let's look at some of what's happened this last week.

  1. Jennifer Hickey has announced that Spring Data Redis 1.1 has been released. The new release provides support for pipelining, data type conversion, and a modified API for adding or removing multiple List, Set, and Hash elements all in one call. Great stuff, check it out!
  2. AspectJ, Scala, Cloud Foundry, and Spring framework ninja Ramnivas Laddad has just announced the first cut of the Spring Cloud project, which in turn is a revolutionary API that takes the cloudfoundry-runtime library previously used with Cloud Foundry applications to the next level, opening the doors for support of multiple providers. Nice job, Ramnivas! And, dear community, if you want to see more, now's the time to check out the code and sound off!
  3. Over on the @GoPivotal blog, Stacey Schneider has put together a very nice post on her experiences at her first SpringOne2GX last week. Great read, and I echo her sentiments, even though this was not my first SpringOne2gx! :)
  4. Didn't get enough Data-love last week? Spring Data ninja Oliver Gierke just announced the latest cuts of two community modules: the first milestone of Spring Data Couchbase lead by Michael Nitschinger and the 1.0 GA of Spring Data Solr lead by Christoph Strobl.
  5. I put together a blog that introduces some of the things required to make the Spring Social binding that Roy Clarkson and I demonstrated last week at SpringOne2GX work with Spring Android, specifically as concerns the loading of certain classes in Spring core, Spring Security and Spring HATEOAS. Check it out!
  6. Groovy/Grails, and Spring, Tool Suite ninja Martin Lippert has just announced the latest iteration of STS and GGTS, versions 3.4.0.M1, has been released!
  7. Our pal Tobias Flohre is at it again, this time with two great SpringOne2GX wrapup posts. The first looks at some of the Spring XD, Batch and Hadoop technologies demonstrated, and the second looks at Spring Boot and the Spring IO platform.
  8. Rossen Stoyanchev, the genius behind the websockets support in Spring 4, has put together an amazing slate of demos using WebSockets and STOMP (which you can work with from RabbbitMQ!) and he showed these demos off last week at SpringOne2GX 2013 to wide acclaim. Nice job! If you missed it last week, at least check out the code, now.
  9. The Ippon.fr blog has a nice (French-language!) interview with my pal Eric Bottard, a (French-speaking) developer on Spring XD. Good read!
  10. The fine folks over at IntelliGrape have put together a nice roundup of their favorite talks from SpringOne2GX on day 2. Check it out!

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