Desenvolvimento de aplicações para a Cloud. Windows Azure

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

Download "Desenvolvimento de aplicações para a Cloud. Windows Azure"

Transcrição

1 Desenvolvimento de aplicações para a Cloud Windows Azure

2 Desenvolvimento de aplicações para a Cloud Blob

3 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 windows.net/[containername]/[blobname] Tamanho Máximo 200GB(block blob)/1tb (page blob) Referência API en-us/library/dd aspx 3 Cátia Vaz 2012

4 Blob Account 4

5 Arquitectura do Serviço Storage 5

6 Limitações e restrições do Blob } As limitações de armazenamento do serviço Blob são as seguintes: } O tamanho máximo de cada block blob é 200GB e cada página } blob é 1TB. Para blobs com tamanho menor ou igual 64MB, o upload necessita apenas de uma operação PUT. O upload de blobs maiores terá de ser realizado como um conjunto de blocos, em que cada bloco não pode ser maior do que 4MB. } O serviço Blob de desenvolvimento suporta apenas blobs com um tamanho máximo de 2GB. 6

7 Arquitectura Blob 7

8 Contentores Blob } É um agrupamento lógico de um conjunto de Blobs } Podem ser públicos ou privados } Restrições nos nomes dos Blobs: } 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. 8

9 Tipos de Blobs } Existem 2 tipos de blobs: } page } block Account Container Blob Block pictures IMG01.jpg IMG02.jpg myaccount V1Block1.wmv videos Video1.wmv V1Block2.wmv 9

10 API REST } A API REST do serviço Blob suporta os serguintes verbos HTTP: } GET, } PUT, } DELETE. } Um request ao serviço inclui: } } verbo HTTP } URI pretendido } Parâmetros de URI } Request headers API REST 10

11 Exemplo Request: GET Response: <?xml version="1.0" encoding="utf-8"?> <EnumerationResults AccountName=" <MaxResults>3</MaxResults> <Containers> <Container> <Name> c00f241-staging</Name> <Url> <LastModified>Sun, 26 Apr :05:44 GMT</LastModified> <Etag>0x8CB94979BAAA0F0</Etag> </Container> <Container> <Name> staging</Name> <Url> <LastModified>Sun, 03 May :50:07 GMT</LastModified> <Etag>0x8CB99C1C3ECE538</Etag> </Container> <Container> <Name> staging</Name> <Url> <LastModified>Sun, 03 May :44:28 GMT</LastModified> <Etag>0x8CB9A14CC091F60</Etag> </Container> </Containers> <NextMarker>/proazurestorage/ staging</NextMarker> </EnumerationResults> 11

12 Storage Client API } Microsoft.WindowsAzure.StorageClient abstrai a interface REST ao fornecer um cliente no topo da API REST Classes Descrição CloudStorageAccount 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. CloudBlobClient CloudBlobContainer CloudBlob Uma classe wrapper para obter as referências dos objectos blob principais. Exemplo de métodos: GetContainerReference() e GetBlobReference(). A classe consiste de operações de contentor, tais como: Create(), Delete(), ListBlobs(), e GetBlobReference(). A class consiste de operações tais como: Create(), Copy(), UploadFromFile(), UploadByteArray(), UploadStream() 12

13 Operações Comuns de um contentor } ListContainers } Create } CreateIfNotExist } Delete } SetMetadata Ver mais: CloudBlobContainer

14 Listar contentores

15 Criar um contentor

16 Eliminar um contentor

17 Uploading de um BLOB

18 Estabelecer as permissões de um container

19 Shared Access Signatures } Permite definir um nível de segurança mais granular para cada utilizador registado numa determinada aplicação } São uma série de parâmetros do URL especificados no URI do recurso para controlar privilégios de acesso aos recursos } As políticas de acesso consistem em: } StartTime } EndTime } Permissions } As políticas de acesso pode ser: } Incluidas nas queries como parâmetros } Aplicadas ao nível do contentor.

20 Exemplo

21 Desenvolvimento de aplicações para a Cloud Queue

22 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 [StorageAccount].queue.core.wind ows.net/[queuename] 8KB (string) t.com/en-us/library/ dd aspx 22

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

24 Arquitectura do serviço Queue 24

25 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

26 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

27 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

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

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

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

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

32 Operações Comuns } ListQueues } GetMessage } AddMessage } Delete } DeleteMessage } Ver mais: CloudQueue

33 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);

34 Obter uma mensagem CloudStorageAccount storageaccount = CloudStorageAccount.Parse( RoleEnvironment.GetConfigurationSettingValue("StorageConnectionSt ring")); CloudQueueClient queueclient = storageaccount.createcloudqueueclient(); CloudQueue queue = queueclient.getqueuereference("myqueue"); CloudQueueMessage Message = queue.getmessage();

35 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);

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

37 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); } 37

38 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); } 38

39 StorageClient API public void AddMessage( string queuename, CloudQueueMessage queuemessage) { CloudQueue q = QueueClient.GetQueueReference(queueName); q.addmessage(queuemessage); }

40 Cenário 1 40

41 Cenário 2 41

42 Cenário 3 42

43 Desenvolvimento de aplicações para a Cloud Tables

44 O serviço Table } Fornece um armazenamento estruturado na cloud. } As tables Windows Azure não são tabelas de bases de dados relacionais, mas seguem um modelo simples e flexível de entidades e propriedades. Esquema URL Tamanho máximo Referência API Account].table.core.windows.ne t/[table Name]?$filter=[Query] Desenhada para terabytes de dados mas cada entidade só poderá ter 1 MB. en-us/library/ dd aspx 44

