JAVA  Seminar 1996
Sun Microsystems A Sun Microsystems oferece soluções completas no segmento de computação aberta Workstations Sparc, servidores multiprocessados, sistema operacional Solaris, tecnologia Java
Sun Microsystems Serviços de suporte, integração e treinamento fazem da corporação a lider no ranking do mercado Unix Fundada em 1982, a Sun está sediada em Mountain View, empregando mais de 16.000 pessoas
Visão Geral O Java Seminar foi desenvolvido para prover informações básicas sobre a tecnologia Java
Cursos e Seminários SL-230 Introdução a Programação Java - 3 dias  SL-270 Programação de Aplicações Java - 2 dias  Seminário de Intranet - 1 dia - 12/11 e 3/12 Ligue Já - 0800-118988
Cursos Multimídia MM-231 Introdução à Programação Java para Windows
Staff Técnico do Seminário Armênio Cardoso Certified Java Instructor Marcos A. Omura System Support Engineer
Agenda 1. Descobrindo Java 2. Preparando-se para Java 3. Desenvolvendo Applets 4. Navegando na WEB 5. Demonstrando o Java Workshop 6. Painel de Perguntas
Introdução Pontos-chave da Tecnologia JAVA
Introdução A evolução da Internet, permitiu concretizar o sonho da grande aldeia global
Introdução Crescimento da Rede
Introdução Desenvolvimento de páginas Web “javatizadas” e aplicações Cliente-Servidor Parte do sistema reside no Cliente, parte no Servidor Forte dependência de conectividade Plataformas diversas de Hard/Soft
Introdução Redes de Micros 70’s 80’s 90’s Monolítica Cliente-Servidor Evolução das Arquiteturas de Aplicações
Descobrindo Java
Origens O Projeto ‘ Green ’ -1991 Vamos fazer equipamentos para “Vídeo on Demand”! Características do “‘Video on Demand” Pouca memória, preço baixo, funcionalidade específica
Origens Restrições do “Video on Demand” Conjunto de memória restrito Seguro Download de código para dar funcionalidade ao equipamento “ Video on Demand” nunca aconteceu! mas a Rede, ao contrário ...
Motivação Crescimento da Rede, em usuários a partir de 1994 Log scale 1 million users 10,000 users 1000 users
Potencial Potencial da Linguagem Java Compilador original em ‘C’ foi reescrito em Java por Arthur Van Hoff Navegador HotJava, lançado em 1995, totalmente escrito em Java
O Que é Java? Ferramenta para criar APPLETS Applet = mini-aplicativo que depende de um navegador para ser executado; Um Applet faz parte de uma página WEB como se fosse uma figura e muito mais...
O Que é Java? Recursos poderosos também para a construção de aplicativos independentes de navegador Nesse caso o ambiente de execução é composto pelo interpretador Java  Para executar um programa Java é necessário ou um navegador habilitado ou o interpretador Java
Fácil Semelhante a C e C++ Omite recursos que são confusos e raramente utilizados dessas linguagens (50% dos bugs fora!) Gerencia a liberação de memória Contém um conjunto de bibliotecas ricas em recursos
Bibliotecas de Recursos applet: otimização de applets awt: Another Windowing Toolkit - construção de GUI io: ferramentas pra manipulação de arquivos net: conectividade e protocolos util: contém recursos utilitários diversos
Orientada ao Objeto Reutilização de código Fácil manutenção Refinamento e especialização de módulos existentes Compartilhamento de código
Conceitos de POO Classe: Define como um objeto será construído. Gabarito que estabelece as operações e os atributos de um objeto.
Conceitos de POO Exemplo: Quando um arquiteto define as plantas e o projeto de uma casa, ele define que OPERAÇÕES e ATRIBUTOS a casa terá. PLANTAS = CLASSE
Conceitos de POO Um OBJETO, portanto, é uma estrutura que ENCAPSULA funções (MÉTODOS) e dados (PROPRIEDADES) Propriedades Métodos
Conceitos de POO Herança: Uma classe nova pode ser definida a partir de uma classe pré-existente - com isso, obtém-se reusabilidade de código. Herança Múltipla: Uma classe pode ser definida a partir de duas classes pré-existentes.
Distribuída Biblioteca “net” Interação com protocolos TCP/IP  HTTP FTP Socket, ServerSocket Manipulação de URLs
Independente de Plataforma A Rede é Heterogênea
Independente de Plataforma O compilador gera código em um formato universal baseado em  bytecodes , unidade padrão para a execução de código em uma máquina virtual - a  Java Virtual Machine JVM
Independente de Plataforma A  JVM  contém um set de instruções, registradores e todos os componentes de um processador real Os  bytecodes  têm como vantagem Código compacto, simples e portátil Permite a geração de código nativo para o processador desejado
Segura 1. Verifica sintaticamente o código 2. Verifica semânticamente o código 3. Verifica os  bytecodes 4. Faz verificações em tempo de execução (otimizações)
Políticas de Segurança Implemenadas pelo “Security Manager” Sistema de Arquivos Rede Execução de Programas “Externos”
Não é dependente de implementação Soluciona problemas de: aritmética ordem de precedência e avaliação Bibliotecas padronizadas ocultam as diferenças de sistemas Portátil
Alta Performance Thread = unidade lógica de execução Permite a execução de diversos threads concorrentes Contém monitores e variáveis condicionais Permite o compartilhamento sincronizado de objetos Recurso integrado à linguagem
Orientação ao Objeto A linguagem Java é totalmente orientada ao objeto,  permitindo a criação de classes, herança e herança múltipla, mecanismos de troca de mensagens (eventos)
Eventos Duas formas de tratamento de eventos: Métodos que representam os eventos embutidos na linguagem. Por exemplo: mouseDown, mouseUP, keyPress, lostFocus... Um método padrão que permite o tratamento de TODOS os eventos do programa - handleEvent
Compilação/Interpretação 1. Edição do código-fonte abc.java 2. Compilação - geração dos  bytecodes  correspondentes abc.class 3. Execução no modo interpretado navegador/interpretador java
Compilação/Interpretação Programa Compilado = bytecodes Máquina Virtual = JVM Hardware e Sistema Operacional
Compilação/Interpretação
JDBC Database Conectivity Define um conjunto de serviços para permitir conexões com bancos de dados Linguagem de acesso padrão - SQL Arquitetura que permite usar drivers nativos e drivers ODBC
Arquitetura JDBC Servidores de Dados Interface do Servidor Interface do Cliente Cliente x y z A
Arquitetura JDBC
Preparando-se para Java
Onde Localizar o JDK
Instruções 1. Download do arquivo JDK correspondente 2. Remoção do JDK anterior 3. Descompactação do arquivo que foi baixado 4. Atualização das variáveis de ambiente
Variáveis do Ambiente PATH=C:\WINDOWS;C:\JAVA\BIN;
Conteúdo do JDK javac - compilador java - interpretador javadoc - gerador de documentação do código em HTML appletviewer - permite executar um applet sem navegador jdb - depurador de código javap - transforma .class em .java javah - permite ligar código C com java
Desenvolvendo Applets
Um Aplicativo Mínimo class FirstApp { public static void main(String a[]) { System.out.println(“Java Seminar”); } }
Um Applet Mínimo import java.awt.Graphics; import java.applet.Applet; public class FirstAppl extends Applet { public void paint(Graphics g){ g.drawString(“Java Seminar”, 25, 25); } }
Eventos de Mouse import java.awt.Graphics; import java.awt.Event; import java.applet.Applet; public class Fms extends Applet { int Mx = 25; int My = 25; public void paint(Graphics g){ g.drawString(“Java Seminar”, Mx, My); } public boolean mouseDown(Event e, int x, int y) { Mx = x; My = y; repaint(); return true; } }
Interface Gráfica import java.awt.*; import java.applet.Applet; public class BotApp extends Applet { Button b1,b2,b3; public void init(){ b1 = new Button(“1”); b2 = new Button(“2”); b3 = new Button(“3”); add(b1); add(b2); add(b3); } }
Layout Managers FlowLayout: Os objetos “fluem” coforme são colocados na tela. BorderLayout: Os objetos são colocados nas bordas norte, sul, leste, oeste e centro da tela. GridLayout: Os objetos respeitam uma “grade” imaginária por trás da tela.
Mudando o Layout Método setLayout: setLayout(new FlowLayout()) setLayout(new BorderLayout()) setLayout(new GridLayout(3,1))
Navegando na WEB
Navegadores e Java Escritos em Java HotJava Escritos em ‘C...’ Netscape 2.x Explorer
Página WEB Funciona como uma figura embutida no código HTML <applet code=HelloWorld.class width=200 height=200>
Tag Applet code - referencia um .class width - largura ocupada height - altura ocupada codebase - URL onde está o código alt - texto alternativo se o applet não rodar align - posição relativa a página HTML param name/value - parâmetros
Informações Adicionais java.sun.com www.gamelan.com www.javaworld.com
Java Workshop
Java Workshop Ambiente Integrado de Desenvolvimento da Sun Microsystems Funciona como um navegador Cada botão da barra de ferramentas é um Applet
Java Workshop Contém várias ferramentas Portfolio Manager Project Manager Source Editor Build Manager Visual Java Source Browser Project Tester
Conceito de Projeto Um programa java é considerado PROJETO por integrar código e interface
Estágios de Desenvolvimento Criação do Projeto Edição do Fonte Construção do .class Depuração do projeto
Criação do Projeto Criando um projeto a partir de um .java Compilando o fonte Executando o projeto
Atributos do Projeto Atributos de execução Atributos do projeto no Portfolio
Editando e Depurando Editando o código-fonte Corrigindo erros
Documentando o Projeto Hierarquia de classes Métodos do projeto
Depurando Código Conceito de Threads Examinando os Threads Breakpoints Avaliação de variáveis

