Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de...

26
1 / 26 Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados Programação de Sistemas e Bancos de Dados Belém, novembro de 2012 Pós-graduação em Banco de Dados para Mercados Corporativos Daniel Henriques Moreira [email protected] Daniel Henriques Moreira [email protected] Ferramentas e Tecnologias I

Transcript of Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de...

Page 1: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

1 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Programação de Sistemas e Bancos de Dados

Belém, novembro de 2012

Pós-graduação em Banco de Dadospara Mercados Corporativos

Daniel Henriques [email protected]

Daniel Henriques [email protected]

Ferramentas e Tecnologias I

Page 2: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

2 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Oracle (1/2)

• Sítio– http://www.oracle.com/us/products/database/index.html

• Definição– SGBD objeto-relacional pago.

• Histórico– Produzido pela Oracle Corporation desde meados da década de

70;– Versão atual: 11g.

Page 3: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

3 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Oracle (2/2)

• Característica objeto-relacional

– Funcionamento/utilização contam com extensões próprias da orientação a objetos

• Definição de tipos complexos;• Criação de tabelas aninhadas;• Definição de métodos e funções;• Herança;• Etc.

– Armazenamento relacional.

Page 4: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

4 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Java (1/5)

• Sítio– http://www.oracle.com/us/technologies/java/overview/index.html

• Definição– Plataforma aberta de desenvolvimento de sistemas de TI

composta por:• Linguagem de programação orientada a objetos;• Máquinas Virtuais (JVMs);• Bibliotecas da Edição Standard (Java SE);• Bibliotecas da Edição Empresarial (Java EE);• Especificações de implementação (JSRs).

Page 5: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

5 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Java (2/5)

• Histórico– Produzido inicialmente pela Sun Microsystems desde 1996;– Vários colaboradores

• Oracle Corporation (Sun Microsystems);• IBM;• Redhat;• Independentes;• Etc.

– Versão atual:• Java SE 7;• Java EE 6.

Page 6: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

6 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Java (3/5)

• Componentes utilizados no módulo (1/3)

– Java SE 6• JDK6 (Java Standard Edition Development Kit 6)

– JVM da Sun Microsystems;– Biblioteca Java SE 6.

• Download e instalação– http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-do

wnload-1501634.html

• Componentes utilizados no módulo (1/3)

– Java SE 6• JDK6 (Java Standard Edition Development Kit 6)

– JVM da Sun Microsystems;– Biblioteca Java SE 6.

• Download e instalação– http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-

download-1501634.html

Page 7: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

7 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Java (4/5)

• Componentes utilizados no módulo (2/3)

– Java EE 6• JSF 2 (Java Server Faces)

– Framework para desenvolvimento de aplicações web que integra códigos escritos em Java e apresentação de dados em páginas HTML;

– Incluído nos projetos em fase de desenvolvimento (i.e. sem necessidade prévia de download);

– Sítio: http://javaserverfaces.java.net

Page 8: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

8 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Java (5/5)

• Componentes utilizados no módulo (3/3)

– JPA 2 (Java Persistence Application Programming Interface)• API capaz de tomar dados orientados a objetos escritos em Java, e

persisti-los em tabelas do modelo relacional;• Incluída nos projetos em fase de desenvolvimento (i.e. sem

necessidade prévia de download);• Advinda da JSR 317: http://jcp.org/en/jsr/detail?id=317

Page 9: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

9 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

UML (1/6)

• Sítio– http://www.uml.org

• Definição– Unified Modeling Language – Linguagem unificada para

modelagem de sistemas.

• Histórico– Unificação,em 1996, de três abordagens para modelar sistemas

orientados a objetos:• Técnica de Rumbaugh;• Técnica de Booch;• Técnica de Jacobson.

– Versão atual: 2.x.

Page 10: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

10 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

UML (2/6)

• Diagramas (1/2)– Estruturais

• Diagrama de classes;• Diagrama de componentes;• Diagrama de estrutura composta;• Diagrama de instalação;• Diagrama de objetos;• Diagrama de pacotes;• Diagrama de perfis.

Page 11: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

11 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

UML (3/6)

• Diagramas (2/2)– Comportamentais

• Diagrama de atividades;• Diagrama de estados de máquina;• Diagrama de casos de uso.

– Interativos• Diagrama de comunicação;• Diagrama de interação;• Diagrama de sequência;• Diagrama de tempo.

Page 12: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

12 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

UML (4/6)

• Diagrama de Classes (1/3)– Definição

• Modela a estrutura de um sistema, por meio de suas classes (com seus atributos e operações), e os relacionamentos entre estas classes.

– Conceitos e Notações (1/3)• Classe, atributo e operação

