94
JavaNoroeste Grupo de Usuários Java do Noroeste Paulista A tecnologia Java do mundo corporativo ao dispositivo móvel

JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

  • Upload
    trandan

  • View
    238

  • Download
    1

Embed Size (px)

Citation preview

Page 1: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

JavaNoroesteGrupo de Usuários Java do Noroeste Paulista 

A tecnologia Java do mundo corporativo ao dispositivo móvel

Page 2: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

Page 3: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

● 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

Page 4: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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 2006.

China  ainda  o  maior  mercado  de  clientes  GSM 

registrando 662,6 milhões de assinantes em março de 

2006.

 

Page 5: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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 

Page 6: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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!

 

Page 7: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Page 8: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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. 

Page 9: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Page 10: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Algumas empresas no Brasil que utilizam JEE:

­ Banco do Brasil;

­ Bradesco;

­ Caixa Econômica Federal;

­ DataPrevi.

Page 11: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Simples;

Orientada a objetos;

Distribuída;

Robusta;

Segura;

Neutra em relação à arquitetura;

Portável;

Interpretada;

Alto desempenho;

Múltiplas  linhas  de  execução 

(Multithreaded);

Dinâmica.

Palavras­chave da linguagem Java

Page 12: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Java Standart Edition JSE

Page 13: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Universo JavaJava Virtual Machine

Page 14: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Universo Java

Page 15: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

A JavaTM Platform

OptionalPackages

Java Enterprise

Edition(JEE)

Java StandardEdition

(JSE)

JVM

Java Card APIs

CardVM

OptionalPackages

Personal Basis Profile

Personal Profile

Foundation Profile

CDC

MIDP

CLDC

KVM

Java Platform Micro Edition(JMETM)

* Under development in JCP

Page 16: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

ClientServer

Três Camadas

Web Application

Web Services

HíbridoP2P Fractal

Padrões de Comunicação

Page 17: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EE

Page 18: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Java EE

Page 19: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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...).

Camadas Lógicas em Java EE

Page 20: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EE

Page 21: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EE

Page 22: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Arquitetura daPlataforma Java EE

B2BApplications

B2CApplications

WebServices

WirelessApplications

Servidores de AplicaçãoEnterpriseInformation

SystemsEIS

AplicaçõesExistentes

Page 23: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EEServidores de Aplicação

Page 24: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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. 

Java EEServidores de Aplicação

Page 25: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EEServidores de Aplicação

Page 26: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

EJB ou Enterprise JavaBeans é um dos principais 

componentes  da  plataforma  J2EE  (Java 2  Enterprise 

Edition). 

Java EEEJB

Page 27: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EEEJB

Page 28: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EEEJB

Page 29: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

Java EEEJB

Page 30: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Propõe­se  a  abstrair  do  desenvolvedor  serviços 

de infra­estrutura, delegados ao contêiner EJB

persistência, 

transação, 

segurança, 

lock, 

...

Java EEEJB

Page 31: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Java EECalculadora EJB 3.0Interface remota

package br.com.javanoroeste.ejb30;

import javax.ejb.Remote;

@Remotepublic interface Calculadora { /** Soma os inteiros a e b e retorna o resultado (a+b) */ int somar(int a, int b); /** Subtrai b de a e retorna o resultado (a-b) */ int subtrair(int a, int b); }

Page 32: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Java EECalculadora EJB 3.0

Classe do bean

package br.gov.se.sefaz.ejb30;

import javax.ejb.Stateless;

@Statelesspublic 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; } }

Page 33: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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  de 

desenvolvimento

Atrair os desenvolvedores pela facilidade

Java EEEJB 3.0

Page 34: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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?

Java EE

Page 35: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EEServlets

Page 36: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Request CGI2

Request CGI1

Request Servlet1

Request Servlet2

Request Servlet1

CGIBaseado

WebserverFilho para CGI2

Filho para CGI1

Servlet Baseado Webserver

JVMServlet1

Servlet2

Request CGI1Filho para CGI1

Paradigma pedido/resposta

Java EEServlets

Page 37: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Java EEServlets

Page 38: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Servletspackage exemplo;

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>");

}

}

