SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Downloaden Sie, um offline zu lesen
CopyrightPrismTech,2016
Angelo	Corsaro,	PhD
CTO,	ADLINK	Tech.	Inc.	
Co-Chair,	OMG	DDS-SIG	
angelo.corsaro@adlinktech.com
DDS & OPC-UA
.Explained
Motivations
http://bit.ly/1Mzk4PV
Appeared	in	
on	the	23rd	of	July	2015
Genesis
DDS Genesis
CopyrightPrismTech,2016
In the late ‘90s the DoD raised attention on
the role that Information Superiority will
play in the future of nations.
A series of operational and technological
initiatives were undertaken to enable
Information Superiority.
The concept of the Global Information Grid
(GIG) was popularised.
Information
Superiority
CopyrightPrismTech,2016
A globally interconnected,
end-to-end set of
information capabilities for
collecting, processing,
storing, disseminating, and
managing information on
demand to warfighters,
policy makers, and support
personnel
The Global
[Image	from	https://en.wikipedia.org/wiki/Global_Information_Grid]
Information Grid
“The right data at the right place at the right time”
CopyrightPrismTech,2016
Client/Server technologies
popular in the 90’s such as
CORBA, COM+/DCOM
were not suited to
implementing the GiG due
to the tight coupling, high
sensibility to faults,
scalability and
performance issues
Making the Gig:
Challenges
CopyrightPrismTech,2016
The Data Distribution Service
(DDS) was introduced to
overcome the limitations
of existing technologies
and address the data
sharing requirements of the
GiG for the engagement,
awareness and planning
grid.
Enabling the Gig:
7dds
DDS
CopyrightPrismTech,2016
DDS has been endorsed and
recommended worldwide as
the technology at the
foundation for network
centric systems and GIG-like
functionalities
Recommendation
CopyrightPrismTech,2016
Massive deployments in Defence & Aerospace
Integrated Modular Vetronics Training & Simulation Systems Naval Combat Systems
Air Traffic Control & Management Unmanned Air Vehicles Aerospace Applications
OPC Genesis
CopyrightPrismTech,2016
In the early ‘90s Automation Industry there
was no standard for interacting with
control hardware and field devices.
As a result client applications, such as
HMI, had to embed drivers and protocols
for all the devices they had to interact
with.
It was the age of Integration Nightmare.
Integration
Nightmare
CopyrightPrismTech,2016
"All problems in computer science can be
solved by another level of indirection,
except of course for the problem of too
many indirections”
—David	Wheeler	
Indirection
CopyrightPrismTech,2016
OPC (OLE for Process Control)
was introduced in 1996 as a
mean to shield client
applications from the details
of the automation
equipments and providing
standardised interfaces to
interact with control hardware
and field devices.
OPC to the rescue
Before After
[Adapted	from	OPC	Foundation	Slides	OPC	UA	Connectivity]
Standards & Evolution
DDS
CopyrightPrismTech,2016
The DDS specification describes a Data-
Centric Publish-Subscribe (DCPS) model for
distributed application communication
and integration. This specification defines
both the Application Interfaces (APIs) and
the Communication Semantics (behaviour
and quality of service) that enable the
efficient delivery of information from
information producers to matching
consumers.
The purpose of the DDS specification can be
summarised as enabling the “Efficient and
Robust Delivery of the Right Information
to the Right Place at the Right Time”.
Data Distribution
[Extract from DDS Specification v1.4]
Service (DDS)
CopyrightPrismTech,2016
DDS Standard
Evolution
2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
‣ DDS 1.0
‣ DDSI-RTPS 1.0 ‣ DDS-XTYPES 1.0
‣ DDS-SECURITY 1.0
‣ DDS-XTYPES 1.1
‣ DDSI-RTPS 2.2
‣ DDS 1.4
‣ DLRL 1.4
‣ DDS-RPC 1.0
‣ DDSI-RTPS 2.0
‣ DDS 1.2
‣ DDS-PSM-CXX 1.0
‣ DDS-PSM-Java
‣ DDSI-RTPS 2.1
CopyrightPrismTech,2016
DDS. Describes the semantics of
the information sharing
abstraction supported by DDS.
Defines a nominal type system
for describing DDS information
models.
DDSI-RTPS. Defines a protocol
for interoperable wire
implementation of the DDS
semantics.
Standard Structure
CopyrightPrismTech,2016
DDS-XTypes. Extends the DDS
type system with support for
structural typing as well as a
dynamic type definition.
DDS-Security. Introduces
information centric security in
DDS for data in movement as as
well as data at rest.
Standard Structure
CopyrightPrismTech,2016
DDS-RPC. Extends DDS with
support for Remote Procedure Calls.
DDS-PSM-*. Defines highly
ergonomic and optimised API
mapping for specific programming
languages instead of deriving those
for the DDS-PSM-IDL
DLRL. Defines a language
independent Object/Relational
Mapping for DDS
Standard Structure
DDS Abstractions
CopyrightPrismTech,2016
Applications can
autonomously and
asynchronously read and
write data enjoying
spatial and temporal
decoupling
Virtualised
Data Space
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
CopyrightPrismTech,2016
Built-in dynamic
discovery isolates
applications from
network topology and
connectivity details
Dynamic
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Discovery
CopyrightPrismTech,2016
QoS policies allow the
expression of data’s
temporal and
availability constraints
QoS Enabled
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
CopyrightPrismTech,2016
No single point of failure
or bottleneck
Decentralised
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
Data-Space
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
CopyrightPrismTech,2016
Connectivity is
dynamically adapted
to choose the most
effective way of
sharing data
Adaptive
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
The	communication	between	
the	DataWriter	and	matching	
DataReaders	can	be	peer-to-
peer	exploiting	UDP/IP	
(Unicast	and	Multicast)or	
TCP/IP
The	communication	between	
the	DataWriter	and	matching	
DataReaders	can	be	
“brokered”	but	still	
exploiting	UDP/IP	(Unicast	
and	Multicast)or	TCP/IP
Connectivity
CopyrightPrismTech,2016
A domain-wide information’s
class A Topic defined by
means of a <name, type, qos>
DDS Topics allow to
expression of functional and
non-functional properties of
a system information model
Topic
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Topic
Type
Name
QoS
OPC
CopyrightPrismTech,2016
OPC = OLE for Process Control
‣ OPC-UA 1.0.3
OPC Standard
Evolution
2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
‣ OPC 1.0
1998 1999 2000 2001 2002 2003 2004 200519971996
‣ OPC Data Acces (DA) 2.0
‣ OPC Alarms and Events 1.01
‣ OPC Historical Data Access
‣ OPC Security
‣ .Net is launched and DCOM deprecated
‣ OPC-XML-DA 3.0
‣ OPC-UA 1.0 ‣ OPC-UA 1.0.2
‣ OPC-UA Part 1-5 ‣ OPC-UA Part 6-8
Rebranding =>
OPC = Open Platform Communication
CopyrightPrismTech,2016
OPC UA is a platform-independent standard
through which various kinds of systems and
devices can communicate by sending
Messages between Clients and Servers over
various types of networks. It supports robust,
secure communication that assures the identity
of Clients and Servers and resists attacks. OPC
UA defines sets of Services that Servers may
provide […].
Information is conveyed using OPC UA-defined
and vendor-defined data types, and Servers
define object models that Clients can
dynamically discover. Servers can provide
access to both current and historical data, as
well as Alarms and Events to notify Clients
of important changes.
OPC UA
[Extract from OPC-UA Overview and Concepts v1.03
CopyrightPrismTech,2016
OPC-UA is organised in
Core, Access Type and
Utility specifications
Standard Structure
CopyrightPrismTech,2016
Security Model. Defines how
communication between OPC-UA
Clients and Servers should be secured
Address Space Model. Describes the
contents and structure of the Server’s
AddressSpace.

Services. Defines the services
provided by OPC UA Servers.
CORE Specifications
CopyrightPrismTech,2016
Information Model. Specifies the types
and their relationships defined for OPC
UA Servers.
Service Mapping. Specifies the
mappings to transport protocols and
data encodings supported by OPC UA.
Profiles. Specifies the Profiles that are
available for OPC Clients and Servers.
These Profiles provide groups of Services
or functionality that can be used for
conformance level certification.
CORE Specifications
CopyrightPrismTech,2016
Data Access. Specifies the use of OPC UA
for data access.
Alarms & Conditions. Specifies the use of
OPC UA support for access to Alarms and
Conditions.
Programs. Specifies OPC UA support for
access to Programs.
Historical Access. Specifies use of OPC UA
for historical access. This access includes
both historical data and historical Events.
Access Type Specifications
CopyrightPrismTech,2016
Discovery. Specifies how Discovery
Servers operate in different scenarios
and describes how UA Clients and
Servers should interact with them.
Aggregates. specifies how to
compute and return aggregates like
minimum, maximum, average etc.
Aggregates can be used with current
and historical data.
Utility Specifications
OPC-UA Abstractions
CopyrightPrismTech,2016
OPC UA is rooted in the
client-server model.
Clients interact with the
server and are coupled in
time, e.g. client and server
must be running at the
same time for anything
useful to happen.
Client/Server
CopyrightPrismTech,2016
The OPC UA server
provides, through a
standard API, access to its
address space.
The address space is
organised as a graph of
nodes. A server can decide
to expose a specific view.
Client/Server
CopyrightPrismTech,2016
Clients can register
subscriptions with the
server and eventually be
notified by a server when
data changes or some
event occurs.
Client/Server
Checkpoint
CopyrightPrismTech,2016
For the objectives stated from both the DDS
and OPC-UA specifications it emerges how
both standards address the problem of
information management in distributed
systems.
Both DDS as well as OPC UA provide support
for Information Modelling.
DDS through relational data modelling while
OPC UA via Object Oriented modelling.
similarities
DDS & OPC-UA
CopyrightPrismTech,2016
DDS abstraction is centred
around a Decentralised Data
Space that decouples
applications in time and
space.
OPC UA abstraction is
centred around client-server.
DDS & OPC-UA
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
differences
CopyrightPrismTech,2016
DDS applications interact by
anonymously and
asynchronously reading and
writing data in the global
data space.
OPC UA applications
interact by invoking requests
on one or more UA servers.
DDS & OPC-UA
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
differences
CopyrightPrismTech,2016
DDS favours resource-
oriented and declarative
programming style, i.e., you
express how things should
be.
OPC UA favours an
imperative programming
style, i.e. you express how
things should be done.
DDS & OPC-UA
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
differences
CopyrightPrismTech,2016
DDS applications enjoy
complete location transparency.
Data gets automatically where
there is interest.
OPC UA applications have to
undergo a two step resolution
process, first they need to look-
up servers and then browse
data in its address space.
DDS & OPC-UA
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
differences
CopyrightPrismTech,2016
DDS data modelling is
relational. DDS Information
model can be queried joined
and projected
OPC UA data modelling is
Object Oriented. OPC UA can
be browsed and queried when
servers support this extension.
DDS & OPC-UA
differences
DDS	data	model
OPC-UA	data	model
CopyrightPrismTech,2016
DDS’ Dynamic Discovery allows for
very dynamic systems in which
applications and data are discovered
automatically. Applications are
notified of relevant information
discovered. DDS has out-of-the box
a plug-and-play nature.
OPC UA applications have to
explicitly “search” for things. That
means that supporting plug and play
behaviours requires programmatic
effort.
DDS & OPC-UA
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
differences
OPC-UA	Discovery
CopyrightPrismTech,2016
DDS allows information
to be annotated with QoS
so to capture non-
functional properties.
OPC UA does not support
QoS specification.
DDS & OPC-UA
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
differences
CopyrightPrismTech,2016
DDS security addresses data in
motion as well as data at rest.
Additionally DDS security
provides pluggable
Authentication, Access Control,
Cryptography and Logging
OPC UA security focuses on
establishing secure channels
between client and servers.
DDS & OPC-UA
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
differences
CopyrightPrismTech,2016
DDS / OPC Standard
Evolution
CopyrightPrismTech,2016
Standard “Mapping”
Part 2. Security Model DDS-Security
Part 3. Address Space Model DDS
Part 4. Services
There is no server concept in DDS. Negotiation is done via the
discovery services.
Part 5. Information Model DDS, DDS-XTypes
Part 6. Service Mappings
Platform Specific Models of each specification define
implementation when necessary.
Part 7. Profiles Each Specification has its own conformance points.
Part 8. Data Access DDS, DDS-XTypes
Part 9. Alarm & Conditions Alarms / Events are represented as topics in DDS.
Part 10. Programs DDS-RPC
Part 11. Historical Access
DDS, DDSI-RTPS, DDS provides built-in support for history. Beside
this vendor support seamless integration with time series stores.
Part 12. Discovery DDS, DDSI-RTPS. DDS Has built-in decentralised discovery.
Part 13. Aggregates
DDS promotes micro-service architectures, thus aggregates are
typically provided by analytics, or similar applications.
Misconceptions
http://bit.ly/1Mzk4PV
Appeared	in	
on	the	23rd	of	July	2015
CopyrightPrismTech,2016
EtherCAT - Ethernet for Control
Automation Technology - is an
Ethernet-based fieldbus
system.
The protocol is standardised in
IEC 61158 and is suitable for both
hard and soft real-time
requirements in automation
technology.
ETHERCAT
CopyrightPrismTech,2016
The goal during development
of EtherCAT was to apply
Ethernet for automation
applications requiring short
data update times (also
called cycle times; ≤ 100 µs)
with low communication jitter
(for precise synchronisation
purposes; ≤ 1 µs) and reduced
hardware costs.
ETHERCAT
CopyrightPrismTech,2016
Notice that not all
communication stack
follow literally the OSI
Model. As an example
the IP stack deviates in
many respects.
OSI Model
Refresher
7. Application
High-level APIs, including resource sharing,
remote file access, directory services and virtual
terminals
6. Presentation
Translation of data between a networking
service and an application; including character
encoding, data compression and encryption/
decryption
5. Session
Managing communication sessions, i.e.
continuous exchange of information in the form of
multiple back-and-forth transmissions between two
nodes
4. Transport
Reliable transmission of data segments between
points on a network, including segmentation,
acknowledgement and multiplexing
3. Network
Structuring and managing a multi-node network,
including addressing, routing and traffic control
2. Data Link
Reliable transmission of data frames between
two nodes connected by a physical layer
1. Physical
Transmission and reception of raw bit streams
over a physical medium
CopyrightPrismTech,2016
DDS provides the features
defined as part of the Session
and Presentation ISO/OSI
Model as part of the DDSI-RTPS
and DDS layer and layers and
sits on-top the Network layer.
EtherCat is implemented at the
Physical and Data Link Layers,
this it is way below the stack in
terms of abstractions.
DDS vs ETHERCAT
IP
UDP TCP
DDSI-RTPS
DDS
User App.
CopyrightPrismTech,2016
DDS is in reality a
coordination abstraction
for distributed
computations. It
leverages a protocol,
namely DDSI-RTPS but it
is far more than a
protocol.
DDS is more than
a messaging protocol
UDP TCP
DDSI-RTPS
DDS
User App.
7. Application
High-level APIs, including resource sharing,
remote file access, directory services and virtual
terminals
6. Presentation
Translation of data between a networking
service and an application; including character
encoding, data compression and encryption/
decryption
5. Session
Managing communication sessions, i.e.
continuous exchange of information in the form of
multiple back-and-forth transmissions between two
nodes
4. Transport
Reliable transmission of data segments between
points on a network, including segmentation,
acknowledgement and multiplexing
3. Network
Structuring and managing a multi-node network,
including addressing, routing and traffic control
2. Data Link
Reliable transmission of data frames between
two nodes connected by a physical layer
1. Physical
Transmission and reception of raw bit streams
over a physical medium
IP
CopyrightPrismTech,2016
DDS integrates at European Scale
in Air Traffic Control Centres.
DDS is at the foundation of
several large scale systems such
as Smart Cities, Transportation
Management Systems, Energy
Production, Ground Satellite
Control Centres, Connected
Vehicles etc.
DDS isn’t just
for the EDGE
DDS in IIoT
CopyrightPrismTech,2016
Some DDS deployments in IOT/IIoT
Agricultural Vehicle Systems
Train Control Systems Complex Medical Devices
Smart CitiesLarge Scale SCADA Systems
High Frequency Auto-Trading
DDS / OPC-UA Interworking
CopyrightPrismTech,2016
Upcoming OMG standard defining a
gateway to automatically bridge data
from OPC-UA to DDS and vice-versa.
OPC-UA/DDS
gateway
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
DDS/OPC-UA
Gateway
OPC-UA
Server
+Client
DDSI-
RTPS
OPC-UA
Client
OPC-UA
Client
OPC-UA
Client
OPC-UA
Client
Concluding Remarks
CopyrightPrismTech,2016
DDS and OPC UA address a similar
problem in a very different way.
DDS was designed since its inception to
support GIG-like systems, thus naturally
matches IoT/IIoT requirements.
OPC has emerged from the Automation
industry, thus its ecosystem is its biggest
strength.
Summing Up
CopyrightPrismTech,2016
Your First DDS
Application
CopyrightPrismTech,2016
Anatomy of a DDS
Application
CopyrightPrismTech,2016
Writing Data in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0);
Topic<Meter> topic(“SmartMeter”);
Publisher pub(dp);
DataWriter<Meter> dw(pub, topic);
while (!done) {
auto value = readMeter()
dw.write(value);
std::this_thread::sleep_for(SAMPLING_PERIOD);
}
return 0;
}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2016
Reading Data in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0);
Topic<Meter> topic(”SmartMeter”);
Subscriber sub(dp);
DataReader<Meter> dr(dp, topic);
LambdaDataReaderListener<DataReader<Meter>> lst;
lst.data_available = [](DataReader<Meter>& dr) {
auto samples = data.read();
std::for_each(samples.begin(), samples.end(), [](Sample<Meter>& sample) {
std::cout << sample.data() << std::endl;
}
}
dr.listener(lst);
// Print incoming data up to when the user does a Ctrl-C
std::this_thread::join();
return 0;
}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2016
Writing Data in Python
import dds
import time



