Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de 2009. Rafael Polo e Sabrina Arêas

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

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

FRWTC800 - Desenvolvimento Web com Ruby on Rails

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

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

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

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

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

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

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa


ASP.NET MVC em Ação. Jeffrey Palermo Ben Scheirman Jimmy Bogard. Novatec. Prefácio de Phil Haack

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

PRESIDÊNCIA DA REPÚBLICA SECRETARIA-GERAL Secretaria-Executiva

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

VRAPTOR: O FRAMEWORK DE APRENDIZADO JAVA WEB AUGUSTO BEVILAQUA RAFAEL CIRINO LACERDA SAULO ALMEIDA LIMA

INTERNET HOST CONNECTOR

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

4 O Workflow e a Máquina de Regras

DMS Documento de Modelagem de Sistema. Versão: 1.4

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

gladiador INTERNET CONTROLADA

Arquiteturas SOA, WOA, e REST

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

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Outside On-Line LTDA Telefone: +55 (19) (19) (claro) carlos@outside.com.br

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

Group Policy (política de grupo)

Servidor Proxy armazenamento em cache.

Engenharia de Software Aplicações de Internet

Requisitos de Sistemas

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Corporativo. Transformar dados em informações claras e objetivas que. Star Soft.

SolarWinds Kiwi Syslog Server

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

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Roteiro 2 Conceitos Gerais

Criando Frameworks Inteligentes com PHP. Uma abordagem prática: vantagens, aplicações e procedimentos.

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

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

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

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

SISTEMA GERENCIADOR DE BANCO DE DADOS

Workflow como Proposta de. Workflow. O Gerenciamento de Processos. Prof. Roquemar Baldam roquemar@pep.ufrj.br

Agenda. A Empresa História Visão Conceito dos produtos

Programação e Designer para WEB

O QUE É O ZIMBRA? CONFIGURAÇÃO, IMPLANTAÇÃO E SUPORTE

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

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

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

Começando com Ruby on

ZetesChronos Visibilidade total do processo de entrega

(eletronic mail )

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

Semântica para Sharepoint. Busca semântica utilizando ontologias

EMENTAS DAS DISCIPLINAS

Oportunidades 30/05/2014

Sistemas Distribuídos

BEM-VINDOS AO CURSO DE ORIENTADO A OBJETOS

RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE)

Sistemas de Produtividade

API de Cotações Bolsa Financeira

7 Utilização do Mobile Social Gateway

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

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

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Por que Office 365? Office 365 Por que usar?

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

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

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

Site para Celular JFPB

Fox Gerenciador de Sistemas

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

World Wide Web e Aplicações

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

Introdução a Computação

Todo o Potencial do WiFi Social para Clientes

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

Minicurso Computação em Nuvem Prática: Openstack

Manual de implantação

Aplicação Prática de Lua para Web

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

Um White Paper da Websense Web Security Gateway: A Web 2.0 Protegida e Simplificada

4 Desenvolvimento da ferramenta

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

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Demoiselle Framework. Palestrante: Flávio Gomes da Silva Lisboa JUN/2009

Desenvolvimento de aplicativo móvel multiplataforma integrado ao sistema de alerta de cheias da bacia do Itajaí


Apresentação. Treinamento OTRS Help Desk

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Transcrição:

Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de 2009 Rafael Polo e Sabrina Arêas

Contexto 60 s - Primeiros sistemas de informação corporativos. 70 s Desenvolvimento e comercialização do microprocessador. Crise do Software. 80 s Popularização dos PCs. A informática perde seu único status de técnica industrial. 90 s Início da World Wide Web. Comércio eletrônico e interação multimídia. HTTP e URLs. 2000 Redes Sociais e REST. Crescimento exponencial, 20% da população mundial online.

Bem- vindo ao Século XXI Comunicação Instantânea Mais PCs que TVs Participação/Colaboração APIs Ecossistema de Informação Softwares migram pra Web Economia Digital Mobilidade Governo Eletrônico Online integra o Offline Web 2.0

Web 2.0 Novas técnicas para os novos usos da recuperação e representação da informação. URLs + REST um mundo de recursos Transferência de Estado Representacional (Representational State Transfer) é uma técnica de engenharia de software para sistemas hipermídia distribuídos, como é a própria World Wide Web. Sistemas RESTful maximizam o uso de interfaces bem definidas pré- existentes e minimizam a necessidade de novas camadas de abstração ao sistema. Javascript + XML requisições assíncronas Os navegadores contemporâneos com eficazes interpretadores javascript, manipulam o DOM (Document Object Model) permitindo interfaces dinâmicas tão poderosas quanto os sistemas desktops.

