TECNOLOGIA JAVA TENDÊNCIAS, MERCADO E FUTURO



Documentos relacionados
Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Daniel Wildt FACENSA Grupo de Estudos Java - FUJA Slide: 1

UFG - Instituto de Informática

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Curso de Extensão Programação Orientada a Objetos com Java. Última atualização: 25/05/2010

J2EE TM Java 2 Plataform, Enterprise Edition

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br

SUN Camilo Lopes -Sun Certified Programmer Java

Mini-curso Gratuíto.

Orientação a Objetos com Java

Programação de Computadores - I. Profª Beatriz Profº Israel

Grails: o que isso quer dizer? Gilliard Cordeiro

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Experiência em missão crítica de missão crítica

Linguagem de Programação Para Internet II

Como sobreviver com Java 2? Saulo Arruda

Projetos Corporativos Baseados na Tecnologia Java Que Falham: O Que Podemos Aprender Deles?

Guilherme Augusto de Assis

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Professor Antonio Benedito Coimbra Sampaio Jr

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Omar Alejandro Balcon Benvenuto

PROGRAMAÇÃO PARA SERVIDOR INTRODUÇÃO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Java para Desktop. Introdução à Plataforma Java JSE

Mini-curso Gratuito. Globalcode - The Developers Company Slide 1

Curso de Pós-Graduação Desenvolvimento de Aplicativos Web

Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

ORDEM DE SERVIÇO OS 003/DINFO/ /09/2013

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

Programação para Internet II

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Omar Alejandro Balcon Benvenuto

Programação Orientada a Objetos

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Palestrante. Alexandre Faria

MÓDULO Programação para Web 2

IIH Introdução à Informática e Hardware

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Capítulo 1 Introdução

TDC2012. EJB simples e descomplicado, na prática. Slide 1

ANEXO 09 PERFIS PROFISSIONAIS MÍNIMOS

Desenvolvimento Web TCC Turma A-1

INTERESSADOS DEVERÃO CADASTRAR CURRICULO NO SITE TÉCNICO EM INFORMÁTICA

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

Os IDE s (Ambientes de Desenvolvimento Integrado) como ferramentas de trabalho em informática

Certificações Glaucio Scheibel Rafael Chaves

Programação de Computadores II TCC Turma A-1

Fundação Universidade Estadual de Maringá

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

A Tecnologia Java e o Maior Provedor do Brasil. Daniel Rodrigues Ambrósio

Programação para Internet II

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Integração Orientada a Serviços

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

Demoiselle Framework. Palestrante: Flávio Gomes da Silva Lisboa JUN/2009

NOME DA APRESENTAÇÃO

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

PROJELER. Componentes da Solução Intalio BPMS 5.2. Maurício Bitencourt / mauricio.bitencourt@projeler.com.

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

CURSO DESENVOLVEDOR JAVA Edição 2010

Empresa tem 1,5 mil vagas de emprego em TI

3 Serviços na Web (Web services)

PROGRAMAÇÃO JAVA. Parte 1

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

CURSO DESENVOLVEDOR JAVA Edição 2009

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

DE TREINAMENTO PROFISSIONAL -

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

Tutorial Java ME. Deixe o JME surpreender você também! Porque programar com 1 GB de RAM é fácil!! Neto Marin

Apresentação. Fernando Lozano

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Programação Orientada a Objetos (DPADF 0063)

Gerenciamento e melhoria da equipe de desenvolvimento através de Padronização e uso de Metodologias Ágeis como Extreme Programming;

Universidade Federal de Uberlândia

Grupo de Usuários Java do RS 26/11/2004 Daniel Wildt RSJUG

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Groovy & Grails. Arian Pasquali. quarta-feira, 12 de outubro de 11

Sistemas Distribuídos

Java Server Pages: Apresentação e Instalação

Tecnologias Web. Java Enterprise Edition

Desenvolvendo aplicações desktop em Java: presente e futuro

Web Technologies. Tópicos da apresentação

Transcrição:

TECNOLOGIA JAVA TENDÊNCIAS, MERCADO E FUTURO

Bacharel em Ciências da Computação PUC/SP 2001 Pós-graduado em Gestão de Negócios (MBA) IPT/USP 2006 Arquiteto de Software Desenvolvedor Java Consultoria, Treinamento e Mentoring Experiência de 10 anos (8 anos em Java) Cerca de 50 aplicações Java diferentes Palestrante Java: Just Java, Conexão Java Artigos Publicados: Java Magazine, GUJ

Discover Technology Informática Há mais de 12 anos no mercado de TI Consultoria, Projetos, Soluções e Treinamento Alguns dos clientes atendidos:

Java e Você

Quem já usou Java?

Quem já usou Java? Todo mundo usa Java no seu dia-a-dia! Imposto de Renda

Java is Everywhere

Java is Everywhere, Java Runs Anywhere Write Once, Run Anywhere!

Java is Everywhere, Java Runs Anywhere Compilador gera o bytecode (.class) Java Virtual Machine (JVM) executa o programa

Java is Everywhere E para provar...

TECNOLOGIA JAVA

Você já provou Java? Delicioso!

