As seen in [Fuchsia 101](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.

JAX-WS importer

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)

Detailed Description

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.

MQTT importer

External Requirement:
  • MQTT server with a known address

  • EventAdmin service configured in the machine that will receive MQTT event

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 as the MQTT queue

Detailed Description

MQTT is a protocol largely diffused for message exchange due to its good performance. The implementation used by Fuchsia to support MQTT was RabbitMQ

PubSubHubBub importer

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

Detailed Description

There are no well known and portable PuSH implementations, Fuchsia implemented partially PuSH specification