Java EEServlets

Page 39: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

Java EEJSP

Page 40: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

<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>

Java EEJSP

Page 41: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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;

Java EEJSP

Page 42: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Java EEJSP

Page 43: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

Java EEJSP

Page 44: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

JSP

●HTML codificado no Java

●Não é fácil de escrever

●Java melhor codificação no HTML

●Muito mais fácil de escreverr

●Código é interpretado e transformado num Servlet

Servlets

Java EEJSP

Page 45: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

Sopa de letrinhas, por onde começar?

Page 46: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

Page 47: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

Page 48: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

Page 49: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Alguns exemplos de uso de JME:

­ Jogos para celulares;

­ Informações Bancárias;

­ Acompanhamento de serviços por celular;

­ Multimídia;

­ SMS e MMS.

JME

Page 50: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

JME

Page 51: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

JME

Page 52: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

JME

Page 53: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

JME

Page 54: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

JME

Page 55: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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  em  muitos  outros  dispositivos 

especializados.

Universo JavaJME

Page 56: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

JME

OptionalPackages

Java Enterprise

Edition(JEE)

Java StandardEdition

(JSE)

JVM

Java Card APIs

CardVM

OptionalPackages

Personal Basis Profile

Personal Profile

Foundation Profile

CDC

MIDP

CLDC

KVM

Java Platform Micro Edition(JMETM)

* Under development in JCP

Page 57: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

JMEArquitetura

Page 58: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

JMEConfigurations

Page 59: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

CDC(Connected  Device  Configuration)  – 

Configuração  mais  pesada  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).

JMECDC

Page 60: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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;

JMECLDC

Page 61: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

JMEProfiles

Page 62: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

­128 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;

JMEMIDP 1.0

Page 63: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

­Segurança: baseado em permissões do J2SE;

­Novas API´s para aprimorar o desenvolvimento:

­Game API;

­Media API;

­Secure Connection API;

JMEMIDP 2.0

Page 64: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

JMEMaquina Virtual (KVM)

Page 65: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

JMEMaquina Virtual (KVM)

Page 66: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

MIDlet

As “MIDlets” são aplicações desenvolvidas sobre 

a plataforma J2ME.

JMEMIDlet

Page 67: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

JME

Page 68: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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).

JME

Page 69: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

JME

Page 70: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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.

JME

Page 71: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Composição do MIDP

javax.microedition.lcdui:

– Display;

– Screen: Alert, TextBox, List, Form;

–  Item:  TextField,  StringItem,  ImageItem, 

ChoiceGroup, DateField;

– Canvas;

– Graphics;

– Command;

– CommandListener.

JME

Page 72: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 73: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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

JME

Page 74: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Criando um Midlet

Classe que estenda javax.microedition.midlet.Midlet

Arquivo descritor (.JAD)

Pacote da aplicação (.JAR)

Arquivo Manifest.mf (dentro do .JAR)

Page 75: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Aplicação J2ME

Código.java

Código.class

preverifier

Código.classpreverif icada

javac

Desktop Dispositivo

Código.jar

Código.jar

KVMInterpretador

Em

paco

tad

or (ja

r)

Page 76: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Eclipse, Ant e NetBeans

Apache AntAntennaEclipseEclipseMENetBeans

Page 77: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 78: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 79: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 80: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 81: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 82: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 83: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 84: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 85: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 86: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 87: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 88: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Maquina Virtual (KVM)

Page 89: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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”.

Page 90: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Grupo de Usuários Java 

Atualmente o JavaNoroeste é patrocinado por WebNow.

Page 91: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Grupo de Usuários Java 

JavaNoroeste é apoiado pela revista MundoJava.

Page 92: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Grupo de Usuários Java 

JavaNoroeste é apoiado pela.

Page 93: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

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:http://localhost/mvc”;

Não altere nem o parâmetro “User” e “Password”;

Clique em OK. 

Page 94: JavaNoroeste Grupo de Usuájavanoroeste.com.br/javanoroeste/2006/fef/apresentacao_fef.pdf · marcações (tags) especiais que dão dinamicidade para ... Servlet pega a parte de controle

Agradeço a presença de todos.FIM