Tecnologia Java - Início Projeto inicial: Oak (liderado por James Gosling) Lançada oficialmente em 1995 como Java Atualmente na versão 6 Oak

Tecnologia Java Linguagem Java Orientada a objetos Fortemente (estaticamente) tipada Sintaxe parecida com C/C++ Porém não possui ponteiros Poderosa linguagem de desenvolvimento de software public class PrimeiroPrograma { public static void main( String[] args ) { System.out.println( "Meu primeiro programa em Java" ); } }

Tecnologia Java - Plataforma Não é apenas uma linguagem de programação É uma plataforma completa para: Desenvolvimento e Execução de sistemas de software Composta por: Java Standard Edition (Java SE ou JSE, antigo J2SE) Desenvolvimento em geral / API padrão desktop, server Java Enterprise Edition (Java EE ou JEE, antigo J2EE) Desenvolvimento enterprise / server-side larga escala Java Micro Edition (Java ME ou JME, antigo J2ME) Desenvolvimento para dispositivos móveis ou limitados

Tecnologia Java - Plataforma Java SE (atualmente versão 6) Java Runtime Environment (JRE) JVM + APIs Ambiente de execução das aplicações Java Java Development Kit (JDK) JRE + kit desenv. Kit de desenvolvimento de aplicações Java

Tecnologia Java - Plataforma Java EE (atualmente versão 5) Voltado para aplicações de larga escala Componentes reutilizáveis e distribuídos (EJB) Oferece serviços de infra-estrutura Ex: transações, mensagens, persistência etc Aplicações web e multi-camadas

Tecnologia Java - Plataforma Java ME Voltado para dispositivos móveis e/ou limitados Celular, PDA, dispositivos embarcados etc Funções mais limitadas que o Java SE Divida em CDC e CLDC

Tecnologia Java - Plataforma

Tecnologia Java Aberta e Padronizada JVM é Open Source (Open JDK) Java não te prende a um fornecedor (vendor lock-in) Liberdade para escolher fornecedores Ex: servidores de aplicação, bibliotecas, ferramentas etc Mantido pelo Java Communnity Process (JCP) Formado por empresas e desenvolvedores Sun, Oracle, IBM, Google, Novell, Xerox, Motorola, etc Define os rumos e os padrões da tecnologia Expert Groups definem os padrões Java Specification Request (JSR)

JAVA E A SOPA DE LETRINHAS

Sopa de Letrinhas do Java Causa certa confusão para os principiantes São muitas tecnologias e APIs Cada uma para um propósito Não se preocupe em saber tudo Aprenda o básico Depois foque no que lhe interessa Aos poucos vá pesquisando as outras letrinhas JVM, JRE, JDK, JSE, JEE, JME, JAX-WS, JAX-P, JAX-B, JNI, JINI, JSP, JSF, EJB, JMS, JMX, JDBC, AWT, XML, RMI/IIOP, SOAP, CDC, CLDC, MIDP, LOG4J

COMEÇANDO COM JAVA

Começando com Java Baixe e instale o JDK http://java.sun.com/javase/downloads/ Escreva os primeiros programas no Notepad Compile e rode o código na mão (linha de comando) É fundamental entender como funciona o processo Depois baixe uma IDE (ambiente de programação) Escolha a sua preferida e ganhe em produtividade

Começando com Java - IDE Existem dezenas de boas IDEs para Java Integrated Development Environment (IDE)

Começando com Java - IDE Eclipse Versão atual: Eclipse Ganymede 3.4 Pontos fortes: A mais adotada no mercado Leve e fácil de usar Ótimos plugins e ferramentas Ótima Integração Aceita outras linguagens Uso livre (gratuito) URL: www.eclipse.org Fornecedor: Eclipse Foundation

Começando com Java - IDE NetBeans Versão atual: NetBeans IDE 6.1 Pontos fortes: Boa aceitação no mercado Leve e fácil de usar Ótimos plugins e ferramentas Ótima Integração Aceita outras linguagens Uso livre (gratuito) Open Source URL: www.netbeans.org Fornecedor: Sun (principal sponsor)

Começando com Java - IDE Oracle JDeveloper Versão atual: JDveloper 11g Pontos fortes: Ótimas ferramentas Ótima Integração com Oracle Uso livre (gratuito) Pontos negativos: Muito integrado com Oracle URL: oracle.com/technology/products/jdev/ Fornecedor: Oracle

Começando com Java - IDE IntelliJ Versão atual: IntelliJ 7 Pontos fortes: Ótimas ferramentas Ótima Integração Pontos negativos: Licensa paga (trialde 30 dias) URL: www.jetbrains.com/idea/ Fornecedor: Jet Brains

Começando com Java - IDE JBuilder 2008 URL: codegear.com/products/jbuilder Fornecedor: Embarcadero Technologies Web Sphere Application Developer URL: ibm.com/software/awdtools/developer /application/ Fornecedor: IBM jedit 4.3 URL: www.jedit.org Fornecedor: jedit Community

O QUE APRENDER SOBRE JAVA