Java Seminar

  • 1.
  • 2.
    Sun Microsystems ASun Microsystems oferece soluções completas no segmento de computação aberta Workstations Sparc, servidores multiprocessados, sistema operacional Solaris, tecnologia Java
  • 3.
    Sun Microsystems Serviçosde suporte, integração e treinamento fazem da corporação a lider no ranking do mercado Unix Fundada em 1982, a Sun está sediada em Mountain View, empregando mais de 16.000 pessoas
  • 4.
    Visão Geral OJava Seminar foi desenvolvido para prover informações básicas sobre a tecnologia Java
  • 5.
    Cursos e SemináriosSL-230 Introdução a Programação Java - 3 dias SL-270 Programação de Aplicações Java - 2 dias Seminário de Intranet - 1 dia - 12/11 e 3/12 Ligue Já - 0800-118988
  • 6.
    Cursos Multimídia MM-231Introdução à Programação Java para Windows
  • 7.
    Staff Técnico doSeminário Armênio Cardoso Certified Java Instructor Marcos A. Omura System Support Engineer
  • 8.
    Agenda 1. DescobrindoJava 2. Preparando-se para Java 3. Desenvolvendo Applets 4. Navegando na WEB 5. Demonstrando o Java Workshop 6. Painel de Perguntas
  • 9.
  • 10.
    Introdução A evoluçãoda Internet, permitiu concretizar o sonho da grande aldeia global
  • 11.
  • 12.
    Introdução Desenvolvimento depáginas Web “javatizadas” e aplicações Cliente-Servidor Parte do sistema reside no Cliente, parte no Servidor Forte dependência de conectividade Plataformas diversas de Hard/Soft
  • 13.
    Introdução Redes deMicros 70’s 80’s 90’s Monolítica Cliente-Servidor Evolução das Arquiteturas de Aplicações
  • 14.
  • 15.
    Origens O Projeto‘ Green ’ -1991 Vamos fazer equipamentos para “Vídeo on Demand”! Características do “‘Video on Demand” Pouca memória, preço baixo, funcionalidade específica
  • 16.
    Origens Restrições do“Video on Demand” Conjunto de memória restrito Seguro Download de código para dar funcionalidade ao equipamento “ Video on Demand” nunca aconteceu! mas a Rede, ao contrário ...
  • 17.
    Motivação Crescimento daRede, em usuários a partir de 1994 Log scale 1 million users 10,000 users 1000 users
  • 18.
    Potencial Potencial daLinguagem Java Compilador original em ‘C’ foi reescrito em Java por Arthur Van Hoff Navegador HotJava, lançado em 1995, totalmente escrito em Java
  • 19.
    O Que éJava? Ferramenta para criar APPLETS Applet = mini-aplicativo que depende de um navegador para ser executado; Um Applet faz parte de uma página WEB como se fosse uma figura e muito mais...
  • 20.
    O Que éJava? Recursos poderosos também para a construção de aplicativos independentes de navegador Nesse caso o ambiente de execução é composto pelo interpretador Java Para executar um programa Java é necessário ou um navegador habilitado ou o interpretador Java
  • 21.
    Fácil Semelhante aC e C++ Omite recursos que são confusos e raramente utilizados dessas linguagens (50% dos bugs fora!) Gerencia a liberação de memória Contém um conjunto de bibliotecas ricas em recursos
  • 22.
    Bibliotecas de Recursosapplet: otimização de applets awt: Another Windowing Toolkit - construção de GUI io: ferramentas pra manipulação de arquivos net: conectividade e protocolos util: contém recursos utilitários diversos
  • 23.
    Orientada ao ObjetoReutilização de código Fácil manutenção Refinamento e especialização de módulos existentes Compartilhamento de código
  • 24.
    Conceitos de POOClasse: Define como um objeto será construído. Gabarito que estabelece as operações e os atributos de um objeto.
  • 25.
    Conceitos de POOExemplo: Quando um arquiteto define as plantas e o projeto de uma casa, ele define que OPERAÇÕES e ATRIBUTOS a casa terá. PLANTAS = CLASSE
  • 26.
    Conceitos de POOUm OBJETO, portanto, é uma estrutura que ENCAPSULA funções (MÉTODOS) e dados (PROPRIEDADES) Propriedades Métodos
  • 27.
    Conceitos de POOHerança: Uma classe nova pode ser definida a partir de uma classe pré-existente - com isso, obtém-se reusabilidade de código. Herança Múltipla: Uma classe pode ser definida a partir de duas classes pré-existentes.
  • 28.
    Distribuída Biblioteca “net”Interação com protocolos TCP/IP HTTP FTP Socket, ServerSocket Manipulação de URLs
  • 29.
    Independente de PlataformaA Rede é Heterogênea
  • 30.
    Independente de PlataformaO compilador gera código em um formato universal baseado em bytecodes , unidade padrão para a execução de código em uma máquina virtual - a Java Virtual Machine JVM
  • 31.
    Independente de PlataformaA JVM contém um set de instruções, registradores e todos os componentes de um processador real Os bytecodes têm como vantagem Código compacto, simples e portátil Permite a geração de código nativo para o processador desejado
  • 32.
    Segura 1. Verificasintaticamente o código 2. Verifica semânticamente o código 3. Verifica os bytecodes 4. Faz verificações em tempo de execução (otimizações)
  • 33.
    Políticas de SegurançaImplemenadas pelo “Security Manager” Sistema de Arquivos Rede Execução de Programas “Externos”
  • 34.
    Não é dependentede implementação Soluciona problemas de: aritmética ordem de precedência e avaliação Bibliotecas padronizadas ocultam as diferenças de sistemas Portátil
  • 35.
    Alta Performance Thread= unidade lógica de execução Permite a execução de diversos threads concorrentes Contém monitores e variáveis condicionais Permite o compartilhamento sincronizado de objetos Recurso integrado à linguagem
  • 36.
    Orientação ao ObjetoA linguagem Java é totalmente orientada ao objeto, permitindo a criação de classes, herança e herança múltipla, mecanismos de troca de mensagens (eventos)
  • 37.
    Eventos Duas formasde tratamento de eventos: Métodos que representam os eventos embutidos na linguagem. Por exemplo: mouseDown, mouseUP, keyPress, lostFocus... Um método padrão que permite o tratamento de TODOS os eventos do programa - handleEvent
  • 38.
    Compilação/Interpretação 1. Ediçãodo código-fonte abc.java 2. Compilação - geração dos bytecodes correspondentes abc.class 3. Execução no modo interpretado navegador/interpretador java
  • 39.
    Compilação/Interpretação Programa Compilado= bytecodes Máquina Virtual = JVM Hardware e Sistema Operacional
  • 40.
  • 41.
    JDBC Database ConectivityDefine um conjunto de serviços para permitir conexões com bancos de dados Linguagem de acesso padrão - SQL Arquitetura que permite usar drivers nativos e drivers ODBC
  • 42.
    Arquitetura JDBC Servidoresde Dados Interface do Servidor Interface do Cliente Cliente x y z A
  • 43.
  • 44.
  • 45.
  • 46.
    Instruções 1. Downloaddo arquivo JDK correspondente 2. Remoção do JDK anterior 3. Descompactação do arquivo que foi baixado 4. Atualização das variáveis de ambiente
  • 47.
    Variáveis do AmbientePATH=C:\WINDOWS;C:\JAVA\BIN;
  • 48.
    Conteúdo do JDKjavac - compilador java - interpretador javadoc - gerador de documentação do código em HTML appletviewer - permite executar um applet sem navegador jdb - depurador de código javap - transforma .class em .java javah - permite ligar código C com java
  • 49.
  • 50.
    Um Aplicativo Mínimoclass FirstApp { public static void main(String a[]) { System.out.println(“Java Seminar”); } }
  • 51.
    Um Applet Mínimoimport java.awt.Graphics; import java.applet.Applet; public class FirstAppl extends Applet { public void paint(Graphics g){ g.drawString(“Java Seminar”, 25, 25); } }
  • 52.
    Eventos de Mouseimport java.awt.Graphics; import java.awt.Event; import java.applet.Applet; public class Fms extends Applet { int Mx = 25; int My = 25; public void paint(Graphics g){ g.drawString(“Java Seminar”, Mx, My); } public boolean mouseDown(Event e, int x, int y) { Mx = x; My = y; repaint(); return true; } }
  • 53.
    Interface Gráfica importjava.awt.*; import java.applet.Applet; public class BotApp extends Applet { Button b1,b2,b3; public void init(){ b1 = new Button(“1”); b2 = new Button(“2”); b3 = new Button(“3”); add(b1); add(b2); add(b3); } }
  • 54.
    Layout Managers FlowLayout:Os objetos “fluem” coforme são colocados na tela. BorderLayout: Os objetos são colocados nas bordas norte, sul, leste, oeste e centro da tela. GridLayout: Os objetos respeitam uma “grade” imaginária por trás da tela.
  • 55.
    Mudando o LayoutMétodo setLayout: setLayout(new FlowLayout()) setLayout(new BorderLayout()) setLayout(new GridLayout(3,1))
  • 56.
  • 57.
    Navegadores e JavaEscritos em Java HotJava Escritos em ‘C...’ Netscape 2.x Explorer
  • 58.
    Página WEB Funcionacomo uma figura embutida no código HTML <applet code=HelloWorld.class width=200 height=200>
  • 59.
    Tag Applet code- referencia um .class width - largura ocupada height - altura ocupada codebase - URL onde está o código alt - texto alternativo se o applet não rodar align - posição relativa a página HTML param name/value - parâmetros
  • 60.
    Informações Adicionais java.sun.comwww.gamelan.com www.javaworld.com
  • 61.
  • 62.
    Java Workshop AmbienteIntegrado de Desenvolvimento da Sun Microsystems Funciona como um navegador Cada botão da barra de ferramentas é um Applet
  • 63.
    Java Workshop Contémvárias ferramentas Portfolio Manager Project Manager Source Editor Build Manager Visual Java Source Browser Project Tester
  • 64.
    Conceito de ProjetoUm programa java é considerado PROJETO por integrar código e interface
  • 65.
    Estágios de DesenvolvimentoCriação do Projeto Edição do Fonte Construção do .class Depuração do projeto
  • 66.
    Criação do ProjetoCriando um projeto a partir de um .java Compilando o fonte Executando o projeto
  • 67.
    Atributos do ProjetoAtributos de execução Atributos do projeto no Portfolio
  • 68.
    Editando e DepurandoEditando o código-fonte Corrigindo erros
  • 69.
    Documentando o ProjetoHierarquia de classes Métodos do projeto
  • 70.
    Depurando Código Conceitode Threads Examinando os Threads Breakpoints Avaliação de variáveis

Notas do Editor