AVALIAÇÃO DE DESEMPENHO DE PLATAFORMAS OPENSOURCE PARA DESENVOLVIMENTO DE APLICAÇÕES PARA INTERNET

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

Download "AVALIAÇÃO DE DESEMPENHO DE PLATAFORMAS OPENSOURCE PARA DESENVOLVIMENTO DE APLICAÇÕES PARA INTERNET"

Transcrição

1 FACULDADE SETE DE SETEMBRO - FASETE CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO ANDERSON CARLOS ALVES RIBEIRO AVALIAÇÃO DE DESEMPENHO DE PLATAFORMAS OPENSOURCE PARA DESENVOLVIMENTO DE APLICAÇÕES PARA INTERNET Paulo Afonso BA Dezembro 2012

2 ANDERSON CARLOS ALVES RIBEIRO AVALIAÇÃO DE DESEMPENHO DE PLATAFORMAS OPEN SOURCE PARA DESENVOLVIMENTO DE APLICAÇÕES PARA INTERNET Monografia apresentada ao curso de Graduação, Bacharelado em Sistemas de Informação da Faculdade Sete de Setembro FASETE, como requisito para avaliação conclusiva. Sob a orientação do professor Esp. Antônio Henrique de Pereira de Souza. Paulo Afonso BA Dezembro 2012

3 ANDERSON CARLOS ALVES RIBEIRO AVALIAÇÃO DE DESEMPENHO DE PLATAFORMAS OPEN SOURCE PARA DESENVOLVIMENTO DE APLICAÇÕES PARA INTERNET Monografia Submetida ao corpo docente da Faculdade Sete de Setembro FASETE, como parte dos requisitos necessários à obtenção do grau de Bacharel em Sistemas de Informação. Aprovada por: Prof. Esp. Orientador Antônio Henrique Pereira de Souza Prof. Msc. Coorientador Igor Medeiros Vanderlei Prof. Esp. Ricardo Azevedo Porto Prof. Esp. Jackson Pires de Oliveira Santos Júnior Paulo Afonso BA Dezembro 2012

4 AGRADECIMENTOS A Deus, pois sem ele nada é possível. A minha família, em especial aos meus pais, que sempre acreditaram em mim. A minha esposa Rôse Fabíola que, com muito carinho, me apoiou durante todo o tempo do curso, às vezes abdicando de minha atenção, para tornar nosso, o meu objetivo. Ao professor e orientador Antônio Henrique pela paciência na orientação e incentivo que tornaram possível a conclusão deste trabalho. Ao professor e coordenador do curso Igor Medeiros pelo prazer de poder compartilhar dos seus conhecimentos, contribuindo muito para a conclusão deste trabalho. A todos os professores do curso de sistemas de informação da FASETE, em especial, Ricardo Porto, pelo qual tenho grande apreço desde o curso técnico do Colégio Sete de Setembro e Jackson Júnior sempre disposto a me ajudar no desenvolvimento deste trabalho. Aos amigos Carlos Alberto, Hélcio e, em especial, Messias, grande amigo que tive o prazer de conhecer e compartilhar muitos momentos durante o curso. Muito obrigado!

5 RESUMO Este trabalho tem como objetivo avaliar o desempenho de aplicações desenvolvidas para Internet utilizando plataformas opensource. Para o desenvolvimento deste trabalho foram utilizadas as plataformas PHP, Java e Ruby on Rails integradas aos Sistemas Gerenciadores de Banco de Dados (SGBD s) MySql, PostgreSQL e Firebird. Para análise do desempenho foram desenvolvidos experimentos para integração das plataformas com os SGBD s e definidos quatro casos de teste aos quais foram aplicadas quatro deferentes cargas de trabalho. A análise do desempenho foi obtida através da comparação do tempo de resposta dos experimentos utilizando a ferramenta Jmeter. Ao final deste trabalho constatou-se a importância da escolha correta da plataforma de desenvolvimento e do SGBD no desenvolvimento de aplicações para Internet e o impacto dessa escolha no desempenho da aplicação. Palavras-chave: Avaliação de desempenho, aplicações para internet, Plataformas de desenvolvimento, Sistema Gerenciador de Banco de Dados.

6 ABSTRACT This study aims to evaluate the performance of applications developed for Internet using opensource platforms. For the development of this work were used platforms PHP, Java and Ruby on Rails integrated with Management Systems Database (DBMS) MySQL, PostgreSQL and Firebird. For performance analysis experiments were developed for integration of platforms with four SGBD's and defined test cases which were applied four deferent workloads. The performance analysis was achieved by comparing the response time of the experiments using the tool Jmeter. At the end of this study verified the importance of choosing the correct development platform and DBMS the development of Internet applications and the impact of that choice on application performance. Palavras-chave: Performance evaluation, internet applications, development platforms, Management Systems Database.

7 LISTA DE FIGURAS E QUADROS Figura 1- Ambiente desenvolvimento Java típico Figura 2- Esquema do funcionamento das páginas PHP Figura 3- Aplicação Rails típica Figura 4- Arquitetura MVC e como lida com o Ruby on Rails Figura 5- Os três níveis da arquitetura de um banco de dados Figura 7 - Tempo de resposta de aplicações Web Figura 8- Diagrama Entidade Relacionamento Quadro 1 - Índice de popularidade das linguagens de programação Quadro 2 - Comparação entre técnicas de análise de desempenho Quadro 3- Aspectos do uso da medição na qualidade

