Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

What is a YOUnite Adaptor

YOUnite Adaptors are essentially extensions to the YOUnite DataHub allowing access to where managed data is delivered to and retrieved from. 3rd parties implement these adaptors using the YOUnite Adaptor SDK. They can represent federated as well as centralized data depending on the implementation dynamics. Adaptors are a fundamental component to federated data domains.


...

For more information on YOUnite adaptors see:

...

The YOUnite API Documentation can be found at https://younite.us/api

...

How to Get Started

An Adaptor adaptor is implemented using the YOUnite Adaptor SDK. The SDK takes care of quite a bit of the complexity behind the scenes, but there are still a few things developers will need to be aware of... namely some configuration elements, the life cycle, and the proper use of the SDK Annotations.

The first step is to get the actual SDK. For Java, the most common way is to use the Maven artifact YOUnite provides. For those not using Maven, there is also the option to download the SDK library directly <Link <TODO Kevin: Link here to latest sdk jar file>. The Maven configuration is as follows:

...

You will also need to add a server to your project POM to access the YOUnite Maven Repository: <TODO KEVIN: ONCE YOUNITE MAVEN REPO IS WORKING... INSERT INFO BELOW>

...

Adaptor Architecture

Once an Adaptor adaptor is connected to the YOUnite DataHub through the YOUnite Message Bus, it is able to send and receive data and ops messages. However, to streamline an Adaptor Developers adaptor developers time, the SDK has a minimal configuration step so that developers can focus on the business logic their Adaptor adaptor is being built for and not the inner workings of sending and receiving messages, parsing those messages, and so on. To facilitate this, the YOUnite Adaptor SDK makes use of  annotations  developers use to define the capabilities related to the data their Adaptor adaptor can produce and/or consume. These capabilities loosely translate into a Pub/Sub configuration on the YOUnite DataHub. .. essentially Essentially they indicate to the YOUnite DataHub the specific Domain domain properties they are interested in receiving changes for, and which of their own Domain domain properties they will push out to the YOUnite DataHub when a change occurs within the associated local service(s) the Adaptor adaptor is implemented to work with. These local services could be direct database data, an FTP server, in-memory data, or a remote service with data. In fact, the dynamic nature of YOUnite Domains domains leave the details to individual Adaptor implementations to determine how they access the and retrieve domain property data to send and /or what to do with incoming domain property datatransformations they want to apply to them.

Connecting Adaptors to the YOUnite DataHub

To get connected to the YOUnite DataHub, an Adaptor adaptor must make use of a dynamic transport layer. Out of the box, YOUnite is integrated with the Active MQ Message Bus as the transport layer. Regardless of the actual underlying transport layer, the YOUnite Adaptor SDK shields the Adaptor adaptor developer from having to be concerned with any of the details on how to connect, send and receive data via the transport layer. The YOUnite Adaptor SDK comes bundled with an implementation of the AMQ Transport layer, so nothing more is needed to be done with regards to this to get started, except for some configuration details which are described next.

...

Because the YOUnite DataHub Runtime Engine runtime engine may be deployed in any number of environments (including but not limited to local developer machines, QA, Staging, Production..), it is necessary to instruct the YOUnite Adaptor SDK on how to connect to the YOUnite DataHub. Specifically, the URL that the YOUnite Adaptor SDK will use to connect to the implemented transport layer, authentication details which allow the transport layer to identify the specific Adaptor to the YOUnite DataHub as a legitimate Adaptoradaptor, a valid Adaptor adaptor UUID and Zone UUID (previously registered with the YOUnite DataHub) and possibly the OAUTH Server URL used by the transport layer... (TODO: Determine if this is necessary.. or can the transport layer which is already configured with the URL details in order to check the validity of the adaptor authentication just use what it has configured).

...

Internally the YOUnite Adaptor SDK maintains some data structures to keep track of the capabilities of the adaptor, and the associated domain version(s) of the YOUnite DataHub. This is what makes it possible to respond to incoming data, as well as send outgoing data do to some form of data change detection that the adaptor developer implements, which will all become clear in the next few sections... but first, adaptor capabilities and how they are defined.

...