What is Google IoT Core?

Industry 4.0 Data with Google IoT Core

what is google iot core

Google IoT Core is an Internet of Things (IoT) service from Google that allows businesses to manage their IoT infrastructure and data. Google IoT Core is comparable to Amazon’s IoT Gateway and Microsoft’s Azure IoT Hub.

The key elements of Google IoT Core include:

  • Device management – an interface for managing and authenticating ‘things’ or devices
  • Protocol bridge – provides the connection endpoints and management services needed to provide secure and reliable telemetry.

OAS Google IoT Core Interface

Always on the leading edge of Industrial IoT technology, OAS now includes support for Google IoT Core. Moving data from your local or remote data sources to (or from) Google IoT Core is straightforward with OAS. It doesn’t matter what the data source – with Open Automation Software you can move it to and from Google’s IoT Core framework.

Use the OAS Google IoT Core Interface to quickly, efficiently and securely move data to and from Google IoT Core and other systems. There’s no limit to the type and quantity of data you can move with OAS. Production data, energy monitoring, inventory, GPS data and more can all be automated with OAS. Harness your data to improve overall equipment effectiveness and improve supply chain efficiency.

What is Google iot core

Data quality is a high priority for IIoT Applications

For Industrial Internet of Things applications, data transfer has to be secure, accurate and fast. With OAS, data quality is verified via timestamp using MQTT. Take live local, remote or plant floor data and easily use it in big data analytics.

Write live data to devices within Google IoT Core using OAS’s built in MQTT protocol driver. This enables you to take full advantage of any or all of the other big data and IoT services provided by Google IoT Core. You can complement Google IoT Core with other OAS products; our Data Historian product is an easy and reliable way to move data to Google IoT Core.

MQTT – A Highly Efficient Protocol for Remote Devices

OAS Google IoT Core interface utilizes MQTT, a lightweight protocol that implements a client/broker architecture. Originally developed as a machine to machine (M2M) protocol by IBM, MQTT is now implemented in several open protocols.

Due to its client/server architecture and its small footprint MQTT is particularly well suited for small devices with limited power or network connectivity. A common application is to use this protocol on hundreds or thousands of remote devices that may have battery or solar power and be utilizing cellular or other limited or expensive communications.

Advantages of MQTT

  • Small packet size = low overall bandwidth usage
  • Great choice for limited connectivity – remote device connects to the broker when possible and publishes its updated state
  • Able to both subscribe and publish to brokers making it easy to take remote device data and View, Historize, Alarm, Trend and Notify via Web, .NET, Email, Voice and SMS.

Share non machine to machine (M2M) data and share it with M2M devices and clients utilizing the analytics available on Google IoT platform.

OAS with Google IoT Core

Use Open Automation Software’s MQTT Connector to interface your industrial data with Google IoT Core.

Industrial Internet of Big Things

Open Automation Software

IIoT Software for Big Things

Open Automation Software is designed for scalable design, deployment, and performance.

Automated Setup

Automated Deployment

High Performance Data Transport

Learn how OAS is used to monitor Big Things on a Big Scale for Big Data solutions.

  • Submarines
  • Aircraft Carriers
  • Airports
  • Manufacturing Plants
  • Nuclear Power Plants
  • Volcanoes
  • …anything with electronic data

Data Logging and Alarm Logging: Five Common Failures

Knowledge of common failure points helps guide data logging system design

In selecting a data logging and alarm logging solution it is best to consider what happens to the data when everything is not performing perfectly.  In a system’s lifetime at least one of the following if not all five will occur multiple times:

  1. Database Engine Failure
  2. Network Failure
  3. Missing High Speed Data
  4. Inaccurate Manual Setup
  5. Defective Controller Handshaking

Database Engine Failure