45 Os conceitos de Table Storage } O serviço de Table do Azure incorpora os seguintes conceitos principais: } Tables } Entities } Properties 45

46 Tables } Uma tabela é um contentor para armazenar dados } Os dados são armazenados nas tabelas como colecção de entidades } Podem existir várias tabelas na conta do serviço de Table } O serviço Table apenas suporte acesso privado. } Para aceder a todas as tables } <http https>://<account name>.table.core.windows.net/tables } Para aceder a uma determinada tabela } <http https>:// <accountname>.table.core.windows.net/ Tables('<table name>') 46

47 Azure Tables Versus Traditional Databases } Dados desnormalizados } Sem esquema } Sem transacções distribuídas 47

48 Correlação com a terminologia das bases de dados Database term Table Row Column Shard/partition Primary key Azure Table service term Table Row Property Partition PartitionKey + RowKey 48

49 Nomes das tables } Restrições nos nomes das Tables: } 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

50 Entidades } As entidade são análogas às linhas numa tabela de uma dase de dados relacional. } Para obter todas as entidades de uma tabela } <http https>://<account name>.table.core.windows.net/<table name>() } As entidades são a unidade de acesso de escrita e leitura. } As entidades têm 3 propriedades especiais: } RowKey } PartitionKey } TimeStamp 50

51 Propriedades } Cada propriedade tem um nome, um tipo e um valor } Os tipos disponíveis são: } String (até 64 KB), } Binary (até 64 KB), } Bool, } DateTime, } GUID, } Int, } Int64, } Double. } Cada entidade pode ter até 255 propriedades } Duas entidades na mesma tabela podem ter diferentes números ou tipos de propriedades 51

52 Conceitos de Table Storage Account sally Table customers winephotos Entity Name = = 256x256,

53 Arquitectura do serviço table 53

54 Propriedades } Uma entidade tem sempre pelo menos 3 propriedades: } PartitionKey, } RowKey, } Timestamp. } PartitionKey e RowKey são do tipo string } Identificam univocamente uma entidade, } Timestamp é uma read-only DateTime 54

55 Como funcionam as tabelas 55

56 Características e Restrições nas entidades e propriedades } As tabelas suportam um esquema flexivel. } Uma entidade pode conter no máximo 255 propriedades. } O tamanho total de uma entidade não pode exceder 1MB. } Timestamp é um valor read-only mantido pelo sistema. } A PartitionKey e o RowKey não podem exceder1kb cada um. } Os nomes das propriedades só podem conter caracteres alfanuméricos e o caracter _ 56

57 ADO. NET Data Services Library } A API do serviço de table fornece um subconjunto da API do serviço de dados ADO.NET } A biblioteca ADO.NET Data Services pode ser utilizada para trabalhar com as tabelas e com as entidades no serviço de tabelas. } Pode-se utilizar um conjunto de LINQ para interagir com as tabelas e com as entidades } Sumário 57

58 Microsoft.WindowsAzure.StorageClient Nome da Classe CloudStorageAccount CloudTableClient TableServiceContext TableServiceEntity CloudTableQuery<TEl ement> 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 wrapper class para interagir com o serviço table. Tem métodos como o CreateTable(), DeleteTable(), GetDataServiceContext() e ListTables(). Herda da classe System.Data.Services.Client.DataServiceContext. Adiciona funcionalidades de autenticação necessária pelo serviço Table Uma classe Abstracta que representa uma entidade numa tabela Representa uma query contra o serviço de table de Windows Azure

59 Criar uma tabela CloudStorageAccount storageaccount = CloudStorageAccount.Parse( RoleEnvironment.GetConfigurationSettingValue( "StorageConnectionString")); CloudTableClient tableclient = storageaccount.createcloudtableclient(); string tablename = "people"; tableclient.createtableifnotexist(tablename);

60 Eliminar uma tabela CloudStorageAccount storageaccount = CloudStorageAccount.Parse( RoleEnvironment.GetConfigurationSettingValue( "StorageConnectionString")); CloudTableClient tableclient = storageaccount.createcloudtableclient(); tableclient.deletetableifexist("people");

61 Exemplo de um tipo entidade public class AzureBookReader : TableServiceEntity { public AzureBookReader() : base() { CreateKeys("NO CITY"); } public AzureBookReader(string readercity) { CreateKeys(readerCity); } //... public DateTime PurchaseDate { get; set; } public DateTime EntryDate{ get; set; } public string Country { get;set;} public string State { get; set; } public string City { get; set; } public string Zip { get; set; } public string PurchaseLocation { get; set; } public string PurchaseType { get; set; } public string ReaderName { get; set; } public string ReaderUrl { get; set; } public string Feedback{ get; set; }

62 Exemplo de um tipo entidade //... private void CreateKeys(string readercity) { EntryDate = DateTime.UtcNow; City = readercity; RowKey = string.format("{0:10}_{1}", DateTime.MaxValue.Ticks - EntryDate.Ticks, Guid.NewGuid()); PartitionKey = EntryDate.ToString("MMddyyyy"); } }

63 Exemplo public class ProAzureReaderDataContext : TableServiceContext { public ProAzureReaderDataContext() : base(null, null) { } public IQueryable<BookAzureReader> BookAzureReader{ get { return this.createquery<bookazurereader>( BookAzureReader");} } public void AddRecord( DateTime purchasedate, string country, string state, string city, string zip, string purchaselocation, string purchasetype, string readername, string readerurl, string feedback) { ProAzureReader pa = new ProAzureReader(city); pa.country = country; pa.feedback = feedback; pa.purchasedate = purchasedate; pa.purchaselocation = purchaselocation; pa.purchasetype = purchasetype; pa.readername = readername; pa.readerurl = readerurl; pa.state = state; pa.zip = zip; this.addobject("bookazurereader", pa); this.savechanges(); }}}

64 Realizar queries } Exemplo de queries que se podem realizar: } Obter todas as entradas adicionadas no próprio dia } Obter todas as entradas por cidade, estado ou país } Obter as Top(n) entradas } Obter as entradas por data de compra Considerando que: private TableServiceContext dcontext; public const string ENTITY_SET= BookAzureReader

