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

Tamanho: px
Começar a partir da página:

Download "Java Desktop Basis. Brasil, Natal-RN, 29 de maio de 2011 Welbson Siqueira Costa. www.jdbframework.com"

Transcrição

1 Java Desktop Basis Brasil, Natal-RN, 29 de maio de 2011 Welbson Siqueira Costa A velocidade com que Java foi adotada pela comunidade científica é realmente impressionante. Desde o seu lançamento em 1995, ela teve adesão mais rápida que qualquer outra linguagem de programação já inventada. Java foi desenvolvida pela empresa Sun Microsystems, a qual foi adquirida pela Oracle (ORACLE, 2010) no ano de 2009, em um grande processo de compra. Java foi criada como parte integrante de um projeto idealizado pela Sun (projeto Gree), que consistia no desenvolvimento de dispositivos eletrônicos que pudessem se comunicar facilmente uns com os outros. Como o mercado desses dispositivos, para consumidores finais, não se desenvolvia tão rapidamente como a Sun havia previsto, o projeto Gree não obteve o sucesso esperado e a linguagem Java quase sucumbiu ao desuso. No entanto, surgia algo novo no mundo da informática que mudaria o comportamento do planeta, a Internet. Com a criação, em 1993, do primeiro web browser e das páginas HTML estáticas, a Sun vislumbrou a possibilidade de aplicar Java ao desenvolvimento de páginas web dinâmicas. Tal dinamismo foi possível com os applets (DEITEL e DEITEL, 2003). Inicialmente sendo aplicada à web e tendo como grande diferencial a possibilidade de se escrever programas de computador que podem funcionar em qualquer plataforma de hardware ou SO (sistema operacional), Java se desenvolveu e tornou-se uma linguagem de programação de propósito geral

2 2 que juntamente com suas ferramentas para desenvolvimento e execução de software, é considerada, atualmente, como uma plataforma de computação. 1. Java Web x Desktop Há muitos anos Java ganha espaço no desenvolvimento de aplicações web. Essa inclinação para programação Internet não é característica particular dos desenvolvedores Java, mas sim uma tendência praticada pela comunidade de desenvolvedores de software do mundo inteiro, inclusive com a migração de sistemas desktop para plataforma web. Tal escolha se justifica, em grande parte, pela facilidade de distribuição dos sistemas web: é muito simples distribuir uma aplicação Internet, uma vez que ela tenha sido disponibilizada em rede, por meio de um servidor web, basta acessá-la através de um browser. Dessa maneira, mesmo grandes empresas que possuem filiais geograficamente distantes umas das outras, podem implantar e distribuir seus sistemas de computador com redução expressiva nos custos. Tal facilidade de distribuição tornou-se também disponível para sistemas desktop. Atualmente é possível instalar apenas uma cópia do software desktop em um servidor de aplicações e torná-la disponível através de um endereço que aponta para o programa no servidor. O Java Web Start (ORACLE, 2011) é um exemplo de tecnologia gratuita que implementa essa facilidade. Diferentemente da crescente utilização de Java para programação web, sua aplicação no desenvolvimento desktop não conseguia ganhar força, nos primeiros anos após o lançamento da linguagem. Desconsiderando a tendência de desenvolver tudo em tecnologia web, há dois principais motivos que fizeram com que o uso de Java para programação desktop fosse atrasado: 1) Problemas de desempenho: Java é reconhecidamente mais lenta que linguagens de programação compiladas. A principal causa da redução no desempenho é a natureza interpretativa da execução de programas Java pela JVM (Java Virtual Machine). Outro fator considerável é que Java não utilizar API (Application Programming Interface) fornecidas