When the connection to the database engine fails during database backup, maintenance, or network failure to remote engines data will be lost if the data logging and alarm logging solution does not provide store and forward functionality.For systems that do have store and forward capabilities it is important to select one that can maintain the data for long periods of time.  This requires that the data to be inserted or updated to the database must be stored to disk instead of just buffered to RAM.Steps to replicate condition:

  1. Stop database engine during data logging and alarm logging.
  2. Verify data buffered to disk.
  3. Start database engine.
  4. Verify all data has been archived before, during, and after database engine shutdown.

Note: An advanced test to account for a system restart during data buffering is to shutdown and restart the logging server between steps 2 and 3.  Most store and forward solutions will lose data if the server PC is shutdown.

Network Failure

When the network connection between the data source server and data logging server is down, data will be lost if the solution does not implement a distributed network design with store and forward at the data source. By relying on cloud solutions for data and alarm archiving data will be lost when the connection to the data source is broken and data cannot be sent to the cloud solution.  Also there are many tunneling solutions that provide network transport, but do not maintain the data during network outages.Steps to replicate condition:

  1. Disconnect network between data server and cloud system or remote data logging server.
  2. Verify data buffered to disk at the source.
  3. Reconnect network.
  4. Verify all data has been archived before, during, and after network outage.

Missing High Speed Data

It is important for a logging solution to provide data processing right at the source and process all values received from the data source.  Data and alarms can be missed if data transitions quickly and the solution processes only the current value sampled.Consider a sensor that receives a sharp spike in data for a very brief time interval.  If sampling occurs before and after the spike, no alarm would be recorded and the high data value would be missed in the data archiving.  Some systems can sample at a much faster rate, but then have problems moving the large amount of data to the database engine efficiently and then data begins to backup in the system.  It is important to select a system that can handle high bursts of data during critical events.Also data that is processed directly within the controller can be queued to be handed over to a data logging system.  It is important that the data logging solution have the ability to provide handshaking to the controller to inform when the data is received and processed and ready for the next record.

Steps to replicate condition:

  1. Use a data source of a .NET application or high speed communications that can provide time stamp and data at high rate, microsecond samples if possible.
  2. Have the data change cycle below and above alarm conditions a series of times.
  3. Verify that all data samples are recorded to the database, and all alarm events have been captured and recorded.

Inaccurate Manual Setup

Automated or programmatic setup is important in system setup so human error does not affect the system accuracy of what data is logged and alarmed upon.  With large amounts of data to be collected and processed it is very easy to point to the wrong variable address, alarm limit, or database field.Steps to verify setup accuracy:

  1. Insure there is automated or programmatic setup of the data source, data logging, and alarm logging configuration.
  2. Use a CSV Export to spreadsheet and verify each row for data addresses and field names match.

Defective Controller Handshaking

Some systems will queue data in the controller for best data accuracy and assurance of no data loss on communication failure to the controller.  This is typically done with a queue or array within the controller where the data is buffered and then passed to the data logging engine when it is available to record the data.  It is important to enable a handshaking technique that can validate data has been successfully archived.Steps to verify accuracy:

  1. Start the controller cycles processing records to be logged
  2. Stop database engine.
  3. Have controller execute several cycles of records to be logged.
  4. Start database engine.
  5. Verify that no records are missing from the cycles performed before, during, and after the database engine shutdown.

How Open Automation Software solves Data Logging Issues

Open Automaton Software addresses all of these scenarios with the following features.

OAS Data Logging

  1. Store and Forward
  2. Distributed Network Architecture
  3. High Speed Data
  4. Automated Setup
  5. Programmatic Setup
  6. Alarm Notification
  7. Controller Handshaking

1. Store and Forward

Store and Forward capabilities that can buffer data and alarms to disk in a small binary file both on database engine and network failure. And data is maintained even after a server reboot.
View the following video of a demonstration of OAS Store and Forward performance.
/videos/#data-buffering

2. Distributed Network Architecture

Distributed Network Architecture with data, alarm, and trend processing at the data source.
View the following video demonstration of data being transferred from Australia to the US, and then accessed anywhere in the world to be logged and displayed.

