SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
Conhecendo Java
                                       O passado, o presente, e as
                                    tendências futuras da plataforma
                                      de desenvolvimento livre mais
  Andre Luiz Monteiro da Costa
                                           utilizada no mundo.
andre.monteiro@prof.infnet.edu.br
Palestrante

 • Desenvolvedor JAVA com experiência na utilização
 de ferramentas e frameworks OpenSource.
 • Ex-docente do Senac - curso de desenvolvedor JAVA.

 • Ex-docente das Faculdades São José e Moacyr Bastos.

 • Ex-Analista de Sistemas da IplanRio.

 • Docente da Academia do Concurso Público – área de TI.

 • Docente da SOFEP.

 • Atualmente trabalha como arquiteto de software na FAPES.
Palestrante

  Professor do Infnet:

      - Projeto de Sistemas e Orientação a Objetos com UML
      - Java Programming
      - Java Web Applications
A Infância de Uma Linguagem


   O Java é uma
   linguagem baseada
   no C++, seu
   desenvolvimento teve
   inicio em 1991 com
   a Sun Microsystems
   em um projeto de
   codinome Green.
A Infância de Uma Linguagem


                    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 escritório.

                    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).
O Objetivo por trás de tudo

    O objetivo do projeto não era a criação de uma nova
       linguagem de programação, mas antecipar e planejar a
       “próxima onda” do mundo digital.
    Eles acreditavam que, em algum tempo, haveria uma
       convergência dos computadores com os equipamentos
       e eletrodomésticos comumente usados pelas pessoas
       no seu dia-a-dia.
Característica Principal
  • Capaz de rodar em diferentes dispositivos de hardware, sem
  alteração ou recompilação.

   • Era parte do projeto Star Seven                                 (*7),   em   automação   de
   equipamentos e casas inteligentes.



                                                 DUKE
                                                 mascote da SUN




Fonte: Sun Microsystems http://java.sun.com/features/1998/05/birthday.html
A Infância e o Crescimento
 • Infelizmente, esta era uma idéia 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 aplicação para a
 linguagem: navegação com conteúdo dinâmico (APPLET JAVA).

 • Após seu lançamento oficial em 1995, Java e a tecnologia de Applets cresceram
 rapidamente, através de colaboração com a Netscape.
Finalidade da Tecnologia
 Criar páginas Web com conteúdo interativo e dinâmico

 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 adoção de novos padrões para páginas dinâmicas, como Flash, a
 tecnologia de applets perdeu importância.

 • Lançada em 1999, a especificação J2EE 1.2 (Java Enterprise Edition) já
 continha as sementes da plataforma livre dominante no mercado de aplicações
 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.




                        “write once, use anywhere!”
Características

 Simplicidade

                  A linguagem é derivada da
                  linguagem C e C++, amplamente
                  utilizadas à época.
                  Além disso, o ambiente retira do
                  programador a responsabilidade de
                  gerenciar a memória e os ponteiros.




                               Garbage Collector
Características

 Simplicidade
 Orientada a Objetos
                       permite a herança e a reutilização
                       de códigos de forma dinâmica e
                       estática.
Características

 Simplicidade
 Orientada a Objetos
 Independente de Plataforma



                          permite a herança e a reutilização
                          de códigos de forma dinâmica e
                          estática.
Características

 Simplicidade
 Orientada a Objetos
 Independente de Plataforma
 Distribuída
                     Aplicações Java podem abrir e
                   acessar objetos através da rede via
                    URL's (http/ftp) e com a mesma
                    facilidade que os programadores
                   usam quando acessam um sistema
                             de arquivo local.
Características

 Simplicidade
 Orientada a Objetos
 Independente de Plataforma
 Distribuída
 Robusta
                   Java trabalha com uma rígida
                   prevenção de comportamento
                malicioso dos programas, tais como:
                  estouro de pilha, corrupção de
                 memória de outros processos, etc.
                        (fortemente tipada)
Características

 Simplicidade
 Orientada a Objetos
 Independente de Plataforma
 Distribuída
                         A linguagem Java suporta vários
                          recursos de alto desempenho,
 Robusta                 como multithreading, compilação
                        just-in-time e utilização de código
 Alto Desempenho                      nativo.
Versões

       Code       Developer   Codename   Release
      Version      Version
     J2SE 1.4.2    Java 2      Mantis     2003


      JSE 5.0      Java 5       Tiger     2005


      JSE 6.0      Java 6      Mustang    2006


      JSE 7.0      Java 7      Dolphin    2007
A Plataforma Java
 :: Java é mais que uma linguagem, é uma plataforma:

  • Java Standard Edition (JSE)‫‏‬
                Edição básica para desenvolvimento desktop.


  • Java Enterprise Edition (JEE)‫‏‬
              Tecnologias para desenvolvimento em servidores.


  • Java Micro Edition (JME)
               Edição para desenvolvimento para dispositivos móveis.
