IHttpAsyncHandler. Para além destas duas interfaces, existe ainda uma outra,

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "IHttpAsyncHandler. Para além destas duas interfaces, existe ainda uma outra,"

Transcrição

1 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 associadas à utilização destes tipos de elementos INTRODUÇÃO ÀS HANDLERS Uma handler é uma classe capaz de satisfazer um pedido efetuado sobre um recurso controlado pela plataforma ASP.NET. Todas as componentes incluídas nesta categoria implementam uma de duas interfaces: IHttpHandler e IHttpAsyncHandler. Para além destas duas interfaces, existe ainda uma outra, designada por IHttpHandlerFactory, que é usada para identificar uma handler factory. Uma handler factory representa um tipo especial de handler a principal função deste elemento é criar uma nova handler adequada ao contexto atual (existem vários elementos deste tipo na plataforma ASP.NET; por exemplo, as páginas ASPX são instanciadas através de uma handler deste tipo) A INTERFACE IHTTPHANDLER A interface (IHttpHandler) é implementada por todas as classes capazes de efetuarem o tratamento de pedidos de forma síncrona. Nestes casos, a thread responsável por satisfazer o pedido atual será bloqueada até que a componente termine o processamento e retorne a resposta ao browser cliente. A interface IHttpHandler define apenas um método e uma propriedade: public interface IHttpHandler{ void ProcessRequest(HttpContext context); bool IsReusable { get;

2 638 ASP.NET 4.5 O método ProcessRequest é invocado pela plataforma sempre que é feito um pedido sobre um determinado recurso. Internamente, este método limita-se a gerar os vários eventos associados ao ciclo de vida de uma página (o Anexo A3 apresenta uma descrição pormenorizada deste método). A propriedade IsReusable indica-nos se uma instância pode ou não ser reutilizada para tratar vários pedidos. Quando esta propriedade devolve o valor true, então, a handler pode ser colocada numa pool de forma a satisfazer futuros pedidos. Note-se que a utilização de pooling é apenas indicada quando estamos perante handlers que demoram muito tempo a serem inicializadas. Quando a propriedade devolve o valor false, todos os pedidos sobre o recurso associado resultam na criação de uma nova instância desse tipo. Todas as páginas retornam o valor false em resposta à propriedade IsReusable A INTERFACE IHTTPASYNCHANDLER Estas handlers efetuam o processamento de forma assíncrona. Na prática, isto quer dizer que a thread responsável pelo tratamento do pedido é devolvida à pool após iniciar a operação assíncrona, ficando, assim, disponível para tratar outros pedidos HTTP que sejam realizados durante essa operação assíncrona. Ao ser notificada da conclusão da operação assíncrona, a plataforma recorre novamente a uma das threads da pool para reativar o processamento do pedido HTTP que tinha sido colocado em espera aquando do início da operação assíncrona para obter a resposta devolvida ao cliente. Nesta altura, importa referir que o uso destas handlers tende a contribuir apenas para um aumento da escalabilidade do site, não existindo (praticamente) ganhos no que diz respeito a melhorias do tempo de resposta associado à recuperação do conteúdo pedido. É por isso que o uso destas handlers deve ser realizado apenas quando elas efetuam operações longas de I/O (ex.: obtenção de dados provenientes de web services ou de base de dados). A interface IHttpAsyncHandler deriva da interface IHttpHandler, acrescentando-lhe dois novos métodos: public interface IHttpAsyncHandler : IHttpHandler{ IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extradata); void EndProcessRequest(IAsyncResult result);

3 HANDLERS E MÓDULOS 639 A instanciação de uma handler fica sempre a cargo de um objeto do tipo HttpApplication. Após obter um objeto do tipo pretendido, a classe começa por verificar se a handler instanciada é síncrona ou assíncrona. Quando estamos perante uma handler assíncrona, a classe HttpApplication invoca o método BeginProcessRequest em vez do tradicional ProcessRequest. A implementação tradicional deste método consiste na criação de uma nova thread (que será responsável por tratar o pedido) e no retorno de um elemento do tipo IasyncResult, que permitirá obter o resultado final do processamento através da execução do método EndProcessRequest (na secção 17.3 analisamos detalhadamente a construção deste tipo de handlers) PROCESSAMENTO ASSÍNCRONO DE PÁGINAS A plataforma permite o processamento assíncrono de páginas desde a versão 2.0. A utilização desta forma de processamento está dependente da utilização do atributo Async da O processamento de páginas assíncronas assenta no conceito de tarefa assíncrona. Uma tarefa assíncrona é representada por um método (que define um conjunto de instruções) que será executado de forma assíncrona. O registo das tarefas assíncronas é efetuado através da execução do método RegisterAsyncTask definido pela classe Page. A utilização de processamento assíncrono pressupõe a utilização do atributo Async (da com o valor true, cuja utilização implica a construção de uma classe final que implementa a interface IHttpAsyncHandler. Para além desse atributo, podemos ainda definir um valor de timeout que será usado para controlar a execução dos métodos assíncronos definidos (o timeout pode também ser definido através da propriedade AsyncTimeout da classe Page). A plataforma recorre à classe PageAsyncTask para guardar toda a informação necessária à execução de uma tarefa assíncrona: para além do método responsável pelo início assíncrono da operação, temos ainda de indicar o método que deve ser invocado aquando da conclusão da tarefa. Opcionalmente, podemos ainda indicar um método que será executado se ocorrer um timeout durante o processamento da tarefa. Para além desta informação, o construtor desta classe também permite passar informação adicional ao método que inicia todo o processo (o tipo deste parâmetro é object, pelo que é possível passar qualquer tipo de elemento). Devemos ainda decidir se as várias tarefas assíncronas existentes devem ou não

4 640 ASP.NET 4.5 ser executadas em série (a atribuição do valor true ao último parâmetro do construtor indica que os métodos devem ser invocados em paralelo). Após definirmos as nossas tarefas, devemos registá-las através da execução do método RegisterAsyncTask (esta operação de registo é normalmente efetuada durante o evento Load podendo também ser executada noutro evento anterior a este). Nas páginas assíncronas, todas as fases associadas ao ciclo de vida são executadas sequencialmente até ao evento PreRender. A partir desta altura, dá-se início ao processamento assíncrono das tarefas registadas e a thread utilizada até aí é libertada, regressando assim à pool de threads responsável por satisfazer os pedidos ASP.NET. A classe PageAsyncTaskManager efetua a gestão deste processo. Esta classe inicia o processamento de todas as tarefas assíncronas registadas previamente e a espera pela conclusão das mesmas. Em seguida, a página resume o seu percurso normal através do processamento das restantes fases associadas ao seu ciclo de vida. A ilustração deste tipo de páginas será feita através da criação de uma página assíncrona, que define duas tarefas assíncronas responsáveis por recuperarem dados existentes numa base de dados. O primeiro passo necessário é tornar a página numa handler assíncrona através da adição do atributo Async à (cap17/ex1.aspx): Page Language="C#" Async="true" %> Em seguida, temos de registar a tarefa assíncrona até ao final do evento Load. Neste caso, optámos por definir as tarefas durante o evento PreInit da página para mostrar que estas podem ser registadas em qualquer evento que seja gerado antes do evento Load: protected override void OnPreInit( EventArgs e ) { base.onpreinit( e ); PageAsyncTask task1 = new PageAsyncTask( new BeginEventHandler( BeginAsyncData ), new EndEventHandler( EndGetAsyncData ), new EndEventHandler( TimeoutOcurred ), null, true //executar o metodo em paralelo ); PageAsyncTask task2 = new PageAsyncTask(

5 HANDLERS E MÓDULOS 641 new BeginEventHandler( BeginAsyncData2 ), new EndEventHandler( EndGetAsyncData2 ), new EndEventHandler( TimeoutOcurred2 ), null, true ); this.registerasynctask( task1 ); this.registerasynctask( task2 ); A criação de uma tarefa assíncrona envolve a definição de vários parâmetros: 1) Um método responsável por iniciar a tarefa. 2) Um método de callback que será invocado quando a tarefa assíncrona for concluída. 3) Um método que será executado se ocorrer um timeout. 4) Um valor genérico (portanto, do tipo object) que será passado ao método callback (neste caso, não necessitamos de passar qualquer valor, pelo que recorremos ao valor null). 5) Um booleano que indica se a tarefa pode ser executada em paralelo com as restantes tarefas assíncronas. Como referimos anteriormente, o registo da tarefa é feito através do método RegisterAsyncTask, que se encarrega de adicionar a tarefa a uma lista interna mantida pela página. Falta-nos apenas apresentar os métodos usados para iniciar e concluir as tarefas assíncronas. O excerto seguinte apresenta o código definido pelos métodos BeginAsyncData e EndGetAsyncData: private IAsyncResult BeginAsyncData(object src, EventArgs args, AsyncCallback cb, object state) { cnn = new SqlConnection( cnnstring ); cmd = new SqlCommand( "select nome from alunos", cnn ); cnn.open( ); Response.Write( "Método BeginAsync; Data" + DateTime.Now.ToString( ) +

6 642 ASP.NET 4.5 "; Thread Id:" + Thread.CurrentThread.ManagedThreadId.ToString()+ "<br />" ); IAsyncResult res = cmd.beginexecutereader( cb, state, CommandBehavior.CloseConnection ); //forcar sleep para demonstrar a utilizacao de varias //threads para processar os dados Thread.Sleep(2000); return res; private void EndGetAsyncData(IAsyncResult res) { using( var reader = cmd.endexecutereader( res ) ){ while ( reader.read( ) ) { //nao vamos fazer nada... Response.Write( "Método EndGetAsync; Data" + DateTime.Now.ToString( ) + "; Thread Id:" + Thread.CurrentThread.ManagedThreadId.ToString() + "<br />" ); private void TimeoutOcurred( IAsyncResult res ) { Response.Write( "<b>timeout no método TimeoutOcurred</b>" ); cmd.cancel(); cnn.close(); Note-se como os métodos anteriores não recorreram a qualquer primitiva de sincronização. Tal deve-se ao facto de as tarefas assíncronas efetuarem automaticamente a propagação do contexto e a sincronização de threads (Figura 17.1).

7 HANDLERS E MÓDULOS 643 FIGURA 17.1 Utilização de tarefas assíncronas O método BeginAsyncData inicia a execução de um comando sobre uma base de dados SQL Server de forma assíncrona através da invocação do método BeginExecuteReader (este método retorna um valor do tipo IAsyncResult que é usado como tipo de retorno do nosso método BeginAsyncData). O método EndGetAsyncData é responsável por obter os resultados produzidos pela execução do comando através da invocação do método EndExecuteReader. Repare-se ainda como cancelamos o comando e encerramos a ligação a partir do método invocado em caso de timeout Como referimos, a utilização de páginas assíncronas deve ser efetuada apenas quando estamos perante operações longas de I/O já que, nestes casos, a utilização de páginas síncronas pode levar ao bloqueio de todas as threads usadas para tratar pedidos ASP.NET. Nestes cenários, a utilização de páginas assíncronas faz com que as threads usadas para tratar os pedidos ASP.NET sejam retornadas à pool enquanto a operação lenta está a ser executada. Para além da utilização de tarefas assíncronas, podemos ainda configurar uma operação assíncrona através do método AddOnPreRenderCompleteAsync (exposto pela classe Page). O método recebe dois parâmetros: um delegate responsável pela execução de um método que inicia uma operação assíncrona e um delegate que será invocado quando essa operação assíncrona terminar. Se quisermos utilizar esta estratégia, então, teremos algum trabalho adicional uma vez que, por predefinição, é apenas registado um método que será invocado de forma assíncrona (se quisermos efetuar várias operações, então, esse método terá de dar início às várias tarefas assíncronas; o programador será ainda responsável por coordenar essas tarefas de forma a garantir que o delegate final só será executado após a conclusão de todas as tarefas assíncronas). Convém ter em atenção que a utilização desta estratégia não suporta a utilização de timeouts. Para além disso, não temos a propagação do contexto (portanto, HttpContext.Current retorna null). A sincronização de threads (obtida automaticamente quando usamos o método baseado nas tarefas assíncronas) também não está disponível

8 644 ASP.NET 4.5 quando utilizamos esta estratégia. Para além do método anterior, a plataforma introduz ainda uma outra estratégia para permitir a invocação de métodos de forma assíncrona designada por Event Based API. Neste caso, um método assíncrono expõe também um evento que será gerado para sinalizar o seu término. Por exemplo, se possuirmos um método síncrono designado por Teste que recebe um parâmetro X, então, a classe deve fornecer um método com uma assinatura semelhante à seguinte: void TesteAsync( X ); A classe deve ainda introduzir um evento designado por TesteCompleted do tipo TesteCompletedEventHandler. Este delegate utiliza um elemento do tipo TesteCompletedEventArgs como segundo parâmetro, que possui uma propriedade designada por Result que é usada para obter o resultado final. A utilização desta aproximação simplifica o trabalho do programador e resolve alguns dos problemas introduzidos pela estratégia anterior. Apesar de efetuar a propagação do contexto e de efetuar a sincronização das threads no que diz respeito ao acesso a dados partilhados, esta estratégia não nos permite definir um timeout e, atualmente, é apenas implementada pelos proxies gerados a partir de um Web Service CONSTRUÇÃO DE HANDLERS SÍNCRONAS Apesar de, na maior parte das vezes, o desenvolvimento ASPX consistir na construção de várias páginas e controlos, existem ocasiões em que a infraestrutura da página é desnecessária para a operação em causa. Nestes casos, pode ser necessário construirmos a nossa própria handler que contém apenas o código necessário à realização dessa operação. A construção de handlers síncronas implica a construção de uma classe que implementa a interface IHttpHandler. Para exemplificar a construção de uma handler síncrona, vamos construir uma classe capaz de obter uma imagem existente na tabela Categories da base de dados Northwind (SQL Server). O primeiro passo a dar consiste na definição dos requisitos associados à construção da classe que implementará a interface IHttpHandler: A handler não será reutilizada por vários pedidos. Cada pedido tem de indicar o ID associado à imagem através de um parâmetro de query string designado por ID. Tendo em atenção as restrições anteriores, a classe ImageGetter foi implementada da seguinte forma (app_code/imagegetter.aspx):

9 HANDLERS E MÓDULOS 645 namespace Livro { public class ImageGetter:IHttpHandler { public void ProcessRequest( HttpContext context ) { if( string.isnullorempty( context.request.params["id"] ) ) { throw new ArgumentNullException( "O ID da imagem é necessário para obter a + imagem a partir da base de dados" ); int id = Convert.ToInt32( context.request.params["id"] ); using( var cnn =new SqlConnection( WebConfigurationManager.ConnectionStrings["northwind"]. ConnectionString)) { var cmd = new SqlCommand( "select Picture from Categories where cnn ); cmd.parameters.addwithvalue( id ); cnn.open(); byte [] img = (byte [] )cmd.executescalar(); context.response.contenttype = "image/jpeg"; context.response.outputstream.write( img, 78, img.length 78); public bool IsReusable { get{ return false; A implementação desta handler prima pela simplicidade: o método ProcessRequest limita-se a recuperar o ID da coluna, cuja imagem deve ser devolvida e a estabelecer uma ligação à base de dados, de forma a recuperar a imagem sob a forma de um array de bytes. Em seguida, a handler recorre ao objeto Response existente no contexto para enviar a informação de volta ao browser.

10 646 ASP.NET 4.5 A base de dados Northwind armazena os campos de imagem como objetos OLE (provavelmente devido ao facto de a base de dados ter de ser originalmente construída em Access e depois importada para SQL Server). Devido a isso, não podemos simplesmente recorrer ao método BinaryWrite existente na classe HttpResponse, uma vez que os primeiros 78 bytes consistem num prefixo que deve ser eliminado se quisermos visualizar corretamente a imagem. A utilização da handler anterior implica o estabelecimento de uma relação entre uma extensão e a nossa classe ImageGetter. Neste caso, vamos associar todos os pedidos efetuados sobre esta handler ao recurso virtual image.get. Para tal, temos de registar a handler na secção <handlers> existente no ficheiro de configuração: <handlers> <add name="imagegetter" path="image.get" type="livro.imagegetter" verb="*" requireaccess="script"/> </handlers> Esta instrução é suficiente para garantir que todos os pedidos efetuados para o recurso image.get servidos pelo IIS 7 são tratados pela nossa handler. Após efetuarmos estes passos, já podemos construir uma página que utiliza a nossa handler (cap17/ex2.aspx): Page Language="C#" %> <html> <body> <form id="form1" runat="server"> <img src="image.get?id=1" > </form> </body> </html> Como é possível verificar, limitamo-nos a configurar o atributo src do elemento <img>, de forma a que este invoque a nossa handler personalizada e passe o ID da categoria através do parâmetro GET ID. Ao receber o pedido, o servidor IIS consulta o URL e compara-o com a sua tabela interna de handlers (reencaminhando-a para a nossa classe ImageGetter). A implementação de uma handler personalizada apresenta algumas vantagens sobre a utilização da página neste tipo de operação, residindo a principal no facto de esta apenas conter o código necessário à obtenção da imagem. Se tivéssemos colocado o mesmo

A interface IDataSource retorna dados em formato tabular e disponibiliza apenas dois métodos: GetView e GetViewNames. O primeiro,

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

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

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

Ajax não é dependente dos servidores Web, e como tal poderá ser usado com PHP, JSP, ASP e ASP.NET.

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

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para Internet Avançada 4. Web Services Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt São módulos de aplicações de negócios que expõem as regras do negócio como serviços na Internet através

Leia mais

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo Iniciar o Data Adapter Configuration Wizard Toolbox Data Duplo clique em OleDbDataAdapter Botão next na caixa de diálogo Se carregar em Cancel, o wizard é cancelado e podemos depois definir as propriedades

Leia mais

.Net Remoting Pizzaria

.Net Remoting Pizzaria .Net Remoting Pizzaria 1º Trabalho Prático Tecnologias de Distribuição e Integração 4º Ano do Mestrado Integrado em Engenharia Informática e Computação João Carlos Figueiredo Rodrigues Prudêncio ei07111@fe.up.pt

Leia mais

Ajax Asynchronous JavaScript and Xml

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

Gescom isales. Aplicação Mobile Profissional para Vendedores

Gescom isales. Aplicação Mobile Profissional para Vendedores Aplicação Mobile Profissional para Vendedores Indíce Introdução... 3 Aplicação... 4 Produtos... 4 Categorias... 4 Produtos... 5 Carrinho de Vendas... 6 Encomendas... 7 Clientes... 10 Sincronização... 11

Leia mais

INTRODUÇÃO AO MODELO ADO.NET (DESCONECTADO)

INTRODUÇÃO AO MODELO ADO.NET (DESCONECTADO) INTRODUÇÃO AO MODELO ADONET (DESCONECTADO) O modelo ADONET (Activex Data Objects NET) consiste num conjunto de classes definidas pela NET framework (localizadas no namespace SystemData) que pode ser utilizado

Leia mais

Programação Concorrente em java - Exercícios Práticos Abril 2004

Programação Concorrente em java - Exercícios Práticos Abril 2004 Programação Concorrente em java - Exercícios Práticos Abril 2004 1. Introdução As threads correspondem a linhas de controlo independentes no âmbito de um mesmo processo. No caso da linguagem JAVA, é precisamente

Leia mais

Portal AEPQ Manual do utilizador

Portal AEPQ Manual do utilizador Pedro Gonçalves Luís Vieira Portal AEPQ Manual do utilizador Setembro 2008 Engenharia Informática - Portal AEPQ Manual do utilizador - ii - Conteúdo 1 Introdução... 1 1.1 Estrutura do manual... 3 1.2 Requisitos...

Leia mais

Repeater no GASweb. Regiões

Repeater no GASweb. Regiões Repeater no GASweb Por: Rodrigo Silva O controle de servidor Repeater é um container básico que permite a você criar uma lista de qualquer informação que deseja em uma página Web. Ele não tem uma aparência

Leia mais

Introdução ao ASP.NET

Introdução ao ASP.NET Introdução ao ASP.NET Miguel Isidoro Agenda ASP ASP.NET Server Controls Separação de Código e Apresentação Acesso a Dados Web Services Aplicações Web ASP.NET 1 ASP Razões do Sucesso Modelo de programação

Leia mais

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

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

Leia mais

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo

Leia mais

Construindo Aplicações com ASP.NET MVC 2.0 Aula 03 Luiz Alberto Ferreira Gomes. Ciência da Computação da PUC Minas

Construindo Aplicações com ASP.NET MVC 2.0 Aula 03 Luiz Alberto Ferreira Gomes. Ciência da Computação da PUC Minas Construindo Aplicações com ASP.NET MVC 2.0 Aula 03 Luiz Alberto Ferreira Gomes Ciência da Computação da PUC Minas 2 Camada responsável por armazenar em um repositório de dados e reconstituir objetos de

Leia mais

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS Jean Henrique Zenzeluk* Sérgio Ribeiro** Resumo. Este artigo descreve os conceitos de Orientação a Objetos na linguagem de programação

Leia mais

Desenvolvimento de aplicações para a Cloud. Queue

Desenvolvimento de aplicações para a Cloud. Queue Desenvolvimento de aplicações para a Cloud Queue O serviço Queue Fornece uma infra-estrutura escalável e com grande disponibilidade para comunicação de mensagens na cloud. Esquema URL Tamanho máximo Referência

Leia mais

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto

Leia mais

Criando um carrinho de compras

Criando um carrinho de compras Criando um carrinho de compras Um carrinho de compras feito em ASP.NET para você adaptar ao seu negócio e incluir no seu site. Além de aprender conceitos importantes relacionados a tecnologia ASP.NET vai

Leia mais

Manual de utilização do Moodle

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

Orientação a Objetos

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

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

Universidade da Beira Interior. Sistemas Distribuídos

Universidade da Beira Interior. Sistemas Distribuídos Folha 6-1 Sincronização de Threads A sincronização de Threads em Java é baseada no conceito do Monitor (de Hoare). Cada objecto Java tem associado um monitor (ou lock ) que pode ser activado se a palavra

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

Threads e Sockets em Java. Threads em Java. Programas e Processos

Threads e Sockets em Java. Threads em Java. Programas e Processos Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos

Leia mais

Programação em ASP.net

Programação em ASP.net Programação em ASP.net Programação em ASP.net PostBacks, Round Trips Quando se faz um pedido de uma página.aspx o código da página é executado no servidor A cada pedido a página chama-se a si mesma de

Leia mais

Bases de Dados. Lab 1: Introdução ao ambiente

Bases de Dados. Lab 1: Introdução ao ambiente Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

Sistemas Operativos - 2005/2006. Trabalho Prático v1.0

Sistemas Operativos - 2005/2006. Trabalho Prático v1.0 Instituto Politécnico de Viseu Escola Superior de Tecnologia de Viseu Engenharia de Sistemas e Informática Sistemas Operativos - 2005/2006 Trabalho Prático v1.0 Introdução O presente trabalho prático visa

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Programação para Android. Aula 08: Persistência de dados SQL

Programação para Android. Aula 08: Persistência de dados SQL Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente

Leia mais

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Multithreading 154 Objectivos Ser capaz de: Explicar os conceitos básicos de multithreading Criar threads múltiplos

Leia mais

Forms Authentication em ASP.NET

Forms Authentication em ASP.NET Forms Authentication em ASP.NET Em muitos sites web é necessário restringir selectivamente o acesso a determinadas áreas, ou páginas, enquanto para outras páginas pode permitir-se acesso livre. ASP.NET

Leia mais

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32

Leia mais

Redes de Computadores - 2010/1

Redes de Computadores - 2010/1 Redes de Computadores - 2010/1 Miniprojeto Universidade Federal do Espírito Santo - UFES Professor: Magnos Martinello 20 de maio de 2010 1 1 Proposta A proposta do trabalho é reforçar o compreendimento

Leia mais

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: - Necessidade O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: Os livros que custarem mais de 10, devem ver o seu preço

Leia mais

FIND ME APLICAÇÃO ANDROID

FIND ME APLICAÇÃO ANDROID FIND ME APLICAÇÃO ANDROID Relatório Sistemas Distribuídos - EIC0036-2S 3º Ano do Mestrado Integrado em Engenharia Informática e Computação Elementos do Grupo: Carlos Gouveia 080509148 ei08148@fe.up.pt

Leia mais

Programação em ASP S. P net

Programação em ASP S. P net Programação em ASP.net PostBacks, Round Trips A web é inerentemente desconectada O browser e o servidor estão conectados apenas durante o tempo necessário para processar o pedido Quando se faz um pedido

Leia mais

Criação de Páginas Web - MS Word 2000

Criação de Páginas Web - MS Word 2000 Gestão Comercial e da Produção Informática I 2003/04 Ficha de Trabalho N.º 9 Criação de Páginas Web - MS Word 2000 1. Criação de uma página Web (HTML): Escreva o seu texto e introduza as imagens pretendidas

Leia mais

ÍNDICE. Acesso para agências...3. Organização por pastas...4. Download das facturas a partir do site...5. Pesquisa de facturas...8

ÍNDICE. Acesso para agências...3. Organização por pastas...4. Download das facturas a partir do site...5. Pesquisa de facturas...8 2 ÍNDICE Acesso para agências...3 Organização por pastas...4 Download das facturas a partir do site...5 Pesquisa de facturas...8 Configurar notificações por email...11 3 Bem-vindo ao manual de uso do novo

Leia mais

Descrição de um problema de integração: Sistema de vendas online

Descrição de um problema de integração: Sistema de vendas online Integração Empresarial Descrição de um problema de integração: Sistema de vendas online Luís Costa - 8050120 Abril, 2012 1. Introdução Este documento apresenta detalhadamente o processo de negócio de uma

Leia mais

Deverá ser apresentada uma caixa de combinação para auxiliar o utilizador a escolher o distrito de residência do entrevistado.

Deverá ser apresentada uma caixa de combinação para auxiliar o utilizador a escolher o distrito de residência do entrevistado. 4.º PASSO PROGRAMAÇÃO DO CAMPO DISTRITO : PROJECTO COM ADO Deverá ser apresentada uma caixa de combinação para auxiliar o utilizador a escolher o distrito de residência do entrevistado. 1) Abra o formulário

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação

Leia mais

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

Leia mais

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 15 Manipulação de dados Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE

Leia mais

(Aula 17) Threads em Java

(Aula 17) Threads em Java (Aula 17) Threads em Java Difícil As Threads thread threads de emjava classificar sãogerenciadaspelajvm. podemser com user criadasdas thread ou kernel Profa. Patrícia A seguintesmaneiras: Fazendo extend

Leia mais

Laboratórios de Engenharia de Software. Relatório de desenvolvimento

Laboratórios de Engenharia de Software. Relatório de desenvolvimento Laboratórios de Engenharia de Software S1 - Configuração do Curso Relatório de desenvolvimento versão 1.4 Turma 4LEIC3 André Fidalgo Moniz {ei99041@fe.up.pt} José António Fonseca {ei99032@fe.up.pt} Mário

Leia mais

Trabalho prático 2011/2012 Linguagens de programação. João Caixinha Nº5946

Trabalho prático 2011/2012 Linguagens de programação. João Caixinha Nº5946 Trabalho prático 2011/2012 Linguagens de programação João Caixinha Nº5946 1 INTRODUÇÃO... 3 1. CPYTHON-INTERFACE GRÁFICA... 3 1.1 DESCARGA DE REGISTOS PARA A BASE DE DADOS... 3 1.2 VISUALIZAÇÃO DE DADOS

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

Grupo 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

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

Sessões. Cookies HTTP Sessões Atributos de sessão

Sessões. Cookies HTTP Sessões Atributos de sessão Sessões Cookies HTTP Sessões Atributos de sessão O problema O protocolo HTTP não mantém estado entre transações distintas Ao término do atendimento da requisição, a conexão TCP é fechada pelo servidor

Leia mais

Computação Orientada aos Serviços. WF (parte 1) Semestre de Inverno 12/13

Computação Orientada aos Serviços. WF (parte 1) Semestre de Inverno 12/13 Computação Orientada aos Serviços WF (parte 1) Semestre de Inverno 12/13 Workflow No desenvolvimento de software, o principal objectivo é resolver problemas reais de negócio. Normalmente parte-se a resolução

Leia mais

Equipa PTE. Janeiro 2012

Equipa PTE. Janeiro 2012 Janeiro 2012 Equipa PTE Índice Introdução... 3 Registo Online... 3 Instalação... 6 Dropbox Online... 9 Separador Files (Ficheiros)... 10 Restaurar arquivos... 11 Recuperar arquivos... 11 Separador "Events"...

Leia mais

Millennium ECO 2.0 (beta)

Millennium ECO 2.0 (beta) MILLENNIUM NETWORK Millennium ECO 2.0 (beta) Documentação Técnica (draft) 10/2013 Este documento contém as instruções para a utilização da biblioteca Millenium_Eco que se presta à comunicação de aplicativos

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas.

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas. Objetivo: Utilização das ferramentas gráficas do MySQL Instalação das ferramentas gráficas do MySQL: - O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. MySQL 101 Recapitulando Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. As bases de dados são úteis quando necessitamos

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

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

Parte I. Demoiselle Mail

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

DEFINIÇÃO DE MÉTODOS

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

Capítulo 5. Tratamento de excepções

Capítulo 5. Tratamento de excepções Capítulo 5. Tratamento de excepções 1/20 Índice Indice 5.1 - Excepção 5.2 - Try-Catch-Finally 5.3 - Escalar excepção não tratada 5.4 - Como lançar excepções 2/20 Índice 5.1 Excepção 5.1 - Excepção 5.2

Leia mais

Criação de uma aplicação Web ASP.NET MVC usando Code First

Criação de uma aplicação Web ASP.NET MVC usando Code First Criação de uma aplicação Web ASP.NET MVC usando Code First Visual Studio > File > New Project > (Visual C#, Web) ASP.NET MVC 4 Web Application Name: MvcApplication11 Project Template: View Engine: Internet

Leia mais

Criação de um Web Services em.net

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

manual instalação e configuração v13 1

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

Programação por Objectos. Java

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

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10 Universidade do Minho Departamento de Informática Aplicações Multi-camada JDBC Aula 3 António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jose.campos@di.uminho.pt 2 Programação

Leia mais

Login. Criar um novo website File > New > WebSite Framework 4.5 Visual C# ASP.NET Empty Web Site Nome do projeto: WebLogin

Login. Criar um novo website File > New > WebSite Framework 4.5 Visual C# ASP.NET Empty Web Site Nome do projeto: WebLogin Login Criar um novo website File > New > WebSite Framework 4.5 Visual C# ASP.NET Empty Web Site Nome do projeto: WebLogin Estrutura do projeto Criar pastas e deixar a estrutura do projeto conforme a figura.

Leia mais

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1. Departamento de Engenharia Informática 2008/2009 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

DotNetNuke. Gestão de Conteúdos. Módulos - II. Inserção de conteúdos nos módulos. Módulo de Text/HTML. Módulo de Sre-Notícias. Módulo de Sre-Formação

DotNetNuke. Gestão de Conteúdos. Módulos - II. Inserção de conteúdos nos módulos. Módulo de Text/HTML. Módulo de Sre-Notícias. Módulo de Sre-Formação Gestão de Conteúdos DotNetNuke Módulos - II Inserção de conteúdos nos módulos Módulo de Text/HTML Módulo de Sre-Notícias Módulo de Sre-Formação Conteúdos dos módulos Na lição: Módulos-I já foi dito que

Leia mais

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Banco de Dados Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Roteiro Mapeamento de objetos para modelo relacional Estratégias de persistência Persistência JDBC Mapeando Objetos para o Modelo Relacional

Leia mais

Unidade 9: Middleware JDBC para Criação de Beans

Unidade 9: Middleware JDBC para Criação de Beans Programação Servidor para Sistemas Web 1 Unidade 9: Middleware JDBC para Criação de Beans Implementando MVC Nível 1 Prof. Daniel Caetano Objetivo: Preparar o aluno para construir classes de entidade com

Leia mais

Especialização em Engenharia de Software - CEUT

Especialização em Engenharia de Software - CEUT Até aqui Programação com interfaces gráficas Sérgio Soares scbs@cin.ufpe.br Criamos a infra-estrutura para a aplicação bancária classes que representam os tipos de conta classe que implementa regras de

Leia mais

Microsoft Access. No Access, existem vários tipos de objectos: Tabelas. Consultas. Formulários Relatórios Macros Módulos

Microsoft Access. No Access, existem vários tipos de objectos: Tabelas. Consultas. Formulários Relatórios Macros Módulos É um SGBD do tipo relacional para a utilização em windows. Ao abrirmos o Access, podemos efectuar várias operações: abrir uma base de dados existente, ou então criar uma nova base de dados. Se criarmos

Leia mais

Apresentação de REDES DE COMUNICAÇÃO

Apresentação de REDES DE COMUNICAÇÃO Apresentação de REDES DE COMUNICAÇÃO Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos MÓDULO VII Acesso a Bases de Dados via Web Duração: 50 tempos Conteúdos (1) Conceitos

Leia mais

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho. Universidade do Minho Departamento de Informática Camada de Dados - JDBC Aula 1 António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.pt 2 Camada de Dados A camada

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

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

[MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS]

[MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS] 2011 [MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS] Destinado a usuários que desejam vender conteúdo premium, disponível em sites de membros, através da plataforma Hotmart. Versão do documento: 1.0, 11/04/2011.

Leia mais

Aplicação de Estatísticas de Ensino Superior

Aplicação de Estatísticas de Ensino Superior Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão Curso de Engenharia Informática Disciplina de Linguagens de Programação Aplicação de Estatísticas de Ensino Superior Linguagem: Python

Leia mais

Desenvolvimento de aplicações Web. Java Server Pages

Desenvolvimento de aplicações Web. Java Server Pages Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - athanazio@pobox.com 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia

Leia mais

RSS e ATOM: modos de usar

RSS e ATOM: modos de usar RSS e ATOM: modos de usar 1. O que são feeds? Provavelmente já lhe aconteceu ter de aceder com regularidade a um site no intuito de verificar se existem conteúdos novos. Em sites com muito conteúdo e algum

Leia mais

Acronis Servidor de Licença. Manual do Utilizador

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

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

Sistemas de Telecomunicações

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

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

Findo o processo de normalização, obtemos o conjunto de tabelas indicado na tabela 1.28.

Findo o processo de normalização, obtemos o conjunto de tabelas indicado na tabela 1.28. ACCESS 2007 MACROS & VBA - CURSO COMPLETO AS-44-33 Honda Civic YY-44-32 Opel Corsa UU-44-44 Fiat Uno UU-44-44 Fiat Uno UU-44-44 Fiat Uno AA-00-01 Ford Transit TABELA ERRO! NÃO EXISTE NENHUM TEXTO COM O

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software 2º Semestre de 2006/2007 Terceiro enunciado detalhado do projecto: Portal OurDocs ic-es+alameda@mega.ist.utl.pt ic-es+tagus@mega.ist.utl.pt 1. Introdução O terceiro enunciado do

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

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

WebSphere_Integration_Developer_D_Jan06 Script

WebSphere_Integration_Developer_D_Jan06 Script WebSphere_Integration_Developer_D_Jan06 Script 1a Nesta demonstração, Will Dunlop, um programador de integração da JK, utiliza o IBM, [ IBM], ou WID para construir um novo serviço orientado para os processos

Leia mais

SECUNDÁRIA DE CAMARATE DIGIT@L. Plataforma Office 365. Alojamento de ficheiros - OneDrive para Empresas

SECUNDÁRIA DE CAMARATE DIGIT@L. Plataforma Office 365. Alojamento de ficheiros - OneDrive para Empresas SECUNDÁRIA DE CAMARATE DIGIT@L Plataforma Office 365 Alojamento de ficheiros - OneDrive para Empresas Conteúdo Nota prévia... 2 Alojamento de ficheiros o OneDrive para Empresas... 2 Funcionalidades do

Leia mais

Aula 06 Usando controles em ASP.NET

Aula 06 Usando controles em ASP.NET Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: Linguagem de Programação Plataforma.NET 2 Aula 06 Usando controles em ASP.NET Nas propriedades do FORM temos a opções EnableViewState. Esta

Leia mais

Manual de Access 2007

Manual de Access 2007 Manual de Access 2007 Índice Introdução... 4 Melhor que um conjunto de listas... 5 Amizades com relações... 6 A Estrutura de uma Base de Dados... 8 Ambiente do Microsoft Access 2007... 9 Separadores do

Leia mais

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. http://fit.c2.com. Dados de testes. Programa. Fixtures. classes. Resultados de testes

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. http://fit.c2.com. Dados de testes. Programa. Fixtures. classes. Resultados de testes Como o FIT funciona FIT: Framework for Integrated Tests http://fit.c2.com Dados de testes Fixtures Programa classes FIT Resultados de testes Universidade Portucalense Engenharia de Software ES04 2014-2015

Leia mais