65 Obter as entidades adicionadas hoje public IEnumerable<ProAzureReader> Select(){ var results = from g in dcontext.createquery<proazurereader>(entity_set) } where g.partitionkey == DateTime.UtcNow.ToString("MMddyyyy") select g; var r = results.toarray<proazurereader>(); return r;

66 Obter todas as entradas por cidade public IEnumerable<ProAzureReader> SelectByCity(string city){ var results = from g in dcontext.createquery<proazurereader>(entity_set_name) where g.partitionkey == DateTime.UtcNow.ToString("MMddyyyy") && g.city == city select g; var r = results.toarray<proazurereader>(); return r;

67 Seleccionar por data de pagamento public IEnumerable<ProAzureReader> SelectByPurchaseDate(DateTime purchasedate) { var results = from g in dcontext.createquery<proazurereader>(entity_set) where g.purchasedate.equals(purchasedate ) select g; var r = results.toarray<proazurereader>(); return r; }

68 Obter as 10 entidades no topo public IEnumerable<ProAzureReader> SelectTopN(int topnumber){ var results = dcontext.createquery<proazurereader>(entity).take(topnumber); var r = results.toarray<proazurereader>(); return r; }

69 Adicionar e actualizar public void AddProAzureReader(BookAzureReader newitem) { dcontext.addobject(entity_set_name, newitem); dcontext.savechangeswithretries(savechangesoptions.none); } public void UpdateFeedback(string PartitionKey, string RowKey, string feedback){ var results = from g in dcontext.createquery<proazurereader>(entity) where g.partitionkey == PartitionKey && g.rowkey == RowKey select g; var e = results.firstordefault<proazurereader>(); e.feedback = feedback; dcontext.mergeoption = MergeOption.PreserveChanges; dcontext.updateobject(e); dcontext.savechanges();}

70 Desenvolvimento de aplicações para a Cloud Diagnostics

71 Diagnostico } Pode colectar-se dados de diagnostico ao importar o módulo Diagnostics para o modelo do serviço e configurando as fontes dos dados a partir dos quais se recolhem os dados de diagnostico. <?xml version="1.0" encoding="utf- 8"?> <ServiceDefinition name="myhostedservice" xmlns=" ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="webrole1"> <Imports> <Import modulename="diagnostics" /> </Imports> </WebRole> </ServiceDefinition> 71

72 Fontes dos dados coleccionados Fonte dos dados Tipo de roles suportados Windows Azure logs IIS 7.0 logs Windows Azure Diagnostic infrastructure logs Failed Request logs Windows Event logs Performance counters Crash dumps Custom error logs Web e Worker roles Web roles Web e Worker roles Web roles Web e Worker roles Web e Worker roles Web e Worker roles Web e Worker roles 72

73 Formatos de armazenamento Fonte dos dados Windows Azure logs IIS 7.0 logs Windows Azure diagnostics infrastructure logs Failed Request Trace logs Windows Event logs Performance counters Crash dumps Custom error logs Formato de armazenamento Table Blob Table Blob Table Table Blob Blob 73

74 Tables } WadLogsTable } Contem os logs escritos pelo trace listener. } WADDiagnosticInfrastructureLogsTable } Contém informação sobre a monitorização do diagnóstico e mudanças de configuração } WADDirectoriesTable } Contém informação sobre as directorias que o diagnostic monitor está a monitorizar. } Ex: IIS logs, IIS failed request logs, } WADPerformanceCountersTable } Contém informação de performance counters. } WADWindowsEventLogsTable } Contém informação a partir dos logs de Windows Event. 74

75 Windows Azure Logs } Os dados são armazenados como parte dos logs do Windows Azure e por omissão, não são transferidos de forma persistente. } Para permitir transferência para um armazenamento persistente, tem de se configurar a propriedade Logs. } O armazenamento é realizado na tabela WADLogsTable. <system.diagnostics> <trace> <listeners> <add type="microsoft.windowsazure.diagnostics. DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="azurediagnostics"> <filter type="" /> </add> </listeners> </trace> </system.diagnostics> Ou programaticamente: System.Diagnostics.Trace.Listeners.Add( new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener()); 75

76 Configuração programática do Diagnóstico } IIS Failed Request log } Os dados são coleccionados ao adicionar um elemento Tracing ao ficheiro web.config e ao instalar o serviço de tracing role no IIS. } Windows Event log } Os dados são colectados através das propriedades WindowsEventLog e PerformanceCounters da classe DiagnosticMonitorConfiguration. } Crash dump data } É colectado ao utilizar o método EnableCollection da classe CrashDumps. } Custom log data } É colectado ao utilizar as classes DirectoryConfiguration e DirectoryBufferConfiguration. 76

77 Windows Azure Data Storage Container Blobs h?p://<account>.blob.core.windows.net/<container> Account Table En::es h?p://<account>.table.core.windows.net/<table> Queue Messages h?p://<account>.queue.core.windows.net/<queue>

78 Desenvolvimento de aplicações para a Cloud AppServiceBus

79 Enterprise Service Bus } Um enterprise service bus (ESB) é um modelo arquitectural de software utilizado para desenhar e implementar a interacção e a comunicação entre aplicações de software que interagem numa arquitetura orientada aos serviços. } O desenho e a implementação dos ESBs variam nas diferentes organizações. 79