A Plataforma Java - Standard Edition
A Plataforma Java - Standard Edition
A Plataforma Java - Enterprise Edition

  • JEE é uma gama de tecnologias desenvolvidas sobre a distribuição
    básica.

  • Fornecem bases de implementação para software de estrutura
    cliente-servidor, como as aplicações web.

  • O desenvolvedor encontra na plataforma suporte a implementação
    de interfaces, controle da lógica interna de negócio, acesso a banco
    de dados, transações, etc.
A Plataforma Java – Enterprise Edition




“Java EE é desenhado para suportar aplicações que implementem serviços
empresariais para clientes, empregados, fornecedores e quaisquer outros
que gerem demandas ou contribuições para a empresa” (Tutorial JEE - Sun)‫‏‬
A Plataforma Java – Mobile Edition




“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 – Enterprise Edition

 Entre as especificações JEE se encontram:
 •   Servlets (aplicações web)‫‏‬
 •   JDBC (bancos de dados relacionais)‫‏‬
 •   JCA (conexão com mainframes e aplicações legadas)‫‏‬
 •   JTA (acesso a transações distribuídas)‫‏‬
 •   JavaMail (e-mail internet em Java)‫‏‬
 •   JMF (acesso a informações multimídia)‫‏‬
 •   EJB (componentes distribuídos e persistentes)‫‏‬
 •   JAXP (processamento de XML e web services)‫‏‬
 •   JMX (gerenciamento de servidores, redes e aplicações)‫‏‬
A Plataforma Java
Java na atualidade

Presente
  Java e os Dias de Hoje
Java na atualidade

• Hoje Java pode ser encontrado em celulares, DVD´s, chips, servidores,
browsers, desktops, robôs e até espaçonaves.


 • Conta com mais de 5 milhões de desenvolvedores ao redor do mundo,
 organizados em comunidades que atuam em fóruns, projetos e especificações
 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
Ambientes de Desenvolvimento Java
 • Netbeans.

 • Eclipse.

 • Borland JBuilder.

 • Oracle JDeveloper.
IDEs Java
Inserir IDE NEtbeans
Os Desafios Futuros

• Ao mesmo tempo em que parece estar em seu ápice, a linguagem Java nunca
enfrentou tantas controvérsias.

• Diversas iniciativas, em linguagens dinâmicas como Ruby/Rails, desafiam
abertamente premissas fundamentais do estilo de programação experimentado
em Java.
Os Desafios Futuros

• O mercado está cada vez mais optando por ambientes híbridos, com o Java e
.NET convivendo.
Os Desafios Futuros

 • Dados de mercado – por tamanho:

    › Pequenas e médias empresas são dominadas pela Microsoft:

        • .NET

    › Grandes empresas e multi-nacionais guiadas por infra-
      estruturas heterogêneas:

        • 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

 • Estratégia de decisão – 5 fatores a considerar:


     › Examinar possibilidades de investimentos;
     › Pesar a portabilidade das aplicações;
         • JAVA EE é portável
     › Verificar complexidade das aplicações;
         • UI complexas = .NET
         • Arquitetura complexa = JAVA EE
     › Investigar suporte do fabricante;
     › Computar custos com cuidado;
Os Desafios Futuros

 • Comparativo:

            CARACTERÍSTICA           JAVA EE                .NET
       Tecnologia               Padrão            Depende do Produto
       Linguagem                JAVA              C#
       Fabricantes              Mais de 30        Microsoft
       Interpretador            JRE               CLR
       Páginas Web dinâmicas    JSP               ASP.NET
       Aplicativos RAD          Swing, JSF e AJAX Win Forms e Web Forms
       Componentes de negócio   EJB               .NET
       Acesso a base de dados   JDBC              ADO.NET
       Suporta webservices      Sim               Sim
       Balanceamento de carga   Sim               Sim
Tipagem ?
• Ruby é uma linguagem de tipagem-dinâmica, como Python, Groovy, Scala, e
outras.


• Rails é um framework desenvolvido para Ruby, a fim de agilizar o
desenvolvimento de sistemas de internet.


• A solução RubyOnRails compete com as tecnologias Java destinadas a
construção de Aplicações Web.


• A popularidade do Ruby, vem de uma linguagem mais simples, e de um
framework que requer pouco código para fazer muitas coisas.




             “Uma página em Python ou Ruby pode levar metade do tempo que se tomaria para escrevê-la em Java”
                  pá                                                                      escrevê-      Java”
Tipagem ?
• A comunidade Java não vê linguagens dinamicamente-tipadas como inimigas.


• A especificação Java JSR-223 (Scripting for the Java Platform) prevê a abertura
da plataforma para execução 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 aplicações não precisam abrir mão dos tantos recursos e frameworks
disponíveis para plataforma Java.
Tipagem ?
Futuro ?

 Java é mais que uma Linguagem
Futuro ?
• O futuro do Java não 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 inúmeras linguagens, ambientes, e para fins diversos.


 • Outros exemplos são os super-servidores de aplicações, como WebSphere,
 BEA Logic ou JBOSS, que vão muito além da própria linguagem, oferecendo
 melhoria contínua de aplicações e processos, através da concorrência aberta.