if __name__ == '__main__':

topic = dds.Topic("SmartMeter", "Meter")

dw = dds.Writer(topic)



while True:

m = readMeter()

dw.write(m)

time.sleep(0.1)
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2016
Reading Data in Python
import dds

import sys



def readData(dr): 

samples = dds.range(dr.read())

for s in samples:

sys.stdout.write(str(s.getData()))



if __name__ == '__main__':

t = dds.Topic("SmartMeter", "Meter")

dr = dds.Reader(t)

dr.onDataAvailable = readData
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn

Weitere ähnliche Inhalte

Was ist angesagt?

data-mesh-101.pptx
data-mesh-101.pptxdata-mesh-101.pptx
data-mesh-101.pptxTarekHamdi8
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDSAngelo Corsaro
 
IoT Systems: Technology, Architecture & Performance
IoT Systems: Technology, Architecture & PerformanceIoT Systems: Technology, Architecture & Performance
IoT Systems: Technology, Architecture & PerformanceAshu Joshi
 
Data Mesh in Practice - How Europe's Leading Online Platform for Fashion Goes...
Data Mesh in Practice - How Europe's Leading Online Platform for Fashion Goes...Data Mesh in Practice - How Europe's Leading Online Platform for Fashion Goes...
Data Mesh in Practice - How Europe's Leading Online Platform for Fashion Goes...Dr. Arif Wider
 
Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)Denodo
 
