A Framework for all Seasons (and Architectures) Spring walks an interesting line. It provides a lot of value no matter where you run it, and - because it's built on dependency injection layer - it offers a natural piece of indirection between the underlying layer and the applications that run on top of it. This indirection promotes code portability through decoupling: your application code is ignorant of where the javax.sql.DataSource (or whatever) handle it's using comes from, be it a JNDI lookup, environment variables, or a simple new'd-up bean provided by Spring. This decoupling and the…
Welcome to another installment of This Week in Spring! We've got a lot to cover so let's get to it! Our pal Adam Koblentz (from ZeroTurnaround) put up this great post introducing building a websocket application with Spring Boot and JRebel. Check it out! Check out this replay of Mark Fisher, Dr. Mark Pollack, and Sabby Anandan's webinar introducing Spring XD - A Platform for data at scale and developer productivity A huge part of the Pivotal Data Suite, of course, is Spring XD. Last week I surfaced some of the amazing Spring XD wiki content on the new stream processing supports in Spring XD…
This tip is drawn heavily from this Wiki-page on Spring XD's streaming support by various Spring XD team-members, and particularly the amazing Ilayaperumal Gopinathan Spring XD 1.1 is here and is packed with lots of new features. One theme for this release is rich stream processing support. Spring XD 1.1 provides integration with Project Reactor Streams, RxJava Observables, and Spark's streaming. Let's look specifically at using Reactor, though the concepts are similar across all of the supported streaming APIs. Messages that are delivered on the Message Bus are accessed from the input Stream…
Welcome to another installment of This Week in Spring! This week I've been in studio recording the next iteration of the Spring Livelessons series, this one on building cloud-native applications (microservices) with Spring Boot, Spring Cloud, and Cloud Foundry. It's been a lot of fun, and - this morning - I took a break to do two 1.5 hour webinars for O'Reilly on building Spring Boot applications and Spring Cloud microservices, both entirely live coded! It's been a fun week for me, and I hope it has for you, as well. This Thursday the 19th marks the culmination of this year's Lunar New Year…
This post is a guest post by community member Julien Dubois (@juliendubois), a former SpringSource employee who now works for Ippon Technologies and is creator of the JHipster project. Thanks Julien! I'd like to see more of these guest posts, so - as usual - don't hesitate to ping me (@starbuxman)! -Josh the JHipster Introduction JHipster, or "Java Hipster," is a handy application generator that will create for you a Spring Boot (that's the Java part) and AngularJS (that's the hipster part) application. In a very short amount of time, JHipster has became very popular on Github, and it has been…
Welcome to another installment of This Week in Spring! If you're in the bay area this week, I'll be speaking at the Netflix OSS meetup in Los Altos talking about Spring Cloud on Wednesday and at Pivotal San Francisco's Open-Source Hub on the amazing Spring Session project on Thursday. I hope you'll join me for either or both! It's sure to be fun! As usual, we've got a lot to cover, so let's get to it! My pal (and Spring Boot co-founder!) Phil Webb and I gave the introduction to Spring Boot lesson at SpringOne2GX 2014 - check it out! Hopefully you'll have as much fun as we did! :) DZone have…
This post is a guest post by community member Tadaya Tsuyukubo (@ttddyy), creator of the Spring Social Slideshare project. Thanks Tadaya! I'd like to see more of these guest posts, so - as usual - don't hesitate to ping me! -Josh Spring Social Slideshare is one of the community modules in Spring Social ecosystem. It is a Java binding built on top of the Spring Social framework to interact with the SlideShare REST API. Spring Social modules provide an implementation of the ApiBinding interface that binds Java interfaces and concrete implementation classes to a REST API. By convention, an…
Welcome to another installment of This Week in Spring! We've got a lot to cover, so without further ado, let's get to it! Spring XD co-lead Dr. Mark Pollack's just announced that Spring XD 1.1 RC1 is now available! Now's the time to get the bits, try it out and see if there any gaps! If you've been reading the amazing Dr. Syer's blogs of late, you'll know that he's been introducing people to how to use expose and secure REST services for a UI client. The fourth post looks at how to insert an API gateway between the clients and the backend service. The fifth post then introduces OAuth as a…
Welcome to another installment of This Week in Spring! As usual, we've got a lot to cover so let's get to it! Join Andy Wilkinson as he discusses REST API documentation, swagger, and more in a webinar on Tuesday, Feb 3rd - Documenting RESTful APIs Sabby Anandan is joining us for the Spring XD 1.1 launch webinar on Tuesday, Feb 17th - Spring XD: A Platform for data at scale and developer productivity Don't miss Rob Winch as he takes a fresh look at HTTPSession for the cloud. His webinar is on Tuesday, Feb 24th, 2015 Webinar: Introducing Spring Session I put together a look at 12-factor app…
The 12 Factor App Manifesto talks about backing services at length. A backing service is, basically, any networked attached service that your application consumes to do its job. This might be a MongoDB instance, PostgreSQL database, a binary store like Amazon's S3, metrics-gathering services like New Relic, a RabbitMQ or ActiveMQ message queue, a Memcached or Redis-based cache, an FTP service, an email service or indeed anything else. The distinction is not so much what the service is so much as how it's exposed and consumed in an application. To the app, both are attached resources, accessed…