II Semana de Tecnologia da Informação. Rails Framework



Documentos relacionados
Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO

Tutorial Básico. Instalando e testando o Ruby on Rails no Windows

Requisitos de Sistemas

Entendendo Rails. Fabio Akita Surgeworks Brazil Rails Practice Manager

Versão 0.1. Manual FoRc. Última Atualização: Maio/2007. Daniel Schmitz

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

1º passo: Instalando a rvm.

JavaServer Faces. Parte 2

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

4 Desenvolvimento da ferramenta

V1.1 SITE EM UM SITE 11/2015 MINUTOS APRENDA A PROGRAMAR IMAGINE FAZER O SEU PRIMEIRO PROGRAMA EM 180 SEGUNDOS

Neste tópico, abordaremos a funcionalidade de segurança fornecida com o SAP Business One.

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

O que é o Android? O que é o Android

O Framework Rails. Diego Rubin

DWR DIRECTED WEB REMOTING

De Zero a Sessenta: Introdução ao Rails

Padrões de Interação com o Usuário

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Programação Web Aula 10 - Testes, Javascript, Ajax

Ferramentas: jar e javadoc

Projuris Enterprise Visão Geral da Arquitetura do Sistema

Capítulo 04: Persistência com SQLite

Gestão de projectos na Web

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

Manual de Instalação

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

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

Desenvolvendo Aplicações Web com NetBeans

O Gerenciamento de Documentos Analógico/Digital

Tutorial de instalação do ambiente Ruby, Ruby on Rails e MySQL no Ubuntu

País(es) : Brasil Banco(s) de Dados : Sql Server / Oracle

Manual de Procedimentos para Desenvolvimento de Softwares

Sumário. Parte I Introdução Introdução O Rails é ágil Explorando o conteúdo Agradecimentos... 19

Programação Web Aula 8 - Rails (Introdução)

SERVIDORES REDES E SR1

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Banco de Dados para Redes. Cassio Diego cassiodiego.com/bdr

Padrões de Projeto WEB e o MVC

TechProf Documento de Arquitetura

Começando com Ruby on

OmniDB - Manual do Usuário

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Prova Específica Cargo Desenvolvimento

Manual do Teclado de Satisfação Online WebOpinião

Associação Carioca de Ensino Superior Centro Universitário Carioca

Manual de instalação, configuração e utilização do Assinador Betha

Modelo Cliente/Servidor Por HIARLY ALVES

Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes)

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

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

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

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

Simulação de Fretes no Cálculo do Embarque do Datasul 11

Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP

HTML Página 1. Índice

Usando o Conference Manager do Microsoft Outlook

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

Sistema de Gestão para qualquer Empresa do Terceiro Setor

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

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

SISTEMA GERENCIADOR DE BANCO DE DADOS

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Sumário. Capítulo 1 O que é o PHP? Capítulo 2 Instalação do PHP Capítulo 3 Noções básicas de programação... 25

Universidade Fernando Pessoa

2. Conceitos e Arquitetura de Bancos de Dados

Web. Professor: Rodrigo Alves Sarmento

Front-End: corresponde ao que será visualizado pelo utilizador via web. Deve ser acessível para todo e qualquer utilizador.

Programação para Internet II

Conteúdo Programático de PHP

Sistema topograph 98. Tutorial Módulo Fundiário

XTDL XML Tool Definition Language

1. O DHCP Dynamic Host Configuration Protocol

Layouts de páginas com HTML e CSS

[CANCELAR] - Limpa todos os campos e desabilita campos e botões, exceto [NOVO] e [PESQUISAR].

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

Alternativas para Governança de processos do Cadastro de Clientes e Fornecedores

ZEND F r a m e w o r k

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Armazenamento e Pesquisa de Topic Maps em Banco de Dados Relacional

TOP SAÚDE SEPACO AUTOGESTÃO

Programação para web JavaScript

Diretrizes de Qualidade de Projetos

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

DIGPROP Manual de Instalação

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

Lógica de Programação

Rede de Computadores (REC)

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

Disciplina: Unidade V: Prof.: Período:

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

Gerenciamento de Dados e Informação Fernando Fonseca. Graduação

Transcrição:

II Semana de Tecnologia da Informação Rails Framework

Rails Instalação Ruby versão 1.8.7 Linux: ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz ou apt-get install ruby (Debian/Ubuntu) Windows: http://rubyforge.org/frs/?group_id=167 (one click installer) Ou ainda http://www.ruby-lang.org RubyGems (gerenciador de pacotes ruby) http://rubyforge.org/frs/?group_id=126 (caso já não exista) ruby setup.rb Rails (framework) gem install rails