/videos/#internet-of-things

3. High Speed Data

High Speed Data processing of queued data with proper indexing of time samples and efficient database bulk insert to pass up to 1,000,000 records per call.
View the following video demonstrating data logging data changing at the rate of 100 nanoseconds.
/videos/#high-speed-data-logging
View the following video demonstrating data logging of data from an Allen Bradley ControlLogix controller at the rate of 20 milliseconds.
/videos/#logging-data-from-controllogix-at-high-speed

4. Automated Setup

Automated Setup to eliminate human error in setup. OAS has automated setup for both data sources and data logging.

One Click OPC feature is used for automated setup of OPC Items.

One Click Allen Bradley for automated setup of AB controller communications.

One Click Database feature is used to setup data logging of all data points.

5. Programmatic Setup

Programmatic Setup is fully supported for data sources and logging configurations through both .NET and REST API.
View the following guide for .NET programmatic setup.
/knowledge-base/net-programmatic-configuration/
View the following guide for REST API setup.
/knowledge-base/getting-started-rest-api/

6. Alarm Notification

Alarm Notification on data logging or alarm logging failure. OAS can call personnel via phone or send a text message and email when data buffering is active.  Even though OAS can store many years worth of data to disk to restore the database engine it is best to be notified immediately when there is a problem.
View the following video on how to setup email notifications.
/videos/#send-alarm-emails

7. Controller Handshaking

Controller Handshaking to communicate with the controller to provide confirmation that the data is received and ready for the next record. Within OAS logging there are confirmation and error feedback status that can be updated to live tag values for both alarm notification and to be sent directly back to a controller for closed loop data handshaking.
View the following steps on how to setup handshaking with a controller.
/knowledge-base/log-buffered-data-from-a-plc-or-controller/

Create World Class IOT With Open Automation Software

Find out how our world class systems can be used to piece together all elements of your business into one cohesive system.

1. Connect

With Open Automation Software you can connect to almost any industrial data source – controllers, frameworks, protocols and databases. This means anything from manufacturing lines, to power stations and even air traffic control systems.

Sources include:

OAS IoT Data Communications

  • Modbus
  • Allen Bradley
  • Siemens
  • OPTO
  • OPC
  • .NET
  • REST
  • Java Script
  • MQTT
  • Excel
  • SQL Server
  • Oracle
  • mySQL
  • Access
  • Azure IoT
  • Amazon Web Services
  • and more

2. Data Processing

All data is processed and logged live at the source, with full store and forward. This means there’s no risk of data loss in the event of network failure. All your data is rendered in open format with resolution down to 100 nanoseconds.

3. Built On Distributed Network Architecture

Because our distributed networks use Live Data Cloud, you can host live data with any Windows PC without any risk of data loss that can occur with typical cloud architectures. Networking features allow you to forward, redirect and host data at the data source. You can send and receive data securely through any corporate network, even without internet access.

4. Data Transport and Security

Data is transported through a lightweight protocol using compressed, securely encrypted data packets. Full client and server confirmation of delivery of data at each end ensures the quality of data transported, and there is no limit to the number of security profiles you can create.

5. Data Destinations

You can visualize, analyze and deploy data within your organization, to any existing platform of your choice. This can be done through web, Windows, Smartphones, databases, and a variety of file formats. We provide your developers and system integrators full programmatic access to all data and configuration in open format. There’s also a range of free HMI symbols available for download, so your programmers can put together a visually engaging user interface.

See how an OAS system such as this came together for Allen Bradley Programmable Logic Controllers.

Cost-Effective Licensing

Our licencing is based on three simple factors;

  1. The number of tags you need to connect to
  2. The number of OAS products needed to connect your data sources
  3. Whether you need a networked or stand-alone system

You can still deploy unlimited client applications within each Distributed Network Architecture enabled server.

For more information about how OAS can streamline your business and protect your data, either contact us, request a quote online, or download a trial version of Open Automation Software.