Cloud Platform for IoT
Cloud Platform for IoTCloud Platform for IoT
Cloud Platform for IoTNaoto Umemori
 
Introduction to CoAP
Introduction to CoAPIntroduction to CoAP
Introduction to CoAPEMQ
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoTAmit Dev
 
Create your own OPC UA information model
Create your own OPC UA information modelCreate your own OPC UA information model
Create your own OPC UA information modelStephane Potier
 
Telecoms Service Assurance & Service Fulfillment with Neo4j Graph Database
Telecoms Service Assurance & Service Fulfillment with Neo4j Graph DatabaseTelecoms Service Assurance & Service Fulfillment with Neo4j Graph Database
Telecoms Service Assurance & Service Fulfillment with Neo4j Graph DatabaseNeo4j
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overviewJames Serra
 
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...Amazon Web Services
 
Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)James Serra
 
Introduction To RDF and RDFS
Introduction To RDF and RDFSIntroduction To RDF and RDFS
Introduction To RDF and RDFSNilesh Wagmare
 
FIWARE Tech Summit - OpenMTC – OneM2M Middleware
FIWARE Tech Summit - OpenMTC – OneM2M MiddlewareFIWARE Tech Summit - OpenMTC – OneM2M Middleware
FIWARE Tech Summit - OpenMTC – OneM2M MiddlewareFIWARE
 
