Terminology

Generic and Platform-Specific Terms and Classes

The following link shows some generic terms and base class names together with their iOS and Android equivalents.

Base and Platform-Specific Terms / Derived Classes


Glossary

Term

Definition

Activity

Android class derived from

View

. On iOS it is known as 

ViewController

.

AIS

Oracle's RESTful interface to JDE. Refer to

Cantara Configuration Guide

for further information.

API

A set of rules defining how to interact with a particular Resource. The API methods are called by the Interactor.

The API protocol is inherited by the Worker, which implements the API methods.

Flavor

A build configuration used to build a CC6 app.

CC6

Cantara Client version 6.x

CIP

Cantara Integration Platform

Component 

 A Component is a combination of a

Scene

and

Resources

.

CoreData

A database available on iOS.

CRUD

Create, Read, Update, Delete.

DAO

Data Access Object. A protocol that defines how one should perform CRUD operations on an Entity.

Database

Platform-agnostic term. Platform-specific database implementations include

CoreData

 and

ObjectBox

.

Decodable

A type that can decode itself from an external representation using a set of defined rules.

Entity

Entities are abstract representations of objects at their most simplest form. They are defined as protocols instead of concrete classes, so individual projects can have different implementations of an entity.

Fragment

Android concept. Simulated on iOS to maintain similar codebases.

A fragment is a View that represents a section or multiple sections of a Scene

A fragment is a UI representation at a certain point in time. It holds UI objects (text, labels, etc) which the user can interact with. It delegates actions in response to button presses and other user input. A fragment can only be changed via Interactor and Worker actions producing a response model for the Presenter.  

Fragmenter

Required on iOS only (as Android uses its own fragment manager).

A Fragmenter is responsible for attaching, detaching and laying out fragments. 

FunctionService

A class used to interact with a JDE function.

Interactor

An Interactor conforms to the BusinessLogicProtocol and holds the business logic specific to a Scene. It sends the work to a Worker object, and once a response is received, it sends the response to the Presenter which the Interactor has a reference to. Note that the Presenter reference is constrained to a PresentationLogicProtocol. The Interactor does not hold a reference to any specific Presenter object, but it can hold a reference to any object that conforms to the PresentationLogicProtocol.

The BusinessLogicProtocol defines the inputs to the Interactor.

The PresentationLogicProtocol defines the output of the Interactor.

Interface

Known as 

Protocol

in iOS.

JDE

Oracle JD Edwards EnterpriseOne ERP software.

Library

A collection of related classes built to support the requirements of an application or component. Refer to

Internal Libraries

 for information about the CC6 libraries.

Module

A module is an aggregation of Use Cases. One or more modules may be combined to make an app.

NS Network

A network stack implementation available on iOS.

ObjectBox

A database implementation available on Android.

Presenter

The Presenter is responsible for translating business models into

ViewModel

 objects. In some cases this translation is minor and does not warrant a separate Presenter class, in which case the Presenter can be the

ViewController

.

Protocol

Known as Interface in Android.

Request

Object passed from the View to the Interactor.

Resource

The combination of a WorkerDao and Service objects. Resources will generally be related to an Entity (eg PurchaseOrderHeader in the Approvals module). They tie together the logic of fetching, storing, retrieving and updating an entity.

A resource can contain multiple Use Cases.

Responder

A delegate assigned by a Fragment to respond to user input events.  

Router

A Router is responsible for separation of navigation logic from the ViewController. The Router creates new Scenes, and injects the relevant data into the new Scenes through the Interactor's data store.

Scene

On iOS, a Scene contains Views in an application. On Android, a Scene is an activity.
Scenes consist of Components and Fragments - Scenes will tie together a Component with one or more Fragments.

Service

Service is an abstraction of the network layer, for any background transaction. It can be a work request to the network, such as a REST API call or a get request to an FTP server. After the background operation is completed, the Service sends the response back to the Worker.

Service can refer to JDE functions, queries, reports, extensions and notifications.

An example of a CC6 Service is the function service. It consists of a request and response model and an execute method.

Target

iOS term referring to the build configuration used to build a CC6 app.

UIKit

A UI framework implementation available on iOS. Refer to the 

UIKit website

.

VIP

Terminology | View

Terminology | Interactor

Terminology | Presenter

 - the three main components of the CC6 architectural model.

View

A view is responsible for displaying UI elements and responding to user input. No business logic is defined in a view.

Views are layered: e.g. a button view is created by overlaying content, image, and label views.

ViewModel

A ViewModel contains all information needed to draw the UI for a component.

Worker

A Worker is responsible for a single, small piece of work.