GE Software: Predix Architecture & Core Deep Dive
GE Software: Predix Architecture & Core Deep Dive
Jean Lau
Engineering Manager
GE Software,
San Ramon
Agenda
Agenda Predix Architecture & Deep Dive
2 GE Confidential
Predix
Platform
Architecture
Agenda
Overview
Predix Server (Core, Asset,
Insight)
Predix Machine
Predix Experience
3 GE Confidential
The Challenges
Enable to build cost effective Application (less TCO)
4 GE Confidential
Introducing Predix
Predix Market
place
People at work Machine Server
Grid/utility
Network
On Premise
Wind farm
or
Turbine
Cloud
Experience Server
Machine Net
Reader Card Asset Insight
Micro
Connect Core
5 GE Confidential
Predix Server
Move up the value chain from asset optimization to
fleet and network optimization
6 GE Confidential
Predix Server: Core
Visualization • Design studio to create
: design and layouts, widgets and
publish with applications
common • Integrate with multiple data
experience sources
• Modular software
Kernel: framework: Secure, cloud-
Build enabled application
Support and deploy container with basic
faster on elastic services (data access,
middleware notification, logging,
software scheduling, etc..)
development
Business
Service • Enterprise service bus,
Framework: integration framework,
SOA platform policy management and
Services workflow capabilities
GE/External Cloud
Cloud
Services Application
Real-time
(Predix Net)
Predix Server
3rd Party
Enterprise Application
Core Application
Plant
Micro Application
Near Real-time
(Predix Net)
Phys
ical
Secu
rity
Machin Machin
e e
Real-time
(Predix Net)
Device
8 GE Confidential
Predix Server: Asset
• Unified asset management
system
Model and • Integration/ federation with
manage other asset management
assets systems
Asset
Management: • Configuration management,
Model and Asset- alarm management and
manage asset, based access management
its lifecycle and services • Lifecycle services: state
provide services management, auditing
9 GE Confidential
Predix Platform – Server/Asset
People Real-time
Person
Person
GE/External Cloud
Cloud
Services Application
Real-time
(Predix Net)
Predix Server
Asset
3rd Party
Enterprise Application
Application
Core
Plant
Micro Application
Near Real-time
(Predix Net)
Phys
ical
Secu
rity
Machin Machin
e e
Real-time
(Predix Net)
Device
10 GE Confidential
Predix Server: Insight
• Support Big Data storage,
management, ingestion and
consumption
Industrial • Support for multiple data
Big Data formats
(IBD) • Support for multiple
distributed data sources
Learning
Framework • Machine learning for model
innovate tuning
analytics • Model discovery
models • Ensemble Learning and
model fusion
Requirement Capabilities Features
11 GE Confidential
Predix Platform – Server/Insight
People Real-time
Person
Person
GE/External Cloud
Cloud
Services Application
Real-time
(Predix Net)
Predix Server
Plant
Micro Application
Near Real-time
(Predix Net)
Phys
ical
Secu
rity
Machin Machin
e e
Real-time
(Predix Net)
Device
12 GE Confidential
Predix Machine/Net
• Virtualization for anytime/
anywhere deployment
SDM Visor • M2M interoperability
Virtual • Hypervisor-based separation
operating on single or multi-core
environment processors
13 GE Confidential
Predix Platform – Machine/Net
People Real-time
Person
Person
GE/External Cloud
Cloud
Services Application
Real-time
(Predix Net)
Predix Server
Cloud/Pre
dix Net
Plant
Micro Application
Near Real-time
(Predix Net)
Phys
ical
Secu
rity
Machin Predix Machin
e Net e
Real-time
(Predix Net)
Device
Predix Machine
(micro foot print)
14 GE Confidential
Predix Experience
• Enable multi-modal in-line
interactions & collaboration
Predix • Provide offline information
Connect sharing
Connected • Social network bases
experience for services
people and
machine
Predix Reader
Efficient • Reusable building blocks
development (templates, UI widgets) for
Multi-platform fast development
delivery • Delivered on mobile, desktop
and big screen
15 GE Confidential
Predix Platform – Experience
People Real-time
Person
Person
Predix Experience
GE/External Cloud
Cloud
Services Application
Real-time
(Predix Net)
Predix Server
Cloud/Pre
dix Net
Plant
Micro Application
Near Real-time
(Predix Net)
Phys
ical
Secu
rity
Machin Predix Machin
e Net e
Real-time
(Predix Net)
Device
Predix Machine
(micro foot print)
16 GE Confidential
Application - Reference Architecture – Digital Energy –
Predix.Grid
DE GridIQ GridIQ GridIQ GridIQ
Solutions Distribution Transmission Connect Insight
Grid
Renewable
On
Premise
Comms. or
Digital Energy
Cloud
Orbit
Predix.Grid Experience Predix.Grid Machine Predix.Grid
Server
Screen Interaction Domain Domain Domain Domain Federate
Topology Pattern Adaptors Services Adaptor Services Data
s
SWCOE
Reader Card Operate Asset Insight
Security Fabric
17 SS & GA
GE Confidential GA GA SS
Predix Core
Deep Dive:
Kernel
Demo
18 GE Confidential
Predix Core
19 GE Confidential
Predix Core (Kernel, Visualization) Overview
Data Access
Workbench (Spring Data)
Logging
Spring/OSGI Container
20 GE Confidential
Why do I need Predix Core?
• Provides common services
• Security
• Logging
• Abstracted Data access
• Managed transaction
• Soap/RESTFul services…
22 GE Confidential
Why do I need Predix Core?
• It can be used for many reasons, but primary
motivation is modularity and service oriented
23 GE Confidential
How can I use Predix Core in my
applications?
• Build your business logic as services
• Use Predix Core services via OSGi service interface
• Expose your business logic as RESTFul, SOAP or Java
services
• Deploy your services to the Predix Core Kernel
24 GE Confidential
How can I use Predix Core in my
applications?
25 GE Confidential
Core Services
26 GE Confidential
Service Lifecycle Management
• Service registration and discovery
• Expose business logic as local service (JAVA API)
• Expose business logic as SOAP service (SOAP protocol)
• Expose business logic as REST service (RESTFul
protocol)
• Controls service lifecycle
– Install/uninstall; Startup/shutdown; Start/stop; Reload
27 GE Confidential
Configuration Service
• Supports centralized configuration or application properties
management
• Application can read and update configurations
• Callback methods to handle configuration changes
• Custom validation for configuration
• Externalize, decouple configurable properties from business
logic
28 GE Confidential
Data Access Service (Spring Data
Framework)
• Abstraction layer for business logic for data accessing.
• Supports the following data layer:
– RDBMS, oracle, mssql, mysql, postgresql, derby, h2
– Non SQL – Mongo DB
• Spring JDBC template
• Spring Data JPA – Hibernate as provider
• Spring ORM for JPA
• Historian – GE Proficy product (Non Spring Data)
29 GE Confidential
Application
Services
30 GE Confidential
Logger Service
• Provides a way to log messages to a console, file or
customize appender
• Pax Log4j configuration
• Category logging and loglevel support
• Provides RESTFul and local API to download:
• In Zip format, Logfile retrieval by lines, tail
• Can use logging APIs commonly used like:
• SLF4j, Log4J, Apache Common Logging, Java Util
logging, etc.
31 GE Confidential
Scheduler Service
• Scheduler service is a job system in Predix Core Kernel to
provide job scheduling, execution and other capabilities .
• Defines job and schedule.
• Job type can be Java job, Linux script job
• Job scheduler can be immediate job, simple schedule job
and cron expression job.
• Jobs can be grouped together in Job Box
• Jobs in Job Box can be run in sequential or parallel.
32 GE Confidential
Notification Service
• Message based notification service
• Rabbit MQ as message bus
• Publish and subscribe paradigm
• Notify endpoint via SMTP using MimeType
• Notify endpoint via HTTP using JSON as message body
• Register custom callback handler as endpoint
33 GE Confidential
Event Service
• Provide API to subscribe to events with filters
• Event type, event name, and context
• Publish and subscribe paradigm
• Event Subscriptions via Java callback handler.
• Event Subscriptions with immediate email notifications.
• Event Subscriptions with a digest email notification.
• Event subscriptions with an http post notification (specify the
URL to post the event messages).
34 GE Confidential
Cache Service
• Standard JCache under JSR 107 standard
• Supports local cache (single node)
• Replicated cache (multiple nodes in the cluster)
35 GE Confidential
Security Services
36 GE Confidential
Audit Service
• Provide Audi trails of access to services
• Authentication and authorization
• Pluggable model to use different persistent store
• Create audit records with its message capability
• Synchronously
• Asynchronously
37 GE Confidential
Authentication Service
• Pluggable architecture to use different security provider
• Out of the box
• LDAP ( LDAP server as IdP)
• GE SiteMinder SSO (SiteMinder as IdP)
• STS – OAuth2 (Predix K as IdP, REST based)
• STS – WSO2 (WSO2 as IdP, SOAP based)
• Oracle DB (Predix K as IdP)
• Customized plugin
• Implement com.ge.dsp.authentication.api.IAuthenticationService
• defined in dsp.authentication.core.conf file
• See “Kernel User Guide” and sample consumers for details
38 GE Confidential
Authorization Service
• Pluggable architecture for PIP & PDP
• Out of the box
• WSO2 implementation for PIP & PDP
• Customized plugin
• Implement com.ge.dsp.authentication.api.IAuthenticationService
• Defined in dsp.authorization.pip.core.conf
• Defined in dsp.authorization.pdp.core.conf
• defined in dsp.authentication.core.conf file
• See “Kernel User Guide” and sample consumers for details
39 GE Confidential
Entitlement Service
• Pluggable architecture for entitlement
• Out of the box
• WSO2 implementation for entitlement
• Customized plugin
• Implement com.ge.dsp.authentication.api.IAuthenticationService
• Defined in dsp.authorization.entitlement.core.conf.
• See “Kernel User Guide” and sample consumers for details
40 GE Confidential
Best Practices
Security Architecture
41 GE Confidential
Best Practices
Authentication Flow
42 GE Confidential
Best Practices
Authorization Flow
43 GE Confidential
Best Practices
WSO2 Integration
44 GE Confidential
Other Application Services
• User Preference Service: In addition to
identity, add extensive user properties
• Exception Management Service
• Centralize location of message strings
• Localization support
• Performance Monitoring Service: Provide
information on how business logic is running
• Administration Service: Mainly for the admin
console
45 GE Confidential
REST Service
Demo
46 GE Confidential
Predix Core
Deep Dive:
Visualization
Quick Demo
47 GE Confidential
What’s Predix Core Visualization?
• A common platform used to build industrial
software solutions across various business
domains
• Web application framework (Play)
• Visual design tool (Workbench)
• An SDK and Runtime platform
• Non-JEE, consumes Predix Core RESTFul
services
• Embraces many recent technology deployments
48 GE Confidential
Predix Core Visualization
Architecture Browser Tablet Mobile
Visualization
IIDS Design System HTML CSS JavaScript
JavaScript (MVVM)
Renderer(s) Repositories
Core Modules
Data Services (application logic) Catalogs
Business More
Authentication Identity Mgmt. Logging Notification
Logic …
Service Service Service Service
Services
49 GE Confidential
Predix Core Visualization Functional
Architecture
Workbench Core Client-
Side
IIDS Technolog
y
User Interface Designer Vis MVC (Knockout/Sammy/Angular*)
Why do I need
Predix Core-
Visualization?
51 GE Confidential
Best Practices
52 GE Confidential
Industry Trending
53 GE Confidential
What’s Predix V?
Modern Web Apps:
DOJO ExtJS Predix V
JQuery
Backbone
Knockout
Client
Server
Angular
CGI J2EE
Spring
RoR Node.js
GWT Play
55 GE Confidential
Best Practices
57 GE Confidential
Features
• A complete web application framework
58 GE Confidential
Features (Runtime)
59 GE Confidential
Application Lifecycle
Developer
Tools
Credentials
Rest
API Request
w/SAML
61 GE Confidential
Best Practices
SiteMinder
Cach
e
62 GE Confidential
End2End
• Use the Predix Workbench to design UI
• Integrated IIDS
• Used widget catalog
• Data binding
• Packaging
• End2End workflow for web application design, development
and deployment
• Security integration (SSO or Kernel STS)
63 GE Confidential
Visualization
Demo
64 GE Confidential
Demo – Health Module (POC O&G)
Use case:
As an GE employee, I want to use a web based
application so I can monitor the health of machines
& lineups installed at the customer site associated
with OSM details & information.
Requirement:
• Application has to be SSO enabled
• Two user roles: GE Employee & Contractor
• Data and services are provided by Florence
Data Center
65 GE Confidential
Architecture
WSO2
SiteMinder
O&G Web
Gia-K Services
Browser
Gia-V
Reverse Proxy
66 GE Confidential
Predix Machine
& Net
Demo
67 GE Confidential
Predix Machine
68 GE Confidential
Predix Machine Overview
• Device-independent platform, enables new capabilities to
make machines more intelligent
• Java-based software stack for embedded devices
• Provides SOA paradigm for Industrial Internet
applications
• Secured environment for machine to machine, cloud, and
to human communication
• OSGi framework with small footprint
• Runtime platform for machine application
69 GE Confidential
Predix Machine Functional Use Cases
• Gateway to cloud, on-premise systems and machines
–M2C, M2M
• Gateway for Mobile HMI – M2MB
• Remote device management – on-boarding, firmware,
resources, status
• Data aggregator and converter
• Runtime for user apps – deployment, configuration,
life-cycle management
• Engine for Edge analytics
• Alarms and Notifications
• Micro Asset Management
• Device platform to enable collaboration
70 GE Confidential
Predix Machine Platform Components
Platform Components
71 GE Confidential
Predix Machine Functional Architecture
Cloud Gateway
UPnP OPC UA
(Client)
Object Data Machine
Model Subscription Data Access
OPC UA DDS
Registry
(Server)
Core Services
Java Runtime
72 GE Confidential
Conceptual Model
Cloud
(Public or Private)
M2C
Cloud Gateway
Machine Gateway
Mobile Gateway
User Apps
M2MB & M2M
Services
73 GE Confidential
Predix Machine 0.7 (Nov. 2013)
• Micro Container (OSGi)
• Small footprint, runs on 80 or less MB memory
• Linux and Windows OS
• Declarative Service & White board design pattern
• Core Services:
• Logging
• Bundle Security
74 GE Confidential
Predix Machine 0.7
• Cloud Gateway:
• HTTP/S Client
• Websocket Client
• XMPP Client
• Machine Gateway
• TCP Socket Server
75 GE Confidential
Architecture
XLG3 Remote Collaboration Solution
Cloud Services
Additional Services Predix Connect Services
XLG3 Device
Predix Micro
Video
Application Cloud Gateway
(Native C++) HTTPS WebSocket XMPP
Client Client Client
User
User
Credentials
Machine Gateway
Annotation
TCP Socket
Application Server
Call Router
TCP/IP
(Native C++)
Socket
Endpoint
76 GE Confidential
Predix Machine
Demo
77 GE Confidential
ICL 2013 Demo: High-Level
VFD Cabinet Interface
(maintenance/commissioning) Architecture
Compressor Cabinet Interface
(maintenance/commissioning) FSE Toolkit
(Tablet) RMD
Next Gen Next Gen Application?
PC HMI CIMPLICIT Proficy
New
UX
(GIA Y Mobile/
Reader) Predix Reader
Cloud for
Wireless
Data Proxy RMD
router
OPC-UA over Ethernet
TSN gateway
Predix Predix
P80i
Machine
Lab PACs
Machine
OPC-UA
OPC-UA
Server Prototype Server
QNX
OPC-UA OPC-UA
OPC-UA via Dspace Server
Hypervisor(RTS) Hypervisor(WRS)*
78 GE Confidential
Predix Machine for ICL: System View
Predix Reader
(Tablet) HMI (Big screen)
Consumes data in JSON
using REST JSON data
WAP LAN
Hypervisor
Controller HW
79 GE Confidential
Predix Net
80 GE Confidential
Predix Net Preview (1.0 Q2 2014)
Unified Messaging Fabric (UMF) intends to bring a common architecture to GE
businesses that will bring a consistent design and deployment to the Real-time and
Enterprise messaging.
Customer: Axone Project Team (Healthcare) (several other projects are in the pipeline)
81 GE Confidential
System Description
Goals
• Data delivery – provide a consistent mechanism to guarantee efficiency,
performance, scalability, and security
• Data unification – bridge internal data needs with external producers and
consumers using industry standards and best practices
• Deployment and management – provide data exchange solutions that are easy
to deploy and manage leveraging custom and standard IT solutions
Components
• Fabric Control Service (FCS) – Infrastructure management and configuration
service. Manages a bus configuration or collection of busses, provisions them,
registers their entities, including Bus Bridges, Routing Services, Nodes and
Endpoints
• Bus Bridge (BB) – Manages discovery and configuration of Nodes and bridges
them to other busses. Provides message routing to other Bus Bridges and
Endpoints
• Endpoint – Logical destination where messages are sent on a bus. It enables
communication between entities (publisher and subscriber).
• Publish/Subscribe Node (PSN) – A single endpoint that might consists of one or
more publishing and/or subscribing entities. Each entity is mapped to a single data
type and specific QoS
82 GE Confidential
Functional Architecture
Mgt. Layer
Remote Management and Monitoring Service
FCS Provisioning and Remote
System Diagnostics High Availability
Deployment Configuration
Security
Bus Bridge (BB)
BB BB
Endpoint Discovery Message Routing
Configuration Registration
Security
Shared Memory UDP TCP
IP v4/6
83 GE Confidential
Deployment View
84 GE Confidential
85 GE Confidential