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
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.
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.
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).
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.
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
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
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
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.
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.
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.
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)
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
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
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.
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
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).
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
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
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
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.
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
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>
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
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
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)