Futuro ?
  • Por ser portável e robusta, além de possuir um rico conjunto de classes, a
  linguagem Java tem ganhado espaço em projetos de robótica e pesquisa
  aeroespacial.




Fonte: Sun Microsystems
java.sun.com/developer/technicalArticles/
Programming/robotics/



                                            Fonte: blogs.sun.com/simonri




                                                                           Fonte: blogs.sun.com/simonri
Uma Aposta para o Futuro
 • Mercado de jogos – rodam em qualquer celular com JVM Java.
 • TV Digital – conversores possuem Java em seu middleware.
 • GSM – 90% dos chips GSM adotaram Java como padrão.
 • G24-Java – módulo wireless da Motorola desenvolvido para operar em java,
 ampliando o potencial para personalização de aplicativos e configurações, além
 de permitir que as atualizações sejam realizadas remotamente (11/09/2008).
Uma Aposta para o Futuro

 Televisão Digital no Brasil: os conhecimentos e tecnologias associadas a ela
 ganham destaque e o mercado deve crescer muito nos próximos anos.

 Nicho: desenvolvimento de sistemas que ofereçam suporte á produção de conteúdo.
                                                                               .



 A tecnologia da plataforma JAVA é o suporte a várias tecnologias que permitem a
 criação de sistemas deste tipo que, unindo-se a pacotes e Frameworks específicos,
 oferecem as ferramentas necessárias. (JavaTV ).
Mercado Java - Salários

 Desenvolvedor Junior = R$ 2.259,00 (CLT)‫‏‬

 Desenvolvedor Pleno = R$ 3.560,00 (CLT)‫‏‬

 Desenvolvedor Sênior = R$ 5.015,00 (CLT)‫‏‬

 Gerente de Projetos de Sistemas = R$ 3.832,00 – R$ 8.803,00

 Gerente de TI = R$ 5.563,00 – R$ 13.243,00



                                                 *Valores Médios de Mercado
                                                          Mé
                                                 Fonte: dicasinfo-Exame
                                                        dicasinfo-
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.



      Formação Desenvolvedor Java
         Código   Nome do curso                                                                               Horas


                  Projeto de Sistemas e Orientação a Objetos com UML
          I550                                                                                                40 h
                  Ensinar conceitos de orientação a objetos e sua utilização no processo de desenvolvimento
                  de software usando UML.


                  Java Programming
          I552                                                                                                48 h
                  Ensinar a programar em Java para alunos que já sabem programar em qualquer outra
                  linguagem.



                  Java Web Applications
          I554                                                                                                48 h
                  Ensinar questões avançadas do desenvolvimento de aplicações Web com a linguagem de
                  programação Java e os frameworks mais usados no mercado.
A Formação Completa do Infnet
Formação Desenvolvedor Java: Sistemas Distribuídos
            Código   Nome do curso                                                            Horas

                     Projeto de Sistemas e Orientação a Objetos com UML
             I550    Ensinar conceitos de orientação a objetos e sua utilização no processo   40 h
                     de desenvolvimento de software usando UML.

                     Java Programming
             I552    Ensinar a programar em Java para alunos que já sabem programar em        48 h
                     qualquer outra linguagem.

                     Java Web Applications
                     Ensinar questões avançadas do desenvolvimento de aplicações Web
             I554                                                                             48 h
                     com a linguagem de programação Java e os frameworks mais usados
                     no mercado.

                     Java Enterprise Applications
             I556    Ensinar conceitos avançados de programação em Java para sistemas         48 h
                     com alta demanda de acesso e segurança.

                     Java Security
             I558    Ensinar conceitos avançados de segurança em Java para sistemas           24 h
                     desktop e J2EE.


                     Java Mobile
             I560    Ensinar programação Java para dispositivos móveis, como celulares e      32 h
                     hand helds.


                     Java Workshop
             I562    Colocar em prática o conhecimento avançado de desenvolvimento de         32 h
                     aplicações Java.
Agradecimentos


- Tomás de Aquino

- Rafel Castaneda




           OBRIGADO!
www.infnet.edu.br
                           cursos@infnet.edu.br
                                  2122-8800


                   Esta palestra está disponível em:
http://www.infnet.edu.br/Home/Eventos/CiclodePalestraseMiniCursos//tabid/253/Default.aspx


                                Ministrada por
                    André Luiz Monteiro da Costa


                                     E-mail:
                   andre.monteiro@prof.infnet.edu.br

Mais conteúdo relacionado

Mais procurados

Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoRegis Magalhães
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Raphael Marques
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1bibliotecadobarao
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Java, historico e futuro
Java, historico e futuroJava, historico e futuro
Java, historico e futuroFabiano Souza
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EEEder Magalhães
 
Apostila Java
Apostila JavaApostila Java
Apostila Javadeilton
 
Apostila Java
Apostila JavaApostila Java
Apostila Javadeilton
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaPaulo César M Jeveaux
 
Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipseFilipe Bezerra Sousa
 