classeatributos

operações (ou métodos)

Page 13: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

13 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

UML (5/6)

• Diagrama de Classes (2/3)– Conceitos e Notações (2/3)

• Generalização

• Associação

Page 14: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

14 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

UML (6/6)

• Diagrama de Classes (3/3)– Conceitos e Notações (3/3)

• Agregação

• Composição

Page 15: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

15 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

ArgoUML (1/2)

• Sítio– http://argouml.tigris.org

• Definição– Software para construção de modelos em UML;– Gera código .java a partir dos modelos construídos.

• Histórico– Fruto do doutorado de Jason Robbins;– Projeto de código aberto hospedado pela Tigris.org;– Versão atual: 0.34.

Page 16: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

16 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

ArgoUML (2/2)

• Instalação?– Download de arquivo .bat/.sh executável,

comprimido em formato .zip• http://argouml-downloads.tigris.org/argouml-0.34

• Instalação?– Download de arquivo .bat/.sh executável,

comprimido em formato .zip• http://argouml-downloads.tigris.org/argouml-0.34

• Instalação?– Download de arquivo .bat/.sh executável,

comprimido em formato .zip• http://argouml-downloads.tigris.org/argouml-0.34

Page 17: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

17 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Eclipse (1/4)

• Sítio– http://www.eclipse.org

• Definição– IDE para programação em vários tipos de linguagens;– Extensível por meio da instalação de plug-ins.

• Histórico– Inicialmente desenvolvido pela IBM;– Projeto de código aberto pertencente ao consórcio

Eclipse Foundation;– Versão atual: Juno (4.2.1).

Page 18: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

18 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Eclipse (2/4)

• Versão utilizada no módulo (1/3)– Juno (4.2.1) para desenvolvedores Java EE;– Download do executável

• http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/junosr1

Page 19: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

19 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Eclipse (3/4)

• Versão utilizada no módulo (2/3)– Configuração

• Arquivo eclipse.ini– Determinação da JVM;

– Configuração da quantidade máxima de memória utilizada.

(...)-vmC:\Program Files\Java\jdk.1.6.0_31\bin\java-vmargs-Xms40m(...)

(...)-vmC:\Program Files\Java\jdk.1.6.0_31\bin\java-vmargs-Xms256m-Xmx2048m

Page 20: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

20 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Eclipse (4/4)

• Versão utilizada no módulo (3/3)– Instalação de plug-ins

• Help > Install New Software...– Botão Add

Page 21: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

21 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Maven (1/6)

• Sítio– http://maven.apache.org/

• Definição– Software de gestão de projetos de software

• Gestão do [arqué]tipo do projeto de software– Projeto web? Aplicação desktop? Etc.

• Gestão do empacotamento e compilação do software;

• Gestão das bibliotecas necessárias– Automatiza download e instalação de

bibliotecas.

• Etc.

Page 22: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

22 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Maven (2/6)

• Histórico– Desenvolvido pela Apache Software Foundation

desde 2002;– Versão atual: 3.0.4.

• Instalação (1/2)– Plug-in do Eclipse

• Name: Maven• Location: http://download.eclipse.org/technology/m2e/releases

Page 23: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

23 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Maven (3/6)

• Instalação (2/2)– Configuração de Proxy

(para o ambiente do CESUPA)• Abrir arquivo $usuario\.m2\settings.xml

– Criar se não existir;

• Adicionar o conteúdo:

<proxies><proxy>

<active>true</active><protocol>http</protocol><host>10.20.0.5</host>

</proxy></proxies>

Page 24: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

24 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Maven (4/6)

• No Eclipse (1/3)– Criação de novo projeto com seleção de arquétipo

• File > New > Other...– Maven

» Maven Project

Page 25: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

25 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Maven (5/6)

• No Eclipse (2/3)– Identificação do

projeto• Group Id: path da

organização• Artifact Id: nome do

projeto

Page 26: Pós-graduação em Banco de Dados para Mercados Corporativos Programação de Sistemas e Bancos de Dados 1 / 26 Programação de Sistemas e Bancos de Dados Belém,

26 / 26

Pós-

gra

duaçã

o e

m B

anco

de D

ad

os

para

Merc

ad

os

Corp

ora

tivos

Programação de Sistemas e Bancos de Dados

Maven (6/6)

• No Eclipse (3/3)– Arquivo descritor de projeto (pom.xml)<project xmlns="http://maven.apache.org/POM/4.0.0“

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance“xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion> <groupId>br.cesupa</groupId> <artifactId>treino</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>treino Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>treino</finalName> </build></project>

empacotamento

bibliotecas utilizadas(dependências)