3 3 pelos SO, ou seja, essa linguagem implementa muito do que poderia ser aproveitado. No entanto, esses dois principais fatores que à torna mais lenta são inerentes à garantia de sua portabilidade entre diferentes plataformas de hardware e SO. Porém, a redução de desempenho foi superada através do aperfeiçoamento de Java, nas versões subsequentes; e, pelo advento de computadores mais rápidos que não são mais afetados pelo atraso causado na interpretação dos bytecodes do código Java na JVM. 2) Improdutividade no desenho de telas para programas desktop: não havia ferramentas para auxiliar os desenvolvedores na criação de telas desktop. Isso tornava a programação bastante improdutiva. Esse problema também foi resolvido com o advento de IDE (Integrated Development Environment) que possibilitam ao desenvolvedor construir a interface gráfica de sistemas desktop sem a necessidade de escrever código. Ou seja, todo trabalho pesado é feito pelo IDE. Atualmente dois IDE se destacam: o Netbeans (NETBEANS, 2010) e o Eclipse (ECLIPSE, 2010), nesse último é necessário instalar plugins que adicionam a funcionalidade de desenho de telas desktop. A tendência da programação web gerou um certo modismo que ganhou mais e mais adeptos despreocupados em analisar as vantagens, desvantagens e reais necessidades de utilização de tecnologias web em detrimento de desktop. Isso causou as migrações desenfreadas de aplicações desktop para web. Entretanto, há cerca de alguns anos a comunidade começou a perceber que aplicativos web podem sofrer muitas limitações, por exemplo, redução no desempenho, usabilidade, segurança, etc. Outra questão desfavorável está relacionada à necessidade de construção de GUI (Graphical User Interface) cada vez mais complexas; tal tarefa pode ser extremamente trabalhosa e improdutiva, além de gerar código difícil de ser mantido e aplicativos com interfaces gráficas de qualidade inferior. Nesse sentido, surge uma visão racional que preza por aplicar determinada tecnologia em conformidade com as reais necessidades. Assim, atenções começam a se voltar para produção de

4 4 idéias relacionadas à programação desktop. Mas, como tudo na informática ocorre muito rápido, o tempo da moda web foi longo e o mundo Java carece de avanços na programação desktop. 2. Persistência em Bancos de Dados com Java Existem muitas alternativas para persistência de dados de programas Java em bancos de dados relacionais e objeto-relacionais. Mas todas elas têm como base a API JDBC (Java DataBase Connectivity). Programar diretamente com JDBC possibilita desenvolver código perfeitamente ajustado às características do SGBD (Sistema de Gerenciamento de Banco de Dados) no qual persistem os dados da aplicação. Isso garante aumento expressivo no desempenho do sistema. Entretanto, desenvolver dessa maneira significa escrever muitas linhas de código, responsáveis apenas pela persistência dos dados, as quais ficam misturadas à lógica do negócio. Essa estratégia pode se refletir em menor inteligibilidade do código e maior esforço para escrevê-lo. Isso pode gerar vários aspectos indesejáveis de engenharia de software como, por exemplo, menor produtividade; maior tempo de desenvolvimento; maiores custos; dificuldades de manutenabilidade, interoperabilidade, portabilidade e reutilização. A API JDBC ocupa o nível fundamental de persistência Java em bancos de dados relacionais e objeto-relacionais. Alternativa mais elegante seria utilizar um framework ORM (Object Relctional Mapping). Frameworks ORM realizam, de forma transparente, o mapeamento entre modelos de classes de uma linguagem OO (Orientada a Objeto) para o modelo tabular dos bancos de dados relacionais e objeto-relacionais (HIBERNATE, 2010). Dessa maneira, o desenvolvedor programa em uma linguagem OO e manipula dados em tabelas como se estivesse manipulando dados armazenados em um banco de dados OO. Escrever código dessa maneira pode resultar em sistemas perfeitamente coerentes com o paradigma da programação OO e com os aspectos desejáveis de engenharia de software, já citados anteriormente. No entanto, o preço a ser pago pode ser bastante caro. Sendo essa uma das formas de manipulação de

