Desenvolvendo aplicações multi-tenancy para computação em núvem
|
|
- Derek Aldeia Caminha
- 8 Há anos
- Visualizações:
Transcrição
1 Capítulo 6 Desenvolvendo aplicações multi-tenancy para computação em núvem Josino Rodrigues Neto, Vinícius Cardozo Garcia e Wilton dos Santos Oliveira Abstract This course focuses on presenting the main concepts of multi-tenancy and use a practical approach to demonstrate the implementation of an application based on a multi-tenancy architecture. Thus, this chapter presents the definitions and key characteristics of cloud computing, SaaS service model and a multi-tenancy approach for SaaS. Resumo Este minicurso tem como foco principal apresentar os principais conceitos de multitenancy e utilizar uma abordagem prática para demonstrar a implementação de uma aplicação baseada em uma arquitetura multi-tenancy. Assim, este capítulo apresenta as definições e as características essenciais da computação em nuvem, o modelos de serviço SaaS e uma abordagem multi-tenancy para SaaS. 6.1 Introdução Com o ritmo de desenvolvimento da sociedade humana moderna, serviços básicos e essenciais são quase todos entregues de uma forma completamente transparente. Serviços de utilidade pública como água, eletricidade e telefone tornaram-se fundamentais para nossa vida diária e são explorados através de um modelo de pagamento baseado no uso. As infraestruturas existentes permitem entregar os serviços em qualquer lugar e a qualquer hora, de forma que possamos simplesmente acender a luz, abrir a torneira ou fazer uma ligação para qualquer lugar. O uso desses serviços é cobrado de acordo com as diferentes políticas para o usuário final. A mesma idéia de 124
2 utilidade tem sido aplicada na área da informática e uma mudança consistente neste sentido tem sido feita com a disseminação da computação em nuvem. Segundo o NIST, Cloud Computing(Computação em núvem) é composta por cinco características essenciais: self-service sob demanda; amplo acesso a rede; pooling de recursos; elasticidade rápida. Ainda segundo o NIST, Cloud Computing é dividido em três modelos de serviço: Software como serviço (SaaS); Plataforma como serviço (PaaS); Infraestrutura como Serviço (IaaS). Nesse contexto, este minicurso tem como foco principal apresentar os principais conceitos de multi-tenancy e utilizar uma abordagem prática para demonstrar a implementação de uma aplicação baseada em uma arquitetura multi-tenancy. Assim, este capítulo apresenta as definições e as características essenciais da computação em nuvem, o modelos de serviço SaaS e uma abordagem multi-tenancy para SaaS. Este capítulo está organizado no seguinte formato: A seção 1.2apresenta os conceitos fundamentais de cloud computing, Software como serviço e Multi-tenancy. A seção 1.3 apresenta os componentes de uma arquitetura multi-tenancy. A seção 1.4 apresenta o passo a passo para a implementação de um protótipo de aplicação multi-tenancy com Grails. Finalmente, a seção 1.5 apresenta as conclusões finais. 6.2 Conceitos Fundamentais Cloud Computing Na computação em nuvem os recursos de TI são fornecidos como um serviço, permitindo aos usuários o acessa-los sem a necessidade de conhecimento sobre a tecnologia utilizada. Assim, os usuários e as empresas passaram a acessar os serviços sob demanda e independente de localização, o que aumentou a quantidade de serviços disponíveis. Computação em nuvem pretende ser global e prover serviços para todos, desde o usuário final que hospeda seus documentos pessoais na Internet até empresas que terceirizarão toda a parte de TI para outras empresas. Mas o que é Cloud Computing? Segundo Taurion o termo computação em nuvem surgiu em 2006 em uma palestra de Eric Schmidt, da Google, sobre como sua empresa gerenciava seus data centers. Hoje, computação em nuvem, se apresenta como o cerne de um movimento de profundas transformações do mundo da tecnologia (TAURION, 2009). Segundo o NIST(National Institute of Standards and Technology), Cloud Computing é composta por cinco características essenciais: 125
3 Self-service sob demanda: O usuário pode adquirir unilateralmente recurso computacional, como tempo de processamento no servidor ou armazenamento na rede na medida em que necessite e sem precisar de interação humana com os provedores de cada serviço. Amplo acesso a rede: recursos estão disponíveis através da rede e acessados por meio de mecanismos que promovam o padrão utilizado por plataformas heterogêneas (por exemplo, telefones celulares, laptops e PDAs). Pooling de recursos: o provedor de recursos de computação são agrupados para atender vários consumidores através de um modelo multi-tenant, com diferentes recursos físicos e virtuais atribuídos dinamicamente e novamente de acordo com a demanda do consumidor. Há um senso de independência local em que o cliente geralmente não tem nenhum controle ou conhecimento sobre a localização exata dos recursos disponibilizados, mas pode ser capaz de especificar o local em um nível maior de abstração (por exemplo, país, estado ou data center). Exemplos de recursos incluem o armazenamento, processamento, memória, largura de banda de rede e máquinas virtuais. Elasticidade rápida: recursos podem ser adquiridos de forma rápida e elástica, em alguns casos automaticamente, caso haja a necessidade de escalar com o aumento da demanda, e liberados, na retração dessa demanda. Para os usuários, os recursos disponíveis para uso parecem ser ilimitados e podem ser adquiridos em qualquer quantidade e a qualquer momento. Serviço medido: sistemas em nuvem automaticamente controlam e otimizam a utilização dos recursos, alavancando a capacidade de medição em algum nível de abstração adequado para o tipo de serviço (por exemplo, armazenamento, processamento, largura de banda, e contas de usuários ativos). Uso de recursos pode ser monitorado, controlado e relatado a existência de transparência para o fornecedor e o consumidor do serviço utilizado. Ainda segundo o NIST, Cloud Computing é dividido em três modelos de serviço: Software como Serviço (Software as a Service - SaaS): A capacidade fornecida ao consumidor é usar as aplicações do fornecedor que funcionam em uma infraestrutura da nuvem. As aplicações são acessíveis dos vários dispositivos do cliente através de uma relação do thin client tal como um browser web. O consumidor não administra ou controla a infraestrutura básica, incluindo nuvens de rede, servidores, sistemas operacionais, armazenamento, ou mesmo capacidades de aplicação individual, com a possível exceção de limitada aplicação específica e definições de configuração de usuários da aplicação. Plataforma como Serviço (Plataform as a Service - PaaS): A capacidade fornecida ao consumidor é desdobrar na nuvem a infraestrutura consumidor criada ou as aplicações adquiridas criadas usando linguagens de programação e as ferramentas suportadas pelo fornecedor. O consumidor não administrar ou 126
4 controlar a infraestrutura básica, incluindo nuvens de rede, servidores, sistemas operacionais, ou armazenamento, mas tem controle sobre os aplicativos utilizados e eventualmente hospedagem de aplicativos e configurações de ambiente. Infraestrutura como Serviço (Infraestructure as a Service - IaaS) : A capacidade prevista para o consumidor é a prestação de transformação, armazenamento, redes e outros recursos computacionais fundamental que o consumidor seja capaz de implantar e executar programas arbitrários, que podem incluir sistemas operacionais e aplicativos. O consumidor não administra ou controla a infraestrutura de nuvem subjacente, mas tem controle sobre os sistemas operacionais, armazenamento, aplicativos implantados, e, eventualmente, o controle limitado de componentes de rede selecionar (por exemplo, firewalls host). Esse trabalho não pretende abordar exaustivamente todos os modelos de serviço de Cloud Computing, esse trabalho tem como foco principal SaaS, especificamente a aplicação da arquitetura multi-tenancy Software como Serviço(SaaS) Por décadas, as companhias utilizavam seu software em sua própria infraestrutura e eram responsáveis por todas as atividades de manutenção, integridade, escalabilidade, disponibilidade e uma série de encargos relacionados ao gerenciamento de TI na empresa. Além de custos relacionados à compra de licenças e atualizações, as empresas tinham que adequar sua infraestrutura e contratar pessoas especializadas para as atividades de gerenciamento. Foi nesse contexto que surgiu o conceito de SaaS. Neste modelo, a funcionalidade da aplicação é oferecida através de um modelo de assinatura pela Internet. O cliente não se torna dono do software, ao invés disso, ele aluga a solução total que é oferecida remotamente. Podemos dividir as aplicações de software como serviço em duas categorias (CHONG e CARRARO, 2006): Serviços para linha de negócios (line-of-business): oferecidos a empresas e organizações de todos os tamanhos. Os serviços de linha de negócios geralmente são soluções de negócios grandes e personalizáveis direcionadas para facilitar processos de negócios como finanças, gerenciamento da cadeia de suprimentos e relações com o cliente. Normalmente esses serviços são vendidos aos clientes como assinatura. Um exemplo desse tipo de serviço são as soluções personalizáveis do Salesforce (SALESFORCE, 2000). Serviços orientados ao consumidor: oferecidos ao público em geral. Os serviços orientados a cliente às vezes são vendidos como assinatura, mas geralmente são fornecidos sem custo e financiados por anúncios. Um outro 127
5 exemplo desse tipo de serviço são os serviços oferecidos pelo Google(Gmail, Google docs, Google Agenda, etc). Apesar do conceito de SaaS não ser uma coisa nova, esse conceito ganhou força somente por volta de 2005 e 2006 com o surgimento e viabilidade de uso de novas tecnologias como web 2.0, rich internet application(ria), SOA, cloud computing, virtualização, etc. Implementar o conceito de SaaS nem sempre é tão simples como parece. Chong (CHONG e CARRARO, 2006) propõe 4 níveis de maturidade para aplicações que utilizam o modelo de SaaS: Figura Níveis de Maturidade SaaS (CHONG e CARRARO, 2006) Nível 1 Ad-Hoc/Personalizado: O primeiro nível de maturidade é semelhante ao modelo de entrega de software do provedor de serviços de aplicativos (ASP) tradicional, que data da década de Nesse nível, cada cliente tem a sua própria versão personalizada do aplicativo hospedado e executa a sua própria instância do aplicativo nos servidores do host. Pensando em arquitetura, software nesse nível de maturidade é muito semelhante ao software de linha de negócios vendido tradicionalmente, em que diferentes clientes em uma organização conectam a uma instância única em execução no servidor, mas essa instância é totalmente independente de quaisquer outras instâncias ou processos que o host esteja executando para os seus outros clientes. Nível 2 Configurável: No segundo nível de maturidade, o fornecedor hospeda uma instância separada do aplicativo para cada inquilino enquanto que no 128
6 primeiro nível cada instância é personalizada individualmente para o inquilino, neste nível todas as instâncias utilizam a mesma implementação de código e o fornecedor atende as necessidades dos clientes fornecendo opções de configuração detalhadas que permitem ao cliente alterar a aparência e o comportamento do aplicativo para os seus usuários. Apesar de serem idênticas umas às outras no nível do código, cada instância permanece totalmente isolada de todas as demais. Nível 3 Configurável e eficiente para vários tenants: No terceiro nível de maturidade, o fornecedor executa uma única instância que serve a todos os clientes, com metadados configuráveis fornecendo uma experiência de usuário e conjunto de recursos exclusivos para cada um. Políticas de autorização e de segurança garantem que os dados de cada cliente sejam mantidos separados dos de outros clientes e que, da perspectiva do usuário final, não exista qualquer indicação de que a instância do aplicativo esteja sendo compartilhada entre vários tenants. Nível 4 Escalonável, configurável e eficiente para vários tenants: No quarto e último nível de maturidade, o fornecedor hospeda vários clientes em um ambiente com carga balanceada de instâncias idênticas, com os dados de cada cliente mantidos separados e com metadados configuráveis fornecendo uma experiência do usuário e um conjunto de recursos exclusivos para cada cliente. Um sistema de SaaS é escalonável para um número de clientes arbitrariamente grande, uma vez que a quantidade de servidores e instâncias no lado do fornecedor pode ser aumentada ou diminuída conforme necessário para corresponder à demanda sem a necessidade de remodelar a arquitetura aplicativo, além do que as alterações ou correções podem ser transmitidas para milhares de tenants tão facilmente quanto para um único tenant. Normalmente se esperaria que o quarto nível fosse a meta definitiva para qualquer aplicativo de SaaS, mas não é sempre assim. É necessário verificar as necessidades operacionais, arquiteturais e de negócio relacionadas à aplicação. Uma abordagem single-tenant faz sentido financeiramente? O seu aplicativo pode ser feito para executar em uma única instância lógica? Você pode garantir os seus contratos de nível de serviço (SLAs) sem isolamento das aplicações? Essas são questões que devem ser respondidas quando se pretende adotar o modelo SaaS Multi-tenancy Multi-tenancy é uma abordagem organizacional para aplicações SaaS. Bezemer (BEZEMER e ZAIDMAN, 2010) define multi-tenancy como aplicações que permitem o compartilhamento dos mesmos recursos de hardware, através do compartilhamento da aplicação e da instância do banco de dados, enquanto permite configurar a aplicação para atender às necessidades do cliente como se estivesse executando em um ambiente dedicado. Tenant é uma entidade organizacional que aluga uma aplicação multi-tenancy. Normalmente, um tenant agrupa um número de usuários que são os stakeholders da organização. 129
7 A definição acima foca no que nós consideramos aspectos em aplicações multi-tenancy: Possibilidade de compartilhamento de recursos de hardware, permitindo a redução de custos (HU WANG, JIE GUO, et al., 2008) (WARFIELD, 2007). Alto grau de configurabilidade, permitindo que cada consumidor customize sua própria interface e seu workflow na aplicação (NITU, 2009)(JANSEN, HOUBEN e BRINKKEMPER, 2010). Uma abordagem arquitetural na qual os tenants fazem uso de uma única aplicação e banco de dados (KWOK, NGUYEN e LAM, 2008). Como multi-tenancy é um conceito relativamente novo, é muito comum as pessoas confundirem multi-tenancy com outros conceitos já existentes. Multi-tenancy não é multi-usuário. Em uma aplicação multi-usuário nós assumimos que os usuários estão usando a mesma aplicação com opções de acesso limitadas. Em uma aplicação multi-tenancy nós assumimos que os tenants tem um algo grau de configuração, dependendo da definição dessas configurações, dois tenants pode possuir aparência e workflows diferentes. Um argumento adicional para essa distinção é que o SLA(Service Level Agreement) para cada tenant pode ser diferente (LIN, SUN, et al., 2009). Outra abordagem que contrasta com multi-tenancy é a abordagem multiinstance. Com o aumento da popularidade de das tecnologias de virtualização e de cloud Computing, multi-instance é a forma fácil de criar aplicações parecidas com multitenancy. É necessário apenas criar uma imagem de maquina virtual com a aplicação préconfigurada e, logo em seguida criar instâncias apartir dessa imagem. A abordagem multi-instance é uma melhor abordagem quando o número de tenants for pequeno (JIE GUO, SUN, et al., 2007) Arquitetura Multi-tenancy Nesse minicurso iremos tomar como base a arquitetura apresentada na Figura 6.2. Aqui vemos que multi-tenancy afeta quase todas as camadas de uma aplicação típica, e como tal, possui um grande potencial para se tornar um interesse transversal. Para manter o impacto sobre o código (complexidade), as implementações de componentes multitenancy devem ser separadas da lógica dos tenants o tanto quanto possível. Caso contrário, a manutenção pode se tornar um pesadelo, porque: Implementar código de requisitos da arquitetura multi-tenancy juntamente com a lógica de negócio dos tenants em todas as camadas de aplicação, o que exige que todos os desenvolvedores sejam reeducados sobre multi-tenancy; Misturar multi-tenancy com código de tenants leva ao aumento da complexidade do código, pois é mais difícil manter o controle de onde o código multi-tenancy é introduzido. Estes dos problemas podem ser superados integrando cuidadosamente multi-tenancy na arquitetura. No restante desta seção, descrevemos os componentes da arquitetura 130
8 abordada por Bezemer (BEZEMER e ZAIDMAN, 2010) para implementação de multitenancy como um interesse transversal. A. Autenticação Pelo motivo de uma aplicação multi-tenant ter apenas uma aplicação e instancia de banco de dados, todos os tenants usam o mesmo ambiente físico. A fim de ser capaz de oferecer customização do ambiente e ter certeza de que os tenants podem acessar somente os seus próprios dados, tenants devem ser autenticados. Enquanto autenticação de usuário é, possivelmente, já presente na aplicação de destino, um mecanismo separado de autenticação de tenants específicos pode ser necessário, por duas razões: (1) geralmente é muito mais fácil introduzir um mecanismo de autenticação adicional, do que mudar um já existente, e (2) autenticação de tenants permite que um único usuário faça parte de mais do que uma organização lógica, o que estende a idéia de autenticação de usuários com grupos. B. Configuração Em uma aplicação multi-tenancy a customização deve ser possível através de configuração. A fim de permitir que o usuário tenha uma experiência como se ele estivesse trabalhando em um ambiente dedicado, é necessário permitir pelo menos os tipos de configuração seguintes: Estilo de Layout(Layout Style) O componente de configuração de estilo de layout permite o uso de temas e estilos específicos. Configuração Geral (General Configuration) O componente de configuração geral permite a especificação de configurações específicas, como configurações de chave de criptografia e detalhes do perfil pessoal. Entrada e saída de arquivo (File I/O) O componente de configuração de I/O de arquivo permite a especificação de caminhos de arquivos, que podem ser usados para, por exemplo, geração de relatório. Fluxo de trabalho (Workflow) O componente de configuração de fluxo de trabalho permite a configuração de fluxos específicos. Por exemplo, configuração de fluxos é necessária em uma aplicação de planejamento de recursos empresariais ERP, em que o fluxo de requisições pode variar significativamente para diferentes companhias. C. Banco de dados (Database) Em uma aplicação multi-tenancy há uma grande exigência para o isolamento dos dados. Porque todos os tenants usam a mesma instância de um banco de dados é necessário ter certeza de que eles podem acessar somente seus próprios dados. Atualmente sistemas de gerenciamento de dados (Data Base Management Systems DBMS) de prateleira não são capazes de lidar com multi-tenancy, isso deve ser feito em uma camada entre a 131
9 camada lógica de negócios e o pool de banco de dados de aplicações. As principais tarefas dessa camada são as seguintes: Criação de novos tenants no banco de dados Se a aplicação armazena ou recupera dados que podem ser de tenants específicos, é tarefa da camada de banco de dados criar os registros do banco de dados correspondente quando um novo tenant se inscreveu para a aplicação. Adaptação de consulta A fim de prover um isolamento de dados adequado, a camada de banco de dados deve ter certeza que consultas são ajustadas de forma que cada tenant possa acessar somente seus próprios registros. Balanço de carga Para melhorar o desempenho de uma aplicação multi-tenancy é necessário um balanceamento de carga eficiente para o pool de banco de dados. Note que qualquer acordo feito no SLA de um tenant e quaisquer restrições impostas pela legislação do país onde o tenant está localizado deve ser satisfeita. Além disso, a aplicação pode ter requisitos de onde os dados de um tenant estão sendo armazenados, por exemplo, para a geração de relatórios. Estes requisitos dificultam o uso de algoritmos de balanceamento de carga existentes. Por outro lado, nossa expectativa é a de que é possível criar algoritmos de balanceamento de carga mais eficientes usando as informações que possuímos sobre os tenants. Figura 6.2- Arquitetura Multi-tenancy (BEZEMER e ZAIDMAN, 2010) 132
10 6.1.4 Implementando um protótipo de aplicação multi-tenancy com Grails Introdução ao Framework Grails Para implementar um protótipo que demonstre a aplicabilidade da arquitetura multitenancy será utilizado o framework Grails. O Grails é um framework web open-source que utiliza a linguagem Groovy, e outros frameworks consagrados como Hibernate, Spring e Sitemesh, como mostrado na Figura 6.3. O Grails foi projetado para desenvolver aplicações CRUD (Create, Read, Update e Delete) de forma simples e ágil, utilizando o modelo de escrever código por convenção introduzido pelo Ruby on Rails. O Grails está se propondo a trazer a produtividade do Ruby on Rails para a plataforma Java, porém ele possui uma grande vantagem, sendo que a linguagem Groovy roda sobre uma JVM, e pode utilizar classes Java e as diversas APIs que existem normalmente. Groovy (padronizado pela JSR-241) é uma linguagem dinâmica e ágil para a plataforma Java, que possui muitas características de linguagens de script como Ruby, Python e Smalltalk, e ainda pode utilizar classes Java facilmente. Linguagens de script estão ganhando cada vez mais popularidade, devido a quantidade reduzida de código fonte necessário para implementar determinadas funcionalidades, se comparado com uma implementação em Java. Figura Arquitetura Grails Instalando Grails Instalar o Grails framework pode ser considerada uma tarefa simples. O passo a passo para a instalação do Grails framework é apresentado na Figura
11 Uma vez instalado, é possível abrir um prompt de comando e testar sua instalação utilizando, por exemplo, o comando grails help. Figura Instalação Grails Para criar uma aplicação em grails o desenvolvedor dever executar o comando: grails create-app multitenantapp Esse comando cria um projeto de aplicação grails contendo um conjunto de arquivos e diretórios necessários para executar uma aplicação grails. Os diretórios criados e suas descrições podem ser vistos com mais detalhes na Tabela 6.1. Tabela Estrutura de pastas de uma aplicação Grails Pasta Descrição + grails-app + conf Contém as configurações da aplicação, como a configuração de banco (DataSource.groovy) e onde podem ser feitas as configurações de inicialização(bootstrap.groovy) entre outros. + controllers Contém as classes de controller(controladores) da aplicação. + domain Contém as classes de Domínio, ou modelos. + i18n Contém arquivos inerentes a internacionalização. 134
12 + services Nessa pasta ficam as classes utilizadas na camada de serviços do Grails, caso sejam criadas. + taglib Contém as TagLibs criadas pelo usuário + views Contém os arquivos.gsp (Groovy Server Pages) utilizados para cada classe de domínio. + layouts Nessa pasta ficam os templates da aplicação. Templates em Grails são views incluídas em outras views. + grails-tests Parta que contém os testes unitários + lib Contém as libs externas, como por exemplo os drivers de conexão aos bancos de dados + src + groovy Contém classes groovy que não se encaixam nem em Domain, Controller ou Service. + java Contém classes java que poderão ser usadas na aplicação + web-app + css Contém os arquivos.css + images Imagens + js JavaScript + WEB-INF Arquivos relacionados ao deploy + index.jsp O Index da app Para executar a aplicação criada deverão ser executados os seguintes comandos: >> cd multitenantapp >> grails run-app O comando cd multitenantapp irá abrir o diretório da aplicação e o comando grails run-app executará a aplicação. Para adicionar um cadastro de uma entidade (CRUD) à aplicação, deve ser criado uma classe de domínio e em seguida uma classe de controller que irá gerenciar as requisições para o cadastro desta entidade. >> grails create-domain-class Product >> grails create-controller multitenantapp Product O primeiro comando cria uma classe de domínio no seguinte endereço..\multitenantapp\grails-app\domain\multitenantapp\product.groovy. >> grails create-domain-class Product Esse arquivo >> grails create-controller multitenantapp Product deverá ser alterado para o código da Figura 6.5 a seguir: 135
13 Figura código Product.groovy O segundo comando cria a classe de controller, que deverá ser alterada para o código a da seguir: Figura Código da Classe Controller Uma vez criadas as classes de domínio e controller,o comando grails run-app deverá ser executado novamente. Após isso será possível acessar o link para visualizar a primeira tela da aplicação, mostrado na Figura 6.7, com o CRUD da entidade criada (Product). Figura Tela Inicial de uma aplicação Grails Assim, observamos que com poucos comandos temos uma pequena aplicação grails funcionando Componentes de uma aplicação multi-tenancy Para implementar uma aplicação multi-tenancy é necessário implementar autenticação, controle de configurabilidade e controle de acesso a dados que atendam às necessidades de uma aplicação multi-tenancy que foram descritos nos tópicos anteriores. A fim de diminuir a complexidade da aplicação de exemplo não será implementado o controle de configurabilidade em nosso aplicativo de demonstração. 136
14 Grails disponibiliza uma arquitetura de plugins que promove o reuso e o aumento de produtividade. Dentre os plug-ins disponíveis existem plugins que facilitam muito a implementação de aplicações multi-tenancy em Grails. São eles Multi-tenant Plugin (Core) e Multi-tenant Spring Security Integration. Esses 2 plugins extendem as funcionalidades de controle de acesso a dados e autenticação de forma a atender os requisitos de aplicações multi-tenant. Para dar continuidade ao nosso exemplo prático será instalado agora um plugin que adiciona a funcionalidade de autenticação em nossa aplicação. Para isso é necessário a execução dos comandos a seguir. >> grails install-plugin spring-security-core >> s2-quickstart login SecUser Role Requestmap Para que esse plugin funcione é necessário que o código no arquivo BootStrap.groovy existente na pasta conf do seu projeto esteja semelhante ao código apresentado na Figura 6.8. Em Seguida já é possível re-executar a aplicação com o comando run-app e verificar que para utilizar a aplicação agora é necessário utilizar um login e senha. As configurações adicionadas no arquivo BootStrap.groovy criaram no banco de dados 2 usuários(user1 e user2), ambos com senha 123. Figura BootStrap.groovy (Single Tenant) O próximo passo é instalar os plug-ins necessários para tornar nosso exemplo uma aplicação multi-tenant. Para isso é necessário a execução do comando a seguir em nosso projeto. >> grails install-plugin multi-tenant-spring-security Após a instalação do plugin são necessárias algumas configurações adicionais: 137
15 1. Adicionar o campo Integer usertenantid na classe SecUser.groovy. Isso fará com que cada usuário esteja associado a um tenant específico. Ao cadastrar um usuário, ele deverá possuir um valor para o campo usertenantid, isso irá indicar quais registros do banco de dados ele terá acesso. 2. Anotar a classe Product.groovy Em uma aplicação multitenancy poderemos ter entidades que terão ou não características multi-tenancy. Ou seja, mesmo em uma aplicação multi-tenancy poderemos ter entidades que terão seus registros compartilhados entre todos os tenants. Para indicar quais entidades terão seus registros filtrados por tenant utilizamos a 3. Adicionar no bloco de constraints da classe Product.groovy a seguinte linha de código tenantid(display:false). Isso fará com que o campo tenantid, que é criado dinamicamente não seja alterado pelos usuários. Dado que o gerenciamento de seu valor é feito pelo plugin. 4. Altera a classe BootStrap.groovy para que o valor do atributo usertenantid seja informado na criação dos 2 usuários padrões do sistema. O código da classe BootStrap.groovy deverá ficar semelhante ao código apresentado na Figura 6.9. Essa alteração fará com que cada usuário padrão do sistema esteja em um tenant diferente. 5. Adicionar o código da Figura 6.10 ao final do arquivo Config.groovy, localizado na pasta conf do projeto. Figura BootStrap.groovy (Multi-tenant) Figura Alteração Config.groovy 138
16 Seguido estes passos, as funcionalidades básicas de uma aplicação multi-tenancy estão presentes no nosso exemplo. Para validar o funcionamento é necessário efetuar o login com o usuário user1(senha=123) e cadastrar alguns produtos. Em seguida efetuar login com o usuário user2 e, também, efetuar alguns cadastros no sistema. Será possível ver que os dados cadastrados efetuados pelo usuário user1 não serão visualizados pelo usuário user2, e vice versa. Isto ocorre porque quando esses usuários foram criados colocados em tenants diferentes Conclusão Tomando como base a fundamentação teórica e o exemplo prático apresentado, concluímos que é possível implementar uma aplicação multi-tenancy de forma produtiva e com alto grau de reuso de código. Apesar do exemplo prático ser implementado em Groovy e Grails, essa arquitetura pode ser replicada em várias outras linguagens existentes no mercado. Embora os esforços de pesquisa na área de SaaS e multi-tenancy estejam crescendo bastante ainda existem vários pontos a serem explorados e evoluídos, como avaliação de desempenho, monitoramento de tenants, escalabilidade, migração de aplicações legadas para a arquitetura multi-tenancy, entre outros Referências ABDUL-JAWAD,. Groovy and Grails Recipes. Berkely: Apress, BEZEMER, C.-P.; ZAIDMAN, A. Multi-tenant SaaS applications: maintenance dream or nightmare? ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE), New York, CHONG, ; CARRARO,. Architecture Strategies for Catching the Long Tail, Disponivel em: < Acesso em: 2011 out. 01. HU WANG, Z. et al. A Study and Performance Evaluation of the Multi-Tenant Data Tier Design Patterns for Service Oriented Computing. ICEBE '08 Proceedings of the 2008 IEEE International Conference on e-business Engineering, Washington, DC, JANSEN, S.; HOUBEN, G.-J.; BRINKKEMPER, S. Customization realization in multi-tenant web applications: case studies from the library sector. Proceeding ICWE'10 Proceedings of the 10th international conference on Web engineering, Berlin, Heidelberg, JIE GUO, et al. A Framework for Native Multi-Tenancy Application Development and Management. 9th IEEE International Conference on E-Commerce Technology and the 4th IEEE International Conference on Enterprise Computing, E-Commerce, and E-Services, Tokyo, KLEIN, D. Grails: A Quick-Start Guide. [S.l.]: Pragmatic Bookshelf, KWOK, T.; NGUYEN, T.; LAM, L. A Software as a Service with Multi-tenancy Support for an Electronic Contract Management Application. International Conference on Services Computing. Washington: IEEE Computer Society p
17 LIN, H. et al. Feedback-Control-Based Performance Regulation for Multi-Tenant Applications. 15th International Conference on Parallel and Distributed Systems (ICPADS). Shenzhen: IEEE p MELL, P.; GRANCE,. Draft nist working definition of cloud computing - v15. National Insitute of Standards and Technology, Disponivel em: < Acesso em: 1 out NITU. Configurability in SaaS (software as a service) applications. Proceedings of the 2nd annual India Software Engineering Conference (ISEC), Pune, India, ROCHER, G. K. The Definitive Guide to Grails. Berkely: Apress, SALESFORCE, Disponivel em: < Acesso em: 2011 out. 1. SMITH, G.; LEDBROOK, P. Grails in Action. Greenwich: Manning Publications, TAURION, C. Cloud Computing: Computação em Nuvem: Transformando o mundo da tecnologia da informação. Rio de Janeiro: Brasport, WARFIELD, B. Multitenancy Can Have a 16:1 Cost Advantage Over Single-Tenant. SmoothSpan Blog, Disponivel em: < Acesso em: 17 out
Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2
Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing
Leia maisCONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM
CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias
Leia maisA computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer
A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso
Leia maisO que é Cloud Computing?
O que é Cloud Computing? Referência The Economics Of The Cloud, Microsoft, Nov. 2010 Virtualização, Brasport, Manoel Veras, Fev. 2011. 2 Arquitetura de TI A arquitetura de TI é um mapa ou plano de alto
Leia maisFaculdade Integrada do Ceará FIC Graduação em Redes de Computadores
Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Disciplina - Sistemas Distribuídos Prof. Andrey Halysson Lima Barbosa Aula 12 Computação em Nuvem Sumário Introdução Arquitetura Provedores
Leia maisAlexandre Malveira, Wolflan Camilo
Alexandre Malveira, Wolflan Camilo Introdução Cloud Computing Computação Móvel SaaS, PaaS e IaaS CloudBees Diariamente arquivos são acessados, informações dos mais variados tipos são armazenadas e ferramentas
Leia maisProposta de Avaliação de Empresas para o uso do SAAS
1 INSTITUTO DE EDUCAÇÃO TECNOLÓGICA PÓS-GRADUAÇÃO Gestão e Tecnologia da Informação/ IFTI 1402 Turma 25 09 de abril de 2015 Proposta de Avaliação de Empresas para o uso do SAAS Raphael Henrique Duarte
Leia maisANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM
ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM Pedro Victor Fortunato Lima, Ricardo Ribeiro Rufino Universidade Paranaense UNIPAR Paranavaí Paraná Brasil pedrin_victor@hotmail.com, ricardo@unipar.br
Leia maisInfraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli
Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli Conceitos principais Nuvem Local Dados (informações) Profissional Pessoal Procedimento padrão (modelo) Produzir Armazenar Como era... Como
Leia maisSegurança da Informação
INF 108 Segurança da Informação Computação em Nuvem Prof. João Henrique Kleinschmidt Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente
Leia maisClassificação::Modelo de implantação
Classificação::Modelo de implantação Modelo de implantação::privado Operada unicamente por uma organização; A infra-estrutura de nuvem é utilizada exclusivamente por uma organização: Nuvem local ou remota;
Leia maisInstituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015. Computação em Nuvem
Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015 Computação em Nuvem Carlos Henrique Barbosa Lemos RESUMO Este trabalho tem por objetivo tratar
Leia maisCLOUD. tendências CLOUD. entendendo e contratando assertivamente. Agosto/2012 INFORMATIVO TECNOLÓGICO DA PRODESP EDIÇÃO 02
tendências CLOUD EDIÇÃO 02 Agosto/2012 CLOUD O conceito de nuvem é nebuloso Como uma organização pode contratar assertivamente Serviços em Cloud? Quais são os principais riscos de um contrato de Cloud
Leia maisComputação em Nuvem. Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota. Especialização em Redes e Segurança de Sistemas 2008/2
Computação em Nuvem Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota Especialização em Redes e Segurança de Sistemas 2008/2 Pontifícia Universidade Católica do Paraná Curitiba, Abril de 2010
Leia maisPor Antonio Couto. Autor: Antonio Couto Enterprise Architect
Cloud Computing e HP Converged Infrastructure Para fazer uso de uma private cloud, é necessário crescer em maturidade na direção de uma infraestrutura convergente. Por Antonio Couto O que é Cloud Computing?
Leia maisFileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14
FileMaker Pro 14 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 2007-2015 FileMaker, Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,
Leia maisPlanejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com
Planejamento Estratégico de TI Felipe Pontes felipe.pontes@gmail.com VPN Virtual Private Network Permite acesso aos recursos computacionais da empresa via Internet de forma segura Conexão criptografada
Leia maisCOMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE
COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE Andressa T.R. Fenilli 1, Késsia R.C.Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil andressa.trf@gmail.com, kessia@unipar.br Resumo. Computação em
Leia maisTRIBUTAÇÃO NAS NUVENS Uma Regulação em Debate
TRIBUTAÇÃO NAS NUVENS Uma Regulação em Debate Workshop Divisão Tributária 18.04.2013 CIESP - CAMPINAS PROGRAMA 1. BREVE INTRODUÇÃO À COMPUTAÇÃO EM NUVEM 2. PRINCIPAIS OPERAÇÕES E ASPECTOS TRIBUTÁRIOS POLÊMICOS
Leia mais10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO
10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE
Leia maisCLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS
CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS João Antônio Bezerra Rodrigues¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí
Leia maisAumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP
Parceiros de serviços em nuvem gerenciada Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP Implemente a versão mais recente do software da SAP de classe mundial,
Leia mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisLicenciamento do System Center Server 2012 Server Management
1. O que há de novo no licenciamento do System Center 2012?... 2 2. Você consegue descrever as edições do produto oferecidas com o System Center 2012?... 2 3. Como eu determino o número de Server Management
Leia maisMinicurso Computação em Nuvem Prática: Openstack
Grupo de Pesquisa em Software e Hardware Livre André Rover de Campos Membro Colméia andreroverc@gmail.com Joinville Minicurso Computação em Nuvem Prática: Openstack Roteiro Definições Virtualização Data
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia maisFileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13
FileMaker Pro 13 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 2007-2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,
Leia maisForneça a próxima onda de inovações empresariais com o Open Network Environment
Visão geral da solução Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral À medida que tecnologias como nuvem, mobilidade, mídias sociais e vídeo assumem papéis
Leia maisTRIBUTAÇÃO NA NUVEM. Tax Friday 21 de outubro de 2011 AMCHAM - RJ
TRIBUTAÇÃO NA NUVEM Tax Friday 21 de outubro de 2011 AMCHAM - RJ PROGRAMA 1. INTRODUÇÃO À COMPUTAÇÃO EM NUVEM CONCEITOS APLICÁVEIS 2. PRINCIPAIS OPERAÇÕES E ASPECTOS TRIBUTÁRIOS POLÊMICOS INTRODUÇÃO À
Leia maisProjeto Arquitetural do IEmbedded
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Disciplina: Projeto I Professora: Francilene Garcia Equipe: Carolina Nogueira de
Leia maisANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.
ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.
Leia maisArmazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos,
Nuvem cloud Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos, não havendo necessidade de armazenamento
Leia maisIntrodução a Banco de Dados
Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05
Leia maisCâmara dos Deputados CCTCI: Comissão de Ciência e Tecnologia, Comunicação e Informática
Câmara dos Deputados CCTCI: Comissão de Ciência e Tecnologia, Comunicação e Informática A relevância tecnológica, econômica e estratégia da Computação em Nuvem (Cloud Computing) para a competitividade
Leia maisRenan Borges Pereira¹, Paulo Henrique Gomes Barbosa². Faculdade de Tecnologia de Ourinhos FATEC. renanzaum_1@hotmail.com¹, paulohgb_15@hotmail.
Renan Borges Pereira¹, Paulo Henrique Gomes Barbosa² Faculdade de Tecnologia de Ourinhos FATEC renanzaum_1@hotmail.com¹, paulohgb_15@hotmail.com² INTRODUÇÃO O modelo de software como um serviço (SaaS)
Leia maisGoogle Drive. Passos. Configurando o Google Drive
Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.
Leia maisO que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento
HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir
Leia mais02 - Usando o SiteMaster - Informações importantes
01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,
Leia maisPlanejando o aplicativo
Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por
Leia maisUMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1
UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1 Igor G. Haugg 2, Rafael Z. Frantz 3, Fabricia Roos-Frantz 4, Sandro Sawicki 5. 1 Pesquisa
Leia maisADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 4)
Prof. Breno Leonardo Gomes de Menezes Araújo brenod123@gmail.com http://blog.brenoleonardo.com.br ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 4) Serviço de diretório Serviço de diretório é um conjunto
Leia maisCloud Computing. Edy Hayashida E-mail: edy.hayashida@uol.com.br
Cloud Computing Edy Hayashida E-mail: edy.hayashida@uol.com.br Facebook 750 milhões de usuários 42% de todos os usuários do Facebook estão localizado na América, 27% na Ásia e 25% na Europa 4% na África
Leia maisEngenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.
Leia maisPlano de Gerenciamento do Projeto
Projeto para Soluções Contábeis 2015 Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK Brendon Genssinger o e Elcimar Silva Higor Muniz Juliermes Henrique 23/11/2015 1 Histórico de alterações
Leia maisGovernança de TI. ITIL v.2&3. parte 1
Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços
Leia maisgerenciando o desempenho de serviços em uma empresa conectada na nuvem CA Business Service Insight Julho de 2011
gerenciando o desempenho de serviços em uma empresa conectada na nuvem CA Business Service Insight Julho de 2011 a computação na nuvem está presente em todos os lugares e está crescendo 72% das empresas
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisDESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.
Leia mais15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor
Gestão e Governança de TI Modelo de Governança em TI Prof. Marcel Santos Silva PMI (2013), a gestão de portfólio é: uma coleção de projetos e/ou programas e outros trabalhos que são agrupados para facilitar
Leia maisGlossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.
Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis
Leia maisService Level Management SLM. Gerenciamento de Níveis de Serviço
Service Level Management SLM Gerenciamento de Níveis de Serviço 1 É o balanço o entre... Qualidade dos serviços entregues Expectativa do cliente 2 Processo: Definições Service Level Management (SLM) Têm
Leia maisIntrodução ao Active Directory AD
Introdução ao Active Directory AD Curso Técnico em Redes de Computadores SENAC - DF Professor Airton Ribeiro O Active Directory, ou simplesmente AD como é usualmente conhecido, é um serviço de diretórios
Leia maisPÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS?
PÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS? As ofertas de nuvem pública proliferaram, e a nuvem privada se popularizou. Agora, é uma questão de como aproveitar o potencial
Leia maisSoluções em. Cloud Computing. Midia Indoor. para
Soluções em Cloud Computing para Midia Indoor Resumo executivo A Midia Indoor chegou até a Under buscando uma hospedagem para seu site e evoluiu posteriormente para uma solução cloud ampliada. A empresa
Leia maisEsclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.
1 Dúvida: - Em relação ao item 1.2 da Seção 2 - Requisitos funcionais, entendemos que a solução proposta poderá funcionar em uma arquitetura Web e que na parte cliente estará apenas o componente de captura
Leia maisUma Proposta de Framework de Comparação de Provedores de Computação em Nuvem
Uma Proposta de Framework de Comparação de Provedores de Computação em Nuvem Igor G. Haugg Bolsista PIBITI/CNPq Orientador: Dr. Rafael Z. Frantz Área de Pesquisa Integração de Aplicações Empresariais Computação
Leia maisA CMNet disponibilizou no dia 24 de junho para download no Mensageiro a nova versão do Padrão dos Sistemas CMNet.
Prezado Cliente, A CMNet disponibilizou no dia 24 de junho para download no Mensageiro a nova versão do Padrão dos Sistemas CMNet. No Padrão 9 você encontrará novas funcionalidades, além de alterações
Leia mais4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
Leia maisProcedimentos para Reinstalação do Sisloc
Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisCloud Computing. Eduardo Roloff
Cloud Computing Eduardo Roloff Sumário Conceituação Modelos de Serviços Modos de Implantação Oportunidades de Pesquisa Discussão Conceituação Cloud Computing é um modelo que pretende prover computação
Leia maisAdministração de Sistemas de Informação Gerenciais
Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,
Leia maisIntrodução a Informática - 1º semestre AULA 02 Prof. André Moraes
Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes 3 MÁQUINAS VIRTUAIS Em nossa aula anterior, fizemos uma breve introdução com uso de máquinas virtuais para emularmos um computador novo
Leia mais5 Mecanismo de seleção de componentes
Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações
Leia maisCloud Computing. Andrêza Leite. andreza.lba@gmail.com
Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O
Leia maisFileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o
FileMaker Pro 12 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 2007 2012 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,
Leia maisComputação em Nuvem. Alunos: Allan e Clayton
Computação em Nuvem Alunos: Allan e Clayton 1 - Introdução 2 - Como Funciona? 3 - Sistemas Operacionais na Nuvem 4 - Empresas e a Computação em Nuvem 5 - Segurança da Informação na Nuvem 6 - Dicas de Segurança
Leia maisEspecificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos
Visão geral do Serviço Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos Os Serviços de gerenciamento de dispositivos distribuídos ajudam você a controlar ativos
Leia maisPersonalizações do mysuite
Personalizações do mysuite 1. mysuite... 2 2. Customização de campos... 3 3. Importação de dados... 3 4. Integração de sistemas... 3 5. Personalização do Atendimento Online... 4 5.1. Imagens de online
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 maisEscolha seu serviço Cloud O melhor do Cloud
Escolha seu serviço Cloud O melhor do Cloud CAPA Comparamos os melhores serviços de Cloud Computing do Brasil em três categorias de ofertas. Leia e descubra qual é o mais adequado para suas necessidades.
Leia maisFTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio
FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04 Prof. André Lucio Competências da aula 3 Servidor de DHCP. Servidor de Arquivos. Servidor de Impressão. Aula 04 CONCEITOS
Leia maisFigura 1 - Arquitetura multi-camadas do SIE
Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br
Leia maisGuia Rápido de Licenciamento do SQL Server 2012
Guia Rápido de Licenciamento do SQL Server 2012 Data de publicação: 1 de Dezembro de 2011 Visão Geral do Produto SQL Server 2012 é uma versão significativa do produto, provendo Tranquilidade em ambientes
Leia maisArquiteturas Paralelas e Distribuídas
Arquiteturas Paralelas e Distribuídas TSI-6AN Apresentado por: Cleber Schroeder Fonseca 1 CLOUD COMPUTING 2 Cloud Computing A expressão cloud computing (computação nas nuvens) começou a ganhar força em
Leia maisADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz
ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO Serviços de impressão Os serviços de impressão permitem compartilhar impressoras em uma rede, bem como centralizar as tarefas de gerenciamento
Leia maisDAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial
DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.
Leia maisCONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;
CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.
Leia maisINTERNET HOST CONNECTOR
INTERNET HOST CONNECTOR INTERNET HOST CONNECTOR IHC: INTEGRAÇÃO TOTAL COM PRESERVAÇÃO DE INVESTIMENTOS Ao longo das últimas décadas, as organizações investiram milhões de reais em sistemas e aplicativos
Leia maisPRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)
RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,
Leia maisINTRODUÇÃO A PORTAIS CORPORATIVOS
INTRODUÇÃO A PORTAIS CORPORATIVOS Conectt i3 Portais Corporativos Há cinco anos, as empresas vêm apostando em Intranet. Hoje estão na terceira geração, a mais interativa de todas. Souvenir Zalla Revista
Leia maisGerenciamento e Interoperabilidade de Redes
EN-3610 Gerenciamento e Interoperabilidade de Redes Computação em Nuvem Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente Computadores
Leia maisFUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO Rafael D. Ribeiro, M.Sc,PMP. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br @ribeirord Pesquisa e Propagação do conhecimento: Através da Web, é possível
Leia maishttp://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho
vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS
Leia maisCONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS
MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL
Leia maisMultiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação
Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia
Leia maisProgramação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza
Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem
Leia maisNovidades no Q-flow 3.02
Novidades no Q-flow 3.02 Introdução Um dos principais objetivos do Q-flow 3.02 é adequar-se às necessidades das grandes organizações. Por isso, o Q-flow 3.02 possui uma versão Enterprise que inclui funcionalidades
Leia mais