80 APPFabric Service Bus 80

81 Segurança: integração ACS 81

82 Tipo de Autenticação do cliente <binding name="default"> <security relayclientauthenticationtype="none" /> </binding> } Os serviços e os clientes podem escolher autenticar-se por uns dos tipos já configurados: } Saml } SharedSecret } SimpleWebToken } Unauthenticated 82

83 Segurança da mensagem } Refere-se à segurança da mensagem que utiliza o AppFabric Service Bus para chegar ao seu destino. } O AppFabricServiceBus oferece 4 opções para a segurança de mensagens entre clientes e serviços } A enumeração Microsoft.ServiceBus.EndToEndSecurityMode define 4 modos de segurança None Transport Message TransportWithMessageCredential 83

84 Naming Service } O service Bus AppFabric oference um sistema de nomeação DNS-compatible para atribuir um único Internet URIs aos serviços. } O AppFabric Service Bus define um root domain name que pode ser resolvido através de Internet DNS, mas oferece um serviço baseado nos namespaces para nomear a hierarquia sob a raíz. [scheme]://[solution- name].servicebus.windows.net/[name]/[name]/ 84

85 Service Registry } O AppFabric Service Bus fornece um serviço de registo e descoberta para os endpoints do serviço, designado por Service Registry. } O Service Registry oferece uma solução Atom feed para cada solução. class Program{ static void Main(string[] args){ ServiceHost host = new ServiceHost(typeof(MyService)); ServiceRegistrySettings settings = new ServiceRegistrySettings(); settings.discoverymode = DiscoveryType.Public; foreach(serviceendpoint s in host.description.endpoints) s.behaviors.add(settings); host.open(); Console.WriteLine("Press [Enter] to exit"); Console.ReadLine(); host.close(); }} 85

86 Messaging Fabric } O Windows Azure Service Bus fornece duas soluções de messaging: } Relayed Messaging Service Bus } Brokered Messaging Queue Relay Aplicação Aplicação 86

87 Relayed Messaging } O relay service suporta o modelo de comunicação Relayed Messaging. } É uma componente do Service Bus centralizada } Suporta diferentes protocolos de transporte e stardards dos Web Services } Suporta os seguintes tipos de comunicação entre clientes e serviços: } One-Way messaging } Request-Response messaging } Peer to peer messaging } Conecções directas entre clientes e serviços } 87

88 Relayed Message pattern 88

89 Exemplos de App Service Bus Bindings Bindings BasicHttpRelayBinding WebHttpRelayBinding Descrição Utiliza HTTP para o transporte Suporta HTTP, XML... Utilizado normalmente em interfaces REST WSHttpRelayContextBinding Suporta binding de contexto entre o serviço e o relay service. NetTcpRelayBinding Utiliza TCP para o transporte. NetTcpRelayContextBinding Suporta binding de contexto entre o serviço e o relay service. Utiliza TCP para o transporte NetOneWayRelayBinding Suporta mensagens one-way entre o serviço e o relay service. 89

90 Service Bus Relay Service 90

91 Utilização do Service Bus Relay } É necessário: 1. Criar um service namespace } } Fornece um contentor de contexto para endereçar os recursos do Service Bus no contexto da nossa aplicação É realizado no Management Portal 2. Obter as credenciais de gestão para o namespace } São obtidas através do Management Portal 3. Configurar a aplicação para utilizar o Service Bus 4. Criar um Security Token Provider 91

92 Exemplo: IProblemSolver using System.ServiceModel; [ServiceContract(Namespace = "urn:ps")] interface IProblemSolver { [OperationContract] int AddNumbers(int a, int b); } interface IProblemSolverChannel : IProblemSolver, IClientChannel {} class ProblemSolver : IProblemSolver { public int AddNumbers(int a, int b) { return a + b; } } 92

93 System.ServiceModel.ServiceHost ServiceHost sh = new ServiceHost(typeof(ProblemSolver)); sh.addserviceendpoint( typeof (IProblemSolver), new NetTcpBinding(), "net.tcp://localhost:9358/solver ); ServiceEndpoint se= sh.addserviceendpoint( typeof(iproblemsolver), new NetTcpRelayBinding(), ServiceBusEnvironment. CreateServiceUri("sb", "**namespace**", "solver") ); se.behaviors.add(new TransportClientEndpointBehavior { TokenProvider = TokenProvider.CreateSharedSecretTokenProvider("owner", "**key**")} ); sh.open(); Console.WriteLine("Press ENTER to close"); Console.ReadLine(); sh.close(); 93

94 Ou configurando o ficheiro App.config <services> <service name="service.problemsolver"> <endpoint contract="service.iproblemsolver binding="nettcpbinding" address="net.tcp://localhost:9358/solver"/> <endpoint contract="service.iproblemsolver" binding="nettcprelaybinding" address="sb://**namespace**.servicebus.windows.net/solver" behaviorconfiguration="sbtokenprovider"/> </service> </services> <behaviors> <endpointbehaviors> <behavior name="sbtokenprovider"> <transportclientendpointbehavior> <tokenprovider> <sharedsecret issuername="owner" issuersecret="**key**" /> </tokenprovider> </transportclientendpointbehavior> </behavior> </endpointbehaviors> </behaviors> 94

95 Configurar o cliente programaticamente var cf = new ChannelFactory<IProblemSolverChannel>( new NetTcpRelayBinding(), new EndpointAddress(ServiceBusEnvironment. CreateServiceUri("sb", "**namespace**", "solver")) ); cf.endpoint.behaviors.add( new TransportClientEndpointBehavior { TokenProvider = } TokenProvider. CreateSharedSecretTokenProvider("owner","**key**") ); using (var ch = cf.createchannel()) { Console.WriteLine(ch.AddNumbers(4, 5)); } 95

96 Configurar o cliente com ficheiro de configuração <client> <endpoint name="solver" contract="myservice.iproblemsolver" binding="nettcprelaybinding" address="sb://**namespace**.servicebus.windows.net/solver" behaviorconfiguration="sbtokenprovider"/> </client> <behaviors> <endpointbehaviors> <behavior name="sbtokenprovider"> <transportclientendpointbehavior> <tokenprovider> <sharedsecret issuername="owner" issuersecret="**key**" /> </tokenprovider> </transportclientendpointbehavior> </behavior> </endpointbehaviors> </behaviors> 96

97 Brokered Messaging } O modelo de comunicação Brokered Messaging fornece capacidade de comunicação assíncrona ou desacoplada que suportacenários de publish/subscribe, desacoplamento temporal e load balancing. } Existem 3 padrões de messaging para este modelo: } Queues; } Topics/Subscriptions } Rules/Actions 97