5 5 dados mais complexas, ela termina por inserir completa infra-estrutura de persistência à aplicação. Algo indesejável quando se está interessado em desenvolver sistemas pequenos e de médio porte. Para trabalhar com um framework ORM pode ser necessário lidar com regras específicas e, algumas vezes, não padronizadas, por exemplo, linguagens específicas para consulta de dados. No contexto da persistência de dados é possível observar uma lacuna, na qual o desenvolvimento de pequenos e médios aplicativos encontra-se, de certo modo prejudicado, já que deverá lidar diretamente com a API JDBC ou empregar infra-estruturas, em alguns casos, maiores que a aplicação que está sendo desenvolvida. 3. JDB (Java Desktop Basis) Diante da carência de idéias voltadas para programação Java desktop e da lacuna encontrada na persistência desses sistemas em bancos de dados relacionais e objeto-relacionais, torna-se importante produzir tecnologias que ajudem a mitigar as faltas evidenciadas. Contudo, tais produções devem está alinhadas às necessidades da média dos desenvolvedores de software: desenvolver de forma produtiva com garantia de manutenabilidade; construir aplicativos que sejam portáveis e interoperáveis, a final ninguém deseja ficar preso à determinada tecnologia; integrar seus sistemas com componentes GUI que possam manipular os dados no SGBD sem a necessidade de muitos esforços de programação, pois de nada adianta possuir uma camada de persistência que esteja em conformidade com os bons aspectos de engenharia de software, se há falta na integração com componentes visuais; esforços descomunais podem se concentrar nesse último aspecto. Perante as necessidades apresentadas ressalta-se a importância do Framework JDB como alternativa a ser considerada na persistência de dados de aplicações Java desktop. O JDB foi concebido para atuar de forma genérica e permitir a interação com SGBD relacionais e objeto-relacionais, exigindo pouco esforço de programação. Esse Framework faz uso de JDBC, no entanto,

6 6 livra o desenvolvedor dos aspectos cansativos e repetitivos do uso daquela API. O JDB também estende componentes GUI swing, que proporcionam perfeita integração do aplicativo com o SGBD, permitindo que o usuário interaja, de forma natural, com os dados armazenados no banco de dados. Tudo isso é possível com pouco esforço de programação e grande redução na quantidade de código a ser escrita. Dessa maneira, JDB permite que o desenvolvedor esteja livre para se concentrar na lógica de domínio de negócio da aplicação. Com o Framework JDB não há necessidade de seguir regras específicas, como aquelas impostas pelas pesadas infra-estruturas que se comprometem a resolver grande variedade de problemas. JDB é bastante leve e permite portabilidade (aplicativos funcionarão em qualquer plataforma de SO que tenham JVM instalada) e interoperabilidade (poderão interagir com qualquer SGBD relacional ou objeto-relacional que disponibilize driver JDBC). JDB não depende de IDE, dessa maneira é possível desenvolver software usando apenas o Framework JDB, um editor de texto e o JDK (Java SE Development Kit). Entretanto, JDB permite aproveitar as vantagens do IDE Netbeans para um desenvolvimento ainda mais produtivo. 4. Estrutura do JDB O Framework JDB é constituído por classes e componentes JavaBeans esses componentes são classificados em Essenciais e de Controle. Os componentes Essenciais são invisíveis, ou seja, trabalham em segundo plano realizando funções básicas para interação da aplicação com o SGBD. Já os de Controle são componentes visuais para a construção da interface gráfica do usuário. Esses últimos são extensões dos componentes swing de Java. Para saber mais sobre JavaBeans você poderá consultar o capítulo adicional sobre o assunto em (DEITEL e DEITEL, 2003). No contexto do paradigma da programação OO e em engenharia de software o termo componente de software é definido como uma ou mais classes colaborativas que disponibilizam funcionalidades para os programadores através de interfaces. Os componentes do Framework JDB não