FIWARE Training: Introduction to Smart Data Models
FIWARE Training: Introduction to Smart Data ModelsFIWARE Training: Introduction to Smart Data Models
FIWARE Training: Introduction to Smart Data ModelsFIWARE
 
Effective AIOps with Open Source Software in a Week
Effective AIOps with Open Source Software in a WeekEffective AIOps with Open Source Software in a Week
Effective AIOps with Open Source Software in a WeekDatabricks
 

Was ist angesagt? (20)

Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
data-mesh-101.pptx
data-mesh-101.pptxdata-mesh-101.pptx
data-mesh-101.pptx
 
IoT ecosystem
IoT ecosystemIoT ecosystem
IoT ecosystem
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
 
IoT Systems: Technology, Architecture & Performance
IoT Systems: Technology, Architecture & PerformanceIoT Systems: Technology, Architecture & Performance
IoT Systems: Technology, Architecture & Performance
 
Data Mesh in Practice - How Europe's Leading Online Platform for Fashion Goes...
Data Mesh in Practice - How Europe's Leading Online Platform for Fashion Goes...Data Mesh in Practice - How Europe's Leading Online Platform for Fashion Goes...
Data Mesh in Practice - How Europe's Leading Online Platform for Fashion Goes...
 
Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)
 
Cloud Platform for IoT
Cloud Platform for IoTCloud Platform for IoT
Cloud Platform for IoT
 