8 LISTA DE GRÁFICOS Gráfico 1 - Evolução de popularidade da linguagem Java Gráfico 2- Resultado dos testes de listar registros Gráfico 3- Resultado dos testes de listar registros Gráfico 4- Resultado dos testes de listar registros Gráfico 5- Resultado dos testes de listar ordenando alfabeticamente registros Gráfico 6- Resultado dos testes de listar ordenando alfabeticamente registros Gráfico 7- Resultado dos testes de listar ordenando alfabeticamente registros Gráfico 8- Resultado dos testes de pesquisar por código com registros.51 Gráfico 9- Resultado dos testes de pesquisar por código com registros.52 Gráfico 10- Resultado dos testes de pesquisar por código com registros Gráfico 11- Resultado dos testes de pesquisar por código com registros Gráfico 12- Resultado dos testes de pesquisar por nome com registros.54 Gráfico 13- Resultado dos testes de pesquisar por nome com registros.55 Gráfico 14- Resultado dos testes de pesquisar por nome com registros Gráfico 15- Resultado dos testes de pesquisar por nome com registros

9 LISTA DE ABREVIATURAS E SIGLAS SGBD - Sistema Gerenciador De Banco De Dados API - Application Programming Interface OSI - Open Source Iniciative JVM Java Virtual Machine J2EE - Java Entreprise Edition J2SE - Java Standart Edition J2ME - Java Micro Edition MVC - Model-view-controller HTML - Hiper Text Mark-up Language CSS - Cascading Style Sheets TP - Transaction Processing DBA - Data Base Administrator SQL - Structured Query Language ANSI-ASPARC - Study Group on Data Base Management Systems DDL - Data Definition Language DML - Data Manipulation Language GNU - General Public License IPL InterBase Public License MIPS - milhões de Instruções por segundo W3C - World Wide Web Consortium AOL - America Online FTP - File Transfer Protocol LAN - Local Area Network RAM - Random Access Memory

10 SUMÁRIO 1. INTRODUÇÃO JUSTIFICATIVA PROBLEMA DE PESQUISA HIPÓTESES OBJETIVOS OBJETIVO GERAL OBJETIVOS ESPECÍFICOS METODOLOGIA DE PESQUISA FERRAMENTAS OPEN SOURCE PLATAFORMAS PARA DESENVOLVIMENTO DE APLICAÇÕES PARA WEB JAVA PHP RUBY ON RAILS BANCO DE DADOS SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD) AVALIAÇÃO DE DESEMPENHO DE APLICAÇÕES SELEÇÃO DA TÉCNICA DE AVALIAÇÃO SELEÇÃO DE MÉTRICAS DE DESEMPENHO PARÂMETROS E INDICADORES DE DESEMPENHO CLASSIFICAÇÃO DE UTILIDADE DE MÉTRICAS DE DESEMPENHO APLICAÇÕES WEB MEDIDAS DE DESEMPENHO DE APLICAÇÕES WEB JMETER ANÁLISE E DISCUSSÃO DOS RESULTADOS AMBIENTE DE DESENVOLVIMENTO DOS TESTES DEFINIÇÃO DO VOLUME DE CARGA CASO DE TESTE: LISTAR LISTAR REGISTROS LISTAR REGISTROS LISTAR REGISTROS ANÁLISE E DISCUSSÃO DOS RESULTADOS - CASO DE TESTE: LISTAR 47

11 6.4. CASO DE TESTE: LISTAR ORDENANDO ALFABETICAMENTE LISTAR ORDENANDO ALFABETICAMENTE REGISTROS LISTAR ORDENANDO ALFABETICAMENTE REGISTROS LISTAR ORDENANDO ALFABETICAMENTE REGISTROS ANÁLISE E DISCUSSÃO DOS RESULTADOS - CASO DE TESTE: LISTAR ORDENANDO ALFABETICAMENTE CASO DE TESTE: PESQUISAR POR CÓDIGO PESQUISAR POR CÓDIGO REGISTROS PESQUISAR POR CÓDIGO REGISTROS PESQUISAR POR CÓDIGO REGISTROS PESQUISAR POR CÓDIGO REGISTROS ANÁLISE E DISCUSSÃO DOS RESULTADOS - CASO DE TESTE: PESQUISAR POR CÓDIGO CASO DE TESTE: PESQUISAR POR NOME PESQUISAR POR NOME REGISTROS PESQUISAR POR NOME REGISTROS PESQUISAR POR NOME REGISTROS PESQUISAR POR NOME REGISTROS ANÁLISE E DISCUSSÃO DOS RESULTADOS - CASO DE TESTE: PESQUISAR POR NOME CONSIDERAÇÕES FINAIS TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS... 60

