©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
A Internet das Coisas e o
futuro: Java ME 8 e
adiante!
The Developer’s Conference 2014
Leonardo Lima – V2COM (llima@v2com.mobi)
@leomrlima
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Introdução
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Sobre o Leonardo
•  Gerente de desenvolvimento de software na V2COM
•  Representante da V2COM no JCP-EC: Java Community
Process – Executive Committee
•  Spec Lead da JSR 363 – Units of Measurement
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
•  V2COM é um provedor líder na America
Latina de tecnologias para o Smart Grid,
com desenvolvimento de hardware e
software da solução fim-a-fim, além de
serviços de suporte, operação e análise
para reduzir disperdício e melhorar a
eficiência de distribuidoras como
Eletropaulo e Sabesp
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
•  Prêmio 2013 Java Business Innovation
Award
•  Membro do JCP-EC, nomeado e
ratificado.
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
O passado...
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java (ME?)
•  O Java começou como sistema para embarcados!
•  Muita gente só conhece Java ME para celulares…
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
O presente!
A (r)evolução Java ME 8
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
A situação atual
•  Poder de processamento aumentando cada vez mais em
processadores cada vez menores!
•  Cada vez mais Coisas estão sendo conectadas à Internet,
porém banda e disponibilidade ainda são questões abertas
•  Tempo de mercado e desenvolvimento precisam ser cada vez
mais curtos!
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java ME 8
•  Lançamento em Abril/2014
•  Java ME 8 é o “irmãozinho” do Java SE 8
•  Uma atualização muito bem vinda…
•  Portabilidade de aplicações e bibliotecas entre SE e ME
•  A escolha entre ME e SE é entre tamanho e funcionalidade
•  Podemos chegar até 128 KB RAM, 1 MB Flash/ROM!
•  Habilitar qualquer programador Java a ser programador para
sistemas embarcados!
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java ME 8 – APIs
•  Comunicações sem fio (celular, por exemplo)
•  I/O de dispositivos
•  Framework Genérico de Conexões
•  Mensageria
•  Localização
•  Web Services
Java	
  SE	
  8	
  
	
  
	
  
	
  
	
  
	
  
	
  
Java	
  ME	
  8	
  (CLDC	
  8)	
  
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java ME 8 – Novidades da Linguagem
•  Generics
•  Foreach
•  Autoboxing
•  Enums
•  Annotations
•  String in Switches
•  Try with resources
•  Java NIO
•  Logging
•  StringBuilder
•  EventObject e EventListener
•  Multi-catch
•  Collections!
•  List, Map, Set, Iterator...
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java ME 8 – A plataforma
•  Software provisioning
•  Software management
•  Application concurrency (MVM)
•  Inter-application communication (IMC)
•  Events
•  Service Provider/Consumer pattern
•  Shared Libraries (LIBlets)
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java ME 8 – Orientado a Serviços
•  Um Serviço é um conjunto bem definido de classes e
interfaces, implementado por um Provedor
•  Um serviço pode ser consumido por diversos consumidores
•  Serviços e Consumidores são declarados, e a plataforma
resolve as dependências
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java ME 8 – API de dispositivos
•  Peripheral abstraction interface
•  General Purpose Input/Output
(GPIO)
•  Inter-Integrated Circuit Bus
(I2C)
•  Serial Peripheral Interface Bus
(SPI)
•  Analog/Digital conversion
•  Universal Asynchronous
Receiver/ Transmitter (UART)
•  Memory-Mapped Input/Output
•  AT Command Interface
•  Watchdog
•  Pulse counter
•  Pulse Width Modulation (PWM)
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java ME 8 – Funcionalidades não suportadas do SE 8
•  Reflection
•  Serialization
•  JNI
•  InvokeDynamic/Lambda
•  Runtime annotations
•  Thread groups
•  Concurrency utilities
•  Math Restrito (sem
BigDecimal)
•  Segurança Restrita
•  Collections Restrito (sem
Sorted)
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Java ME 8 – Tente agora
•  Suporte para Oracle Java ME Embedded 8 for Raspberry Pi
(ARM 11/Linux) and Qualcomm IoE (ARM9/Brew MP)
•  http://www.oracle.com/technetwork/java/embedded/javame/
embed-me/overview/javame-embedded-overview-2148916.html
•  Outras plataformas estão em desenvolvimento também
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
O futuro!!
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
JSR 363 – Unidades de Medida
•  API para a Internet das Coisas e sensores
•  Projeto aberto, liderado pela V2COM, Werner Keil e Jean-Marie
Dautelle
•  Apoio do SouJava no porting para o Java Se 8
•  Alvo: Java ME 8
•  No lugar de termos long, float, teremos Temperature, Distance
e afins!
•  Então, não vai ser mais possível somar temperatura e distância, pois
isso será typesafe!
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Roadmap
•  Java 8 – 2014
•  Releases de ME e SE Embedded
•  Java 9 – 2016
•  Modularidade baseado no JigSaw
•  Ainda mais convergência da API – liberdade de escolha e migração de
ambiente!
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Diversidade de equipamentos
•  Previsões de 20, 30, 50 bilhões de dispositivos conectados na
rede
•  Sua torradeira, porta, armário, geladeira, óculos…
•  E isso já começou! Embarque logo nessa!
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Q?
©	
  2002	
  -­‐	
  2013	
  V2COM	
  -­‐	
  Hardware	
  +	
  So5ware.	
  All	
  rights	
  reserved	
  