OAS Security

hex-security-feature-graphicHow our systems protect your data on networks

With any Open Automation Software, security is built in thanks to the way in which our network communications work.

Our system utilizes both hardware and software technology to protect your information. Data is sent through a lightweight protocol with compressed, securely encrypted data packets. These encrypted packets can be transferred at extremely fast speeds with multiple values in each packet.

The quality of your data is assured with full client and server confirmation of data delivery, end to end. There’s also individual user security setup on data servers, providing client access to live data, historical data, and configuration.

No data loss on network failures

One of the great benefits of hosting data directly from the source, is that in the event of network failure, there’s no data loss.

So, whether you’re receiving data, alarm and access logs, or monitoring production in a remote location, nothing is lost due to dropped networks.

Just take a look at how our network architecture stacks up against typical cloud architectures:

Network Feature

OAS IoT DNA

Typical Cloud

Accurate Live Data Included Missing
No Data Loss on Network Failure Included Missing
Small Compressed Packet Size Included Missing
Open TCP Transport
WCF and/or REST
Included Unknown
High Speed Throughput < 50 ms Included Missing
Verification of Delivery of Data
Source to Destination
Included Missing
Data Resolution of 100 Nanoseconds Included Missing
Encrypted Secure Data Packets Included Unknown
Fastest Communication Possible
No Database Required
Included Missing

Iot Network Solutions

We’re proud to offer a range of network forwarding, redirect, and hosting solutions that can work in any combination to securely send and receive data through corporate networks, with or without the internet.

Find out more about our IoT network solutions:

What is the Internet of Things?

Where does Open Automation Software fit into it?

Internet-of-Things-Hex-IconThe Internet of Things (IoT) was a term initially used to describe the perceived future where everyday physical objects would be connected either wirelessly to each other, or to the internet, to allow them to be used more cohesively. On a domestic level, imagine your fridge being able to recognize you’re out of milk, eggs and juice, so it automatically orders replacements to be delivered using your account.

While not many of us are this integrated with the Internet of Things at home, the concept is already well used in much of our industrial sector. Entire production lines can be connected and managed from websites, software systems with emergency procedures, redundancy programs and data history logging.

Production of everything from food and drinks, to advanced electrical components, vehicles etc. while once managed from the manufacturing plant can now be controlled from anywhere in the world. If used properly, systems can be refined to reduce waste, save energy, increase production and improve quality.

This advancement of the industrial sector has also been labelled Industry 4.0, but we’ll delve into that another day.

For office buildings an integrated “Internet of Things” style system could combine security cameras, lighting, thermostats, speaker systems, cars and other appliances. Meaning security matters can be monitored quickly, staff know where company cars are located and when they need refuelling, you can securely open and lock doors, climate control the building for more efficient energy use and improve many more processes to make things more efficient.

So where does Open Automation Software fit into IoT?

Open Automation Software has developed a complete suite of software applications that can be customised to access, record and control everything from basic security systems to whole production lines and even international logistics.

Our HMI and SCADA toolkits are designed to promote the free flow of data and support a wide range of third party controls and add ins. Just take a look at how some of our clients have used OAS for large scale systems;

Case Study: AES Wind TurbinesAES-wind-generation-protecting-bats-turbine
Maintaining thousands of wind turbines across the US, AES Wind Generation found migrating bats were frequently killed by the turbines. A flexible HMI solution utilized the existing SCADA setup, helping them develop a process to reduce the impact on bats while keeping energy production losses to a minimum. Read more…

Case Study: NREL Solar Cells
The National Renewable Energy Laboratory utilize our software in the research and development of some of the most advanced solar cells in the world. Read more…

Case Study: JBT AeroTechAirport
Using Open Automation Software, JBT AeroTech have created an airport monitoring system linking everything from maintenance management systems to aircraft avionics data, baggage handling, ground support and more. This has improved airport operations, reduced missed connections and aircraft time in air, saving millions of dollars. Read more…

