Skip to main content

Server Implementation Guide - Overview

Introduction

This draft guide is proposed for platform vendors and server implementers who want to expose their manufacturing information systems through the i3X API. By implementing this standardized interface, you enable application developers to build portable applications that work across multiple platforms.

Purpose and Goals

i3X defines a common set of server primitives that manufacturing information platforms can implement to:

  • Commoditize data access: Standardize how applications access manufacturing data
  • Enable application portability: Allow applications to run on any compliant platform
  • Promote ecosystem growth: Foster a marketplace of interoperable manufacturing applications
  • Reduce integration costs: Minimize custom integration work for both platform vendors and application developers

Target Platforms

This API is designed for implementation by both individual platforms, or combinations of platforms that work together against a unified information model, to provide the required capabilities. Examples include:

  • Historians (e.g., OSI Pi, Rockwell Automation platforms)
  • SCADA System (e.g., Inductive Automation Ignition)
  • Manufacturing Execution Systems (MES)
  • Manufacturing Operations Management (MOM) systems
  • Enterprise Manufacturing Intelligence (EMI) platforms
  • Data brokers and MQTT/Sparkplug-B servers, when augmented with other capabilities
  • Data Ops Manufacturing Integration Platforms (e.g. HighByte Intelligence Hub, ThinkIQ)
  • Custom manufacturing information systems

Architecture Overview

System Context

┌──────────────────────────────────────────┐
│ Application Layer │
│ (Client Applications - Analytics, │
│ Visualization, ML, etc.) │
└──────────────────────────────────────────┘
↓ ↑
[i3x API]
↓ ↑
┌──────────────────────────────────────────┐
│ Your Platform Implementation │
│ ┌────────────────────────────────┐ │
│ │ API Layer (Your Code) │ │
│ ├────────────────────────────────┤ │
│ │ Business Logic │ │
│ ├────────────────────────────────┤ │
│ │ Data Contextualization │ │
│ ├────────────────────────────────┤ │
│ │ Data Store / Historian │ │
│ └────────────────────────────────┘ │
└──────────────────────────────────────────┘
↓ ↑
┌──────────────────────────────────────────┐
│ Edge Layer (PLCs, Sensors, etc.) │
└──────────────────────────────────────────┘

Key Assumptions

The API assumes that your platform (or combination of platforms):

  1. Has already contextualized raw manufacturing data
  2. Has unified the information model and Namespaces across data stores
  3. Can map internal data structures to the API's object model in a Type-safe fashion
  4. Supports time-series data storage and retrieval
  5. Support at least hierarchical relationships between well Typed objects
  6. Implements appropriate security and access control
  7. Can handle concurrent client connections

Documentation Structure

This server implementation guide is organized into the following categories:

  1. Requirements - Core capabilities and compliance requirements
  2. Data Models - Object model and time-series data structures
  3. Implementation Patterns - Code examples and best practices
  4. Documentation - OpenAPI specification generation

Getting Started

  1. Review the Requirements to understand what your implementation must support
  2. Study the Data Models to understand the API's object model and time-series structures
  3. Explore the Implementation Patterns for code examples