O Que Aprender Sobre Java Conhecimento básico inicial Fundamentos da linguagem Ferramentas de desenvolvimento Orientação a Objetos (essencial) APIs e bibliotecas padrão Coleções, I/O, JDBC, etc Conhecimento avançado Generics Threads Reflection

O Que Aprender Sobre Java Conhecimento Web Especificação de Servlets / JSP Framework Web (MVC-2) Struts, Struts2, vraptor, Mentawai, JavaServer Faces (JSF) Servidores de Aplicação Web Container JavaScript Ajax Web 2.0

O Que Aprender Sobre Java Conhecimento Java EE Enterprise Java Beans (EJB) EJB 3.0 (atual) e EJB 2.1 (legado) Java Persistence API (JPA) Web Services (SOAP / REST) Java Message Service (JMS) Transações (JTS / JTA) Servidores de Aplicação Java EE Container

O Que Aprender Sobre Java Servidores de aplicação São software de infra-estrutura (middleware) Onde as aplicações executam no servidor (server side) Provê: escalabilidade, manutenabilidade, confiabilidade, disponibilidade, extensibilidade, desempenho, gerenciamento e segurança

O Que Aprender Sobre Java Servidores de aplicação Web Container executam aplicações Web / Servlets Apache Tomcat Jetty Java EE Container executam os EJBs e outros serviços Oracle Containers for Java (OC4J) IBM Web Sphere BEA Weblogic Glassfish JBoss

O Que Aprender Sobre Java Conhecimento do desenvolvedor completo e eficaz Melhores práticas de programação Unified Modeling Language (UML) Design Patterns Domain Driven Design Arquitetura de software Modelo em camadas Cluster e Load Balance Alta disponibilidade (HA) Tolerância a falhas (fail over) Metodologias RUP, XP, Scrum

CERTIFICAÇÕES JAVA

Certificações Java Sun Certified Java Associate (SCJA) Sun Certified Java Programmer (SCJP) Sun Certified Java Developer (SCJD) Sun Certified Web Component Developer (SCWCD) Sun Certified Business Component Developer (SCBCD) Sun Certified Developer for Java Web Services (SCDJWS) Sun Certified Mobile Application Developer (SCMAD) Sun Certified Enterprise Architect (SCEA)

Certificações Java

RAIO-X DO MERCADO

Linguagens Mais Populares (setembro/08) Posição Linguagem Popularidade 2007/2008 1 JAVA (%) 20,715 2 C 15,379 3 C++ 10,716 + 4 Visual Basic 10,490 -- 5 PHP 9,243 -- 6 Python 5,012 + 7 Perl 4,841 -- 8 C# 4,334 -- 9 JavaScript 3,130 10 Delphi 3,055 + 11 Ruby 2,762 -- 13 PL/SQL 0,700 -- 20 COBOL 0,360 -- * ASP, ASP.NET, Ruby on Rails desconsideradas. Fonte: TIOBE - http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Linguagens Mais Populares (setembro/08) JAVA C C++ VB * ASP, ASP.NET, Ruby on Rails desconsideradas. Fonte: TIOBE - http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Linguagens Mais Populares (setembro/08) Categoria Participação (%) Linguagens Orientada a Objetos 57,60 Linguagens Procedurais 39,90 Linguagens Funcionais 1,90 Linguagens Lógicas 0,70 Categoria Participação (%) Ling. Estaticamente Tipadas 59,10 Ling. Dinamicamente Tipadas 40,90 * ASP, ASP.NET, Ruby on Rails desconsideradas. Fonte: TIOBE - http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

TENDÊNCIAS DE MERCADO

Tendências de Mercado SOA e ESB Service-Oriented Architecture (SOA) Enterprise Service Bus (ESB) Integração: Workflow, BPM, Messaging, EJB, FTP, Web Services, BD, ERP, CRM, etc Maior agilidade nos negócios Produtividade e reuso

Tendências de Mercado Nova Onda Linguagens dinâmicas (Scripting languages) Ruby on Rails Python Groovy JavaScript Ajax, Prototype, script.aculo.us (Web 2.0) Rodam na JVM e IDEs do Java JRuby Jython Groovy Rhino

FUTURO DO JAVA

Futuro do Java Novas versões a caminho Java SE 7 Java EE 6 Servlets 3.0 EJB 3.1 JPA 2.0 JSF 2.0

MATERIAL DE REFERÊNCIA

Revistas Java Magazine - www.javamagazine.com.br Mundo Java - www.mundojava.com.br

Sites Especializados GUJ - www.guj.com.br Portal Java - www.portaljava.com.br Java - java.sun.com The Server Side - www.theserverside.com Java World - www.javaworld.com InfoQ - www.infoq.com

Eventos Just Java - www.justjava.com.br Sun Tech Days - www.suntechdays.com.br Falando em Java - www.falandoemjava.com.br TDC - www.thedevelopersconference.com.br Conexão Java - www.conexaojava.com.br Google Developer Day, É dia de Java (São Carlos)

daniel@danieldestro.com.br http://java.danieldestro.com.br http://www.discover.com.br Programa de Estágios 2009 (Janeiro) rh@discover.com.br Muito Obrigado!