98 Service Bus Queues 98

99 Aplicações das Service Bus Queues } Comunicação entre web e worker roles numa aplicação Windows Azure multi-tier } Comunicações entre aplicações que não estejam na cloud e aplicações que estejam alojadas na cloud } Comunicação entre componentes de uma aplicação distribuída que esteja alojada em organizações diferentes. 99

100 Criação de uma Service Bus Queue } Criar uma queue é um processo multi-passo. É necessário 1. Criar um service namespace } } Fornece um contentor de contexto para endereçar os recursos do Service Bus no contexto da nossa aplicação É realizado no Management Portal 2. Obter as credenciais de gestão para o namespace } São obtidas através do Management Portal 3. Configurar a aplicação para utilizar o Service Bus 4. Criar um Security Token Provider 5. Criar uma Queue 100

101 3. Configurar a aplicação para utilizar o Service Bus } Adicionar a referência Microsoft.ServiceBus.dll } Importar os seguintes namespaces: } using Microsoft.ServiceBus } using Microsoft.ServiceBus.Messaging; 101

102 4. Criar um security token provider string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); TokenProvider 102

103 Criar uma queue string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); NameSpaceManager manager= new NameSpaceManager(uri,tP); manager.createqueue( MyQueue ); QueueDescription qd= new QueueDescription( MyQueue ); qd.maxsizeinmegabytes=5120; qd.defaultmessagetimetolive = new TimeSpan(0,1,0): manager.createqueue(qd); 103

104 Enviar mensagem a uma queue string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); MessagingFactory factory = MessagingFactory.Create(uri, tp); MessageSender myqueue = factory.createmessagesender( MyQueue"); for (int i=0; i<5; i++) { } BrokeredMessage message = new BrokeredMessage("Test message " + i); myqueue.send(message); 104

105 Receber mensagens de uma queue string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); MessagingFactory factory = MessagingFactory.Create(uri, tp); MessageReceiver myqueue = factory.createmessagereceiver( MyQueue"); while (true) { BrokeredMessage message = myqueue.receive(); if (message!= null) { try { Console.WriteLine("Body: " + message.getbody<string>()); Console.WriteLine("MessageID: " + message.messageid); message.complete(); } catch (Exception) {message.abandon(); } } } 105

106 Sessões // Create a SessionReceiver to get next available session SessionReceiver sr = myqueue.acceptsessionreceiver(receivemode.peeklock); BrokeredMessage message = sr.receive(); try { ProcessMessage(message); message.complete(); } catch (Exception) { message.abandon(); } 106

107 Windows Azure Queues e Service Bus Queues Critério Windows Azure Queues Service Bus Queues Garantia na ordem Não Sim (FIFO) (através do uso de sessões) Garantia na entrega At-Least-Once At-Least-Once/At-Most-Once Suporte nas transacções Não Sim (utilização de transacções locais) Comportamento de recepção Não bloqueante Bloqueante com ou sem timeout Modo de recepção Peek & Lease Peek & Lock Receive & Delete Modo de acesso exclusivo Lease-Based Lock-Based Duração do Lease/Lock 30 s (omissão) /7 d (máximo) 60 s (omissão) /5 m (máximo) Granularidade do Lease/Lock Ao nível da mensagem Ao nível da queue Recepção em lote 107 Sim (especificar o Message Count) Sim (permitir a propriedade prefetch ou utilizar transacções) Envio em lote Não Sim (com transacções)

108 Windows Azure Queues e Service Bus Queues -Cotas Critério Windows Azure Queues Service Bus Queues Tamanho máximo da mensagem Tamanho máximo da queue TTL da mensagem máximo 7 dias Número máximo de queues 64KB (48KB se é utilizado a codificação Base64) 256KB 100 TB 1,2,3,4 ou 5 GB Ilimitado Ilimitado Número máximo de clientes concorrentes Ilimitado Ilimitado Comparação entre Windows Azure Queues e Service Bus Queues 108

109 Topics/Subscriptions 109

110 Criação de um Service Bus Topic } É necessário 1. Criar um service namespace } } Fornece um contentor de contexto para endereçar os recursos do Service Bus no contexto da nossa aplicação É realizado no Management Portal 2. Obter as credenciais de gestão para o namespace } São obtidas através do Management Portal 3. Configurar a aplicação para utilizar o Service Bus 4. Criar um Security Token Provider 5. Criar um Topic 110

111 Criar um topic string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); NameSpaceManager manager= new NameSpaceManager(uri,tP); manager.createtopic( MyTopic ); TopicDescription td = new TopicDescription("TestTopic"); td.maxsizeinmegabytes = 5120; td.defaultmessagetimetolive = new TimeSpan(0, 1, 0); manager.createtopic(td); 111

