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.
iServe is an open source project hosted at GitHub: https://github.com/kmi/iserve
You can find the latest documentation of iServe at: http://kmi.github.io/iserve/latest
As is the case for many Open Source projects, the documentation of iServe is somewhat lagging behind. Still we strive to enrich it as we progress and find the time to do so.
Issues and Feature Requests
iServe is the result of research and development projects and as such it is has not yet reached the maturity of a robust deployment product. We do, however, strive to maintain a solid software at the same time that we carry out research and implement cutting edge features. Should you find issues with the software or wish iServe to provide a certain features you can let us know at: https://github.com/kmi/iserve/issues
We currently have two main deployments:
- Main iServe deployment, is based on a recent version of iServe that we populate with service descriptions gathered from the Web and interlinked with other datasets such as DBPedia, Yago, and Freebase.
- iServe development deployment which uses the most recent version of the software, is often updated and revamped and is therefore not recommended for application use.
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: https://iserve.kmi.open.ac.uk/iserve/sparql
- Development server: http://iserve-dev.kmi.open.ac.uk/iserve/sparql
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.
The interactive documentation of the API can be found here.
Graphical User Interface
iServe includes a Web-based user interface giving access to the content of the service registry and allowing users to browse and search for services, providers, etc.
You can access the GUI for both repositories at the following URLs:
- Stable server: https://iserve.kmi.open.ac.uk/iserve
- Development server: http://iserve-dev.kmi.open.ac.uk/iserve
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