Desenvolvimento de aplicações para a Cloud. Queue
|
|
- Leonor Paranhos Galvão
- 8 Há anos
- Visualizações:
Transcrição
1 Desenvolvimento de aplicações para a Cloud Queue
2 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 API e.windows.net/[queuename] 8KB (string) t.com/en-us/library/ dd aspx 2 Cátia Vaz 2011/2012
3 Exemplo de utilização: padrão Web + Worker Role Web role Lida com os pedidos dos utilizadores Coloca items na queue Worker role Processa os items a partir da queue Public internet n m Load balancer Web role Q Worker role Cloud storage (tables, blobs, queues) 3 Cátia Vaz 2011/2012
4 Arquitectura do serviço Queue 4 Cátia Vaz 2011/2012
5 Conceitos de Queue Storage Account sally Queue thumbnail jobs photo processing jobs Message 128x128, 256x256, Oferece garantia na entrega das mensagens - Despacho do trabalho simples e assíncrono - A semântica de programação assegura que a mensagem pode ser processada pelo menos uma vez - Têm uma performance eficiente. - O acesso é via REST
6 Processamento de mensagens na queue Producers Consumers P 2 C 1 1. Dequeue(Q, 30 sec) msg P 1 C 2 2. Dequeue(Q, 30 sec) msg 2
7 Processamento de mensagens na queue Produtores Consumidores P 2 1 C 1 1. Dequeue(Q, 30 sec) msg 1 5. C 1 crashed P C 2 2. Dequeue(Q, 30 sec) msg 2 3. C2 consumed msg 2 4. Delete(Q, msg 2) 7. Dequeue(Q, 30 sec) msg 1 6. msg1 visível 30 segundos após Dequeue
8 Account, Queues e Mensagens Uma account pode conter várias queues O nome da queue fica contextualizado pela conta. Uma queue contém messagens Não existe limite no número de mensagem armazenadas numa queue Uma mensagem é armazenada no máximo uma semana numa queue Mensagens Tamanho das mensagens <= 8 KB Têm os seguintes atributos: MessageID PopReceipt Messagettl 8 Cátia Vaz 2011/2012
9 Limites e Restrições As limitações do serviço Queue são as seguintes: O serviço queue suporta um número ilimitado de mensagens, mas cada mensagem não pode ter mais do que 64KB de tamanho Se a mensagem tiver maior tamanho, pode-se armazenar o object no Blob ou Table e enviar o link como mensagem. O comportamento FIFO das mensagens enviadas para o serviço Queue não é garantido. As mensagens podem ser recebidas por qualquer ordem. Uma mensagem pode ser recebida mais do que uma vez. As mensagens pode ser em formato texto ou binário, mas sempre no formato de codificação Base64 As mensagens armazenadas no serviço Queue têm como tempo de expiração de 7 dias. Após 7 dias, as mensagens são garbagecollected. 9 Cátia Vaz 2011/2012
10 Nomes das queues Restrições nos nomes das Queues: O nome tem de ser único no contexto da conta Tem de iniciar com uma letra ou número e apenas letras minúsculas, com dimensão entre 3 e 63. Não pode conter caracteres especiais excepto (-), o qual tem de ser seguido por um caracter ou número. 10 Cátia Vaz 2011/2012
11 Microsoft.WindowsAzure.StorageClient Nome da Classe CloudStorageAccount CloudQueueClient CloudQueue CloudQueueMessage Descrição Uma classe utilitária que retorna a informação de um account através de um ficheiro de configuração ou cria uma instância de um storage account a partir dos parâmetros da account. Uma classe wrapper para obter as referências dos objectos principais da queue. A classe consiste de métodos como GetQueueReference() e ListQueues() Consiste de operações de Queue tais como: Create(), Delete(), AddMessage(), e GetMessage(). Representa uma mensagem da queue com propriedades como InsertionTime, ExpirationTime, NextVisibleTime, ID, e PopReceipt. 11 Cátia Vaz 2011/2012
12 Operações Comuns ListQueues GetMessage AddMessage Delete DeleteMessage Ver mais: CloudQueue
13 Inserir uma mensagem CloudStorageAccount storageaccount = CloudStorageAccount.Parse( RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString")); CloudQueueClient queueclient = storageaccount.createcloudqueueclient(); CloudQueue queue = queueclient.getqueuereference("myqueue"); queue.createifnotexist(); CloudQueueMessage message = new CloudQueueMessage("Hello, Cloud"); queue.addmessage(message);
14 Obter uma mensagem CloudStorageAccount storageaccount = CloudStorageAccount.Parse( RoleEnvironment.GetConfigurationSettingValue("StorageConnectionSt ring")); CloudQueueClient queueclient = storageaccount.createcloudqueueclient(); CloudQueue queue = queueclient.getqueuereference("myqueue"); CloudQueueMessage Message = queue.getmessage();
15 Retirar a próxima mensagem CloudStorageAccount storageaccount = CloudStorageAccount.Parse( RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString")); CloudQueueClient queueclient = storageaccount.createcloudqueueclient(); CloudQueue queue = queueclient.getqueuereference("myqueue"); CloudQueueMessage retrievedmessage = queue.getmessage(); queue.deletemessage(retrievedmessage);
16 Obter o tamanho da queue CloudStorageAccount storageaccount = CloudStorageAccount.Parse( RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString")); CloudQueueClient queueclient = storageaccount.createcloudqueueclient(); CloudQueue queue = queueclient.getqueuereference("myqueue"); int freshmessagecount = queue.retrieveapproximatemessagecount(); int? cachedmessagecount = queue.approximatemessagecount;
17 Manipular mensagens cuja dimensão exceda os 64 KB private static void HandleUploadImage(){ var cloudblobclient = GetCloudStorageAcount().CreateCloudBlobClient(); var cloudblobcontainer = cloudblobclient.getcontainerreference("images"); cloudblobcontainer.createifnotexist(); var filestream = new FileStream(@"F:\bg.jpg", FileMode.Open); Console.WriteLine("Image size: {0}", filestream.length); var blobid = Guid.NewGuid().ToString(); var cloudblob = cloudblobcontainer.getblobreference(blobid); cloudblob.uploadfromstream(filestream); var cloudqueueclient = GetCloudStorageAccount().CreateCloudQueueClient(); var cloudqueue = cloudqueueclient.getqueuereference("imageupload"); cloudqueue.createifnotexist(); } var cloudqueuemessage = new CloudQueueMessage(blobid); cloudqueue.addmessage(cloudqueuemessage, TimeSpan.FromDays(7)); Console.WriteLine("Blob uploaded and enqueued [ {0} ]", blobid); 17 Cátia Vaz 2011/2012
18 Manupular mensagens cuja dimensão exceda os 64 KB private static void ProcessImage(){ var cloudqueueclient = GetCloudStorageAccount().CreateCloudQueueClient(); var cloudqueue = cloudqueueclient.getqueuereference("imageupload"); var cloudqueuemessage = cloudqueue.getmessage(); if(cloudqueuemessage! = null) { var blobid = cloudqueuemessage.asstring; Console.WriteLine("Queue message retrieved with content. [{0}]", blobid); } var cloudblobclient = GetCloudStorageAccount().CreateCloudBlobClient(); var cloudblobcontainer = cloudblobclient.getcontainerreference("images"); var cloudblob = cloudblobcontainer.getblobreference(blobid); var memorystream = new MemoryStream(); cloudblob.downloadtostream(memorystream); Console.WriteLine("Image size: {0}", memorystream.length); } 18 Cátia Vaz 2011/2012
19 Padrão de Desenho Síncrono Cada thread dedicada a um pedido Bloqueia cada passo do trabalho feito por cada pedido, e depois responde e repete Client Request #1 Web App Front End The Work #1 Client Response #1 Client Request #2 Thread Waiting Thread blocks Response #1 O tempo passa Esta abordagem escala menos Cada pedido é armazenado numa thread stack As threads bloqueiam mesmo quando não existe trabalho a ser feito Adicionar uma thread permite apenas um único pedido concorrente adicional
20 Padrão de desenho assíncrono Cada thread processo um trabalho, sempre que está pronto Uma thread que processa um pedido, pode processar outro, antes de o anterior completar Web App Front End The Work #1 Esta abordagem escala melhor Thread Thread Context É feito explicitamente tracking dos pedidos dos clientes nas estruturas de dados das aplicações As threads nunca bloqueiam quando não existe trabalho a ser processado Cada thread pode possivelmente manipular vários pedidos concorrentes
21 StorageClient API: Suporte síncrono public void AddMessage( string queuename, CloudQueueMessage queuemessage) { CloudQueue q = QueueClient.GetQueueReference(queueName); q.addmessage(queuemessage); }
22 StorageClient API: Suporte assíncrono public void AddMessageAsync(string queuename, CloudQueueMessage queuemessage, int ttlsecs) { CloudQueue q = QueueClient.GetQueueReference(queueName); using (System.Threading.ManualResetEvent evt = new System.Threading.ManualResetEvent(false)) { q.beginaddmessage(queuemessage, TimeSpan.FromSeconds(ttlsecs), new AsyncCallback(result =>{ var qc = result.asyncstate as CloudQueue; qc.endaddmessage(result); evt.set(); } ), q); evt.waitone(); }}
23 AsyncCallback public delegate void AsyncCallback( IAsyncResult ar ) Resultado da operação assíncrona public interface IAsyncResult{ Object AsyncState; WaitHandle AsyncWaitHandle ; bool CompletedSynchronously; bool IsCompleted; } 23 Cátia Vaz 2011/2012
24 Outro exemplo public IEnumerable<CloudQueueMessage> GetMessagesAsync(string queuename, int numberofmessages, int visibilitytimeoutinsecs) { CloudQueue q = QueueClient.GetQueueReference(queueName); IEnumerable<CloudQueueMessage> ret = null; using (System.Threading.ManualResetEvent evt = new System.Threading.ManualResetEvent(false)){ q.begingetmessages(numberofmessages, TimeSpan.FromSeconds(visibilityTimeoutInSecs), new AsyncCallback(result => { var qc = result.asyncstate as CloudQueue; ret = qc.endgetmessages(result); evt.set();}), q); evt.waitone(); } return ret;} 24 Cátia Vaz 2011/2012
25 Cenário 1 25 Cátia Vaz 2011/2012
26 Cenário 2 26 Cátia Vaz 2011/2012
27 Cenário 3 27 Cátia Vaz 2011/2012
28 Windows Azure Data Storage Container Blobs Account Table Entities Queue Messages
Desenvolvimento de aplicações para a Cloud. Windows Azure
Desenvolvimento de aplicações para a Cloud Windows Azure Desenvolvimento de aplicações para a Cloud Blob O serviço Blob } O serviço Blob é desenhado para armazenar um conjunto largo de objectos binários,
Leia maisDesenvolvimento de aplicações para a Cloud. Blob
Desenvolvimento de aplicações para a Cloud Blob O serviço Blob } O serviço Blob é desenhado para armazenar um conjunto largo de objectos binários, como documentos, imagens, vídeos e músicas. Esquema URL
Leia maisDesenvolvimento de aplicações para a Cloud. Introdução
Desenvolvimento de aplicações para a Cloud Introdução Introdução } O que é Cloud Computing? } Porquê o termo Cloud? 2 Introdução } O que é Cloud Computing? } Porquê o termo Cloud? } Cloud Computing versus
Leia maisIHttpAsyncHandler. 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 maisProgramaçã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 maisGrupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais
Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Leia maisExercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
Leia maisModelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes
Modelagem e Implementação de Aquário de Peixes- por Jorge Fernandes - Página 1 Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes Jorge Fernandes Natal, Agosto de
Leia maisFBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
Leia mais1 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 maisCOLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE. Rui Ribeiro colibri@fccn.pt. FCCN - Dezembro 2010
COLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE FCCN - Dezembro 2010 Rui Ribeiro colibri@fccn.pt Módulo COLIBRI Concebido por: José Coelho Universidade Aberta Apoiado por: Rui Ribeiro FCCN Vitor
Leia maisSistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisColeçõ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 maisIntrodução a Threads Java
Introdução a Threads Java Prof. Gerson Geraldo Homrich Cavalheiro Universidade Federal de Pelotas Departamento de Informática Instituto de Física e Matemática Pelotas RS Brasil http://gersonc.anahy.org
Leia maisSistema Protocolo Integrado Manual de Integração ao Web Service
2015 Sistema Protocolo Integrado Manual de Integração ao Web Service Manual com a descrição do Web Service de recebimento das informações de processos e documentos dos órgãos e entidades. Versão 1.0 Vigência
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisComputaçã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 maisGrupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.
Número: Nome: Página 1 de 6 LEIC/LETI, 2014/15, Repescagem do 1º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Leia maisSistemas Operativos 2005/2006. Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca. Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes
Sistemas Operativos 2005/2006 Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca Turma 3EIC3 Grupo 5 Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes O trabalho efectuado, consiste numa
Leia maisComunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais
Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação
Leia mais3 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 maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisSessõ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 maisLista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
Leia maisThreads e Concorrência em Java (Material de Apoio)
Introdução Threads e Concorrência em Java (Material de Apoio) Professor Lau Cheuk Lung http//www.inf.ufsc.br/~lau.lung INE-CTC-UFSC A maioria dos programas são escritos de modo seqüencial com um ponto
Leia maisDESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Threads, Handler e AsyncTask No Android, cada aplicação é executada em um único processo. Cada processo por sua vez tem uma thread
Leia mais30/11/2011. DataSnap e Cloud. Deep Dive. Agenda. RAD Cloud Overview DBExpress Novo API Cloud Novidades no DataSnap
DataSnap e Cloud Deep Dive Agenda RAD Cloud Overview DBExpress Novo API Cloud Novidades no DataSnap 1 API Cloud 2 O que é novo no API Cloud? Delphi API for accessing cloud application services from Amazon
Leia maisGrupo I [6,6v] Responda com os valores que se observam depois da chamada acontecer. 1 Falta na mensagem de resposta. Valor retornado na chamada
Número: Nome: Pági 1 de 6 LEIC/LETI 2013/14, Repescagem do 1º Teste de Sistemas Distribuídos, 1/7/14 Responda no enunciado, apes no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I
Leia maisTutorial de Integração PYTHON
Tutorial de Integração PYTHON Sumário Tutorial de Integração - Python... 3 Configurando Envio... 4 Enviando Múltiplos SMS... 5 Enviando Múltiplos SMS a partir de um arquivo CSV... 7 Enviando SMS Individuais...
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
Leia mais5 Caso de estudo O cartão fidelidade
5 Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
Leia maisProjeto de Software Orientado a Objeto
Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software
Leia maisSistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com
Sistemas Operacionais 3º bimestre Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistema de Arquivos (1) Todas as aplicações precisam armazenar e recuperar informações. Considerações sobre os processos: Espaço
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia maisMIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais
RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota
Leia maisJava para Desenvolvimento Web
Java para Desenvolvimento Web Cookies Um nada mais é que um bloco de informação que é enviado do servidor para o navegador no cabeçalho da página. A partir de então, dependendo do tempo de validade do,
Leia maisCurso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Leia maisUtilização do Appia. Tolerância a Faltas Distribuída 2003/04. Nuno Carvalho nunomrc@di.fc.ul.pt
Utilização do Appia Tolerância a Faltas Distribuída 2003/04 Nuno Carvalho nunomrc@di.fc.ul.pt Appia Framework para execução e composição de protocolos. Comunicação efectuada por eventos Entre camadas e
Leia maisObjetos 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 maisComunicação entre Processos
Comunicação entre Processos Comunicação entre Processos - Sistemas Operacionais fornecem mecanismos para comunicação entre processos (IPC), tal como filas de mensagens, semáfaros e memória compartilhada.
Leia maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
Leia maisGuia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Leia maisSistemas 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 maisComo funciona a plataforma Superlógica? - Livro 4 de 4. Como funciona a interface de integração? Como você poderá complementar o sistema?
Como funciona a plataforma Superlógica? - Livro 4 de 4 API SUPERLÓGICA Como funciona a interface de integração? Como você poderá complementar o sistema? www.superlogica.com 0800 709 6800 https://github.com/superlogica/api
Leia maisAndroid e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
Leia maisManipulaçã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 maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets
Leia maisPOO Programação Orientada a Objetos. Classes em Java
+ POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos
Leia maisCapítulo 2. Charm++ 16
2 Charm++ O Charm++ é uma linguagem orientada a objetos para programação paralela baseada em C++ (34). Ela possui uma biblioteca de execução para suporte a computação paralela que se chama Kernel do Charm
Leia maisComo criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
Leia maisOrientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
Leia maisWeb services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.
Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services
Leia maisGrupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação?
Número: Nome: LEIC/LERC 2011/12-2º Exame de Sistemas Operativos 3/Fevereiro/2012 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m Grupo I [4v] 1. [0,6v] A
Leia maisDisciplina de Banco de Dados Parte V
Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após
Leia maisJava 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 maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para
Leia maisAula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.
Aula 04 Operadores e Entrada de Dados Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Operadores: Aritméticos; Atribuição; Concatenação;
Leia maisSMS MANUAL DE UTILIZAÇÃO PLATAFORMA SMS V2.0
SMS MANUAL DE UTILIZAÇÃO PLATAFORMA SMS V2.0 Março/2014 ÍNDICE 1 INTRODUÇÃO... 3 2 CONTA... 4 3 MY ACCOUNT... 6 4 ADDRESS BOOK... 7 5 MANAGE GROUP... 8 6 FORMAS DE ENVIO... 9 6.1 SEND SMS... 9 6.2 BULK
Leia maisProgramaçã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 maisTrabalho 3: Agenda de Tarefas
INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma
Leia maisJ820. Testes de interface Web com. HttpUnit. argonavis.com.br. Helder da Rocha (helder@acm.org)
J820 Testes de interface Web com HttpUnit Helder da Rocha (helder@acm.org) O que é HttpUnit API Java para comunicação com servidores HTTP Permite que programas construam e enviem requisições, e depois
Leia maisECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO
Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETO EM PHP
PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP O PHP através da versão 5, veio desenvolvido com suporte a programação orientada a objetos. O que significa isso? Que a partir da versão 5 é possível criar bibliotecas
Leia maisProgramação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho
Programação para Android Aula 10: Acesso a câmera, sms e recursos do aparelho Objetivos Nesta aula iremos aprender como invocar os recursos do aparelho: Fazer chamadas telefônicas Enviar SMS Utilizar a
Leia maisTipos de Dado Abstrato: Listas, Filas e Pilhas
Tipos de Dado Abstrato: Listas, Filas e Pilhas Estruturas de Dados Prof. Vilson Heck Junior Introdução Tradicionalmente conhecidos como Tipos de Dado Abstrato, são algumas Estruturas de Dados básicas e
Leia maisProgramação com Posix Threads
9 Programação com Posix Threads Revisão: Data: 11-03-2016 Cap. 9 1/6 Programação multi-threaded com Pthreads 9.1. O que é uma thread? Um processo represente a execução pelo sistema operativo dum programa.
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia maisAula 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 maisSistemas de Ficheiros. 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros
Sistemas de Ficheiros 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros Organização de um Sistema Operativo System Call Handler File System 1...
Leia maisRoteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos
Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de
Leia maisProjeto SNGPC para Farmácias e Drogarias
Agência Nacional de Vigilância Sanitária Projeto SNGPC para Farmácias e Drogarias Conexão ao Webservice Manual do Desenvolvedor Versão 2.0.0 Brasília, fevereiro de 2013. Copyright 2012. Agência Nacional
Leia maisEspecializaçã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 maisJava : Comunicação Cliente-Servidor.
Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a
Leia maisAPOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL
1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)
Leia maisRequerimentos e Especificações de Software
1 Requerimentos e Especificações de Software ConfiKeeper Version 2.0, 16-11-2014 by SyncMasters: Carlos Paiva, 2009108909, cpaiva@student.dei.uc.pt Inês Parente, 2012152484, iparente@student.dei.uc.pt
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leia maisIntroduçã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(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 maisRelacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos
Leia maisLicenciatura em Engenharia Informática Exame de Ambientes de Desenvolvimento 9.Fevereiro.2005
Licenciatura em Engenharia Informática Exame de Ambientes de Desenvolvimento 9.Fevereiro.2005 Duração: 2 Horas e 30 min Teste individual, com consulta; Utilize caligrafia legível, distinguindo minúsculas
Leia maisSankhya Print Service. Manual de instalação e uso
Sumário 1 Histórico...4 2 Introdução...5 3 Instalação...6 3.1 Verificando a instalação...11 3.2 Configuração do Sankhya Print Service...11 3.2.1 config.properties...12 3.2.1.1 about.copyright...12 Objetivo...12
Leia maisIntrodução a classes e objetos. 2005 by Pearson Education do Brasil
1 3 Introdução a classes e objetos 2 3.1 Introdução Classes Números de ponto flutuante 3.2 Classes, objetos, métodos e variáveis de instância 3 Classes fornecem um ou mais métodos. Métodos representam
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisGESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)
GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1) MICROSOFT OUTLOOK 2003 - OBJECTIVOS OBJECTIVOS: Enumerar as principais funcionalidades do Outlook; Demonstrar a utilização das ferramentas do correio electrónico;
Leia maisFERRAMENTAS DE EMAIL Usada para visualizar emails (correio eletrônico).
FERRAMENTAS DE EMAIL Usada para visualizar emails (correio eletrônico). CLIENTE DE EMAIL - OUTLOOK (Microsoft Office). - Outlook Express (Windows). - Mozilla Thunderbird (Soft Livre). - Eudora. - IncredMail.
Leia mais1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?
Exercícios sobre Linguagem PHP: 1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? 2) Considere a linguagem de programação PHP e seus operadores. A execução da sentença:
Leia maisCapítulo 4. Packages e interfaces
Capítulo 4. Packages e interfaces 1/17 Índice Indice 4.1 - Package 4.2 - Interface 2/17 Índice 4.1 Package 4.1 - Package 4.2 -- Interface 3/17 4.1 Package Package ou pacote está para o Java como as directorias
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado
Leia mais5 Estudo de caso: utilizando o sistema para requisição de material
61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de
Leia maisTutorial de Integração PHP
Tutorial de Integração PHP Sumário Tutorial de Integração - PHP... 3 Configurando Envio... 4 Enviando Múltiplos SMS... 5 Enviando Múltiplos SMS a partir de um arquivo CSV... 7 Consultando status de SMS
Leia maisLicenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005
Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005
Leia maisCláusula 1.º Objecto. Cláusula 2.º Especificação da prestação
CADERNO DE ENCARGOS CONTRATAÇÃO DE SERVIÇOS DE PARA A IMPLEMENTAÇÃO DE UM PROJECTO DE ARQUIVO DIGITAL DE INFRA-ESTRUTURAS DE IT O presente Caderno de Encargos compreende as cláusulas a incluir no contrato
Leia maisExemplo de Aplicaça o Facebook
HCIM Summer Workshop Guião Hands-on Exemplo de Aplicaça o Facebook 1. Download do Software Development Kit (SDK) O download do SDK do Facebook encontra-se disponível aqui. Depois de fazer o download do
Leia mais