12 12 1. INTRODUÇÃO Nos últimos anos, principalmente devido à popularização da Internet e a evolução das redes de computadores, as aplicações para Web evoluíram rapidamente de simples Web Sites estáticos, cujo propósito era apenas a navegação sobre a informação, para verdadeiros sistemas de informação altamente complexos, repletos de dados e transações. Com isso, surgiram linguagens de programação focadas em Web, tais como: Java EE, PHP, ASP e Ruby, entre outras. Nos sistemas atuais, é praticamente inevitável o uso de um Sistema Gerenciador de banco de dados - SGBD. Esses SGBD s, devem ser selecionados de acordo com a necessidade da corporação, quantidade de informação que será armazenada, escalabilidade e infraestrutura disponível. Os profissionais que trabalham com o desenvolvimento de sistemas devem se adaptar a diversidade de plataformas que surgiram para acompanhar este novo modelo de informação. A escolha da plataforma correta pode significar o sucesso ou o fracasso de um projeto, sendo necessário um suporte para tomada dessa decisão. Este trabalho tem como objetivo realizar um estudo sobre as principais plataformas para desenvolvimento de aplicações para Web, propondo uma avaliação de desempenho dessas plataformas, visando auxiliar o profissional da área de tecnologia da informação na escolha da plataforma para desenvolvimento de aplicações para Web Justificativa A Internet é um sistema em expansão, incorporando a cada dia mais serviços, evoluindo de um meio de propagação de informação para uma estrutura onipresente, que possibilita o suporte a aplicações anteriormente baseadas em desktop, porém, aplicações baseadas na Web apresentam comportamento imprevisível dos pedidos de informação e serviços, por exemplo, um Site com poucos visitantes, de repente e sem aviso, pode ter o número de acessos

13 13 aumentado ou softwares autônomos podem consumir carga significante do sistema, tornando o dimensionamento adequado da estrutura uma tarefa difícil. A escolha inadequada da plataforma pode gerar, por exemplo, sobrecarga no servidor e gargalos na rede, afetando a qualidade do serviço oferecido e, por conseqüência, possibilitando a percepção do mau desempenho do sistema pelo usuário final, causando insatisfação do cliente, prejudicando a imagem da empresa e causando perdas para o negócio. Dimensionar um sistema considerando a carga máxima pode causar superdimensionamento da estrutura, causando com isso, desperdício de recursos, e ao dimensionar para carga média, corre-se o risco de quando os clientes ultrapassarem a média se colocar em risco o desempenho do sistema. Um sistema bem dimensionado deve suportar o aumento de carga preservando a qualidade do serviço. A qualidade de um serviço possui ligação direta com o custo da infraestrutura para oferecer o serviço e esperar que uma aplicação entre em funcionamento para descobrir problemas, pode ocasionar aumento do custo Problema de pesquisa Diante das diversas plataformas disponíveis para desenvolvimento de aplicativos para Web e das possibilidades de integração dessas plataformas com diversos sistemas de gerenciamento de Banco de Dados, levando em consideração o desempenho da aplicação, questiona-se: Qual a melhor alternativa de integração SGBD plataforma de desenvolvimento? 1.3. Hipóteses Diferentes plataformas podem alterar de maneira significativa o desempenho de uma aplicação. A escolha do SGBD pode afetar de maneira significativa o desempenho de uma aplicação.

14 14 A carga de trabalho pode afetar de maneira significativa o desempenho de uma aplicação Objetivos Objetivo Geral Avaliar o desempenho entre aplicações para Web, desenvolvidas em diferentes plataformas e integradas a diversos Sistemas Gerenciadores de Bancos de Dados (SGBD s) Objetivos específicos Realizar estudo sobre as principais plataformas para desenvolvimento de aplicativos para Web; Realizar estudo sobre os principais SGBD s, para aplicações desenvolvidas para Web; Realizar uma avaliação de desempenho de aplicações para Internet desenvolvidas em diferentes plataformas e integradas com diferentes SGBD s METODOLOGIA DE PESQUISA Para o desenvolvimento de forma satisfatória desse trabalho foi necessário dividí-io em três etapas: A primeira etapa referente ao embasamento teórico relacionado aos temas a serem estudados, foi realizada através de estudo teórico / bibliográfico sobre as principais plataformas e os principais Sistemas de Gerenciamento de Banco Dados (SGBD) para desenvolvimento de aplicativos para Web. A pesquisa bibliográfica, ou de fontes secundárias, abrange toda bibliografia já tornada pública em relação ao tema de estudo, desde publicações avulsas, boletins, jornais, revistas, livros, pesquisas,

15 15 monografias, teses, material cartográfico etc., até meios de comunicação orais: rádio, gravações em fita magnética e audiovisuais: filmes e televisão. (Lakatos, 2003). A segunda etapa deste trabalho foi realizada através da montagem de um experimento, utilizando as informações obtidas na primeira etapa, que consistiu na construção de experimentos, integrando as plataformas e os SGBD s para desenvolvimento de aplicativos para Web levantados na primeira etapa, e na utilização da ferramenta Jmeter para análise de desempenho desses protótipos. Durante a terceira etapa deste trabalho foi realizado um estudo quantitativo, realizado através de uma avaliação estatística dos dados obtidos através do experimento utilizado na segunda etapa. A estatística pode ser considerada mais do que apenas um meio de descrição racional; é, também, um método de experimentação e prova, pois é método de análise (Lakatos, 2003). Segundo Richardson (1989), este método caracteriza-se pelo emprego da quantificação, tanto nas modalidades de coleta de informações, quanto no tratamento dessas através de técnicas estatísticas, desde as mais simples até as mais complexas. 2. Ferramentas Open Source Para o desenvolvimento deste trabalho foram utilizadas foram utilizadas apenas ferramentas open source. A definição do Open Source foi criada pela Open Source Iniciative (OSI) e determina que um programa de código aberto deve garantir: Distribuição livre A licença não deve restringir de nenhuma maneira a venda ou distribuição do programa gratuitamente, como componente de outro programa ou não. Código fonte O programa deve incluir seu código fonte e deve permitir a sua distribuição também na forma compilada. Se o programa não for distribuído com seu código fonte, deve

