Skip to main content

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
GenericiOSAndroid

Database

CoreData

ObjectBox

Flavor

Target

Product Flavor

ViewView

Fragment

Fragmenter

Fragmenter

Android Fragment Manager

Protocol

Protocol

Interface

Network

URL

HttpUrlConnection

Scene

Scene DelegateActivity


Glossary

TermDefinition

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

ViewInteractorPresenter - 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.



JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.