Open Automation Software has the experience and flexibility to develop a system that streamlines your production and saves you money. To learn more about our automation software products contact your OAS Sales Representative toll free in the US on 1-800-533-4994 or for international enquiries call 1-303-679-0898.

What is WPF?

Windows Presentation Foundation (WPF) is a newer version of Microsoft’s Windows Forms product.

What is WPF

What is WPF used for?

WPF (and the original Windows Forms) are suited to creating desktop applications that run on a Windows operating system. Both platforms can produce Smart Client applications. See www.smartclienthmi.com

Windows Forms has been around for as long as the .NET product, and arguably the most popular Windows Desktop application development since Visual Basic 6.

What is WPF?

Moving from Windows Forms to WPF

WPF provides much needed upgrades to the Windows Forms user Interface (UI) and also provides some specific programmatic advantages. It is not too difficult for someone who is competent in Windows Forms to upgrade their skill set to WPF as most of the code is similar. It doesn’t matter whether you are comfortable in writing C# or VB.Net applications.

Greater Flexibility and Improved Interface

The big difference is in the added flexibility and improved visual aspects of the interface. It all adds up to creating more engaging application in a shorter period of time with much less effort and coding.

Transforms, Storyboards and Animations

In WPF objects are easily rotated, sized, scaled and skewed without any code. WPF also offers the ability to create Storyboards. In short, Storyboard allows you to create real-time animation on the objects, for example, move, scale, rotate, change the color etc. over a time period.

Create screen resolution independent applications

One other major advantage the WPF has is the ability to create applications that are screen resolution independent. Your application will look just as nice on 600 x 800 as it does on high definition without having to rebuild you application.

WPF ideal for HMI and SCADA applications

WPF is a great choice for HMI and SCADA applications. Sure you can have an HMI or SCADA system based on Windows Forms, but if you are looking to do more than static images and text, WPF in a far better platform.

what is WPF?Like to know more about our WPF .NET product?

Open Automation Software offers a 100% managed WPF assembly to build live data dashboard applications using Visual Studio or Microsoft Blend with no code required.

To learn more about our WPF HMI.NET product contact your OAS Sales Representative toll free in the US on 1-800-533-4994 or for international enquiries call 1-303-679-0898.

What is JSON?

JSON-icon-2An Essential Part of the Web Developer’s Toolkit

If you’ve done any web development, you’ve probably seen mentions of JSON. In fact, if you’ve done any Javascript development lately, chances are good that you’ve even used JSON. It has become one of the most important tools in a JS developer’s toolkit. So what exactly is JSON?

What is JSON?: Javascript Object Notation

In short, JSON stands for JavaScript Object Notation, and is a concise hierarchical data serialization syntax that is supported by all modern browsers.

Its format makes it a lightweight way of representing objects, while remaining human-readable. For this reason it has replaced XML notation on many platforms.

XML is fantastic at describing object hierarchies and even semantics, but adds a great deal of overhead to the serialized object.

For example, the following is an example of a simple User object serialized to XML:

<xml>
   <user>
       <firstName>Jason</firstName>
       <middleName>Alexander</middleName>
       <lastName>Smith</lastName>
       <address>
           <street1>1234 Someplace Avenue</street1>
           <street2>Apt. 302</street2>
           <city>Anytown</city>
           <state>NY</state>
           <postalCode>12345</postalCode>
           <country>US</country>
       </address>
   </user>
</xml>

As you can see, the same data represented in JSON is far more efficient, while retaining all of its human-readability:

{
  "firstName" : "Jason",
  "middleName" : "Alexander",
  "lastName" : "Smith",
  "address" : {
    "street1" : "1234 Someplace Avenue",
    "street2" : "Apt. 302",
    "city" : "Anytown",
    "state" : "NY",
    "postalCode" : "12345",
    "country" : "US"
  }
}

JSON is Cross-Platform