Mais procurados (20)

Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Aula 3.ppt
Aula 3.pptAula 3.ppt
Aula 3.ppt
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral Resumo
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
 
Apostila java completo
Apostila java completoApostila java completo
Apostila java completo
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1
 
Java -aula_01
Java  -aula_01Java  -aula_01
Java -aula_01
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Minicurso Java Me
Minicurso Java MeMinicurso Java Me
Minicurso Java Me
 
Java, historico e futuro
Java, historico e futuroJava, historico e futuro
Java, historico e futuro
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
 
Apostila Java
Apostila JavaApostila Java
Apostila Java
 
Apostila Java
Apostila JavaApostila Java
Apostila Java
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com Java
 
Netbeans
NetbeansNetbeans
Netbeans
 
Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipse
 
Java
JavaJava
Java
 

Destaque

Fundamentos de java herbert schildt
Fundamentos de java   herbert schildtFundamentos de java   herbert schildt
Fundamentos de java herbert schildtRicardo Ramos
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidSidney Roberto
 
Desenvolvimento Ria com Java
Desenvolvimento Ria com JavaDesenvolvimento Ria com Java
Desenvolvimento Ria com JavaTI Infnet
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineOtávio Calaça Xavier
 
Fundamentos de Java
Fundamentos de Java Fundamentos de Java
Fundamentos de Java jmosorio777
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 
Web Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLWeb Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLOtávio Calaça Xavier
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com HibernateDanilo Braga
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Claudio Martins
 
JavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosJavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosEduardo Mendes
 
Projeto de arquitetura
Projeto de arquiteturaProjeto de arquitetura
Projeto de arquiteturaEduardo Mendes
 
Projeto e implementacao
Projeto e implementacaoProjeto e implementacao
Projeto e implementacaoEduardo Mendes
 

Destaque (20)

Java para Leigos
Java para LeigosJava para Leigos
Java para Leigos
 
Fundamentos de java herbert schildt
Fundamentos de java   herbert schildtFundamentos de java   herbert schildt
Fundamentos de java herbert schildt
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Desenvolvimento Ria com Java
Desenvolvimento Ria com JavaDesenvolvimento Ria com Java
Desenvolvimento Ria com Java
 
GWT revista espirito
GWT revista espiritoGWT revista espirito
GWT revista espirito
 
Adote OpenJDK
Adote OpenJDKAdote OpenJDK
Adote OpenJDK
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP Doctrine
 
Fundamentos de Java
Fundamentos de Java Fundamentos de Java
Fundamentos de Java
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Web Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLWeb Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQL
 
Java - Aprenda rápido
Java - Aprenda rápidoJava - Aprenda rápido
Java - Aprenda rápido
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com Hibernate
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
JavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosJavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a Objetos
 
Projeto de arquitetura
Projeto de arquiteturaProjeto de arquitetura
Projeto de arquitetura
 
Refatoração
RefatoraçãoRefatoração
Refatoração
 
Projeto e implementacao
Projeto e implementacaoProjeto e implementacao
Projeto e implementacao
 
Grails
GrailsGrails
Grails
 
Modelos de software
Modelos de softwareModelos de software
Modelos de software
 

Semelhante a Conhecendo Java

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia JavaThiago Gonzaga
 
Capacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosCapacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosEliete Regina Souza
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaRosicleia Frasson
 
Curso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaCurso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaAlex Braz
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem JavaUFPA
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoTchelinux
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01Daniel Alves
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01rollbackpt
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1PeslPinguim
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Antonio Alves
 

Semelhante a Conhecendo Java (20)

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Aula 01 o que é java
Aula 01  o que é javaAula 01  o que é java
Aula 01 o que é java
 
Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia Java
 
Capacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosCapacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitos
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 
Curso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaCurso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação java
 
Javafx
JavafxJavafx
Javafx
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
 
Aula 1 1
Aula 1 1Aula 1 1
Aula 1 1
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 

Mais de TI Infnet

Mit em Arquitetura de Software
Mit em Arquitetura de SoftwareMit em Arquitetura de Software
Mit em Arquitetura de SoftwareTI Infnet
 
MBA em Comércio Eletrônico
MBA em Comércio EletrônicoMBA em Comércio Eletrônico
MBA em Comércio EletrônicoTI Infnet
 
Mit em Gestão de Bancos de Dados com Oracle
Mit em Gestão de Bancos de Dados com OracleMit em Gestão de Bancos de Dados com Oracle
Mit em Gestão de Bancos de Dados com OracleTI Infnet
 
Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g TI Infnet
 
Paralelos Pmbok & Engenharia de Software
Paralelos Pmbok & Engenharia de SoftwareParalelos Pmbok & Engenharia de Software
Paralelos Pmbok & Engenharia de SoftwareTI Infnet
 
Metodologia de Gerenciamento De Projetos
Metodologia de Gerenciamento De ProjetosMetodologia de Gerenciamento De Projetos
Metodologia de Gerenciamento De ProjetosTI Infnet
 