16 16 haver algum meio de se obter o mesmo seja via rede ou com custo apenas de reprodução. O código deve ser legível e inteligível para qualquer programador. Trabalhos Derivados A licença deve permitir modificações e trabalhos derivados, e deve permitir que eles sejam distribuídos sobre os mesmos termos da licença original. Integridade do código fonte A licença pode restringir o código fonte de ser distribuído em uma forma modificada apenas se a licença permitir a distribuição de arquivos patch de atualização com o código fonte para o propósito de modificar o programa no momento de sua construção. A licença deve explicitamente permitir a distribuição do programa construído a partir do código fonte modificado. Contudo, a licença pode ainda requerer que programas derivados tenham um nome ou número de versão diferentes do programa original. Não discriminação contra pessoas ou grupos A licença não pode ser discriminatória contra qualquer pessoa ou grupo de pessoas. Não discriminação contra áreas de atuação A licença não deve restringir qualquer pessoa de usar o programa em um ramo específico de atuação. Por exemplo, ela não deve proibir que o programa seja usado em uma empresa, ou de ser usado para pesquisa genética. Distribuição da Licença Os direitos associados ao programa devem ser aplicáveis para todos aqueles cujo o programa é redistribuído, sem a necessidade da execução de uma licença adicional para estas partes.

17 17 Licença não específica a um produto Os direitos associados ao programa não devem depender que o programa seja parte de uma distribuição específica de programas. Se o programa é extraído desta distribuição e usado ou distribuído dentro dos termos da licença do programa, todas as partes para quem o programa é redistribuído devem ter os mesmos direitos que aqueles que são garantidos em conjunção com a distribuição de programas original. Licença não restrinja outros programas A licença não pode colocar restrições em outros programas que são distribuídos juntos com o programa licenciado. Isto é, a licença não pode especificar que todos os programas distribuídos na mesma mídia de armazenamento sejam programas de código aberto. Licença neutra em relação à tecnologia Nenhuma cláusula da licença pode estabelecer uma tecnologia individual, estilo ou interface a ser aplicada no programa. 3. Plataformas para desenvolvimento de aplicações para Web Para a escolha das plataformas que compõe este trabalho foi utilizado o índice TIOBE Programming Comunity, que mede a popularidade das linguagens de programação, conforme apresentado no Quadro 1. Para o desenvolvimento deste trabalho foram utilizadas as seguintes linguagens de programação Java, PHP e Ruby.

18 18 Quadro 1 - Índice de popularidade das linguagens de programação Java Fonte: De acordo com Deitel e Deitel (2005), visando o crescimento do mercado de dispositivos móveis a Sun Microsystems financiou, em 1991, uma pesquisa interna chamada Green. Como resultado desta pesquisa, surgiu uma linguagem de programação baseada em C e C++ que seu criador, James Gosling chamou de Oak e posteriormente foi renomeada de Java pela Sun. Entretanto, o mercado de dispositivos móveis não se desenvolvia na rapidez com a qual a Sun Microsystems havia previsto, colocando sob risco de cancelamento o projeto Green. Porém, em 1993, com a popularização da World Wide Web, a Sun percebeu o potencial de utilização da linguagem Java para criação de páginas Web com conteúdo dinâmico. Em 1995, a Sun anunciou formalmente a linguagem Java. Gerando grande interesse da comunidade comercial, devido ao interesse pela World Wide Web.

19 19 A linguagem Java é utilizada para desenvolvimento de páginas para Web dinâmicas ou estáticas, grandes aplicativos corporativos e aplicações para dispositivos móveis. Segundo o índice TIOBE Programming Comunity, que mede a popularidade das linguagens de programação, desde 2002 a linguagem Java se mantém entre as linguagens mais utilizadas, como podemos observar no Gráfico 1. Gráfico 1 - Evolução de popularidade da linguagem Java. Fonte: De acordo com Deitel e Deitel(2005), os programas desenvolvidos em Java normalmente passam por cinco fases para serem executados, conforme descrito a seguir e ilustrado na Figura 1: Fase 1 - Edição Nesta fase o programa pode ser escrito ou editado utilizando um editor de texto, o arquivo deve ser salvo com a extensão.java; Fase 2 - Compilação O compilador Java traduz a o programa Java para Bytecodes, linguagem entendida pelo interpretador Java, gerando um arquivo com a extensão.class; Fase 3 - Carga O arquivo.class é carregado na memória antes de ser executado. Esse arquivo pode ser carregado a partir de um disco local ou de um computador remoto através de uma rede.

