The UPA API supports the Open Message Model (OMM) interfaces. It complements RFA by providing users with a choice as to the level of API access and functionality that is appropriate to access the Thomson Reuters real-time financial data feed TREP (Thomson Reuters Enterprise Platform), as illustrated below. If low-level raw access is needed, and some of the features at the RFA layer can be sacrificed, then UPA is the right choice.
UPA is a low-level API designed to give an application developer the most flexibility possible. It is the foundation that all Thomson Reuters OMM-based components are built on. By programming with this Transport level API, developers are using the same API as Thomson Reuters did when creating the TREP components, thus they can achieve the full performance that the Core Infrastructure is capable of providing.
UPA C contains several packages. Each API package included with UPA C comprises all the necessary components including libraries, full documentation, and examples of how the API is used.
The Value Added Components provide alternative entry points for applications to leverage the OMM -based UPA, and are intended to simplify and complement the use of UPA. The Value Added Components allow the application developer to choose and customize the balance between ultra high performance raw access and ease of use feature functionality. The choice to leverage these components is up to the application developer; Value Added Component use is not required to use UPA. In addition, the application can utilize some or all of the Value Added Components. Value Added Components are written to the UPA interfaces and are designed to work alongside UPA. As a result, the interfaces have a similar look and feel to UPA interfaces in order to provide simple migration and consistent use between all Value Added Components and UPA.
UPA is also the foundation for the new Elektron API family and is available as part of the Elektron SDK, rebranded as the Elektron Transport API. Any new development with UPA should be done using the Elektron Transport API.