Introducing the CLEAN stack for IBM Bluemix …
Just to get this out of the way. The term CLEAN is just something I’m using personally. While this model fits nicely into Bluemix, there is no such IBM product or offering.
CLEAN stands for Cloudant NoSQL DB, LoopBack, Express, AngularJS and Node.js. It’s similar to the MEAN stack with two significant differences.
With the importance of the API economy I looked for a mechanism to easily build and document APIs. LoopBack has a lot to offer along those lines and last week even more exciting announcements were made around API management.
Also a lot of applications require access control to certain information on both application and object level. I evaluated briefly other ways to do authorization in Node.js applications, but for me the built in functionality in LoopBack was much easier to use.
2) Cloudant NoSQL Database
The CLEAN stack uses Cloudant instead of MongoDB, but LoopBack actually supports MongoDB as well. One reason I chose Cloudant was just because I like it :). The other reason was that the Bluemix MongoDB service is not fully integrated in Bluemix yet and I wanted the deployment to be as easy as possible.
Open Source Sample
- Node.js for business logic
- AngularJS for web application
- Ionic, Cordova and AngularJS for hybrid mobile apps
- Gulp build script
- Definitions of business objects
- REST APIs
- Property files
Check out the slides and the series of blog articles for more information.
- Creating Business Objects and REST APIs with LoopBack
- Usage of Cloudant in LoopBack Applications
- Authentication in LoopBack Applications against Bluemix
- Customization of REST APIs in LoopBack Applications
- Authorization in LoopBack Applications on Bluemix
- How to write AngularJS Frontends for LoopBack Applications
- How to write Mobile Apps for LoopBack Applications
- How to consume Bluemix Services in LoopBack Applications