20 20 Fase 4 - Verificação Verifica se os bytecodes são válidos e se não violam as restrições de segurança do Java. Assegurando que os programas, principalmente os baixados da rede não causem danos ao sistema e aos arquivos locais; Fase 5 - Execução O computador, através da Java Virtual Machine (JVM) ou Máquina Virtual Java, interpreta o programa, executando as ações especificadas no programa. Figura 1- Ambiente desenvolvimento Java típico. Fonte: Deitel e Deitel (2005) Conforme Deitel e Deitel (2005), os programas Java consistem de várias partes conhecidas como classes e estas por sua vez são compostas de vários métodos. Um ponto forte da linguagem Java é sua extensa de biblioteca de classes, também conhecida como (Applications Programing Interfaces Interfaces de programas aplicativos - API), que consiste de coleções de classes prontas para serem

21 21 utilizadas. Portanto, para um programador Java, tão importante quanto conhecer a linguagem é saber utilizar estas API s. Há realmente duas partes para aprender o mundo JAVA. A primeira é aprender a própria linguagem JAVA de modo que se possam programar suas próprias classes e a segunda é aprender como utilizar as classes nas extensas bibliotecas de classes JAVA. Deitel e Deitel (2005, p.7). Segundo Somera (2006), a plataforma Java pode ser dividida em três grandes áreas, definidas de acordo com a finalidade da aplicação. Java Entreprise Edition (J2EE): aplicações empresariais multicamada, provê serviços adicionais, ferramentas e API s para suportar o desenvolvimento simplificado de aplicações empresariais Java Standard Edition (J2SE): tecnologia Java para computadores pessoais, notebooks e arquiteturas com poder de processamento e memória consideráveis; Java Micro Edition (J2ME): tecnologia Java para dispositivos móveis com limitações de memória ou processamento. Por exemplo, celulares, palmtops, smartphones e demais dispositivos móveis PHP Desenvolvida em 1994, por Rasmus Lerdof, PHP é o acrônimo de Hipertext Preprocessor e trata-se de uma linguagem de criação de scripts do lado do servidor. O PHP é um produto com código-fonte aberto, devido a sua licença gratuita, pode ser utilizado, modificado e distribuído por qualquer pessoa e com qualquer finalidade, seja particular, comercial ou acadêmica e livre de encargos. De acordo com Welling(2005), o código PHP pode se embutido dentro de uma página HTML, o mesmo será executado todas as vezes em que a página for acessada, gerando como resultado o HTML que será enviado para o cliente, possibilitando a sua interpretação por qualquer navegador Web, conforme podemos observar na Figura 2.

22 22 Figura 2- Esquema do funcionamento das páginas PHP. Fonte: De acordo com Welling (2005), existem diversas vantagens na utilização do PHP, entre as quais podemos destacar as seguintes: Redução de custos - Devido ao mesmo ser uma ferramenta gratuita. Facilidade de Integração com Banco de Dados Possui conexões nativas para os principais bancos de dados; Bibliotecas integradas Devido ser projetado para Internet, possui bibliotecas integradas para o desenvolvimento de tarefas úteis para aplicações para Web. Por exemplo, geração instantânea de imagens GIF, utilização de cookies e geração de documentos PDF; Facilidade de aprendizagem A sintaxe PHP é baseada em outras linguagens, principalmente C e Perl Ruby on Rails De acordo com Thomas e Hansson (2005), O Ruby on Rails é um framework que utiliza a arquitetura Model-View-Controller (MVC) para o desenvolvimento de

23 23 aplicações Web, a exemplo dos frameworks Java Tapestry e Struts. As aplicações Rails são escritas em Ruby, uma linguagem de programação interpretada e orientada a objetos. O Ruby foi desenvolvido em 1993 por Yukihiro Matsumoto, mas lançado ao público somente em Segundo Williams(2007), Matsumoto projetou o Ruby principalmente para reduzir a carga de trabalho de desenvolvedores, seguindo o princípio da menor surpresa, o que significa que a linguagem normalmente se comporta como o programador espera: métodos são nomeados com termos que definem apropriadamente a ação sendo executada, explicando intuitivamente a ação que realizam. No final de 2003, David Heinemeier Hansson e a 37Signals começaram a trabalhar em um solução baseada na Internet de gerenciamento de projetos para equipes pequenas. Usando Ruby, Hansson desenvolveu um projeto chamado Basecamp, durante o desenvolvimento ele percebeu que uma grande parte do código que estava escrevendo poderia ser extraído para um framework, podendo ser utilizado como parte de futuras aplicações (THOMAS e HANSSON, 2005). Em julho de 2004, Hansson lançou o framework, Ruby on Rails, semelhante à maneira como a linguagem Ruby, o Rails segue o princípio da menor surpresa, o Rails foi concebido com o princípio do não repetir-se. Significa, basicamente, que nenhuma parte de um sistema deve jamais ser repetido, alterações em qualquer parte de um aplicativo deve ser feita em apenas um lugar. Outro princípio seguido pelo Rails é a convenção sobre configuração. O Rails não tem muitas opções configuráveis, como outros frameworks, tornando a configuração rápida e fazendo com o que os desenvolvedores possam voltar-se direto as aplicações em construção (THOMAS e HANSSON, 2005).

