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

1 of 4 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
On-Line Database Placement Application Tutorial. How to Change Your Information On York’s System.
ManageEngine ADAudit Plus A detailed walkthrough.
Form Builder Iteration 2 User Acceptance Testing (UAT) Denise Warzel Semantic Infrastructure Operations Team Presented to caDSR Curation Team March.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
(Business) Process Centric Exchanges
Web Application Design. Data –What data is available? –How do we store it or how is it stored in the DB? Schema Data types Etc. –Where is the data?
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.
 1- Definition  2- Helpdesk  3- Asset management  4- Analytics  5- Tools.
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
SportSuite Forms – Invitations
SQL Database Management
ArcGIS for Server Security: Advanced
Core Data Deep(er) Dive
ADVANCED HOSTING Adrian Newby, CTO.
Windows Communication Foundation and Web Services
Configuration & Registry Microservice Deep Dive
Logging Microservice Deep Dive
Frequently Asked Questions (FAQ)
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
Lesson # 9 HP UCMDB 8.0 Essentials
What is it ? …all via a single, proven Platform-as-a-Service.
Ed-Fi ODS/API v3.0 Pre-Read Information for Technical Congress.
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.
The story of an IoT solution
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Data Virtualization Tutorial… CORS and CIS
Meta Data Deep Dive Part 2
Getting Started as an EdgeX Developer
Security Working Group
Meta Data Deep Dive Part 1
EdgeX System Management Nov 6th 2017
Project CS ~1min 11 students Project CS course
Introduction to Networking
Chapter 6: Community Features.
CompTIA Security+ Study Guide (SY0-401)
Documenting ONAP components (functional)
intro to notifications in iOS 10
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Our Wireless Enterprise Help Desk (WEHD) is here to assist you 24 hours a day, 7 days a week, 365 days a year. We also have our own private number.
Implementing Listening Producers in IBM Sterling Filegateway
IEEE P Wireless RANs Date:
Cloud Web Filtering Platform
What’s new in ASP.NET Core and Entity Framework 2.2 (Preview 3)
Platform Architecture
Summit Nashville /3/2019 1:48 AM
Database Management Systems
WEB SERVICES From Chapter 19, Distributed Systems
Applying Use Cases (Chapters 25,26)
Register & Pay Online IBA MBA Program
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
Overview of The Bidder Response Form and Changes to the IT RFP Template March 8, 2019.
An Introduction Michael Hall.
Research on edge computing system based on Linux EdgeX Foundry
Presentation transcript:

Meta Data Deep Dive Part 1 Tech Talks – Session 4

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

Barcelona Release MVP The Technical Committee met last week in London MVP, tasks and to-do’s were established for the “Barcelona” release Release to coincide with the IoT Solutions World Congress in Barcelona Oct 3-5 Our first community release Please review the MVP and provide comments https://wiki.edgexfoundry.org/display/FA/Roadmap Also laid out potential future release roadmap Want to contribute to the MVP or additionally? Please get in touch! We have lots of project ideas!

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… Thursday Aug 3, 9am EDT Meta Data Profile Details Commands Resources Objects Provisioning from a Meta Data perspective Provisioning from a Device Service perspective

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 MongoDB underneath Core data and Meta data use same instance of MongoDB, but different collections Allows for separation if necessary or use of different DB technology if necessary 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 MongoDB Core Data Collections Meta Data Collections

Meta Data Triumvirate EdgeX 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 Meta Data 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

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

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

Meta Data REST APIs (categorized) Misc APIs Ping (good debug/checking mechanism) Associated value descriptors for a device

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