• Nenhum resultado encontrado

TECNOLOGIA JAVA TENDÊNCIAS, MERCADO E FUTURO

N/A
N/A
Protected

Academic year: 2021

Share "TECNOLOGIA JAVA TENDÊNCIAS, MERCADO E FUTURO"

Copied!
54
0
0

Texto

(1)

TENDÊNCIAS, MERCADO E FUTURO

(2)

Daniel Destro do Carmo

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

(3)

Daniel Destro do Carmo

Discover Technology Informática

 Há mais de 12 anos no mercado de TI

 Consultoria, Projetos, Soluções e Treinamento

(4)
(5)

Daniel Destro do Carmo

(6)

Daniel Destro do Carmo

Quem já usou Java?

 Todo mundo usa Java no seu dia-a-dia!

(7)
(8)

Daniel Destro do Carmo

Java is Everywhere, Java Runs Anywhere

(9)

Daniel Destro do Carmo

Java is Everywhere, Java Runs Anywhere

 Compilador gera o bytecode (.class)

(10)

Daniel Destro do Carmo

Java is Everywhere

(11)
(12)

Daniel Destro do Carmo

 Delicioso!

(13)

Daniel Destro do Carmo

Tecnologia Java - Início

 Projeto inicial: Oak (liderado por James Gosling)

 Lançada oficialmente em 1995 como Java

 Atualmente na versão 6

(14)

Daniel Destro do Carmo

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" ); }

(15)

Daniel Destro do Carmo

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)

(16)

Daniel Destro do Carmo

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.

(17)

Daniel Destro do Carmo

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

(18)

Daniel Destro do Carmo

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

(19)

Daniel Destro do Carmo

(20)

Daniel Destro do Carmo

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

(21)
(22)

Daniel Destro do Carmo

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…

(23)
(24)

Daniel Destro do Carmo

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)

(25)

Daniel Destro do Carmo

Começando com Java - IDE

 Existem dezenas de boas IDEs para Java

(26)

Daniel Destro do Carmo

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

(27)

Daniel Destro do Carmo

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

(28)

Daniel Destro do Carmo

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

(29)

Daniel Destro do Carmo

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

(30)

Daniel Destro do Carmo

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

(31)
(32)

Daniel Destro do Carmo

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

(33)

Daniel Destro do Carmo

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

(34)

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)

Transações (JTS / JTA)

Servidores de Aplicação

(35)

Daniel Destro do Carmo

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

(36)

Daniel Destro do Carmo

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

(37)

Daniel Destro do Carmo

 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

(38)
(39)

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)

(40)

Daniel Destro do Carmo

(41)
(42)

Daniel Destro do Carmo

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

(43)

Daniel Destro do Carmo

Linguagens Mais Populares (setembro/08)

JAVA C

C++

VB

(44)

Daniel Destro do Carmo

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

(45)
(46)

Daniel Destro do Carmo

 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

(47)

Daniel Destro do Carmo

 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

(48)
(49)

Daniel Destro do Carmo

 Novas versões a caminho

Java SE 7 Java EE 6  Servlets 3.0  EJB 3.1  JPA 2.0 JSF 2.0

Futuro do Java

(50)
(51)

Daniel Destro do Carmo

 Java Magazine - www.javamagazine.com.br

 Mundo Java - www.mundojava.com.br

(52)

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

(53)

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

 Conexão Java - www.conexaojava.com.br

 Google Developer Day, É dia de Java (São Carlos)

(54)

[email protected]

http://java.danieldestro.com.br

http://www.discover.com.br

Programa de Estágios 2009 (Janeiro)

[email protected]

Referências

Documentos relacionados

Para a conservação in situ, Cabo Verde decretou vários biotopos, em todas as ilhas, como áreas protegidas, constituindo uma rede nacional de espaços naturais e que contribuem,

Uma vez que se possua um maior entendimento sobre os fatores genéticos e ambientais que levam ao tabagismo, medidas de tratamento mais efetivas poderão ser desenvolvidas

Para as competições Taça de Portugal, Campeonato Nacional, bem como, para as restantes provas homologadas para ranking (ou, com classificação de Nível III IPSC),

O nível de atividade física dos adultos e dos idosos foi avaliado por meio da versão curta do Questionário Internacional de Atividades Físicas (IPAC) (MATSUDO et al., 2001), o

A aplicação será denominada de SIDOC (Sistema de Documentos Eletrônicos), e utilizará como tecnologia a linguagem de programação Java na sua plataforma JEE (Java

pretende-se encontrar para cada processo os limites de controlo nos quais este seja capaz de estar “sob controlo estatístico” e fixá-los no tempo, no entanto, da

[5] Belmiro Costa, Maria Ermelinda Rodrigues: Novo Espaço 9, Porto Editora, 2015. [6] Belmiro Costa, Ermelinda Rodrigues: Novo Espaço 10- Matemática A, Porto

para tratar doentes com insuficiência cardíaca crónica, quando o tratamento com medicamentos específicos chamados inibidores da enzima de conversão da angiotensina (inibidores da