Command Microservice Deep Dive

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

STANFORD UNIVERSITY INFORMATION TECHNOLOGY SERVICES Windows Encryption File System (EFS) Tech Briefing July 18 th 2008
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
 1- Definition  2- Helpdesk  3- Asset management  4- Analytics  5- Tools.
Getting Started as an EdgeX Developer
1.4 wired and wireless networks lesson 1
Portals and CRM: what, When, Why, and How
Meta Data Deep Dive Part 1
SQL Database Management
ArcGIS for Server Security: Advanced
Core Data Deep(er) Dive
Configuration & Registry Microservice Deep Dive
Logging Microservice Deep Dive
Technology Audit Brandon Hall.
Export Services Deep Dive
CRM for Microsoft Dynamics 365
Getting & Running EdgeX Docker Containers
Integrating ArcSight with Enterprise Ticketing Systems
Core, Device Service, Application Breakout
Session
Device Service SDK Deep Dive
Enterprise Security in Practice
Summer ’16 Release Developer Overview
Section 6 Object Storage Gateway (RADOS-GW)
Working with Feature Layers
Frame Relay lab1.
Session ID#: JDE This is a subtitle for the presentation Prepared by:
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Meta Data Deep Dive Part 2
Getting Started as an EdgeX Developer
Shared Space Admin Demo
Security Working Group
Meta Data Deep Dive Part 1
EdgeX System Management Nov 6th 2017
The Enterprise API Integration Platform Prepared for
SysML 2.0 Model Lifecycle Management (MLM) Working Group
Braindumps4IT Braindumps
IT Roles and Responsibilities
EdgeX System Management Nov 14th 2017
Core WG Meeting November 16th, 2017.
Introduction to Networking
Rights Management Services (RMS)
API Documentation Guidelines
Welcome! Microsoft Tech Talks - Charlotte, NC
Virtual Private Servers – Types of Virtualization platforms Virtual Private ServersVirtual Private Servers, popularly known as VPS is considered one of.
The motivation Distributed knowledge sources Distributed experience
Cloud Connect Seamlessly
What You Don’t Know About the QAD Learning Center
Your Finance Cloud End User Adoption and Enablement Starts Here
Informatics 43 – May 26, 2016.
Using K2 applications How can users interact with K2 applications?
Workload Optimized OpenStack made easy
Implementing Listening Producers in IBM Sterling Filegateway
Chapter 6 – Architectural Design
Getting more from your learning objects
$, $$, $$$ API testing Edition
Cloud Web Filtering Platform
Platform Architecture
Navigating SWIS Webinar
How to upgrade your RSFORM!PRO forms for GDPR compliance
Microsoft Flow Approvals 101
Chapter 1 Database Systems
Windows 8.1 Deployment Jump Start
WEB SERVICES From Chapter 19, Distributed Systems
Research on edge computing system based on Linux EdgeX Foundry
TSC Business Meeting V1 Launch & Other Marketing activities
Contract Management Software 100% Cloud-Based ContraxAware provides you with a deep set of easy to use contract management features.
Navigating SWIS Webinar
Power BI for the Consumer
Presentation transcript:

Command Microservice Deep Dive Tech Talks – Session 6

Agenda Command's general purpose and background Why a separate micro service for commands Command’s makeup – including technologies/libraries/tools used REST API outline (categorizing the APIs by purpose) Command relationship to Device Profile With Demo!! Configuration settings Brief project status/update (what’s going on) Q&A

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 Command

Command’s Role Also known as the Command and Control micro service Enables the issuance of commands or actions to devices and sensors on behalf of: other microservices within EdgeX Foundry (for example, a local edge analytics or rules engine microservice) other applications that may exist on the same system with EdgeX Foundry (for example, a system management agent that needs to shutoff a sensor) To any external system that needs to command those devices (for example, a cloud-based application that had determined the need to modify the settings on a collection of devices) Exposes the commands in a common, normalized way to simplify communications with the devices. Commands to devices are made through the command GET, a request for data from the device or sensor, and the command PUT, a request to take action or receive new settings or data from EdgeX Foundry. Command does not act alone It gets its knowledge about the devices and sensors from the Metadata service It relays commands and actions to the devices and sensors through the Device Service It never communicates directly to a device or sensor.

Why have a Command Microservice Couldn’t other microservices or applications talk directly to device services? Yes, but… Command can provide a layer of protection around devices and sensors It provides security services a means to not allow unwarranted interaction with the devices and sensors through the Device Service It could aggregate and organize requests to multiple device/sensors Allowing for synchronization and/or ordering of requests (shutoff the electricity, and then open the access panel) It could filter command requests All features envisioned for future releases

Command Makeup Created with Java/Spring Framework/Spring Boot Uses Spring MVC for REST communications Command has no database – it gets all its information from other microservices Dell is creating a Go Lang Command Data replacement

Command Retrieve available commands

Command Put (but same for Get)

Command REST APIs Get all devices (and commands) Get Commands by /api/v1/device/name/{name} Get Commands by Device id /api/v1/device/{id} Device name /api/v1//device/name/{name} Issue command /api/v1/device/{id}/command/{command id} GET & PUT (depending on data request or actuation) https://wiki.edgexfoundry.org/display/FA/APIs--Core+Services--Command

Command REST APIs (continued) Set the admin state /api/v1/device/{id}/adminstate/{adminState} Can also be done by device name Set the op state /api/v1/device/{id}/opstate/{opState} Ping the service /api/v1/ping

Demo It can sometimes be difficult to see how actuation commands are reflected through the profile and then the various microservices Metadata Device Service Command Let’s see a demo (using virtual device service) See the original Device Profile (and its commands) See how Meta data’s provides those commands through its APIs See how the commands are exposed through the device service See how Command offers the same commands through its APIs

Command Config Options Nothing extra-ordinary in Command Other standard config options Service port Location of associated micro services Log levels Read limits https://github.com/edgexfoundry/core-command/blob/master/src/main/resources/application.properties

Project Status and Significant Updates 60 companies now enrolled in EdgeX Barcelona Release (the first community release) Due Oct 3rd Shown at IoT Solutions World Congress in Barcelona See Wiki for feature list Next tech community meeting held simultaneously there (Oct 5th) Working Groups all working toward Barcelona MVP Processes and documentation filling Build and test facilities filling in

Upcoming Tech Talks Are these talks still useful Are there suggestions you can make on how to improve Consul and Config/Registry micro service Export micro services Using the SDK to generate a device service Email me other suggestions james_white2@dell.com

Questions and Answer Time