JavaNoroeste Grupo de Usuários Java do Noroeste Paulista. A tecnologia Java do mundo corporativo ao dispositivo móvel - PDF
JavaNoroeste Grupo de Usuários Java do Noroeste Paulista. A tecnologia Java do mundo corporativo ao dispositivo móvel
Download "JavaNoroeste Grupo de Usuários Java do Noroeste Paulista. A tecnologia Java do mundo corporativo ao dispositivo móvel"
Nathalia Batista Machado
1 JavaNoroeste Grupo de Usuários Java do Noroeste Paulista A tecnologia Java do mundo corporativo ao dispositivo móvel
2 Carlos Fernando Gonçalves Mestre em Engenharia de Computação, área de concentração Engenharia de Software pelo IPT SP Bacharel em Física USP São Carlos SP Atua no mercado de desenvolvimento de sistema a mais de nove anos. Seis anos em desenvolvimento com tecnologia Java. Fundador do Grupo de Usuários Java do Noroeste Paulista
3 A e Bay confia em Java para todas suas vendas que ultrapassam US$ 1,400 POR SEGUNDO. 708 milhões de celulares rodando Java no mundo; 635 modelos de celular no mundo com Java; 32 fabricantes de celulares Java no mundo; 140 operadoras de telefonia móvel usando Java; 3 milhões de novos usuários de celulares por semana
4 GSM GSM/GPRS/EDGE/UMTS e HSDPA, deve alcançar a marca de 2 bilhões de clientes no mundo inteiro até o final deste mês de junho de China ainda o maior mercado de clientes GSM registrando 662,6 milhões de assinantes em março de 2006.
5 A tecnologia EDGE está em operação comercial em 133 operadoras de 80 países, inclusive 31 países na América Latina e no Caribe. Outras 81 redes EDGE estão nas fases de planejamento ou implementação no mundo inteiro. Fonte: 3G Americas e a Informa Telecoms & Media
6 O que significa um bilhão? Hoje os telefones celulares GSM têm o mesmo nível de penetração global que o PC e a TV. Aproxima se o marco de um bilhão de clientes GSM, o equivalente à população da Índia. GSM atingiu este marco histórico em apenas 11 anos!
7 GSM está disponível em 206 países e territórios para 99,8 por cento da população mundial. GSM dá a todos a oportunidade de participar de uma comunidade global. Isto permite a praticamente todos os usuários móveis permanecerem em contato em qualquer lugar do mundo, onde quer que eles estejam.
8 Uma em cada seis pessoas no planeta tem um telefone celular GSM. GSM tem uma participação de mercado de 72 por cento. Cem por cento dos usuários móveis na Europa Ocidental. Noventa e cinco por cento dos usuários móveis na China. 7 em cada 10 novos clientes no Continente Americano escolheram GSM no 4º. Trimestre de 2003.
9 A tecnologia GSM possibilita novas formas de comunicações SMS, MMS, mensagens de vídeo e jogos. GSM permite que as pessoas permaneçam em contato onde quer que elas estejam e proporciona opções de comunicação e informações, bem como maior acesso a um maior número de pessoas, em um maior número de lugares no mundo todo.
10 Algumas empresas no Brasil que utilizam JEE: Banco do Brasil; Bradesco; Caixa Econômica Federal; DataPrevi.
11 Palavras chave da linguagem Java Simples; Orientada a objetos; Distribuída; Robusta; Segura; Neutra em relação à arquitetura; Portável; Interpretada; Alto desempenho; Múltiplas linhas (Multithreaded); Dinâmica. de execução
12 Java Standart Edition JSE
13 Universo Java Java Virtual Machine
14 Universo Java
15 A JavaTM Platform Java Platform Micro Edition (JMETM ) Optional Packages Optional Packages Java Enterprise Edition (JEE) Java Standard Edition (JSE) Personal Basis Profile Personal Profile Foundation Profile CDC JVM MIDP CLDC KVM * Under development in JCP Java Card APIs CardVM
16 Padrões de Comunicação Client Três Web Web Server Camadas Application Services Híbrido P2P Fractal
17 Java EE O JEE (Java Enterprise Edition) é uma plataforma de programação de computadores que faz parte da plataforma Java. Ela é voltada para aplicações multi camadas, baseadas em componentes que são executados em um servidor de aplicações. A plataforma Java EE é considerada um padrão de desenvolvimento já que o fornecedor de software nesta plataforma deve seguir determinadas regras se quiser declarar os seus produtos como compatíveis com Java EE.
19 Camadas Lógicas em Java EE Camada de Apresentação Framework MVC, Servlets, JSPs, Janelas Swing, XML transmitidos por HTTP, Sockets; Camada de aplicação: POJOs implementando os Padrões Business Delegate ou Façade, Stateless, Session Beans implementando Façade; Camadas de negócios: POJOs; Camadas de Persistência: DAOs, classes que lidam com JDBC diretamente ou com o framework de mapeamento (Hibernate, JDO...).
20 Java EE No desenvolvimento de aplicações corporativas ou para internet, normalmente é necessário o uso de recursos avançados como objetos distribuídos, mapeamento objeto relacional para persistência de dados, controle de transação, segurança, manipulação de XML, Web Services, entre outros itens. Com JEE, não precisam ser implementados pelo desenvolvedor. Toda a infra estrutura para gerenciar os aspectos complexos ficam a cargo de um servidor de aplicações ou um servidor Web. Qualquer componente JEE precisa rodar dentro de um servidor.
21 Java EE Portanto, existe uma inversão de controle, na qual o desenvolvedor deve usar uma API padronizada e implementar métodos que serão invocados pelo servidor.
22 Arquitetura da Plataforma Java EE B2B Applications Aplicações Existentes B2C Applications Web Services Servidores de Aplicação Wireless Applications Enterprise Information Systems EIS
23 Java EE Servidores de Aplicação Um Servidor de Aplicação (Application Server), é um software que disponibiliza um ambiente para a instalação e execução de certas aplicações. Os servidores de aplicação também são conhecidos como software de Middleware.
24 Java EE Servidores de Aplicação Devido a popularização da plataforma Java, o termo servidor de aplicação é frequentemente uma referência a "Servidor de aplicação JEE". Os servidores WebSphere Application Server da IBM, WebLogic Server da BEA Systems e Oracle Application Server 10g, são alguns conhecidos servidores JEE comerciais.
25 Java EE Servidores de Aplicação Alguns servidores de software livre também são muito utilizados, como JBoss, JOnAS e Geronimo. Como mencionado a linguagem de programação destes softwares é Java. Os módulos Web são implementados através de servlets e JSP e a lógica de negócio através de EJBs. A plataforma J2EE disponibiliza padrões para os containers Web e EJB. O Tomcat é um exemplo de container de software livre, onde os módulos Web podem ser publicados.
26 Java EE EJB EJB ou Enterprise JavaBeans é um dos principais componentes da plataforma J2EE (Java 2 Enterprise Edition).
27 Java EE EJB EJB é um componente do tipo servidor que roda no container para EJB no servidor de aplicações; EJB fornece rápido e simplificado desenvolvimento de aplicações Java baseadas em componentes, distribuídas, multi camadas, transacionais, escaláveis, seguras e portáveis.
28 Java EE EJB Atualmente ele encontra se na versão 3.0 e seu futuro é definido conjuntamente entre grandes empresas como Sun, IBM, Oracle e HP como também por uma vasta comunidade de desenvolvedores numa rede mundial de colaboração sob o portal do JCP.
29 Java EE EJB Arquitetura de componentes de negócio reutilizáveis Entity Beans Session Beans Message Driven Beans Baseado em RMI e CORBA, o EJB permite distribuir os componentes Simplificação do desenvolvimento distribuído
30 Java EE EJB Propõe se a abstrair do desenvolvedor serviços de infra estrutura, delegados ao contêiner EJB persistência, transação, segurança, lock,...
31 Java EE Calculadora EJB 3.0 Interface remota package br.com.javanoroeste.ejb30; import public interface Calculadora { /** int /** int } Soma os inteiros a e b e retorna o resultado (a+b) */ somar(int a, int b); Subtrai b de a e retorna o resultado (a-b) */ subtrair(int a, int b);
32 Java EE Calculadora EJB 3.0 Classe do bean package br.gov.se.sefaz.ejb30; import public class CalculadoraBean implements Calculadora { /** Soma os inteiros a e b e retorna o resultado (a+b) */ public int somar(int a, int b) { return a + b; } /** Subtrai b de a e retorna o resultado (a-b) */ public int subtrair(int a, int b) { return a - b; } }
33 Java EE EJB 3.0 Simplificar a arquitetura EJB e torná la fácil de utilizar Aumentar a produtividade Facilitar o desenvolvimento orientado a testes Facilitar a persistência Melhorar o suporte das ferramentas desenvolvimento Atrair os desenvolvedores pela facilidade de
34 Java EE Mas o que JEE possui além de EJBs e Servlets? O JEE é composto apenas de Servlets e EJBs? Sistemas que não usam EJB não podem ser considerado JEE?
35 Java EE Servlets Os Servlets são objetos que residem em um servidor e tem como função principal tratar da comunicação entre duas partes baseado no paradigma pedido/resposta.
36 Java EE Servlets Paradigma pedido/resposta Request CGI1 Request CGI2 Request CGI1 Request Servlet1 Filho para CGI1 CGI Baseado Webserver Filho para CGI2 Filho para CGI1 Servlet Baseado Webserver Servlet1 Request Servlet2 JVM Request Servlet1 Servlet2
37 Java EE Servlets
38 Servlets package exemplo; Java EE Servlets import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class OlaServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html><body><head>"); out.println("<title>alo Fernandopolis!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>alo Fernandopolis!</h1>"); out.println("</body></html>"); } }
39 Java EE JSP JSP Java ServerPage, é a tecnologia da SUN para criação de páginas Web dinâmicas. É como se o desenvolvedor escrevesse HTML com algumas marcações (tags) especiais que dão dinamicidade para as páginas. Internamente, os JSPs funcionam da mesma maneira que os Servlets, inclusive todo JSP é transformado em um Servlet aos executado.
40 Java EE JSP <html> <head> <title>olá Fernandópolis</title> </head> <body> Codificação HTML <br> <% for(int i=0;i<100;i++) { %> <p>repetição: <%= i %></p> <%}%> </body> </html>
41 Java EE JSP Permite separar a lógica de negócios da apresentação; Apresentção pode ser na forma de HTML ou XML/XSLT; A lógica de negócios é implementada com JavaBeans ou tags customizáveis; Melhora na manutenção e na reusabilidade Extensível via tags personalizadas; É transformado em Servlet antes da sua execução;
42 Java EE JSP
43 Java EE JSP Num ambiente real de produção típico, Servlet e JSP são utilizados juntos no chamado no padrão MVC (Model View Controller) Modelo Visualização Controle Servlet pega a parte de controle JSP pega a parte de visualização
44 Java EE JSP Servlets HTML codificado no Java Não é fácil de escrever JSP Java melhor codificação no HTML Muito mais fácil de escreverr Código é interpretado e transformado num Servlet
45 Sopa de letrinhas, por onde começar? ACID Atomic, Consistent, Isolated, Durable; são as propriedades de uma transação B2B Business to Business BAM Business Activity Monitoring BEIDTF Business Enterprise Integration Domain Task Force BPD Business Process Diagram BPDM Business Process Definition Metamodel BPEL Business Process Execution Language BPEL4WS BPEL for Web Services
46 Sopa de letrinhas, por onde começar? BPELJ BPEL for Java BPM Business Process Modeling, algumas vezes e chamado de Business Process Management BPDM Business Process Definition Metamodel BPML Business Process Modeling Language BPMN Business Process Modeling Notation BPMI Business Process Iniative; isto e uma organizacao, nao e uma especificacao BPRI Business Process Runtime Interface BPQL Business Process Query Language BPMS Business Process Semantic Model
47 Sopa de letrinhas, por onde começar? BPSS Business Process Specification System BPXL Business Process Extension Layers BRM Business Rules Management BSBR Business Semantics of Business Rules CWM Common Warehouse Metamodel CWAD Common Workflow Audit Data EAI Enterprise Application Integration ESB Enterprise Service Bus POJOs Plain Old Java Objects PD4J Process Definition for Java SOA Service oriented Architecture WSDL Web Service Description Languafe
48 Sopa de letrinhas, por onde começar? BPSS Business Process Specification System BPXL Business Process Extension Layers BRM Business Rules Management BSBR Business Semantics of Business Rules CWM Common Warehouse Metamodel CWAD Common Workflow Audit Data EAI Enterprise Application Integration ESB Enterprise Service Bus POJOs Plain Old Java Objects PD4J Process Definition for Java SOA Service oriented Architecture WSDL Web Service Description Languafe
49 JME Alguns exemplos de uso de JME: Jogos para celulares; Informações Bancárias; Acompanhamento de serviços por celular; Multimídia; SMS e MMS.
50 JME
51 JME
52 JME A MedicTouch criou o sistema PulseMeter, que é composto de sensor de batimentos cardíacos, conectado a telefones celulares, em comunicação com servidores para armazenamento e análise de dados coletados.
53 JME A solução é bastante inovadora, pois transforma dispositivos utilizados prioritariamente para comunicação em ferramentas de monitoração remota, em tempo real, de saúde e bem estar físico.
54 JME A tecnologia Java, como base para todo o sistema, é responsável por desde a conectividade segura com dispositivos móveis até a sofisticada interface gráfica nas telas dos telefones celulares e PDAs.
55 Universo Java JME JME O Java Micro Edition provê facilidades para criar aplicações embarcadas (chamadas também de embutidas ) que rodam em dispositivos menores ou especializados, como PDAs e celulares. A variação é grande: a tecnologia é usada, por exemplo, em sistemas de navegação de veículos, brinquedos, robôs espaciais e especializados. em muitos outros dispositivos
56 JME Java Platform Micro Edition (JMETM ) Optional Packages Optional Packages Java Enterprise Edition (JEE) Java Standard Edition (JSE) Personal Basis Profile Personal Profile Foundation Profile CDC JVM MIDP CLDC KVM * Under development in JCP Java Card APIs CardVM
57 JME Arquitetura
58 JME Configurations Devido a grande variedade de dispositivos, eles são agrupados em configurações (Configurations). Uma Configuration define um ambiente Java, incluindo máquina virtual e um conjunto básico de APIs para um grupo comum de dispositivos. Atualmente existem duas definidas: CDC CLDC
59 JME CDC CDC(Connected Configuração Device mais pesada Configuration) desenvolvido para dispositivos com maior capacidade PDA s (gama alta), Set top boxes, gateways, TV s,... Mínimo de 512 k para executar a VM; 256 k para alocação de memória; São para dispositivos com ao menos 2MB de memória disponível e suportam um JVM de característica mais rica (mas não ainda um JVM padrão).
60 JME CLDC CDC(Connected Limited Device Configuration) Configuração mais leve Desenvolvido para dispositivos com capacidade limitada PDA s (gama baixa), Telefones Celulares, pagers,... Mínimo de 128 k para executar a VM; 32 k para alocação de memória; Interface mais restrita;
61 JME Profiles Completando as Configuratios, existem os Profiles, que são perfis que provêem capacidades para uma família específica de dispositivos ou segmento da indústria. Podemos citar como exemplo, classes para interface com usuário, tratamento de eventos e mecanismos de persistência.
62 JME MIDP kb de memória não volátil; 32 kb para heap; 8 kb para persistência de dados; Tela de 96x54 pixels; Entrada de dados; Conexões de rede (intermitentes); Segurança conceito de sandbox das applets;
63 JME MIDP 2.0 Segurança: baseado em permissões do J2SE; Novas API s para aprimorar o desenvolvimento: Game API; Media API; Secure Connection API;
64 JME Maquina Virtual (KVM) A KVM (Kilo Virtual Machine) é uma implementação da VM (Virtual Machine) otimizada para ser utilizado em dispositivos limitados e foi desenvolvida para ser facilmente portável.
65 JME Maquina Virtual (KVM)
66 JME MIDlet MIDlet As MIDlets são aplicações desenvolvidas sobre a plataforma J2ME.
67 JME Ciclo de Vida de uma MIDlet Cada dispositivo possui um AMS (Aplication Manager System) que é responsável por controlar os aplicativos que serão instalados e também administrará como serão armazenados e como será o seu comportamento durante a execução. Uma coisa que deve ser ressaltada é a importância do arquivo JAD que vem acompanhado com o arquivo JAR, no JAD estão todas as informações que o JAR precisa para executar a MIDlet.
68 JME Estados de uma MIDlet Start Onde é feita a Aquisição de recursos inicializando a execução (startapp); Pause Liberação de recursos em um modo de espera, ou seja, pausado utilizado ao atender telefone, receber SMS dentre outra aplicação (pauseapp); Destroy Liberação de todos os recursos (destroyapp).
69 JME
70 JME Application Manager (AMS) A AMS é um software pré instalado em dispositivos MIDP que funciona como um ambiente operacional, e é responsável pela chamada dos métodos, startapp(), pauseapp() e destroyapp(), conforme o ciclo de vida visto acima. Veremos mais detalhadamente quando estivermos fazendo a nossa primeira aplicação.
71 JME Composição do MIDP javax.microedition.lcdui: Display; Screen: Alert, TextBox, List, Form; Item: TextField, ChoiceGroup, DateField; Canvas; Graphics; Command; CommandListener. StringItem, ImageItem,
72 Maquina Virtual (KVM)
73 JME JSR 82: Java API for Bluetooth JSR 75: PDA Optional Packages for the J2ME Platform JSR 172: J2ME Web Services Specification JSR 185: Java Technology for the Wireless Industry JSR 177: Security and Trust Services API for J2ME JSR 238: Mobile Internationalization API JSR 205: Wireless Messaging API 2.0
74 Criando um Midlet Classe que estenda javax.microedition.midlet.midlet Arquivo descritor (.JAD) Pacote da aplicação (.JAR) Arquivo Manifest.mf (dentro do.jar)
75 Aplicação J2ME Desktop Dispositivo Código.java Código.jar Código.class preverifier Código.class preverificada Empacotador (jar) javac KVM Interpretador Código.jar
76 Eclipse, Ant e NetBeans Apache Ant Antenna Eclipse EclipseME NetBeans
77 Maquina Virtual (KVM)
78 Maquina Virtual (KVM)
79 Maquina Virtual (KVM)
80 Maquina Virtual (KVM)
81 Maquina Virtual (KVM)
82 Maquina Virtual (KVM)
83 Maquina Virtual (KVM)
84 Maquina Virtual (KVM)
85 Maquina Virtual (KVM)
86 Maquina Virtual (KVM)
87 Maquina Virtual (KVM)
88 Maquina Virtual (KVM)
89 Grupo de Usuários Java Sun Microsystems afirma que um Grupo de Usuários Java é um grupo de pessoas que compartilham um interesse comum na tecnologia Java, e se encontram regularmente para compartilhar idéias e informações. Na verdade, a estrutura de um JUG pode variar enormemente, de um pequeno grupo de amigos e colegas de trabalho para um um grande grupo de empresas localizadas em uma mesma área geográfica. Independentemente do tamanho ou foco de um JUG em particular, o espírito da comunidade permanecem o mesmo.
90 Grupo de Usuários Java Atualmente o JavaNoroeste é patrocinado por WebNow.
91 Grupo de Usuários Java JavaNoroeste é apoiado pela revista MundoJava.
92 Grupo de Usuários Java JavaNoroeste é apoiado pela.
93 Montando o ambiente HSQLDB Um terminal DOS será aberto com um aplicativo Swing que é o Gerenciador do HSQLDB. Em Setting Name coloque DB; Em Type altere para HSQL Database Engine WebServer ; Não altere o valor que está em Driver ; Em URL coloque jdbc:hsqldb: ; Não altere nem o parâmetro User e Password ; Clique em OK.