Palestra infnet cenário da terceirização de ti no setor público melhores p...
Palestra infnet   cenário da terceirização de ti no setor público  melhores p...Palestra infnet   cenário da terceirização de ti no setor público  melhores p...
Palestra infnet cenário da terceirização de ti no setor público melhores p...TI Infnet
 
Os Impactos da Lei Sarbanes Oxley no Processo de Auditoria e Gestão de TI
Os Impactos da Lei Sarbanes Oxley no Processo de Auditoria e Gestão de TIOs Impactos da Lei Sarbanes Oxley no Processo de Auditoria e Gestão de TI
Os Impactos da Lei Sarbanes Oxley no Processo de Auditoria e Gestão de TITI Infnet
 
Utilização do Modelo de Processos de Negócio pela TI
Utilização do Modelo de Processos de Negócio pela TIUtilização do Modelo de Processos de Negócio pela TI
Utilização do Modelo de Processos de Negócio pela TITI Infnet
 
Governança de TI e Segurança da Informação
Governança de TI e Segurança da InformaçãoGovernança de TI e Segurança da Informação
Governança de TI e Segurança da InformaçãoTI Infnet
 
Apresentação de Governança
Apresentação de GovernançaApresentação de Governança
Apresentação de GovernançaTI Infnet
 
Atualizações do PMBOK 4ª Edição
Atualizações do PMBOK 4ª EdiçãoAtualizações do PMBOK 4ª Edição
Atualizações do PMBOK 4ª EdiçãoTI Infnet
 
O desafio na Gestão de Projetos de TI
O desafio na Gestão de Projetos de TIO desafio na Gestão de Projetos de TI
O desafio na Gestão de Projetos de TITI Infnet
 
Gestão de Carreira em TI
Gestão de Carreira em TIGestão de Carreira em TI
Gestão de Carreira em TITI Infnet
 
Orientação a objetos na prática
Orientação a objetos na práticaOrientação a objetos na prática
Orientação a objetos na práticaTI Infnet
 
Virtualização em Sistemas Computacionais - Palestra Infnet
Virtualização em Sistemas Computacionais - Palestra InfnetVirtualização em Sistemas Computacionais - Palestra Infnet
Virtualização em Sistemas Computacionais - Palestra InfnetTI Infnet
 
Portaria No 1 398, De 18 De Setembro De 2009
Portaria No  1 398, De 18 De Setembro De 2009Portaria No  1 398, De 18 De Setembro De 2009
Portaria No 1 398, De 18 De Setembro De 2009TI Infnet
 

Mais de TI Infnet (19)

Mit em Arquitetura de Software
Mit em Arquitetura de SoftwareMit em Arquitetura de Software
Mit em Arquitetura de Software
 
MBA em Comércio Eletrônico
MBA em Comércio EletrônicoMBA em Comércio Eletrônico
MBA em Comércio Eletrônico
 
Mit em Gestão de Bancos de Dados com Oracle
Mit em Gestão de Bancos de Dados com OracleMit em Gestão de Bancos de Dados com Oracle
Mit em Gestão de Bancos de Dados com Oracle
 
Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g
 
Paralelos Pmbok & Engenharia de Software
Paralelos Pmbok & Engenharia de SoftwareParalelos Pmbok & Engenharia de Software
Paralelos Pmbok & Engenharia de Software
 
Liderança
LiderançaLiderança
Liderança
 
Metodologia de Gerenciamento De Projetos
Metodologia de Gerenciamento De ProjetosMetodologia de Gerenciamento De Projetos
Metodologia de Gerenciamento De Projetos
 
Cobit
CobitCobit
Cobit
 
Palestra infnet cenário da terceirização de ti no setor público melhores p...
Palestra infnet   cenário da terceirização de ti no setor público  melhores p...Palestra infnet   cenário da terceirização de ti no setor público  melhores p...
Palestra infnet cenário da terceirização de ti no setor público melhores p...
 
Os Impactos da Lei Sarbanes Oxley no Processo de Auditoria e Gestão de TI
Os Impactos da Lei Sarbanes Oxley no Processo de Auditoria e Gestão de TIOs Impactos da Lei Sarbanes Oxley no Processo de Auditoria e Gestão de TI
Os Impactos da Lei Sarbanes Oxley no Processo de Auditoria e Gestão de TI
 
Utilização do Modelo de Processos de Negócio pela TI
Utilização do Modelo de Processos de Negócio pela TIUtilização do Modelo de Processos de Negócio pela TI
Utilização do Modelo de Processos de Negócio pela TI
 
Governança de TI e Segurança da Informação
Governança de TI e Segurança da InformaçãoGovernança de TI e Segurança da Informação
Governança de TI e Segurança da Informação
 
Apresentação de Governança
Apresentação de GovernançaApresentação de Governança
Apresentação de Governança
 
Atualizações do PMBOK 4ª Edição
Atualizações do PMBOK 4ª EdiçãoAtualizações do PMBOK 4ª Edição
Atualizações do PMBOK 4ª Edição
 
