Internal Libraries
Library | Description |
---|---|
Implementation | The Implementation library holds protocol implementations and class default constructors, using platform specific code (i.e. Kotlin or Swift). The Implementation library has a default 'out of the box' implementation for every component, so that an application developer has the option to use the default implementation or create a new one. Some examples of component implementations provided by the Implementation library are:
|
Components | A component is a collection of protocol definitions (there are no concrete implementations in a component). Each component requires the following protocols: The library contains the following components:
A component should not maintain reference to another component unless it is the common component. |
API | The API library defines protocols to communicate with web services such as Cantara, JDE or other services. Examples of these protocols include FileService, QueryService and FunctionService. |
Core | The core library contains implementations for the protocols defined in the API library. The implementations are OS-specific, and utilise platform frameworks such as networking, database access and logging. An example protocol is the HttpClient. In both iOS and Android this protocol defines a post method which expects a future response. The implementation of this protocol would be different for iOS and Android, since they have different networking layers, but the inputs and outputs to the method are the same. |
Schema | Schema holds all the base model definitions for every object in a CC6 application. The model definitions are grouped into assets, core, distribution, finance, logistics and manufacturing. This is the same grouping that is used for the JDE modules. Model definitions for objects that are common to more than one module in JDE are categorised as common. Base model definition of objects is generally expected to inherit from UniqueEntity and conform to a Decodable. Decodable in this instance for both android and iOS means almost the same thing as they both act as a data conversion protocol. Schema also contains:
|