A Plataforma Java, suas Tecnologias e Aplicações Diego Ziquinatti

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

JAVA Orientação a Objetos
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Introdução à Linguagem de Programação JAVA
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
Rebeca Schroeder Linguagem Java Rebeca Schroeder
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Introdução à Linguagem Java
Capítulo 1 Conceitos Gerais.
TRABALHO SOBRE LINGUAGUEM DE PROGRAMAÇAO CARACTERISTICAS DO JAVA
Aplicações para Web.
Introdução a Programação Orientada a Objetos
EL e JSTL Prof. Danton Cavalcanti Franco Junior
Aula 6 – Sistema Operacional
Linguagem de Programação JAVA
Sistemas Operacionais
Linguagem de Programação JAVA
Java Básico - Orientação a Objetos
Linguagem de Programação C#
Aula prática 13 Orientação a Objetos – C++ Parte 1
Introdução ao Desenvolvimento Web
JAVA Linguagem Ambiente de Desenvolvimento
Arquitetura Cliente /Servidor
Conceitos de J2EE para a WEB
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
XIV Jornada de Cursos .NET com C# Antônio Júnior Bruno Inojosa.
Professor: Márcio Amador
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
R. Episcopal, 1763 – São Carlos-SP (16) www.virgos.com.br VIRGOS TI Arquiteturas JAVA Trilhas para a preparação do profissional.
Paradigmas de Linguagens de Programação Aula 2
SISTEMAS DISTRIBUIDOS Aula 4
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
A Linguagem JAVA Prof. Hugo Sampaio São Luís, MA.
3/4/2015 Prof. Msc George Cabral Bacharelado em Sistema de Informação Ambientes de Desenvolvimento de Software.
SISTEMAS OPERACIONAIS I
Processos.
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
+ Java Básico Aula 1 por Flávio Juvenal. + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Introdução JAVA Faculdade Mauricio de Nassau
Ferramentas de Suporte a MDD: Um Quadro Comparativo
UML e a Ferramenta Astah
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Linguagem de Programação JAVA
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
Introdução a Programação Orientada a Objetos
Programação Prof.: Bruno Rafael de Oliveira Rodrigues.
Java Disciplina: Programação II Professora: Mai-Ly Vanessa.
O que é Java? Prof. M.Sc. Ronnison Reges Vidal. Roteiro  Introdução  Java  Máquina Virtual  Versões  JVM, JRE, JDK  Onde usar e Objetivos  Compilando.
Linguagem técnica de programação I Java
Programação em Java Prof. Edvan Chaves.
Introdução Sintaxe Básica da Linguagem JAVA
Introdução a linguagem de Programação Java. Linguagens de Programação Linguagens de máquina(muito difíceis de usar e compreender) – Comanda ações do computador.
Ferramentas para desenvolvimento Java
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
Equipe Danilo Miguel Elias Lacerda Felipe Riguete Henderson Garcia
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Equipe: Kéren Glaucya Marco Aurélio. INTRODUÇÃO  JCreator é um IDE, ou seja, é um Ambiente de Desenvolvimento Integrado, criado pela empresa Xinox Software.
Acessando banco de dados com JAVA.  Linguagem independente de plataforma; ◦ “Write once, run anywhere” ◦ JVM  Java Virtual Machine  Mecanismo que permite.
JBuilder Daniel Almeida, Dayene Mendes, Gustavo Ribeiro, Thiago Dias.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Prof. Cristian Rodrigo Dalcico. Linguagem de Programação Java Aula 1.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Introdução ao Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico FATEC-PB  Centro de Informática, UFPE.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Introdução à plataforma Java. 2 A tecnologia Java Java: linguagem de programação e plataforma de desenvolvimento Criada pela Sun Microsystems Apoiada.
Capítulo 4 Estrutura do Sistema Operacional
Transcrição da apresentação:

A Plataforma Java, suas Tecnologias e Aplicações Diego Ziquinatti

Objetivos deste encontro Apresentar a plataforma Java e suas Tecnologias –Histórico –Características –Peculiaridades Demonstrar aplicações feitas em Java –Empresas que utilizam –Como utilizam –Benefícios

