Instituto Superior de Engenharia do Porto. Departamento de Engenharia Informática. .Net Remoting
|
|
- Paula Azeredo Caminha
- 8 Há anos
- Visualizações:
Transcrição
1 Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática Projecto Licenciatura em Engenharia Informática Ramo de Computadores e Sistemas Julho 2002 Elaborado por: António Amaral Orientador: Eng.º Alexandre Bragança
2
3 Índice Geral Índice Geral Lista de Figuras Lista de Abreviaturas iii vi vii 1 - Introdução Projecto Objectivo Estrutura do Relatório Envolventes Contexto X Internet XML Apresentação estruturada dos dados Separação de apresentação e dados Xml vs. HTML Xml Web Services SOAP WSDL e UDDI Net Uma pequena revolução CLR Biblioteca de Classes e Aplicações Aplicações convencionais (de cliente) Aplicações cliente/servidor 17 iii
4 1.4 Domínios e Contextos (Domains and Contexts) Processos.NET Application Domains (AppDomains) Application Contexts (Contextos) Introdução Arquitectura Cliente Transparent Proxy Real Proxy Client-Side Sinks Canais Server-Side Sinks Objecto remoto Objectos activados pelo Servidor Objectos Singleton Objectos SingleCall Exemplo: Classificações de Exames O Objecto remoto O Cliente Objectos activados pelo Cliente O exemplo Classificações de Exame Objecto e Servidor O Cliente Tempo de Vida - Objectos activados pelo Cliente Através da Aplicação remota Através do objecto remoto Controlo do Tempo de Vida do Objecto Suporte ao controlo do Tempo de Vida - O Lease Sponsor Ficheiros de configuração 46 iv
5 4.5.1 Objectos activados pelo Servidor Objectos activados pelo Cliente Objectos.NET Remoting no IIS Cenários Utilização de Objectos Qualquer Cliente.NET - Usando SOAP-HTTP NET.NET - Usando SOAP-HTTP NET.NET - Usando TCP NET Componente COM.NET , Xml Web Services e a X Internet Conclusões Bibliografia v
6 Lista de Figuras Figura 2.1 Exemplo de um pedido RPC através de SOAP Figura 3.1 Relação Entre Processos, AppDomain s e Contextos Figura Os elementos principais da arquitectura do.net Remoting Figura 4.2 Exemplo de Utilização de um Objecto Singleton Figura 4.3 Exemplo de Utilização de Objectos SingleCall Figura 4.4 Esquema de Funcionamento Classificações Server Activated Object - (Singleton) Figura 4.5 Esquema de Funcionamento Classificações Client Activated Object vi
7 Lista de Abreviaturas CAO Client Activated Object CLR Common Language Runtime COM Component Object Model CTS Common Type System DCOM Distributed Component Object Model IIS Internet Information Server MFC Microsoft Foundation Classes SAO Server Activated Object SOAP Simple Object Access Protocol UDDI Universal Discovery Description and Integration WSDL Web Services Description Language WWW World Wide Web XML Extensible Markup Language XWS Xml Web Service vii
8 1 - Introdução 1.1 Projecto Este trabalho foi realizado no âmbito da cadeira Projecto, do 5º ano do curso de Licenciatura em Engenharia Informática Computadores e Sistemas, do Instituto Superior de Engenharia do Porto no segundo semestre do ano lectivo de 2001/ Objectivo O objectivo da realização deste projecto é o estudo da plataforma.net na sua vertente de Remoting. Como resultado final, pretende-se obter, para além de um documento de análise ao e tecnologias a ele inerentes, um guia para a sua utilização. Fazer um estudo sobre, obrigou á análise de alguns assuntos envolventes; entre eles posso destacar o conceito de X Internet, e dos Web Services, para além de todos os conceitos de Sistemas Distribuídos, Xml, SOAP, e da generalidade do próprio.net. São estes os assuntos que vão ser abordados inicialmente e posteriormente em paralelo ao estudo do. 1.3 Estrutura do Relatório Este relatório está essencialmente dividido em 4 partes, que deram origem a igual número de capítulos. 1
9 Para além dos pontos iniciais e do primeiro capítulo, que englobam índices, objectivos, e outras introduções, temos o capítulo 2 onde se fala um pouca das tecnologias inerentes ao tema principal (, Web Services e X Internet), como é o caso do Xml, do SOAP, WSDL e UDDI. Para além disso é introduzido neste capítulo o conceito de X Internet e de Web Services. De seguida temos no capítulo 3 uma breve contextualização sobre o.net na generalidade, sendo que este capítulo não pretende clarificar qualquer vertente em concreto do próprio.net. Neste capítulo começam a surgir, no entanto, alguns conceitos que são importantes para a boa compreensão do Remoting: Domínios e Contextos aplicacionais. No capítulo 4 é abordado o : arquitectura, objectos activados pelo servidor, objectos activados pelo cliente, ficheiros de configuração e objectos remotos no IIS são por esta ordem os sub-temas abordados. Neste capítulo é introduzido um exemplo (classificações de exame obtidas a partir de um objecto remoto), que é utilizado por todo o relatório como forma de auxilio á explicação das tecnologias nele utilizadas. No capítulo 5 é feita uma abordagem no sentido prático de utilização quer do Remoting quer dos Xml Web Services, e a sua integração no conceito de X Internet. Após estes quatro capítulos temos uma breve conclusão e bibliografia. 2
10 2 - Envolventes 2.1 Contexto Podendo-se, neste momento, considerar o aparecimento e amadurecimento da Internet um sucesso, deve-se também pensar um pouco no futuro, e na inevitável aproximação de novas exigências. É por isso previsível que o inevitável ciclo de vida do produto também se venha a aplicar á Internet tal como ela foi utilizada inicialmente. Sendo assim urge o aparecimento de novas formas de globalização na área da informação. Sendo já bastante comum a empresa que se formou ontem ter a famosa página na WWW onde coloca algo sobre si e sobre os seus produtos e serviços, ou até, o nosso vizinho ter uma página pessoal onde escreve sobre o seu maior ídolo ou até sobre si... cabendo a cada um dos utilizadores tirar partido da muita e variada informação (em qualidade e quantidade), parece começar a ser necessário dar outra utilidade á rede de comunicação e distribuição de informação. A palavra chave pode mesmo ser a distribuição; distribuição não só de texto mas também de serviços, de execução de tarefas comuns e especificas. Tornar a Internet executável pode, e começa, a ser o próximo passo. 2.2 X Internet É neste contexto que surge o conceito de X Internet. A X Internet é uma rede na qual os utilizadores participam mais activamente no processo de comunicação. Na X Internet os computadores em vez de se limitarem a fazer download de ficheiros, fazem download de programas de lhe dizem o que fazer... enquanto que na actual World Wide Web os browsers se limitam a carregar milhares de páginas com texto contendo a mais 3
11 Envolventes variada informação, na X Internet são carregados apenas os ficheiros necessários para se alcançar um determinado objectivo, que pode variar consoante o destino que se lhe pretender dar. Desde a distribuição de informação até ao arranque de sistemas, o conceito de X Internet pretende revolucionar a Internet a que estamos habituados. Como qualquer outra revolução, esta terá o seu tempo de intervenção, e vai obrigar a grandes mudanças, quer no modo de pensar o mundo da distribuição de informação, quer na forma de o fazer. A forma ideal de minimizar os efeitos de qualquer revolução é estar preparado para ela. Da mesma forma que um ser humano se prepara para a guerra tendo a coragem de acreditar que ela vai acontecer, os intervenientes no actual processo de distribuição e processamento de informação, desde empresas a particulares devem também estar preparados, porque quem se atrasar corre sérios riscos de perder o comboio rumo ao futuro mundo da informação. Existem já algumas implementações deste conceito com algum sucesso, no entanto ainda existem algumas barreiras a ultrapassar: Por questões de segurança criam-se apenas pequenas X Internet s ou seja X Intranet s. Ainda não estão definidos standards. Questão económicas inerentes a mudanças no mundo das tecnologias. Mais á frente neste relatório vamos ver de que forma é que o e os Xml Web Services se podem enquadrar neste conceito. De seguida vamos ver algumas tecnologias base associadas a esta forma de implementar a computação distribuída. 2.3 XML Extensible Markup Language (XML) é um formato de documento que descreve os dados de forma estruturada. Isso torna os resultados de busca mais rápidos e 4
12 Envolventes significativos através dos múltiplos níveis. Além disso, o XML permitirá uma geração nova de aplicações Web-based da visão e da manipulação de dados. Em XML pode-se definir um número ilimitado de nós; um elemento em XML pode declarar os dados a ele associados para ser qualquer coisa: um preço de artigo, um imposto de vendas, o título de um livro, a quantidade de qualquer coisa, ou qualquer outro tipo de dados desejado. Sendo o XML adoptado numa organização, haverá uma capacidade correspondente de procurar e manipular dados independentemente das aplicações em que se encontra; estes podem ser apresentados num browser em variados formatos, ou encaminhados para uma qualquer outra aplicação Apresentação estruturada dos dados XML é um subconjunto do SGML que está optimizado para entrega e utilização sobre a World Wide Web; é definido pela (W3C), assegurando-se que os dados estruturados sejam uniformes e independentes das aplicações ou dos autores. XML, que fornece um padrão de dados que permite codificar o conteúdo, a semântica, e o formato ( schema ) para uma larga variedade de casos; As aplicações podem ser construídas mais rapidamente, são mais fáceis de gerir, e podem facilmente fornecer múltiplas vistas dos dados estruturados Separação de apresentação e dados Xml vs. HTML As capacidades do XML permitem separar a apresentação e o conteúdo. O HTML especifica como apresentar os dados num browser; por sua vez o XML define o conteúdo. Por exemplo, no HTML usa-se uma Tag para dizer ao browser para apresentar dados em bold (realce), ou em itálico; em XML usa-se somente um nó para descrever dados. 5
13 Envolventes Juntamente com XML, usam-se stylesheets, XSL, etc., para apresentar os dados num browser; assim sendo separam-se os dados da apresentação, permitindo indicar e processar os dados como se desejar aplicando visões diferentes e aplicações adequadas. Esta separação dos dados da apresentação permite a integração sem restrições de dados de diversas fontes. A informação do cliente, as ordens de compra, os resultados de pesquisas, os pagamentos, os registos médicos, os catálogos, e outra informação pode ser convertida em XML, permitindo que esses dados sejam trocados e manipulados. Os documentos XML são fáceis de criar; quem estiver familiarizado com o HTML, pode rapidamente criar um; neste exemplo, o XML é usado para descrever uma determinada biblioteca: <biblioteca> <seccao id_seccao= 1 tipo = dramas > <livro id_livro= 11 > <titulo>os Maias</titulo> <autor>eça de Queiroz</autor> <data_edicao> </data_edicao> </livro> <livro id_livro= 12 > <titulo>os Lusíadas</titulo> <autor>luis Vaz de Camões</autor> <data_edicao> </data_edicao> </livro> </seccao> </biblioteca> 2.4 Xml Web Services 6
14 Envolventes É neste contexto, que surge o conceito de Web Service. Tal como as palavras indicam, uma forma de disponibilizar serviços que podem ser acedido de diversas formas inclusive através da WWW (Web). O Xml é um formato que, devido á sua simplicidade possibilita a estandardização de uma forma bastante compreensível e humana, devido á estrutura hierárquica que possui, ser de fácil percepção. È baseado nestes contextos, que surge o conceito de Xml Web Service, uma vez que possibilita a tal forma standard de distribuir informação. Xml Web Services, estão a começar a ser usados como uma forma de integração de aplicações. Sendo o Xml um standard, permite que várias aplicações possam ser construídas das mais variadas formas, desde que no momento de serem disponibilizadas o façam de forma standard. Os Xml Web Services permitem assim que várias fontes de processamento trabalhem em conjunto independentemente de como e onde o façam. Existem actualmente diversas definições de XML Web Service, porque neste momento são várias as entidades que os estão a utilizar e disponibilizar, no entanto todas elas têm algo em comum: Expõem funcionalidades bastante úteis aos utilizadores e consumidores da WWW através de protocolos standard, na maior parte dos casos esse protocolo é o SOAP. Disponibilizam uma forma de descrever os seus interfaces que permitem aos seus utilizadores construir um cliente para os utilizar. Essa descrição é feita normalmente em XML num documento WSDL. São registados, para que possam ser facilmente encontrados, através de UDDI (Universal Discovery Description and Integration). Estas três tecnologias irão ser abordadas de seguida. 7
15 Envolventes De uma forma resumida pode-se então dizer que a utilização de Xml Web Services têm bastantes vantagens em comparação com outras formas de computação distribuída, como por exemplo o DCOM ou o CORBA, uma vez que não necessitam de profissionais dedicados e preocupados com o facto de terem de abrir mil e uma portas para comunicações binarias; isto porque, na comunicação é possível a utilização de HTTP, um protocolo fiável e de acesso normal para qualquer utilizador de leitura de texto na Internet. Para além disso a utilização de Xml reduz as despesas na formação, investigação e definição de protocolos uma vez que a sua utilização é bastante intuitiva, para além de ser um standard. Estando num universo carente de fontes e formas de informação, é importante também que qualquer nova forma que se queira implementar seja também de fácil inserção, permitindo de preferência a reutilização de aplicações já existentes. Supondo por exemplo uma companhia que disponibiliza aos seus clientes a informação A através de um protocolo qualquer, que tem que ser conhecido por ambos, essas aplicações podem migrar para Web Services facilmente independentemente da forma como funcionam e da plataforma onde funcionam. Imagina-se agora que se trata do seu dentista que disponibiliza através de um serviço deste tipo a sua agenda aos seus colegas de consultório... porque não entrar o cliente na jogada e através dessa mesma aplicação agora disponibilizada por um Xml Web Service poder marcar consultas. Afinal, um Web Service disponibiliza texto, através do qual se pode fazer tudo... o que se quiser disponibilizar para ser feito. 2.5 SOAP Como já foi dito SOAP é o protocolo de comunicação standard utilizado pelos Xml Web Services. É inevitável a sua comparação com outros protocolos de comunicação para aplicações distribuídas, como é o caso do DCOM, CORBA, RMI, etc. Existem alguns pormenores no SOAP, como por exemplo a activação dos objectos 8
16 Envolventes invocados, que apesar de serem implementados, não fazem parte da especificação SOAP. A especificação preocupa-se apenas com a definição do formato Xml que devem ter as mensagens. Sendo o SOAP um protocolo de comunicação baseado num documento Xml, estão nesse Xml todos os dados necessário para fazer um pedido (Remote Procedure Call), como por exemplo o nome do método, os seus parâmetros, etc. O cliente SOAP faz um pedido através do envio de uma mensagem XML com esse formato e recebe do servidor a resposta também num documento Xml, tal como ilustra a figura 2.1. FIGURA 2.1 EXEMPLO DE UM PEDIDO RPC ATRAVÉS DE SOAP. Uma outra parte da especificação, define como deve ser uma mensagem HTTP que contém uma mensagem/pedido SOAP. Essa definição apesar de ser opcional é importante porque o HTTP é suportado por quase todos os Sistemas Operativos e como tal é o único protocolo standard para SOAP. Por este facto, surge por vezes a confusão que o SOAP é obrigatoriamente utilizado sobre HTTP, o que não é verdade. Algumas implementações suportam MQ Series, SMTP, etc. Apesar disso o HTTP é realmente o mais utilizado, porque quase todas as redes e sistemas informáticos implementados hoje em dia suportam HTTP, ao contrário dos outros protocolos, nomeadamente dos já descritos atrás. 9
17 Envolventes No entanto nem tudo são vantagens; por vezes existe alguma confusão relativamente a uma distinção que deve ser tida em conta: a especificação SOAP e as implementações da especificação SOAP. A maior parte dos utilizadores de SOAP não têm o trabalho de escrever as mensagens SOAP. Fazem esse trabalho através da utilização de toolkits que a partir de objectos ou programas gerados a partir de diferentes linguagens, geram a mensagem SOAP onde descrevem como devem ser chamados esses objectos ou programas. Por exemplo o Microsoft SOAP Toolkit gera mensagens SOAP a partir de funções disponibilizadas pelo COM e o Apache Toolkit faz o mesmo a partir de funções Java. Obviamente alguns tipos de dados entre estas duas linguagens são diferentes, por isso algumas RPC que poderiam ser feitas com um toolkit não o podem ser com o outro. Esta, não é no entanto uma limitação do SOAP, mas da implementação que está a ser usada. O SOAP é no entanto uma excelente forma de ligar plataformas diferentes. Apesar dos esforços que têm sido feitos para encontrar uma forma de fazer essa ligação até hoje têm normalmente sido em vão. O CORBA por exemplo demorou muito tempo a ser implementado e muito poucas releases foram lançadas. O SOAP tem a vantagem de ser bastante simples, de rápida implementação e de não obrigar um administrador de rede a ter que abrir mais umas portas para comunicação devido ás exigências de alguns protocolos. Basta que tenham suporte para HTTP o que hoje em dia é regra quase geral. Apesar de todas estas vantagens o SOAP não consegue fazer tudo o que o CORBA consegue fazer... mas é mesmo essa característica que faz com que seja um protocolo muito mais acessível. Esta combinação de HTTP com SOAP faz com que os Xml Web Services sejam de fácil implementação e utilização. 2.6 WSDL e UDDI 10
18 Envolventes WSDL (Web Services Description Language) é o tal documento Xml que foi falado atrás quando se descrevia o SOAP. O WSDL está para o SOAP assim como o IDL está para o COM ou CORBA. Um ficheiro WSDL é normalmente gerado por toolkits apesar de ser um documento de texto facilmente editável. É através da criação de um ficheiro WSDL que se evitam confusões na chamada de um método por SOAP porque é lá que se definem as características dessa chamada. Por exemplo distinguir 2378 que num parâmetro poderia ser um inteiro mas é neste método uma string. A notação usada neste documento é regulada por um Xml Schema tornando-se assim universal e fazendo com que dois Web Services possam ser chamados em locais diferentes usando o mesmo formato de mensagem. O Microsoft Visual Studio.Net tem já embutido, neste aspecto todo o trabalho de geração de código necessário para que uma invocação seja possível. Há no entanto uma aspecto importante a ter em conta: apesar de vários toolkits disponibilizarem a criação automática de um WSDL, não existe nenhuma ferramenta que o faça de raiz, ou seja se alguém fizer uma aplicação e quiser disponibilizá-la por SOAP ou usa um toolkit que gere o WSDL ou então é um conhecedor do seu formato e elaborao manualmente. Tendo uma definição de um Xml Web Service disponibilizada a partir de um documento WSDL, faltava saber onde publicá-la, ou seja, tal como quando se cria uma empresa é necessário fazer saber que ela existe. UDDI - Universal Discovery Description and Integration é a forma de disponibilizar um XWS, surgindo assim como as páginas amarelas dos Web Services. Mais informação sobre a UDDI em: 11
19 Envolventes 12
20 3 -.Net 3.1 Uma pequena revolução A plataforma.net, que foi construída á volta do conceito dos XML Web Services, é a primeira a suportar de raiz XML Web Services na integração de negócio e software. A arquitectura.net vem simplificar o desenvolvimento no ambiente distribuído que a Internet proporciona respondendo aos seguintes objectivos: Fornecer um ambiente de programação coerente e orientado por objectos, com o código armazenado e executado a nível local, ou a nível local mas distribuído pela Internet ou então a nível remoto. Fornecer um ambiente de execução de código que minimiza a implementação de software e conflitos entre versões. Fornecer um ambiente de execução de código que garante a execução segura do código criado por uma entidade não conhecida ou semi conhecida. Fornecer um ambiente de execução de código que elimina os problemas de desempenho de ambiente scripted ou interpretado. A arquitectura.net possui dois componentes principais: o Common Language Runtime (CLR), e a biblioteca de classes da arquitectura.net Framework. O CLR é a base da arquitectura.net. É o componente que gere o código no decurso da sua execução, fornecendo serviços essenciais como por exemplo a gestão de memória, threads, e Remoting, para além da implementação de segurança estrita de tipos e outras formas de 13
21 .Net certificação de código. A biblioteca de classes é uma colecção abrangente de tipos reutilizáveis que se pode utilizar para desenvolver aplicações que variam desde as convencionais da linha de comando ou de interface gráfica (GUI) até ás baseadas nas mais recentes apostas da computação distribuída, como são os Web Services e a implementação Microsoft incorporada no.net -. Esta arquitectura pode ser disponibilizada por componentes não geridos que carregam o CLR nos seus processos e iniciam a execução de código gerido com funcionalidades geridas e não geridas. O Internet Explorer é um exemplo duma aplicação não gerida que disponibiliza o Runtime (em forma de uma extensão do tipo MIME). É possível incorporar componentes geridos ou controlos Windows Forms em documentos HTML. 3.2 CLR O Common Language Runtime é o componente responsável pela execução de threads, gestão de memória, execução do código, verificação de segurança do código, compilação e outros serviços de sistema. Relativamente á segurança os componentes geridos recebem diversos níveis de confiança, consoante uma série de factores entre os quais a sua origem (por exemplo, a Internet, a Intranet da empresa ou um computador local). O Runtime implementa o acesso á segurança do código. Por exemplo os utilizadores podem ter a confiança de um executável incorporado numa página Web consegue executar uma animação no ecrã sem aceder aos sues dados pessoais, de sistema ou da rede interna. O Runtime implementa também a robustez do código através duma infra-estrutura escrita de verificação de tipos e código, designada por Common Type System (CTS). O CTS assegura que todo o código gerido se descreva a si próprio. Os vários compiladores da Microsoft geram código compatível com o CTS. O Runtime aumenta também a produtividade de programação, uma vez que o programador pode desenvolver na sua linguagem preferida, tirando ao mesmo tempo partido integral do 14
22 .Net Runtime, da biblioteca de classes e de componentes escritos em outras linguagens. Apesar de ter sido desenvolvido a pensar nesta nova forma de trabalhar, o Runtime também suporta o software actual, permitindo que no desenvolvimento se continuem a utilizar COM e DLL s necessárias. O Runtime foi desenvolvido para aumentar o desempenho. Embora o CLR forneça muitos serviços de Runtime habituais, o código gerido nunca é interpretado. Uma funcionalidade designada por compilação just-in-time (JIT) permite que todo o código gerido seja executado na linguagem de máquina nativa do respectivo sistema. Por fim o Runtime pode ser alojado em aplicações do lado servidor como por exemplo o Microsoft SQL Server ou o Internet Information Services (IIS). 3.3 Biblioteca de Classes e Aplicações A biblioteca de classes da arquitectura.net Framework é uma colecção de tipos reutilizáveis que se integram com o CLR. A biblioteca de classes é OO e proporciona tipos que podem ser utilizados no desenvolvimento para fornecer funcionalidade ao código gerido. Tal como seria de esperar de uma biblioteca de classes orientada por objectos, os tipos da arquitectura.net permite realizar uma variedade de tarefas de programação comuns, incluindo tarefas como a gestão de strings, recolha de dados, conexão a bases de dados e acesso a ficheiros. A biblioteca de classes inclui tipos que suportam uma variedade de cenários de desenvolvimento especializados, como por exemplo, para desenvolver os seguintes tipos de aplicações e serviços: Aplicações de consola. Aplicações scripted ou alojadas. Aplicações Windows com interface gráfica (Windows Forms). Aplicações ASP.NET 15
23 .Net XML Web Services Serviços para Windows As classes Windows Forms são um conjunto de tipos reutilizáveis que simplificam o desenvolvimento de interfaces gráficas para Windows. Vamos agora ver alguns desenvolvimentos que o.net tem em relação ao seu antecessor o Microsoft Visual Studio 6. Para tal vamos fazer uma divisão típica do mundo aplicacional: Aplicações convencionais (de cliente) Aplicações Cliente/Servidor Aplicações convencionais (de cliente) Entre as aplicações convencionais ou de cliente, contam-se aplicações como por exemplo processadores de texto e folhas de calculo, bem como aplicações de negócio especializadas como por exemplo ferramentas para relatórios. Nos ambientes de desenvolvimento que antecederam o.net, tais aplicações eram criadas em C/C++, em conjunto com as Microsoft Foundation Classes (MFC) ou com um ambiente RAD (Rapid Application Development) como o VB. A arquitectura.net incorpora aspectos destes produtos num ambiente de desenvolvimento único que simplifica drasticamente o desenvolvimento de aplicações convencionais. As classes Windows Forms contidas na arquitectura.net destinam-se ao desenvolvimento de interfaces gráficas, permitindo a criação fácil de elementos de écran com a flexibilidade necessária para corresponder a constantes mudanças nas necessidades das empresas. 16
24 .Net Por exemplo, a arquitectura.net fornece propriedades simples para ajustar atributos visuais associados a formulários. Em alguns casos, o sistema operativo subjacente não suporta a alteração directa destes atributos, e nestes casos o.net recria os formulários automaticamente. Ao contrário dos controlos ActiveX, os controlos Windows Forms têm acesso semi confiado ao computador do utilizador. Isto significa que o código binário ou executado de forma nativa consegue aceder a alguns recursos do sistema do utilizador mas não consegue comprometer nem aceder a outros recursos Aplicações cliente/servidor Resumindo alguns melhoramentos que o.net traz, pode-se falar do ASP.NET e dos Web Forms, que trazem bastante melhoramentos em relação á tecnologia ASP. Por exemplo pode desenvolver páginas de Web Forms em qualquer linguagem que suporte a arquitectura.net Framework. Existem no entanto bastantes pormenores que não são objectivo deste trabalho e por isso não vão ser abordados. Há no entanto a realçar no.net, relativamente ao desenvolvimento sob o paradigma cliente/servidor, seja qual for a arquitectura aplicacional envolvida (sistema paralelo, tempo real, distribuído, etc.), os já falados Xml Web Services. São componentes que não têm interface gráfica e não foram desenvolvidos para browsers. Consistem em pedaços de software reutilizáveis que se destinam á utilização por outras aplicações, quer sejam convencionais (o típico.exe), quer sejam outros Xml Web Services ou até qualquer outro tipo de serviços. A arquitectura.net fornece uma colecção de classes (que irão ser faladas mais em pormenor nos próximos dois capítulos) e ferramentas que ajudam no desenvolvimento e utilização de XML Web Services. Para além disso, e sendo um dos objectivos deste projecto, o suporte de comunicações do.net: o.net Remoting. 17
25 .Net 3.4 Domínios e Contextos (Domains and Contexts) A computação distribuída, é sem qualquer dúvida uma peça fundamental na arquitectura aplicacional actual. Isto acontece porque da distribuição leva a que objectivos como a escalabilidade, performance de disponibilidade sejam mais facilmente alcançados. Para tal todos os modelos baseados em componentes já implementados têm vindo a contribuir com bastante sucesso; COM (via DCOM), CORBA, Java RMI, entre outros são disso exemplo. Um dos princípios do.net assenta nessa mesma ideia, principalmente com o Remoting, que permite que se ultrapassem barreiras como são os processos, máquinas e até redes diferentes. Como tal importa que se explique um pouco da filosofia técnica de funcionamento do.net, porque algumas das características do.net são fundamentais e sem elas é muito difícil o entendimento do Remoting; senão vejamos: Processos.NET Um processo.net é composto por um ou mais domínios de aplicação (Application Domains) que por sua vez são também compostos por um ou mais contextos (Application Contexts) Application Domains (AppDomains) Um AppDomain é para o.net o que um processo é para um sistema operativo, providenciando segurança, isolamento, etc. Um AppDomain pode ser visto como mini processo dentro de um processo do Sistema Operativo. Todos os objectos.net são criados dentro de um AppDomain. Um AppDomain pode conter não só objectos 18
26 .Net individuais, mas também aplicações inteiras. Assim sendo em vez de termos uma aplicação por processo, temos n aplicações por AppDomain. Este facto favorece, sem dúvida a performance, e a racionalização de recursos, porque teoricamente um AppDomain é mais fácil de criar do que um processo. O acesso a um AppDomain é encapsulado na classe com o mesmo nome que disponibiliza as seguintes operações: Criar um novo. Terminar. Carregar assemblies e tipos. Enumerar as assemblies e threads. Definir assemblies dinâmicos. O exemplo seguinte mostra, em C#, como usar a respectiva classe. Primeiro diz qual o nome da AppDomain e de seguida mostra informação acerca de cada assembly lá contida: using System; using System.Reflection; using System.Runtime.Remoting; namespace Exemplo1 class Class1 static void Main(string[] args) AppDomain domain = AppDomain.CurrentDomain; Console.WriteLine(domain.FriendlyName); Assembly[] loadedassemblies = domain.getassemblies(); Console.WriteLine("Assemblies: "); foreach(assembly a in loadedassemblies) Console.WriteLine(a.FullName); 19
27 .Net Um objecto contido numa AppDomain não está directamente acessível a outras AppDomains... senão vejamos a seguinte assembly: using System; namespace Exemplo2A class Class1 static void Main(string[] args) Console.WriteLine("Executei!!"); Agora criamos uma nova AppDomain e carregamos a assembly Exemplo2A.exe e tentamos aceder á classe Exemplo2A.Class1: using System; using System.Reflection; using System.Runtime.Remoting; namespace Exemplo2B class Class1 static void Main(string[] args) AppDomain domain = AppDomain.CurrentDomain; AppDomain newdomain = AppDomain.CreateDomain("NewDomain"); newdomain.executeassembly("exemplo2a.exe", null,args); ObjectHandle o = newdomain.createinstance("exemplo2a", "Exemplo2A.Class1"); o.unwrap(); Quando se tenta correr o Exemplo2B.exe, recebemos a excepção I can t let you access the Exemplo2A.Class1 instance because it s not in the same AppDomain as your object.. Para isso ser possível a Exemplo2A.Class1 teria que ser acedida de forma 20
28 .Net remota por valor ou por referência... para o conseguir por valor teríamos que a tornar serializável como se mostra de seguida: using System; namespace Exemplo2A [Serializable] class Class1 static void Main(string[] args) Console.WriteLine("Executei!!"); Acerca de serialização, pode-se dizer que consiste em fazer uma cópia exacta do objecto original na AppDomain que tentar usar o objecto. Mais informação acerca de serialização em: Por referência, temos que fazer a classe derivar de System.MarshalByRefObject: using System; namespace Exemplo2A class Class1 : System.MarshalByRefObject static void Main(string[] args) Console.WriteLine("Executei!!"); Neste exemplo já não existe o atributo [Serializable]. Quando um objecto é passado por referência não existe cópia... em vez disso a AppDomain que o pretender 21
29 .Net usar recebe um proxy para o objecto. Como consequência qualquer alteração que se efectue ao objecto é reflectida no original. É, no entanto, de referir que os utilizadores do.net não vão ter que criar AppDomains, porque esse pormenor é gerido pelo CLR, apesar de o poder fazer, caso pretenda Application Contexts (Contextos) Como já foi dito, cada AppDomain contém um ou mais contextos. Quando um AppDomain é criado e associado um contexto. Se forem necessários novos contexto são criados pelo Runtime. Cada contexto faz parte de um e um só AppDomain e pode conter n objectos; cada objecto está contido num só contexto, sendo que todos os objectos contidos no mesmo contexto têm requisitos de execução semelhantes. Já foi falado que os objectos contidos num AppDomain não podem ser acedidos por outros AppDomain s e mesmo se pode passar de contexto para contexto... um objecto num contexto pode ser de dois tipos: context-agile ou context-bound. Os primeiros não estão disponíveis para todos os contextos dentro da AppDomain. Os segundos são o oposto: para serem acedidos de outros contextos têm de o ser via proxy. Para serem context_bound têm que derivar da classe System.ContextBoundObject que por sua vez deriva da System.MarshalByRefObject e como tal herda todas as suas características já faladas. Qualquer objecto que derive directamente da classe System.MarshalByRefObject é context-agile. Para além disso os objectos que não derivem de nenhuma destas classes podem ser acedidos de qualquer contexto dentro da AppDomain mas nunca de outras AppDomain s. FIGURA 3.1 RELAÇÃO ENTRE PROCESSOS, APPDOMAIN S E CONTEXTOS 22
30 4-4.1 Introdução O.NET Remoting, como componente de comunicações do.net, tem por objectivo disponibilizar formas de comunicação entre objectos fisicamente colocados em locais diferentes ou não. Estamos a falar de comunicar entre aplicações no mesmo sistema, ou entre aplicações colocadas em sistemas diferentes. Para tal o.net Remoting disponibiliza um conjunto de serviços, que inclui a forma de activação dos objectos e consequente suporte durante a sua existência (instanciação), inclui também os canais de comunicação usados para o transporte de mensagens de e para as aplicações remotas. Para além disso existe a inerente codificação e descodificação das mensagens a trocar, que pode ser binária se pretendermos uma maior flexibilidade e fiabilidade, ou XML se pretendemos uma maior interoperabilidade. A codificação XML usa SOAP para o transporte que por sua vez é normalmente, mas não obrigatoriamente transportado sobre HTTP. O Remoting foi pensado tendo em conta a segurança, e como tal é possível ao Canal obter informação acerca da mensagem e do pacote codificado antes deste ser transportado. 4.2 Arquitectura São bastante diferentes os adjectivos que podem ser usados para descrever a arquitectura do.net Remoting: desde fácil utilização, flexível, até complexo... apesar de serem contraditórios todos estes adjectivos são aplicáveis. Vamos começar por ver a 23
31 extensibilidade da arquitectura, no que diz respeito a objectos passados por referência. Objectos serializados e passados por valor não se aplicam nesta arquitectura Cliente O cliente pode ser definido como o objecto ou aplicação que pretende o uso de serviços de um objecto remoto. Dependendo da forma como estiver configurado, pode ou não saber se o objecto que está a utilizar é remoto Transparent Proxy Quando um cliente usa um objecto remoto, não possui uma referência directa para esse objecto; em vez disso o cliente faz invocações num proxy que está contido no seu AppDomain. Esse proxy é chamado Transparent Proxy, e tem exactamente a mesma definição do objecto real. Este proxy é criado a partir da meta data (informação sobre a informação) do objecto remoto. O Transparent Proxy é uma classe interna que não pode ser extendida ou substituída Real Proxy Para além do cliente do objecto remoto e do Tansparent Proxy, falta ainda fazer referência ao Real Proxy, que como o nome indica é também um proxy, que se situa entre o Transparent Proxy e o objecto remoto. O Real Proxy expõe um método que é invocado pelo Transparent Proxy tantas vezes quantas as invocações feitas pelo cliente ao mesmo método do Transparent Proxy. Contrariamente ao Transparent Proxy, o Real Proxy pode ser extendido ou totalmente substituído, que ao ser feito serve para a criação de novas 24
32 funcionalidades, não disponibilizadas por um Real Proxy normal, como por exemplo balanceamento de carga (load balancing), operações de segurança e de diagnóstico Client-Side Sinks O Real Proxy passa a mensagem para um conjunto de client-side sinks (processos internos do lado do cliente) que são responsáveis por verificar características especificas do contexto corrente. FIGURA OS ELEMENTOS PRINCIPAIS DA ARQUITECTURA DO.NET REMOTING. 25
33 4.2.5 Canais Os canais são usados para fazer o transporte de mensagens de e para os objectos remotos. Essas mensagens representam as invocações dos métodos remotos via proxy s e o respectivo retorno ou excepções. Existem dois tipos de canais: TCP e HTTP. Os objectos remotos têm que registar pelo menos um desses canais no.net Remoting Framework. Se um objecto registar múltiplos canais, o cliente pode escolher o canal a utilizar para fazer uma comunicação. O.NET Remoting Framework suporta a personalização dos canais existentes e a criação de novos. Cada canal tem associado um objecto responsável pela formatação (serialização) da informação, quer das chamadas dos métodos quer dos respectivos retornos. Por exemplo por defeito o canal HTTP tem por defeito associado o SOAP como objecto responsável por essas tarefas, que serão feitas de acordo com a especificação SOAP. Já o TCP tem associado por defeito um formatador binário. Para além de ser possível a criação de novos canais é também possível configurar os canais para utilizarem outros objectos de formatação de mensagens. Por exemplo o TCP pode ser configurado para utilizar o SOAP, e o HTTP para utilizar um formatador binário. Poder-se-ia por exemplo criar um objecto de formatação XML-RPC para utilizar em vez do SOAP... Uma questão interessante é qual o canal utilizado pelo.net Remoting para comunicar entre contextos dentro do mesmo AppDomain. Não é o TCP nem o HTTP; é um canal especial baseado numa instância da classe CrossContextChannel que está optimizado para o remoting dentro do mesmo processo. Neste caso não é preciso nenhum objecto de formatação Server-Side Sinks As mensagens que são encaminhadas por um canal são do outro lado recebidas por um conjunto de server-side sinks que são o paralelo aos client-side sinks. O último deles encaminha a mensagem para o objecto remoto. 26
34 4.2.7 Objecto remoto Um objecto remoto é um objecto que extende a classe System.MarshalByRefObject ou a classe System.ContextBoundObject. Esse objecto é também responsável por algumas tarefas como registar-se com pelo menos um canal; no entanto os ficheiros de configuração de servidor podem-se encarregar de todos estes pormenores. Um objecto no.net Remoting pode ser classificado como Server-Activated Object (objecto activado no servidor) ou Client-Activated Object (objecto activado no cliente). 4.3 Objectos activados pelo Servidor Quando activado no servidor, um objecto terá todo o seu ciclo de vida (instanciação) gerido pelo servidor que ostenta o objecto. Esse ciclo de vida é completamente independente do ciclo de vida do cliente. Tudo isto resulta de um modelo onde os objectos não são criados no momento em que o cliente faz o pedido de criação. Em vez disso o cliente recebe uma referência para o Transparent Proxy. O objecto remoto só é criado quando o cliente faz a invocação do primeiro método do objecto remoto. Com esta técnica é poupada uma viagem pela rede de duas mensagens (a de invocação da criação e a respectiva resposta), o que pode ser importante se estivermos a falar de redes bastante lentas ou sujeitas a muito tráfego. Teremos no entanto no momento da primeira invocação de um método um tempo de resposta sensivelmente mais lento dependendo no entanto do tempo se inicialização do objecto. Existem dois tipos de objecto activados no servidor: Singleton e SingleCall. 27
35 4.3.1 Objectos Singleton Um objecto Singleton é um objecto que terá apenas uma instância, e disponibiliza um ponto de acesso global. Este facto não é no entanto muito fácil de garantir principalmente num ambiente distribuído. Por exemplo, criar um objecto Singleton com DCOM. O DCOM não define nem disponibiliza um forma bem definida de procurar objectos já existentes num sistema distribuído. Um cliente DCOM chama o CoCreateInstance (ou um método que o encapsule) para criar e obter um apontador para uma nova instância do objecto. Para que objecto obtido seja sempre o mesmo, é necessário fazer algo mais. Por exemplo, o objecto pode enviar uma mensagem em broadcast/multicast á procura de outras instâncias da sua classe. Se o objecto (emissor) recebe uma resposta positiva dentro de um determinado tempo pré definido então ao cliente é passada a referência do objecto existente. O problema é que o DCOM só tem uma forma de controlar o tempo de vida de um objecto, que é através dos seus clientes. Ou seja, um cliente que instancie um objecto DCOM tem que manter a sua instância enquanto que se desejar ter um singleton, obrigando a que exista sempre um cliente pré definido a instanciar o objecto... e isto nem sempre funciona como se pretende. Felizmente o.net resolve este problema, criando um verdadeiro Server- Activated Singleton. Quando o cliente faz o primeiro pedido via proxy, a um objecto definido como singleton, uma nova instância será criada apenas se não existir nenhuma no servidor. Uma vez que um singleton poderá ser usado simultaneamente por n clientes, tem que ser existe a necessidade de suportarem execução multithread. O runtime do.net, garante que apenas uma instância de um objecto (quando este é singleton) existe num determinado ponto. Como já foi dito, a cada objecto remoto, é sempre associado um ou mais canais, sendo que é por esses canais que os objecto serão invocados. Sendo assim, um singleton existe sempre num determinado canal; isto é o mesmo que rescrever a frase acima - O Runtime do.net, garante que apenas uma instância de um objecto (quando este é singleton) existe num determinado canal. Mesmo 28
36 os singletons têm um tempo de vida associado. Isto porque não existe interesse num objecto consumir recursos por tempo indeterminado e constante, se por exemplo este não é utilizado durante um largo espaço de tempo. Existe apenas a necessidade de garantir que o ponto de acesso ao objecto é o mesmo apesar do objecto poder ser substituído várias vezes. Isto faz com que seja garantido que num determinado momento o objecto usado seja sempre o mesmo, mas o mesmo objecto não durará eternamente. FIGURA 4.2 EXEMPLO DE UTILIZAÇÃO DE UM OBJECTO SINGLETON Objectos SingleCall FIGURA 4.3 EXEMPLO DE UTILIZAÇÃO DE OBJECTOS SINGLECALL 29
37 Os SingleCall são exactamente o oposto aos objectos falados até agora: por cada pedido de cliente é criado um novo objecto como tal não existe do lado do objecto nenhuma persistência de estado. Isto pode-se tornar bastante dispendioso a nível de gasto de recursos do sistema, principalmente se a instanciação dos referidos objectos for também bastante dispendiosa Exemplo: Classificações de Exames Vamos agora ver um exemplo de um objecto remoto que vai ajudar as instituições de ensino a disponibilizar as classificações de exame dos alunos. Este objecto remoto obtém as classificações de exames dos alunos do Servidor Web da Instituição em causa. Para tal passamos ao objecto uma string com os números dos alunos a retornar classificações separados por espaços, e recebemos a mesma string mas com os números seguidos do sinal = e da respectiva classificação. Por exemplo a seguinte string: obteria como resposta: = = = O Objecto remoto Como já foi falado, para ser remoto e ser passado por referência o objecto tem que derivar da classe System.MarshalByRefObject ou indirectamente de uma outra que por sua vez já derive dela (P.e.: System.ContextBoundObject): namespace Classificacoes public class Server : MarshalByRefObject 30
38 public Server() Console.WriteLine("Construtor!"); ~Server() Console.WriteLine("Servidor foi Garbage Collected!"); public string GetClassificacoes(string Indices) // implementação Indices = Indices.Trim(); string url = " //.NET Regular expressions MatchCollection indicescoll = Regex.Matches(Indices,@"\s\S"); bool first=true; int lastindex = 0; string ind; foreach(match indice in indicescoll) ind = Indices.Substring(lastIndex, indice.index-lastindex).trim(); lastindex = indice.index; if(first) url += ind; first=false; else url += ("+" + ind); if(lastindex!= Indices.Length) urlstring += ("+" + Indices.Substring(lastIndex, Indices.Length-lastIndex).Trim()); //************* //CONTINUA 1 //************* Foram utilizadas expressões regulares disponibilizadas pelo.net, mais propriamente pelo C# para tratar a string com os números a obter valores. Estas expressões são bastante úteis no tratamento de strings. 31
39 Vamos agora criar um pedido HTTP e enviá-lo: //************* //CONTINUAÇÃO 1 //************* HttpWebRequest Pedido = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse Resposta = (HttpWebResponse)Pedido.GetResponse(); Stream resp = Resposta.GetResponseStream(); byte[] bytes = new byte[1024]; int len = 0; StringBuilder strresp = new StringBuilder(); while(true) len = resp.read(bytes,0,1024); if(len == 0) break; for(int i=0; i<len; i++) strresp.append((char)bytes[i]); Resposta.Close(); //************* //CONTINUA 2 //************* Neste momento temos na variável strresp a resposta obtida. Vamos tratá-la e devolvê-la: //************* //CONTINUAÇÃO 2 //************* string notas = strresp.tostring(); indicescoll = Regex.Matches(notas,"\n"); lastindex = 0; string val = ""; string Retorno = ""; foreach(match indice in indicescoll) string s = notas.substring(lastindex, indice.index-lastindex).trim(); lastindex = inice.index; 32
40 val = s.substring(1,s.indexof("\"",1)-1); int x = s.indexof(",")+1; int y = s.indexof(",\"",x); cla = s.substring(x,y-x); Retorno += (val + "=" + cla + " "); return Retorno; Mais uma vez foram utilizadas expressões regulares para tratar as strings, neste caso a obtida do Servidor Web da Instituição de Ensino em causa. Repare-se neste inicio de exemplificação, que a única coisa necessária para tornar esta classe remota foi derivá-la da classe System.MarshalByRefObject directa ou indirectamente. Apesar de termos já um objecto remoto ainda não é possível ser usado por eventuais clientes porque ainda não foi registado na.net Remoting Framework. Para tal o nosso objecto pode ser encapsulado em várias formas: um Service do Windows, uma console application, ou até uma aplicação gráfica (GUI). Neste exemplo, e para ser o mais simples possível vamos criar uma console application. O servidor que vai ser criado vai ser responsável por fazer o registo. Esse registo pode também ser feito através de ficheiros de configuração como vai ser visto mais á frente; por enquanto vai ser feito programaticamente. Para começar, temos que atribuir á nossa aplicação servidora pelo menos um canal em que ela possa ser comunicada. Isso é feito através da utilização do método RegisterChannel disponível na classe ChannelServices: ChannelServices.RegisterChannel( new HttpChannel(8888) ); De seguida, é necessário fazer o registo do objecto atribuindo-lhe um tipo de activação. Neste caso vamos ter um Server Activated Object, e como tal usamos o método RegisterWellKnownServiceType disponível na classe RemotingConfigfuration: 33
41 RemotingConfiguration.RegisterWellKnownServiceType(typeof(Classificacoes.Server),"Classificacoes", WellKnownObjectMode.Singleton ); Como se pode ver, o registo necessita de três parâmetros: o tipo do objecto remoto, o seu URI e o modo de activação que poderia ser WellKnownObjectMode.SingleCall no caso de ser um objecto activado no cliente (CAO Client Activated Object ). WellKnownObjectMode é uma enumeração definida no System.Runtime.Remoting namespace. Para terminar temos de garantir que que a aplicação servidora fica disponível pelo tempo necessário para ser possível o acesso ao objecto remoto: Console.WriteLine("ENTER para terminar"); String keystate = Console.ReadLine(); O código completo, já com os namespaces necessários: using System; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Http; using System.Runtime.Remoting.Channels.Tcp; using Classificacoes; namespace IniciarClassificacoes class Host static void Main(string[] args) ChannelServices.RegisterChannel(new HttpChannel(8888)); RemotingConfiguration.RegisterWellKnownServiceType(typeof(Classificacoes.Server),"Classi ficacoes, WellKnownObjectMode.Singleton ); Console.WriteLine("Classificações disponíveis!"); Console.WriteLine("ENTER para terminar"); String keystate = Console.ReadLine(); 34
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 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 maisServiç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 maisGrupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais
Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Leia maisWeb 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 maisPARANÁ GOVERNO DO ESTADO
A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro
Leia maisEntendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Leia maisInformática UFRGS. Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1
.NET Remoting Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1 Autoria Autores 1a versão Fabio Augusto Dal Castel colaboração revisão Eduardo F. Seganfredo Rodrigo Gatto C. Geyer Programação
Leia maisManual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco
Escola Superior de Tecnologia Instituto Politécnico de Castelo Branco Departamento de Informática Curso de Engenharia Informática Disciplina de Projecto de Sistemas Industriais Ano Lectivo de 2005/2006
Leia maisDepartamento de Informática
Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos exame de recurso, 9 de Fevereiro de 2012 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.
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 maisProgramação de Sistemas
Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência
Leia maisProgramação de Sistemas
Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência
Leia maisConstrução Páginas de Internet
Construção Páginas de Internet Definir um Site no Frontpage Objectivos da sessão: No final da sessão os formandos deverão ser capazes de: Saber o que são os metadados do Frontpage; Distinguir entre Sites
Leia maisIntrodução ao C# . Visão geral do.net Framework
Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas
Leia maisWeb Services. Autor: Rômulo Rosa Furtado
Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que
Leia maisTECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite
Leia maisDEMONSTRAÇÕES FINANCEIRAS COMBINADAS
24 DEMONSTRAÇÕES FINANCEIRAS COMBINADAS Os mercados de capitais na Europa e no mundo exigem informações financeiras significativas, confiáveis, relevantes e comparáveis sobre os emitentes de valores mobiliários.
Leia maisCONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;
CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.
Leia maishttp://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho
vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS
Leia maisIntrodução a Web Services
Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas
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 maisGrupo I [6,6v] Responda com os valores que se observam depois da chamada acontecer. 1 Falta na mensagem de resposta. Valor retornado na chamada
Número: Nome: Pági 1 de 6 LEIC/LETI 2013/14, Repescagem do 1º Teste de Sistemas Distribuídos, 1/7/14 Responda no enunciado, apes no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I
Leia maisDesenvolvimento 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 maisGestão dos Níveis de Serviço
A Gestão dos Níveis de Serviço (SLM) Os sistemas e tecnologias de informação e comunicação têm nas empresas um papel cada vez mais importante evoluindo, hoje em dia, para níveis mais elevados de funcionamento
Leia maisJSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem
1 JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem orientada a objectos. Tal como em ASP e PHP, os ficheiros
Leia maisModelo Cascata ou Clássico
Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação
Leia maisA VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO
DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,
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 maisFramework.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 maisGuia de Estudo Folha de Cálculo Microsoft Excel
Tecnologias da Informação e Comunicação Guia de Estudo Folha de Cálculo Microsoft Excel Estrutura geral de uma folha de cálculo: colunas, linhas, células, endereços Uma folha de cálculo electrónica ( electronic
Leia maisServiços Web: Arquitetura
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 maisArquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
Leia maisUniversidade da Beira Interior
Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação
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 maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisAnálise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET
INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho
Leia mais1.2.4. Organizar a estrutura do site
1.2.4. Organizar a estrutura do site 1 Organizar a estrutura do site A organização da estrutura do site passa pela definição das ligações entre as páginas que o compõem Esta organização deve ser intuitiva
Leia maisEscola Superior de Tecnologia de Setúbal. Projecto Final
Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Projecto Final Computação na Internet Ano Lectivo 2002/2003 Portal de Jogos Executado por:
Leia maiswww.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00
www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br
Leia maisPrática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisFundament n os s da platafo f rm r a. NE N T André Menegassi
Fundamentos da plataforma.net André Menegassi O que é o.net Framework?.NET é uma plataforma de software para desenvolvimento de aplicações que conecta informações, sistemas, pessoas e dispositivos através
Leia maisEngenharia de Software Sistemas Distribuídos
Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software
Leia maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia maisArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02
ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO
Leia maisWeb Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004
Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004 1 Contextualização e arquitetura de funcionamento de um Web Service Os Web Services [PRV+01, Cer02]
Leia maisAdriano Reine Bueno Rafael Barros Silva
Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências
Leia maisGESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)
GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1) MICROSOFT OUTLOOK 2003 - OBJECTIVOS OBJECTIVOS: Enumerar as principais funcionalidades do Outlook; Demonstrar a utilização das ferramentas do correio electrónico;
Leia maisAcronis Servidor de Licença. Manual do Utilizador
Acronis Servidor de Licença Manual do Utilizador ÍNDICE 1. INTRODUÇÃO... 3 1.1 Descrição geral... 3 1.2 Política de licenças... 3 2. SISTEMAS OPERATIVOS SUPORTADOS... 4 3. INSTALAR O SERVIDOR DE LICENÇA
Leia maisVirtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt
Universidade de Trás-os-Montes e Alto Douro Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Agenda A UTAD Virtualização Uma definição Introdução e abrangência
Leia maisEsta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Leia maisService 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 maisDOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens
Documentação, Informática e Desenvolvimento 1 DOCBASE ASSOCIAÇÔES MULTIMÉDIA 1. Conceitos gerais 2. Estrutura da pasta de associações 3. A área de documentos reservados 4. Associação de Imagens 5. Procedimentos
Leia maisDepartamento de Informática
Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos 1ª chamada, 9 de Janeiro de 2009 1º Semestre, 2009/2010 NOTAS: Leia com atenção cada questão antes de responder.
Leia maisIP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.
Endereços IP Endereços IP IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.) precisam ter endereços. Graças
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 maisSistemas Distribuídos
Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2 Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo
Leia maisGrupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.
Número: Nome: Página 1 de 6 LEIC/LETI, 2014/15, Repescagem do 1º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Leia maisA interface do Microsoft Visual Studio 2005
Tarefa Orientada 1 A interface do Microsoft Visual Studio 2005 Objectivos: Introdução à framework.net Iniciar o Visual Studio 2005. Criar um novo projecto de Windows Forms em Visual Basic Introdução à
Leia maisCurso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:
Trabalho elaborado por: Carlos Palma nº5608 Curso de Eng. Informática Linguagens de Programação C Sharp University Data Processing (C Sharp Universidade de Processamento de Dados) Docente: José Jasnau
Leia maisCurso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Leia maisDESENVOLVIMENTO DE SOFTWARE AULA 1
DESENVOLVIMENTO DE SOFTWARE AULA 1 CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014 1 Características da Plataforma.NET A plataforma.net Framework 4.0 (.NET 4.0) é uma plataforma de softwares que fornece
Leia maisEngenharia de Requisitos Estudo de Caso
Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este
Leia maisSUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2
SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2
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 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 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 maisWeb Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:
Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em
Leia maisRede de Computadores
Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso
Leia maisExplorar os comandos no friso Cada friso tem grupos e cada grupo tem um conjunto de comandos relacionados.
Guia de Introdução O Microsoft Project 2013 tem um aspeto diferente das versões anteriores, pelo que criámos este guia para o ajudar a minimizar a curva de aprendizagem. Barra de Ferramentas de Acesso
Leia maisSCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br
SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side
Leia maisAmbientes 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 maisDEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização
Leia maisA SÈTIMA. O nosso principal objectivo
03 A SÈTIMA A SÉTIMA produz soluções de software maioritariamente com recurso à WEB, de modo a dar suporte ao crescimento tecnológico que é já a maior realidade do século XXI. Esta aposta deve-se ao facto
Leia maisISEP. Instituto Superior de Engenharia do Porto. Análise de Sistemas Informáticos
ISEP Instituto Superior de Engenharia do Porto Análise de Sistemas Informáticos Armazenamento de Dados em Rede A Revolução do Armazenamento Partilhado A crise económica e a crescente necessidade de armazenamento
Leia maisManual do GesFiliais
Manual do GesFiliais Introdução... 3 Arquitectura e Interligação dos elementos do sistema... 4 Configuração do GesPOS Back-Office... 7 Utilização do GesFiliais... 12 Outros modos de utilização do GesFiliais...
Leia maisProtocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:
Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir
Leia maisImpressão do Manual do Utilizador
bibliopac Interface WWW Versão 2003 Guia de instalação rápida Junho 2003 ATENÇÃO! Impressão do Manual do Utilizador No CD de instalação está disponível o ficheiro Interface WWW Manual.PDF. Este manual,
Leia maisWorld Wide Web e Aplicações
World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet
Leia maisBase de Dados para Administrações de Condomínios
Base de Dados para Administrações de Condomínios José Pedro Gaiolas de Sousa Pinto: ei03069@fe.up.pt Marco António Sousa Nunes Fernandes Silva: ei03121@fe.up.pt Pedro Miguel Rosário Alves: alves.pedro@fe.up.pt
Leia maisKassius 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 maisFerramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)
Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas
Leia maisProf. Esp. Adriano Carvalho
Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais
Leia maisConceitos Básicos de Rede. Um manual para empresas com até 75 computadores
Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos
Leia maisManual de Instalação. Gestão Comercial Golfinho. Gestão Comercial Golfinho - Manual de Instalação
Manual de Instalação Gestão Comercial Golfinho 1 Caro Utilizador, É com muito gosto que lhe damos as boas vindas agradecendo a sua preferência pelos nossos produtos. Este manual tenta auxilia-lo na instalação
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução
Leia mais3 Serviços na Web (Web services)
3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem
Leia maisPara construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.
Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos
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 maisTransição de POC para SNC
Transição de POC para SNC A Grelha de Transição surge no âmbito da entrada em vigor, no ano de 2010, do Sistema de Normalização Contabilística (SNC). O SNC vem promover a melhoria na contabilidade nacional,
Leia mais1. Apresentação. 1.1. Objetivos
1.1. Objetivos 1. Apresentação Neste capítulo estão descritos os objetivos gerais do livro, os requisitos desejáveis do estudante para que possa utilizá-lo eficientemente, e os recursos necessários em
Leia maisGuia rápido de uso de Web Services do NFS-e Easy
Guia rápido de uso de Web Services do NFS-e Easy NFS-e Easy V.3.0.5 Produto: Guia rápido de uso de Web Services do NFS-e Easy V3.0.5 Release date: Mai, 2013 1 Sumário 1. Introdução... 3 2. Requisitos e
Leia mais