Documente Academic
Documente Profesional
Documente Cultură
O passado, o presente, e as tendncias futuras da plataforma de desenvolvimento livre mais utilizada no mundo.
Palestrante
Desenvolvedor JAVA com experincia na utilizao de ferramentas e frameworks OpenSource. Ex-docente do Senac - curso de desenvolvedor JAVA. Ex-docente das Faculdades So Jos e Moacyr Bastos. Ex-Analista de Sistemas da IplanRio. Docente da Academia do Concurso Pblico rea de TI. Docente da SOFEP. Atualmente trabalha como arquiteto de software na FAPES.
Palestrante
Professor do Infnet:
- Projeto de Sistemas e Orientao a Objetos com UML - Java Programming - Java Web Applications
O Java uma linguagem baseada no C++, seu desenvolvimento teve inicio em 1991 com a Sun Microsystems em um projeto de codinome Green.
Java foi criado em 1991 por James Gosling, sob o nome Oak, em homenagem a uma rvore de carvalho que ele via da janela de seu escritrio. Mais tarde descobriu-se que j existia uma linguagem com esse nome. O nome java foi sugerido por acaso quando a equipe visitava a cafeteria (java era o nome de uma cidade de origem de um caf importado).
Caracterstica Principal
Capaz de rodar em diferentes dispositivos de hardware, sem alterao ou recompilao. Era parte do projeto Star Seven equipamentos e casas inteligentes. (*7), em automao de
A Infncia e o Crescimento
Infelizmente, esta era uma idia muito a frente do seu tempo, e o projeto *7 nunca foi comercializado. Em 1994, com o boom da internet, surgiu uma nova rea de aplicao para a linguagem: navegao com contedo dinmico (APPLET JAVA). Aps seu lanamento oficial em 1995, Java e a tecnologia de Applets cresceram rapidamente, atravs de colaborao com a Netscape.
Finalidade da Tecnologia
Criar pginas Web com contedo interativo e dinmico Desenvolver aplicativos corporativos de grande porte Aprimorar a funcionalidade de servidores da WWW Fornecer aplicativos para dispositivos destinados ao consumidor final (telefones celulares, pagers, assistentes pessoais digitais)
Fase Adulta
Com a adoo de novos padres para pginas dinmicas, como Flash, a tecnologia de applets perdeu importncia. Lanada em 1999, a especificao J2EE 1.2 (Java Enterprise Edition) j continha as sementes da plataforma livre dominante no mercado de aplicaes web.
Funcionamento
Programas tradicionais devem ser compilados para cada plataforma.
WINDOWS
LINUX
Funcionamento
Programas Java podem ser compilados uma nica vez, e executam em qualquer lugar.
Caractersticas
Simplicidade
A linguagem derivada da linguagem C e C++, amplamente utilizadas poca. Alm disso, o ambiente retira do programador a responsabilidade de gerenciar a memria e os ponteiros.
Garbage Collector
Caractersticas
Simplicidade Orientada a Objetos
permite a herana e a reutilizao de cdigos de forma dinmica e esttica.
Caractersticas
Simplicidade Orientada a Objetos Independente de Plataforma
Caractersticas
Simplicidade Orientada a Objetos Independente de Plataforma Distribuda
Aplicaes Java podem abrir e acessar objetos atravs da rede via URL's (http/ftp) e com a mesma facilidade que os programadores usam quando acessam um sistema de arquivo local.
Caractersticas
Simplicidade Orientada a Objetos Independente de Plataforma Distribuda Robusta
Java trabalha com uma rgida preveno de comportamento malicioso dos programas, tais como: estouro de pilha, corrupo de memria de outros processos, etc. (fortemente tipada)
Caractersticas
Simplicidade Orientada a Objetos Independente de Plataforma Distribuda Robusta Alto Desempenho
A linguagem Java suporta vrios recursos de alto desempenho, como multithreading, compilao just-in-time e utilizao de cdigo nativo.
Verses
Code Version
J2SE 1.4.2
Developer Version
Java 2
Codename
Mantis
Release
2003
JSE 5.0
Java 5
Tiger
2005
Java 6 Java 7
Mustang Dolphin
2006 2007
A Plataforma Java
:: Java mais que uma linguagem, uma plataforma: Java Standard Edition (JSE) Edio bsica para desenvolvimento desktop. Java Enterprise Edition (JEE) Tecnologias para desenvolvimento em servidores. Java Micro Edition (JME) Edio para desenvolvimento para dispositivos mveis.
Java EE desenhado para suportar aplicaes que implementem servios empresariais para clientes, empregados, fornecedores e quaisquer outros que gerem demandas ou contribuies para a empresa (Tutorial JEE - Sun)
There are two configurations. The first configuration, the Connected Device Configuration (CDC), uses the classic Java virtual machine. This virtual machine is a full-featured virtual machine with the same functionality you would find in the virtual machine residing on your desktop system. The second configuration, the Connected Limited Device Configuration (CLDC), uses the K Virtual Machine, a small footprint virtual machine for severely memory constrained environments. The CLDC is targeted for Java environments of 128-512KB, and the CDC is targeted for Java environments of greater than 512KB.
(java.sun.com/products/personaljava/faq.html)
A Plataforma Java
Java na atualidade
Presente
Java e os Dias de Hoje
Java na atualidade
Hoje Java pode ser encontrado em celulares, DVDs, chips, servidores, browsers, desktops, robs e at espaonaves.
Conta com mais de 5 milhes de desenvolvedores ao redor do mundo, organizados em comunidades que atuam em fruns, projetos e especificaes oficiais.
Desde 2006, em uma iniciativa surpreendente da Sun, Java uma plataforma Open-Source.
Java na atualidade
http://meapplicationdevelopers.dev.java.net/fragmentation.html
Java na atualidade
Java na atualidade
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Java na atualidade
IDEs Java
Os Desafios Futuros
Ao mesmo tempo em que parece estar em seu pice, a linguagem Java nunca enfrentou tantas controvrsias. Diversas iniciativas, em linguagens dinmicas como Ruby/Rails, desafiam abertamente premissas fundamentais do estilo de programao experimentado em Java.
Os Desafios Futuros
O mercado est cada vez mais optando por ambientes hbridos, com o Java e .NET convivendo.
Os Desafios Futuros
Dados de mercado por tamanho:
Pequenas e mdias empresas so dominadas pela Microsoft: .NET Grandes empresas e multi-nacionais guiadas por infraestruturas heterogneas: JAVA EE
Os Desafios Futuros
Produtividade do desenvolvedor:
.NET geralmente aceita por ter maior produtividade. JAVA EE pode requerer desenvolvedores mais sofisticados.
Os Desafios Futuros
Estratgia de deciso 5 fatores a considerar:
Examinar possibilidades de investimentos; Pesar a portabilidade das aplicaes; JAVA EE portvel Verificar complexidade das aplicaes; UI complexas = .NET Arquitetura complexa = JAVA EE Investigar suporte do fabricante; Computar custos com cuidado;
Os Desafios Futuros
Comparativo:
CARACTERSTICA Tecnologia Linguagem Fabricantes Interpretador Pginas Web dinmicas Aplicativos RAD Componentes de negcio Acesso a base de dados Suporta webservices Balanceamento de carga
JAVA EE .NET Padro Depende do Produto JAVA C# Mais de 30 Microsoft JRE CLR JSP ASP.NET Swing, JSF e AJAX Win Forms e Web Forms EJB .NET JDBC ADO.NET Sim Sim Sim Sim
Tipagem ?
Ruby uma linguagem de tipagem-dinmica, como Python, Groovy, Scala, e outras. Rails um framework desenvolvido para Ruby, a fim de agilizar o desenvolvimento de sistemas de internet. A soluo RubyOnRails compete com as tecnologias Java destinadas a construo de Aplicaes Web. A popularidade do Ruby, vem de uma linguagem mais simples, e de um framework que requer pouco cdigo para fazer muitas coisas.
Uma p pgina em Python ou Ruby pode levar metade do tempo que se tomaria para escrevescrev-la em Java Java
Tipagem ?
A comunidade Java no v linguagens dinamicamente-tipadas como inimigas. A especificao Java JSR-223 (Scripting for the Java Platform) prev a abertura da plataforma para execuo de linguagens de script. A possibilidade de utilizar linguagens diferentes para seus fins mais apropriados, em uma plataforma madura um ponto positivo para a maior parte da comunidade Java. Assim, as aplicaes no precisam abrir mo dos tantos recursos e frameworks disponveis para plataforma Java.
Tipagem ?
Futuro ?
Java mais que uma Linguagem
Futuro ?
O futuro do Java no reside na linguagem, mas na plataforma e no ecossistema que se desenvolveu em torno dela. Um exemplo a IDE Eclipse, que apesar de feita em Java, utilizada para desenvolvimento em inmeras linguagens, ambientes, e para fins diversos. Outros exemplos so os super-servidores de aplicaes, como WebSphere, BEA Logic ou JBOSS, que vo muito alm da prpria linguagem, oferecendo melhoria contnua de aplicaes e processos, atravs da concorrncia aberta.
Futuro ?
Por ser portvel e robusta, alm de possuir um rico conjunto de classes, a linguagem Java tem ganhado espao em projetos de robtica e pesquisa aeroespacial.
Fonte: blogs.sun.com/simonri
Fonte: blogs.sun.com/simonri
A tecnologia da plataforma JAVA o suporte a vrias tecnologias que permitem a criao de sistemas deste tipo que, unindo-se a pacotes e Frameworks especficos, oferecem as ferramentas necessrias. (JavaTV ).
O Pioneirismo do Infnet
O Infnet foi o pioneiro do ensino de Java no Rio de Janeiro, ministrando curso desta tecnologia antes mesmo da Sun.
Java Programming I552 Ensinar a programar em Java para alunos que j sabem programar em qualquer outra linguagem. 48 h
Java Web Applications I554 Ensinar questes avanadas do desenvolvimento de aplicaes Web com a linguagem de programao Java e os frameworks mais usados no mercado. 48 h
I552
48 h
I554
48 h
I556
48 h
I558
24 h
I560
32 h
I562
32 h
Agradecimentos
- Toms de Aquino - Rafel Castaneda
OBRIGADO!
www.infnet.edu.br cursos@infnet.edu.br
2122-8800
Esta palestra est disponvel em:
http://www.infnet.edu.br/Home/Eventos/CiclodePalestraseMiniCursos//tabid/253/Default.aspx
Ministrada por