O que é Java? Java é uma especificação bem definida de uma Linguagem de Programação OO, desenvolvida pela Sun Microsystems. Usa-se, ainda, o nome “Java” para identificar: –Ambientes de execução de software, presentes em SO, browsers, celulares, PDA, cartões inteligentes (JavaCards) e eletrodomésticos. –Uma coleção de classes, componentes e frameworks (APIs) para o desenvolvimento de aplicações multiplataforma. –O conjunto de ferramentas que permite o desenvolvimento de aplicativos Java (JDK – Java Development Kit)

O que é a Plataforma Java? Plataforma é um ambiente de software e/ou hardware onde os programas são executados. Plataforma Java: –Java API –JVM (Java Virtual Machine)

Por que Java? Por ser um ambiente de desenvolvimento OO –OO é o paradigma mais forte atualmente –Java é uma linguagem que atende os requisitos OO Pela portabilidade do código produzido –Programe em Windows e execute em Linux –Sem necessidade de recompilar Pelas características de segurança –Applets possuem restrições para acesso de arquivos –Sem endereçamento direto de memória

Por que Java? Pela facilidade de integração a outros ambientes –Java nasceu junto com a Internet –API para integração com sistemas legados Linguagem e ferramentas em constante aperfeiçoamento –Rumo da linguagem definido pela comunidade Java –JCP (Java Community Process) JDK é Free Software, assim como diversas ferramentas –Java pode ser usado comercialmente sem nenhum custo –Diversas ferramentas disponíveis gratuitamente

Como começou? Projeto Green: lançado em 1991 pela Sun Microsystems tinha o objetivo de desenvolver tecnologia para integrar dispositivos eletrônicos como TV´s, CD Players e Computadores. A linguagem inicialmente sugerida foi o C++. Porém, ela não oferecia imediatamente o que era necessário: portabilidade, confiabilidade e programas com tamanho reduzido para dispositivos portáteis. Assim nasceu Oak: nome pelo qual Java foi chamado inicialmente.

Como começou? Oak foi criada pelo arquiteto e programador James Gosling, sendo uma mera ferramenta para os programadores do Projeto Green; mas acabou tendo um potencial maior do que qualquer um poderia ter imaginado. Oak foi desenvolvida baseada em C++ e SmallTalk. Procurou- se aproveitar as características positivas destas linguagens reavaliando os aspectos negativos. Oak surgiu mais simples, segura, portátil e fácil de programar do que C++.

Como começou? Em 1992 o projeto Green lança um pequeno dispositivo portátil, um controle remoto extremamente inteligente. Dotado de uma pequena tela com capacidade touch screen, o usuário interagia com eletrodomésticos através de uma representação animada de uma casa. Foi chamado Star-7.

Como começou? Em 1993 surge a primeira grande oportunidade: uma concorrência pública para o desenvolvimento de uma tecnologia para TV a cabo interativa, porém vencida pela SGI (Silicon Graphics Inc.) Nesta época a Internet era mais para aficionados em computadores que sabiam como manipular protocolos como FTP e Telnet. Um programa chamado Mosaic, construído para o protocolo HTTP, tornou possível a usuários normais a visualização de documentos HTML na Internet. Este foi um marco importante.

Como começou? Os membros do projeto perceberam que a tentativa de desenvolver uma interface interativa, robusta, segura e independente de arquitetura para dispositivos digitais também poderia ser usada na Internet! A Internet era uma rede que ligava centenas de computadores diferentes executando sistemas operacionais diferentes. Estimulados pelo grande crescimento da Internet, Jonathan Payne e Patrick Naughton desenvolvem o programa navegador WebRunner, capaz de efetuar o download e a execução de código Java via Internet.