24 24 Figura 3- Aplicação Rails típica. Fonte: Williams (2007) Como ilustrado na Figura 3, um aplicativo Ruby on Rails é composto por vários componentes, quando um usuário solicita uma página através do browser, o controlador de Rails (Action Controller) recebe o pedido e redireciona para o método correto baseado no roteamento de URL. Depois que o método correto é chamado, o mesmo é executado e solicita todos os dados que necessita do banco de dados usando o Model Active Record. Depois que ele possui todos os dados que necessita, renderiza a exibição final (HTML, CSS e imagens) no navegador do usuário (WILLIAMS, 2007). Como dito anteriormente e ilustrado na Figura 4, o Rails é construído usando a arquitetura Model-View-Controller (MVC), na qual temos o modelo de dados, interface do usuário e controlador lógico em componentes separados.

25 25 Figura 4- Arquitetura MVC e como lida com o Ruby on Rails. Fonte: Williams (2007) A arquitetura MVC é excelente do ponto de vista de programação, pois separa cada componente de uma aplicação Rails em uma base de código isolado e de fácil manuseio, sem ter que se preocupar em alterar outras partes do seu aplicativo. Por exemplo, você pode normalmente modificar o layout de suas Views sem se preocupar com isso ter qualquer impacto nos Controllers ou Models(THOMAS e HANSSON, 2005).

26 26 4. Banco de dados De acordo com Date (2003), um banco de dados pode ser considerado um recipiente para uma coleção de dados computadorizados que podem ser acessados e manipulados por um usuário, possibilitando que sejam realizadas diversas operações com os mesmos. Um sistema de banco de dados envolve quatro componentes principais: dados, hardware, software e usuários. Os dados em um banco devem estar integrados e compartilhados. A integração dos dados visa garantir que os mesmos não sejam redundantes, ou seja, que sejam armazenados somente uma vez e em um mesmo local. Já o compartilhamento visa garantir que os mesmos estejam disponíveis á diferentes usuários e, possivelmente, ao mesmo tempo. Os componentes de hardware em um banco de dados consistem, basicamente, dos dispositivos que serão utilizados para armazenamento dos dados, dos dispositivos responsáveis pela entrada/saídas dos dados e dos processadores e memórias utilizados como suporte ao software do sistema de banco de dados. De acordo com Elmasri (2005), o Sistema de Gerenciamento de Banco de Dados (SGBD) é o mais importante componente de software, mas não o único, existem ainda os seguintes componentes: utilitários, ferramentas de desenvolvimento de aplicação, geradores de relatórios e o gerenciador de transações ou monitor de TP (Transaction Processing processamento de transações). Segundo Date(2003), os usuários de um banco de dados podem ser divididos em três classes: programadores de aplicação, usuários finais e administradores de banco de dados ou Data Base Administrator (DBA). Os programadores de aplicação são responsáveis por desenvolver aplicações que interagem com o banco de dados fazendo requisições ao mesmo, normalmente utilizando Linguagem de Consulta Estruturada (Structured Query Language - SQL). Os usuários finais acessam o banco de dados interativamente através das aplicações desenvolvidas pelos programadores de aplicação ou através de interfaces fornecidas como parte integrante do sistema de banco de dados.

27 27 De acordo com Elmasri (2005), O DBA é o responsável pela autorização para o acesso ao banco, pela coordenação e monitoração de seu uso e por adquirir recursos de software e hardware conforme necessário. Ou seja, o DBA é o profissional técnico pela criação do banco de dados, implementação dos controles técnicos, definição das restrições de segurança e integridade do mesmo. Segundo a arquitetura proposta pelo Study Group on Data Base Management Systems (ANSI/SPARC), a arquitetura de um banco de dados se divide em três níveis, conforme descrito a seguir e ilustrado na Figura 5: Figura 5- Os três níveis da arquitetura de um banco de dados. Fonte: Date(2003) Nível interno ou de armazenamento é o nível mais próximo do armazenamento físico, descreve o esquema do armazenamento físico do banco de dados. Nível conceitual ou lógico de comunidade descreve a estrutura do conteúdo total do banco de dados para a comunidade de usuários. O esquema conceitual se concentra na descrição de entidades, tipos de dados, conexões, operações de usuários e restrições de segurança e integridade, portanto, há somente um esquema conceitual. Nível externo ou lógico de usuário abrange os esquemas externos ou visões de usuários. Cada esquema externo descreve a parte do banco de dados de acordo com o interesse de determinado usuário, ocultando a parte restante. Portanto, diferentemente do nível lógico podemos ter mais de um esquema externo.

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

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

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

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

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 5 Servidores de Aplicação

Leia mais

Unidade IV ADMINISTRAÇÃO DE BANCO DE DADOS. Software livre se refere à liberdade dos usuários com relação ao software, mais precisamente:

Unidade IV ADMINISTRAÇÃO DE BANCO DE DADOS. Software livre se refere à liberdade dos usuários com relação ao software, mais precisamente: ADMINISTRAÇÃO DE BANCO DE DADOS Unidade IV DEFINIR A MELHOR SOLUÇÃO DE BANCO DE DADOS PARA AS NECESSIDADES DA EMPRESA.1 O uso das tecnologias.1.1 O software livre 1 A tecnologia de banco de dados, assim

