Você está na página 1de 54

TENDNCIAS, MERCADO E FUTURO

TECNOLOGIA JAVA
Daniel Destro do Carmo
Bacharel em Cincias da Computao PUC/SP 2001
Ps-graduado em Gesto de Negcios (MBA) IPT/USP 2006
Arquiteto de Software
Desenvolvedor Java
Consultoria, Treinamento e Mentoring
Experincia de 10 anos (8 anos em Java)
Cerca de 50 aplicaes Java diferentes
Palestrante Java: Just Java, Conexo Java
Artigos Publicados: Java Magazine, GUJ
Daniel Destro do Carmo
Discover Technology Informtica
H mais de 12 anos no mercado de TI
Consultoria, Projetos, Solues e Treinamento
Alguns dos clientes atendidos:
Java e Voc
Daniel Destro do Carmo
Quem j usou Java?
Daniel Destro do Carmo
Quem j usou Java?
Todo mundo usa Java no seu dia-a-dia!
Imposto de Renda
Java is Everywhere
Daniel Destro do Carmo
Java is Everywhere, Java Runs Anywhere
Write Once, Run Anywhere!
Daniel Destro do Carmo
Java is Everywhere, Java Runs Anywhere
Compilador gera o bytecode (.class)
Java Virtual Machine (JVM) executa o programa
Daniel Destro do Carmo
Java is Everywhere
E para provar...
TECNOLOGIA JAVA
Daniel Destro do Carmo
Delicioso!
Voc j provou Java?
Daniel Destro do Carmo
Tecnologia Java - Incio
Projeto inicial: Oak (liderado por James Gosling)
Lanada oficialmente em 1995 como Java
Atualmente na verso 6
Oak
Daniel Destro do Carmo
Tecnologia Java Linguagem Java
Orientada a objetos
Fortemente (estaticamente) tipada
Sintaxe parecida com C/C++
Porm no 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" );
}
}
Daniel Destro do Carmo
Tecnologia Java - Plataforma
No apenas uma linguagem de programao
uma plataforma completa para:
Desenvolvimento e
Execuo de sistemas de software
Composta por:
Java Standard Edition (Java SE ou JSE, antigo J2SE)
Desenvolvimento em geral / API padro 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 mveis ou limitados
Daniel Destro do Carmo
Tecnologia Java - Plataforma
Java SE (atualmente verso 6)
Java Runtime Environment (JRE) JVM + APIs
Ambiente de execuo das aplicaes Java
Java Development Kit (JDK) JRE + kit desenv.
Kit de desenvolvimento de aplicaes Java
Daniel Destro do Carmo
Tecnologia Java - Plataforma
Java EE (atualmente verso 5)
Voltado para aplicaes de larga escala
Componentes reutilizveis e distribudos (EJB)
Oferece servios de infra-estrutura
Ex: transaes, mensagens, persistncia etc
Aplicaes web e multi-camadas
Daniel Destro do Carmo
Tecnologia Java - Plataforma
Java ME
Voltado para dispositivos mveis e/ou limitados
Celular, PDA, dispositivos embarcados etc
Funes mais limitadas que o Java SE
Divida em CDC e CLDC
Daniel Destro do Carmo
Tecnologia Java - Plataforma
Daniel Destro do Carmo
Tecnologia Java Aberta e Padronizada
JVM Open Source (Open JDK)
Java no te prende a um fornecedor (vendor lock-in)
Liberdade para escolher fornecedores
Ex: servidores de aplicao, 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 padres da tecnologia
Expert Groups definem os padres
Java Specification Request (JSR)
JAVA E A SOPA DE LETRINHAS
Daniel Destro do Carmo
Sopa de Letrinhas do Java
Causa certa confuso para os principiantes
So muitas tecnologias e APIs
Cada uma para um propsito
No se preocupe em saber tudo
Aprenda o bsico
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
COMEANDO COM JAVA
Daniel Destro do Carmo
Comeando com Java
Baixe e instale o JDK
http://java.sun.com/javase/downloads/
Escreva os primeiros programas no Notepad
Compile e rode o cdigo na mo (linha de comando)
fundamental entender como funciona o processo
Depois baixe uma IDE (ambiente de programao)
Escolha a sua preferida e ganhe em produtividade
Daniel Destro do Carmo
Comeando com Java - IDE
Existem dezenas de boas IDEs para Java
Integrated Development Environment (IDE)
Daniel Destro do Carmo
Comeando com Java - IDE
Eclipse
Verso atual: Eclipse Ganymede 3.4
Pontos fortes:
A mais adotada no mercado
Leve e fcil de usar
timos plugins e ferramentas
tima Integrao
Aceita outras linguagens
Uso livre (gratuito)
URL: www.eclipse.org
Fornecedor: Eclipse Foundation
Daniel Destro do Carmo
Comeando com Java - IDE
NetBeans
Verso atual: NetBeans IDE 6.1
Pontos fortes:
Boa aceitao no mercado
Leve e fcil de usar
timos plugins e ferramentas
tima Integrao
Aceita outras linguagens
Uso livre (gratuito)
Open Source
URL: www.netbeans.org
Fornecedor: Sun (principal sponsor)
Daniel Destro do Carmo
Comeando com Java - IDE
Oracle JDeveloper
Verso atual: JDveloper 11g
Pontos fortes:
timas ferramentas
tima Integrao com Oracle
Uso livre (gratuito)
Pontos negativos:
Muito integrado com Oracle
URL:
oracle.com/technology/products/jdev/
Fornecedor: Oracle
Daniel Destro do Carmo
Comeando com Java - IDE
IntelliJ
Verso atual: IntelliJ 7
Pontos fortes:
timas ferramentas
tima Integrao
Pontos negativos:
Licensa paga (trialde 30 dias)
URL: www.jetbrains.com/idea/
Fornecedor: Jet Brains
Daniel Destro do Carmo
Comeando 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
Daniel Destro do Carmo
O Que Aprender Sobre Java
Conhecimento bsico inicial
Fundamentos da linguagem
Ferramentas de desenvolvimento
Orientao a Objetos (essencial)
APIs e bibliotecas padro
Colees, I/O, JDBC, etc
Conhecimento avanado
Generics
Threads
Reflection
Daniel Destro do Carmo
O Que Aprender Sobre Java
Conhecimento Web
Especificao de Servlets / JSP
Framework Web (MVC-2)
Struts, Struts2, vRaptor, Mentawai, JavaServer Faces (JSF)
Servidores de Aplicao
Web Container
JavaScript
Ajax
Web 2.0
Daniel Destro do Carmo
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)
Transaes (JTS / JTA)
Servidores de Aplicao
Java EE Container
Daniel Destro do Carmo
O Que Aprender Sobre Java
Servidores de aplicao
So software de infra-estrutura (middleware)
Onde as aplicaes executam no servidor (server side)
Prov: escalabilidade, manutenabilidade, confiabilidade,
disponibilidade, extensibilidade, desempenho, gerenciamento
e segurana
Daniel Destro do Carmo
O Que Aprender Sobre Java
Servidores de aplicao
Web Container executam aplicaes Web / Servlets
Apache Tomcat
Jetty
Java EE Container executam os EJBs e outros servios
Oracle Containers for Java (OC4J)
IBM Web Sphere
BEA Weblogic
Glassfish
JBoss
Daniel Destro do Carmo
Conhecimento do desenvolvedor completo e eficaz
Melhores prticas de programao
Unified Modeling Language (UML)
Design Patterns
Domain Driven Design
Arquitetura de software
Modelo em camadas
Cluster e Load Balance
Alta disponibilidade (HA)
Tolerncia a falhas (fail over)
Metodologias RUP, XP, Scrum
O Que Aprender Sobre Java
CERTIFICAES JAVA
Daniel Destro do Carmo
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)
Certificaes Java
Daniel Destro do Carmo
Certificaes Java
RAIO-X DO MERCADO
Daniel Destro do Carmo
Linguagens Mais Populares (setembro/08)
Posio 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
Daniel Destro do Carmo
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
Daniel Destro do Carmo
Linguagens Mais Populares (setembro/08)
Categoria Participao (%)
Linguagens Orientada a Objetos 57,60
Linguagens Procedurais 39,90
Linguagens Funcionais 1,90
Linguagens Lgicas 0,70
Categoria Participao (%)
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
TENDNCIAS DE MERCADO
Daniel Destro do Carmo
Service-Oriented
Architecture (SOA)
Enterprise Service Bus (ESB)
Integrao:
Workflow, BPM,
Messaging, EJB, FTP,
Web Services, BD, ERP,
CRM, etc
Maior agilidade nos
negcios
Produtividade e reuso
Tendncias de Mercado SOA e ESB
Daniel Destro do Carmo
Linguagens dinmicas (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
Tendncias de Mercado Nova Onda
FUTURO DO JAVA
Daniel Destro do Carmo
Novas verses a caminho
Java SE 7
Java EE 6
Servlets 3.0
EJB 3.1
JPA 2.0
JSF 2.0
Futuro do Java
MATERIAL DE REFERNCIA
Daniel Destro do Carmo
Java Magazine - www.javamagazine.com.br
Mundo Java - www.mundojava.com.br
Revistas
Daniel Destro do Carmo
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
Sites Especializados
Daniel Destro do Carmo
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
Conexo Java - www.conexaojava.com.br
Google Developer Day, dia de Java (So Carlos)
Eventos
daniel@danieldestro.com.br
http://java.danieldestro.com.br
http://www.discover.com.br
Programa de Estgios 2009 (Janeiro)
rh@discover.com.br
Muito Obrigado!

Você também pode gostar