For accessing OpenNaaS functionalities remotely the system exports the OSGI services through RESTful web services.

Distributed OSGI has been used for the integration of REST in the OpenNaaS platform. DOSGi allows integrating REST or SOAP technologies with OSGi allowing dynamic registration of resources, capabilities and other services as a web service.

When a resource is created, for example, all its capabilities are published dynamically to access remotely.

Each capability of each resource has its own web service and its own URL to access it. 

The future security layer should control access to different capabilities according to the resource that is running.

 

 

 

 

 

 

 

 

 

 

 

 

Integration with OpenNaaS

For anyone who wants to integrate with OpenNaaS, the best approach is to create a client that invokes OpenNaaS using the RESTful web services published. This client would need to be an independent set of classes (its own library) from OpenNaaS. In order to be able to develop there certain recommendations that would help a developer:

  1. Download and install OpenNaaS.
  2. Run OpenNaaS.
  3. Access the following URL to obtain the information needed to acces the RESTful web services (if installed in the local machine1):
    1. Resources: http://localhost:8888/opennaas/resources?_wadl
    2. vCPE Network: http://localhost:8888/opennaas/vcpenetwork?_wadl

You can see en example of a web application develop on top of the vCPE Network resource by following the steps explained in How to deploy a vCPE.

It has not been develop yet a basic client as a guide for new developments, but there is a good introduction on how to start using RESTful web services under CXF in the following link: http://cxf.apache.org/docs/jax-rs.html

 


This is the configuration by default of OpenNaaS platform, but if you want to change localhost to your local_machine_name you can edit the file org.opennaas.cfg located at OPENNAAS_PATH\platform\target\opennaas-0.XX-SNAPSHOT\opennaas-0.XX-SNAPSHOT\etc and change the parameter ws.rest.url.

 

  • No labels