Leia mais

FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER.

FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER. 1 FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER. TURMA: 2 TERMOS TÉCNICOS PELOTAS, 2012 ANA CAROLINA, ROMÁRIO,

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

Sistema Gerador de Anúncios para Compra e Venda On-line. Leandro de Oliveira ol.leandro@gmail.com

Sistema Gerador de Anúncios para Compra e Venda On-line. Leandro de Oliveira ol.leandro@gmail.com Sistema Gerador de Anúncios para Compra e Venda On-line Leandro de Oliveira ol.leandro@gmail.com Roteiro da Apresentação Motivação Conceitos e Tecnologias Objetivos do trabalho Sistema SideCart Conclusões

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

Conteúdo Programático de PHP

Conteúdo Programático de PHP Conteúdo Programático de PHP 1 Por que PHP? No mercado atual existem diversas tecnologias especializadas na integração de banco de dados com a WEB, sendo o PHP a linguagem que mais se desenvolve, tendo

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

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

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64 direcionados por comportamento 64 5 Estudo de caso Neste capítulo serão apresentadas as aplicações web utilizadas na aplicação da abordagem proposta, bem como a tecnologia em que foram desenvolvidas, o

Leia mais

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

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

GBD. Introdução PROF. ANDREZA S. AREÃO

GBD. Introdução PROF. ANDREZA S. AREÃO GBD Introdução PROF. ANDREZA S. AREÃO Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Aplicativos Dados (arquivos) Aplicativos SGBD Dados (arquivos) O acesso/gerenciamento

Leia mais

Introdução a Servlets

Introdução a Servlets Linguagem de Programação para Web Introdução a Servlets Prof. Mauro Lopes 1-31 21 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando o Java. Apresentaremos nesta aula os

Leia mais

IIH Introdução à Informática e Hardware

IIH Introdução à Informática e Hardware INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO - CAMPUS VOTUPORANGA Técnico em Manutenção e Suporte em Informática IIH Introdução à Informática e Hardware Aula: Linguagens de Programação

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

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet.

Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet. TERMINOLOGIA Navegador ou Browser Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet. Os Browsers se comunicam com servidores

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 6.1 ARQUIVOS E REGISTROS De um modo geral os dados estão organizados em arquivos. Define-se arquivo como um conjunto de informações referentes aos elementos

Leia mais

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre Banco de Dados CursoTécnico em Informática Modalidade Integrado Instituto Federal do Sul de Minas, câmpus PousoAlegre Professora Michelle Nery Conteúdo Programático Introdução O que é Banco de Dados O

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Banco de Dados I 2007. Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 1) Clodis Boscarioli

Banco de Dados I 2007. Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 1) Clodis Boscarioli Banco de Dados I 2007 Módulo I: Introdução a Sistemas de Banco de Dados (Aula 1) Clodis Boscarioli Agenda: Apresentação do Plano de Ensino; Aspectos Históricos; Estrutura Geral de um SGBD; Profissionais

Leia mais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

Leia mais

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS PAULO ALBERTO BUGMANN ORIENTADOR: ALEXANDER ROBERTO VALDAMERI Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Unidade III. Unidade III

Unidade III. Unidade III Unidade III 4 ADMINISTRAÇÃO DE SGBDs As pessoas que trabalham com um banco de dados podem ser categorizadas como usuários de banco de dados ou administradores de banco de dados. 1 Entre os usuários, existem

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

ARQUITETURA TRADICIONAL

ARQUITETURA TRADICIONAL INTRODUÇÃO Atualmente no universo corporativo, a necessidade constante de gestores de tomar decisões cruciais para os bons negócios das empresas, faz da informação seu bem mais precioso. Nos dias de hoje,

Leia mais

TECNOLOCIA JAVA WEB PARA DESENVOLVIMENTO DE SISTEMAS DE LEILÃO

TECNOLOCIA JAVA WEB PARA DESENVOLVIMENTO DE SISTEMAS DE LEILÃO TECNOLOCIA JAVA WEB PARA DESENVOLVIMENTO DE SISTEMAS DE LEILÃO Danilo Alves Verone de Oliveira ¹, Jaime William Dias ¹ ² ¹ Universidade Paranaense (UNIPAR) Paranavaí - PR - Brasil dan.verone@hotmail.com

Leia mais

Laboratório de Banco de Dados

Laboratório de Banco de Dados Universidade Federal de Mato Grosso-UFMT Sistemas de Informação Laboratório de Banco de Dados Prof. Clóvis Júnior Laboratório de Banco de Dados Conteúdo Administração de Usuários de Papéis; Linguagens

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Banco de Dados. Professor: Rômulo César. romulodandrade@gmail.com www.romulocesar.com.br

Banco de Dados. Professor: Rômulo César. romulodandrade@gmail.com www.romulocesar.com.br Banco de Dados Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Aplicativos Dados (arquivos)

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

Leia mais

Linguagem de Programação JAVA

Linguagem de Programação JAVA Linguagem de Programação JAVA Curso Técnico em Informática Modalida Integrado Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora: Michelle Nery Agenda JAVA Histórico Aplicações Pós e Contras

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Fernando Castor A partir de slides elaborados por Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