O desafio na Gestão de Projetos de TI
O desafio na Gestão de Projetos de TIO desafio na Gestão de Projetos de TI
O desafio na Gestão de Projetos de TI
 
Gestão de Carreira em TI
Gestão de Carreira em TIGestão de Carreira em TI
Gestão de Carreira em TI
 
Orientação a objetos na prática
Orientação a objetos na práticaOrientação a objetos na prática
Orientação a objetos na prática
 
Virtualização em Sistemas Computacionais - Palestra Infnet
Virtualização em Sistemas Computacionais - Palestra InfnetVirtualização em Sistemas Computacionais - Palestra Infnet
Virtualização em Sistemas Computacionais - Palestra Infnet
 
Portaria No 1 398, De 18 De Setembro De 2009
Portaria No  1 398, De 18 De Setembro De 2009Portaria No  1 398, De 18 De Setembro De 2009
Portaria No 1 398, De 18 De Setembro De 2009
 

Conhecendo Java

  • 1. Conhecendo Java O passado, o presente, e as tendências futuras da plataforma de desenvolvimento livre mais Andre Luiz Monteiro da Costa utilizada no mundo. andre.monteiro@prof.infnet.edu.br
  • 2. Palestrante • Desenvolvedor JAVA com experiência na utilização de ferramentas e frameworks OpenSource. • Ex-docente do Senac - curso de desenvolvedor JAVA. • Ex-docente das Faculdades São José e Moacyr Bastos. • Ex-Analista de Sistemas da IplanRio. • Docente da Academia do Concurso Público – área de TI. • Docente da SOFEP. • Atualmente trabalha como arquiteto de software na FAPES.
  • 3. Palestrante Professor do Infnet: - Projeto de Sistemas e Orientação a Objetos com UML - Java Programming - Java Web Applications
  • 4. A Infância de Uma Linguagem O Java é uma linguagem baseada no C++, seu desenvolvimento teve inicio em 1991 com a Sun Microsystems em um projeto de codinome Green.
  • 5. A Infância de Uma Linguagem 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 escritório. 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).
  • 6. O Objetivo por trás de tudo O objetivo do projeto não era a criação de uma nova linguagem de programação, mas antecipar e planejar a “próxima onda” do mundo digital. Eles acreditavam que, em algum tempo, haveria uma convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia.
  • 7. Característica Principal • Capaz de rodar em diferentes dispositivos de hardware, sem alteração ou recompilação. • Era parte do projeto Star Seven (*7), em automação de equipamentos e casas inteligentes. DUKE mascote da SUN Fonte: Sun Microsystems http://java.sun.com/features/1998/05/birthday.html
  • 8. A Infância e o Crescimento • Infelizmente, esta era uma idéia 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 aplicação para a linguagem: navegação com conteúdo dinâmico (APPLET JAVA). • Após seu lançamento oficial em 1995, Java e a tecnologia de Applets cresceram rapidamente, através de colaboração com a Netscape.
  • 9. Finalidade da Tecnologia Criar páginas Web com conteúdo interativo e dinâmico 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)‫‏‬
  • 10. Fase Adulta • Com a adoção de novos padrões para páginas dinâmicas, como Flash, a tecnologia de applets perdeu importância. • Lançada em 1999, a especificação J2EE 1.2 (Java Enterprise Edition) já continha as sementes da plataforma livre dominante no mercado de aplicações web.
  • 11. Funcionamento • Programas tradicionais devem ser compilados para cada plataforma. WINDOWS LINUX
  • 12. Funcionamento • Programas Java podem ser compilados uma única vez, e executam em qualquer lugar. “write once, use anywhere!”
  • 13. Características Simplicidade A linguagem é derivada da linguagem C e C++, amplamente utilizadas à época. Além disso, o ambiente retira do programador a responsabilidade de gerenciar a memória e os ponteiros. Garbage Collector
  • 14. Características Simplicidade Orientada a Objetos permite a herança e a reutilização de códigos de forma dinâmica e estática.
  • 15. Características Simplicidade Orientada a Objetos Independente de Plataforma permite a herança e a reutilização de códigos de forma dinâmica e estática.
  • 16. Características Simplicidade Orientada a Objetos Independente de Plataforma Distribuída Aplicações Java podem abrir e acessar objetos através da rede via URL's (http/ftp) e com a mesma facilidade que os programadores usam quando acessam um sistema de arquivo local.
  • 17. Características Simplicidade Orientada a Objetos Independente de Plataforma Distribuída Robusta Java trabalha com uma rígida prevenção de comportamento malicioso dos programas, tais como: estouro de pilha, corrupção de memória de outros processos, etc. (fortemente tipada)
  • 18. Características Simplicidade Orientada a Objetos Independente de Plataforma Distribuída A linguagem Java suporta vários recursos de alto desempenho, Robusta como multithreading, compilação just-in-time e utilização de código Alto Desempenho nativo.
  • 19. Versões Code Developer Codename Release Version Version J2SE 1.4.2 Java 2 Mantis 2003 JSE 5.0 Java 5 Tiger 2005 JSE 6.0 Java 6 Mustang 2006 JSE 7.0 Java 7 Dolphin 2007
  • 20. A Plataforma Java :: Java é mais que uma linguagem, é uma plataforma: • Java Standard Edition (JSE)‫‏‬ Edição básica para desenvolvimento desktop. • Java Enterprise Edition (JEE)‫‏‬ Tecnologias para desenvolvimento em servidores. • Java Micro Edition (JME) Edição para desenvolvimento para dispositivos móveis.
  • 21. A Plataforma Java - Standard Edition
  • 22. A Plataforma Java - Standard Edition
  • 23. A Plataforma Java - Enterprise Edition • JEE é uma gama de tecnologias desenvolvidas sobre a distribuição básica. • Fornecem bases de implementação para software de estrutura cliente-servidor, como as aplicações web. • O desenvolvedor encontra na plataforma suporte a implementação de interfaces, controle da lógica interna de negócio, acesso a banco de dados, transações, etc.
  • 24. A Plataforma Java – Enterprise Edition “Java EE é desenhado para suportar aplicações que implementem serviços empresariais para clientes, empregados, fornecedores e quaisquer outros que gerem demandas ou contribuições para a empresa” (Tutorial JEE - Sun)‫‏‬
  • 25. A Plataforma Java – Mobile Edition “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)‫‏‬
  • 26. A Plataforma Java – Enterprise Edition Entre as especificações JEE se encontram: • Servlets (aplicações web)‫‏‬ • JDBC (bancos de dados relacionais)‫‏‬ • JCA (conexão com mainframes e aplicações legadas)‫‏‬ • JTA (acesso a transações distribuídas)‫‏‬ • JavaMail (e-mail internet em Java)‫‏‬ • JMF (acesso a informações multimídia)‫‏‬ • EJB (componentes distribuídos e persistentes)‫‏‬ • JAXP (processamento de XML e web services)‫‏‬ • JMX (gerenciamento de servidores, redes e aplicações)‫‏‬
  • 28. Java na atualidade Presente Java e os Dias de Hoje
  • 29. Java na atualidade • Hoje Java pode ser encontrado em celulares, DVD´s, chips, servidores, browsers, desktops, robôs e até espaçonaves. • Conta com mais de 5 milhões de desenvolvedores ao redor do mundo, organizados em comunidades que atuam em fóruns, projetos e especificações oficiais. • Desde 2006, em uma iniciativa surpreendente da Sun, Java é uma plataforma Open-Source.
  • 30. Java na atualidade http://meapplicationdevelopers.dev.java.net/fragmentation.html
  • 32. Java na atualidade http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  • 34. Ambientes de Desenvolvimento Java • Netbeans. • Eclipse. • Borland JBuilder. • Oracle JDeveloper.
  • 37. Os Desafios Futuros • Ao mesmo tempo em que parece estar em seu ápice, a linguagem Java nunca enfrentou tantas controvérsias. • Diversas iniciativas, em linguagens dinâmicas como Ruby/Rails, desafiam abertamente premissas fundamentais do estilo de programação experimentado em Java.
  • 38. Os Desafios Futuros • O mercado está cada vez mais optando por ambientes híbridos, com o Java e .NET convivendo.
  • 39. Os Desafios Futuros • Dados de mercado – por tamanho: › Pequenas e médias empresas são dominadas pela Microsoft: • .NET › Grandes empresas e multi-nacionais guiadas por infra- estruturas heterogêneas: • JAVA EE
  • 40. Os Desafios Futuros • Produtividade do desenvolvedor: › .NET é geralmente aceita por ter maior produtividade. › JAVA EE pode requerer desenvolvedores mais sofisticados.
  • 41. Os Desafios Futuros • Estratégia de decisão – 5 fatores a considerar: › Examinar possibilidades de investimentos; › Pesar a portabilidade das aplicações; • JAVA EE é portável › Verificar complexidade das aplicações; • UI complexas = .NET • Arquitetura complexa = JAVA EE › Investigar suporte do fabricante; › Computar custos com cuidado;
  • 42. Os Desafios Futuros • Comparativo: CARACTERÍSTICA JAVA EE .NET Tecnologia Padrão Depende do Produto Linguagem JAVA C# Fabricantes Mais de 30 Microsoft Interpretador JRE CLR Páginas Web dinâmicas JSP ASP.NET Aplicativos RAD Swing, JSF e AJAX Win Forms e Web Forms Componentes de negócio EJB .NET Acesso a base de dados JDBC ADO.NET Suporta webservices Sim Sim Balanceamento de carga Sim Sim
  • 43. Tipagem ? • Ruby é uma linguagem de tipagem-dinâmica, como Python, Groovy, Scala, e outras. • Rails é um framework desenvolvido para Ruby, a fim de agilizar o desenvolvimento de sistemas de internet. • A solução RubyOnRails compete com as tecnologias Java destinadas a construção de Aplicações Web. • A popularidade do Ruby, vem de uma linguagem mais simples, e de um framework que requer pouco código para fazer muitas coisas. “Uma página em Python ou Ruby pode levar metade do tempo que se tomaria para escrevê-la em Java” pá escrevê- Java”
  • 44. Tipagem ? • A comunidade Java não vê linguagens dinamicamente-tipadas como inimigas. • A especificação Java JSR-223 (Scripting for the Java Platform) prevê a abertura da plataforma para execução 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 aplicações não precisam abrir mão dos tantos recursos e frameworks disponíveis para plataforma Java.
  • 46. Futuro ? Java é mais que uma Linguagem
  • 47. Futuro ? • O futuro do Java não 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 inúmeras linguagens, ambientes, e para fins diversos. • Outros exemplos são os super-servidores de aplicações, como WebSphere, BEA Logic ou JBOSS, que vão muito além da própria linguagem, oferecendo melhoria contínua de aplicações e processos, através da concorrência aberta.
  • 48. Futuro ? • Por ser portável e robusta, além de possuir um rico conjunto de classes, a linguagem Java tem ganhado espaço em projetos de robótica e pesquisa aeroespacial. Fonte: Sun Microsystems java.sun.com/developer/technicalArticles/ Programming/robotics/ Fonte: blogs.sun.com/simonri Fonte: blogs.sun.com/simonri
  • 49. Uma Aposta para o Futuro • Mercado de jogos – rodam em qualquer celular com JVM Java. • TV Digital – conversores possuem Java em seu middleware. • GSM – 90% dos chips GSM adotaram Java como padrão. • G24-Java – módulo wireless da Motorola desenvolvido para operar em java, ampliando o potencial para personalização de aplicativos e configurações, além de permitir que as atualizações sejam realizadas remotamente (11/09/2008).
  • 50. Uma Aposta para o Futuro Televisão Digital no Brasil: os conhecimentos e tecnologias associadas a ela ganham destaque e o mercado deve crescer muito nos próximos anos. Nicho: desenvolvimento de sistemas que ofereçam suporte á produção de conteúdo. . A tecnologia da plataforma JAVA é o suporte a várias tecnologias que permitem a criação de sistemas deste tipo que, unindo-se a pacotes e Frameworks específicos, oferecem as ferramentas necessárias. (JavaTV ).
  • 51. Mercado Java - Salários Desenvolvedor Junior = R$ 2.259,00 (CLT)‫‏‬ Desenvolvedor Pleno = R$ 3.560,00 (CLT)‫‏‬ Desenvolvedor Sênior = R$ 5.015,00 (CLT)‫‏‬ Gerente de Projetos de Sistemas = R$ 3.832,00 – R$ 8.803,00 Gerente de TI = R$ 5.563,00 – R$ 13.243,00 *Valores Médios de Mercado Mé Fonte: dicasinfo-Exame dicasinfo-
  • 52. 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. Formação Desenvolvedor Java Código Nome do curso Horas Projeto de Sistemas e Orientação a Objetos com UML I550 40 h Ensinar conceitos de orientação a objetos e sua utilização no processo de desenvolvimento de software usando UML. Java Programming I552 48 h Ensinar a programar em Java para alunos que já sabem programar em qualquer outra linguagem. Java Web Applications I554 48 h Ensinar questões avançadas do desenvolvimento de aplicações Web com a linguagem de programação Java e os frameworks mais usados no mercado.
  • 53. A Formação Completa do Infnet Formação Desenvolvedor Java: Sistemas Distribuídos Código Nome do curso Horas Projeto de Sistemas e Orientação a Objetos com UML I550 Ensinar conceitos de orientação a objetos e sua utilização no processo 40 h de desenvolvimento de software usando UML. Java Programming I552 Ensinar a programar em Java para alunos que já sabem programar em 48 h qualquer outra linguagem. Java Web Applications Ensinar questões avançadas do desenvolvimento de aplicações Web I554 48 h com a linguagem de programação Java e os frameworks mais usados no mercado. Java Enterprise Applications I556 Ensinar conceitos avançados de programação em Java para sistemas 48 h com alta demanda de acesso e segurança. Java Security I558 Ensinar conceitos avançados de segurança em Java para sistemas 24 h desktop e J2EE. Java Mobile I560 Ensinar programação Java para dispositivos móveis, como celulares e 32 h hand helds. Java Workshop I562 Colocar em prática o conhecimento avançado de desenvolvimento de 32 h aplicações Java.
  • 54. Agradecimentos - Tomás de Aquino - Rafel Castaneda OBRIGADO!
  • 55. www.infnet.edu.br cursos@infnet.edu.br 2122-8800 Esta palestra está disponível em: http://www.infnet.edu.br/Home/Eventos/CiclodePalestraseMiniCursos//tabid/253/Default.aspx Ministrada por André Luiz Monteiro da Costa E-mail: andre.monteiro@prof.infnet.edu.br