7 7 definem interfaces, eles são classes construídas conforme a definição de componentes JavaBeans. Assim, serão representados como classes ou objetos de classes. O Framework JDB é disponibilizado através do arquivo JDB.jar, o qual pode ser encontrado no site Para usar o JDB o desenvolvedor deverá incluí-lo no classpath do Java e importar as classes dos componentes que deseja usar, no interior do código fonte do programa. A Figura 1 representa o diagrama de objetos de uma aplicação de software usando os componentes Essenciais do Framework JDB. No diagrama são evidenciadas as dependências através das linhas tracejadas, como pode ser visto na linha partindo de Aplicação até o objeto do tipo JDBQuery, a qual indica que Aplicação tem uma referência para um JDBQuery. Também é possível observar que os objetos do tipo JDBQuery, JDBUpdate, JDBUpdateTransaction e JDBMetaData dependem do JDBConnection. Essas dependências serão melhor explicadas no livro sobre JDB que será publicado em breve. A Tabela 1 completa a Figura 1 apresentando os tipos dos componentes, seus pacotes e breves descrições de suas funcionalidades. Figura 1 Diagrama de objetos dos componentes Essenciais do JDB e suas dependências.

8 8 Componente JDB (Pacote) JDBConnection (lib.jdb.connection) JDBQuery (lib.jdb.jdbquery) JDBUpdate (lib.jdb.jdbupdate) JDBUpdateTransaction (lib.jdb. jdbupdatetransaction) JDBMetaData (lib.jdb.jdbmetadata) JDBSQLRepository (lib.jdb.jdbsqlrepository) Descrição Realizar conexão com o banco de dados. Realiza consultas ao banco de dados. Também permite alterações, inserções e exclusões (operações CRUD). Permite enviar qualquer bloco de comandos aceito pelo banco de dados e suportados pelo driver JDBC do banco de dados. É um JDBUpdate preparado para trabalhar com transações de bancos de dados. Obtém informações do esquema do banco de dados. Permite associar um caminho de diretório, no qual serão armazenadas as declarações SQL, em formato texto. Isso evita ter que inserir o SQL no interior do código da Aplicação. O uso desse componente é opcional. Tabela 1 Descrição dos componentes Essenciais do JDB. A Figura 2 apresenta as dependências entre os componentes de Controle. É possível perceber que Aplicação tem referências para todos os componentes visuais. Também é possível verificar que todos os componentes de Controle têm uma referência para o componente do tipo JDBQuery. Essa última é necessária para que os componentes visuais possam interagir com os dados no SGBD. A Tabela 2 exibe informações sobre cada componente de controle. Os relacionamentos de dependência entre os componentes JDB podem ser configurados através de propriedades, na paleta de propriedades de cada componente no IDE Netbeans ou no próprio código da aplicação através de métodos set.

9 9 Figura 2 Diagrama de objetos dos componentes de Controle do JDB e suas dependências. Componente JDB (Pacote) JDBButtonCancel (lib.jdb.control.jdbbuttoncancel) JDBButtonDelete (lib.jdb.control.jdbbuttondelete) JDBButtonFirst (lib.jdb.control.jdbbuttonfirst) JDBButtonLast (lib.jdb.control.jdbbuttonlast) JDBButtonNew (lib.jdb.control.jdbbuttonnew) JDBButtonNext (lib.jdb.control.jdbbuttonnext) Descrição É um JButton aperfeiçoado para permitir o cancelamento de uma operação de inserção ou alteração. É um JButton aperfeiçoado para permitir exclusão de dados. É um JButton aperfeiçoado para permitir apontar para o primeiro registro de um conjunto de registros trazidos do banco de dados por uma consulta. É um JButton aperfeiçoado para permitir apontar para o último registro de um conjunto de registros trazidos do banco de dados por uma consulta. É um JButton aperfeiçoado para colocar o JDBQuery no estado de inserção. É um JButton aperfeiçoado para permitir apontar para o próximo registro de um conjunto de registros trazidos do banco de

