Java, Internet das Coisas, Things API e Arquiteturas de Inovação

2,056 views

Published on

Slides utilizados no QCONSP 2013 e no É Dia de Java 2013 em São Carlos na UFSCAR

Published in: Education
1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
2,056
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
72
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide
  • Java is available In several configurations, specifically optimized for small, medium, or large hardware platforms.
  • Java embedded technologies are used in a wide variety of embedded devices. This list is just a small sampling of devices that are currently using Java ME and SE Embedded.
  • we are leading the charge in embedded  In parallel, bringing the specs forward to enable the ecosystem.   Next year, updating specs in SE8 & ME8,  enable alignment between the 2 platforms  ME will be a proper subset of SE.   JavaME releases will be synchronized with SE release.  update release for JES and ME Embedded * ME SDK integrating enterprise middleware technology such as identity management & event processing capabilities  into Java embedded platforms.  Java 9., developers will have even more flexibility with modularity with Jigsaw.
  • Java, Internet das Coisas, Things API e Arquiteturas de Inovação

    1. 1. Homenagem ao Alberto Fabiano (TechBerto)
    2. 2. Agenda  Internet das Coisas  Java para Internet das Coisas  Things API  Arquiteturas de Inovação
    3. 3. Progresso da Internet 1. Computadores em Universidades 2. Computadores Pessoais 3. Servidores Corporativos 4. Dispositivos Pessoais 5. Coisas Pessoais 6. Coisas "Impessoais"
    4. 4. Internet das Coisas Coisas na Internet...
    5. 5. Oportunidades da Internet das Coisas  Área de saúde  Supply chain  Indústria automotiva  Medidores Inteligentes  Agricultura  Monitores Ambientais  Smart Building / Smart City / Smart qualquer coisa Muitos dispositivos, inúmeras oportunidades:
    6. 6. Internet das Coisas  50 bilhões de dispositivos gerando dados na Internet;  Embarcados com capacidade de PC: server-side no embarcado, filas, complex event, novos protocolos;  Segurança é fator ainda mais crítico;  Estratégias de atualização e manutenção de legados podem gerar impactos financeiros de grande proporção;  Embedded-Cloud o novo Client-Server! Novos desafios:
    7. 7. Java e a Internet das Coisas 2020: •50B de dispositivos •4B de pessoas conectadas Enterprise Data & Applications Cloud para dispositivos embarcado s Cloud para dispositivos embarcado s Meters Smart Appliances & electronics Personal Devices Med-Large Embedded / Multi- function Devices VoIP Comm Industrial controls / Network Appliances Management / Monitoring / Operations Sensors / Microcontrollers Connected Vehicles
    8. 8. Pequeno Medium Embedded Grande Platform Footprint Device CPU/ GPU/I-O 50KB-1MB 1MB-10MB 10MB-100MB Plataforma Java Embedded
    9. 9. Java Embedded Dispositivos de exemplo com Java Pequeno • Leitores RFID • Tarifadores de Estacionamento • Leitores Inteligentes • Caneta Inteligente Médio • Routeadores & Switches • Devices para Armazenamento • Network Management Systems • Sistemas de automação fábrica • Sistemas de segurança Grande • Impressoras multi- funcionais • ATMs e sistemas de POS • In-Flight Entertainment Systems • Sistema votação eletrônica • Imagens médica
    10. 10. Java comparado com outras plataformas Java Nativo HTML Flash / AIR Suporte a apps. headless Sim Sim Não Não Segurança sandbox Sim Não Não Não Múltiplos processos Sim Sim Não Não Comunidade de desenvolvedores Grande Fragmentada Grande Grande Escalabilidade Excelente Excelente Pobre Pobre Desempenho Muito bom Excelente Pobre Pobre Capacidade de atualização Excelente Razoável Boa Razoável
    11. 11. Java Embarcado
    12. 12. Java ME Embedded  Internet das Coisas com 3G + Java ME + GPIO  Manutenção, debug, OTA, ferramentas  Baixo custo no Brasil: U$ 5 para larga escala!  Indústria, protótipos e "Do It Your Self"  BubbleBoard Gemalto Geração Java ME pós-celular
    13. 13. Raspberry Pi  Computador compacto de R$ 150,00  ARM11 700mhz / 512MB memória RAM  SD Card  Vídeo por HDMI ou composto  Ethernet e 2 USBs  GPIO: UART, I2C, SPI, digitais  Audio  LCD / Camera Computador pequeno, portátil e barato!
    14. 14. Raspberry Pi Faça você mesmo, protótipos e indústria
    15. 15. Java SE Embedded  Arquitetura máquina virtual amplamente otimizada para ARM  Suporte a hard-float no JDK 1.8  Todos os benefícios da JVM SE no seu projeto embarcado  Debug, distribuição, manutenção e interoperabilidade  Multi-plataforma real: ARM, Intel, Atmel e outros fabricantes! Otimizado para ARM e devices como Raspberry Pi
    16. 16. Java Embedded Suite 7  Versão do Java EE para sistemas embarcados  Uma nova geração de paradigmas client-server  Gateway infrared, zigbee, rfid, rs232, rs485, etc. para TCP/IP  Sistemas de cache, persistência, processamento, integração e segurança  REST / JPA / Servlet  Seu "firmware" como server! O server-side no seu projeto embarcado
    17. 17. Java FX  Alta produtividade para interfaces ricas com seu conhecimento Java  Amplo investimento na otimização de GPUs na máquina virtual  Multi-plataforma real em interfaces gráficas: do Raspberry Pi ao MacOS sem nenhuma alteração de código  Componentes e bibliotecas para animações, transformadas / análise de espectros  Ferramentas WYSIWYG para desenho de telas Interfaces MUITO ricas no seu projeto embarcado
    18. 18. Oracle Event Processing Embedded  Complex Event no seu sistema embarcado!  Dados + persistência = base de dados  Dados + Complex Event = base de informação  Base de Informaçao + Complex Event = inteligência!! Dados sendo transformados em informação
    19. 19. Arquitetura para Embarcados  Embarcados com processamento Java server-side podem gerar informações consistentes, não apenas dados;  Plataforma Java permite fácil integração de diferentes tipos de microcontroladores via I2C, SPI, UART, etc.  Arquitetura Java Consistente end-to-end: ferramentas IDE, remote debug, trace, stress-test, teste unitário, remote class-loading, Java WebStart e todo ecosistema Java Desktop no seu projeto embarcado! "Server is everywhere!"
    20. 20. Roadmap Embedded Java 2015201520122012 20132013 20142014 Java Embedded Suite 7 •SE Embedded 7 •GlassFish for Embedded •Java DB Java Embedded Suite 7 •SE Embedded 7 •GlassFish for Embedded •Java DB Java SE Embedded 8 • Complete JVM convergence • Additional compact profiles • JavaFX for Embedded Java Embedded Suite 8 • Additional enterprise middleware integrations • Flight Recorder/Mission Control Java SE Embedded 8 • Complete JVM convergence • Additional compact profiles • JavaFX for Embedded Java Embedded Suite 8 • Additional enterprise middleware integrations • Flight Recorder/Mission Control Java ME Embedded 3.2 •Microcontroller support •Device Access APIs Java ME SDK 3.2 •Embedded emulator •Eclipse integration Java ME Embedded 3.2 •Microcontroller support •Device Access APIs Java ME SDK 3.2 •Embedded emulator •Eclipse integration Java Embedded 9 •JDK9 •Modularity based on Jigsaw •Additional Embedded device APIs •Ease of Development Java Embedded 9 •JDK9 •Modularity based on Jigsaw •Additional Embedded device APIs •Ease of Development Java ME Embedded 3.3 •Enhanced device access •Footprint optimization & configuration tools •Improved developer tooling & experience Java ME Embedded 3.3 •Enhanced device access •Footprint optimization & configuration tools •Improved developer tooling & experience Java ME Embedded 8 •Java ME 8 •Standardized Embedded API •New on-device debugging architecture NetBeans IDE 8 •Java ME/SE 8 Embedded support Java ME Embedded 8 •Java ME 8 •Standardized Embedded API •New on-device debugging architecture NetBeans IDE 8 •Java ME/SE 8 Embedded support NetBeans IDE 7.2 •ME Embedded support NetBeans IDE 7.2 •ME Embedded support NetBeans IDE 9 •Java ME/SE 9 Embedded support •Jigsaw support NetBeans IDE 9 •Java ME/SE 9 Embedded support •Jigsaw support
    21. 21. Things-API  http://github.com/vsenger/things-api  Facilita integração entre diferentes plataformas e tecnologias: – Java SE, FX, EE, ME, Embedded – Android – Arduino – Raspberry Pi e outros single board computer Internet of Things API para Java, Arduino e Android
    22. 22. Things-API Evolução do jHome Automation: Duke's Choice Award 2011
    23. 23. Things-API Genérica, sintaxe simples e fácil de usar
    24. 24. Things / Device / Component Três principais objetos  Abstração Simples: – Device: é a coisa – Componentes: parte da coisa  Componente = Input / Output: – Input = Sensor : luz, temperatura, presença, aceleração; – Output = Atuador : motor, led, relé, som;  Sensores = leitura  Atuadores = escrita
    25. 25. Arquiteturas de Inovação Novos dispositivos, novas entradas, novas arquiteturas  "Somos todos servidores"  Voz, gestos, faces e sensores como entrada de dados  Respostas audíveis, parâmetros por voz e controle total por celular  Embarcado-Centralizador-Nuvem: o novo 3 tier?  Somos todos "smart"  API + DSL: um caminho sem volta!
    26. 26. Seu próximo projeto?
    27. 27. DEMO  Raspberry Pi + 6 relés + Atmega328 + sensor luz + temperatura + humidade + controle iluminação RGB  Raspbian: Linux para Raspberry Pi  Java Embedded Suite 7: interface via REST oferece dados de sensores e permite manipulação de atuadores  Java DB: persistência local até encontrar rede / nuvem;  CEP: Complex Event para transformar dados de sensores em informações, ações e reações; Smart Building / Home Automation
    28. 28. DEMO: Raspberry Pi + Glassfish + Arduino
    29. 29. DEMO
    30. 30. Agenda Globalcode  Curso Arquiteto de Aplicações Enterprise" – 14 de setembro – SP Curso Oficial Oracle preparatório para Certificação OCEA)  Android Hacking Weekend – 21 e 22 de setembro - SP  The Developers Conference - 25 e 26 de outubro – POA
    31. 31. Q&A  Vinicius Senger – vinicius@globalcode.com.br  Twitter @vsenger  github.com/vsenger/things-api  www.globalcode.com.br

    ×