felipe heidrich - dispositivos inteligentes para a internet das coisas #javaonebr #oowbr
TRANSCRIPT
SES12025Dispositivos inteligentes para a Internet das Coisas: Oracle Java ME Embedded 8.3 e muito mais
Felipe HeidrichPrincipal Member Technical StaffInternet of Things, Oracle
July, 2016
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Apresentação baseada
CON3437 Smart Devices for the Internet of Things: Java ME Embedded 8.2 and Beyond
Terrence BarrSenior Technologist and Principal Product ManagerAlexander BelokrylovPrincipal Product ManagerJava Embedded and Internet of Things, Oracle
October, 2015 - JavaOne San Francisco
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
5
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 6
Classroom Training
Learning Subscription
Live Virtual Class
Training On Demand
Keep Learning with Oracle University
education.oracle.com
Cloud
Technology
Applications
Industries
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Sobre o palestrante
Not a product manager, not sales rep
Engenheiro de Software!
Java ME users, not a developer, not an expert
IoT users, developer, expert
1
2
3
4
7
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Agenda
Internet das coisas
JavaME
Q&A
1
2
3
8
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
A hora da Internet das Coisas Demand for an Intelligent Edge
Open StandardsSupport
Scalable, Reliable Update In-Field
IoT InnovationHigh Rate of Change
Code Reuse: App, Integration, Porting
On-demand Business Logic Changes
Time-To-MarketDevice Lifetime
ROI,Lower Costs
Safetyand Security
9
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
O que é a Internet das Coisas
10
Colocar devices
Colocar inteligência
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |11
Casa Inteligente
Fabrica Inteligente
Cidade Inteligente
Hospital Inteligente
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |12
Primeiros passos
Monitorar
Controlar
Automatizar
1
2
3
Mas não é tão fácil assim! Exemplo:Indoor tracking.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |13
e mais inteligência…
Aprender - Machine Learning
Reconhecer padrões de error
Tomar medidas preventivas
Reconhecer oportunidades de vendas
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |14
Oracle Internet of Things Cloud Service
CustomApplication
Charging and Billing
CRM / OM / SFA
ERP• Financials• SCM• HCM
Industry Vertical Applications
Field Service
EnterpriseCloud or On Premise
Endpoint Management
Message delivery &Event Cache
StreamProcessing
Device Management
Event and Metadata Store
Java Devicesor Gateways
2G/3G/LTE Network
WWAN
Oracle Integration Cloud Service
Oracle BusinessIntelligence
Cloud Service
Firewall
Java Devices
Sensors or simple
devices
Other Cloud Services
IoT Cloud Service
Event Dispatcher Database-as-a-Service
Native Devicesor Gateways
Sensors or simple
devices
Smart sensors
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
A hora certa …
Devices Inteligentes
+ com Conexão a Internet
+ Integração com a Cloud
+ Inteligência Distribuída
…criando oportunidades
para Embedded Java Developers
Devices inteligentes para os necessidades do IoT
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Moderno, Compacto and Configurável
• Dedicado a sistema embutido
• Inteligência Java para a IoT Edge
Oracle Java ME Embedded: Embedded-By-DesignCriando o caminho para desenvolver inovação
16
Java ME EmbeddedPlatform
Java ME CLDC 8 Virtual Machine
Java ME EP 8 Application Platform
Java ME Embedded Porting Layer
Hardware Platform
Operating System (Linux / VxWorks / RTOS)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 17
Oracle Java ME Embedded 8Principais Características
Proven Java embedded
platform based latest
Java ME 8 standards
Highly optimized, robust
multitasking Java Virtual
Machine
Fully headless
operation with wired &
wireless connectivity
Versatile, cross-platform
access to peripherals and
networks
Modular software platform,
ideal for granular in-field
upgrades
Remote software
deployment and
management
Multiple RTOS or bare
metal supported
Scalable from
microcontroller-class
systems upwards
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Outras características
Nome Descrição
Software Managent (SWM) API Gerenciamente remoto (install, start, update, etc.)
SWM lifecycle notifications Monitoramente de apps (e.g. errors, termination)
Robust software execution Apps executam em containers, recursos gerenciados
Application autostart/auto-restart Autostart ou restart applicações
Device I/O API Acesso a periféricos (DIO)
AccessPoint API / Cellular API Supporta multiplos canais de comunicações
Memory Monitor Monitora memoria durante desenvolvimento
Network Monitor Monitora network durante desenvolvimento
Headless On-Device Debug (ODD) Java debugging com código completo
VM Configurator Configuração remota da VM
OEM Extensibility Especialização usando mecanismo de extensão
Build Configuration Options Configurar para a tarefa à mão
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME Embedded 8 StackPlatforma rica, flexibel, e portável para sistema embutidos
Legend: Oracle Unique Features
3rd Party ComponentsHardware(*) : Modifiable Components
CLDC 8 + Virtual Machine (JSR 360)
OEM Extension APIs *
Porting Layer *
Additional platform port(s)Win32 Emulation port * Reference Board ports *
GPIOSPINetwork Serial
Advanced Tooling & Debugging
File I2CGPS ...
Embedded Application(s)
System Configuration
...
Device Operating SystemPlatform
ME EmbeddedRuntime
Java ME SDK 8Test, Emulate
NetBeans IDE Develop, Deploy,
Debug
Tools
Services
Porting
Integration
Specialization
Device I/O API
Web ServicesJSR 172
File I/OJSR 75
XMLJSR 280
Security & TrustJSR 177 subset
MessagingJSR 120
LocationJSR 179
Robust Multi-tasking
Standardized Components
HTTP Client API
System ConfigurationAPI
MEEP 8 (JSR 361) Advanced Security Enhanced Connectivity Footprint Scalability
JSON API
OAuth 2.0 API
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java ME Embedded SegurançaPilares de segurança
1. Trust Model – Autenticação todos os dominos de segurança e componentes
2. Runtime Security– Execução sandboxed segurança carregando o código, verificando, e strong data
typing
– Todo o acesso a recursos e data e precisamente controlado através de permissões.
3. Security Services APIs– Cryptographia Avançada e Public Key Infrastructure (PKI)
– Suporta os mais novos padrões de comunicação segura
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |21
Importante características para IoTO que faz um disposto bom para Internet das coisas
Gerencia remota
Conexão com Internet
Segurança
Portabilidade
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |22
Onde Java ME poderia melhorTotalmente na minha opinião
Falta de referencia na Internet (google)
Começo não foi tão fácil (Arduino é fácil)
SDK não esta disponível no Mac
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME Embedded 8 Demo
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Background: Carro conectado com Java 8 ME
Satellite
Cellular
Carrier Telematics Services
Manufacturer CRM/VRM
Java ME 8 Platform for In-Vehicle IoT Services• Java deployed on wireless modem, on-board
communication unit or in car gateway • Connected with in-car systems and components• Enables smart, flexible, value-add software services
Consumer Portal
• Safety and Security Services• Navigation Services• Location Based Services• Infotainment Services• Remote Diagnostics
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Car Manufacturer
Rental Car with Java Platform
RentalCompany
RentalCustomer
Monitoring& Alerts
Demo Use Case: Rental Car Driving MonitoringCustom End-to-End Value-Add Telematics Service
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Raspberry Pi model B+
STM32429I-EVAL
Freescale K64 Freedom
Demo case with Network connection and power
Demo laptop connected with WiFi
110/220v
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME Embedded 8.2
27
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME Embedded 8.2
• Bem melhor uso de RAM em pequenas platformas MCU
–Memória footprint mais que duplicou para aplicações JavaNa FRDM-K64F (256 KB RAM total) approx. 150 KB RAM livres (era 60 KB na 8.1)
– Abrindo a porta para aplicações mais avançadas
• Melhor segurança e funcionalidades de comunicação– DTLS client socket, pre-shared Key (PSK) suporte, crypto H/W acceleration (on
supported platforms)
• Melhor Device I/O API
– Nova versão 1.1 melhor a estabilidade a periféricos e aumenta cobertura.
28
Principais novidades (1)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME Embedded 8.2
• Melhor deployment e atualização de aplicações
–Melhor preparação de componentes de software
– Diminui a necessidade de atualizações
• Other melhorias– Performance, configuração, usabilidade.
29
Principais novidades (2)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME Embedded 8.2
• Raspberry Pi (ARM/Linux)
– Binary on OTN, source for OJPI partners
• Freescale FRDM-K64F (Cortex-M4/mbed OS), Developer Preview
– Binary on OTN
• Freescale TWR-K70F120M (Cortex-M4/MQX OS ready)– Source for OJPI partners
• Foundation support for ARM CMSIS and STM32F4XX + STM32F7XX
• Windows X86 and Linux X86 runtime emulations
– Binary via ME SDK, source for OJPI partners
30
Plataformas suportadas
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME Embedded 8.3
• Raspberry Pi (ARM/Linux)
– Binary on OTN, source for OJPI partners
• STMicroelectronics STM32429I-EVAL (CortexM4/RTX)
– Binary on OTN
• STMicroelectronics 32F746GDISCOVERY (Cortex-M7/RTX) DP– Binary on OTN
• Intel Galileo Gen. 2 (Linux/x86) Developer Preview
31
Plataformas suportadas
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME Embedded 8.3 Release: Highlights
• Enhanced Oracle IoT Cloud Service support–Out-of-the-Box pre-integrated, pre-tested, ready-to-use
• Increased range of target platforms– Added support for STM F4/F7, Intel
– Configurable binaries supporting a range of platforms within a device family
• Other new features–Over-the-Air update of Java runtime
–New cipher suites and security enhancements
– Bluetooth LE support
–more …
33
Planned release: H1, 2016
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Java ME SDK 8.3 Release: Highlights
• Improved productivity for IoT development
– Pre-integrated Oracle IoT CS libraries and IoT vertical application templates
• Development in the Cloud
– New support for Oracle Developer Cloud and web-based IDE
• Other Features and Improvements–Maven & Gradle support
– Headless emulator for and cloud-based development and automated testing
– Usability improvements
34
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 35
Java ME Embedded Progress
20162015 2017
Java ME Embedded 8.2 (Sep 10, 2015)• Up to double free application memory on MCU platforms
• Added security features (DTLS sockets, PSK, crypto H/W)
• Improved pre-provisioning and software updates
• Architectural support for CMSIS platforms
• Windows/Linux (emulation), Linux/ARM (RasPi), Cortex-M3/M4 (FS K64, K70)
Java ME SDK 8.2• Productivity enhancements, new heap analyzer tool
• Added desktop Linux support
Java ME Embedded 8.3 (H1 2016)• Increased range of target platforms: STM F4/F7, Intel
• Pre-integrated IoT CS support
• New features and reduced time-to-market for embedded and IoT solutions
• Footprint optimizations
Java ME SDK 8.3 (H1 2016)• Improved productivity for IoT/edge development (bundled libraries and templates)
• Initial support for cloud-based development
Java ME Embedded 9 (H2 2016)• Increased alignment between Java ME and SE
• Advanced IoT CS integration
• Additional ports on commercial/IoT embedded platforms
Java ME SDK 9 (H2 2016)• Enhanced cloud-based and tooling-driven software development
• Productivity/usability improvements
Java ME Embedded 8.1 Developers Preview STM (April 2015)• STM32F429I-EVAL support (based on CMSIS)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Summary/Call to ActionSubtitle
36
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java ME Embedded 8: Enabling the Intelligent Edge Accelerating Developer Innovation and IoT Deployments
37
Embedded-Ready
Oracle IoT Cloud
Service
JavaDevelopers
Intelligent Edge Partners
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Summary / Call to Action
• The Internet of Things needs intelligence at the edge
• Oracle Java ME Embedded has a rich set of out-of-the-box features making it easy to
– Connect securely to the cloud
– Deploy intelligence to the edge
– Build more valuable end-to-end IoT solutions
• Call to Action
– Download Oracle Java ME Embedded 8.2 today and try it out
– Leverage your Java skills to harness the Opportunities in IoT!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Resources
• Oracle Java ME Embedded 8.2 Overview and Download:
– oracle.com/technetwork/java/embedded/javame/embed-me/overview/index.html
• All Java ME documentation
– Release Notes, Getting Started Guides, etc
– docs.oracle.com/javame/8.2/
• Blogs
– https://blogs.oracle.com/javame
– https://terrencebarr.wordpress.com/