Obrigado!
llima@v2com.mobi
www.v2com.mobi
@leomrlima

A internet das coisas e o futuro - Java ME 8 e adiante!

  • 1.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   A Internet das Coisas e o futuro: Java ME 8 e adiante! The Developer’s Conference 2014 Leonardo Lima – V2COM (llima@v2com.mobi) @leomrlima
  • 2.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Introdução
  • 3.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Sobre o Leonardo •  Gerente de desenvolvimento de software na V2COM •  Representante da V2COM no JCP-EC: Java Community Process – Executive Committee •  Spec Lead da JSR 363 – Units of Measurement
  • 4.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   •  V2COM é um provedor líder na America Latina de tecnologias para o Smart Grid, com desenvolvimento de hardware e software da solução fim-a-fim, além de serviços de suporte, operação e análise para reduzir disperdício e melhorar a eficiência de distribuidoras como Eletropaulo e Sabesp
  • 5.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   •  Prêmio 2013 Java Business Innovation Award •  Membro do JCP-EC, nomeado e ratificado.
  • 6.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   O passado...
  • 7.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java (ME?) •  O Java começou como sistema para embarcados! •  Muita gente só conhece Java ME para celulares…
  • 8.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   O presente! A (r)evolução Java ME 8
  • 9.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   A situação atual •  Poder de processamento aumentando cada vez mais em processadores cada vez menores! •  Cada vez mais Coisas estão sendo conectadas à Internet, porém banda e disponibilidade ainda são questões abertas •  Tempo de mercado e desenvolvimento precisam ser cada vez mais curtos!
  • 10.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java ME 8 •  Lançamento em Abril/2014 •  Java ME 8 é o “irmãozinho” do Java SE 8 •  Uma atualização muito bem vinda… •  Portabilidade de aplicações e bibliotecas entre SE e ME •  A escolha entre ME e SE é entre tamanho e funcionalidade •  Podemos chegar até 128 KB RAM, 1 MB Flash/ROM! •  Habilitar qualquer programador Java a ser programador para sistemas embarcados!
  • 11.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java ME 8 – APIs •  Comunicações sem fio (celular, por exemplo) •  I/O de dispositivos •  Framework Genérico de Conexões •  Mensageria •  Localização •  Web Services Java  SE  8               Java  ME  8  (CLDC  8)  
  • 12.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java ME 8 – Novidades da Linguagem •  Generics •  Foreach •  Autoboxing •  Enums •  Annotations •  String in Switches •  Try with resources •  Java NIO •  Logging •  StringBuilder •  EventObject e EventListener •  Multi-catch •  Collections! •  List, Map, Set, Iterator...
  • 13.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java ME 8 – A plataforma •  Software provisioning •  Software management •  Application concurrency (MVM) •  Inter-application communication (IMC) •  Events •  Service Provider/Consumer pattern •  Shared Libraries (LIBlets)
  • 14.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java ME 8 – Orientado a Serviços •  Um Serviço é um conjunto bem definido de classes e interfaces, implementado por um Provedor •  Um serviço pode ser consumido por diversos consumidores •  Serviços e Consumidores são declarados, e a plataforma resolve as dependências
  • 15.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java ME 8 – API de dispositivos •  Peripheral abstraction interface •  General Purpose Input/Output (GPIO) •  Inter-Integrated Circuit Bus (I2C) •  Serial Peripheral Interface Bus (SPI) •  Analog/Digital conversion •  Universal Asynchronous Receiver/ Transmitter (UART) •  Memory-Mapped Input/Output •  AT Command Interface •  Watchdog •  Pulse counter •  Pulse Width Modulation (PWM)
  • 16.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java ME 8 – Funcionalidades não suportadas do SE 8 •  Reflection •  Serialization •  JNI •  InvokeDynamic/Lambda •  Runtime annotations •  Thread groups •  Concurrency utilities •  Math Restrito (sem BigDecimal) •  Segurança Restrita •  Collections Restrito (sem Sorted)
  • 17.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Java ME 8 – Tente agora •  Suporte para Oracle Java ME Embedded 8 for Raspberry Pi (ARM 11/Linux) and Qualcomm IoE (ARM9/Brew MP) •  http://www.oracle.com/technetwork/java/embedded/javame/ embed-me/overview/javame-embedded-overview-2148916.html •  Outras plataformas estão em desenvolvimento também
  • 18.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   O futuro!!
  • 19.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   JSR 363 – Unidades de Medida •  API para a Internet das Coisas e sensores •  Projeto aberto, liderado pela V2COM, Werner Keil e Jean-Marie Dautelle •  Apoio do SouJava no porting para o Java Se 8 •  Alvo: Java ME 8 •  No lugar de termos long, float, teremos Temperature, Distance e afins! •  Então, não vai ser mais possível somar temperatura e distância, pois isso será typesafe!
  • 20.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Roadmap •  Java 8 – 2014 •  Releases de ME e SE Embedded •  Java 9 – 2016 •  Modularidade baseado no JigSaw •  Ainda mais convergência da API – liberdade de escolha e migração de ambiente!
  • 21.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Diversidade de equipamentos •  Previsões de 20, 30, 50 bilhões de dispositivos conectados na rede •  Sua torradeira, porta, armário, geladeira, óculos… •  E isso já começou! Embarque logo nessa!
  • 22.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Q?
  • 23.
    ©  2002  -­‐  2013  V2COM  -­‐  Hardware  +  So5ware.  All  rights  reserved   Obrigado! llima@v2com.mobi www.v2com.mobi @leomrlima