SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
v
setembro de 2009
Java além das aplicações
comerciais convencionais
Leonardo Simberg
Solution IT Architect – IBM
Professor Pós-Graduação - IBTA
leosimberg@gmail.com
2
Just Java
O que é uma aplicação Comercial Tradicional?
3
Just Java
Tecnologias normalmente utilizadas
Desktop
(Java FX, SWF,…)
Web
(JSF, Java FX,..)
Mobile
(JME,…)
Dados
(Derby, Hibernate,..)
Integração
(WS,REST, EAI…)
4
Just Java
Mas Java é muito mais! Veja alguns exemplos:
Desktop
(Java FX, SWF,…)
Web
(JSF, Java FX,..)
Mobile
(JME,…)
Dados
(Derby, Hibernate,..)
Integração
(WS,REST, EAI…)
Real Time
(JSR 1 – RTSJ)
Robótica
(MAX,…)
Visualização
(Java 2D, Java 3D,..)
Inteligencia
Artificial
(JOONE,…)
Java Card
SOA
(SCA, SDO,…)
Processos
(BPM, Workflow,..)
Cloud
Computing
(SAS,..)
Sistemas
Distribuídos
(Grid, Javaspace,…)
Orientação
a aspectos
(AspectJ,…)
TV Digital
(Java TV, Xlet,…)
Blu-Ray
(BDJ)
Games 3D
(JMonkey, JOGL,...)
Sistemas
Embarcados
(JSTAMP,SPOT,..)
Massivamente
Paralela
(HPC, Concurrent,…)
5
Just Java
Mas Java é muito mais! Alguns exemplos:
Desktop
(Java FX, SWF,…)
Web
(JSF, Java FX,..)
Mobile
(JME,…)
Dados
(Derby, Hibernate,..)
Integração
(WS,REST, EAI…)
Real Time
(JSR 1 – RTSJ)
Robótica
(MAX,…)
Visualização
(Java 2D, Java 3D,..)
Inteligencia
Artificial
(JOONE,…)
Java Card
SOA
(SCA, SDO,…)
Processos
(BPM, Workflow,..)
Cloud
Computing
(SAS,..)
Sistemas
Distribuídos
(Grid, Javaspace,…)
Orientação
a aspectos
(AspectJ,…)
TV Digital
(Java TV, Xlet,…)
Blu-Ray
(BDJ)
Games 3D
(JMonkey, JOGL,...)
Sistemas
Embarcados
(JSTAMP,SPOT,..)
Massivamente
Paralela
(HPC, Concurrent,…)
6
Just Java
Blu-ray Disc
7
Just Java
Blu-ray Disc – O que é?
• Novo formato de mídia de óptica para eletrônicos de consumo,
computadores e vídeo games (PS3).
• Excelente qualidade de áudio e vídeo:
• Alta capacidade
• 25GB (single layer) / 50GB (double layer)
• Futuramente 200GB (multi-layer)
352x240TV analógica:
720x480DVD:
1920x1080Blu-ray Disc:
8
Just Java
Uma Plataforma -> Dois modelos
• High-Definition Movie (HDMV) – Modelo criado através da extensão de
funcionalidades do DVD.
• Blu-ray Disc Java (BD-J) – Modelo baseado em uma plataforma
completamente programável com suporte a conectividade e novos modos de
interação.
* Todos os aparelhos compatíveis com Blu-ray
devem suportar ambos os modelos
9
Just Java
Visão geral do Blu-ray Disc Java (BD-J)
10
Just Java
Profiles do Blu-ray
11
Just Java
Alguns títulos com o BD-J
12
Just Java
Menus mais elaborados
* Menus podem ser abertos “em cima” do filme em execução sem interrupção!
13
Just Java
Criação de jogos
Use the embedded cross-hair to shoot either heroes or foes, in this rather lame, early game
from Fox Studios for The League of Extraordinary Gentlemen. © 20th Century Fox Studios.
14
Just Java
Criação de jogos
Ratatouille: Gusteau's Gourmet Game - © The Walt Disney Company.
15
Just Java
Algumas idéias de uso para o BD-J
• Menus elaborados
• Interatividade In-movie
• Jogos
• Persistência de Informações
• Download de conteúdo
• Comercio eletrônico associado com o filme
• Download de legendas
• Eventos sincronizados
• Compartilhamento de experiências em comunidades
• Versatilidade de design
• Internet Banking
16
Just Java
Impactos
• Um mercado potencial de mais de 1 Bilhão de aparelhos novos rodando a
Máquina Virtual Java (JVM);
• Milhares de títulos que podem ser incrementados com Java, abrindo um grande
mercado para desenvolvedores;
• Uma nova plataforma para comercio eletrônico interativo, onde você pode
comprar os objetos que estão aparecendo no filme!
• Novo método de integração entre os usuários sem a necessidade de um
desktop.
17
Just Java
Referências
• Hollywood Studios and Blu-ray Disc Interactivity Using BD-J; Malik, Sumit;
http://www.blueboard.com/bluray/pdf/2007_5_23_tv_kickoff.pdf
• Blu-ray BD-J Application Development using Java ME;
http://www.blueboard.com/bluray/
18
Just Java
Jogos 3D em
Java
19
Just Java
Por que um jogo em Java deveria ser assim?
20
Just Java
Se ele pode ser assim?
21
Just Java
Principais mitos sobre jogos 3D em Java
• O Java é muito lento para ser usado em jogos 3D!
ERRADO! A partir do Java 1.4.2 o Java resolveu os principais problemas de
desempenho, além de grande parte do “trabalho pesado” do processamento nos jogos
é feito pelo hardware, principalmente pelas placas gráficas.
• Falta de qualidade visual e sonora!
ERRADO! O Java contêm APIs gráficas poderosas como Java 3D e Java 2D, além de
ser integrado com OpenGL e DirectX. E possui recursos poderosos de audio através da
integração com o OpenAL.
Pergunta: Será que Java conseguirá a curto prazo ser
mais poderoso ou igualar as Engines em C, como por
exemplo a Unreal? Por que?
22
Just Java
Arquitetura típica de um jogo 3D em Java
Código do
Jogo
(Personalisado)
API de
Cálculos Físicos
Nativa
(ODE)
API Áudio
Nativa
(OpenAL)
Interface
de Entrada
Nativa + Java
(JInput)
API Gráfica
Nativa
(OpenGL)
Wrapper
Java
+
Utilitários
(LWJGL)
Controle de
Jogo
(JMonkey)
Wrapper
Java
(JME-Physics)
23
Just Java
Exemplo de arquitetura de um jogo em Java
24
Just Java
JMonkey Engine DEMO
25
Just Java
Inteligência Artificial e outros facilitadores
Enquanto deixamos os gráficos e sons para bibliotecas especializadas em
C/Assembler, podemos nos preocupar com o enredo do jogo e a inteligência
artificial que pode ser desenvolvida de mais alto nível, como o Java.
Existem diversos algoritmos e api’s em java:
• JSR94 – Java Rule Engine (JESS, JBOSS DROOLS)
• JMonkey, LWJGL, JME-Physics
• Reconhecimento de Voz
• Reconhecimento de Vídeo e Movimento
• Sintetização de voz
• Comunicação
26
Just Java
Jogos MMOG (Massively Multiplayer Online Games)
• Grande quantidade de usuários simultâneos;
• Controle de interação entre usuários e objetos em um mesmo espaço;
• Gerenciamento de comunicação;
• Segurança;
• Velocidade;
• Tolerância a falhas;
• Baixa latência;
• Alta capacidade de processamento.
Servidor
central
27
Just Java
Projeto Darkstar
What is Project Darkstar?
Project Darkstar is software infrastructure that aims to simplify the development and
operation of massively scalable online games, virtual worlds, and social networking
applications. Originally created by Sun Microsystems, it is today advanced as an open
source project through the Project Darkstar Community.
What problems does Project Darkstar solve?
Project Darkstar is designed to help developers and operators avoid a range of serious, yet
typical, problems associated with massive scale online games today, including zone
overloading, data corruption, and server under-utilization. In addition, Project Darkstar will
enable developers to support new dimensions of play such as evolvable virtual worlds and
very large scale battlefields.
** Informações extraídas do site do projeto Darkstar, http://www.projectdarkstar.com/
28
Just Java
Impactos
• Um mercado cada vez mais crescente de jogos sendo desenvolvidos em Java,
tanto a parte 3D, como a parte server;
• Criação de interfaces mais ricas para os sistemas comerciais desenvolvidos em
Java;
• Avanço nas técnicas de Inteligência Artificial que podem ser utilizadas em
outras áreas, como por exemplo o Algorithm Trade no mercado de ações;
• Uso de mundos virtuais dos MMOGs para outros usos, como
gerenciamento/fechamento de compra e vendas de ações para Bolsas de Valores;
29
Just Java
Referências
• Creating Games on the Java™ Platform with the jMonkeyEngine; Slack, Joshua; Herlitz,
Rikard; http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-5711.pdf
• JMonkeyEngine; http://www.jMonkeyEngine.com
• Jogos 3D na Prática; Mundo Java; número 24
• Project Darkstar; http://www.projectdarkstar.com/
Editora Apress: http://www.apress.com/book/view/1590598172
Versão online: http://books.google.com/books?id=jL_yT-AZK-
8C&pg=PA10&lpg=PA10&dq=java+3dgames&source=web&ots=Ipg5xX
2Ahx&sig=LmjLd_DitZUr-
zz4ThkCatc8nE&hl=en&sa=X&oi=book_result&resnum=9&ct=result
30
Just Java
Sistema Embarcados
com Java
31
Just Java
O que é um sistema embarcado (Embedded System)?
“Um sistema embarcado (ou sistema embutido) é um sistema microprocessado no
qual o computador é completamente encapsulado ou dedicado ao dispositivo ou
sistema que ele controla. Diferente de computadores de propósito geral, como
o computador pessoal, um sistema embarcado realiza um conjunto de tarefas
predefinidas, geralmente com requisitos específicos. “; Wikipedia
32
Just Java
Sistemas prontos para uso: JStamp
• JStamp é um produto da Systronix pronto para uso, ele contem o Hardware e software
(VM) já implementado em um dispositivo comercial de aproximadamente $150 pronto para
uso. Este pode processar mais de 3 milhões de byte codes Java por segundo.
33
Just Java
Sun Spot
• Dispositivo programável em Java composto por
camadas
• A camada de sensor pode ser trocada, existe uma
placa demo que contém os seguintes elementos:
• Acelerômetro
• Sensor de luz
• Sensor de temperatura
• Botões do tipo push buttons
• 8 LEDs RGB
• 6 Entradas analógicas
• 5 Entradas/Saídas de uso geral
• 4 Saídas de alta corrente
34
Just Java
Exemplo de Uso Avançado: Perrone Robotics
35
Just Java
Vários Sun Spot criam uma rede mesh
36
Just Java
Máquina Virtual para sistema embarcado da SUN: SquawK
37
Just Java
Máquina Virtual para sistema embarcado: NanoVM
• The NanoVM is a java virtual machine for the Atmel AVR ATmega8 CPU, the member of
the AVR CPU family used e.g. in the DLR Asuro robot, manufactured by AREXX
engineering. With the NanoVM, the Asuro can be programmed in the popular Java language
using the standard Sun JDK. The NanoVM and its tools are distributed under the GPL and
can be used on other AVR based systems as well.
38
Just Java
Impactos
• Criação novas soluções cada vez mais baratas, inteligentes e conectadas;
• Junção de software e eletrônica, melhorando a interação dos aparelhos comuns
como Geladeira, Carro, Máquina de Lavar, Brinquedos até sistemas industriais
como Máquinas Operatrizes e Robôs;
• Um mercado crescente de desenvolvimento embarcados e Java é um grande
candidato, pois as aplicações estão ficando cada vez mais complexas, mais
conectadas e os microcontroladores estão cada vez mais rápidos;
• Desenvolvimento de novas ferramentas de desenvolvimento e metodologias;
39
Just Java
Referências
• Embedded Systems Glossary; Barr, Michael;
http://www.netrino.com/Embedded-Systems/Glossary
• The Nano VM;
http://www.harbaum.org/till/nanovm/index.shtml
• JStamp;
http://www.jstamp.com/
• Project Sun SPOT: A Java Technology-Enabled Platform for Ubiquitous Computing;
http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-
6495&yr=2008&track=javame
v
setembro de 2009
Java além das aplicações
comerciais convencionais
Leonardo Simberg
Solution IT Architect – IBM
Professor Pós-Graduação - IBTA
leosimberg@gmail.com

