
Sleepycat Software makes Berkeley DB, the most widely used application-specific data management software in the world with more than 200 million deployments. Customers such as Amazon, AOL, British Telecom, Cisco Systems, EMC, Ericsson, Google, Hitachi, HP, Motorola, RSA Security, Sun Microsystems, TIBCO and Veritas also rely on Berkeley DB for fast, scalable, reliable and cost-effective data management for their mission-critical applications. Profitable since it was founded in 1996, Sleepycat is a privately held company with offices in California and Massachusetts.
The XML version of their product, Berkeley DB XML, was released in July 2003 and has attracted a strong user base from the start. Built as a layer on top of Berkeley DB, DB XML added native XML support, with an ability to index, query and update whole XML documents. Berkeley DB XML used the Pathan open source library to provide XPath support.
After the launch of Berkeley DB XML version 1, it became clear that the XML industry was beginning to focus its attention on XQuery as the XML database query language of choice. XQuery provided advanced searching, joining and sorting functionality, in addition to that provided by XPath. A decision was taken to provide XQuery support in version 2, to be ready Q4 of 2004.
In November of 2003, Sleepycat approached Parthenon to work on version 2 of their DB XML project. Parthenon was newly formed, from engineers who had gained considerable experience with Pathan, which had since evolved to provide support for XPath 2.0, a subset of the XQuery language. The Parthenon engineers were already at home with cross-continent agile software development methodologies, and were ideal candidates to join the DB XML project team.
Parthenon initially partnered with Sleepycat to integrate Pathan into DB XML, a task scheduled to take nine weeks. The architecture of Pathan had changed, along with the introduction of a library of new datatypes and language constructs in XPath 2.0, so this was non-trivial work. Paradigm shifts in the way the XPath query language had evolved meant almost a complete rewrite of DB XML's query engine was required.
One of our engineers undertook the task of integrating the new type system into DB XML, whilst another produced the interface between the query parser and the DB XML query planner. Although they had to get to grips with an entirely new code base, the work went ahead on schedule.
Parthenon has considerable experience in managing software engineering teams, and fully understands the importance of good process. Along with this goes our emphasis on good quality assurance and testing. The client specified that testing should be done in Tcl, which Parthenon happily accommodated - enhancing the existing test suite and extending it to cover the large number of newly added features.
This experience in software development also led to Parthenon providing automated cross-platform continuous build facilities for the DB XML project. This practice allows developers to find problems with their production code within a short time of them developing it, and thus facilitates the minimization of engineer down-time due to others' mistakes.
Towards the end of this contract, it became apparent that Parthenon's engineering skills were important for the success of the DB XML 2.0 project. Our knowledge not only of Pathan and XPath 2.0, but also of XQuery, DOM and the Xerces-C project made us invaluable to the ongoing feature schedule and optimisation.
Parthenon committed to provide a full-time Quality Assurance engineer and a full-time Technical Architect/Engineer to work on the DB XML query planner and XQuery integration for a further 6 months, seeing the project through until shortly before release.
Parthenon's architects are able to bring state-of-the-art object oriented design approaches and quality documentation to facilitate code use, reuse and understanding. Our quality assurance engineers are trained programmers who specialise in intelligent, thorough testing procedures. The combination of these two specialisms results in a solid, well thought out product, which fulfils client specification and is suitable as a base for further development.
During this time, Parthenon was able to contribute further floating resources when Sleepycat's schedule became tight. Using Parthenon also gave Sleepycat the flexibility to reduce the number of contracted engineers prior to release, when active development had ceased and the workload was less.
After the successful launch of the Berkeley DB XML 2.0 project, Parthenon have continued to offer occasional engineering services to Sleepycat, and are partnered with Sleepycat to provide training and consultancy to the customers who use DB XML.
Mike Olson, CEO of Sleepycat, says, "Parthenon was the right choice for us. Its professional, flexible approach to both partnerships and engineering gave us the results we wanted, when we wanted - and at a cost that was tailored to our project budget."
To view/download the case study as a pdf, click here (.pdf 46K)
Contact us in the UK or USA to discuss how we can add value to your business.
