
| |
SAFE I/O Library |
|
 |
In addition to the SAFE specifications of the Core level and the Specialization level, a set of software APIs dedicated to SAFE product users is available. The main use cases of these software components are:
- Create a SAFE product
- Open a SAFE product
- Remove a SAFE product
- Move a SAFE product considering or not the referenced objects
- Validate a SAFE product including or not the external object contents
- Add/Remove/Browse Content Units of the Information Package Map
- Add/Remove/Retrieve the Metadata Objects
- Add/Remove/Retrieve the Data Objects
- Browse/Select/Extract information from either Binary or XML objects
- Identify/Sort Quality Information to a specific part of the objects.
The top level APIs are provided in Java and C++, the C++ version being a wrapper that requires the Java components. They have been built on top of several other components of interest:
- XFDU Java API : this API provides the general features common to all XFDU packages. This API has been developed jointly with the SAFE Java API. This layer is presently used in the framework of the activity of the CCSDS Information Packaging and Registries (IPR) Working Group in support to the validation of the XFDU recommendation developed by this group. It may also support users that intend to develop applications compliant with all XFDU packages, whether complying SAFE or not.
- XFDU C++ Wrapper : a C++ wrapper on top of the XFDU Java API. Most of the functionality is preserved from the Java API, apart the capability of browsing the binary contents.
- Data Request Broker (DRB) : from which SAFE inherits the capability to access data independently from their formats. DRB supports in particular the SDF markup language used for annotating the XML Schema documents acting as representation information of the SAFE product objects.
The following figure represents schematically the architecture of the SAFE API suite:

top
© ESA http://earth.esa.int:80/SAFE/API.html