Weitere ähnliche Inhalte

Ähnlich wie Java alem das aplicacoes comerciais convencionais

Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoRegis Magalhães
 
Java, historico e futuro
Java, historico e futuroJava, historico e futuro
Java, historico e futuroFabiano Souza
 
Minicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseMinicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseNécio de Lima Veras
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavajesuinoPower
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveisJoão Gabriel Lima
 
Palestra PET.Com - Sistemas Embarcados
Palestra PET.Com - Sistemas EmbarcadosPalestra PET.Com - Sistemas Embarcados
Palestra PET.Com - Sistemas EmbarcadosPET Computação
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Fabrício Catae
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Filipo Mór
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro FrameworkIgor Kondrasovas
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Plataformas Para Desenvolvimento Em Celulares
Plataformas Para Desenvolvimento Em CelularesPlataformas Para Desenvolvimento Em Celulares
Plataformas Para Desenvolvimento Em CelularesAndré Otero
 

Ähnlich wie Java alem das aplicacoes comerciais convencionais (20)

Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 
Java e Software Livre
Java e Software LivreJava e Software Livre
Java e Software Livre
 
Java, historico e futuro
Java, historico e futuroJava, historico e futuro
Java, historico e futuro
 
Minicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseMinicurso de TotalCross e Litebase
Minicurso de TotalCross e Litebase
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 
Javafx
JavafxJavafx
Javafx
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveis
 