Introduction to CoAP
Introduction to CoAPIntroduction to CoAP
Introduction to CoAP
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoT
 
Create your own OPC UA information model
Create your own OPC UA information modelCreate your own OPC UA information model
Create your own OPC UA information model
 
Telecoms Service Assurance & Service Fulfillment with Neo4j Graph Database
Telecoms Service Assurance & Service Fulfillment with Neo4j Graph DatabaseTelecoms Service Assurance & Service Fulfillment with Neo4j Graph Database
Telecoms Service Assurance & Service Fulfillment with Neo4j Graph Database
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
 
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
 
Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)
 
Introduction To RDF and RDFS
Introduction To RDF and RDFSIntroduction To RDF and RDFS
Introduction To RDF and RDFS
 
FIWARE Tech Summit - OpenMTC – OneM2M Middleware
FIWARE Tech Summit - OpenMTC – OneM2M MiddlewareFIWARE Tech Summit - OpenMTC – OneM2M Middleware
FIWARE Tech Summit - OpenMTC – OneM2M Middleware
 
IoT Networking
IoT NetworkingIoT Networking
IoT Networking
 
FIWARE Training: Introduction to Smart Data Models
FIWARE Training: Introduction to Smart Data ModelsFIWARE Training: Introduction to Smart Data Models
FIWARE Training: Introduction to Smart Data Models
 
Effective AIOps with Open Source Software in a Week
Effective AIOps with Open Source Software in a WeekEffective AIOps with Open Source Software in a Week
Effective AIOps with Open Source Software in a Week
 

Andere mochten auch

Getting Started with Vortex
Getting Started with VortexGetting Started with Vortex
Getting Started with VortexAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...Angelo Corsaro
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsReal-Time Innovations (RTI)
 

Andere mochten auch (7)

Getting Started with Vortex
Getting Started with VortexGetting Started with Vortex
Getting Started with Vortex
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
 

Ähnlich wie DDS and OPC-UA Explained

Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-CentricEclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-CentricToby McClean
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSAngelo Corsaro
 
Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Gerardo Pardo-Castellote
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTAngelo Corsaro
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime Martin Losa
 
MPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
MPLS/SDN 2013 Intercloud Standardization and Testbeds - SillMPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
MPLS/SDN 2013 Intercloud Standardization and Testbeds - SillAlan Sill
 
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data MeshLibbySchulze
 
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...ADLINK Technology IoT
 
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsVortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsAngelo Corsaro
 
Privacy preserving repositoy
Privacy preserving repositoyPrivacy preserving repositoy
Privacy preserving repositoymanishajadhav13j
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo Corsaro
 
Accelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyAccelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyMongoDB
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?Angelo Corsaro
 
Secure Data Sharing in Cloud (SDSC)
Secure Data Sharing in Cloud (SDSC)Secure Data Sharing in Cloud (SDSC)
Secure Data Sharing in Cloud (SDSC)Jishnu Pradeep
 
Serverless service adoption for Thailand
Serverless service adoption for ThailandServerless service adoption for Thailand
Serverless service adoption for ThailandWatcharin Yang-Ngam
 
What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?Bernard Paques
 
Design and implement a new cloud security method based on multi clouds on ope...
Design and implement a new cloud security method based on multi clouds on ope...Design and implement a new cloud security method based on multi clouds on ope...
Design and implement a new cloud security method based on multi clouds on ope...csandit
 

Ähnlich wie DDS and OPC-UA Explained (20)

Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-CentricEclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDS
 
Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoT
 
Interoperable DDS Strategies
Interoperable DDS StrategiesInteroperable DDS Strategies
Interoperable DDS Strategies
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
MPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
MPLS/SDN 2013 Intercloud Standardization and Testbeds - SillMPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
MPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
 
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data Mesh
 
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
 
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsVortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
 
Privacy preserving repositoy
Privacy preserving repositoyPrivacy preserving repositoy
Privacy preserving repositoy
 
Forecast odcau1 100_posttech
Forecast odcau1 100_posttechForecast odcau1 100_posttech
Forecast odcau1 100_posttech
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
Accelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyAccelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data Strategy
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
 
Secure Data Sharing in Cloud (SDSC)
Secure Data Sharing in Cloud (SDSC)Secure Data Sharing in Cloud (SDSC)
Secure Data Sharing in Cloud (SDSC)
 
Serverless service adoption for Thailand
Serverless service adoption for ThailandServerless service adoption for Thailand
Serverless service adoption for Thailand
 
What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?
 
Design and implement a new cloud security method based on multi clouds on ope...
Design and implement a new cloud security method based on multi clouds on ope...Design and implement a new cloud security method based on multi clouds on ope...
Design and implement a new cloud security method based on multi clouds on ope...
 

Mehr von Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part IAngelo Corsaro
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT ArchitecturesAngelo Corsaro
 

Mehr von Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part I
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT Architectures
 

Kürzlich hochgeladen

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

