Last week IBM previewed a new service for IBM Bluemix, called Social File Sharing. As some of my readers will know this is the work from my previous team, the IBM Connections app dev team, and I actually implemented the first version/prototype of the service broker. Since several people have asked me how to do this, let me give a quick overview.
The IBM Bluemix catalog provides 16 services right now that have been provided by third parties, for example MongoLab, SendGrid and Memcached Cloud. Partners who are interested to add their own services should check out the IBM Cloud marketplace landing page for partners.
Technically in order to add a service to Bluemix a service broker needs to be developed, hosted and registered. CloudFoundry defines a service broker API and it defines how to manage service brokers. However these APIs are not directly used by third parties. Instead IBM cooperates with AppDirect which allows developers to write only one service broker and deploy it to various platforms:
“AppDirect offers the only cloud service delivery platform that exceeds the functionality provided by the most established distribution channels for on demand services, such as the Google Application Marketplace, Salesforce Appexchange, and the Apple App Store.”
Implementing a service broker is straight forward. Essentially you need to implement the following REST APIs:
– Return the description of the service and the plans that show up in the catalog
– Create a new service instance: this is typically where user accounts are created, resources are reserved, etc.
– Bind a service instance to (a) specific application(s): this is where the credentials of the service are passed to the application
– Unbind and delete service instances
– Provide single sign on when the dashboard of a service is invoked from Bluemix