I’ve recently been playing with Liberty and JAX-RS and in an effort to remember some of what I’ve discovered, I’m going to try and keep a few notes and post them here, probably along with a few questions. If anyone else finds them useful, or knows the answers, that’s a bonus!!
To start with Creating an efficient REST API with HTTP provides a nice overview of REST APIs and JAX-RS basics has a great simple sample application to get going with… and break!
Armed with the basics I thought it would be interesting to model the sample application to compare the working code with what Rational Software Architect (RSA) would generate for me. Obviously that’s not the most complex model in the world but it was good to have a few examples to follow:
- Design and implement RESTful web services with Rational Software Architect
- Getting started using RESTful services with IBM Rational Software Architect for WebSphere and IBM WebSphere Liberty Profile
- Modeling JAX-RS Subresouce locators and invoking CRUD methods from Dojo
(Those articles made much more sense when I’d tracked down all the likely looking JAXRS, REST and UML features in the RSA installer!)
Before generating any code, it was quite nice to get some basic API documentation out of the model. Not as fancy as using Swagger UI but certainly better than no documentation!
It’s only a start but that’s all for part 1. Hopefully there’ll be more posts at some point when I get further, probably along these lines:
- Creating an OSGi Web project and generating some code
- Using a REST client to check it works, including a puzzling Wink problem
- Adding some debug
- Expanding the sample with some awkward long running processing
- Deploying to Bluemix
- Anything else I encounter along the way!
If you know of any good articles/books/fancy new media that would help, please leave recommendations below. If there are better ways to design REST services (Swagger looks interesting but I haven’t had a chance to investigate), please share them. And any other tips, comments, or questions of your own are also very welcome!