112 Criar um subscription string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); NameSpaceManager manager= new NameSpaceManager(uri,tP); manager.createsubscription( MyTopic, AllMessages ); 112

113 Enviar mensagens a um topic string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); MessagingFactory factory = MessagingFactory.Create(uri, tp); MessageSender mytopic = factory.createmessagesender( MyTopic"); for (int i=0; i<5; i++) { } BrokeredMessage message = new BrokeredMessage("Test message " + i); mytopic.send(message); 113

114 Receber mensagens de uma subscrição string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); MessagingFactory factory = MessagingFactory.Create(uri, tp); MessageReceiver mytopic= factory.createmessagereceiver( MyTopic/subscriptions/AllMessages ); while (true) { BrokeredMessage message = myqueue.receive(); if (message!= null) { try { Console.WriteLine("Body: " + message.getbody<string>()); Console.WriteLine("MessageID: " + message.messageid); message.complete(); } catch (Exception) {message.abandon(); } } } 114

115 Eliminar Tópicos e Subscrições string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); NameSpaceManager manager= new NameSpaceManager(uri,tP); manager.deletetopic( MyTopic ); manager.deletesubscription( MyTopic, AllMessages ); 115

116 Rules / Actions } Podem criar subscrições com filtros para restringir que mensagens, enviadas a um determinado tópico, devem surgir no contexto de uma subscrição a esse mesmo tópico } São criados através de Subscription Filters } Os filtros são aplicados sobre as propriedades das mensagens (quer as de aplicação, quer as de sistema) } Filter } FalseFilter sem mensagens } TrueFilter todas as mensagens (por omissão) } SqlFilter sintaxe SQL92 } SqlRuleAction } São compostar por filtros e acções As acções usam sintaxe SQL92 para modificar o conjunto de propriedades de uma subscrição. 116

117 Exemplo string issuer= <obtido do portal> : string key= <obtido do portal> TokenProvider tp= TokenProvider.CreateSharedSecretTokenProvider(issue,key); Uri uri = ServiceBusEnvironment. CreateServiceUri( sb, MyServiceNamespace, string.empty); NameSpaceManager manager= new NameSpaceManager(uri,tP); SqlFilter highmessages = new SqlFilter("MessageNumber > 3"); manager.createsubscription( MyTopic", "HighMessages", highmessages); 117

118 RuleDescription summerrule = new RuleDescription(){ Action = new SqlRuleAction( SET HavingFun = Yes ), Filter = new SqlFilter( Month = June OR Month = July OR [Month] = August ), Name = SummerRule }; TopicDescription topicdescription = manager.createtopic( WeatherTopic ); manager.createsubscription( WeatherTopic, WeatherSubscription, summerrule); 118

Desenvolvimento de aplicações para a Cloud. AppServiceBus

Desenvolvimento de aplicações para a Cloud. AppServiceBus Desenvolvimento de aplicações para a Cloud AppServiceBus Enterprise Service Bus Um enterprise service bus (ESB) é um modelo arquitectural de software utilizado para desenhar e implementar a interacçã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

Desenvolvimento de aplicações para a Cloud. Blob

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

Desenvolvimento de aplicações para a Cloud. Introdução

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

Microsoft S+S Day Data: 09 de dezembro de 2008

Microsoft S+S Day Data: 09 de dezembro de 2008 Microsoft S+S Day Data: 09 de dezembro de 2008 Otavio Pecego Coelho Arquiteto de Soluções Microsoft Brasil http://blogs.msdn.com/otavio Expandir para nova localidade Upgrade ao vivo de novas funcionalidades

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

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

JPA: Persistência padronizada em Java

JPA: Persistência padronizada em Java JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Computação Orientada aos Serviços. WCF Semestre de Inverno 11/12 (Parte 1)

Computação Orientada aos Serviços. WCF Semestre de Inverno 11/12 (Parte 1) Computação Orientada aos Serviços WCF Semestre de Inverno 11/12 (Parte 1) WCF O Windows Communication Foundation (WCF) é uma application programming interface (API) na.net Framework para construir aplicações

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

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

COLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE. Rui Ribeiro colibri@fccn.pt. FCCN - Dezembro 2010

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

30/11/2011. DataSnap e Cloud. Deep Dive. Agenda. RAD Cloud Overview DBExpress Novo API Cloud Novidades no DataSnap

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

PROGRAMAÇÃ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 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 mais

PROGRAMAÇÃ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 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 mais

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.

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

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

Criar uma aplicação JPA2 com EclipseLink e H2

Criar uma aplicação JPA2 com EclipseLink e H2 Criar uma aplicação JPA2 com EclipseLink e H2 1) Criar uma aplicação Java no NetBeans. File > New Project > Java, Java Application > Project name: JPA2 Finish. 2) Acrescentar ao Projeto NetBeans a biblioteca

Leia mais

Manual do GesFiliais

Manual do GesFiliais Manual do GesFiliais Introdução... 3 Arquitectura e Interligação dos elementos do sistema... 4 Configuração do GesPOS Back-Office... 7 Utilização do GesFiliais... 12 Outros modos de utilização do GesFiliais...

Leia mais

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem num conjunto de apontadores para instâncias especificas de cada relação. Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de

Leia mais

Trabalho Prático Nº1 Introdução ao C#.NET

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

UNIVERSIDADE. Sistemas Distribuídos

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

UNIVERSIDADE CATÓLICA PORTUGUESA