Rails Banco de dados SQLite3 http://www.sqlite.org Pré-compilados sqlitedll-3.5.9.zip em C:\Windows\System32 gem install sqlite3-ruby IDE (ambiente de desenvolvimento) Netbeans 6.7.1 http://www.netbeans.org (opção Ruby) Java Runtime (necessário para rodar Netbeans)

Rails Teste simples rails path/to/your/new/application cd path/to/your/new/application ruby script/server Abra seu browser e digite a URL: http://localhost:3000 e siga as instruções contidas na página

Desenvolvimento em camadas Aplicações Monolíticas Lógica de Apresentação Lógica de Negócios Acesso a Dados Aplicativos para apenas uma máquina Único módulo com todas as funcionalidades Dífícil manutenção

Desenvolvimento em camadas Aplicações em duas camadas Lógica de Apresentação Lógica de Negócios Acesso a Dados Necessidade de compartilhar lógica de acesso a dados Base de dados colocada em máquina específica, separada das aplicações. Uso de estações clientes Cada alteração no aplicativos precisava ser atualizada no cliente

Desenvolvimento em camadas Aplicações em três camadas Lógica de Apresentação Lógica de Negócios Acesso a Dados Advento da internet: lógica de negócio separada da interface Acesso às aplicações sem instalar localmente Fácil manutenção e modularidade com orientação a objetos

Arquitetura Rails Model-View-Controller (MVC) Padrão que divide em três componentes distintos a forma de interagir com uma aplicação Model armazena, manipula e gera os dados. É o coração da aplicação View apenas recebe e exibe a informação (interface); pode conter HTML, JS, XML Controller - mapeia eventos, interagem com o modelo e devolvem uma saída

Arquitetura Rails Vantagens do MVC Como o modelo MVC gerencia múltiplos visualizadores usando o mesmo modelo é fácil manter, testar e atualizar sistemas múltiplos É muito simples incluir novos clientes apenas incluindo seus visualizadores e controles Torna a aplicação escalável É possível ter desenvolvimento em paralelo para o modelo, visualizador e controle pois são independentes.

Model ActiveRecord Padrão que abstrai as interações com o modelo de dados, efetuando o mapeamento entre classes e entidades zero linhas de código SQL suporta vários SGBDs (SQLIte, Oracle, SQL Server, MySQL, etc) cada modelo corresponde tipicamente a uma tabela ou relação entre tabelas lógica de negócio implementada no modelo e não na base de dados uma instância da classe é uma linha na tabela

Model Projetos Id INTEGER cliente_id INTEGER codigo VARCHAR designacao VARCHAR data_inicio DATE gestor_id INTEGER class Projetos < ActiveRecord::Base has_one :gestor has_one :cliente has_many :etapas end validates_presence_of :codigo, :designacao, :cliente, :gestor validates_uniqueness_of :codigo

Model #criar nova instância do modelo, com alguns atributos já definidos p = projeto.new :codigo => PRJ-001, :designacao => Projeto #1 #atribuir os atributos restantes p.gestor = Gestor.find_by_name Milton Moura p.cliente = Cliente.find_by_name Microsoft p.data_inicio = Time.now #guardar na base de dados p.save #obter o registro recentemente introduzido p = Projeto.find_by_codigo PRJ-001

Controller ActionController o controlador é o centro lógico da aplicação coordena as interações entre o utilizador, o interface de utilização e o modelo de dados responsável pela identificação das acções a desempenhar gere os pedidos HTTP, as sessões, cookies, etc

Controller class ProjetosController < ApplicationController def index @projetos = Projeto.find :all end end Neste Exemplo: o pedido HTTP de origem terá sido do tipo: http://localhost/projetos/ é criado uma variável de instância do controlador, com uma lista de todos os projectos registados na base de dados uma vez executado o código do método, o controlo é passado à view

View ERb - ruby embebido em html as views são blocos de html com conteúdo dinâmico proveniente de código ruby <% @projetos.each do p %> <div class = projeto > <b><%= p.codigo%><b> - <%= p.designacao %> </div> <%end %> o objeto @projectos é o array de instâncias da classe Projeto, devolvido pelo controller as tags <% %> delimitam código executável que não deve ser traduzido para HTML as tags <%= %> delimitam código que deve ser ser visualizável

Estrutura Rails

Passo a Passo Vamos ao NetBeans!

Aplicação por linhas de comando rails app_name cd app_name rake db:create ruby script/generate scaffold names nome:string rake db:migrate ruby script/server http://localhost:3000/names