Tuesday, May 6, 2014

Introducing Orchestrate.NET

I have had the pleasure of working on a new open source project called Orchestrate.NET, This project creates a wrapper for Orchestrate, the powerful new Database as a Service that allows you to combine multiple databases into a single service and query it with a simple API.

Once registered and signed in to the Orchestrate.io site, you can create Applications through the console. Each application comes with its own API key. Using this key and the Orchestrate.NET library it is easy to create collections, add/update/delete items, search using Lucene query strings as well as add events and object graphs.

With Orchestrate you pay by the number of data transactions, not by the size of your data set. With the first million transactions per month being free, its a great option for start ups without much traffic yet, and the enterprise with very large data sets. Orchestrate takes care of security, back ups and monitoring for you, leaving you free to concentrate on coding.

To add a reference to Orchestrate.NET to your project use the package manager:
PM> Install-Package Orchestrate.NET
or go to the repository on GitHub and get the code for yourself.

Once installed to create a collection use the following code (you have to insert an item to create a collection):
var orchestration = new Orchestrate("YOUR API KEY GOES HERE");
var result = orchestration.CreateCollection(<collectionname>, <itemid>, <item>);

To insert a new item (or update an existing one) you would do something like this:
var result = orchestration.Put(<collectionname>, <itemid>, <item>);

To retrieve an item by its Id:
var result = _orchestrate.Get(<collectionname>, <itemid>);

Please check out the documentation on GitHub and at Orchestrate.io for more in depth look at the capabilities available to you. Also please provide feedback, ideas for new features and pull requests as you can. We want to make this the best library possible.

I will be posting some more in depth looks at Orchestrate and how to use Orchestrate.NET to get the most out of it in your applications.