BSP 0.1 Developer's Workbench

The BSP 0.1 Developer's Workbench is a set of tools (e.g., Eclipse IDE, Java JDK, Maven) and deployment technologies (e.g., FUSE ESB, PostgreSQL database) that a developer can use on her local machine (or virtual machine) to code, build, and deploy software service intended for deployment on version 0.1 of the Bamboo Services Platform.

While a developer might choose to swap in different elements of the Workbench, due to particular preferences or familiarity, the BSP Developer's Workbench is provided as a convenience to those who wish to use it, and a concrete set of 'markers' by which any developer may understand how services intended for deployment on the BSP will be built and deployed in shared environments. Shared environments will include nightly continuous integration builds deployed on a BSP Integration instance (slated to come on-line in Q3 2011), the QA instance, and the production BSP instance.

The workbench will change over time as components are added to the BSP. Documentation of the workbench for BSP v0.1 is still evolving, and may be found at BSP 0.1 Developer Workbench (the document is at v0.8 as of date of this blog's publication) in the BTP's Tech Wiki section devoted to the Shared Services Lifecycle area of work.

Future iterations of the workbench will be packaged as a configured set of tools zipped for download from a Project Bamboo ftp server, to simplify assembly of its constituent parts and their installation. Some elements of the workbench (e.g., PostgreSQL) are expected to require separate download and installation procedures.

The BSP 0.1 Developer Workbench document was drafted by Fernando Alvarez, and an earlier draft was shared for review by the Scholarly Services team at the team's meeting of 28 April 2011. The document has since been reviewed and augmented by Richard Millet and Steve Masover, and updated with their suggestions and additional changes identified by Fernando.

This document is the Bamboo Technology Project's first "recipe" that guides a software developer toward implementing and deploying services that follow the emerging architecture described on the wiki page titled BSP Reference Service.