Since browser support is so widespread, JSON is also a cross-platform way representing data. This is the real power of JSON. It can be used natively within Javascript without any parsing, interpretation or 3rd party libraries.

JSON objects can be passed around in variables and used as arguments of functions:

function restockSKU(product) {
   var prod = DB.getProductBySKU(product.SKU);
   setProductStock(product.quantity);
}

var product = { "SKU" : "123456", "quantity" :  9 };
restockSKU(product);

Referencing Values within JSON Object

As you can see, referencing values within a JSON object can done using the “.” notation to denote hierarchy. In the example above, you can see that the value in the “SKU” field is a string “123456” but the “quantity” field is a numeric 9.

JSON values can be any one of the following:

  • string (contained with quotes)
  • number (integers and decimals)
  • boolean (written as true or false, without quotes)
  • object (wrapped in curly braces, thus creating a hierarchy)
  • array (wrapped in square brackets and arrays can contain lists of any type, including mixed types)
  • null (written exactly as null to denote a non-value)

This is an example of a JSON object using all data types:

{
   "username" : "user0012",
   "age" : 21,
   "active" : true,
   "prefs" : {
       "home" : "http://google.com",
       "sessionExp" : 30,
       "colors" : [ "#000", "#FC0", "#00C"  ]
   },
   "referredBy" : null
}

Using JSON in the OAS Platform

The quickest and simplest way to add real time data and control to your web applications is through the Web HMI product. This technology lets you read and write real time data, display it in HTML elements and even control look and feel based on live server data.

All of these settings are applied as HTML attributes containing JSON to define behavior. After adding script reference to the OAS Web HMI libraries in your web page, applying attributes to your HTML elements will add real time data and customizable behavior to your application.

The simplest example of this is if you want to display a single real time server tag value in the following HTML DIV element:

<div id="myValue" ></div>

Just add the opc-tag-txt attribute to start displaying the current value of the “Pump.Value”:

<div id="myValue" opc-tag-txt='{"tag":"Pump.Value"}'></div>

A more complex example shows how you can use a series of boolean server tags to change the background color of a div when each evaluates to true, or when all are false:

<div id="myValue" opc-tag-bkg='{
   "type" : "group",
   "all_f" : {"color":"#F00"},
   "bad_q" : {"color":"#FC0"},
   "group" : [
   	{"tag":"Pump.Value","config":{"color":"#00F"}},
   	{"tag":"Pump2.Value","config":{"color":"#080"}}
   ]
}'></div>

In this example, the opc-tag-bkg attribute controls the background color under several conditions. The “group” field is an array of configurations containing a tag and color which are tested in order, using the first value that evaluates to True:

  • In this case, if Pump.Value evaluates to True, then the background color will be set to the HTML color of “#00F”, a bright blue.
  • If Pump.Value is False and Pump2.Value is True, the color will be set to “#080”, a green.
  • If both are False, the “all_f” color of “#F00” is used, setting the background to red.
  • If any value returns bad data quality from the server, “bad_q” will be used, setting it to “#FC0” or yellow.

JSON in the OAS Platform

JSON Calculations

The OAS Calculation Engine provides several functions for locating, constructing, and modifying JSON objects and nodes.
Read more about JSON Calculations.

JSON Data Type

OAS Tags have their data type set to JSON which provides some automatic validation. This data type is essentially the same as a String, but performs JSON validation every time the value is updated. If the value cannot be converted to JSON, the Tag will report “bad quality”. This indication of quality can be used for many features within OAS, including data logging, alarming, and more.

JSON Data Source

Using the JSON Data Source allows you to define a base JSON structure and map keys to OAS Tag values. This feature is extremely useful for dynamically populating JSON data without requiring any string manipulation or complex calculations.
Read more about using the JSON Data Source.

Additionally, the OAS Platform supports the use of JSON in several other product features.
Read more about JSON in the OAS Platform.

Learn More

