Category Archives: spring data rest

Working in the cloud on spring-a-gram while flying through the clouds #s2gx

spring-a-gram-catThings are rather intriguing. I am flying through the sky, in the clouds if you will, towards Dallas, Texas. This week is the fun filled SpringOne 2GX conference. As I fly through the clouds, I’m pushing updates to my app, in the cloud. 🙂 Another humorous fact is that I started this blog entry in the airport terminal, but delayed posting UNTIL I got on the plane, so I could access the WiFi.

Spring-a-Gram is my demo app used to demonstrate Spring Data REST. With it I will show just how quickly you can create a back end and shift your focus to the front end. The app is used to create images and then upload them through a RESTful service. I built a mobile web page so you can take pictures with your phone, upload them to a website, and view it from other locations. For fun, I threw in sharing via twitter.

Gearing up for @SpringOne2GX. (It’s not too late to register!)

DSC05391This is a short week for US citizens, since this past Monday was Labor Day. Of course, while I took time off, it didn’t really save me from the fact that I still have a boat load of stuff to do before I fly off to Dallas this upcoming Sunday.

I look forward to seeing many colleagues face-to-face. It’s a great time of cameraderie. And it’s also one of the most heating times of the year when we want to get certain things released to the Spring community.

I’ve been working primarily on two teams this past year: Spring Data and the Allspark team. Primarily I have worked on Spring Data REST, a project that lets you export any Spring Data repo with powerful RESTful endpoints supported by hypermedia. I have also made significant contributions on converting all their reference docs to asciidoctor. (Stay tuned for more on that).

At the same time, I have been using my RESTful skills and knowledge to interact with the Allspark team. This group is focused on a mobile R&D. As people are becoming aware, not only is software consuming the world, but mobile is consuming the software world. With billions of mobile devices in circulation, many businesses deal with mobile traffic as a primary means for lots of customers.

spring-a-gram-catRESTful services are a key facet to developing mobile apps, so I have used Spring Data REST to bridge the gap between Spring Data and mobile interfaces by building a demo application. Roy Clarkson and I will be demonstrating it next week. The app is called Spring-a-Gram and has been developed to move as much development as possible off of the server and onto the client.

In our demo, I’ll show an iPhone mobile web app that can take pictures and upload them to a backend database. Then it will let you tweet links to all your friends. Roy will demo an Android app that does similar things. All the while, it showcases the power of Spring Data REST and hypermedia.

My goal that I am trying to accomplish this week is to get the latest Spring Data GA release into my demo so I can show of the new ALPS metadata. This will be a signature achievement, because it will remove the need for a client developer to actually peek at the apps domain model. Instead, one can interrogate the RESTful service purely with a tool like curl and figure out how to a interact with the backend.

At the same time, I’m polishing up the getting started guides so that readers can skip over the build steps and jump right to the content. The process of putting such dynamic features into an asciidoctor-based guide was quite enlightening. I wrote JavaScript, CSS, and HTML and learned a lot of really fascinating things. I just can’t wait to gather with my colleagues and have a toast to this past year’s work!

If you happen to be coming (it’s not too late to register!!!!), send me a tweet or a message on this blog site. I’m trying to gather notes on all the people I plan to link up with. (In the meantime, I’ve told my editor for Learning Spring Boot that I’m basically unavailable to work on rewrites for the next two weeks.)

Happing coding!

Sprinkling in some @SpringData #REST to chapter 4 of Learning #SpringBoot /cc @PacktPub

learning-spring-boot-ch-4As I hack away at the last couple sections of chapter 4 of Learning Spring Boot, I have enjoyed being able to sprinkle in a little Spring Data REST. That project is really neat. I think it’s the way of the future for many apps out there. By providing an incredibly easy point of access to data, built on lots of standardized conventions, it’s impressive how it provides a good RESTful API while also mixing nicely with the data access layer.

Spring Data is a great way to skip over writing boilerplate CRUD functionality. Spring Data REST provide a powerful, hypermedia-driven RESTful way to interact with it. It sets you up to easily create modern front ends to interact with it.

I knew when I staked out this chapter in my proposal that I would include a section about Spring Data REST. I can’t pass up the chance to get the word out. With only a week until the first draft of chapter four is sent in to Packt, I need to knock out the last bits of this chapter and then gear up for chapter 5, Securing your Spring Boot App.

Cheers!

Spring Data REST => HAL + meta-data /cc @springcentral #rest #hypermedia #alps

spring-data-rest-alpsGreetings Spring Community!

We are working on a new feature inside Spring Data REST: meta-data. When you are talking to RESTful backend over the wire, you might not know the details of the resources behind the URIs. This enhancement provides a way to dynamically serve up domain-specific meta-data to the clients.

If you’re interested, you can see a tiny example of what we’re working on.

The README at the site includes information about to check it out, run it, and interact with the hypermedia-powered, RESTful interface. It shows you how to leverage the meta-data to create new entries.

I need your help

Please feel free to visit the site and try it out. Anything missing? Something not clear? Feel free to either tweet me @gregturn, leave a comment on this blog post, or if you’re feeling bold enough, open a github issue against my TODO example.