Hello World JavaFX
Hello World JavaFXHello World JavaFX
Hello World JavaFX
 
Palestra PET.Com - Sistemas Embarcados
Palestra PET.Com - Sistemas EmbarcadosPalestra PET.Com - Sistemas Embarcados
Palestra PET.Com - Sistemas Embarcados
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
.NET Open Source 2009
.NET Open Source 2009.NET Open Source 2009
.NET Open Source 2009
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro Framework
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Jme Games
Jme GamesJme Games
Jme Games
 
Plataformas Para Desenvolvimento Em Celulares
Plataformas Para Desenvolvimento Em CelularesPlataformas Para Desenvolvimento Em Celulares
Plataformas Para Desenvolvimento Em Celulares
 

Java alem das aplicacoes comerciais convencionais

  • 1. v setembro de 2009 Java além das aplicações comerciais convencionais Leonardo Simberg Solution IT Architect – IBM Professor Pós-Graduação - IBTA leosimberg@gmail.com
  • 2. 2 Just Java O que é uma aplicação Comercial Tradicional?
  • 3. 3 Just Java Tecnologias normalmente utilizadas Desktop (Java FX, SWF,…) Web (JSF, Java FX,..) Mobile (JME,…) Dados (Derby, Hibernate,..) Integração (WS,REST, EAI…)
  • 4. 4 Just Java Mas Java é muito mais! Veja alguns exemplos: Desktop (Java FX, SWF,…) Web (JSF, Java FX,..) Mobile (JME,…) Dados (Derby, Hibernate,..) Integração (WS,REST, EAI…) Real Time (JSR 1 – RTSJ) Robótica (MAX,…) Visualização (Java 2D, Java 3D,..) Inteligencia Artificial (JOONE,…) Java Card SOA (SCA, SDO,…) Processos (BPM, Workflow,..) Cloud Computing (SAS,..) Sistemas Distribuídos (Grid, Javaspace,…) Orientação a aspectos (AspectJ,…) TV Digital (Java TV, Xlet,…) Blu-Ray (BDJ) Games 3D (JMonkey, JOGL,...) Sistemas Embarcados (JSTAMP,SPOT,..) Massivamente Paralela (HPC, Concurrent,…)
  • 5. 5 Just Java Mas Java é muito mais! Alguns exemplos: Desktop (Java FX, SWF,…) Web (JSF, Java FX,..) Mobile (JME,…) Dados (Derby, Hibernate,..) Integração (WS,REST, EAI…) Real Time (JSR 1 – RTSJ) Robótica (MAX,…) Visualização (Java 2D, Java 3D,..) Inteligencia Artificial (JOONE,…) Java Card SOA (SCA, SDO,…) Processos (BPM, Workflow,..) Cloud Computing (SAS,..) Sistemas Distribuídos (Grid, Javaspace,…) Orientação a aspectos (AspectJ,…) TV Digital (Java TV, Xlet,…) Blu-Ray (BDJ) Games 3D (JMonkey, JOGL,...) Sistemas Embarcados (JSTAMP,SPOT,..) Massivamente Paralela (HPC, Concurrent,…)
  • 7. 7 Just Java Blu-ray Disc – O que é? • Novo formato de mídia de óptica para eletrônicos de consumo, computadores e vídeo games (PS3). • Excelente qualidade de áudio e vídeo: • Alta capacidade • 25GB (single layer) / 50GB (double layer) • Futuramente 200GB (multi-layer) 352x240TV analógica: 720x480DVD: 1920x1080Blu-ray Disc:
  • 8. 8 Just Java Uma Plataforma -> Dois modelos • High-Definition Movie (HDMV) – Modelo criado através da extensão de funcionalidades do DVD. • Blu-ray Disc Java (BD-J) – Modelo baseado em uma plataforma completamente programável com suporte a conectividade e novos modos de interação. * Todos os aparelhos compatíveis com Blu-ray devem suportar ambos os modelos
  • 9. 9 Just Java Visão geral do Blu-ray Disc Java (BD-J)
  • 12. 12 Just Java Menus mais elaborados * Menus podem ser abertos “em cima” do filme em execução sem interrupção!
  • 13. 13 Just Java Criação de jogos Use the embedded cross-hair to shoot either heroes or foes, in this rather lame, early game from Fox Studios for The League of Extraordinary Gentlemen. © 20th Century Fox Studios.
  • 14. 14 Just Java Criação de jogos Ratatouille: Gusteau's Gourmet Game - © The Walt Disney Company.
  • 15. 15 Just Java Algumas idéias de uso para o BD-J • Menus elaborados • Interatividade In-movie • Jogos • Persistência de Informações • Download de conteúdo • Comercio eletrônico associado com o filme • Download de legendas • Eventos sincronizados • Compartilhamento de experiências em comunidades • Versatilidade de design • Internet Banking
  • 16. 16 Just Java Impactos • Um mercado potencial de mais de 1 Bilhão de aparelhos novos rodando a Máquina Virtual Java (JVM); • Milhares de títulos que podem ser incrementados com Java, abrindo um grande mercado para desenvolvedores; • Uma nova plataforma para comercio eletrônico interativo, onde você pode comprar os objetos que estão aparecendo no filme! • Novo método de integração entre os usuários sem a necessidade de um desktop.
  • 17. 17 Just Java Referências • Hollywood Studios and Blu-ray Disc Interactivity Using BD-J; Malik, Sumit; http://www.blueboard.com/bluray/pdf/2007_5_23_tv_kickoff.pdf • Blu-ray BD-J Application Development using Java ME; http://www.blueboard.com/bluray/
  • 19. 19 Just Java Por que um jogo em Java deveria ser assim?
  • 20. 20 Just Java Se ele pode ser assim?
  • 21. 21 Just Java Principais mitos sobre jogos 3D em Java • O Java é muito lento para ser usado em jogos 3D! ERRADO! A partir do Java 1.4.2 o Java resolveu os principais problemas de desempenho, além de grande parte do “trabalho pesado” do processamento nos jogos é feito pelo hardware, principalmente pelas placas gráficas. • Falta de qualidade visual e sonora! ERRADO! O Java contêm APIs gráficas poderosas como Java 3D e Java 2D, além de ser integrado com OpenGL e DirectX. E possui recursos poderosos de audio através da integração com o OpenAL. Pergunta: Será que Java conseguirá a curto prazo ser mais poderoso ou igualar as Engines em C, como por exemplo a Unreal? Por que?
  • 22. 22 Just Java Arquitetura típica de um jogo 3D em Java Código do Jogo (Personalisado) API de Cálculos Físicos Nativa (ODE) API Áudio Nativa (OpenAL) Interface de Entrada Nativa + Java (JInput) API Gráfica Nativa (OpenGL) Wrapper Java + Utilitários (LWJGL) Controle de Jogo (JMonkey) Wrapper Java (JME-Physics)
  • 23. 23 Just Java Exemplo de arquitetura de um jogo em Java
  • 25. 25 Just Java Inteligência Artificial e outros facilitadores Enquanto deixamos os gráficos e sons para bibliotecas especializadas em C/Assembler, podemos nos preocupar com o enredo do jogo e a inteligência artificial que pode ser desenvolvida de mais alto nível, como o Java. Existem diversos algoritmos e api’s em java: • JSR94 – Java Rule Engine (JESS, JBOSS DROOLS) • JMonkey, LWJGL, JME-Physics • Reconhecimento de Voz • Reconhecimento de Vídeo e Movimento • Sintetização de voz • Comunicação
  • 26. 26 Just Java Jogos MMOG (Massively Multiplayer Online Games) • Grande quantidade de usuários simultâneos; • Controle de interação entre usuários e objetos em um mesmo espaço; • Gerenciamento de comunicação; • Segurança; • Velocidade; • Tolerância a falhas; • Baixa latência; • Alta capacidade de processamento. Servidor central
  • 27. 27 Just Java Projeto Darkstar What is Project Darkstar? Project Darkstar is software infrastructure that aims to simplify the development and operation of massively scalable online games, virtual worlds, and social networking applications. Originally created by Sun Microsystems, it is today advanced as an open source project through the Project Darkstar Community. What problems does Project Darkstar solve? Project Darkstar is designed to help developers and operators avoid a range of serious, yet typical, problems associated with massive scale online games today, including zone overloading, data corruption, and server under-utilization. In addition, Project Darkstar will enable developers to support new dimensions of play such as evolvable virtual worlds and very large scale battlefields. ** Informações extraídas do site do projeto Darkstar, http://www.projectdarkstar.com/
  • 28. 28 Just Java Impactos • Um mercado cada vez mais crescente de jogos sendo desenvolvidos em Java, tanto a parte 3D, como a parte server; • Criação de interfaces mais ricas para os sistemas comerciais desenvolvidos em Java; • Avanço nas técnicas de Inteligência Artificial que podem ser utilizadas em outras áreas, como por exemplo o Algorithm Trade no mercado de ações; • Uso de mundos virtuais dos MMOGs para outros usos, como gerenciamento/fechamento de compra e vendas de ações para Bolsas de Valores;
  • 29. 29 Just Java Referências • Creating Games on the Java™ Platform with the jMonkeyEngine; Slack, Joshua; Herlitz, Rikard; http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-5711.pdf • JMonkeyEngine; http://www.jMonkeyEngine.com • Jogos 3D na Prática; Mundo Java; número 24 • Project Darkstar; http://www.projectdarkstar.com/ Editora Apress: http://www.apress.com/book/view/1590598172 Versão online: http://books.google.com/books?id=jL_yT-AZK- 8C&pg=PA10&lpg=PA10&dq=java+3dgames&source=web&ots=Ipg5xX 2Ahx&sig=LmjLd_DitZUr- zz4ThkCatc8nE&hl=en&sa=X&oi=book_result&resnum=9&ct=result
  • 31. 31 Just Java O que é um sistema embarcado (Embedded System)? “Um sistema embarcado (ou sistema embutido) é um sistema microprocessado no qual o computador é completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla. Diferente de computadores de propósito geral, como o computador pessoal, um sistema embarcado realiza um conjunto de tarefas predefinidas, geralmente com requisitos específicos. “; Wikipedia
  • 32. 32 Just Java Sistemas prontos para uso: JStamp • JStamp é um produto da Systronix pronto para uso, ele contem o Hardware e software (VM) já implementado em um dispositivo comercial de aproximadamente $150 pronto para uso. Este pode processar mais de 3 milhões de byte codes Java por segundo.
  • 33. 33 Just Java Sun Spot • Dispositivo programável em Java composto por camadas • A camada de sensor pode ser trocada, existe uma placa demo que contém os seguintes elementos: • Acelerômetro • Sensor de luz • Sensor de temperatura • Botões do tipo push buttons • 8 LEDs RGB • 6 Entradas analógicas • 5 Entradas/Saídas de uso geral • 4 Saídas de alta corrente
  • 34. 34 Just Java Exemplo de Uso Avançado: Perrone Robotics
  • 35. 35 Just Java Vários Sun Spot criam uma rede mesh
  • 36. 36 Just Java Máquina Virtual para sistema embarcado da SUN: SquawK
  • 37. 37 Just Java Máquina Virtual para sistema embarcado: NanoVM • The NanoVM is a java virtual machine for the Atmel AVR ATmega8 CPU, the member of the AVR CPU family used e.g. in the DLR Asuro robot, manufactured by AREXX engineering. With the NanoVM, the Asuro can be programmed in the popular Java language using the standard Sun JDK. The NanoVM and its tools are distributed under the GPL and can be used on other AVR based systems as well.
  • 38. 38 Just Java Impactos • Criação novas soluções cada vez mais baratas, inteligentes e conectadas; • Junção de software e eletrônica, melhorando a interação dos aparelhos comuns como Geladeira, Carro, Máquina de Lavar, Brinquedos até sistemas industriais como Máquinas Operatrizes e Robôs; • Um mercado crescente de desenvolvimento embarcados e Java é um grande candidato, pois as aplicações estão ficando cada vez mais complexas, mais conectadas e os microcontroladores estão cada vez mais rápidos; • Desenvolvimento de novas ferramentas de desenvolvimento e metodologias;
  • 39. 39 Just Java Referências • Embedded Systems Glossary; Barr, Michael; http://www.netrino.com/Embedded-Systems/Glossary • The Nano VM; http://www.harbaum.org/till/nanovm/index.shtml • JStamp; http://www.jstamp.com/ • Project Sun SPOT: A Java Technology-Enabled Platform for Ubiquitous Computing; http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS- 6495&yr=2008&track=javame
  • 40. v setembro de 2009 Java além das aplicações comerciais convencionais Leonardo Simberg Solution IT Architect – IBM Professor Pós-Graduação - IBTA leosimberg@gmail.com