1 What is the 10Duke SDK?

1.1 Web application development

The 10Duke SDK has been designed to make it easier and faster to develop innovative web applications. It contains many concepts and design patterns that should make it substantially easier for you as the application developer to create your application. It can be used for different types of packaging, ranging from standard .war to custom formats with individual class paths and library management.

1.2 Inversion of Control (IoC)

The 10Duke SDK is best described as an IoC (Inversion of Control) container. Developing applications using the SDK uses a programming technique where you, as the application developer, are mostly using APIs and contracts in your development while being fully decoupled from the actual implementation fulfilling the contract of the API.

The primary pattern we have used to provide IoC is called Service Locator (the other main alternative is called Dependency Injection, see also this Wikipedia article).

In practice, inversion of control means that you as a developer may use selected default implementations provided by the SDK but that you also retain complete freedom to replace any or all of those defaults with your own implementations should you prefer to.

1.3 Content and Media

Most modern web applications involve dealing with content and media. In order to meet this need, the 10Duke SDK includes the concepts of storage, meta data, conversions (transcoding), and logic relating to serving content.

1.4 RESTful API

The 10Duke SDK has built-in options for exposing a REST API including data access and application logic as an HTTP(S) server interface.

1.5 Identity

The definition and logic around the notion of Identity varies between applications and systems. The 10Duke SDK is flexible and supports both human and machine users as a model. Using the SDK you are also free to extend the model and logic dealing with identities as you choose.

1.6 Authorization and Entitlement

The 10Duke SDK applies a versatile scoped authorization model. Authorization can be based both on a standard Role-based model as well as a License-based model. Authorization checks and decisions can be made in scopes like: internal, group, company, and related application (e.g. OAuth consumer). Authorization also includes built-in roles that allow efficient configuration using concepts like viewer, authenticated user, owner, author, etc.

1.7 Object model

An object model exists to represent the business entities an application deals with. The 10Duke SDK introduces an object model framework with dynamic relations. The benefit of this approach is that every application can model the relationships between its objects to exactly match its particular requirements. The SDK object model includes approximately 100 classes that will help you get started quickly on the most common use cases.

1.8 Object Graph

An object graph is a collection of objects related to each other. Through these relationships they form a graph. The dynamic relation model together with a meta information model in the 10Duke SDK allows the expression of object graphs. These makes implementing application logic and User Interface (UI) items easy and efficient. The concept of Graph is also reflected in the REST API provided by the 10Duke SDK.


Accept & Close

We have placed cookies on your computer to help make this website better. You can change your cookie settings at any time. Otherwise, we'll assume you're OK to continue.