Homero Um Editor VHDL Cooperativo via Web
|
|
- Carlos Eduardo da Costa Prado
- 8 Há anos
- Visualizações:
Transcrição
1 Homero Um Editor VHDL Cooperativo via Web Émerson Barbiero Hernandez, Sandro Sawicki, Leandro Soares Indrusiak, Ricardo Augusto da Luz Reis Instituto de Informática Universidade Federal do Rio Grande do Sul UFRGS {barbieri, sawicki, lsi, Porto Alegre RS Brasil Abstract This paper describes a web based cooperative VHDL editor called Homero, that was implemented using Jini and JavaSpaces tecnologies. The editor is able to support interactions among IC designers working on the same task, even if they are working in different places. Resumo Este artigo descreve um editor de VHDL cooperativo via Web chamado Homero, que utiliza tecnologias Jini e JavaSpaces. O projeto propõe a interação entre projetistas de circuitos integrados trabalhando sobre uma mesma tarefa, mesmo estando separados geograficamente.
2 1. Introdução A rápida disseminação de microcomputadores e estações de trabalho e suas capacidades de processamento ampliadas através das redes de computadores têm levado ao desenvolvimento de um número cada vez maior de aplicações distribuídas. Entre as aplicações que motivam grande parte dos investimentos e pesquisa em objetos distribuídos são as aplicações para Web [IND98]. Essas aplicações, através do uso de projeto distribuído, reduzem as migrações em massa causadas pela grande falta de oferta de engenheiros especializados nos países do Primeiro Mundo. Os avanços tecnológicos têm permitido a construção de projetos cada vez mais complexos, devido ao aumento dos níveis de abstração para lidar com os sistemas. Com isso, o desenvolvimento de novas ferramentas de apoio ao projeto é um fator determinante para a continuidade do aumento da facilidade na concepção de, por exemplo, circuitos integrados complexos. Percebemos em nosso dia a dia que o trabalho de um projetista de circuitos integrados necessita, muitas vezes, de ferramentas de diferentes origens, ou implementadas em linguagens distintas. Isso obriga o projetista a migrar para diferentes plataformas de software, tornando o fluxo de trabalho mais lento. A criação de ferramentas independentes de plataforma tornam-se então necessárias para um fluxo de trabalho mais eficiente. Os conceitos de redes de computadores aplicados ao projeto de Circuitos Integrados têm motivado desenvolvedores de ferramentas a continuarem trabalhando com implementações de sistemas CAD distribuídos. Assim podemos destacar algumas vantagens, tais como: execução remota de tarefas, trabalho cooperativo e o uso de recursos distribuídos [IND98]. Homero é um editor VHDL implementado em Java. É também parte integrante do projeto CAVE [IND98], um framework baseado em World Wide Web, composto por ferramentas que tornam possível a automatização de etapas do processo de concepção de circuitos integrados. Além de Homero Editor de VHDL, fazem parte desse framework, JASE Editor de Esquemáticos [HER00], Visualizador 3d de Layout CIF2VRML [IND99], JALE Editor de Layout [GRA99], Serviço de Comunicação CADENA [IND99a], entre outros. 2. Ferramenta baseada em World Wide Web Com a utilização do WWW como base da ferramenta, podemos destacar algumas vantagens proporcionadas como por exemplo, uma equipe de projetistas distribuída pode trabalhar em um ou mais projetos simultaneamente. Sendo assim vários projetistas podem estar envolvidos em um único projeto VHDL, trocando idéias, diminuindo custos com deslocamentos, tendo um maior contato com os demais projetistas, tornando o fluxo de trabalho e processo decisório mais eficiente, consistente e interativo. O trabalho em equipe auxiliado por computador, CSCW 1, voltado à concepção de circuitos integrados é algo recente, mas se faz necessário no momento em que a interação do grupo proporciona inúmeras vantagens, principalmente quando os projetistas estão geograficamente separados. Podemos destacar alguns benefícios que motivam o a implementação do trabalho em grupo aplicado a uma ferramenta de concepção de circuitos integrados: A equipe de projetistas pode tornar melhores as decisões do que um só indivíduo pois o grupo possui mais informações e conhecimento, proporcionando menor probabilidade de se cometerem erros; Haveria uma harmonia maior entre o projeto e seus projetistas, o que tornaria o projeto mais consistente, evitando assim, informações errôneas entre a equipe de desenvolvimento; Maior eficiência nas ações: a equipe de projetistas pode tornar o projeto mais efetivo na implementação dos resultados quando seus membros participam da tomada de decisões, 1 CSCW (Computer Supported Cooperative Work, ou Trabalho Cooperativo Auxiliado por Computador) é uma área de pesquisa que visa produzir tecnologia para auxiliar o trabalho em grupo.
3 aumentando a aceitação e a compreensão do trabalho proposto; Os projetistas podem trabalhar em um mesmo projeto simultaneamente, mesmo estando distantes geograficamente; Diminuição dos custos com deslocamento no caso de uma equipe de projetistas distribuída. Os estudos realizados na área de CSCW buscam o entendimento da natureza e do trabalho cooperativo, com o objetivo de melhor adequá-lo a tecnologias baseadas em computador [SOU96]. A idéia por trás do trabalho cooperativo é fazer com que a produção em grupo seja maior do que a produção de cada um dos membros individualmente, representando um aumento significativo em produtividade. 3. Importância de CSCW em CAD cooperativo. Assim, dois ou mais projetistas têm a possibilidade de interagir em um projeto simultaneamente, mesmo estando dispersos geograficamente. 4. Tecnologias Utilizadas 4.1. Tecnologia Jini Um sistema Jini é baseado na idéia de grupos federativos de usuários e de recursos requeridos por esses usuários. A meta geral é tornar uma rede flexível, com ferramentas facilmente administradas ao qual os recursos possam ser encontrados por clientes humanos e computacionais. Jini é um conjunto de API Java e protocolos de rede que ajudam a construir sistemas distribuídos organizados como uma federação de serviços. Os recursos podem ser vistos tanto como dispositivos de hardware quanto programas, ou a combinação dos dois. Seu principal foco é tornar a rede uma entidade mais dinâmica e que reflita melhor a dinâmica do grupo de trabalho, tendo a habilidade de adicionar e retirar serviços de uma maneira flexível [EDW99]. O apoio a aspectos sociais dentro de um groupware 2 é vital, pois a essência deste tipo de sistema é justamente o elemento humano trabalhando em conjunto. A complexidade de relacionamento entre pessoas, comuns a qualquer grupo, informatizado ou não, demonstra a importância desses aspectos dentro de CSCW [ATT88] [PIN99]. Ou seja, estamos lidando com pessoas geograficamente distintas utilizando diferentes meios de comunicação Groupware Segundo [DIE96], alguns autores diferenciam CSCW de groupware. Sendo CSCW as pesquisas na área de trabalho cooperativo suportando por computador, enquanto groupware referencia os sistemas, que são frutos dessas pesquisas [ATT88] [PIN99]. Homero se enquadra no segundo modelo, apresentando conceitos que envolvem trabalho 2 Groupware: ferramenta que faz uso dos conceitos de CSCW. Figura 1 - Camadas da Tecnologia Jini [MOR00] 4.2. Tecnologia JavaSpaces Sistemas Distribuídos são mais difíceis de serem construídos, requerendo um pensamento cuidadoso dos problemas, o que não acontece em computação local. Os problemas primários são a falha parcial de hardware, latência, e compatibilidade de linguagens. A linguagem de programação Java
4 implementa um sistema de invocação de métodos remotos chamado RMI (Remote Method Invocation) que possibilita a transmissão de objetos inteiros pela rede, tornando a implementação mais eficiente e elegante. A arquitetura da tecnologia de JavaSpaces, foi projetada para ajudar a resolver dois problemas relacionados: persistência distribuída e projeto de algoritmos distribuídos. JavaSpaces usa o serviço RMI e também a serialização provendo um sistema de armazenamento distribuído seguro para objetos Persistência Distribuída A Implementação da tecnologia JavaSpaces provê um mecanismo para armazenar um grupo de objetos relacionados e os recuperar baseado em igualdade de valor para campos especificados, possibilitando o uso em um sistema remoto [EDW99] Pair Programming Estilo de programação onde dois programadores trabalham lado a lado em um computador, continuamente colaborando no mesmo projeto, algoritmo, código ou teste [WIL00]. Estudos sobre pair-programming demonstram que os resultados obtidos por programadores utilizando essa técnica aumentaram a produtividade e a qualidade do software. Um dos elementos chave é a constante revisão de código feita quando se trabalha em pares. Nota-se que é interessante a quantidade de erros óbvios que aconteceriam mas são detectados pelo parceiro. Resultados demonstram que dois programadores juntos trabalham duas vezes mais rápido e pensam em mais do que duas soluções do que dois programadores separados. O código fica mais limpo e eficiente. Existe uma maior confiança e intimidade entre os participantes e sua solução. 5. Protótipo: Homero Figura 2 - Comunicação entre processos [EDW99] Existem duas implementações do serviço JavaSpaces: transiente e persistente. A diferença entre as duas implementações é que, no serviço transiente, os dados são armazenados enquanto o JavaSpaces está sendo executado. Qualquer objeto armazenado irá se perder se o serviço for finalizado, ou houver falha na máquina onde o serviço está rodando. No serviço JavaSpaces persistente, os objetos são armazenados em disco, com isso podem ser recuperados seus estados atuais, mesmo com a finalização ou falha no servidor JavaSpaces [EDW99]. O protótipo é implementado em linguagem Java, tornando a ferramenta independente de plataforma, e desenvolvido usando conceitos de orientação a objetos [PRE92] e conceitos de persistência distribuída [KAP92]. A base de dados utilizada para que sirva de repositório de objetos é o serviço de persistência distribuída pertencente a tecnologia Jini [SUN99] chamado JavaSpaces [FRE99]. Esse repositório não tem a mesma finalidade que um banco de dados orientado a objetos ou relacional, mas pôde ser modelado de modo a se adequar a nossos propósitos. A principal vantagem do uso JavaSpaces está no tratamento do controle de concorrência [TAN92] em casos de condições de corrida (região crítica). Por exemplo, quando dois ou mais projetistas requisitam uma escrita (alteração) no projeto ao mesmo tempo, pode ser gerado um problema de inconsistência. Nesse caso a concorrência é tratada internamente no repositório, ficando transparente tanto para o projetista da ferramenta quanto para o usuário [EDW99]. A base de dados poderá ser formada por vários repositórios. Esses repositórios poderão trocar
5 informações entre si, tendo assim referências consistentes do projeto. Com isso o projeto torna-se mais seguro no caso de falhas parciais entre servidores. Cópias dos projetos estarão distribuídas, diminuindo a chance de perdas. A atualização do projeto se dará dentro de uma transação. Para isso será utilizado o serviço de transações visto também em Jini [EDW99]. Este serviço de transações utiliza o protocolo commit duas fases, composto pelas quatro propriedades ACID Atomicidade; Consistência; Isolamento e Durabilidade [KOR91]. O protótipo implementa o conceito de check-in - check-out para suas atualizações. O objeto-projeto é removido do espaço, atualizado, e devolvido ao repositório. Essa atualização é feita por apenas um cliente, que chamamos de escritor. Ele conversará com os demais participantes (ouvintes) através de um chat (implementado em JavaSpaces). O escritor e seus ouvintes poderão interagir com o projeto através de diálogos, que possibilitarão a troca de idéias e uma melhor harmonia entre os participantes. A diferenciação entre o tipo de atuação do usuário ante o projeto é facilmente visualizado na interface do programa através de um semáforo de duas cores: verde para escritor e vermelho para ouvinte. Será escritor aquele que primeiro abrir o projeto. Os demais usuários serão sempre ouvintes, até que o escritor não mais atue no projeto passando a vez, ou quando um ouvinte requisitar o direito a escrita. Figura 3 - Modelo Transações JavaSpaces usa RMI, um mecanismo sofisticado para comunicação entre objetos Java distribuídos. Ele permite que programas Java chamem certos métodos num servidor remoto, não requerendo que o cliente ou servidor possuam um servidor http. Na realidade, um modo de encará-lo é como um mecanismo para definição de protocolos personalizados com um mínimo de esforço [LEM98]. A principal vantagem do RMI é a transmissão de objetos inteiros, diferente de uma comunicação RPC (Remote Procedure Call), que transmite somente primitivas Usuários Figura 4 - Notificação da Alteração Para trabalhar com um projeto de forma cooperativa, existe a necessidade de cadastramento de usuário junto ao servidor. Esta etapa deve acontecer
6 antes da criação do projeto. O nome do usuário é único e para sua identificação e segurança, seu registro possui também uma senha. Uma vez cadastrado, o usuário tem a possibilidade de criar e participar de um projeto. São aceitos múltiplos usuários por protótipo, mas apenas um a cada seção, sendo sempre necessária sua identificação. lhe mostrará todos os projetos nos quais ele faz parte, tanto como chefe quanto como participante. Com essa lista, ele está apto a escolher o projeto no qual atuará naquele momento. Feita sua escolha, ele será escritor se for o primeiro a abri-lo ou ouvinte nos demais casos Projetos Os projetos são sempre armazenados no servidor. Sua criação e participação porém, merecem uma atenção especial Criação de Projeto A criação de um projeto requer um nome e um responsável denominado chefe. Na criação será possível a adição de mais quatro usuários como participantes. Não existe um número máximo de pessoas aptas a trabalharem com o projeto, pois mesmo depois da criação do projeto novos participantes podem ser adicionados pelo chefe. Figura 6 - Interface Abrir Projeto 6. Conclusões Uma equipe distribuída de projetistas utilizando uma ferramenta cooperativa pode tornar as decisões melhores do que aquelas tomadas por um só indivíduo. A ferramenta Homero permite a descrição de hardware em linguagem VHDL de forma individual e coletiva, utilizando-se de conceitos de pair programming para a obtenção de melhores resultados finais. 7. Referências Figura 5 - Interface Novo Projeto Requerimento de Projeto Ao utilizar o protótipo, o usuário, já devidamente identificado, conecta-se ao servidor que [ATT88] ATTEWELL, Paul; RULE, James; Computing and Organizations: What We Know and What We Don t Know Computer-Supperted Cooperative Work: A Book of Readings, 1988 pg [DIE96] DIETRICH, Elton; LIMA, José Valdeni de. Gerenciamento de Hiperdocumentos
7 [EDW99] [FRE99] [GRA99] Ativos. Porto Alegre: CPGCC UFRGS, EDWARDS, W. Keith; Core Jini; The Sun Microsystems Press series; Prentice- Hall PTR; FREEMAN, Eric; HUPFER, Susanne; ARNOLD, Ken; JavaSpaces principles, patterns, and pratice; Java Series; Addison Wesley, GRALEWSKI, Daniel D.; WINCKLER, Marco A. A.; INDRUSIAK, Leandro S.; REIS, Ricardo A. L.; JALE JAVA Layout Editor, Pelotas: XIV Microeletronics Seminar, SIM99, 1999, pg 51. [HER00] HERNANDEZ, Émerson Barbieri, SAWICKI, Sandro; INDRUSIAK, Leandro S.; REIS, Ricardo A. L.; WWW an a Environment to IC Project: The Tool JASE (Java Schematic Editor); Microeletronics Seminar, Torres 2000; pg 35; [IND98] INDRUSIAK, Leandro S.; REIS, Ricardo A. L.; Ambiente de Apoio ao Projeto de Circuitos Integrados utilizando World Wide Web. Dissertação de Mestrado; Instituto de Informática UFRGS, [IND99] INDRUSIAK, Leandro S.; REIS, Ricardo A. L.; 3d Integrated Circuit Layout Visualization Using VRML; International Conference on Web-Based Modeling and Simulation; SCS The Society for Computer Simulation, 1999, pg [IND99a] INDRUSIAK, Leandro S.; REIS, Ricardo A. L.; 3d Project Management and Design Methodology Supoprt for the Cave Project: A Hyperdocument- Centric Approach; SBCCI99 XII Symposium on Integrated Circuits and Systems Design, 1999; pg [KOR91] [LEM98] [PIN99] BIGNOLI, C. (1992) Supporting collaborative software development with ConversationBuilder. V Simposium on Software Development Environments págs KORTH, Henry F.; SILBERSCHATZ, Abraham; Database System Concepts Second Edition; McGraw Hill, Inc.; LEMAY, Laura; CADENHEAD, Roger; Sam s Teach Yourself Java 1.2 in 21 Days; Sams Publishing; PINHEIRO, Manuele Kirsch; Edição Cooperativa de Hiperdocumentos no www; Trabalho Individual 802, CPGCC/UFRGS; [PRE92] PRESSMAN, Roger S.; Software Engineering: A Practitioner s Approach, 3ª ed.; McGraw-Hill, Inc.;1992. [SOU96] [SUN99] [TAN92] [WIL00] SOUZA, A.; Estudo Sobre o Trabalho Cooperativo CSCW; Trabalho Individual. Porto Alegre: CPGCC- UFRGS, 1996; SUN. Why Jini Tecnology Now? Palo Alto: Sun Microsystems, Inc, p. (Disponível via WWW em: TANENBAUM, Andrew S.; Modern Operating Systems; Prentice-Hall, Inc.;1992. WILLIAMS, Laurie; KESSLER, Robert R.; All I Really Need to Know about Pair Programming I Learned In Kindergarten; Communications of the ACM Vol. 43 No. 5; 2000; pg [KAP92] KAPLAN, S. M.; TOLONE, W. J.; CARROL, A. M.; BOGIA, D. P.;
PROJETO COOPERATIVO NO AMBIENTE CAVE. {sawicki, lsi, reis}@inf.ufrgs.br
PROJETO COOPERATIVO NO AMBIENTE CAVE Sandro Sawicki 1,2, Leandro Soares Indrusiak 1, Ricardo Reis 1 {sawicki, lsi, reis}@inf.ufrgs.br 1 Instituto de Informática Universidade Federal do Rio Grande do Sul
Leia maisMÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS
MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisBancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia maisGeração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso
Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso Lourival dos Santos Pires Júnior, Tony Carlos Bignardi dos Santos, Amaury Antônio de Castro Junior, Carlos Alberto da Silva, Leila Lisiane Rossi
Leia maisBanco 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 mais3 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 maisCurso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2
Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisDESENVOLVENDO 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 maisSistemas Distribuídos
Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisPrevayler. 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 maisProgramaçã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 maisArquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo
Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante
Leia maisAnálise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br
Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas
Leia maisEAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS
EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS Relatório Nº 03/2013 Porto Alegre, 22 de Agosto de 2013. ANÁLISE DE SOLUÇÕES: # RAID 1: O que é: RAID-1 é o nível de RAID que implementa o espelhamento
Leia maisHIBERNATE 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 maisSistemas de Informação I
+ Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas
Leia maisUNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS
UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS PROFESSOR: CARLOS BECKER WESTPHALL Terceiro Trabalho
Leia maisModelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com
Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel
Leia maisProf. 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 maisLINGUAGEM 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 maisSistemas de Informações Gerenciais
Sistemas de Informações Gerenciais Aula 3 Sistema de Informação Conceito, Componentes e Evolução Professora: Cintia Caetano INTRODUÇÃO Conceito: Um Sistema de Informação (SI) é um sistema cujo elemento
Leia maisBanco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP
Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme
Leia maisSistemas Cliente-Servidor
Sistemas Cliente-Servidor Disciplina Bancos de Dados II (INE 5616 2006-1) Curso de Sistemas de Informação Prof. Renato Fileto INE/CTC/UFSC 1 1 Cliente - Servidor Arquitetura cliente/servidor: Os servidores
Leia maisAula 02 Conceitos básicos elipse. INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca leticia.chavesfonseca@gmail.com
Aula 02 Conceitos básicos elipse INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca leticia.chavesfonseca@gmail.com 1. Introdução O Elipse E3 trabalha totalmente orientado para a operação
Leia maisSistemas 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 maisgerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado
O NetPublisher é um sistema de gerenciamento de portais e websites corporativos (intranets ou extranets), apropriado para pequenas, médias e grandes empresas. O conteúdo do website pode ser atualizado
Leia maisFURB - Universidade Regional de Blumenau TCC - Trabalho de Conclusão de Curso Acadêmico: Fernando Antonio de Lima Orientador: Oscar Dalfovo
FURB - Universidade Regional de Blumenau TCC - Trabalho de Conclusão de Curso Acadêmico: Fernando Antonio de Lima Orientador: Oscar Dalfovo Roteiro Introdução Sistemas de Informação - SI Executive Information
Leia maisDisciplina de Banco de Dados Introdução
Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.
Leia maisMÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos
MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada
Leia maisIntrodução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)
Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema
Leia maisNoçõ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 maisO CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE
O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisIMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET
1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com
Leia maisAula 03-04: Modelos de Sistemas Distribuídos
UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)
Leia mais3 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 maisEMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA
EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA Jeferson Boesing 1 ; Tiago Heineck 2 ; Angela Maria Crotti da Rosa 3 ; Leila Lisiane Rossi 4 INTRODUÇÃO Alunos
Leia maisUm Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena
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 Tópicos Motivação e Objetivos LP e SOA Processo ADESE
Leia maisSistema 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 maisFileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14
FileMaker Pro 14 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 2007-2015 FileMaker, Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,
Leia maisFerramenta Colaborativa para Groupware
Ferramenta Colaborativa para Groupware Rodolpho Brock UFSC Universidade Federal de Santa Catarina INE Deparrtamento de Informática e Estatística Curso de Graduação em Sistema de Informação rbrock@inf.ufsc.br
Leia maisMODELO CLIENTE SERVIDOR
SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;
Leia maisSoftware de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços
Leia maisSoluções em. Cloud Computing. Midia Indoor. para
Soluções em Cloud Computing para Midia Indoor Resumo executivo A Midia Indoor chegou até a Under buscando uma hospedagem para seu site e evoluiu posteriormente para uma solução cloud ampliada. A empresa
Leia mais? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.
? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc. http://about.
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução Cliente-Servidor Cliente Servidor Tipos de conexão
Leia maisEMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA
EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA Autores : Jeferson BOESING; Tiago HEINECK; Angela Maria Crotti da ROSA; Leila Lisiane ROSSI Identificação
Leia mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisProjeto de Sistemas I
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o
Leia maisUFG - 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 4 Aplicações em camadas
Leia maisUniversidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Leia maisSistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos
Leia maisUnidade 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 maisDESENVOLVIMENTO 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 maisEngenharia 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 maisAspectos técnicos do desenvolvimento baseado em componentes
Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação
Leia maisSistema de Banco de Dados Distribuídos e DataGrid
Sistema de Banco de Dados Distribuídos e DataGrid Leandro Melo de Sales Mário Hozano Lucas de Souza Trabalho para obtenção de nota da disciplina Banco de Dados Professor: Marcus Sampaio 25 de abril de
Leia maisSoluções de Gerenciamento de Clientes e de Impressão Universal
Soluções de Gerenciamento de Clientes e de Impressão Universal Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada nos Estados Unidos da Microsoft Corporation.
Leia maisUFG - 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 13 Web Services Web Services
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário
Leia maisAPLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA
APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso
Leia maisSistemas de Informação
Sistemas de Informação Informação no contexto administrativo Graduação em Redes de Computadores Prof. Rodrigo W. Fonseca SENAC FACULDADEDETECNOLOGIA PELOTAS >SistemasdeInformação SENAC FACULDADEDETECNOLOGIA
Leia maisSISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA
Leia maisSISTEMAS 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 maisGBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM
GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados
Leia maisOrientaçã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 maisAo longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.
3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Leia maisCRM. Customer Relationship Management
CRM Customer Relationship Management CRM Uma estratégia de negócio para gerenciar e otimizar o relacionamento com o cliente a longo prazo Mercado CRM Uma ferramenta de CRM é um conjunto de processos e
Leia maisFramework colaborativo para processamento de imagens utilizando a tecnologia jini
Framework colaborativo para processamento de imagens utilizando a tecnologia jini Daniel Welfer (UFSM) welfer@inf.ufsm.br Fábio Paulo Basso (UFSM) fbasso@inf.ufsm.br Marcos Cordeiro d Ornellas (UFSM) ornellas@inf.ufsm.br
Leia maisExtração de Requisitos
Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo
Leia maisA consolidação de servidores traz uma séria de vantagens, como por exemplo:
INFRAESTRUTURA Para que as empresas alcancem os seus objetivos de negócio, torna-se cada vez mais preponderante o papel da área de tecnologia da informação (TI). Desempenho e disponibilidade são importantes
Leia maisEngenharia de Software
Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo
Leia maisGERAÇÃO DE RELATÓRIOS
UNIOESTE Universidade Estadual do Oeste do Paraná CCET - CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação GERAÇÃO DE RELATÓRIOS
Leia maisExemplos práticos do uso de RMI em sistemas distribuídos
Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande
Leia mais4 Um Exemplo de Implementação
4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação
Leia maisMaterial de Apoio. Sistema de Informação Gerencial (SIG)
Sistema de Informação Gerencial (SIG) Material de Apoio Os Sistemas de Informação Gerencial (SIG) são sistemas ou processos que fornecem as informações necessárias para gerenciar com eficácia as organizações.
Leia maisPadrões Arquiteturais e de Integração - Parte 1
1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisRoteiro. 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 maisAutoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisAula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW
Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto
Leia maisMÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA
MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA Através dos elementos que fazem parte do projeto do sistema é que podemos determinar quais as partes do sistema que serão atribuídas às quais tipos
Leia maisHistó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 maisLinguagem de Programação Introdução a Linguagem Java
Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,
Leia maisMetodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi
Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia
Leia mais04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.
MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais
Leia mais