Apresentado formalmente pela Sun como o navegador HotJava no SunWorld’95, o interesse pela solução se mostrou explosivo. Em setembro/1995, a Netscape Corp. lança a versão 2.0 de seu browser também com capaz de efetuar o download e a execução de pequenas aplicações Java, então denominadas applets. Assim se inicia a história de sucesso do Java. Como começou? Programas escritos em Java que podem ser adicionados em documentos hipertexto. Suportam efeitos de multimídia como sons, interações com o usuário (mouse, teclado), imagens, animações, gráficos.

Como começou? Numa atitude importante, a Sun decide tornar o código-fonte aberto e disponibilizar o Java gratuitamente para a comunidade de desenvolvimento de software, embora detenha todos os direitos relativos à linguagem e as ferramentas de sua autoria. Surge assim o JDK 1.0 (Java Development Kit 1.0) Plataformas inicialmente atendidas: Sun Solaris e Microsoft Windows 95/NT. Progressivamente foram disponibilizados kits para outras plataformas tais como IBM OS/2, Linux e Macintosh.

Como começou? Em 1997, surge o JDK 1.1 que incorpora grandes melhorias para o desenvolvimento de aplicações gráficas e distribuídas. No início de 1999 é lançado o JDK 1.2, contendo tantas melhorias que foi denominado Java 2. A Sun constantemente libera novas versões ou correções bem como novas APIs para desenvolvimento de aplicações específicas. A versão estável mais atual disponível é o JDK 1.6

Evolução da Plataforma JCP (Java Community Process): processo criado pela Sun como forma de evoluir e manter a tecnologia Java aberta e disponível para todos. Através do JCP são definidas as JSRs (Java Specification Request), que ditam as novas tecnologias Java. Mais de 600 empresas participam: –IBM –Apache –JBoss –SAP –Oracle –Nokia –Sony

Características Simples e Dinâmica –Java possui em torno de 50 palavras reservadas. –As funcionalidades da plataforma estão nas APIs. Orientada a Objetos –Tudo em Java são classes ou instância de uma classe. Exceção: Tipos Primitivos. –Atende os requisitos para ser considerada OO: Abstração, Encapsulamento e Hereditariedade.

Características Portável (independência de plataforma) –Java gera uma linguagem de máquina (byte-codes) destinada a uma única plataforma, a JVM (Java Virtual Machine). –Em teoria, pode-se implementar uma JVM para qualquer plataforma de hardware. Interpretada –Por ser interpretada não é comparada à velocidade de execução de código nativo. –Algumas JVMs dispõem de compiladores JIT (Just In Time) que compilam os byte-codes para código nativo em tempo de execução.

Características Robusta e Segura –Não implementa aritmética de ponteiros. –Possui mecanismo de liberação automática de memória. –É fortemente tipada: não permite conversão implícita de tipos. –Não permite herança múltipla de classes (mas possui interfaces). –Exige o tratamento de exceções em tempo de compilação. –Mecanismos de segurança podem, no caso de applets, evitar operações no sistema de arquivos.

Características Distribuída –Aplicativos Java podem acessar objetos remotos. –API extensa para protocolos de rede, como TCP/IP, HTTP e FTP. Multithreading –Permite a execução de múltiplas rotinas concorrentes. –Permite o gerenciamento da sincronização destas rotinas concorrentes.

Outras características Case-sensitive: –Em java maiúsculas de minúsculas são diferentes. Não existem variáveis globais ou funções independentes: –Toda variável ou função pertence a uma classe ou objeto Arquivo fonte tem extensão.java Classe compilada tem extensão.class Classes podem ser agrupadas em arquivos.jar

A JVM é a parte do Java responsável pela execução do byte- code, independente de plataforma. JVM (Java Virtual Machine)

Execução em Java

Garbage Collector Thread de baixa prioridade que libera da memória automaticamente objetos não mais referenciados no escopo do programa. Reside na JVM. Vantagem direta: libera o programador da responsabilidade de destruir objetos criados.

Distribuições Java Java Standard Edition – Java SE –APIs essenciais para qualquer aplicação java Core Java, Desktop Java Java Enterprise Edition – Java EE –APIs para o desenvolvimento de aplicações distribuídas JSP (Java Server Page), EJB (Enterprise Java Beans) Java Micro Edition – Java ME –APIs para o desenvolvimento de aplicações p/ portáteis PDA (Personal Digital Assistant), Palms, Celulares, TVs digitais