UNIVERSIDADE CATÓLICA PORTUGUESA UNIVERSIDADE CATÓLICA PORTUGUESA WebShare Serviço de partilha de ficheiros via WebDAV versão: 2.0.3 Nelson Rodrigues Direcção de Sistemas de Informação 28-10-2010 ÍNDICE: Introdução... 3 Requisitos...

Leia mais

Construindo portais com Plone

Construindo portais com Plone Construindo portais com Plone Módulo 9 Dexterity Dexterity TTW Módulo 9 Dexterity Dexterity >> O que é? Framework para incorporação de tipos de dados ao Plone. Sucessor do Archetypes. Mais rápido, modular

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010

Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010 Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010 A Manutenção do Serviço a Pedido ( On Demand ) da CA consiste numa infra-estrutura de disponibilidade

Leia mais

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações Sistemas Multimédia Arquitectura Protocolar Simples Modelo OSI TCP/IP Redes e Comunicações Francisco Maia famaia@gmail.com Já estudado... Motivação Breve História Conceitos Básicos Tipos de Redes Componentes

Leia mais

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira MICROSOFT ACCESS MICROSOFT ACCESS Professor Rafael Vieira Professor Rafael Vieira - Access - Programa de base de dados relacional funciona em Windows Elementos de uma Base de Dados: Tabelas Consultas Formulários

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

SIMA. Sistema Integrado de Monitorização, Controlo e Alarme

SIMA. Sistema Integrado de Monitorização, Controlo e Alarme SIMA Sistema Integrado de Monitorização, Controlo e Alarme Sistema Integrado de Monitorização Controlo e Alarme Plataforma aberta e modular de monitorização e controlo de equipamentos e plataformas de

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Manual Gespos SMS. (ultima revisão 20 Fev. 2003)

Manual Gespos SMS. (ultima revisão 20 Fev. 2003) Manual Gespos SMS (ultima revisão 20 Fev. 2003) Prezado Utilizador, É objectivo deste manual servir de ferramenta de formação para que o utilizador dos aplicativos Escripóvoa, possa de uma forma simples

Leia mais

Introdução à aplicação Web

Introdução à aplicação Web Introdução à aplicação Web A aplicação Web SanDisk +Cloud é uma interface com base na Web para aceder ao seu conteúdo e gerir a sua conta. Com a aplicação Web poderá reproduzir música, ver filmes, ver

Leia mais

Sistemas Empresariais Integrados

Sistemas Empresariais Integrados Departamento de Engenharia Informática 2010/2011 Sistemas Empresariais Integrados Tutorial do Adaptador SQL 2º semestre Considere uma base de dados com uma tabela account que guarda o número de conta,

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

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

Desenvolvimento Cliente-Servidor 1

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

Leia mais

Manual de Instruções para a Criação de Ficheiros CSR. Microsoft IIS 5/6

Manual de Instruções para a Criação de Ficheiros CSR. Microsoft IIS 5/6 Manual de Instruções para a Criação de Ficheiros CSR Página 1 de 8 CONTROLO DOCUMENTAL REGISTO DE MODIFICAÇÕES Versão Data Motivo da Modificação PREPARADO REVISTO APROVADO ACEITE DUS/RS DISTRIBUIÇÃO DO

Leia mais

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Estendida (Física) Versão: 1.0. Autor: Angelo Bestetti Junior

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Estendida (Física) Versão: 1.0. Autor: Angelo Bestetti Junior Manual de Integração Tecnologia: WebServices SOAP XML Área: CDC Produto: CDC Estendida (Física) Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2 Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo

Leia mais

Agentes Inteligentes segundo o Chimera

Agentes Inteligentes segundo o Chimera Agentes Inteligentes segundo o Chimera C Heuristic I M E R A No ambiente de desenvolvimento de Agentes Inteligentes Chimera, uma extensão do LPA Win-Prolog, um agente é funcionalmente composto por: Código,

Leia mais

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior Manual de Integração Tecnologia: WebServices SOAP XML Área: CDC Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...

Leia mais

Universidade da Beira Interior

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

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2 REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2 Avaliação sumária da matéria do Capítulo 2 Pergunta: 1 A figura (ver Anexo) ilustra três diagramas de mensagens referentes a pedidos que clientes

Leia mais

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

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

JDBC. Prof. Márcio Bueno (poonoite@marciobueno.com)

JDBC. Prof. Márcio Bueno (poonoite@marciobueno.com) JDBC Prof. Márcio Bueno (poonoite@marciobueno.com) JBDC Java Database Connectivity ou JDBC é um conjunto de classes e interfaces (API) escritas em Java que faz o envio de instruções SQL para qualquer banco

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

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com REST Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com 1 RESTful REpresentation State Transfer Estilo de arquitetura de software para sistemas distribuídos Termo proposto por Roy Fielding

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

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1 TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1 FABIO HAIDER 2008 C O N T E Ú D O : 1 HTTP Client...3 1.1 Arquitetura...3 1.2 Usando HTTP Client...3 1.2.1 Usuário...3 1.2.2 Implementação HTTP

Leia mais

Manual técnico. v2.2 2015/10

Manual técnico. v2.2 2015/10 Manual técnico v2.2 2015/10 Índice 1. INTRODUÇÃO... 3 2. DESCRIÇÃO... 3 3. INTEGRAÇÃO DO SISTEMA... 4 3.1 DESCRIÇÃO... 4 3.2 INTEGRAÇÃO... 5 3.2.1. Geração de referências... 5 getreferencemb...5 getreferencemb2...7

Leia mais

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de Capítulo 1: Introdução Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de Transacções Gestão de Armazenamento

Leia mais

Requisitos para a Federação de um serviço web. Serviço Utilizador RCTS Janeiro de 2010

