Meta Data Deep Dive Part 1

Slides:



Advertisements
Similar presentations
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Advertisements

Introduction to push technology © 2009 Research In Motion Limited.
ManageEngine ADAudit Plus A detailed walkthrough.
April WebEx Intel ® Active Management Technology (AMT) LANDesk Provisioning LANDesk Server Manager.
Form Builder Iteration 2 User Acceptance Testing (UAT) Denise Warzel Semantic Infrastructure Operations Team Presented to caDSR Curation Team March.
SUSE Linux Enterprise Desktop Administration Chapter 12 Administer Printing.
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
Retrieving Relevant Reports from a Customer Engagement Repository Dharmesh Thakkar Zhen Ming Jiang Ahmed E. Hassan School of Computing, Queen’s University,
(Business) Process Centric Exchanges
Introduction to the SharePoint 2013 REST API. 2 About Me SharePoint Solutions Architect at Sparkhound in Baton Rouge
Automated Scheduling and Operations for Legacy Applications.
1 1 ECHO Extended Services February 15, Agenda Review of Extended Services Policy and Governance ECHO’s Service Domain Model How to…
Web Services An Introduction Copyright © Curt Hill.
Senior Solutions Architect, MongoDB Inc. Massimo Brignoli #MongoDB Introduction to Sharding.
Orion Contextbroker PROF. DR. SERGIO TAKEO KOFUJI PROF. MS. FÁBIO H. CABRINI PSI – 5120 – TÓPICOS EM COMPUTAÇÃO EM NUVEM
International Planetary Data Alliance Registry Project Update September 16, 2011.
Redmond Protocols Plugfest 2016 Andrew Davidoff Mail, Calendar, and Contacts Graph API Demonstration Senior Software Engineer.
Use Cases & User Mocks Customer Call – Users and Objects.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Knowledge Hub Walkthrough August
1 Registration and how OpenOffice.org benefits Martin Damboldt Program Manager OpenOffice.org Sun Microsystems Inc. 1.
Getting Started as an EdgeX Developer
Command Microservice Deep Dive
Meta Data Deep Dive Part 1
SQL Database Management
ArcGIS for Server Security: Advanced
Core Data Deep(er) Dive
Windows Communication Foundation and Web Services
Configuration & Registry Microservice Deep Dive
Logging Microservice Deep Dive
Building Azure Logic Apps
Export Services Deep Dive
Getting & Running EdgeX Docker Containers
CompTIA Security+ Study Guide (SY0-401)
Integrating ArcSight with Enterprise Ticketing Systems
Integrating ArcSight with Enterprise Ticketing Systems
Project Management: Messages
Device Service SDK Deep Dive
Introduction to gathering and analyzing data via APIs Gus Cavanaugh
The Client-Server Model
POC Open House Welcome to the POC Open House. My name is _____ and today we will learn about the iPad Courses for the Month of September. If you have any.
Data Virtualization Tutorial… CORS and CIS
Meta Data Deep Dive Part 2
Getting Started as an EdgeX Developer
Why BestShine Edu App ??? BestShine Edu App provides a Real Time Connecting System Update of your kids on the move and live One stop shop for 360’c update.
Security Working Group
EdgeX System Management Nov 6th 2017
Project CS ~1min 11 students Project CS course
Introduction to Networking
Chapter 6: Network Layer
Chapter 6: Community Features.
Net 431: ADVANCED COMPUTER NETWORKS
CompTIA Security+ Study Guide (SY0-401)
Use Cases & User Mocks Customer Call –
intro to notifications in iOS 10
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Accessing Data in a .NET Web Application
Implementing Listening Producers in IBM Sterling Filegateway
Chapter 5 Architectural Design.
Cloud Web Filtering Platform
Platform Architecture
WEB SERVICES From Chapter 19, Distributed Systems
Web APIs In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application.
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
HR Portal: What’s New? What’s Next?
Keep in Touch with Your Students via & Text
An Introduction Michael Hall.
Research on edge computing system based on Linux EdgeX Foundry
Chengyu Sun California State University, Los Angeles
Presentation transcript:

Meta Data Deep Dive Part 1 Tech Talks – Session 4

Agenda Meta Data's general purpose and background Meta Data’s makeup – including technologies/libraries/tools used in Meta Data Meta Data object model Device, Device Service, Device Profile Addressables Device Report, ScheduleEvent, Schedule Value Descriptors – from Core Data REST API outline (categorizing the APIs by purpose) Some important configuration settings Notification Persistence via Mongo Q&A

Agenda for Meta Data Part II Tyler Cox – (aka Dell Fuse super genius) – will cover next week… Meta Data Profile Details Commands Resources Objects Provisioning from a Meta Data perspective Provisioning from a Device Service perspective

Jim White Dell Distinguished Engineer & Senior Software Architect From Dell End User Computing (EUC) CTO Chief Architect and lead developer of Fuse I wrote code line #1  Fuse => EdgeX Foundry james_white2@dell.com

Big Picture and Meta Data

Meta Data’s Role Is the repository of knowledge about the devices and sensors and how to communicate with them that is used by the other services, such as Core Data, Command, analytics, etc. Specifically, Metadata has the following abilities: Manages information about the devices and sensors connected to, and operated by, EdgeX Foundry Knows the type, and organization of data reported by the devices and sensors Knows how to command the devices and sensors Meta data does not… Do any data collection, but it knows what data is collected by which devices and which device services manage those devices Issue commands, but it knows the commands that can be issued to any device When Meta Data first comes up, it knows nothing and does nothing It depends on Device Services to come up, report their existence and report the devices they have discovered and manage It depends on API calls to identify new device services, devices, device profiles, schedules, etc. Could provide a degree of security and protection of the data about the devices and how to communicate with them Provides a warehouse of information to ensure incoming sensor data conforms to expectations