Tecnologia da Informação. Prof. Esp. Lucas Cruz

Tecnologia da Informação. Prof. Esp. Lucas Cruz Tecnologia da Informação Prof. Esp. Lucas Cruz Componentes da Infraestrutura de TI Software A utilização comercial da informática nas empresas iniciou-se por volta dos anos 1960. O software era um item

Leia mais

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt INTRODUÇÃO E CONCEITOS BÁSICOS Prof. Ronaldo R. Goldschmidt Hierarquia Dado - Informação - Conhecimento: Dados são fatos com significado implícito. Podem ser armazenados. Dados Processamento Informação

Leia mais

Banco de Dados I Introdução

Banco de Dados I Introdução Banco de Dados I Introdução Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) IFSul Campus Charqueadas Sumário da aula Avaliações Visão geral da disciplina Introdução Histórico Porque

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

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

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

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

METODOLOGIA PARA ANÁLISE DE DESEMPENHO

METODOLOGIA PARA ANÁLISE DE DESEMPENHO UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA METODOLOGIA PARA ANÁLISE DE DESEMPENHO DE SISTEMAS DE TRANSFERÊNCIA ELETRÔNICA DE FUNDOS PROPOSTA DE TRABALHO

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://blog.fimes.edu.br/fernando nando@fimes.edu.br Conteúdo Programático Instalação e configuração básica do Eclipse Indigo e do

Leia mais

Engenharia de Software Aplicações de Internet

Engenharia de Software Aplicações de Internet Engenharia de Software Aplicações de Internet Eduardo Santos eduardo.edusantos@gmail.com eduardo.santos@planejamento.gov.br www.softwarepublico.gov.br Histórico Por que existe a Internet? Por que existe

Leia mais

BANCO DE DADOS II. AULA MySQL.

BANCO DE DADOS II. AULA MySQL. UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA MySQL. DISCIPLINA: Banco de Dados II PROF.: ROMULO VANZIN Data: 27/06/2014 Banco

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO INSTITUTO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA PROJETO SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO ALUNO RICARDO CARDOSO TERZELLA

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

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

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

Leia mais

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I CONCEITOS BÁSICOS 1. Conceitos básicos de BD, SBD e SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

INF220 - Banco de Dados I

INF220 - Banco de Dados I Banco de Dados - Introdução Bibliografia INF220 - Banco de Dados I Prof. Jugurta Lisboa Filho Departamento de Informática - UFV Notas de Aula (jugurta@dpi.ufv.br) ELMASRI, R; NAVATHE, S. Fundamentals of

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Histórico Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Sistemas Integrados: racionalização de processos, manutenção dos

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

Apache + PHP + MySQL

Apache + PHP + MySQL Apache + PHP + MySQL Fernando Lozano Consultor Independente Prof. Faculdade Metodista Bennett Webmaster da Free Software Foundation fernando@lozano.eti.br SEPAI 2001 O Que São Estes Softwares Apache: Servidor

Leia mais

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I Roteiro Conceitos e Arquitetura de Sistemas de Banco de Dados Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

Introdução à Simulação

Introdução à Simulação Introdução à Simulação O que é simulação? Wikipedia: Simulação é a imitação de alguma coisa real ou processo. O ato de simular algo geralmente consiste em representar certas características e/ou comportamentos

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

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

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

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br Visão Geral da Plataforma Java Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br Agenda Apresentação Motivação para a palestra História do Java A máquina virtual Java (JVM) Java

Leia mais

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Primeira Dica Afirmação O que é Java? Características do Java Como Java Funciona Plataforma Java Edições Java Java SE Java EE Java ME

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

linguagem técnica de informática; Perceber os sinais de pontuação e identificar sua função no texto; Ler siglas e identificar seus significados;

linguagem técnica de informática; Perceber os sinais de pontuação e identificar sua função no texto; Ler siglas e identificar seus significados; PLANO DE CURSO Disciplina Competências Habilidades Bases Tecnológicas INGLÊS TÉCNICO Aumentar e consolidar o seu vocabulário ativo e passivo, através da fixação de novas palavras e expressões contidas

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

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 Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

CURSO TECNOLÓGICO 2008/01 1º SEMESTRE. Programação e Estruturas de Dados Fundamentais

CURSO TECNOLÓGICO 2008/01 1º SEMESTRE. Programação e Estruturas de Dados Fundamentais 1º SEMESTRE Programação e Estruturas de Dados Fundamentais 8 Créditos Desenvolver a lógica de programação através da construção de algoritmos utilizando português estruturado Representar a solução de problemas

Leia mais

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

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

Programação para Web Artefato 01. AT5 Conceitos da Internet

Programação para Web Artefato 01. AT5 Conceitos da Internet Programação para Web Artefato 01 AT5 Conceitos da Internet Histórico de revisões Data Versão Descrição Autor 24/10/2014 1.0 Criação da primeira versão HEngholmJr Instrutor Hélio Engholm Jr Livros publicados

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Web Design Aula 01: Conceitos Básicos

Web Design Aula 01: Conceitos Básicos Web Design Aula 01: Conceitos Básicos Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação Motivação Motivação Motivação Roteiro Introdução Papéis e Responsabilidades Construindo um site

Leia mais