Getting and Using iServe
iServe is both available as a pre-deployed platform, which you can directly use within your applications for publishing and discovering services, and as standalone open source software that you can tweak and deploy yourself. Indeed we encourage everybody to share their enhancements back the same way we are sharing the platform, so that we can jointly get a great software and service for the community.
You shall find herein the current public deployments we are providing, their capabilities and details on how to obtain the code.
We currently have two main deployments:
- Main iServe deployment which is based on an old yet stable version of the software. You can directly use this version from your application through its Web API as we won’t be updating it very frequently.
- iServe development deployment which uses the most recent version of the software and can thus introduce some changes in the conceptual model and the API.
Once published in iServe, the service descriptions are exposed following Linked Data principles. In particular, each service description is given a unique and resolvable HTTP URI exposing service descriptions in both HTML and RDF through content negotiation. Additionally, the entire registry can be queried through a SPARQL endpoint.
Both the stable and the development deployments provide this feature. The underlying conceptual model used, the Minimal Service Model, is evolving a bit based on the use and requirements we are gathering. Only the model of the development deployment changes somewhat frequently, so if you want to minimise the impact on your application you may prefer to use the stable deployment. Eventually, as soon as the extensions are considered stable we shall upgrade the stable server.
The SPARQL endpoint of both servers can be found at:
- Stable server: http://iserve.kmi.open.ac.uk/data/execute-query
- Development server: http://iserve-dev.kmi.open.ac.uk/iserve/data/execute-query
Programmatic access to iServe’s functionality is provided through a RESTful API. The API allows applications to Create, Read, Update, and Delete services, as well as it allows accessing the discovery algorithms implemented. The RESTful API is also evolving, therefore the latest features will be available on iServe-dev but the interface may well change over time.
Graphical User Interface
iServe includes a GWT Web-based user interface giving access to the content of the service registry and allowing users to submit new services, search for them, add ratings and comments, etc.
You can access both repositories at the following URLs:
- Stable server: http://iserve.kmi.open.ac.uk/browser.html
- Development server: http://iserve-dev.kmi.open.ac.uk/iserve/browser.html
Service Languages and Ontologies Supported
Support to different formalisms is provided through an extensible set of import plugins which transform these into the core conceptual model used by iServe. In particular iServe currently supports:
- WSDL v1 and v2
- OWL-S v1.1
Discovery Algorithms Implemented
iServe provides an extensible plugin-based discovery engine which allows one to introduce new algorithms easily and combine them with existing ones on the fly. Discovery results are exposed using diverse serialisation formats (e.g., ATOM, JSON) and can be combined through simple set operations like Union, Intersection, and Substraction.
- Currently iServe provides the following discovery plugins:
- Keywords similarity
- Functional Classifications with RDFS reasoning
- SKOS categorisations
- Inputs and Outputs with RDFS reasoning
iServe is an open source project hosted at GitHub: https://github.com/kmi/iserve