10 10 dados por uma consulta. É um JButton aperfeiçoado para permitir JDBButtonPrevious apontar para o registro anterior de um (lib.jdb.control.jdbbuttonprevious) conjunto de registros trazidos do banco de dados por uma consulta. É um JButton aperfeiçoado para permitir JDBButtonRefresh executar uma consulta no banco de dados, (lib.jdb.control.jdbbuttonrefresh) previamente definida no JDBQuery. É um JButton aperfeiçoado para permitir JDBButtonSave executar operações de salvar inserções ou (lib.jdb.control.jdbbuttonsave) alterações de dados. JDBPanelButton É um painel contendo todos os (lib.jdb.control.jdbpanelbutton) JDBButtons. É um JLabel aperfeiçoado para exibir o estado do JDBQuery. O qual poderá ser um dos seguintes: editing (quando estiver JDBLableMonitor alterando algum registro), inserting (quando (lib.jdb.control.jdblablemonitor) estiver inserindo um registro), enabled (quando não estiver em um dos estados anteriores). JDBCheckBox É um JCheckBox aperfeiçoado para (lib.jdb.control.jdbcheckbox) interagir com dados boolean. É um JComboBox aperfeiçoado para JDBComboBox interagir com campos determinados de (lib.jdb.control.jdbcombobox) tabelas no banco de dados. JDBListComboBox É um JComboBox aperfeiçoado para listar (lib.jdb.control.jdblistcombobox) dados de uma tabela do banco de dados. É um JComboBox aperfeiçoado para listar dados de uma tabela e permitir alterar ou JDBLookUpComboBox inserir esses dados em uma outra tabela. (lib.jdb.control.jdblookupcombobox) Esse componente permite implementar relacionamentos entre tabelas. Adiciona um campo de lookup a um JDBTable. Realiza funcionalidade JDBLookUpField semelhante ao JDBLookUpComboBox. No (lib.jdb.control.jdblookupfield) entanto, faz isso no interior de uma célula do JDBTable. É um JTable aperfeiçoado para listar dados JDBTable de uma consulta ao banco de dados e (lib.jdb.control.jdbtable) também permitir alterações ou inserções de novos registros. É um JTextArea aperfeiçoado para JDBTextArea possibilitar a interação com campos do tipo (lib.jdb.control.jdbtextarea) text. É um JTextField aperfeiçoado para JDBTextField possibilitar a interação com campos de (lib.jdb.control.jdbtextfield) tabelas. JDBImage Permite exibir imagens armazenadas em (lib.jdb.control.jdbimage) campos to tipo BLOB. Tabela 2 Descrição dos componentes de Controle do JDB.

11 11 5. Aplicação do JDB sem Utilização de IDE Para demonstrar a aplicação do JDB, sem o uso de IDE, será criado um simples programa para manipular dados da tabela CadastroVeiculo do banco de dados DBCadastroVeiculo no SGBD MySQL (MYSQL, 2010). Para demonstração do uso do JDB em conjunto com o IDE Netbeans o leitor poderá investigar os tutoriais disponíveis em A Listagem 1 mostra o script para criação do banco de dados. A Listagem 2 apresenta o arquivo CadastroVeiculo.java que contém o código fonte do programa. No exemplo desse artigo o arquivo CadastroVeiculo.java será armazenado no seguinte diretório C:\cadastro_veiculo\ O interior desse diretório também deverá conter o driver JDBC de conexão com o banco de dados MySQL, disponível no arquivo mysql-connector-java bin.jar (caso deseje o leitor poderá baixar um driver JDBC MySQL mais atual) e o Framework JDB, disponível no arquivo JDB.jar (veja a Figura 4). 1 CREATE DATABASE DBCadastroVeiculo; 2 3 CREATE TABLE DBCadastroVeiculo.CadastroVeiculo ( 4 id int(11) NOT NULL AUTO_INCREMENT, 5 veiculo varchar(40) NOT NULL, 6 ano int(11) NOT NULL, 7 valor double NOT NULL, 8 PRIMARY KEY (id) 9 ); Listagem 1 Script para gerar o banco de dados DBCadastroVeiculo. 1 import java.awt.container; 2 import java.awt.dimension; 3 import java.awt.flowlayout; 4 import javax.swing.jframe; 5 import javax.swing.jlabel; 6 import javax.swing.jscrollpane; 7 import lib.jdb.connection.jdbconnection; 8 import lib.jdb.control.jdbpanelbutton.jdbpanelbutton; 9 import lib.jdb.control.jdbtable.jdbtable; 10 import lib.jdb.control.jdbtextfield.jdbtextfield;