Meta Data Makeup Created with Java/Spring Framework/Spring Boot/Spring MongoDB Uses Spring MVC for REST communications Dell has created a partial Go Core Data replacement Working to open source that code later this summer or beyond Again with no affect to the other service APIs

Meta Data Triumvirate A Device represents a physical device or sensor However, another EdgeX gateway or a system could be a “device” Each device / sensor that is managed by EdgeX Foundry must be registered with Metadata and have a unique ID and name associated to it Device services represent other micro services that manage one or more devices Each device is associated to one and only one device service Each device service has a unique ID and name A Device Profile can be thought of as a template of a type or classification of Device. A device profile provides general characteristics for the types of data a device sends and what types of commands or actions can be sent to the device A device must be associated to a single device profile More details about Device Profiles and device services next week Each profile has a unique ID and name

Device Profile High Level Example A BACNet thermostat device profile would provide general characteristics of thermostats Specifically those communicating via the BACNet protocol It would describe the types of data a BACnet thermostat sends Current temperature (as a float and in Celsius) Current humidity (as a float and a percentage) It would describe what commands it responds to and how to send those commands Get or Set the cooling set point (passing a float as a parameter) Get or Set the heating set point (passing a float as a parameter)

Meta Data Model

Addressable An object that represents some way to address a device or service Could be an HTTP / REST address / endpoint Could be an MQTT topic Could be a 0MQ topic Could be a … Managed by Meta Data Used by many micro services

Meta Data Device Service Startup Sequence

Meta Data Device Provisioning

Additional Meta Data Model Objects

Value Descriptor Remember these from Core Data model?? name: temperature description: ambient temperature in Celsius min: -25 max: 125 type: I (I = integer) uomLabel: “C” defaultValue: 25 formatting:"%s“ labels: [“room",“temp"]} Remember these from Core Data model?? Provides context and unit of measure to a reading Has a unique name Specifies unit of measure for associated Reading value Dictates special rules around the associated Reading value Min value Max value Default value These are also referenced in MetaData Device Profiles use Value Descriptors to describe the parameters to commands Device Profiles use Value Descriptors to describe responses received when sending a command Device Reports use Value Descriptors to describe data to be expected when devices send data

Controller Example Meta Data Controllers look very similar to Core Data (or any micro service controller) Follow MVC design pattern Device Profile Controller https://github.com/edgexfoundry/core- metadata/blob/master/src/main/java/org/edgexfoundry/controller/DeviceProfileController.java Device Service Controller https://github.com/edgexfoundry/core- metadata/blob/master/src/main/java/org/edgexfoundry/controller/DeviceServiceController.java Device Controller https://github.com/edgexfoundry/core- metadata/blob/master/src/main/java/org/edgexfoundry/controller/DeviceController.java

Meta Data REST APIs (categorized) Device and Device Service APIs Add (POST), Update (PUT), Remove (Delete)* devices GET’s galore to query for Device by id, name, label, associated elements, etc. SET’s (PUT) galore to update op state and admin state Last reported Last connected Device Profile APIs Add (POST), Update (PUT), Remove (Delete)* profiles Post can be done with JSON or YAML GET’s galore to query for profile by id, name, label, manufacturer, etc. * - deletes will trigger a check for associations before allowing the delete https://csgcto.atlassian.net/wiki/display/FA/Meta+Data

Meta Data REST APIs (categorized) Addressable APIs Add (POST), Update (PUT), Remove (Delete)* addressables GET’s galore to query for Addressable by id, name, topic, address url, port, etc. * - deletes will trigger a check for associations before allowing the delete https://csgcto.atlassian.net/wiki/display/FA/Meta+Data

Meta Data REST APIs (categorized) Schedule APIs Add (POST), Update (PUT), Remove (Delete)* schedules GET’s to query for schedules by id, name Schedule Event APIs Add (POST), Update (PUT), Remove (Delete)* schedule events GET’s to query for schedule events by id, name Device Report APIs Add (POST), Update (PUT), Remove (Delete)* device reports GET’s to query for reports by id, name, device association * - deletes will trigger a check for associations before allowing the delete https://csgcto.atlassian.net/wiki/display/FA/Meta+Data

Meta Data REST APIs (categorized) Misc APIs Ping (good debug/checking mechanism) Associated value descriptors for a device https://csgcto.atlassian.net/wiki/display/FA/Meta+Data

Import / Unique Meta Data Config Options Per application.properties (or via Consul Config/Registry service) Notification information (an example of how to use the Alerts & Notification micro service) Whether to post an alert on any device change (add, update, remove, …) Information about where to send the notification and what to put in the notification message Database configuration (location, user, pass, …) Other standard config options Service port Location of associated micro services Log levels Read limits https://github.com/edgexfoundry/core-metadata/blob/master/src/main/resources/application.properties

EdgeX Tech Talks Provide this new community with background on the current system In the future, they may address future architecture or special calls to action Currently scheduled for every week (Thursdays) Alternating weekly times: 9am and 6pm ET Trying to be sensitive to global attendance Topics TBD – email me suggestions

Upcoming Tech Talks Core Metadata Part 2 Core Command in-depth Consul and Config/Registry micro service Using the SDK to generate a device service Email me other suggestions

Questions and Answer Time