IDictionary - PDF
Download "IDictionary"
Maria Guterres Peralta
1 3 1OWIN E KATANA Durante anos, a plataforma ASP.NET dependeu sempre do IIS (Internet Information Server) para efetuar o hosting de aplicações Web. Com o lançamento de novas plataformas de alto nível como, por exemplo, o ASP.NET Web API e com o cloud computing a ganhar cada vez mais adeptos, tornou-se óbvia a necessidade de termos cada vez maior flexibilidade na forma como efetuamos o alojamento de aplicações. Foi a pensar nisto que surgiu as especificação OWIN (Open Web Interface for.net) e o projeto Katana, a implementação desta especificação por parte da Microsoft. 3.1 UM POUCO DE HISTÓRIA Antes de falarmos da especificação OWIN e do projeto Katana, convém recuarmos um pouco para percebermos a justificação para o aparecimento desta nova especificação. Durante mais de dez anos, o ASP.NET serviu de base ao desenvolvimento de muitas aplicações Web, quer para os programadores com experiência na Web, quer para aqueles oriundos do desenvolvimento tradicional de aplicações para desktop, onde o modelo introduzido pelos Web Forms permitiu a reutilização de muitos dos seus conhecimentos. Com o passar dos anos, a abordagem e o modelo de desenvolvimento de aplicações Web evoluíram imenso. Nos dias de hoje, onde cada vez mais browsers são compatíveis com o HTML5, a tendência passou a ser o desenvolvimento de aplicações Web ricas, onde a maior parte do código é executado no lado cliente, sendo o lado servidor responsável apenas por devolver os dados necessários ao correto funcionamento do código executado no lado cliente. Esta alteração de paradigma (recorde-se que, anteriormente, o modelo apostava na geração de markup a partir do lado servidor) foi ainda reforçada pela explosão das aplicações móveis, onde a redução da quantidade de dados devolvida pelo servidor ganha ainda mais importância. Na prática, isto significa que as plataformas monolíticas, que disponibilizam funcionalidades que abrangiam várias áreas, estão a ser substituídas por plataformas mais leves e flexíveis, que se caraterizam por se concentrarem apenas numa determinada área e por terem tempos de iteração muito mais curtos no que diz respeito ao lançamento de novas versões. Se olharmos para a plataforma ASP.NET, é fácil comprovarmos esta tendência. Ao contrário do que acontecia com os Web Forms, quer a plataforma MVC,2 38 ASP.NET quer a plataforma Web API possuem ciclos de vida diferentes dos da plataforma.net, podendo mesmo ser obtidas separadamente da plataforma.net. No caso da plataforma Web API, a Microsoft foi ainda mais longe e conseguiu remover todas as dependências da assembly System.Web e, por isso, esta plataforma pode evoluir sem ter de se preocupar com o que acontece com a plataforma ASP.NET. Note-se ainda que todos os serviços criados a partir da Web API podem ser alojados em qualquer processo, isto é, não existe a necessidade de eles serem alojados num site gerido pelo IIS. Esta não dependência do IIS pode deixar alguns motivos de preocupação ao leitor experiente. Afinal de contas, a Microsoft tem dedicado imensa atenção ao desenvolvimento e evolução do IIS ao longo dos anos. Por exemplo, desde a versão 7 que o IIS está completamente integrado na pipeline do ASP.NET, com excelentes resultados no que diz respeito à performance. Além desta integração, este servidor disponibiliza ainda muitas outras funcionalidades como, por exemplo, caching, autenticação, compressão, encriptação, etc. Apesar de todas as vantagens inerentes ao seu uso, a verdade é que, com a alteração de paradigma que referimos nos parágrafos anteriores, cada vez mais pessoas procuram servidores mais leves e flexíveis, capazes apenas de alojar serviços assíncronos que devolvam unicamente os dados necessários à realização de determinadas operações (note-se que este tipo de servidores tem ainda mais importância quando consideramos o alojamento na cloud, onde cada byte de dados e cada ciclo de processamentos possui custos que, muitas vezes, não são negligenciáveis). Um dos exemplos mais flagrantes do que estamos a afirmar é a explosão do Nodejs (http://nodejs.org/), cada vez mais usado atualmente. Apesar de não ser um servidor, o Nodejs pode ser visto como uma biblioteca do lado servidor que permite a criação rápida de aplicações escaláveis para Web. Na prática, isto significa que podemos recorrer a esta biblioteca para rapidamente criarmos um servidor modularizado, capaz de alojar aplicações Web. Foi na sequência destas alterações de paradigma que acabou por surgir o OWIN, uma especificação open source que tenta criar interfaces standard que permitam a comunicação entre aplicações Web e servidores. 3.2 INTRODUÇÃO AO OWIN O OWIN (Open Web Interface for.net) é uma especificação que tenta definir a comunicação entre uma aplicação Web e um servidor.net. Esta especificação, que foi inspirada pelo Rack (http://rack.github.io/) (oriundo da comunidade Ruby), foi criada com três objetivos em mente: fácil composição de componentes, portabilidade e performance. Ao contrário do que aconteceu até aqui, em que a Microsoft apostava no desenvolvimento de um bloco monolítico, o OWIN aposta na composição de componentes por forma a garantir que apenas são usados os componentes necessários a uma determinada3 OWIN E KATANA 39 aplicação. Este novo modelo contribui claramente para facilitar a portabilidade de código e para melhorar a performance de uma aplicação. Para atingir estes objetivos, a especificação tinha de ser simples, reduzindo, assim, ao mínimo o número de tipos referenciados. Só assim será possível facilitarmos o desenvolvimento e consumo de novos componentes e permitir o fácil alojamento de uma aplicação em hosts diferentes. Estes princípios levaram a que a especificação assente no uso de dois elementos base: um dicionário e um application delegate. Comecemos pelo dicionário O dicionário ambiente (environment dictionary) é a estrutura de dados responsável por guardar toda a informação necessária ao correto processamento dos pedidos e respostas HTTP. Este dicionário tem uma assinatura semelhante à seguinte: IDictionary<String, Object> Um servidor OWIN é responsável por preencher este dicionário com várias entradas predefinidas como, por exemplo, as streams do corpo ou a coleção de cabeçalhos HTTP do pedido e da resposta. O Quadro 3.1 apresenta as entradas obrigatórias que contêm informação sobre o pedido e que são adicionadas ao dicionário de ambiente por um servidor compatível com a especificação OWIN. owin.requestbody owin.requestheaders owin.requestmethod owin.requestpath owin.requestpathbase Owin.RequestProtocol owin.requestquerystring owin.requestscheme Referencia um objeto do tipo Stream que representa o corpo do pedido efetuado (quando o pedido não possui corpo, esta propriedade pode ser representada pelo valor Stream.Null). Um dicionário do tipo IDictionary<String, String[]> que representa os cabeçalhos HTTP existentes no pedido recebido. Devolve uma string, que indica o método HTTP (ex.: post, get, etc.) usado na realização do pedido atual. String que indica o caminho relativo à raiz do site atual. String que indica o caminho até à raiz do site atual. String com informação sobre o protocolo usado (ex.: HTTP/1.1). String com o valor da query string usada no URI do pedido atual (sem o caráter?). Devolve uma string que indica o esquema HTTP usado no pedido (ex.: http, https, etc.). QUADRO 3.1 Entradas obrigatórias com informação sobre o pedido HTTP Além destas entradas, existem ainda outras relacionadas com os dados da resposta HTTP devolvida pela aplicação (ex.: owin.requestbody permite-nos aceder a um objeto do tipo Stream que representa o corpo da resposta devolvida pelo servidor) ou4 40 ASP.NET com dados gerais relativos ao processamento (ex.: owin.cancellationtoken devolve um objeto do tipo CancellationToken, que pode ser usado por um componente para saber se o processamento atual foi abortado ou cancelado). Muitas das entradas relacionadas com a resposta são simétricas às apresentadas no Quadro 3.1 para o pedido. Ao leitor interessado, recomendamos a consulta da secção 3.2 da especificação OWIN (http://owin.org/#spec) para obter a listagem completa das entradas obrigatórias disponibilizadas pelo dicionário de ambiente. Além do dicionário, a especificação OWIN introduz ainda um outro conceito importante: o application delegate. Este delegate define a assinatura de uma função que serve de interface primária para permitir a comunicação entre os vários componentes OWIN que formam uma aplicação: Func<IDictionary<String, Object>, Task> Como é possível verificar, o application delegate (também designado por AppFunc) não é mais do que um delegate de tipo Func, que aceita uma referência para um dicionário de ambiente (IDictionary<String, Object>) e devolve um objeto do tipo Task. As dependências externas de cada um destes dois conceitos importantes introduzidos pela especificação são mínimas, o que simplifica a criação de componentes compatíveis com a especificação OWIN. Além disso, o uso de tarefas (tipo de retorno Task devolvido pelo AppFunc) contribui para aumentar a eficiência do servidor ao forçar o uso de processamento assíncrono (especialmente quando estamos perante operações I/O ex.: acesso a um ficheiro ou invocação de um web service). Finalmente, importa ainda salientar que o facto de o dicionário de ambiente ser transportado entre componentes (através do parâmetro definido no AppFunc) permite a fácil composição de sequências complexas de componentes OWIN que podem ser usados para processar um pedido HTTP. Antes de passarmos a analisar o projeto Katana (implementação da especificação OWIN da Microsoft), queríamos, uma vez mais, salientar que o OWIN é uma especificação e não a próxima plataforma Web da Microsoft. Ou seja, o seu principal objetivo é especificar a forma como as plataformas podem interagir com um servidor Web, e não introduzir um conjunto de novas classes usadas na construção de aplicações Web. 3.3 PROJETO KATANA O projeto Katana tenta reproduzir muitas das vantagens introduzidas pela plataforma Nodejs no ecossistema.net. Ou seja, este projeto que disponibiliza vários componentes compatíveis com a especificação OWIN permite-nos usufruir de muitas5 OWIN E KATANA 41 das vantagens disponibilizadas pela plataforma Nodejs, ao mesmo tempo que permite ao programador reutilizar os conhecimentos que este já possui sobre a plataforma ASP.NET. Uma das principais caraterísticas disponibilizadas pela biblioteca Nodejs que costuma impressionar os novatos é a simplicidade com que se consegue criar rapidamente uma aplicação que responde a pedidos HTTP (isto é, a simplicidade com que conseguimos criar uma aplicação Web). Vejamos, então, o trabalho necessário para obter o mesmo resultado com o projeto Katana. A primeira coisa a fazer é criar um novo projeto. Neste caso, vamos optar por criar um novo projeto do tipo consola, conforme ilustrado pela Figura 3.1. FIGURA 3.1 Criação de um novo projeto consola Em seguida, queremos transformar a consola num servidor, capaz de receber e tratar pedidos HTTP. Para isso, vamos começar por adicionar alguns pacotes NuGet. O primeiro dos pacotes que vamos instalar é o pacote Microsoft.Owin.Hosting, conforme ilustrado na Figura 3.2. FIGURA 3.2 Instalação do pacote Microsoft.Owin.Hosting6 42 ASP.NET Aquando da escrita do livro, este pacote só estava disponível em versão experimental, pelo que fomos forçados a colocar a flag prerelease. Como é possível verificar através da Figura 3.3, a instalação deste pacote resulta ainda na instalação de outros (dos quais ele depende para funcionar corretamente em runtime). FIGURA 3.3 Dependências do pacote Microsoft.Owin.Hosting Antes de iniciarmos a escrita, temos ainda de adicionar um outro pacote NuGet ao nosso projeto: o pacote Microsoft.Owin.Host.HttpListener (disponível também em fase experimental). Este pacote contém componentes responsáveis por interagir com o sistema operativo e por tratar as mensagens HTTP recebidas numa determinada porta HTTP. FIGURA 3.4 Adição do pacote Microsoft.Owin.Host.HttpListener Terminada a importação destes pacotes, ficamos com um projeto que referencia quatro novas assemblies (Figura 3.5). A assembly Owin.dll contém apenas uma interface, designada por IAppBuilder, cujo principal objetivo é abstrair o processo de inicialização definido pela secção 4 da especificação OWIN. Apesar de a especificação não mencionar esta interface, ela fornece-nos um ponto concreto de referência e é usada por todos os componentes Katana. O excerto seguinte apresenta os principais métodos disponibilizados por esta interface:7 OWIN E KATANA 43 public interface IAppBuilder { IDictionary<string, object> Properties { get; IAppBuilder Use(object middleware, params object[] args); object Build(Type returntype); IAppBuilder New(); Por sua vez, a assembly Microsoft.Owin.dll introduz um conjunto de tipos que simplificam o acesso às entradas mantidas no dicionário de ambiente (ex.: IOwinRequest) e de extensões que simplificam a realização de determinadas operações. Finalmente, as restantes duas assemblies (Microsoft.Owin.Host.HttpListener.dll e Microsoft.Owin.Hosting.dll) introduzem tipos compatíveis com a especificação OWIN que nos permitem transformar rapidamente a consola num servidor HTTP. FIGURA 3.5 Assemblies adicionadas pelos pacotes NuGet anteriores Agora que já temos todas as assemblies necessárias referenciadas, temos de configurar a nossa aplicação Katana. Para isso, vamos começar por adicionar uma nova classe, designada por Startup, que disponibiliza um método designado por Configuration: public class Startup { public void Configuration(IAppBuilder app) { Este método espera um parâmetro, do tipo IAppBuilder, que, como mencionámos anteriormente, disponibiliza um conjunto de métodos que nos permitem definir a8 44 ASP.NET forma como a aplicação se deve comportar e responder perante os pedidos HTTP recebidos. Neste exemplo, vamos recorrer apenas ao método Run, que será executado pelo runtime do Katana para cada um dos pedidos HTTP recebidos. Este método espera um delegate do tipo Func<IOwinContext,Task>. O tipo IOwinContext abstrai o contexto atual e disponibiliza vários membros úteis (Figura 3.6) que nos permite, por exemplo, aceder ao pedido (propriedade Request) ou à resposta (propriedade Response). Uma das propriedades mais importantes disponibilizada por esta interface é a propriedade Environment, que retorna uma referência para o dicionário de ambiente que é passado ao longo de toda a pipeline OWIN (mais informações nas secções seguintes). FIGURA 3.6 Alguns dos membros disponibilizados pela interface IOwinContext Como estamos ainda a iniciar-nos na biblioteca Katana, vamos configurar a nossa aplicação para responder a todos os pedidos recebidos com uma mensagem de texto (Ola mundo!). public class Startup { public void Configuration(IAppBuilder app) { app.run(ctx => { ctx.response.contenttype = "text/plain; charset=utf-8"; return ctx.response.writeasync("ola mundo!"); ); A nossa aplicação acede ao objeto que representa a resposta devolvida (propriedade Response do contexto passado ao delegate) para definir o tipo de conteúdo devolvido (propriedade ContentType), e a escrever a mensagem de texto na stream que será devolvida ao cliente. Para podermos executar a nossa aplicação, falta-nos apenas adicionar o código responsável por escutar os pedidos HTTP efetuados sobre um determinado porto. O excerto seguinte apresenta esse código:9 OWIN E KATANA 45 private static void Main(string[] args) { var url = "http://localhost:9999"; using (WebApp.Start<Startup>(url)) { Console.WriteLine("Servidor iniciado..."); Console.ReadLine(); Console.WriteLine("Servidor parando..."); A classe auxiliar WebApp encontra-se definida na assembly Microsoft.Owin.Hosting.dll e permite-nos iniciar o servidor Katana, responsável por escutar os pedidos HTTP efetuados no porto 9999 (foi esta a configuração definida pela nossa classe Startup). A partir desta altura, a nossa aplicação consola está pronta para ser usada como servidor Web, conforme ilustrado pela Figura 3.7. FIGURA 3.7 Aplicação consola preparada para receber pedidos HTTP Depois de termos a aplicação consola a correr, ao redirecionarmos o browser para o URL devemos obter a resposta de texto Ola Mundo!, conforme ilustrado pela Figura 3.8. FIGURA 3.8 Resposta devolvida pela aplicação consola10 46 ASP.NET Como é óbvio, esta aplicação não é lá muito útil, já que se limita apenas a devolver a mesma resposta para todos os pedidos recebidos na porta E que tal modificarmos a aplicação atual para termos uma página de boas-vindas? CONSUMO DE COMPONENTES KATANA Felizmente para nós, este tipo de operação já é suportado out of the box pelo pacote NuGet Microsoft.Owin.Diagnostics. Portanto, vamos começar por adicionar este pacote ao nosso projeto através da instrução seguinte: install-package microsoft.owin.diagnostics Este pacote disponibiliza um conjunto de componentes que nos auxiliam a construir aplicações, nomeadamente no que diz respeito a efetuar o troubleshooting de eventuais problemas que venham a ocorrer. Um desses componentes encarrega-se de apresentar uma página de boas-vindas. Para o usar na nossa aplicação, vamos substituir o nosso código atual de configuração pelo seguinte: public class Startup { public void Configuration(IAppBuilder app) { app.usewelcomepage(); O utilizador atento reparou, com toda a certeza, na utilização do método UseWelcomePage, que não é definido pela interface IAppBuilder. O que se passa é que o pacote que instalámos injeta métodos de extensão, que encapsulam todo o código de configuração que teríamos de escrever. Esta é, aliás, uma técnica seguida por praticamente todos os componentes Katana adicionados através de pacotes NuGet. Por outras palavras, estes componentes introduzem métodos de extensão ao tipo IAppBuilder, que simplificam a sua configuração. Portanto, é normal vermos a lista de métodos apresentada pelo Intellisense para o tipo IAppBuilder aumentar com a adição de novos pacotes NuGet que contêm componentes Katana. A Figura 3.9 ilustra o aspeto da página devolvida pela consola depois de esta ter sido colocada em execução. Nesta altura, temos um projeto que recorre a um objeto WebApp para efetuar o alojamento de uma aplicação Web OWIN, que foi configurada para apresentar sempre uma página de resposta a todos os pedidos HTTP recebidos. Como vimos, a interface IAppBuilder desempenhou um papel importante na configuração da nossa aplicação: limitámo-nos a recorrer a um par de métodos que produziram automaticamente Documentos relacionados
IHttpAsyncHandler. Para além destas duas interfaces, existe ainda uma outra,
HANDLERS E MÓDULOS As handlers e os módulos são dois dos pontos de personalização e/ou extensão mais usados nas aplicações ASP.NET. O objetivo deste capítulo é apresentar algumas das principais particularidades Leia mais files, que devolve um objeto do tipo FileList.
WEB STORAGE 199 7.4.3 FILE API A File API foi introduzida para nos fornecer maior flexibilidade no acesso ao conteúdo de ficheiros a partir de uma página HTML. Por predefinição, o acesso a um ficheiro Leia mais Introduçã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 mais Sistemas de Telecomunicações
Departamento de Engenharia Electrotécnica Sistemas de Telecomunicações 2014/2015 Trabalho 1: Aplicação sobre sockets procurador web Mestrado integrado em Engenharia Eletrotécnica e de Computadores http://tele1.dee.fct.unl.pt Leia mais Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.
Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web Leia mais A interface IDataSource retorna dados em formato tabular e disponibiliza apenas dois métodos: GetView e GetViewNames. O primeiro,
3 1CONTROLOS DATA SOURCE A plataforma ASP.NET disponibiliza um conjunto de controlos, designados de data source, que são capazes de fornecer dados que podem ser consumidos por outros, designados por data Leia mais Professor: Douglas Sousa Cursos de Computação
Linguagem de Programação C# Professor: Douglas Sousa Cursos de Computação Agenda Conceitos Básicos; Principais Características; Visual Studio; Meu Primeiro Programa; A Linguagem C#; Sistemas de Tipos; Leia mais Programando em C# Orientado a Objetos. By: Maromo
Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação Leia mais PADI 2015/16. Aula 1 Introdução à Plataforma.NET
PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win Leia mais Trabalho Prático Nº1 Introdução ao C#.NET
Trabalho Prático Nº1 Introdução ao C#.NET 1. OBJECTIVOS - Entender o contexto da plataforma.net - Desenvolver programas simples em C#.NET - Saber efectuar entradas de dados em modo Consola e Windows Forms Leia mais 3 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 mais Assinare consiste na oferta de soluções e serviços na área da identificação electrónica.!
Assinare Apresentação Assinare consiste na oferta de soluções e serviços na área da identificação electrónica. De forma a responder ao ambiente altamente competitivo a que as empresas e organizações hoje Leia mais Middleware de Aplicações Paralelas/Distribuídas
Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware Leia mais Programação para Dispositivos Móveis Aula 1. Prof. William Yamamoto
Programação para Dispositivos Móveis Aula 1 Prof. William Yamamoto Visual Studio É uma ferramenta de desenvolvimento completa que atende praticamente a todas as plataformas de desenvolvimento, como: Web Leia mais Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente Leia mais AJAX no GASweb. Mas e afinal, para que usamos o AJAX?
Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente Leia mais ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora. www.novateceditora.com.br
ASP.NET Guia do Desenvolvedor Felipe Cembranelli Novatec Editora www.novateceditora.com.br 1 Introdução à plataforma.net A plataforma Microsoft.NET.NET é uma nova plataforma de software para desenvolvimento Leia mais Criação de páginas web
Criação de páginas web Alojamento web 1 Browsers Para aceder e/ou navegar a um site é necessário um programa (software) específico Este tipo de programa chama-se Browser (Navegador) Existem vários disponíveis Leia mais manual instalação e configuração v13 1
manual instalação e configuração v13 1 Conteúdo Introdução... 3 Conteúdo do DVD:... 3 Instalação e configuração do ERP... 4 Instalação do ERP... 4 Configuração do ERP... 6 Como actualização de versão... Leia mais DEFINIÇÃO DE MÉTODOS
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos Leia mais 19/05/2009. Módulo 1
ASP.NET Módulo 1 Objetivo Mostrar os conceitos fundamentais da plataforma Microsoft.Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma Leia mais Prof. Esp. Adriano Carvalho
Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem Leia mais Construindo Aplicações com ASP.NET MVC 2.0 Aula 01 Luiz Alberto Ferreira Gomes. Ciência da Computação da PUC Minas
Construindo Aplicações com ASP.NET MVC 2.0 Aula 01 Luiz Alberto Ferreira Gomes Ciência da Computação da PUC Minas Microsoft Web Plataform 2 Código Dados IIS Express Hospedagem www.microsoft.com/web/downloads/platform.aspx Leia mais Manual de utilização do Moodle
Manual de utilização do Moodle Docentes Universidade Atlântica 1 Introdução O conceito do Moodle (Modular Object Oriented Dynamic Learning Environment) foi criado em 2001 por Martin Dougiamas, o conceito Leia mais Programação WEB Introdução
Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos Leia mais Estrutura de ensino/aprendizagem da Unidade Curricular Programação na Internet (PI)
Estrutura de ensino/aprendizagem da Unidade Curricular Programação na Internet (PI) Resumo A Unidade Curricular (UC) de PI trata a componente de distribuição e actualização da UI em aplicações Web. Estudam-se Leia mais O desenvolvimento de aplicações em Programação com Objetos. João D. Pereira Nuno Mamede
O desenvolvimento de aplicações em Programação com Objetos João D. Pereira Nuno Mamede Outubro de 2012 Resumo O objetivo deste documento é apresentar o modo de desenvolvimento de aplicações a usar durante Leia mais JSP 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 mais Associação Carioca de Ensino Superior Centro Universitário Carioca
Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos Leia mais 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 Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. Rodrigo Hjort. Robson Ximenes
Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração Leia mais Guião de Introdução ao Eclipse IDE Índice
Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3. Leia mais Ajax não é dependente dos servidores Web, e como tal poderá ser usado com PHP, JSP, ASP e ASP.NET.
1 2 Ajax não é dependente dos servidores Web, e como tal poderá ser usado com PHP, JSP, ASP e ASP.NET. 3 Por todo o documento subentende-se: todos os seus componentes já anteriormente carregados: imagens, Leia mais ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)
ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura Leia mais Connection String usada por uma Class Library
Connection String usada por uma Class Library Vamos considerar uma Class Library com o modelo de dados e com acesso à base de dados através do Entity Framework. Aonde deve ser colocada a connection string Leia mais Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais
ASP.NET > WebService herman_arais@yahoo.com.br Introdução Um WebService é um componente, ou unidade lógica de aplicação, acessível através de protocolos padrões de Internet. Como componentes, esses serviços Leia mais Prá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 mais Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala
Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado Leia mais Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes
Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação Leia mais Programação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif: Leia mais Laboratórios de Engenharia de Software
Laboratórios de Engenharia de Software S1 - Configuração do Curso Relatório de Desenho de Alto Nível Turma 4LEIC3 André Fidalgo Moniz {ei99041@fe.up.pt} José António Fonseca {ei99032@fe.up.pt} Mário Filipe Leia mais Universidade 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 mais SIBS PROCESSOS cria solução de factura electrónica com tecnologias Microsoft
SIBS PROCESSOS cria solução de factura electrónica com tecnologias Microsoft A solução MB DOX oferece uma vantagem competitiva às empresas, com a redução do custo de operação, e dá um impulso à factura Leia mais Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com
Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Servlets Servlet Aplicação Java que é executada no servidor que estende a capacidade do servidor Web Alternativa Java para os scripts CGI Gerenciado Leia mais UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática
1 Este é o seu teste de avaliação de frequência. Leia as perguntas com atenção antes de responder. Escreva as suas respostas nesta folha de teste, marcando um círculo em volta da opção ou opções que considere Leia mais 7 Conclusões. 7.1 Retrospectiva do trabalho desenvolvido. Capítulo VII
Capítulo VII 7 Conclusões Este capítulo tem como propósito apresentar, por um lado, uma retrospectiva do trabalho desenvolvido e, por outro, perspectivar o trabalho futuro com vista a implementar um conjunto Leia mais Reuso com Herança a e Composiçã
Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo: Leia mais Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br
Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim Leia mais ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado Leia mais Aula 4. Objetivos. Conteúdo dinâmico na internet.
Aula 4 Objetivos Conteúdo dinâmico na internet. Para uma solicitação da Web mais simples, um navegador solicita um documento HTML e o servidor Web encontra o arquivo correspondente e devolve. Se o documento Leia mais 1.1 A abordagem seguida no livro
1- Introdução A área de administração de sistemas e redes assume cada vez mais um papel fundamental no âmbito das tecnologias da informação. Trata-se, na realidade, de uma área bastante exigente do ponto Leia mais 3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.
Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor Leia mais INTRODUÇÃO AO WINDOWS SERVER 2003
INTRODUÇÃO AO WINDOWS SERVER 2003 1 FUNÇÕES DE UM SERVIDOR Um servidor é um computador que tem como função disponibilizar serviços numa rede. Uma das funções do Windows Server 2003 é gerir um domínio da Leia mais Primeiro programa em Java (compilação e execução)
Universidade Federal do ABC Disciplina: Linguagens de Programação (BC-0501) Assunto: Primeiro programa em Java (compilação e execução) Primeiro programa em Java (compilação e execução) Introdução Este Leia mais Alfamídia Programação: Desenvolvendo com C#
Alfamídia Programação: Desenvolvendo com C# Todos os direitos reservados para Alfamídia Prow AVISO DE RESPONSABILIDADE As informações contidas neste material de treinamento são distribuídas NO ESTADO EM Leia mais Data última actualização: 20-06-2014. Instalação E-Portals
Data última actualização: 20-06-2014 Instalação E-Portals 1. Conteúdo 1. Conteúdo... 2 2. Instalação e Manutenção do EPT... 3 3. Configuração de perfis de sincronização... 6 3.1 Módulos Oficinas, GCE e Leia mais Ajax Asynchronous JavaScript and Xml
Ajax Asynchronous JavaScript and Xml Ajax permite construir aplicações Web mais interactivas, responsivas, e fáceis de usar que aplicações Web tradicionais. Numa aplicação Web tradicional quando se prime Leia mais Instalando o Internet Information Services no Windows XP
Internet Information Services - IIS Se você migrou recentemente do Windows 95 ou 98 para o novo sitema operacional da Microsoft Windows XP, e utilizava antes o Personal Web Server, deve ter notado que Leia mais Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos. Requisitos para a 3ª entrega do projecto.
Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos Requisitos para a 3ª entrega do projecto Loja Virtual 5 de Maio de 2008 Índice Índice...2 1 Sumário...3 2 Requisitos...3 Leia mais DESENVOLVIMENTO 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 mais PARANÁ GOVERNO DO ESTADO
PROTOCOLOS DA INTERNET FAMÍLIA TCP/IP INTRODUÇÃO É muito comum confundir o TCP/IP como um único protocolo, uma vez que, TCP e IP são dois protocolos distintos, ao mesmo tempo que, também os mais importantes Leia mais Programação Avançada
Índice 1.1 - Introdução História A plataforma Java 1.2 - Conceitos Fundamentais na programação por objectos Objectos Encapsulamento Classes Herança Polimorfismo Interfaces Pacotes 1/24 1.1 Introdução 1.1 Leia mais PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M
JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado): Leia mais Enterprise Java Beans
Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side Leia mais Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil
Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora, Leia mais Curso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os Leia mais 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 Extracção de Anúncios e Notificação de Utilizadores do Site do Emprego Científico da Fundação para a Ciência e a Tecnologia
Extracção de Conhecimento da Internet Mestrado em Inteligência Artificial e Computação Extracção de Anúncios e Notificação de Utilizadores do Site do Emprego Científico da Fundação para a Ciência e a Tecnologia Leia mais Parte I. Demoiselle Mail
Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework Leia mais 4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?
Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer Leia mais Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos.
Wireshark Lab: HTTP Versão 1.1 2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2008 BATISTA, O. M. N. Tradução e adaptação para Wireshark. Tendo molhado os nossos pés com o Wireshark no laboratório Leia mais Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados
Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Professora: Sheila Cáceres Computador Dispositivo eletrônico usado para processar guardar e tornar acessível informação. Tópicos de Ambiente Leia mais 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 Oficina de Construção de Páginas Web
COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 Oficina de Construção de Páginas Web Criação e Publicação Guião Páginas WWW com o editor do Microsoft Office Word 2003 1. Introdução. 2. Abrir uma página Web. 3. Guardar Leia mais PARTE I A Linguagem C#
PARTE I A Linguagem C# Capítulo 1, C# 3.0 e o.net 3.5 Capítulo 2, Iniciando: Hello World Capítulo 3, Fundamentos da Linguagem C# Capítulo 4, Classes e Objetos Capítulo 5, Herança e Polimorfismo Capítulo Leia mais Microsoft Office FrontPage 2003
Instituto Politécnico de Tomar Escola Superior de Gestão Área Interdepartamental de Tecnologias de Informação e Comunicação Microsoft Office FrontPage 2003 1 Microsoft Office FrontPage 2003 O Microsoft Leia mais Web Services Novembro de 2011
Web Services Novembro de 2011 1. Criação do Web Service Somar na plataforma.net. Colocação do serviço na máquina Dot. 2. Criação de uma aplicação de consola para teste deste serviço. 3. Criação de um Cliente Leia mais O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java.
Exceções em Java Miguel Jonathan DCC/IM/UFRJ (rev. abril de 2011) Resumo dos conceitos e regras gerais do uso de exceções em Java O uso de exceções permite separar a detecção da ocorrência de uma situação Leia mais 2QRYR&ODULRQ1(73DUWH,
2QRYR&ODULRQ1(73DUWH, 3RU-XOLR&pVDU3HGURVR Gosto de escrever sobre FRLVDV QRYDV, sobre QRYDV WHFQRORJLDV, enfrentar desafios e pesquisas sobre o assunto. Afinal, de velho, basta eu! Como assinante da Clarion Leia mais Módulo 1 Microsoft Word 2007 ( 4 Horas)
No final deste módulo o formando deverá estar apto a: Enunciar a definição do Microsoft Word 2007; Reconhecer as principais vantagens da utilização; Distinguir as diferentes áreas do ambiente de trabalho Leia mais Ferramentas como, por exemplo, linhas de conexão, formas automáticas, sombras pendentes, WordArt, etc.
Ambiente de trabalho Ambiente de trabalho Porquê criar páginas web? A World Wide Web é a melhor forma das pessoas comunicarem umas com as outras. Nos dias de hoje, é importante poder comunicar com outras Leia mais SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP
Web Services & SOAP Tecnologias de Middleware 2004/2005 SOAP Simple Object Access Protocol Os web services necessitam de comunicar entre eles e trocar mensagens. O SOAP define a estrutura e o processamento Leia mais Ajax Asynchronous JavaScript and Xml
Ajax Asynchronous JavaScript and Xml Ajax permite construir aplicações Web mais interativas, responsivas, e fáceis de usar que aplicações Web tradicionais. Numa aplicação Web tradicional quando se prime Leia mais Como acompanhar a evolução dos aplicativos? Console >> Desktop >> Web >> Mobile >> Cloud. Como aproveitar o melhor de cada programador?
Como acompanhar a evolução dos aplicativos? Console >> Desktop >> Web >> Mobile >> Cloud Como aproveitar o melhor de cada programador? Clientes querem tudo pra ontem. Como atender essa necessidade? Microsoft.NET Leia mais WWW - World Wide Web
WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada) Leia mais Introdução a Servlets
Linguagem de Programação para Web Introdução a Servlets Prof. Mauro Lopes 1-31 21 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando o Java. Apresentaremos nesta aula os Leia mais 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 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 Arquitetura da Aplicação Web (Comunicação Cliente/Servidor)
Desenvolvimento de Sistemas Web Arquitetura da Aplicação Web (Comunicação Cliente/Servidor) Prof. Mauro Lopes 1-31 25 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando Leia mais Programação Orientada a Objetos
Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO Leia mais O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP
CAPÍTULO 1 O melhor do PHP Este livro levou bastante tempo para ser feito. Venho usando agora o PHP por muitos anos e o meu amor por ele aumenta cada vez mais por sua abordagem simplista, sua flexibilidade Leia mais REST Um Estilo de Arquitetura de Sistemas Distribuídos
REST Um Estilo de Arquitetura de Sistemas Distribuídos Márcio Alves de Araújo¹, Mauro Antônio Correia Júnior¹ 1 Faculdade de Computação Universidade Federal de Uberlândia (UFU) Monte Carmelo MG Brasil Leia mais Como criar uma APP (Mobincube)
Como criar uma APP (Mobincube) Este módulo irá ensinar-lhe como criar e disponibilizar uma APP (Aplicação) usando o programa Mobincube. A produção de uma APP constitui uma competência informática avançada. Leia mais Tecnologias da Internet (T) Avaliação de Frequência (v1) 60 minutos * 09.05.2012
1 Este é o seu teste de avaliação de frequência. Leia as perguntas com atenção antes de responder e tenha atenção que algumas perguntas podem ter alíneas de resposta em páginas diferentes. Escreva as suas Leia mais Especificação da Appliance + SO CAMES - CAixa Mágica Enterprise Server
Especificação da Appliance + SO CAMES - CAixa Mágica Enterprise Server Versão: 1.05 Data: 2010-12-15 Appliance CAMES.GT 1 ÍNDICE A Apresentação da Appliance CAMES - CAixa Mágica Enterprise Server B Características Leia mais Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos
Internet e protocolos web A Internet é uma rede descentralizada de recursos computacionais Tolerante a falhas (no single point of failure) Topologia tem de fornecer caminhos alternativos entre 2 computadores Leia mais Criação de um Web Services em.net
Web Service em.net 1 Criação de um Web Services em.net 1. Criar um novo projecto do tipo ASP.NET Web Service, de acordo com a figura seguinte. O.Net cria um directório virtual com os ficheiros indicados Leia mais Informá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 mais MANUAL DE INTRODUÇÃO AO ALFRESCO 3.0
MANUAL DE INTRODUÇÃO AO ALFRESCO 3.0 Alfresco é uma marca registada da Alfresco Software Inc. 1 / 42 Índice de conteúdos Alfresco Visão geral...4 O que é e o que permite...4 Página Inicial do Alfresco...5 Leia mais Índice. Enquadramento do curso 3 Estrutura Programática 4. Primeiros passos com o e-best Learning 6. Actividades e Recursos 11
Índice Parte 1 - Introdução 2 Enquadramento do curso 3 Estrutura Programática 4 Parte 2 Desenvolvimento 5 Primeiros passos com o e-best Learning 6 Como aceder à plataforma e-best Learning?... 6 Depois Leia mais 2017 © DocPlayer.com.br Política de Privacidade | Termos de serviço | Feedback