INTEGRAÇÃO DE FERRAMENTAS E AMBIENTES DE CAD PARA MICROELETRÔNICA SUMMARY RESUMO

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

Download "INTEGRAÇÃO DE FERRAMENTAS E AMBIENTES DE CAD PARA MICROELETRÔNICA SUMMARY RESUMO"

Transcrição

1 INTEGRAÇÃO DE FERRAMENTAS E AMBIENTES DE CAD PARA MICROELETRÔNICA João D. Togni, Maria Lúcia B. Lisbôa, Renato P. Ribas Instituto de Informática UFRGS Av. Bento Gonçalves, 9500 CxP CEP Porto Alegre RS, Brasil {togni, llisboa, SUMMARY The use of CAD (Computer Aided Design) tools is imperative to build integrated circuit - IC and micro-electromechanical systems - MEMS. The huge set of different tasks brings the need of many different tools for the IC and MEMS design flow. CAD environments aiming the coverage of the most of these design flow steps as well as specific tools that goal specialized tasks are available. However, there is a need for exchange information between tools simplifying the integration of such environments and tools to optimize their use. This paper presents a new mechanism that helps the integration between computing programs written in different languages, including objectoriented languages (C++ and Java) and script languages, such as Skill and Ample from Cadence and Mentor Graphics IC environments, respectively. Preliminary results have been obtained with Skill and Java languages, taken into account an anisotropic etching simulation for MEMS. RESUMO Ferramentas de CAD (Computer Aided Design) para microeletrônica são indispensáveis para o projeto de circuitos integrados - IC e de microssistemas - MEMS. A grande diversidade de tarefas envolvidas faz com que diversas ferramentas estejam envolvidas no fluxo completo de projeto de IC and MEMS. Para tratar dessas tarefas, ambientes de CAD que visam cobrir grande parte desse processo bem como ferramentas para fins específicos estão disponíveis tanto academicamente quanto comercialmente. Observa-se porém a necessidade de integração entre tais ambientes e ferramentas, de forma a facilitar a troca de informações entre as mesmas melhorando com isso seu uso e eficiência. Este artigo propõe um novo protocolo que auxilia a integração de programas escritos em diferentes linguagens, incluindo linguagens orientadas a objeto, como Java e C++, e linguagens script proprietárias como Skill e Ample presentes nos ambientes de microeletrônica Cadence e Mentor Graphics, respectivamente. Resultados preliminares são apresentados para as linguagens Skill e Java, através de uma ferramenta de simulação de corrosão anisotropica para MEMS.

2 INTEGRAÇÃO DE FERRAMENTAS E AMBIENTES DE CAD PARA MICROELETRÔNICA João D. Togni, Maria Lúcia B. Lisbôa, Renato P. Ribas Instituto de Informática UFRGS Av. Bento Gonçalves, 9500 CxP CEP Porto Alegre RS, Brasil {togni, llisboa, RESUMO Ferramentas de CAD (Computer Aided Design) para microeletrônica são indispensáveis para o projeto de circuitos integrados - IC e de microssistemas - MEMS. A grande diversidade de tarefas envolvidas faz com que diversas ferramentas estejam envolvidas no fluxo completo de projeto de IC and MEMS. Para tratar dessas tarefas, ambientes de CAD que visam cobrir grande parte desse processo bem como ferramentas para fins específicos estão disponíveis tanto academicamente quanto comercialmente. Observa-se porém a necessidade de integração entre tais ambientes e ferramentas, de forma a facilitar a troca de informações entre as mesmas melhorando com isso seu uso e eficiência. Este artigo propõe um novo protocolo que auxilia a integração de programas escritos em diferentes linguagens, incluindo linguagens orientadas a objeto, como Java e C++, e linguagens script proprietárias como Skill e Ample presentes nos ambientes de microeletrônica Cadence e Mentor Graphics, respectivamente. Resultados preliminares são apresentados para as linguagens Skill e Java, através de uma ferramenta de simulação de corrosão anisotropica para MEMS. 1. INTRODUÇÃO O projeto de circuitos integrados (IC) abrange diversas áreas de conhecimento e tarefas. Entre as muitas tarefas envolvidas podemos citar síntese lógica, minimização lógica, mapeamento tecnológico, simulações elétricas, estudo de performance, validação lógica, simulação de efeitos secundários em leiaute, ferramentas de desenho de esquemas elétricos e leiautes, simulações de corrosão e efeitos físicos, entre outros. Seria impossível atingir o estado de desenvolvimento atual da área sem o auxílio de ferramentas computacionais que simplificassem essas tarefas de forma eficiente. A área de microssistemas (MEMS) não é diferente. Nesta nova tecnologia, a diversidade de ferramentas computacionais de auxílio ao projeto é ainda maior devido a sua característica interdisciplinar. Existem ferramentas específicas para algumas das tarefas do fluxo de projeto de ICs e MEMS, bem como ambientes que pretendem cobrir grande parte das etapas desses fluxos. Dois dos maiores e mais completos ambientes de microeletrônica são o Design Framework II da Cadence [1] e o Falcon Framework da Mentor Graphics [2]. Tais ambientes podem ser usados através de interfaces gráficas ou por comandos expressos em uma linguagem de programação script de domínio específico. Linguagens script de domínio específico, ou linguagens de comandos, são linguagens de programação que permitem a utilização de recursos de uma determinada ferramenta, aumentando sua flexibilidade. A capacidade computacional de uma linguagem deve-se a dois fatores principais: a capacidade de expressão da própria linguagem, controle de fluxos, controle de escopos, primitivas de concorrência com threads ou com processos, proteção de variáveis e funções, entre outros; a sua biblioteca de funções, ou seja, a existência de funções para comunicação em rede, expressão de estruturas complexas como listas encadeadas, vetores, grafos, etc. As linguagens script oferecidas pelo Design Framework II - Cadence e pelo Falcon Framework - Mentor Graphics possuem total controle sobre os recursos do ambiente e suas ferramentas, ou seja, em ambos os casos é possível fazer com programação qualquer coisa que feita através da interface gráfica, com a vantagem de persistência do roteiro de tarefas e a possibilidade de execução de código nativo para adição de funcionalidades específicas. Apesar do grande potencial desses ambientes, há sempre a necessidade de criação de novas ferramentas para lidar com tarefas específicas. Essas ferramentas podem ser desenvolvidas fora desses ambientes, em linguagens de programação como C, C++, Java, Tk/Tcl, comumente usadas em meios profissionais e acadêmicos 1

3 para o desenvolvimento de CAD. Além disso, as linguagens script dos ambientes de projeto são proprietárias, ou seja, funcionam somente integradas às ferramentas. O seu objetivo é a criação de scripts dentro das linguagens, que a princípio não representam soluções completas de software. A necessidade de aproveitar ferramentas já desenvolvidas, integrando-as com outras ferramentas ou estendendo suas funcionalidades tem sido uma necessidade crescente [3][4]. Portanto, para a realização de fluxos de desenvolvimento de microeletrônica e MEMS tem-se sempre a necessidade do uso de sistemas que integrem as ferramentas de CAD específicas, que são geralmente implementadas fora desses ambientes, em modo stand-alone (ou independentes e auto-suficientes). Neste artigo é apresentado um protocolo para auxiliar a integração de programas escritos em linguagens script proprietárias dos ambientes de CAD de microeletrônica com linguagens de domínio público. Para tanto, são apresentadas algumas características das linguagens script desses ambientes, e os resultados obtidos através de um simulador de corrosão anisotrópica para MEMS, tomado como estudo de caso. outras linguagens escolham o formato mais confortável para escrever seus códigos. Além de todas essas características, a linguagem Skill oferece funções para a construção de interfaces gráficas para interação do usuário com o ambiente de CAD. Por fim, são disponibilizadas algumas ferramentas de auxílio ao desenvolvimento como depuração e otimização. O objetivo primeiro dessas linguagens é oferecer uma maneira de personalizar o ambiente e reduzir a dificuldade de uso do mesmo. Porém, as funcionalidades da linguagem permitem não só a geração de pequenos programas, mas também a confecção de módulos inteiros dentro do ambiente. A Fig. 1 mostra o resultado de implementação em Skill de um algoritmo de corrosão anisotrópica usando a tecnologia de microusinagem do substrato pela face superior (Front-Side Bulk Micromachining FSBM), utilizado como estudo de caso neste trabalho [6]. A Fig. 2 apresenta um trecho de código da linguagem Skill. 2. LINGUAGENS SKILL CADENCE E AMPLE MENTOR GRAPHICS Nesta seção são brevemente descritas as linguagens script proprietárias dos ambiente de projeto Design Framework II da Cadence [1] e o Falcon Framework da Mentor Graphics [2] Linguagem script Skill Cadence O ambiente Design Framework II - Cadence oferece a linguagem script Skill e sua variante Skill++. Ambas são linguagens baseadas em Lisp [5]. Skill++ possui características do modelo de objetos, sendo estas características que a distinguem de sua predecessora Skill. Lisp é uma linguagem funcional, ou seja, funções podem ser passadas como parâmetro e recebidas como retorno de funções. Skill/Skill++ são linguagens interpretadas e seus códigos não podem ser executados fora do ambiente Cadence. Skill++ é não tipada, ou seja, uma variável pode receber qualquer tipo de dado, a qualquer momento e em qualquer ordem. Permite a criação de classes e métodos, além da definição de funções, e também expressão de herança. Possui estruturas complexas como lista, vetor e tabela (associação entre chave e valor). O acesso às ferramentas é feito através de funções disponibilizadas na linguagem. Possui mecanismos de controle de processos IPC (Inter Process Communication) e de tratamento de exceções. Oferece variações no formato sintático, possibilitando que usuários adaptados a Figura 1 Simulação de corrosão FSBM implementado em Skill++ / Cadence Linguagem script Ample Mentor Graphics A linguagem script oferecida pelo ambiente Falcon Framework - Mentor Graphics é chamada Ample. Essa linguagem é também uma linguagem interpretada, funcional e não tipada, sua sintaxe assemelha-se muito com a sintaxe da linguagem de programação C. Os códigos em Ample podem ser compilados em um formato intermediário, não podendo ser executados fora do ambiente. 2

4 (defmethod VertexEtcher_inverterRetas ((this VertexEtcher) teta isafterr1 entrar) (prog (tmp) (if (or (null isafterr1) (entrar==t)) then A possibilidade de execução de qualquer comando da ferramenta dentro das linguagens é a mais importante vantagem dessas linguagens, pois permite a execução via script (texto) de qualquer tarefa feita via interface. tmp = teta[0] teta[0] = teta[1] teta[1] = tmp isafterr1 =!isafterr1 println("inverter") return(t) ) return(nil) )) Figura 2 Exemplo de código em linguagem Skill++. Diferentemente de Skill++, Ample não apresenta os princípios do modelo de objetos. Oferece apenas o tipo estruturado como a estrutura de vetor, não disponibilizando estruturas como listas e mapeamentos. Cada janela ou sub-janela de trabalho do ambiente Falcon Framework define um contexto que permite acesso a um conjunto de funções correlatas. Desta forma, funções com mesmo nome podem aparecer em contextos diferentes, com funcionalidades diferentes. Ample possui tratamento de exceções. Como em Skill, a criação de interfaces gráficas para interação do usuário com o ambiente é possível. Ample fornece também um mecanismo de interação com programas na linguagem C, onde as funções desenvolvidas em C tornam-se visíveis dentro da ferramenta, facilitando a integração de sistemas desenvolvidos nessa linguagem. Uma característica de implementação dessa linguagem é a adoção apenas do modelo de cópia, isto é, em todas as atribuições, passagem de parâmetros ou retorno de função os valores são copiados, mesmo para vetores, uma vez que não existem referências a valores. Embora esta característica comprometa o desempenho de alguns programas, não impede o desenvolvimento de módulos inteiros na linguagem. A Fig. 3 mostra o resultado de implementação do algoritmo de corrosão FSBM, adotado como estudo de caso, no ambiente Mentor Graphics. A Fig. 4 apresenta um trecho de código em linguagem Ample Avaliação das Linguagens As linguagens internas dos ambientes de CAD para microeletrônica Mentor Graphics e Cadence apresentam características muito boas para a confecção de sequências de comandos ou scripts. Pequenos algoritmos para repetição ou agrupamento de comandos e interfaces personalizadas são facilmente descritos nessas linguagens. Figura 3 Simulação de corrosão FSBM implementado em Ample / Mentor Graphics. function set_crsct_points_prompt() { "Enter cross-line", "Polyline"), "($prompt_for_ic_polyline( ); } Figura 4 Exemplo de código em linguagem Ample. Porém a construção de módulos ou programas mais complexos é prejudicada por outras características das linguagens. Notações como UML (Unified Modelling Language) e ferramentas de desenvolvimento associadas, amplamente usadas para o projeto de software, não estão adaptadas a essas linguagens funcionais [7, 8]. O projeto de um software tem um papel extremamente importante para sua confecção, manutenção e vida útil, reduzindo o tempo de produção, aumentando a manutenibilidade, planejando e delimitando a ação do software, levando à redução do custo total do mesmo. A falta da disponibilidade de ferramentas mais elaboradas de auxílio ao desenvolvimento é uma limitação importante nas linguagens Skill e Ample, especialmente levando-se em consideração os ambientes integrados de desenvolvimentos de programas disponíveis para linguagens de domínio público como Java, C, e C++, pois essas ferramentas auxiliam na construção rápida e confiável de programas. 3

5 Um outro fator importante a considerar é a portabilidade da linguagem. Considerando que os ambientes CAD para microeletrônica são essenciais para o projeto e desenvolvimento de circuitos integrados e que cada ambiente possui as suas particularidades, torna-se atraente a idéia de fazer programas executáveis em ambientes heterogêneos, ou seja, que utilizam diferentes linguagens de programação, plataformas ou sistemas operacionais. Este tipo de portabilidade possibilita a exploração das melhores características e ferramentas de ambientes específicos, ao permitir a integração de programas desenvolvidos e testados anteriormente. A seguir são descritas algumas possíveis formas de integração de ferramentas de ambientes heterogêneos e será apresentada uma proposta de integração genérica, denominada de BICO (Basic Type Conversor). 3. INTEGRAÇÃO DE FERRAMENTAS DE CAD 3.1 Formas de integração A forma mais básica de integração de ferramentas é a utilização de formatos padrões. Estes podem ser utilizados via troca de arquivos ou troca de mensagens por rede. Para tanto, é necessário utilizar, em cada programa e formato, um codificador e um decodificador. Ou seja, cada novo formato padrão em cada linguagem necessita de codificadores e decodificadores para a representação interna das estruturas. A Fig. 5 esquematiza a integração de duas ferramentas através do uso de codificadores e decodificadores que possibilitam que as informações produzidas pela ferramenta A sejam utilizadas pela ferramenta B. Formas mais transparentes e reutilizáveis de integração são realizadas através de middlewares, que são softwares que atuam como intermediários entre aplicações e seu ambiente operacional, ilustrado na Fig. 6. Estes softwares se propõem a facilitar o desenvolvimento de aplicações que exigem comunicação por rede, confiabilidade, escalabilidade e tratamento de sistemas heterogêneos [3]. CORBA [9], DCOM [10], J2EE [11], RMI [12] e SOAP [13] são exemplos de middlewares que facilitam o desenvolvimento de aplicações distribuídas heterogêneas quanto à plataforma de execução e/ou linguagem de implementação. Rettberg et al. [4] recentemente apresentou uma forma de integração de ferramentas de microeletrônica usando WEB services, utilizando documentos XML (extensible Markup Language) [14]. A proposta de integração a apresentada seguir consiste na produção de documentos XML que representam os elementos essenciais de programas escritos para ferramentas específicas possibilitando a interoperabilidade das ferramentas. 3.2 Integração via XML Dentre os diversos conceitos tratados por middlewares, o protocolo SOAP (Simple Object Access Protocol) apresenta padrões de definição e formatação de mensagens que representam objetos. A tecnologia SOAP visa oferecer uma forma simples de definição de objetos e representação em formato texto, utilizando a linguagem de marcação XML. Ferramenta A Codificador Decodificador Arquivo, Rede,... Decodificador Codificador Ferramenta B Figura 5 - Integração de ferramentas através de formatos padrões Componentes Componentes Middleware Middleware Sistema Operacional Sistema Operacional Hardware Hardware Computador Computador Rede Componentes Middleware Sistema Operacional Hardware Computador Figura 6 Integração facilitada por middleware. 3.3 Protocolo BICO SOAP possui diversas primitivas que permitem descrições de objetos complexos. Para aplicações simples, muitos destes recursos não são necessários. Além disso, é pré-requisito da utilização de SOAP a existência do mecanismo XML. Objetivando possibilitar a integração de ferramentas com um mecanismo mais simples e ainda assim eficiente, o protocolo denominado BICO (Basic Type Conversor) foi desenvolvido. O BICO baseia-se em SOAP, com algumas variações sintáticas e com menor poder de expressão de objetos. Um mecanismo reduzido de parsing de XML é utilizado, visando diminuir a complexidade da implementação para linguagens que não possuam o mecanismo XML. Assim como SOAP, o BICO define apenas o protocolo de troca de objetos entre as linguagens que tiverem o protocolo implementado. O formato proposto permite descrever objetos que são conjuntos de atributos. Os tipos básicos são string, números inteiros, ponto flutuante e boleanos. Uma declaração de objeto ou tipo complexo gera um novo tipo. O tipo complexo Livro é apresentado na Fig. 7 como exemplo. Estes tipos complexos também podem ser utilizados como atributos. É possível também descrever atributos que possam receber qualquer um desses tipos. Ha também a possibilidade de utilizar vetores 4

6 unidimensionais ou multidimensionais, porém não é possível fixar na declaração de tipo complexo o tamanho das dimensões. <complextype name= Livro > <element name= autor type= string /> <element name= referencias type= array arraytype= Livro[] /> <element name= preco type= float /> <element name= vendido type= boolean /> <element name= outrosdados type= array arraytype= any[][] /> <element name= paginas type= int /> <element name= dadocomplementar type= any /> </complextype> Figura 7 Exemplo de um descritor de tipo BICO/XML. O descritor da Fig. 7 define um tipo complexo chamado Livro, seus atributos e seus tipos. Dessa forma, é definido também o formato que as mensagens terão, como no exemplo mostrado na Fig. 8. Não é possível definir se os são requeridos ou não. Todo o tipo complexo deve ter um id, que é uma referência única ao conjunto de. Esse pode ser utilizado para criar referências entre objetos, como por exemplo uma lista encadeada. Os atributos do tipo any, que podem receber qualquer tipo definido, devem ter seu tipo identificado obrigatoriamente nas mensagens. Utilizando esse mecanismo torna-se viável trocar informações estruturadas entre linguagens sem a preocupação com a codificação e decodificação das mensagens, assim reduzindo a dificuldade da integração por passagem de estruturas de. A Fig. 9 exemplifica como a existência de um formato padrão permite a integração de diversas linguagens bastando ter o protocolo BICO implementado em cada linguagem. A partir do descritor de tipo complexo será gerada uma classe ou conjunto de funções em cada linguagem representando o tipo de dado dentro da linguagem. Esse programa inclui funções de codificação e decodificação. Isso é feito através de conversores XSLT (extensible Stylesheet Language Transformations) [15]. Em resumo, a implementação do padrão em cada linguagem consiste em um codificador, um decodificador, e um arquivo com regras de transformação XSLT. Esses programas precisam ser implementados apenas uma vez para cada linguagem, e não uma vez por programa. Para cada tipo complexo definido um novo programa será gerado na linguagem alvo. Basicamente, esses são os requisitos para implementar o protocolo em uma nova linguagem. Entre as simplificações feitas para a definição do protocolo BICO estão: não permite estruturas complexas encadeadas; primeiro objeto é sempre um tipo complexo; não possui diversas construções como: enumerações, cadeias de bytes, quantificadores de ocorrência, comentários, delimitadores de tamanho de matriz ou passagem de matriz esparsa. <Livro id= togni00 > <autor>joao Daniel Togni</autor> <referencias> <item>ribas00<item> <item>andreis01<item> </referencias> <preco/> <vendido>false</vendido> <outrosdados> <item> <item type="string"> valor1 <item type="float">33.2 <item> <item type="livro2">togni_00 </outrosdados> <paginas></paginas> <dadocomplementar type= string > Ed. Sala </dadocomplementar> </Livro> Figura 8 - Exemplo de mensagem BICO/XML. SKILL++ AMPLE Mensagem Padronizada (BICO) Java C++ Figura 9 - Exemplo de troca de estruturas entre diferentes linguagens. 4. RESULTADOS PRELIMINARES O protocolo está parcialmente implementado em Java e Skill++. O estágio atual de desenvolvimento já permite verificar a funcionalidade e efetuar testes de comunicação. Como teste foi utilizado o algoritmo de simulação de corrosão FSBM, implementado em Java e invocado a partir de um script Skill++ que passa de configuração e recebe os resultados da corrosão. A comunicação entre as linguagens é feita através de IPC, mas poderia ser substituída por qualquer mecanismo de troca de mensagens como sockets, por exemplo. Nesse teste percebe-se que o protocolo simplifica significativamente a integração entre as linguagens, pois 5

7 elimina-se a necessidade de codificação e decodificação de. Porém uma estruturação melhor do protocolo através de definições de serviços pode simplificar e facilitar ainda mais a implementação de códigos que utilizem o protocolo. 5. CONCLUSÕES As linguagens script fornecidas pelos ambientes de CAD para microeletrônica permitem a criação de sistemas complexos de software dentro dos próprios ambientes. Porém, essas linguagens não apresentam características favoráveis à utilização de técnicas de engenharia de software, o que dificulta o projeto, construção e manutenção dos programas gerados. A pré-existência de componentes e algoritmos implementados em diferentes linguagens pode auxiliar a redução do custo e tempo de implantação de projetos, considerando também que existem linguagens mais apropriadas para a implementação de certos tipos de algoritmos. Uma solução possível para esses problemas é a utilização de middleware, que são facilitadores para a integração de algoritmos em diferentes linguagens sem que haja a preocupação com a forma como os vão ser transferidos entre os programas. Porém, estes mecanismos, como CORBA, não estão disponíveis para os ambientes de CAD. Atualmente a integração das ferramentas como Cadence e Mentor Graphics é feita utilizando-se arquivos em formatos pré-definidos ou esquemas de comunicação proprietários da ferramenta. Esse trabalho aproveita as idéias principais de um protocolo amplamente utilizado, o SOAP, para possibilitar a integração de sistemas implementados em Skill++ e Java, e futuramente Ample e C++. O protocolo BICO atualmente define apenas a conversão de tipos complexos de. Porém, é possível também definir um protocolo de controle onde podem ser descritos formatos para requisições e respostas. A utilização de um protocolo de controle tornará possível a implementação de servidores de serviços, aumentando assim a modularização e organização dos sistemas que aderirem ao protocolo. Juntamente com o protocolo de requisições, as demais características de sistemas de middleware estão sendo avaliadas, visando adicionar funcionalidades básicas de comunicação em rede para permitindo maior transparência e simplicidade na integração de ferramentas. 6. AGRADECIMENTOS O projeto é financiado pelo CNPq (Centro Nacional de Desenvolvimento Científico e Tecnológico - Brasil). 7. REFERÊNCIAS [1] Design Framework II Cadence. WEB site [2] Falcon Framework Mentor Graphics WEB site [3] W. Emmerich, Software Engineering and Middleware: A Roadmap, The Future of Software Engineering, ACM Press, p , [4] A. Rettberg, W. Thronicke, Embedded System Design based on Webservices. Design And Test Conference (DATE), [5] P. Graham, ANSI common lisp, Englewood Cliffs, Prentice-Hall, p. [6] F. Martinazzo, A. Konzen, J. D. Togni, A. I. Reis, R. P. Ribas, Etching Simulator for Bulk Micromachining in Java Platform, SBMICRO - 17th Symposium On Microelectronics Technology And Devices, [7] G. Booch, UML: guia do usuário, Campus, Rio de Janeiro, p. [8] M. Fowler, S. Kendall, UML Essencial, Bookman, Porto Alegre, [9] CORBA Commom Object Request Brocker Arquitecture WEB site [10] DCOM Technical Overview, Microsoft Corporation, /library/backgrnd/html/msdn_dcomtec.htm [11] J. Byous, Web Services & J2EE Technology: One Platform, July 8, WEB site [12] RMI (Remote Method Invocation) Whitepaper, [13] SOAP - Simple Object Access Protocol WEB site [14] XML - extensible Markup Language, WEB site [15] XSLT XML Stylesheet Language Transformations, WEB site 6

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. 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 mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

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

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS 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 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 13 Web Services Web Services

Leia mais

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de

Leia mais

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and

Leia mais

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

EMENTA DO CURSO. Tópicos:

EMENTA DO CURSO. Tópicos: EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia mais

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com. Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar

Leia mais

Curso 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 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

Sistemas Distribuídos

Sistemas 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 mais

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos CORBA Common Object Request Broker Architecture Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos Introdução OMG (Object Management Group): uma organização formada por empresas

Leia mais

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

Leia mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.NET. Desenvolvimento Baseado em Componentes Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

INTEROPERABILIDADE EM SISTEMAS UTILIZANDO WEB SERVICES COMO MIDDLEWARES

INTEROPERABILIDADE EM SISTEMAS UTILIZANDO WEB SERVICES COMO MIDDLEWARES INTEROPERABILIDADE EM SISTEMAS UTILIZANDO WEB SERVICES COMO MIDDLEWARES Bruno B. Boniati 1, Agner Q. Olson 1, Ms. Edson Luiz Padoin 2 2 Departamento de Tecnologia - 1 Curso de Informática: Sistemas de

Leia mais

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java RedFoot J Dukes Uma Visão Geral Sobre Plataforma Java Marco Aurélio malbarbo@din.uem.br 1 Roteiro Objetivos Plataforma Java Linguagem de Programação Maquina Virtual Tecnologias Conclusão 2 Objetivos Geral

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Web Services Ricardo Mendão Silva Universidade Autónoma de Lisboa r.m.silva@ieee.org November 29, 2014 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

Leia mais

CURSO DE SISTEMAS DE INFORMAÇÃO

CURSO DE SISTEMAS DE INFORMAÇÃO 1 CURSO DE SISTEMAS DE INFORMAÇÃO EMENTÁRIO DAS DISCIPLINAS 2015.1 BRUSQUE (SC) 2015 2 SUMÁRIO 1ª FASE... 4 01 ARQUITETURA DE COMPUTADORES... 4 02 FILOSOFIA... 4 03 FUNDAMENTOS MATEMÁTICOS... 4 04 TEORIA

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA SUMÁRIO Introdução Comunicação entre objetos distribuídos Eventos e Notificações 1.INTRODUÇÃO Middleware oferece: Transparência de localização Independência de protocolos

Leia mais

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT 1. IDENTIFICAÇÃO Padrão Segmento Código P06.002 Revisão v. 2014 Plataformas Web 2. PUBLICAÇÃO Recursos Tecnológicos Versão Data para adoção Publicação v. 2014 23 de dezembro de 2014 PORTARIA N Nº 225 de

Leia mais

Principais características

Principais características .Net Framework O que é.net? Proprietário da Microsoft Versão simplificada para Linux Versão compacta para dispositivos móveis Plataforma de desenvolvimento e execução Interface com usuário, conectividade

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

Plano de Trabalho Docente 2014. Ensino Técnico

Plano de Trabalho Docente 2014. Ensino Técnico Plano de Trabalho Docente 2014 Ensino Técnico ETEC MONSENHOR ANTONIO MAGLIANO Código: 088 Município: Garça Eixo Tecnológico: Informação e Comunicação Habilitação Profissional: Técnica de Nível Médio de

Leia mais

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I Metodologia de Desenvolvimento de Sistemas II/CPD025 Conceitos orientação a objetos. Evolução das técnicas de modelagem orientadas a objetos. Estrutura da linguagem UML. Conceito de processo interativo

Leia mais

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento

Leia mais

INTRODUÇÃO A SISTEMAS DISTRIBUÍDOS

INTRODUÇÃO A SISTEMAS DISTRIBUÍDOS INTRODUÇÃO A SISTEMAS DISTRIBUÍDOS Sistemas Distribuídos Sistemas Distribuídos O que é um sistema Distribuído? SD é aquele no qual os componentes de hardware ou software se comunicam e coordenam suas ações

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 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 mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Suporte à Engenharia Reversa para o ambiente SEA

Suporte à Engenharia Reversa para o ambiente SEA Otavio Pereira Suporte à Engenharia Reversa para o ambiente SEA Orientador: Ricardo Pereira e Silva Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis

Leia mais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Documento apresentado para discussão II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Rio de Janeiro, 21 a 25 de agosto de 2006 PID - Projeto de Interoperabilidade

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

Ementário das Disciplinas

Ementário das Disciplinas Ementário das Disciplinas As ementas das disciplinas estão agrupadas em semestres para uma melhor visualização da organização da matriz curricular. As referências bibliográficas serão especificadas no

Leia mais

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução.

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. CAPÍTULO 3 MIDDLEWARE Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. 3.1 ARQUITETURA CLIENTE/SERVIDOR Primeiramente, surgiu a arquitetura centralizada

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

A utilização do JSWDP para construção de Web Services

A utilização do JSWDP para construção de Web Services A utilização do JSWDP para construção de Web Services Fabiana Ferreira Cardoso 1, Francisco A. S. Júnior 1, Madianita Bogo 1 1 Centro de Tecnologia da Informação Centro Universitário Luterano de Palmas

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

O modelo de arquitetura CORBA e suas aplicações

O modelo de arquitetura CORBA e suas aplicações ABR. MAI. JUN. 2004 ANO X, N º 37 157-163 INTEGRAÇÃO 157 O modelo de arquitetura CORBA e suas aplicações ANA PAULA GONÇALVES SERRA* Resumo Nos últimos anos, os sistemas de informação nas empresas têm evoluído

Leia mais

ESTUDO COMPARATIVO DE BIBLIOTECAS GRÁFICAS I TEGRADAS COM OPE GL

ESTUDO COMPARATIVO DE BIBLIOTECAS GRÁFICAS I TEGRADAS COM OPE GL ESTUDO COMPARATIVO DE BIBLIOTECAS GRÁFICAS I TEGRADAS COM OPE GL Francisco Tiago Avelar, Vitor Conrado F. Gomes, Cesar Tadeu Pozzer Universidade Federal de Santa Maria UFSM Curso de Ciência da Computação

Leia mais

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

Leia mais

APLICAÇÃO DO ENSINO POR PESQUISA NO DESENVOLVIMENTO DE WEB SERVICE PARA MANIPULAÇÃO DE ARQUIVOS UTILIZANDO JAVA SERVLET PAGES.

APLICAÇÃO DO ENSINO POR PESQUISA NO DESENVOLVIMENTO DE WEB SERVICE PARA MANIPULAÇÃO DE ARQUIVOS UTILIZANDO JAVA SERVLET PAGES. APLICAÇÃO DO ENSINO POR PESQUISA NO DESENVOLVIMENTO DE WEB SERVICE PARA MANIPULAÇÃO DE ARQUIVOS UTILIZANDO JAVA SERVLET PAGES. Fredericko Xavier Gonçalves - fredericko.xg@hotmail.com Geshner Inagaki Martins

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Sistemas Distribuídos 59. Sistemas Distribuídos 61. "Receive não-bloqueante:

Sistemas Distribuídos 59. Sistemas Distribuídos 61. Receive não-bloqueante: Comunicação entre processos! Memória Compartilhada: " os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Área Compartilhda!

Leia mais

Modelagem de Sistemas Web. Ferramentas e metodologias para projeto de sistemas web

Modelagem de Sistemas Web. Ferramentas e metodologias para projeto de sistemas web Modelagem de Sistemas Web Aula 4 Ferramentas e metodologias para projeto de sistemas web Ferramentas e metodologias para projeto de sistemas web Ferramentas CASE Fontes: Sarajane e Marques Peres Introdução

Leia mais

Ferramenta CORIDORA Web Mapping para Mapeamento de Esquemas em Bancos de Dados Heterogêneos

Ferramenta CORIDORA Web Mapping para Mapeamento de Esquemas em Bancos de Dados Heterogêneos Ferramenta CORIDORA Web Mapping para Mapeamento de Esquemas em Bancos de Dados Heterogêneos Fernando Busanello Meneghetti 1, Fabiano Gama Paes 1, Gustavo Zanini Kantorski 1 Curso de Sistemas de Informação

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Definições Características Desafios Vantagens Desvantagens 2 Definições DEFINIÇÕES Um sistema distribuído é uma coleção

Leia mais

Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados

Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados Maria das Dores Rosa Alves¹, Marcia Izabel Fugisawa Souza¹ ¹Embrapa Informática Agropecuária Caixa postal 6014 Campinas, SP

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

Integração de Sistemas de Gerenciamento de Redes de Telecomunicações Utilizando GML

Integração de Sistemas de Gerenciamento de Redes de Telecomunicações Utilizando GML Integração de Sistemas de Gerenciamento de Redes de Telecomunicações Utilizando GML Novembro/2003 Agenda Introdução Contexto Problema Objetivo Solução Integração de Sistemas de Telecom Rede Externa de

Leia mais

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

Leia mais

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

Leia mais

SOA: Service-oriented architecture

SOA: Service-oriented architecture SOA: Service-oriented architecture Roteiro Breve História O que é Arquitetura de Software? O que é SOA? Serviços Infraestrutura Composição Sua empresa está preparada para SOA? Breve História Uma empresa

Leia mais

Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML

Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML Acadêmico: Leonardo Chagas D Ippolito Orientador: Prof. Marcel Hugo Blumenau, Dezembro de 2004

Leia mais

Introdução. Paradigmas de Linguagens de Programação. Heloisa de Arruda Camargo. Motivos para estudar os conceitos de linguagens de programação

Introdução. Paradigmas de Linguagens de Programação. Heloisa de Arruda Camargo. Motivos para estudar os conceitos de linguagens de programação Paradigmas de Linguagens de Programação Heloisa de Arruda Camargo Introdução Motivos para estudar os conceitos de linguagens de programação Aumento da capacidade de expressar idéias É difícil para as pessoas

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

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Edson Alves de Oliveira Junior 1, Itana Maria de Souza Gimenes 1 1 Departamento de

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

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB WEBSERVICES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é um WebService e sua utilidade Compreender a lógica de funcionamento de um WebService Capacitar

Leia mais

Uma Integração entre Ferramentas de Gerência de Projetos Utilizando XML

Uma Integração entre Ferramentas de Gerência de Projetos Utilizando XML Uma Integração entre Ferramentas de Gerência de Projetos Utilizando XML Edson Leandro de Araújo Silva 2, Adailton Magalhães Lima 1,2, Ernani de Oliveira Sales 1, Anderson Jorge Serra da Costa 2 1 Laboratório

Leia mais

Information Router: Plataforma webservice de comunicação entre aplicações

Information Router: Plataforma webservice de comunicação entre aplicações Information Router: Plataforma webservice de comunicação entre aplicações Pedro Silva 1, José Castro 1, e Ildemundo Roque 1 Telbit, Tecnologias de Informação Rua Banda da Amizade, 38 r/c Dto. 3810-059

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

Leia mais

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML. Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services

Leia mais

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA EDITAL DO PROGRAMA DE CERTIFICAÇÕES EM COMPUTAÇÃO MACK COMPUTING CERTIFICATION MCC 2º SEMESTRE DE 2014 O Diretor da Faculdade de Computação e Informática (FCI), no uso de suas atribuições estatutárias

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO (PROENG) ASSESSORIA DE DESENVOLVIMENTO ASSESSORIA JURÍDICA

PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO (PROENG) ASSESSORIA DE DESENVOLVIMENTO ASSESSORIA JURÍDICA FORMULÁRIO DE ALTERAÇÃO DE EMENTAS CURSO: SISTEMAS DE INFORMAÇÃO MATRIZ(ES) CURRICULAR(ES): 2015 ALTERAÇÕES PASSAM A VIGORAR A PARTIR DO SEMESTRE: 1 Arquitetura de Computadores Arquitetura de Computadores

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

Universidade Salgado de Oliveira

Universidade Salgado de Oliveira Universida Salgado Oliveira Graduação Tecnológica em Res Computadores PLANO DE ENSINO - 1º Semestre 2013 - Curso: Graduação Tecnológica em Res Computadores. Disciplina: Sistemas Distribuídos Código: 4289

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

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

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 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 mais

Integração Ubíqua Abordagem e Perspectivas de Integração CAPSI 2012. Resumo

Integração Ubíqua Abordagem e Perspectivas de Integração CAPSI 2012. Resumo Integração Ubíqua Abordagem e Perspectivas de Integração CAPSI 2012 Resumo O paradigma de sistemas heterogéneos vem exigindo a implementação de novas abordagens para garantir que as operações da organização

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introduçã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 mais

Tecnologias Web. Java Enterprise Edition

Tecnologias Web. Java Enterprise Edition Tecnologias Web Java Enterprise Edition Cristiano Lehrer, M.Sc. Introdução Java Enterprise Edition (JEE): Plataforma de tecnologias para o desenvolvimento de aplicações corporativas distribuídas. É uma

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

Leia mais

Software e Serviços MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL

Software e Serviços MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL CONSIDERAÇÕES INICIAIS Este manual tem como objetivo propiciar a integração do SISTEMA DE AUTOMAÇÃO COMERCIAL junto as ADMINISTRADORAS

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

1 http://www.google.com

1 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 mais

Controle de Temperatura de Transformador

Controle de Temperatura de Transformador Controle de Temperatura de Transformador Eng. Vitor Donaduzzi Universidade Federal do Rio Grande do Sul - UFRGS Email: vitordonaduzzi@gmail.com Resumo Este artigo tem o objetivo de apresentar um projeto

Leia mais

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso Casos de Uso O que é Casos de Uso Descrições narrativas de processos do domínio da aplicação Documentam a seqüência de eventos de um ator (um agente externo) usando o sistema para completar, do início

Leia mais

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

Desenvolvimento Cliente-Servidor 1

Desenvolvimento Cliente-Servidor 1 Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados

Leia mais