Your SlideShare is downloading. ×

Java, historico e futuro

4,787

Published on

Visão geral do mundo Java. …

Visão geral do mundo Java.
Fornecer informações que permitam um direcionamento profissional.

Published in: Technology, News & Politics
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,787
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JAVA, PORQUÊ UTILIZÁ-LO? Fabiano Guilherme de Souza – Arquiteto de Sistemas – Unisys Jun 7, 2009 JAVA HOJE Page
  • 2. Palestrante
    • Fabiano Guilherme de Souza
    • [email_address] / [email_address]
    • Especialista em Engenharia de Software pela UFMG
    • Arquiteto de Sistemas na Datamec/Unisys
    • Um dos fundadores do MGJUG, Grupo de Usuários Java de MG
    • Profissional certificado em Java e Microsoft .NET
      • Java: SCWCD / SCBCD / SCPJ2 / SCJA
      • Microsoft: MSCD.NET / MCAD.NET / MCP+SB 
    Jun 7, 2009 JAVA HOJE Page
  • 3. Objetivos
    • Dar uma visão geral do mundo Java
    • Fornecer informações que permitam um direcionamento profissional
    • Duração: aproximadamente 60 minutos
    Jun 7, 2009 JAVA HOJE Page
  • 4. Agenda
    • Java 10 anos!
    • Mercado mundial
    • Porque o sucesso?
    • Especificação e JCP
    • Plataforma Java!
    • Mercado Brasileiro
    • Dicas
    Jun 7, 2009 JAVA HOJE Page
  • 5. Java cresceu!
    • Java fez 10 anos;
    • Evolução:
      • Java 1.0a;
      • Java Development Kit 1.1;
      • Java 2 Platform 1.2;
      • Java 2 Platform 1.3;
      • Java 2 Platform 1.4;
      • Java 2 Platform 5.0 (Tiger);
    • A seguir: Java 6 (Mustang) e 7 (Dolphin).
    Jun 7, 2009 JAVA HOJE Page
  • 6. A Evolução do Java Jun 7, 2009 JAVA HOJE Page
  • 7. O que é Java?
    • Java é...
      • Um software?
      • Uma tecnologia?
      • Uma linguagem de programação?
      • Uma plataforma de desenvolvimento?
      • Uma marca de café?
    • Ou tudo isso? 
    Jun 7, 2009 JAVA HOJE Page
  • 8. Java está em todo lugar Jun 7, 2009 JAVA HOJE Page
  • 9. Applets Jun 7, 2009 JAVA HOJE Page
  • 10. Enterprise Jun 7, 2009 JAVA HOJE Page
  • 11. Móveis Jun 7, 2009 JAVA HOJE Page
  • 12. Desktop Jun 7, 2009 JAVA HOJE Page
  • 13. Brinquedos!
    • Lego Mindstorms firmware!
    Jun 7, 2009 JAVA HOJE Page
  • 14. Algumas empresas que investem em Java Jun 7, 2009 JAVA HOJE Page
  • 15. O mercado
    • Informações do JavaOne 2005:
    • 700 milhões de micros rodando aplicacoes Java;
    • 155 milhões de downloads da Java desde junho de 2003;
    • 12 milhões de visitas por mês ao site java.com;
    • 4,5 milhões de desenvolvedores Java no mundo;
    • 150.000 desenvolvedores registrados no site java.net;
    • 912 membros no JCP;
    • 708 milhões de celulares rodando Java no mundo;
    Jun 7, 2009 JAVA HOJE Page
  • 16. O mercado mundial
    • 635 modelos de celular no mundo com Java;
    • 1 bilhão de Java Card
    • 32 fabricantes de celulares Java no mundo;
    • 140 operadoras de telefonia móvel usando Java;
    • 3 milhões de downloads de J2EE;
    • 28 tipos diferentes de servidores Java;
    • A e-Bay confia em Java para todas suas vendas que ultrapassam US$ 1.400,00 por segundo!
    Jun 7, 2009 JAVA HOJE Page
  • 17. O mercado mundial
    • Estimativa que Java movimenta US$ 100 bilhões/ ano e vem crescendo;
    • Estimativa que o mercado de jogos Java para celulares valerá US$ 1,9 bilhões em 2006;
    • A Sun está em mais de 170 países e tem uma receita annual de US$ 18,3 bilhões;
    • 100% das 500 maiores empresas (segundo a Fortune) usam Java;
    Jun 7, 2009 JAVA HOJE Page
  • 18. Nas Empresas
    • Segundo o Instituto Gartner:
      • Java é a tecnologia escolhida pelas empresas, 60% já usam, 22% planejam;
      • Java e .NET terão 80% do mercado até 2008 (40% cada uma).
    • Java x .NET:
      • Muita guerra de marketing e religião;
      • Não há consenso de qual é superior.
    Jun 7, 2009 JAVA HOJE Page
  • 19. O porquê do sucesso de Java
    • Simples, orientada a objetos;
      • Traz orientação objetos ao mundo comercial
      • Independente de plataforma (WORA);
      • Portável, baseada no poder das redes;
      • Versátil, dinâmica, robusta e segura;
      • Gratuita;
      • Fácil de usar e desenvolver;
      • Popular e rodeada por uma comunidade vibrante!
    Jun 7, 2009 JAVA HOJE Page
  • 20. Características
    • Semelhante a C/C++, mas:
      • É mais simples e tão poderosa quanto: não tem ponteiros, #define, .h, etc.
    • É independente de plataforma;
    • É mais robusta e segura: coletor de lixo, exceções, verificação de tipos, checagem de integridade, suporte nativo a threads.
    Jun 7, 2009 JAVA HOJE Page
  • 21. Java é Orientada a Objetos
    • Para desenvolver bem em Java é necessário saber os conceitos de OO;
    • Caso contrário:
      • Dificilmente você conseguirá evoluir além de programas bem simples;
      • Será difícil entender outros programas e outras pessoas entenderem o seu;
      • Você não estará utilizando o potencial da linguagem;
    Jun 7, 2009 JAVA HOJE Page
  • 22. Mitos
    • Java é lenta!
      • As primeiras versões eram lentas, mas as novas são até mais rápidas que C++.
    • Não possui um ambiente RAD!
      • Há muitas ferramentas de boa produtividade disponíveis, inclusive gratuitas:
        • JCreator
        • JDeveloper
        • Netbeans
        • Eclipse (com plugins)
    • JavaScript é uma derivação de Java!
      • Não. Em comum elas só tem o nome e a sintaxe. São duas linguagens diferentes.
    Jun 7, 2009 JAVA HOJE Page
  • 23. C#, o clone
    • Java foi tão bem idealizada, que a Micro$oft “clonou” a linguagem java
      • Bem-vindo ao C#
      • O próprio Java se inspirou em antecessoras
    • Isso é bom para o profissional, pois facilita a transição entre os mundos do lado negro e do lado claro da força
    • Existe uma sinergia na evolução das linguagens e plataforma .NET e Java. Idéias similares são implementadas nos dois campos.
    Jun 7, 2009 JAVA HOJE Page
  • 24. Java é uma especificação
    • The Java Language Specification Especifica a linguagem de programação Java, sintática e semanticamente, descrevendo todos os seus aspectos. Pode ser comprada como livro ou baixada gratuitamente: http://java.sun.com/docs/books/jls/.
    • The Java Virtual Machine Specification Especifica como uma máquina virtual Java funciona.Pode ser comprada como livro ou baixada gratuitamente: http://java.sun.com/docs/books/vmspec/.
    Jun 7, 2009 JAVA HOJE Page
  • 25. Porque uma especificação?
    • Organizações podem criar suas próprias implementações de Java;
    • Todas elas serão compatíveis, pois devem passar por um teste;
    • Você não fica preso a um fornecedor de software.
    • Mesmo a Microsoft tenta entrar nesse paradigma tornando o C# uma especificação ECMA
    Jun 7, 2009 JAVA HOJE Page
  • 26. Quem faz a especificação?
    • No início, quem criou Java foi a Sun;
    • A partir de 1998, foi criado o Java Community Process (www.jcp.org):
    • O JCP é um processo aberto e participativo de desenvolvimento e revisão das especificações Java;
    • A Sun possui grande influência (Executive Comitee), mas não domina o JCP.
    Jun 7, 2009 JAVA HOJE Page
  • 27. Quem participa
    • Mais de 900 pessoas, empresas e organizações sem fins lucrativos;
    • Empresas desenvolvedoras: Apple, BEA, IBM, JBoss, Oracle, etc.
    • Empresas usuárias: Boeing, Computer Associates, Google, LG, MySQL, Motorola, Palm Software, PeopleSoft, Sony, Sybase, etc.
    • Pessoas: Bruno Souza, Michael Nascimento, Osvaldo Doederlein, etc.
    • Organizações: Apache Software Foundation, SouJava, etc.
    Jun 7, 2009 JAVA HOJE Page
  • 28. Funcionamento JCP
    • JSR (Java Specification Request) Solicitações para especificações Java. Passam por um processo de discussão e aprovação.
    • Pode ser uma nova biblioteca, uma modificação de uma especificação já existente, uma nova plataforma.
    • Para uma nova JSR é necessário informar a necessidade, quais as discussões já existentes e porque as existentes não são suficientes.
    Jun 7, 2009 JAVA HOJE Page
  • 29. Quem implementa os JVMs?
    • Muita gente:
      • A Sun Microsystems (a mais usada);
      • Não-livres: IBM, BEA, Apple, Microsoft, JET, Blackdown, etc.;
      • Livres: Harmony, GNU GCJ/Classpath, Kaffe, etc.;
      • Para fins de pesquisa: JNode, JikesRVM, Sun MVM, IBM CJVM, etc.
    • Todas são compatíveis com a especificação, você escolhe.
    • Na prática o mercado usa a da Sun na maioria dos casos (não fique louco por causa das outras!)
    Jun 7, 2009 JAVA HOJE Page
  • 30. Java é muita coisa: uma plataforma!
    • A Linguagem de programação Java;
    • O ambiente de execução Java;
    • O kit de desenvolvimento Java;
    • Uma biblioteca de classes (API) Java.
    Jun 7, 2009 JAVA HOJE Page
  • 31. Plataforma Java 2
    • Desde a versão 1.2, passou a ser chamada de “Java 2” e foi dividida em:
      • Java 2 Platform Standard Edition (J2SE);
      • Java 2 Platform Enterprise Edition (J2EE);
      • Java 2 Platform Mobile Edition (J2ME).
    • Cada uma tem sua API;
    • A J2SE é base para as outras.
    Jun 7, 2009 JAVA HOJE Page
  • 32. Jogo de nomes
    • A partir da versão 6, tira-se o “2”:
      • Java™ Platform, Standard Edition 6 (Java SE)
      • Java™ Platform, Enterprise Edition 5 (Java EE)
      • Java™ Platform, Micro Edition (Java Micro)
    • O “Java2” permanece na versão atual, porém já usaremos o nome novo.
    Jun 7, 2009 JAVA HOJE Page
  • 33. Java Platform, Standard Edition
    • Ferramentas de desenvolvimento + API núcleo da plataforma Java;
    • Permite o desenvolvimento de aplicações desktop, inclusive com interface gráfica, acesso à banco de dados, I/O, rede,
    • Dividida em:
      • JDK = Java Development Kit;
      • JRE = Java Runtime Environment.
    Jun 7, 2009 JAVA HOJE Page
  • 34. Java Development Kit
    • Somente para os programadores;
    • Contém:
      • Ferramentas de desenvolvimento;
      • Ambiente de execução(JRE);
      • API Java SE (compilada e código-fonte);
      • Programas de demonstração;
      • Bibliotecas adicionais;
      • Documentação (obtida separadamente).
    Jun 7, 2009 JAVA HOJE Page
  • 35. Java Runtime Environment
    • Necessária para rodar programas Java, pois além de compilada, também é interpretada;
    • É a única parte da plataforma Java que os clientes necessitam instalar;
    • Em alguns sistemas operacionais (MacOSX) já vem instalada.
    • Implementação da Sun: ~ 15 MB.
    Jun 7, 2009 JAVA HOJE Page
  • 36. Plataforma suportadas
    • A Sun dá suporte às seguintes plataformas:
      • Windows i586 / AMD64;
      • Linux i586 / AMD64;
      • Solaris SPARC / x86 / x64.
    • A Apple desenvolveu versão para MacOS.
    • Outras:
      • HP UX, FreeBSD, OS/2, AIX, AS/400, OS/390, IRIX, Alpha, SCO, NetWare, etc.;
      • Nem todas são atuais ou completas.
    Jun 7, 2009 JAVA HOJE Page
  • 37. Write Once, Run Anywhere
    • Java é compilada e interpretada:
      • 1.Códigos das classes são compilados para uma linguagem intermediária chamada Bytecode;
      • 2.O Bytecode é interpretado por uma “máquina virtual”: a JVM;
      • 3.A JVM envia comandos específicos da plataforma para o sistema operacional.
    • Isso permite o Write Once, Run Anywhere
      • .NET também embarcou nessa!
        • Projeto Mono
    Jun 7, 2009 JAVA HOJE Page
  • 38. Jun 7, 2009 JAVA HOJE Page
  • 39. Jun 7, 2009 JAVA HOJE Page
  • 40. Principais APIs
    • AWT/Swing: interfaces gráficas;
    • JDBC: acesso a bancos de dados;
    • JNDI: acesso a servidores de nomes;
    • RMI: invocação remota de métodos;
    • i18n: suporte a internacionalização;
    • I/O: entrada e saída(arquivos);
    • JNI: integração com linguagens nativas;
    • Security: segurança;
    • Lang & Util: núcleo da linguagem, utilitários (coleções, datas, compactação, etc.);
    • Concurrency: programação concorrente (threads);
    Jun 7, 2009 JAVA HOJE Page
  • 41. Java Platform, Enterprise Edition
    • Permite o desenvolvimento de aplicações corporativas:
      • Multi-camada, distribuídas, centradas em servidores, altamente robustas, estáveis e escaláveis;
      • Inclui as especificações para desenvolvimento Web: Servlets, JSP, Web Services.
    • Provê serviços Enterprise de maneira padronizada
      • Antes cada um devia construir sua infraestrutura!
    Jun 7, 2009 JAVA HOJE Page
  • 42. Jun 7, 2009 JAVA HOJE Page Servidores de aplicação J2EE e “Containers” JNDI, JMS, JavaMail, JMS, JTA Containers J2EE Server Machine Database Server Machine Applet Container Arquitetura J2EE Fabricantes se concentram aqui
  • 43. Principais servidores de aplicação
    • JBoss (Open source) - 37.0%
    • Apache Tomcat (apenas container Web)
    • Apache Geronimo (Open source)
    • Websphere - 37.2%
    • BEA - 27.2%
    • Oracle - 27.2%
    • Sun Java Enterprise System - 19.7%
      • Hoje baseado no Glassfish, implementação Open Source e de referência do JEE 5
    • Fonte: BZ Research - Dezembro 2005
    Jun 7, 2009 JAVA HOJE Page
  • 44. Boas noticias!
    • Um dos motes do JEE 5 é a simplificação da plataforma
    • É um bom momento para aprender JEE (melhor que nas versões anteriores)
    • Primeiro domine a linguagem e conheça as APIs principais (JSE)
    • Se concentre depois em dominar as tecnologias Web básicas (JSP, Servlets)
    • Depois estude algum framework MVC (Struts tem bom mercado, apesar de envelhecido)
    • Só depois se preocupe com os EJB (que no JEE 5 são bem mais simples)
    Jun 7, 2009 JAVA HOJE Page
  • 45. Mercado Brasileiro
    • Pesquisa DFJUG
    Jun 7, 2009 JAVA HOJE Page
  • 46. Escolaridade Jun 7, 2009 JAVA HOJE Page
  • 47. Tecnologias Jun 7, 2009 JAVA HOJE Page
  • 48. Idade Jun 7, 2009 JAVA HOJE Page
  • 49. Empregos
    • 4 milhões de desenvolvedores Java no Mundo.
      • Estima-se 50 mil ou mais no Brasil
    • Oportunidade:
      • Muitas vagas surgindo;
      • Poucos capacitados, raros certificados;
      • Bons salários.
    • JavaSoft.com.br:
      • Mais de 4000 currículos;
      • Mais de 900 vagas de emprego.
    • Em MG:
      • Mercado ativo e com falta de profissionais qualificados.
    Jun 7, 2009 JAVA HOJE Page
  • 50. Empregos
    • “ Déficit estimado de mais de 15 mil desenvolvedores no
    • Brasil ameaça a competitividade do setor de software”,
    • ComputerWorld, Agosto 2006
    • Tomara que seja verdade! 
    Jun 7, 2009 JAVA HOJE Page
  • 51. Certificações
    • A Sun cria provas para certificar profissionais na plataforma Java;
    • O institutoThomson Prometric aplica a prova em vários lugares do Brasil;
    • Profissional certificado possui reconhecimento no mercado;
    Jun 7, 2009 JAVA HOJE Page
  • 52. Certificações Jun 7, 2009 JAVA HOJE Page Estudar para certificação é uma boa maneira de aprender bem a linguagem Java – Estude para o SCJP
  • 53. Garantindo seu futuro profissional
    • Basta saber só Java? NÃO!
    • É fundamental conhecer bem:
      • Análise orientada a objetos
      • SGBD relacionais (SQL e modelagem relacional)
      • Conhecimento mínimo de ciclo de desenvolvimento de software
      • Saber usar UML
      • Diferencial conhecer Design Pattern GoF e/ou Designs Patterns J2EE
    • Mais que saber a linguagem, é preciso saber a arquitetura e como suas partes se ligam.
    Jun 7, 2009 JAVA HOJE Page
  • 54. Perfis de profissional Java
    • Desenvolvedor Web
      • Desenvolvedor especializado em aplicações Web JEE
    • Desenvolvedor EJB
      • Desenvolvedor especializado em componentes de negócio JEE
    • Desenvolvedor Mobile
      • Desenvolvedor especializado em aplicações móveis JME
    • Arquiteto JEE
      • Analista/desenvolvedor geralmente com larga experiência, especializado em desenhar e projetar aplicações JEE
    • Administrador de servidor de aplicações (ASA)
    • Analista de sistemas com conhecimento de JEE
    Jun 7, 2009 JAVA HOJE Page
  • 55. Empregadores Java em Belo Horizonte
    • Unisys
    • IBM (home office) / Globalvalue
    • Unimed
    • Squadra
    • Powerlogic
    • Synos
    • BMS
    • MSAInfor
    • Telemig Celular
    • Serpro
    • E inúmeras outras!
    Jun 7, 2009 JAVA HOJE Page
  • 56. Potencial de mercado
    • Investimento seguro a médio prazo
      • Mercado Java é uma realidade e está em expansão no Brasil
    • Favorece a liberdade de escolha de fornecedor
      • N-1 das grandes empresas de software optaram por plataforma Java: IBM, ORACLE, SAP, SUN
    • Aplicações de ponta a ponta
      • Tecnologia Java possibilita desenvolvimento de aplicações de ponta a ponta: Servidores, celulares, desktops
    • Inovações tecnológicas
      • Ferramentas Open-Source proporcionam contato com inovações tecnológicas
    Jun 7, 2009 JAVA HOJE Page
  • 57. Brasil
    • O Brasil tem se mostrado referência no mercado Java mundial
    • Presença marcante nos eventos Java One, com muitos palestrantes
    • O Brasil tem potencial para se tornar o celeiro de profissionais Java do Mundo,
    • não fique fora dessa!
    • (O Pinky e o Cerebro, o Cerebro e o Pinky!)
    Jun 7, 2009 JAVA HOJE Page
  • 58. Revistas nacionais
    • www.javamagazine.com.br www.mundojava.com.br
    Jun 7, 2009 JAVA HOJE Page
  • 59. Dicas
    • Cuidado com o framework ou com a API da moda:
      • Saber Struts trás hoje mais vagas do que Spring, por exemplo.
    • Defina um foco;
    • Procure participar de projetos liderados por outras pessoas (projetos open source também são uma boa!).
    • Ganhe experiência prática;
    • Lembre-se: De grão em grão a galinha enche o papo, não adianta tentar abraçar o mundo de uma vez!
    Jun 7, 2009 JAVA HOJE Page
  • 60. Dicas de carreira
    • Fernando Anselmo (http://www.dfjug.org/DFJUG/carreira_java.html)
    • 1. Uma segunda língua é uma das coisas mais importantes se você quiser tentar um emprego (terceira, quarta, quinta...)
    • 2. Certificação não te garante emprego (apesar de que ajuda bastante), te garante espaço.
    • 3. Aproveitar que você está na Faculdade já veja logo as oportunidades de estágio.
    • 4. Aprenda o máximo que você puder absorver, também não adianta conhecimentos superficiais (Melhor aprender bem uma única coisa do que dez superficialmente - Sun Tzu)
    • 5. Não faça como cavalo de carroça: "Tapa-olhos dos lados para não se assustar". Se assuste.
    Jun 7, 2009 JAVA HOJE Page
  • 61. Dicas de Carreira
    • 6. Não tenha medo dos seus erros, aprenda com eles.
    • 7. Não tema as críticas, aprenda com elas.
    • 8. Não despreze ninguém, pode ser do faxineiro ao presidente, trate-os todos de modo semelhante.
    • 9. Não se apavore com um novo desafio.
    • 10. (esse acho o mais importante) Arrisque-se, mas saiba recuar.
    Jun 7, 2009 JAVA HOJE Page
  • 62. Referências
    • Comunidades virtuais:
      • http://www.portaljava.com
      • http://www.guj.com.br
    • Grupos de usuários:
      • http://www.soujava.org.br
      • http://www.dfjug.org
      • http://www.mgjug.com.br
    • Referência:
      • Márcio D’Avilla Hyperlink - http://www.mhavila.com.br/
    Jun 7, 2009 JAVA HOJE Page
  • 63. O que é o MgJug?
    • Minas Gerais Java Users Group - MGJUG
    • http://www.mgjug.com.br
    • Criado em novembro de 2003
    • Tem como objetivo básico
      • Divulgação da tecnologia Java
      • Formar e fortalecer a comunidade de usuários de tecnologia Java
    Jun 7, 2009 JAVA HOJE Page
  • 64. Conclusão
    • Java já uma tecnologia consolidada
    • É um mundo enorme, portanto é importante dar uma passo de cada vez
    • Mercado de trabalho com excelente potencial
    Jun 7, 2009 JAVA HOJE Page
  • 65. Obrigado pela atenção! Perguntas? [email_address] / [email_address] Jun 7, 2009 JAVA HOJE Page Partes adaptadas da apresentação Tutorial Java Básico Agradecimentos ao Paulo César M. Jeveaux do ESJUG

×