PROGRAMA DE COMPONENTE CURRICULAR Curso: Sistemas de Informação Componente Curricular: T.E.S.I (Arquitetura de Sistemas de Informação) Carga-Horária: 40 Créditos: 2 Ano: 2011 Código: ? Semestre: 1º Ementa Arquitetura de Software, Balanceamento de carga, avaliação de desempenho de sistemas, Arquitetura Orientada a serviço, Mecanismos de Cache, Técnicas de Tolerência a Falhas, Avaliação de escala de sistemas e Banco de Dados distribuídos. Objetivos Gerais: Tornar o aluno capaz de desenvolver e avaliar sistemas escaláveis. Específicos: • Compreender o conceito de Arquitetura de Software e os principais componentes da arquitetura • Compreender os conceitos e técnicas para o desenvolvimento de sistemas de balanceamento de carga • Conhecer as técnicas de avaliação de desempenho de sistema • Compreender e implementar uma arquitetura orientada a serviços utilizando as tecnologias mais utilizadas no mercado. • Entender os mecanismos de Cache Conteúdo Programático 1ª Unidade • • • • 2ª Unidade • • • 3ª Unidade • • • • Introdução a Arquitetura de Software Componentes arquiteturais Balanceamento de Carga Avaliação de desempenho de sistemas Arquitetura Orientada a Serviços com WSDL + SOAP Arquitetura Orientada a Serviços com REST Técnicas de Tolerância a Falhas Cache Avaliação de escala de sistemas Federação de Bancos de Dados Armazenamento Distribuído com Hadoop + HBASE Metodologia A intenção da disciplina é fazer com que os alunos se tornem aptos a aprender sobre uma nova tecnologia e desenvolver a capacidade de colocar em prática este conhecimento através de um projeto. O conhecimento a ser debatido em sala de aula será gerado a partir da investigação dos alunos sobre os problemas e as soluções no desenvolvimento de aplicações escaláveis. Avaliação • Seminários 1. Deverão ser formadas equipes de no máximo dois alunos para pesquisarem sobre um determinado tema da disciplina e apresentá- lo para a turma. As equipes serão submetidas a questionamentos sobre o assunto. • Um projeto 1. Será desenvolvido na disciplina um projeto de desenvolvimento de um sistema escalável, onde cada equipe será responsável pelo desenvolvimento de uma funcionalidade do sistema. O projeto tem como objetivo por em prática os conceitos vistos em sala de aula, permitindo que o aluno aprofunde o conteúdo abordado. 2. O projeto terá duas apresentações de resultados. As etapas serão avaliadas segundo os seguintes critérios: • completude do projeto: checar se todas as funcionalidades previstas até então foram implementadas; • qualidade do código: avaliar a qualidade do código produzido, algoritmos, documentação e testes; A nota de cada unidade será composta pela avaliação do período, conforme tabela a seguir: Unidade 1 Unidade 2 Unidade 3 Avaliação Seminário Primeira parte do projeto Segunda parte do projeto A média das notas das três unidades mais o projeto deverá ser igual ou superior a 7,0. Se inferior a sete e igual ou superior a 4, haverá exame final. Neste caso, a média final será dada pela média obtida nas unidades com peso 6 mais a nota do exame final com peso 4. Bibliografia Básica ERL, Thomas: SOA Princípios de Design de Serviços Ed. Prentice-Hall Brasil, 1ª Edição – 2009 SILVA, Ricardo Pereira e Como modelar com UML2 Visual Books, 2009 ROSEN, Michael; LUBLINSKY, Boris; SMITH, Kevin T.; BALCER, Marc J.: APPLIED SOA Service-Oriented Architecture and Design Strategies Ed. JOHN WILEY CONSUMER, 1ª Edição, 2008 Complementar FOWLER, Martin Padrões de arquitetura de aplicações corporativas. Edition Porto Alegre: Bookman, 2008. 493 p. ISBN 978-85-363-0638-4 HENDERSON, CAL: Building Scalable Web Sites Ed. O´Reilly & ASS, 1ª Edição – 2006 MECENAS, Ivan Análise de Pontos de Função Starlin Alta Consult, 2009 RICHARDSON, LEONARD; RUBY SAM: Restful Serviços WEB. Ed. ALTA BOOKS, 1ª Edição – 2007 SILVA, Nelson Peres da Análise e Estruturas de Sistemas de Informação, Erica, 2007