API management tools

Sunday, October 21, 2012 0 comments
When you go service oriented, either REST or SOAP or whatever other hybrid, you will need sooner or later a management layer on top of you services including authentication, throttling, documentation, provisioning, caching, etc. Here's a collection of API management tools which cover either the whole spectrum of this functionality or a single piece, both commercial and open source.

Commercial

Open source

Other resources

Enjoy and feel free to add in the comments any others that you know of!

Ruby & Rails shot

Saturday, May 19, 2012 0 comments

Ruby libs shot

Friday, May 4, 2012 0 comments

method_decorators

Jealous of Java, C#, etc method annotations? Here's a mini gem that gives you the opportunity to do this in Ruby! Watch out :
class ExternalService
  extend MethodDecorators

  +Retry.new(3)
  def request
    ...
  end
end
Source and info : https://github.com/michaelfairley/method_decorators
Spotted through Extending Ruby with Ruby (with explanation and other cool ideas)

anise

Dynamic code annotations
class X
  extend Anise::Annotative::Attributes

  attr :baz, Integer, :max => 10
end

X.ann(:baz)  #=> {:class=>Integer, :max=>10}

Her

An "ORM" for REST apis instead of database models
Her::API.setup :base_uri => "https://api.example.com" do |builder|
  builder.use Faraday::Request::UrlEncoded
  builder.use Her::Middleware::DefaultParseJSON
  builder.use Faraday::Adapter::NetHttp
end
class User
  include Her::Model
end
User.all
# GET https://api.example.com/users and return an array of User objects

User.find(1)
# GET https://api.example.com/users/1 and return a User object

@user = User.create(:fullname => "Tobias Fünke")
# POST "https://api.example.com/users" with the data and return a User object

@user = User.new(:fullname => "Tobias Fünke")
@user.occupation = "actor"
@user.save
# POST https://api.example.com/users with the data and return a User object

@user = User.find(1)
@user.fullname = "Lindsay Fünke"
@user.save
# PUT https://api.example.com/users/1 with the data and return+update the User object


Redmine 1.4 release imminent

Saturday, March 24, 2012 0 comments
Redmine 1.4 is just around the block and it comes with some features that go back to 2008 (yes, that's almost 4 years ago). Here are the most notable ones :

Smaller nice additions :
Plus if you are using the LDAP authentication module :
The full changelog is available here.

Even though I'm still thinking about dumping Redmine for the ChiliProject fork which seems to have way faster development cycles it's nice to see Redmine moving forwards after so many years of continuous development. Kudos.