Kürzlich hochgeladen (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

DDS and OPC-UA Explained

  • 6. CopyrightPrismTech,2016 In the late ‘90s the DoD raised attention on the role that Information Superiority will play in the future of nations. A series of operational and technological initiatives were undertaken to enable Information Superiority. The concept of the Global Information Grid (GIG) was popularised. Information Superiority
  • 7. CopyrightPrismTech,2016 A globally interconnected, end-to-end set of information capabilities for collecting, processing, storing, disseminating, and managing information on demand to warfighters, policy makers, and support personnel The Global [Image from https://en.wikipedia.org/wiki/Global_Information_Grid] Information Grid “The right data at the right place at the right time”
  • 8. CopyrightPrismTech,2016 Client/Server technologies popular in the 90’s such as CORBA, COM+/DCOM were not suited to implementing the GiG due to the tight coupling, high sensibility to faults, scalability and performance issues Making the Gig: Challenges
  • 9. CopyrightPrismTech,2016 The Data Distribution Service (DDS) was introduced to overcome the limitations of existing technologies and address the data sharing requirements of the GiG for the engagement, awareness and planning grid. Enabling the Gig: 7dds DDS
  • 10. CopyrightPrismTech,2016 DDS has been endorsed and recommended worldwide as the technology at the foundation for network centric systems and GIG-like functionalities Recommendation
  • 11. CopyrightPrismTech,2016 Massive deployments in Defence & Aerospace Integrated Modular Vetronics Training & Simulation Systems Naval Combat Systems Air Traffic Control & Management Unmanned Air Vehicles Aerospace Applications
  • 13. CopyrightPrismTech,2016 In the early ‘90s Automation Industry there was no standard for interacting with control hardware and field devices. As a result client applications, such as HMI, had to embed drivers and protocols for all the devices they had to interact with. It was the age of Integration Nightmare. Integration Nightmare
  • 14. CopyrightPrismTech,2016 "All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections” —David Wheeler Indirection
  • 15. CopyrightPrismTech,2016 OPC (OLE for Process Control) was introduced in 1996 as a mean to shield client applications from the details of the automation equipments and providing standardised interfaces to interact with control hardware and field devices. OPC to the rescue Before After [Adapted from OPC Foundation Slides OPC UA Connectivity]
  • 17. DDS
  • 18. CopyrightPrismTech,2016 The DDS specification describes a Data- Centric Publish-Subscribe (DCPS) model for distributed application communication and integration. This specification defines both the Application Interfaces (APIs) and the Communication Semantics (behaviour and quality of service) that enable the efficient delivery of information from information producers to matching consumers. The purpose of the DDS specification can be summarised as enabling the “Efficient and Robust Delivery of the Right Information to the Right Place at the Right Time”. Data Distribution [Extract from DDS Specification v1.4] Service (DDS)
  • 19. CopyrightPrismTech,2016 DDS Standard Evolution 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 ‣ DDS 1.0 ‣ DDSI-RTPS 1.0 ‣ DDS-XTYPES 1.0 ‣ DDS-SECURITY 1.0 ‣ DDS-XTYPES 1.1 ‣ DDSI-RTPS 2.2 ‣ DDS 1.4 ‣ DLRL 1.4 ‣ DDS-RPC 1.0 ‣ DDSI-RTPS 2.0 ‣ DDS 1.2 ‣ DDS-PSM-CXX 1.0 ‣ DDS-PSM-Java ‣ DDSI-RTPS 2.1
  • 20. CopyrightPrismTech,2016 DDS. Describes the semantics of the information sharing abstraction supported by DDS. Defines a nominal type system for describing DDS information models. DDSI-RTPS. Defines a protocol for interoperable wire implementation of the DDS semantics. Standard Structure
  • 21. CopyrightPrismTech,2016 DDS-XTypes. Extends the DDS type system with support for structural typing as well as a dynamic type definition. DDS-Security. Introduces information centric security in DDS for data in movement as as well as data at rest. Standard Structure
  • 22. CopyrightPrismTech,2016 DDS-RPC. Extends DDS with support for Remote Procedure Calls. DDS-PSM-*. Defines highly ergonomic and optimised API mapping for specific programming languages instead of deriving those for the DDS-PSM-IDL DLRL. Defines a language independent Object/Relational Mapping for DDS Standard Structure
  • 24. CopyrightPrismTech,2016 Applications can autonomously and asynchronously read and write data enjoying spatial and temporal decoupling Virtualised Data Space DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 25. CopyrightPrismTech,2016 Built-in dynamic discovery isolates applications from network topology and connectivity details Dynamic DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Discovery
  • 26. CopyrightPrismTech,2016 QoS policies allow the expression of data’s temporal and availability constraints QoS Enabled DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 27. CopyrightPrismTech,2016 No single point of failure or bottleneck Decentralised Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS TopicD QoS TopicD QoS TopicA QoS Data-Space DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 28. CopyrightPrismTech,2016 Connectivity is dynamically adapted to choose the most effective way of sharing data Adaptive Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS TopicD QoS TopicD QoS TopicA QoS The communication between the DataWriter and matching DataReaders can be peer-to- peer exploiting UDP/IP (Unicast and Multicast)or TCP/IP The communication between the DataWriter and matching DataReaders can be “brokered” but still exploiting UDP/IP (Unicast and Multicast)or TCP/IP Connectivity
  • 29. CopyrightPrismTech,2016 A domain-wide information’s class A Topic defined by means of a <name, type, qos> DDS Topics allow to expression of functional and non-functional properties of a system information model Topic DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Topic Type Name QoS
  • 30. OPC
  • 31. CopyrightPrismTech,2016 OPC = OLE for Process Control ‣ OPC-UA 1.0.3 OPC Standard Evolution 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 ‣ OPC 1.0 1998 1999 2000 2001 2002 2003 2004 200519971996 ‣ OPC Data Acces (DA) 2.0 ‣ OPC Alarms and Events 1.01 ‣ OPC Historical Data Access ‣ OPC Security ‣ .Net is launched and DCOM deprecated ‣ OPC-XML-DA 3.0 ‣ OPC-UA 1.0 ‣ OPC-UA 1.0.2 ‣ OPC-UA Part 1-5 ‣ OPC-UA Part 6-8 Rebranding => OPC = Open Platform Communication
  • 32. CopyrightPrismTech,2016 OPC UA is a platform-independent standard through which various kinds of systems and devices can communicate by sending Messages between Clients and Servers over various types of networks. It supports robust, secure communication that assures the identity of Clients and Servers and resists attacks. OPC UA defines sets of Services that Servers may provide […]. Information is conveyed using OPC UA-defined and vendor-defined data types, and Servers define object models that Clients can dynamically discover. Servers can provide access to both current and historical data, as well as Alarms and Events to notify Clients of important changes. OPC UA [Extract from OPC-UA Overview and Concepts v1.03
  • 33. CopyrightPrismTech,2016 OPC-UA is organised in Core, Access Type and Utility specifications Standard Structure
  • 34. CopyrightPrismTech,2016 Security Model. Defines how communication between OPC-UA Clients and Servers should be secured Address Space Model. Describes the contents and structure of the Server’s AddressSpace.
 Services. Defines the services provided by OPC UA Servers. CORE Specifications
  • 35. CopyrightPrismTech,2016 Information Model. Specifies the types and their relationships defined for OPC UA Servers. Service Mapping. Specifies the mappings to transport protocols and data encodings supported by OPC UA. Profiles. Specifies the Profiles that are available for OPC Clients and Servers. These Profiles provide groups of Services or functionality that can be used for conformance level certification. CORE Specifications
  • 36. CopyrightPrismTech,2016 Data Access. Specifies the use of OPC UA for data access. Alarms & Conditions. Specifies the use of OPC UA support for access to Alarms and Conditions. Programs. Specifies OPC UA support for access to Programs. Historical Access. Specifies use of OPC UA for historical access. This access includes both historical data and historical Events. Access Type Specifications
  • 37. CopyrightPrismTech,2016 Discovery. Specifies how Discovery Servers operate in different scenarios and describes how UA Clients and Servers should interact with them. Aggregates. specifies how to compute and return aggregates like minimum, maximum, average etc. Aggregates can be used with current and historical data. Utility Specifications
  • 39. CopyrightPrismTech,2016 OPC UA is rooted in the client-server model. Clients interact with the server and are coupled in time, e.g. client and server must be running at the same time for anything useful to happen. Client/Server
  • 40. CopyrightPrismTech,2016 The OPC UA server provides, through a standard API, access to its address space. The address space is organised as a graph of nodes. A server can decide to expose a specific view. Client/Server
  • 41. CopyrightPrismTech,2016 Clients can register subscriptions with the server and eventually be notified by a server when data changes or some event occurs. Client/Server
  • 43. CopyrightPrismTech,2016 For the objectives stated from both the DDS and OPC-UA specifications it emerges how both standards address the problem of information management in distributed systems. Both DDS as well as OPC UA provide support for Information Modelling. DDS through relational data modelling while OPC UA via Object Oriented modelling. similarities DDS & OPC-UA
  • 44. CopyrightPrismTech,2016 DDS abstraction is centred around a Decentralised Data Space that decouples applications in time and space. OPC UA abstraction is centred around client-server. DDS & OPC-UA DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS differences
  • 45. CopyrightPrismTech,2016 DDS applications interact by anonymously and asynchronously reading and writing data in the global data space. OPC UA applications interact by invoking requests on one or more UA servers. DDS & OPC-UA DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS differences
  • 46. CopyrightPrismTech,2016 DDS favours resource- oriented and declarative programming style, i.e., you express how things should be. OPC UA favours an imperative programming style, i.e. you express how things should be done. DDS & OPC-UA DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS differences
  • 47. CopyrightPrismTech,2016 DDS applications enjoy complete location transparency. Data gets automatically where there is interest. OPC UA applications have to undergo a two step resolution process, first they need to look- up servers and then browse data in its address space. DDS & OPC-UA DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS differences
  • 48. CopyrightPrismTech,2016 DDS data modelling is relational. DDS Information model can be queried joined and projected OPC UA data modelling is Object Oriented. OPC UA can be browsed and queried when servers support this extension. DDS & OPC-UA differences DDS data model OPC-UA data model
  • 49. CopyrightPrismTech,2016 DDS’ Dynamic Discovery allows for very dynamic systems in which applications and data are discovered automatically. Applications are notified of relevant information discovered. DDS has out-of-the box a plug-and-play nature. OPC UA applications have to explicitly “search” for things. That means that supporting plug and play behaviours requires programmatic effort. DDS & OPC-UA DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS differences OPC-UA Discovery
  • 50. CopyrightPrismTech,2016 DDS allows information to be annotated with QoS so to capture non- functional properties. OPC UA does not support QoS specification. DDS & OPC-UA DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS differences
  • 51. CopyrightPrismTech,2016 DDS security addresses data in motion as well as data at rest. Additionally DDS security provides pluggable Authentication, Access Control, Cryptography and Logging OPC UA security focuses on establishing secure channels between client and servers. DDS & OPC-UA DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS differences
  • 52. CopyrightPrismTech,2016 DDS / OPC Standard Evolution
  • 53. CopyrightPrismTech,2016 Standard “Mapping” Part 2. Security Model DDS-Security Part 3. Address Space Model DDS Part 4. Services There is no server concept in DDS. Negotiation is done via the discovery services. Part 5. Information Model DDS, DDS-XTypes Part 6. Service Mappings Platform Specific Models of each specification define implementation when necessary. Part 7. Profiles Each Specification has its own conformance points. Part 8. Data Access DDS, DDS-XTypes Part 9. Alarm & Conditions Alarms / Events are represented as topics in DDS. Part 10. Programs DDS-RPC Part 11. Historical Access DDS, DDSI-RTPS, DDS provides built-in support for history. Beside this vendor support seamless integration with time series stores. Part 12. Discovery DDS, DDSI-RTPS. DDS Has built-in decentralised discovery. Part 13. Aggregates DDS promotes micro-service architectures, thus aggregates are typically provided by analytics, or similar applications.
  • 56. CopyrightPrismTech,2016 EtherCAT - Ethernet for Control Automation Technology - is an Ethernet-based fieldbus system. The protocol is standardised in IEC 61158 and is suitable for both hard and soft real-time requirements in automation technology. ETHERCAT
  • 57. CopyrightPrismTech,2016 The goal during development of EtherCAT was to apply Ethernet for automation applications requiring short data update times (also called cycle times; ≤ 100 µs) with low communication jitter (for precise synchronisation purposes; ≤ 1 µs) and reduced hardware costs. ETHERCAT
  • 58. CopyrightPrismTech,2016 Notice that not all communication stack follow literally the OSI Model. As an example the IP stack deviates in many respects. OSI Model Refresher 7. Application High-level APIs, including resource sharing, remote file access, directory services and virtual terminals 6. Presentation Translation of data between a networking service and an application; including character encoding, data compression and encryption/ decryption 5. Session Managing communication sessions, i.e. continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes 4. Transport Reliable transmission of data segments between points on a network, including segmentation, acknowledgement and multiplexing 3. Network Structuring and managing a multi-node network, including addressing, routing and traffic control 2. Data Link Reliable transmission of data frames between two nodes connected by a physical layer 1. Physical Transmission and reception of raw bit streams over a physical medium
  • 59. CopyrightPrismTech,2016 DDS provides the features defined as part of the Session and Presentation ISO/OSI Model as part of the DDSI-RTPS and DDS layer and layers and sits on-top the Network layer. EtherCat is implemented at the Physical and Data Link Layers, this it is way below the stack in terms of abstractions. DDS vs ETHERCAT IP UDP TCP DDSI-RTPS DDS User App.
  • 60. CopyrightPrismTech,2016 DDS is in reality a coordination abstraction for distributed computations. It leverages a protocol, namely DDSI-RTPS but it is far more than a protocol. DDS is more than a messaging protocol UDP TCP DDSI-RTPS DDS User App. 7. Application High-level APIs, including resource sharing, remote file access, directory services and virtual terminals 6. Presentation Translation of data between a networking service and an application; including character encoding, data compression and encryption/ decryption 5. Session Managing communication sessions, i.e. continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes 4. Transport Reliable transmission of data segments between points on a network, including segmentation, acknowledgement and multiplexing 3. Network Structuring and managing a multi-node network, including addressing, routing and traffic control 2. Data Link Reliable transmission of data frames between two nodes connected by a physical layer 1. Physical Transmission and reception of raw bit streams over a physical medium IP
  • 61. CopyrightPrismTech,2016 DDS integrates at European Scale in Air Traffic Control Centres. DDS is at the foundation of several large scale systems such as Smart Cities, Transportation Management Systems, Energy Production, Ground Satellite Control Centres, Connected Vehicles etc. DDS isn’t just for the EDGE
  • 63. CopyrightPrismTech,2016 Some DDS deployments in IOT/IIoT Agricultural Vehicle Systems Train Control Systems Complex Medical Devices Smart CitiesLarge Scale SCADA Systems High Frequency Auto-Trading
  • 64. DDS / OPC-UA Interworking
  • 65. CopyrightPrismTech,2016 Upcoming OMG standard defining a gateway to automatically bridge data from OPC-UA to DDS and vice-versa. OPC-UA/DDS gateway DDS Global Data Space ... Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS DDS/OPC-UA Gateway OPC-UA Server +Client DDSI- RTPS OPC-UA Client OPC-UA Client OPC-UA Client OPC-UA Client
  • 67. CopyrightPrismTech,2016 DDS and OPC UA address a similar problem in a very different way. DDS was designed since its inception to support GIG-like systems, thus naturally matches IoT/IIoT requirements. OPC has emerged from the Automation industry, thus its ecosystem is its biggest strength. Summing Up
  • 71. CopyrightPrismTech,2016 Writing Data in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Meter> topic(“SmartMeter”); Publisher pub(dp); DataWriter<Meter> dw(pub, topic); while (!done) { auto value = readMeter() dw.write(value); std::this_thread::sleep_for(SAMPLING_PERIOD); } return 0; } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 72. CopyrightPrismTech,2016 Reading Data in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Meter> topic(”SmartMeter”); Subscriber sub(dp); DataReader<Meter> dr(dp, topic); LambdaDataReaderListener<DataReader<Meter>> lst; lst.data_available = [](DataReader<Meter>& dr) { auto samples = data.read(); std::for_each(samples.begin(), samples.end(), [](Sample<Meter>& sample) { std::cout << sample.data() << std::endl; } } dr.listener(lst); // Print incoming data up to when the user does a Ctrl-C std::this_thread::join(); return 0; } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 73. CopyrightPrismTech,2016 Writing Data in Python import dds import time
 
 if __name__ == '__main__':
 topic = dds.Topic("SmartMeter", "Meter")
 dw = dds.Writer(topic)
 
 while True:
 m = readMeter()
 dw.write(m)
 time.sleep(0.1) enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 74. CopyrightPrismTech,2016 Reading Data in Python import dds
 import sys
 
 def readData(dr): 
 samples = dds.range(dr.read())
 for s in samples:
 sys.stdout.write(str(s.getData()))
 
 if __name__ == '__main__':
 t = dds.Topic("SmartMeter", "Meter")
 dr = dds.Reader(t)
 dr.onDataAvailable = readData enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn