Dados em Java. Introdução

Documentos relacionados
JPA: Persistência padronizada em Java

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

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

UFG - Instituto de Informática

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008

Persistência de dados com JPA. Hélder Antero Amaral Nunes

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

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

WebApps em Java com uso de Frameworks

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

Arquitetura de Banco de Dados

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas

Manual de Procedimentos para Desenvolvimento de Softwares

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Implementação de BD. Banco de dados relacional. Elementos que compõem o banco de dados CAMPO REGISTRO TABELA. Paulo Damico MDK Informática Ltda.

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API

Professor Antonio Benedito Coimbra Sampaio Jr


ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Java e Banco de Dados: JDBC, Hibernate e JPA

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Curso de Aprendizado Industrial Desenvolvedor WEB

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

Plano de Trabalho Docente Ensino Técnico

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Desenvolvendo Aplicações Web com NetBeans

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

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Prof. Marcelo Machado Cunha

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Ferramentas de Administração. PostgreSQL

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS

Júlio Arakaki Ítalo S. Vega

Utilizando JMeter para realizar testes de carga em aplicações Web. Robinson Castilho Bacarin Software Ltda JUGMS

Prof. Marcelo Heitor Teixeira marceloheitor.com. Java API JDBC

BANCO DE DADOS II. AULA MySQL.

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Como é o desenvolvimento de Software?

Programação Orientada a Objetos II

HIBERNATE EM APLICAÇÃO JAVA WEB

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Guia de Início Rápido

J2EE TM Java 2 Plataform, Enterprise Edition

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java

1. Instalando o Java 7 JavaFX e o Netbeans

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração


02/10/2012. Padronização de interfaces. Referências

Agregador de feeds RSS para dispositivos móveis

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

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

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

Persistência de Dados em Java com JPA e Toplink

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

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

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

Spring: Um suite de novas opções para Java EE

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

Banco de Dados Conceito de Arquitetura

Programação para Internet II

Banco de Dados I. Introdução. Fabricio Breve

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Laboratório de Banco de Dados

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Cenário atual de uso e das ferramentas de software livre em Geoprocessamento

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Java Desktop Basis. Brasil, Natal-RN, 29 de maio de 2011 Welbson Siqueira Costa.

Qlik Sense Desktop. Qlik Sense 1.1 Copyright QlikTech International AB. Todos os direitos reservados.

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

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Aula 1 Acesso a Banco de Dados

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

UFG - Instituto de Informática

Transcrição:

Interface Gráfica e Banco de Dados em Java Introdução Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

Licença para uso e distribuição Este material está disponível para uso nãocomercial e pode ser derivado e/ou distribuído, desde que utilizando uma licença equivalente. Atribuição-Uso Não-ComercialCompartilhamento pela mesma licença, versão 2.5 http://creativecommons.org/licenses/by-nc-sa/2.5/deed.pt Você pode copiar, distribuir, exibir e executar a obra, além de criar obras derivadas, sob as seguintes condições: (a) você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante; (b) você não pode utilizar esta obra com finalidades comerciais; (c) Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta. 2

Sobre o curso Aulas expositivas; Exercícios de fixação; Trabalho prático como avaliação ao final; Conteúdo: Interfaces gráficas: Componentes GUI Parte I Componentes GUI Parte II Componentes GUI Parte III Banco de dados: A API JDBC; O framework Hibernate. 3

Sobre o material do curso Bibliografia: Deitel & Deitel Java, Como Programar; Horstmann & Cornell Core Java 2: Volume II; Bauer & King Hibernate em Ação. Slides: Autoria de Vítor Souza (vitorsouza@gmail.com); Abordagem hands on ; Baseado na bibliografia. 4

Sobre os alunos Assume-se que os alunos: Sabem Java Básico; Não conhecem nada sobre interfaces gráficas em Java (AWT, JFC/Swing); Não conhecem nada sobre acesso a bancos de dados em Java (JDBC). Recomenda-se aos alunos: Perguntar SEMPRE que houver dúvida; Estudar a bibliografia em casa; Fazer todos os exercícios; Participar de um JUG. 5

Sobre o instrutor Formação: Graduação em Ciência da Computação, com ênfase em Engenharia de Software, pela UFES; Bolsista de Mestrado em Informática na UFES. Java: Desenvolvedor Java desde 1999; Especialista em desenvolvimento Web; JUG Leader do ESJUG. Profissional: Professor substituto no DI / UFES. 6

Objetivos do curso Tornar os alunos programadores capazes de: Desenvolver interfaces gráficas (janelas) utilizando a API Swing da plataforma Java SE; Construir código Java que consiga conectar-se a diversos sistemas gerenciadores de banco de dados usando o padrão JDBC; Implementar aplicações que utilizem o framework Hibernate para mapeamento objeto/relacional; Entender e alterar código existente que faça uso destas APIs. 7

Introdução à interfaces gráficas GUI Graphical User Interfaces = Interfaces Gráficas com o Usuário; Linguagens de programação oferecem toolkits (kits de ferramentas) para criação de componentes gráficos (widgets); Os componentes dependem da plataforma (Windows, MacOS, Gnome GTK, KDE QT, etc.). 8

Java Abstract Window Toolkit (AWT) Em 1995, a Sun criou a API Abstract Window Toolkit (AWT) para J2SE 1.0; Fina camada de abstração sobre GUI nativa; Alta fidelidade ao toolkit nativo; Maior integração com aplicações nativas; Interfaces desenvolvidas em uma plataforma não ficavam bonitas em outras; Contrário ao princípio WORA. 9

Java Swing A partir do Java 1.2, a Sun incluiu na API do Java SE a tecnologia Swing; Grande abstração sobre GUI nativa: Escrito em Java puro (usando AWT e Java2D); Aparência consistente em plataformas diferentes; Look & Feel plugável; Altamente baseado na arquitetura MVC com projeto altamente orientado a objetos; Perda de desempenho e curva de aprendizado mais íngreme em relação a outros toolkits. 10

Exemplo de janela Swing 11

Java Foundation Classes (JFC) União das tecnologias AWT, Swing e Java2D; Java2D: criação de desenhos em duas dimensões em Java; Framework oficial provido pela plataforma Java SE para construção de GUIs portáveis. 12

Standard Widget Toolkit (SWT) Na mesma época, IBM Visual Age (IDE) torna-se open source nasce o Eclipse IDE; Objetivos: ter look & feel mais próximo do nativo e melhor desempenho, mantendo o alto nível; Meio termo entre AWT e Swing: Usa JNI para acessar toolkits nativos; Implementa seu próprio código quando necessário. JFace: classes utilitárias para implementação de tarefas maçantes em SWT. 13

Exemplo de janelas SWT 14

Ferramentas de desenho Integradas às IDEs: Netbeans (Matisse); Eclipse (Visual Editor, Matisse4Eclipse); Outras... Independentes: Swing Designer; JFormDesigner; FormLayoutMaker; Abeille; Outras... 15

Outras ferramentas Ex.: JGoodies (www.jgoodies.com): 16

Exemplos de aplicações em Swing GLIPS (http://glipssvgeditor.sourceforge.net): 17

Exemplos de aplicações em Swing Jake2 (http://bytonic.de): 18

Exemplos de aplicações em Swing ZipCreator (http://www.zipcreator.com): 19

Exemplos de aplicações em Swing Thought Mapper (http://www.avizsoft.com): 20

Exemplos de aplicações em Swing Aqua Data Studio (http://www.aquafold.com): 21

Exemplos de aplicações em Swing E muitas outras... Azureus (BitTorrent); Programa de declaração de ajuste anual do IR; NetBeans, JasperReports, Java Web Start,...; Etc. Veja mais em: Swing Sightings: http://java.sun.com/products/jfc/tsc/sightings/ Java.com: http://www.java.com/ 22

Foco do curso A tecnologia JFC/Swing e Java2D; Construção de interfaces gráficas sem auxílio de ferramentas de desenho; Construção de interfaces gráficas na ferramenta Matisse, integrada ao NetBeans. 23

Introdução ao acesso a dados Praticamente todo sistema precisa de armazenar dados em memória secundária (persistente); Possibilidades: Diretamente em arquivos (texto ou binário); Sistemas Gerenciadores de Banco de Dados (SGBD). SGBDs são mais usados em grandes sistemas de informação. Existem SGBDs: Relacionais; Objeto/Relacionais; Orientados a objeto. 24

SGBD Relacionais Tecnologia criada nos anos 70; Forte base teórica álgebra relacional; Indústria forte: Oracle, Microsoft, IBM e várias opções open-source; Padrão do mercado, mesmo depois de vários anos do surgimento dos SGBDs OO. 25

Acesso a um SGBDR Linguagens de programação oferecem bibliotecas de conexão com alguns SGBDR; Java tem a API JDBC (Java DataBase Conectivity): Definição de interface genérica para acesso; Implementação fornecida pelos fabricantes, por meio de drivers; Vários níveis de compatibilidade com a API: 1 4. Java SE inclui: A API JDBC (interfaces); Uma implementação para ODBC. 26

A incompatibilidade de paradigmas Orientado a objetos x Relacional; Granularidade, herança, identidade, associações, navegação no grafo de objetos. Opções para persistência: Codificação manual de comandos SQL com JDBC; Serialização; Enterprise JavaBeans gerenciados por container; SGBDs orientados a objetos; Mapeamento objeto/relacional (ORM). 27

Mapeamento objeto/relacional ORM (Object/Relational Mapping); Persistência automatizada e transparente de objetos de um aplicativo Java para as tabelas em um banco de dados relacional, usando metadados que descrevem o mapeamento entre os objetos e o banco de dados. Frameworks: Hibernate, OJB, Torque, Castor, Cayenne, etc. 28

Razões para usar ORM Produtividade: elimina a necessidade de escrever código SQL; Manutenção: quanto menos linhas de código, maior a manutenibilidade; Desempenho: os criadores dos frameworks ORM entendem muito mais de BD do que a maioria dos desenvolvedores de aplicativos; Independência de fabricante: geração automática de vários dialetos de SQL. 29

Foco do curso A API JDBC para acesso à bancos de dados via consultas SQL; O uso do framework ORM Hibernate. 30

Exercícios de revisão Revisão de Java Básico 31