12 12 11 import lib.jdb.jdbquery.jdbquery; public class CadastroVeiculo extends JFrame 14 { 15 private JDBPanelButton jdbpanelbutton; 16 private JLabel jlabelveiculo; 17 private JDBTextField jdbtextfieldveiculo; 18 private JLabel jlabelano; 19 private JDBTextField jdbtextfieldano; 20 private JLabel jlabelvalor; 21 private JDBTextField jdbtextfieldvalor; 22 private JScrollPane jscrollpane; 23 private JDBTable jdbtable; 24 private JDBConnection jdbconnection; 25 private JDBQuery jdbquery; public CadastroVeiculo() 29 { 30 super("cadastro de Veículos"); // Configura componentes JDB 33 jdbconnection = new JDBConnection(); 34 jdbconnection.setusingfileconfig(false); 35 jdbconnection.setdriver("com.mysql.jdbc.driver"); 36 jdbconnection.seturl("jdbc:mysql:// /dbcadastroveiculo"); 37 jdbconnection.setusername("root"); 38 jdbconnection.setpassword("rootjdb"); 39 jdbconnection.connectdb(); 40 jdbquery = new JDBQuery(); 41 jdbquery.setjdbconnection(jdbconnection); jdbquery.setsql("select * FROM CadastroVeiculo ORDER BY 42 Veiculo"); // Configura GUI 46 Container container = getcontentpane(); 47 container.setlayout( new FlowLayout() ); jdbpanelbutton = new JDBPanelButton(); 50 jdbpanelbutton.setjdbquery(jdbquery); 51 container.add( jdbpanelbutton ); // Configura o campo Veiculo 54 jlabelveiculo = new JLabel("Veículo"); 55 jdbtextfieldveiculo = new JDBTextField(15); 56 jdbtextfieldveiculo.setfieldname("veiculo"); 57 jdbtextfieldveiculo.setjdbquery(jdbquery); 58 container.add( jlabelveiculo ); 59 container.add( jdbtextfieldveiculo ); // Configura o campo Ano 62 jlabelano = new JLabel("Ano"); 63 jdbtextfieldano = new JDBTextField(15); 64 jdbtextfieldano.setfieldname("ano"); 65 jdbtextfieldano.setjdbquery(jdbquery); 66 container.add( jlabelano );

13 13 67 container.add( jdbtextfieldano ); // Configura o campo Valor 70 jlabelvalor = new JLabel("Valor"); 71 jdbtextfieldvalor = new JDBTextField(15); 72 jdbtextfieldvalor.setfieldname("valor"); 73 jdbtextfieldvalor.setjdbquery(jdbquery); 74 container.add( jlabelvalor ); 75 container.add( jdbtextfieldvalor ); // Configura Tabela 78 jdbtable = new JDBTable(5,4); 79 jdbtable.setjdbquery(jdbquery); 80 jscrollpane = new JScrollPane(jDBTable); 81 jscrollpane.setpreferredsize( new Dimension(620, 250) ); 82 container.add(jscrollpane); // Executa a consulta 85 jdbquery.execquery(); 86 } public static void main( String args[] ) 89 { 90 CadastroVeiculo cadastroveiculo = new CadastroVeiculo(); 91 cadastroveiculo.setsize(650, 400); 92 cadastroveiculo.setdefaultcloseoperation(jframe.exit_on_close); 93 cadastroveiculo.setvisible(true); 94 cadastroveiculo.setresizable(false); 95 } 96 } Listagem 2 Código fonte do CadastroVeiculo.java Para gerar os bytecodes do código fonte exibido na Listagem 2 é necessário acessar o interpretador de comandos do SO (nesse exemplo será usado o Windows 7) e entrar com o comando apresentado na Figura 3. Figura 3 Gerando os bytecodes do software.

14 14 Ao executar o comando a estrutura de diretório e arquivos do seu programa conterá um novo arquivo denominado CadastroVeiculo.class (veja a Figura 4). Esse arquivo contém os bytecodes do programa Java. Figura 4 Árvore de diretório e arquivos do software após gerar bytecodes. Após gerar os bytecodes é possível rodar o software. Então, ainda no interpretador de comandos é necessário entrar com o comando exibido na Figura 5. Figura 5 Rodando o Software.

15 15 6. Considerações Finais É importante que leitor esteja ciente que nenhuma tecnologia, método ou processo deve ser considerado como absoluto. Tudo tem sua aplicabilidade, portanto, JDB não se impõe como a melhor alternativa a resolução dos problemas da comunidade de software, mas sim como uma alternativa que se alinha à grande parcela das necessidades do desenvolvimento desktop, levando em consideração que o grande peso do mercado de software se concentra nas aplicações pequenas e de médio porte. 7. Referências DEITEL, H. M.; DEITEL, P. J. Java Como Programar. Tradução de Carlos Arthur Lang Lisbôa. 4. ed. Porto Alegre: Bookman, p. ECLIPSE. IDE Eclipse. Eclipse.org, Disponivel em: < Acesso em: 18 out HIBERNATE. Framework Hibernate. Hibernate.org, Disponivel em: < Acesso em: 5 out MYSQL. MySQL database. MySQL Downloads, Disponivel em: < Acesso em: 10 dez NETBEANS. IDE Netbeans. Netbeans.org, Disponivel em: < Acesso em: 18 out ORACLE. Oracle Technology Network. Java SE Downloads, Disponivel em: < Acesso em: 19 dez ORACLE. Java Web Start. Java Web Start Lesson, Disponivel em: < Acesso em: 30 jun

Classes de Entidades Persistentes JDB

Classes de Entidades Persistentes JDB Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena

Leia mais

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

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido

Leia mais

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

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

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD Acadêmico: Maicon Klug Orientadora: Joyce Martins Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Manipulação de Banco de Dados com Java 1. Objetivos

Manipulação de Banco de Dados com Java 1. Objetivos Manipulação de Banco de Dados com Java 1. Objetivos Demonstrar os fundamentos básicos para a manipulação de banco de dados com Java; Apresentar a sintaxe de comandos SQL usados em Java. 2. Definições A

Leia mais

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

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Programação de Computadores II TCC-00.309 Turma A-1

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

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

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit Vitor Paulo Silva Se você é um projetista e sua principal ferramenta de trabalho é o AutoCAD ou o Revit, certamente você já se deparou com

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc. Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL Prof. MSc. Hugo Souza Na última aula falamos um pouco sobre as ferramentas

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

marcio@dsc.ufcg.edu.br priscillakmv@gmail.com

marcio@dsc.ufcg.edu.br priscillakmv@gmail.com DSC/CEEI/UFCG marcio@dsc.ufcg.edu.br priscillakmv@gmail.com 1 Realiza atividades com ênfase em Ensino, Pesquisa e Extensão (Ensino) 2 Configurando o projeto Adicionando código ao arquivo com o código-fonte

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

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

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

WebApps em Java com uso de Frameworks

WebApps em Java com uso de Frameworks WebApps em Java com uso de Frameworks Fred Lopes Índice O que são frameworks? Arquitetura em camadas Arquitetura de sistemas WEB (WebApps) Listagem resumida de frameworks Java Hibernate O que são frameworks?

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

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

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

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

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

FIREWALL. Prof. Fabio de Jesus Souza. fabiojsouza@gmail.com. Professor Fabio Souza

FIREWALL. Prof. Fabio de Jesus Souza. fabiojsouza@gmail.com. Professor Fabio Souza FIREWALL Prof. Fabio de Jesus Souza fabiojsouza@gmail.com Professor Fabio Souza O que são Firewalls? Os firewalls são sistemas de segurança que podem ser baseados em: um único elemento de hardware; um

Leia mais

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

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 1 Introdução ao Java Objetivos do Capítulo Compor uma visão histórica mínima para a compreensão da origem do Java. Compreender o que é o Java e para que finalidades ele é empregado. Delinear algumas

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

JDB Java Desktop Basis

JDB Java Desktop Basis JDB Java Desktop Basis Por Welbson Siqueira Costa Brasil Natal/RN 2012 ii Copyright 2012, Welbson Siqueira Costa. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. Nenhuma parte deste

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos Disciplina: Programas de Edição de Textos Professora: Érica Barcelos CAPÍTULO 4 4. RECURSOS PARA ILUSTRAÇÕES Uma característica que difere os processadores de textos dos editores é a possibilidade de gerar

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Histórico de Revisão Data Versão Descrição Autor

Histórico de Revisão Data Versão Descrição Autor H6Projetos Documento de Requisitos Versão 1.3 Histórico de Revisão Data Versão Descrição Autor 05/09/2013 1.0 Preenchimento do Capítulo 2 Requisitos Funcionais Evilson Montenegro 26/09/2013 1.1 Preenchimento

Leia mais

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

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Marco T. A. Rodrigues*, Paulo E. M. de Almeida* *Departamento de Recursos em Informática Centro Federal de Educação Tecnológica de

Leia mais

JPA: Persistência padronizada em Java

JPA: Persistência padronizada em Java JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

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

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com Java & OpenJDK Thiago S. Gonzaga Sun Campus Ambassador thiago.gonzaga@sun.com Tópicos Sobre a Sun Microsystems Algumas tecnologias da Sun Linguagem de Programação Ciclo de Desenvolvimento O que é Java?

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

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

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Interface Gráficas Parte I. Bruno Crestani Calegaro

Interface Gráficas Parte I. Bruno Crestani Calegaro Interface Gráficas Parte I Bruno Crestani Calegaro Conteúdo da Aula GUI, Graphical User Interface, é nada mais que a tela que um programa apresenta para um usuário Até o agora nossos programas foram desenvolvidos

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC 1 Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC Edilberto Silva 1, André Luiz (1012545), Andreia Pereira da Silva (1012547) Carlos Alberto (1012206), Humberto César de Carvalho

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

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

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional Introdução à Linguagem JAVA Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação Laboratório de Visão Computacional Vantagens do Java Independência de plataforma; Sintaxe semelhante às linguagens

Leia mais

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID Maik Olher CHAVES 1 ; Daniela Costa Terra 2. 1 Graduado no curso de Tecnologia em Análise e Desenvolvimento de Sistemas

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Uso do SQLite no Android Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender a persistir dados utilizando o banco de dados SQLite. Conhecer e utilizar a classe SQLiteOpenHelper.

Leia mais

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA Introdução ao Visual Studio VB.Net Programação Estruturada 1 Nesse momento inicial não iremos programar em VB.Net, usando o Visual Studio, mas conhecer alguns comandos e variáveis usadas em uma linguagem

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

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

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Softblue Logic IDE Guia de Instalação www.softblue.com.br Sumário 1 O Ensino da Lógica de Programação... 1 2 A Ferramenta... 1 3 Funcionalidades... 2 4 Instalação... 3 4.1 Windows...

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Manual de implantação

Manual de implantação Manual de implantação O BioPass ID é um serviço online baseado em nuvem que fornece uma poderosa tecnologia multibiométrica (reconhecimento de impressões digitais e face) para os desenvolvedores de qualquer

Leia mais