Barista (Java Chef Client)

Daniel DeGroff

java native bindings

At Inversoft, we like open source and we like Java.

When we built out our platform to support our new cloud product offerings we started using Chef to help us manage our deployment strategy.

While a well documented and easy to use RESTful API over HTTP is great, that same API provided with native bindings is awesome. Native APIs save developers a lot of hours of reading through documentation and building their own domain object and REST bindings. We use a number of native APIs for services like Stripe and Intuit and provide a native bindings for Passport in Java, PHP, JavaScript, Python and C#.

When we began working on some new backend features for our cloud product offerings, I set out to find a Chef Client written in Java in order to simplify our integration.

As luck wouldn’t have it (yes you read that correctly), I was unable to find a Java library that really made my life easier. There are other Chef libraries out there, but all of them were very lightweight wrappers around HTTP calls. Some went so far as to return the JSON response from the Chef server as a String rather than right POJO.

Rather than limping along with a library that was essentially a glorified URLConnection, I did what any software engineer would do, I wrote it myself.

Behold Barista! A native binding for Chef that provides rich domain objects and REST bindings to work with a Chef server.

https://github.com/inversoft/barista

Building a properly authenticated HTTP request to Chef is not great fun, so I don’t suggest you do it yourself unless you enjoy the pain. We’ve done the heavy lifting for you and we did this without using any third party encryption libraries. This means you can pick up this library without dragging along any unnecessary dependencies like Bouncycastle.

Continue reading

Tags:
API java Chef

3 Trends Shaking Up App Development in 2016

Brian Pontarelli

3 trends shaking up app development in 2016

With the number of apps and mobile users projected to increase exponentially, developers who create the most advanced technology fastest will gain the competitive edge needed to stand out amongst competition.

The software industry is ever-changing. The field is highly dynamic, focused on building and changing the way we live, work and play. 2015 was a tumultuous year for developers.

IT was impacted by innovations from within as well as external factors, such as increased government regulations and cyber-crimes originating both in the U.S. and abroad.

Continue reading

Why build an API: Because We Love Programmers

Daniel DeGroff

If you’re not a developer or some other breed of nerd, you may be asking “What the heck is an API and why does everyone keep talking about them?” An API is defined as an ‘Application Programming Interface’. That definition doesn't help much for for the non-technical, so in practical terms it is simply a documented way for one application to talk to another application.

Why are we talking about APIs? Because they are cool! Yes, APIs are cool. Let me explain.

User Interface APIAPI vs. Ford Model T

For the unfamiliar, you may more easily identify with a user interface and understand the importance. When you get into your car, unless you’re one of the few remaining Ford Model T owners, you don’t have to cross wires and yank on pulleys to operate your vehicle. These manual steps are not required because the designer built a user interface for you to operate your vehicle. The interface includes the steering wheel, gas and brake pedals and even some knobs to turn up and down the heat to keep you comfortable. The better this user interface is designed, the easier and more enjoyable it is to operate your vehicle.

Continue reading

Tags:
API