Nursery-(accepted)

Complete name of the project

Submitter information

Project purpose and summarization

Project information

Nursery is a software suite dedicated to API publishing and subscription life cycle management.It's basically an API Management system.

Description of the project and its goals

Nursery is a set of software allowing to manage an API ecosystem.It includes: - an API/web-services gateway: technical point of publication for web API allowing to simplify network issues for producer and consumer. It enforce access policy management (encryption, authorization, quotas. It's based on Apache web server) - an API self-care: this is a marketplace allowing consumer to subscribe or to publish API. Once subscriptions are validated by an administrator, API gateway is provisioned to enable access for consumer. It's a JEE web app. - a monitoring probe module, enabling generic HTML monitoring page to be plugged behind any monitoring system (like Nagios). It offers a simple OK/KO web page to monitoring system and send proper request (SOAP, REST) information to API to monitor. It also provide some additional connectors specifically for Nagios integration. It's a JEE web app

In addition, even if it is not a base feature of Nursery, it also provides a "received SMS router" witch is able to forward received SMS according to the SMS description( content, sender...) and enabling mutualization of SMS infrastructure (One shortCode/MSISDN, many recipient).The typical use case is the following: - a SMS "box" (such like Kannel) receive a SMS from GSM network and forward it, as a web request to the SMS Router. According to routing rule, the SMS router will forward the request to the proper recipient as a web request too.

Targeted audience

Software embed in Nursery are many middle-ware software targeted for network and infrastructure peoples (Web Service Gateway) as well as developers (API self-care) for publishing an consuming web APIs

Supporting team

Main committer is benoit.herard(at)orange.com

Business model

API management is a growing segment. We feel Nursery can be a competitor in this segment. Competitors include Layer7 (a CA subsidiary) , APIgee (stand alone and SaaS offering) , Mashery (an Intel subsidiary). A component like Nursery can enable usage quota and pay-per-use models. It enables commercial API models. Nursery can help create value above a project such as Emerginov.

User community

The Emerginov project (http://emerginov.ow2.org) is already using Nursery. Nursery should quickly benefit from the Emerginov community.

Internationalization

Roadmap

First step is to make the Nursery software available as an independent component. The software is in use since 2007: it is stable enough (some of its sub-part are in their v7) and already quite functionality-rich. However so far it was only used within Orange and for Emerginov. The objective now is to open source it and productize it so as to make it useful and attractive for an open and broader community of users. By the way one of the key priorities is to make the documentation truly user-friendly. Another task would be to increase the software robustness and scalability.

Hosting

Today the code repository is not public. If the project is accepted in the OW2 code base, source code, documentation, etc. will be made available on the OW2 forge. In the meantime source code is accessible at: http://nursery-app.rd.Francetelecom.com/nursery/

Your project and OW2

Nursery is basically a middleware/infrastructure software, it is well aligned with the OW2 code base.

OW2 components

Within Orange Nursery is currently running on JOnAS. Nursery can benefit any OW2 project that publishes or consumes APÏs and/or wishes to have a certain level on control over API access and consumption.

Synergies

The main and obvious synergy is with the Emerginov project. Another key synergy is with the Open Source Cloudware initiative (OSCI): Nursery is the basis for new category of cloud services that can be called API as a service.

Interested parties

Technologies and standards

Nursery is essentially written in PHP and Java, with traces of C and shell.

Contribution to the OW2 Community

We are convinced that Nursery is a good and relevant addition to the OW2 code base. Nursery will be one of the very few open source API management software on the market.

Motivations to join the consortium and its community

OW2 is the most relevant open source community for an infrastructure component such as Nursery. Moreover given the very long-term relationship between Orange and OW2 it is a natural and obvious decision.