Agilidade Andar sob a água e concluir os requisitos de um software é tarefa fácil se ambos estão congelados. A Engenharia de Software não para de se renovar em suas breves quatro décadas de existência. Hoje, boa parte do mercado vêm exigindo agilidade na abordagem do desenvolvimento de sistemas de informação. Os sistemas devem se adaptar aos modelos de negócio, não o contrário. E os requisitos mudam com frequência. Metodologias ágeis vêm conquistando espaço e demonstrando eficiência ao diminuir o número de decisões a serem tomadas no ciclo de desenvolvimento. Novas técnicas e conceitos como Convenção sobre Configuração para ganhar simplicidade sem perder flexibilidade.

Ruby on Rails É um Meta- framework Open- Source Inspiração em UNIX. (scripts de console, gem, rake) Arquitetura MVC DRY (Don t Repeat Yourself) Ótima documentação, uma comunidade engajada Utilitários de testes e geração de documentação Sistema de Roteamento, Cache e Template Auxiliadores de AJAX Repositório global de métodos (rubyforge.org) Baixa curva de aprendizado Escalável e em continua melhoria

Estudo de Caso mostre.me Um sistema de redirecionamento de URLs com estatísticas na Web em apenas 12 horas.

Estudo de Caso - baixogavea.com Um sistema colaborativo na Web em apenas 35 horas de modelagem e desenvolvimento.

Estudo de Caso - baixogavea.com Um sistema colaborativo na Web em apenas 35 horas de modelagem e desenvolvimento.

Arquitetura MVC no Rails

Banco de dados Esquema universal e um único arquivo para alterar entre todos os SGBDs. config/databases.yml db/schema.rb

AcIve Record Abstração, manipulação e persistência dos modelos do domínio. O Active Record trabalha criando um mapeamento objetorelacional (ORM) entre os objetos Ruby da aplicação e as tuplas das tabelas no banco de dados. Os nomes das tabelas são entendidos como sendo o plural da classe do objeto manipulado. O Active Record determina os campos da tabela, eliminando a necessidade de definir métodos básicos de acesso para cada campo. Chaves estrangeiras (foreign keys) recebem seus nomes baseado no nome da tabela seguido por _id. Após a criação de um objeto, um novo registro é adicionado na tabela, quando um objeto é atualizado, o registro correspondente na tabela também é atualizado. Elimina a necessidade de usar SQL para manipular os dados.

Voto < AcIveRecord Abstração, manipulação e persistência dos votos.

Console: Banda < AcIveRecord Abstração, manipulação e persistência das bandas.

User < AcIveRecord Abstração, manipulação e persistência dos usuários.

User < AcIveRecord Abstração, manipulação e persistência dos usuários.

Roteamento Solicite o que queres e encaminharei a quem sabe. O Roteamento no Rails é um dos conceitos mais inovadores e importantes do framework, que conecta as requisições HTTP aos controladores do sistema. URLs devem apontar recursos. http://baixogavea.com/bandas/r http://baixogavea.com/chico- buarque http://baixogavea.com/the- beatles/rubber- soul http://baixogavea.com/usuario/sabrina Análogo à: Bandas.index() Bandas.index(:letra) Bandas.show(:banda) Albuns.show(:banda, :album) Users.show(:user) config/routes.rb

Controladores Em geral, um controlador possui ações referentes aos métodos CRUD de um dado modelo. Cada método de um controlador corresponde a uma ação, que gera uma saída através dos templates. Ação show(:banda) de BandasController

Controle Ações login e logout em UserController e filtro em ApplicationController para toda ação new. /app/controllers/users_controller.rb /app/controllers/application_controller.rb

Templates Camada visual e representação dos modelos. /app/views/layouts/geral.rhtml

Templates Camada visual e representação dos modelos. /app/views/bandas/show.rhtml

Conclusão Tudo são objetos Ruby Não precisa reiniciar servidor com mudanças no código Separação entre ambiente de desenvolvimento, teste e produção Foco na lógica dos modelos do domínio da aplicação Projeto integrado, mesma linguagem para: Configuração do Projeto Banco de Dados Template Tasks Código- fonte: http://extrapolo.com/opensrc/baixogavea/ http://extrapolo.com/opensrc/mostre/