For OAS Web HMI documentation, including a list of all attributes and how to use them, see our API reference at: Programming Reference – Web HMI

What is REST?

What is REST?What is REST?

Many publicly accessible services expose a REST API which enables a wide range of applications from web user interfaces to back-end system integration and synchronization. So what exactly is REST and what makes an API RESTful?

REST – REpresentational State Transfer

Technically, REST stands for REpresentational State Transfer (so it’s not a perfect acronym), and essentially means that it’s an architecture intended to transfer a representation of server data or state between a client and server.

There are a few detailed criteria that are considered necessary for an API to be RESTful, but the most important are that the API be:

  • Stateless
    This means that there is no necessary session is held between a client and server. Data received from the server can be used by the client independently. This allows for short, discrete operations, and even offline caching of data. This makes REST a natural fit for HTTP operations in which requests are intended to be singular and short-lived.
  • Uniform
    REST APIs are meant to be self-describing, uniform in their definition, and each operation separated by a different endpoint or URL. In practical terms, most REST APIs implement classic CRUD (Create, Read, Update, Delete) operations against a data model. This uniformity allows developers to easily learn the usage pattern of each API.

So what does a REST API look like?

Because it’s meant to be representational, let’s start with the data model that it’s meant to represent. For example, if we have an online commerce application, we’d want to define the operations for managing products in our catalog, centered around the Product model.

Each of these operations would be linked to a combination of a URL and an HTTP verb. To review, there are many HTTP verbs, but most web development uses only the GET and POST verbs for requesting a URL or posting form data, respectively. But REST uses more HTTP verbs to signal to the server what type of operation the client is performing.

REST_API_1

The following is a simplified list of URLs combined with the HTTP verb that we’d use to expose the full API for managing a Product catalog:

REST_API_2

The operations and URLs above are just the basic operations on a single model. REST APIs can also support very specific operations or hierarchical operations.  For example, if you wanted to send a signal to the server to reorder a supply of products, you might expose a URL like this:

/products/{id}/reorder   POST  Signal to the server that you want to reorder quantities of a product {id}. The message body could be empty, or contain a data model used for detailed instructions on the reorder operation.

Or, if you wanted to dive into the product catalog and run a query to return a list of all orders for a given product, the API could expose an operation like this:

/products/{id}/orders    GET   Given an {id} for a product, return all orders.

Conversely, you could expose an order-centric endpoint that allows you to list all products in the order:

/orders/{id}/products    GET   Given an order {id} return all products in the order.

What does the server data look like?

While there’s no strict requirement for what type of data a REST API uses or returns, it has become a de facto standard for web-based REST APIs to use JSON as the data definition.

This is because JSON is a native format that all modern browsers can use to represent hierarchical objects. For more information on JSON, read our article What Is JSON?

To learn more about our products, contact your OAS Sales Representative toll free in the US on 1-800-533-4994 or for international enquiries call 1-303-679-0898.

Moving data from Rockwell Allen Bradley ControlLogix to Android & iOS apps & Azure IoT

A practical demonstration of the power of Open Automation Software products

Open Automation Software’s new PCL support for Visual Studio and Xamarin Studio IDEs was recently featured at Xamarin Evolve 2016. The session showcased a physical demo complete with Robotic Production Line, controlled by Allen Bradley Programmable Logic Controllers.

Unlocking industrial device data

During the session (video below) the presenters demonstrated the collaborative capabilities, and insights enabled by unlocking industrial device data, and putting the power of device data consumption, device command and control directly in the palm of your hands through Xamarin Apps and Open Automation Software

The session showed how field workers, operations, analysts, and leaders can all collaborate seamlessly, gain real-time operational insights and command capabilities using Xamarin, Azure, and Open Automation Software.

Learn more about Open Automation Software’s PCL support for Visual Studio and Xamarin Studio IDEs.

To learn more about our products, contact your OAS Sales Representative toll free in the US on 1-800-533-4994 or for international enquiries call 1-303-679-0898.