Requisitos para a Federação de um serviço web. Serviço Utilizador RCTS Janeiro de 2010 Requisitos para a Federação de um serviço web Serviço Utilizador RCTS Janeiro de 2010 15 de Janeiro de 2010 Requisitos para a Federação de um serviço web Serviço Utilizador RCTS Janeiro de 2010 EXT/2010/Serviço

Leia mais

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de

Leia mais

Persistência de Dados

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

Computação Móvel 2007/2008

Computação Móvel 2007/2008 Computação Móvel 2007/2008 Tutorial 2 Criação de uma nova publicação de base de dados no SQL Server 2005 Standard Edition / Enterprise Edition / Developer Edition No computador cliente: 1. Estabelecer

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Capítulo 4. Packages e interfaces

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

01.00 CDNs Introdução

01.00 CDNs Introdução 01.00 CDNs Introdução Redes de Distribuição de Conteúdos Introdução A Web surgiu enquanto forma de partilha de conteúdos e serviços Aumento de utilizadores e conteúdos, aumenta a necessidade de largura

Leia mais

Participar na Europeana: Requisitos Técnicos

Participar na Europeana: Requisitos Técnicos Participar na Europeana: Requisitos Técnicos Nuno Freire Biblioteca Nacional de Portugal nuno.freire@bnportugal.pt Agenda Participar na Europeana requisitos técnicos Objectos digitais, formatos de dados,

Leia mais

Encapsulamento de Dados

Encapsulamento de Dados Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL OBJECTIVOS Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL O objecto DOCMD Este objecto permite o acesso a todas as operações sobre todos os objectos

Leia mais

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

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/victor.tecnologo@gmail.com www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade

Leia mais

Fault Tolerance Middleware for Cloud Computing

Fault Tolerance Middleware for Cloud Computing Fault Tolerance Middleware for Cloud Computing W. Zhao & P. Melliar-Smith & L. Moser Sistemas Distribuídos e Tolerância a Falhas Ivan Pires m3797 Gilberto Melfe m4088 Introdução A cloud computing tem por

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

Programação Orientada a Objetos JDBC Java Database Connectivity

Programação Orientada a Objetos JDBC Java Database Connectivity Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java

Leia mais

API REST Alimentação/Retorno

API REST Alimentação/Retorno Desenvolvedores API REST Alimentação/Retorno Versão 1.2.2 (18/06/2015) Vonix Av. Dr. Paulo Machado, 489 Campo Grande MS 79021-300 T 67 33180700 F 67 33180701 contato@vonix.com.br www.vonix.com.br Funcionamento

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

Leia mais

Serviços Web: Arquitetura

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

Leia mais

Exemplo de Aplicaça o Facebook

Exemplo 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

Profº. Enrique Pimentel Leite de Oliveira

Profº. Enrique Pimentel Leite de Oliveira Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam

Leia mais

Linguagem SQL (Parte I)

Linguagem SQL (Parte I) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte I) Introdução

Leia mais

Grupo I [6,6v] Responda com os valores que se observam depois da chamada acontecer. 1 Falta na mensagem de resposta. Valor retornado na chamada

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

Cláusula 1.º Objecto. Cláusula 2.º Especificação da prestação

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

INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008

INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008 INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008 Objetivo Esse artigo tem como objetivo demonstrar como instalar e configurar o Active Directory no Windows Server 2008. Será também apresentado

Leia mais

CURSO PRÁTICO. Módulo 2 Pré-requisitos. Application Virtualization 5.0. Nível: Básico / Intermediário

CURSO PRÁTICO. Módulo 2 Pré-requisitos. Application Virtualization 5.0. Nível: Básico / Intermediário CURSO PRÁTICO Application Virtualization 5.0 Nível: Básico / Intermediário Módulo 2 Pré-requisitos Índice Configurações Suportadas... 3 Management Server... 3 Publishing Server... 3 Reporting Server...

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência

Leia mais

ZS Rest. Manual Avançado. Ementas : Email e SMS. v2011

ZS Rest. Manual Avançado. Ementas : Email e SMS. v2011 Manual Avançado Ementas : Email e SMS v2011 1. Índice 2. INTRODUÇÃO... 2 3. INICIAR O ZSRest FrontOffice... 3 1 4. CONFIGURAÇÃO INICIAL... 4 b) Configurar E-Mail... 4 c) Configurar SMS... 5 i. Configurar

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

Guia de Fatores de Qualidade de OO e Java

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

Apostila Delphi V 1.0

Apostila Delphi V 1.0 Preço: R$ 5,00 Link de download: setup.exe Tipo da licença: demonstração Limitações: perrmite visualizar até a página 12. Exige cadastro on-line para solicitar chave de registro. 1 / 7 Apostila completa

Leia mais

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A Módulo 18 Ferramentas de Desenvolvimento de Páginas Web Criar uma relação mestre-detalhe 1. Cria uma cópia da página «listaferram.php»

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Integrando Java com Banco de Dados

Integrando Java com Banco de Dados Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java

Leia mais

Middleware de Aplicações Paralelas/Distribuídas

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

Configurando o IIS no Server 2003

Configurando o IIS no Server 2003 2003 Ser ver Enterprise Objetivo Ao término, você será capaz de: 1. Instalar e configurar um site usando o IIS 6.0 Configurando o IIS no Server 2003 Instalando e configurando o IIS 6.0 O IIS 6 é o aplicativo

Leia mais

EAI Manual do Administrador

EAI Manual do Administrador EAI Manual do Administrador 1 Definição de Host Application O que é um Host Application? Significa Aplicativo Hospedeiro, é o nome dado ao ambiente EAI que estará executando no seu computador ou em um

Leia mais