Aplicação Java SE

Aplicação Java EE

Aplicação Java ME

Para trabalhar com Java é necessário conhecer suas APIs, as quais residem em pacotes (packages). Cada distribuição possui uma coleção de APIs. APIs Java

O que é aprender Java? Conhecer a sintaxe da linguagem Java –Tipos, controles, estruturas condicionais. Aprender as APIs, suas classes e seus métodos –java.lang; java.io; java.util; java.sql; javax.swing. Conhecer a teoria da OO: –Classes, Objetos, Métodos, Atributos, Herança. Dominar ferramentas e tecnologias auxiliares –IDEs, UML, XML, Design Patterns, etc.

Como começar com Java Instalar JDK. –Download em JDK - não é ambiente visual (IDE), é um conjunto de ferramentas para desenvolvimento Java. Composto por: –javac.exe – Compilador Java –java.exe – Máquina virtual Java (JVM) –jre.exe – Java Runtime Environment –appletviewer.exe – Visualizador de Applets –javadoc.exe - Composição de documentação –jdb.exe – Depurador de programas

IDEs para Java EclipseEclipse — projeto aberto iniciado pela IBM NetBeansNetBeans — ambiente criado pela Sun Microsystems JBuilderJBuilder — ambiente desenvolvido pela Borland JDeveloperJDeveloper — IDE desenvolvida pela Oracle JCreatorJCreator —ambiente desenvolvido pela Xinox BlueJBlueJ — ambiente desenvolvido para iniciantes IntelliJ IDEAIntelliJ IDEA — IDE desenvolvida pela JetBrains

Ferramentas CASE Ferramenta CASE é um software que dispõe de mecanismos que auxiliam na construção de um software. Diagramas, Geração de Código, Engenharia Reversa e Mapeamento OO-Relacional. Ferramentas CASE para Java: Rational Rose Argo UML Poseidon UML Jude:

Exemplos em Java SwingSet2: software demonstrativo que permite verificar funcionalidades de Java como interface gráfica, multithread e Look&Feel. SwingSet2.jar JAgenda: software desenvolvido para demonstrar o uso do Java com interface gráfica, persistindo em arquivo XML. JAgenda.jar

Java no Brasil Banco do Brasil: desenvolve aplicativos e serviços web com tecnologia Java EE para ambiente corporativo. Globo.com BrasilTelecom Telemig: controla em torno de 1 milhão de celulares com tecnologia Java

Java no Mundo BankBoston –Todo Internet Banking feito em Java Nasa –Telescópio Hubble e sonda espacial Pathfinder. Nokia –Não só em aparelhos, mas nos servidores da empresa. American Express, Visa –Utilizam a tecnologia JavaCard.

Referências (Internet) SUN MICROSYSTEMS ORACLE IBM JavaWorld Java TV (artigo sobre como programar com Java para TV digital) vaFree.pdf

Java TV

Referências (Livros) “JAVA COMO PROGRAMAR” DEITEL, HARVEY M.; DEITEL,PAUL J. “CORE JAVA 2, V.1 – FUNDAMENTOS” HORSTMANN, CAY; CORNELL,GARY.

Formação Java Target Trust Orientação Objetos –Introdução à Orientação Objetos –Conceito de Classe, Objeto, Atributo, Método, Herança, etc. UML –Introdução à UML –Como, quando e onde utilizar os diagramas da UML. Java Fundamentals –Introdução à linguagem Java: estruturas, sintaxe e comandos. –Aplicação da OO em Java

Formação Java Target Trust Java Advanced –API java.io (acesso à arquivos) –API Swing (interface gráfica) –API JDBC (acesso à banco de dados) Java Server Pages (JSP) –Trabalhando com Java na Web. –Struts, JSTL e Taglibs Enterprise Java Beans (EJB) –Trabalhando com objetos distribuídos em Java.

Convidamos você para tomar este café:

Obrigado pela presença! Diego Ziquinatti