-
Notifications
You must be signed in to change notification settings - Fork 15
Hands on Importers
As seen in Fuchsia 101, importers use import declaration as input. The information contained in the import declaration must be enough in order that the processor execute its role properly.
As soon as this importer is connected to an import declaration it generates an instance of Fuchsia GenericDevice, and this instance is published as a service inside OSGi platform.
External Requirement:
- JAX-WS service published
- Interface(a') that represents the WSDL available in the OSGi platform that will import the service
Import Declaration information required:
- jax-ws.importer.interfaces
- className
- endpoint.url
Output:
- OSGi service registered with a' representing the JAX-WS (Remote service)
Today to import the JAX-WS service Fushsia uses CXF. CXF is used in order to reduce the complexity in creating the connection and handling with different issues that may be raised.
External Requirement:
- MQTT server with the address known
- EventAdmin service configured in the machine that will import this service
Import Declaration information required:
- id
- mqtt.queue
Output:
- A message will be published in EventAdmin in the queue $mqtt.queue, meaning that it will use the same name of queue as MQTT
MQTT is a protocol largely diffused protocole for message exchange due to its good performance. The implementation used by Fuchsia to support MQTT was RabbitMQ
PubSubHubBub ,or simply PuSH, is a publish/subscribe protocol created by google and used by some of its tools.
External Requirement:
- PuSh server address
Import Declaration information required:
- push.hub.url
- push.hub.topic
- push.subscriber.callback
- push.eventAdmin.queue
Output:
- A message will be published in EventAdmin in the queue $push.eventAdmin.queue, meaning that it will use the same name of queue as PuSH
There are no well known and portable PuSH implementations, Fuchsia implemented partially PuSH specification