• Nenhum resultado encontrado

PA-Turingo

N/A
N/A
Protected

Academic year: 2021

Share "PA-Turingo"

Copied!
7
0
0

Texto

(1)

Projeto Arquitetural

Chat Turingo

(2)

1-Introdução

Visão geral da arquitetura inicial do sistema de bate-papo para a rede social turingo. Este documento destina-se a desenvolvedores, testadores e ao gerente do projeto.

2-Contexto

Turingo é uma rede social composta por turistas e agencias de turismo, o objetivo do projeto é criar um sistema de bate-papo escalável para a rede social Turingo facilitando o contato entre agencias de viagens e seus clientes; para que assim as vendas e compras nesse área possam se tornar mais fáceis; e que tanto a demanda quanto a oferta aumentem devido as facilidades que a inclusão digital permitem. Entre as principais funcionalidades estão: logar e sair do chat, iniciar e encerrar conversa, visualizar histórico e modificar status.

O sistema será mantido e evoluído de acordo ( e junto ) com a manutenabilidade e evolução do Turingo e estará disponível sempre que o Turingo estiver. O ideal e esperado é de 24 horas por dia, 7 dias pó semana.

Descrição das Funcionalidades:

 Logar: Ao entrar na sua conta do Turingo, o chat já se loga automaticamente; assim como no facebook e gmail.

 Logout: O usuário, ao entrar no turingo e ter seu bate-papo carregado, pode optar por sair do chat.

 Iniciar conversa: Após logado, qualquer turista pode falar com qualquer agência ( online ) e qualquer agência pode falar com qualquer turista (online.)

 Modificar status: O turista e a agência pode escolher seu status entre as opções: Online, Ocupado e Ausente ( Offline sai do chat ).

3-Requisitos Arquiteturais

Requisitos Funcionais:

Os requisitos funcionais listados acima só serão abordados com maior foco em Projeto 2 ( opção do cliente ); em Projeto 1 será trabalhado com maior ênfase o conceito do chat , um protótipo para ele e testes.

(3)

o O servidor deve ser escrito em PHP rodando em cima de Jabber.

o A interface do sistema deve ser compatível com os browsers Internet Explorer , Mozilla Firefox e Chrome.

o A interface deve ser feita em PHP

o O sistema deve suportar cerca de 2000 ( esse número ainda está em estudo ) conversas simultâneas por máquina.

o O sistema deve ser escalável(Caso eu use duas máquinas o sistema deve

suportar 4000 conversas simultâneas; para 3 máquinas, 6 mil conversas e assim por diante).

o O sistema deve ser desenvolvido de forma que a configuração das máquinas (Core 2 Duo, 8Gb RAM, onde somente 1Gb deve estar sendo usado pelo sistema) o suporte.

o OBS: Essas configurações de hardware são para dar suporte ao lado servidor do Chat; o lado cliente roda na web ( nos brownsers IE, Firefox e Chrome) , não importando assim a configuração de hardware.

4-Testabilidade

A testabilidade será feita através de teste de carga e teste de escala.

 Os testes de carga serão feitos através do endereço de loopback simulando diversos usuários logados no chat, espera-se que o chat funcione normalmente com o número de usuários que o cliente do projeto deseja ( 2 mil por máquina ).

 Os testes de escala são feitos no servidor, e o servidor usado para o desenvolvimento do projeto ( Openfire ) já garante escalabilidade.

(4)

5-Decisão-chave para a estrutura da arquitetura

A principal decisão-chave da arquitetura do projeto foi a escolha da tecnologia Jabber, pois como se trata de um sistema de bate-papo a comunicação é o essencial. Decisão-Chave Utilizar tecnologia Jabber

Drivers RNF: O sistema deve ser escalável. Descrição

Flexibilidade - as aplicações Jabber, além das mensagens instantâneas, incluem gerenciamento de rede, gestão de conteúdo, ferramentas de colaboração, compartilhamento de arquivos, jogos e monitoramento remoto de sistemas. Vantagens O sistema pode ser distribuído de forma

que não limita o número de usuários. Desvantagens

Observações

Mais vantagens oferecidas pela tecnologia jabber:

 Abertura - os protocolos Jabber são gratuitos, abertos, públicos e de fácil compreensão ,além disso existem múltiplas implementações de clientes, servidores, componentes e bibliotecas de código.

 Padronização - A IETF( Internet Engineering Task Force ), formalizou o núcleo dos protocolos XML de transmissão de dados como uma tecnologia de mensagens instantâneas e presença sob o nome de XMPP e as especificações XMPP foram publicadas como RFC 3920 e RFC 3921.

 Confiabilidade - as primeiras tecnologias Jabber foram desenvolvidas por Jeremie Miller em 1998 e estão bastante estáveis agora, centenas de desenvolvedores estão trabalhando em tecnologias Jabber, existem dezenas de milhares de servidores Jabber funcionando na Internet hoje e milhões de pessoas usando o Jabber como mensageiro instantâneo.

o Confiabilidade do Sistema: Com relação a confiabilidade do sistema, partindo do fato que o protocolo XMPP será usado através do Jabber; garante-se que o sistema também possui a mesma confiabilidade.

(5)

 Descentralização - a arquitetura da rede Jabber é similar ao e-mail, como resultado qualquer um pode ter o seu próprio servidor Jabber, permitindo às pessoas e organizações terem total controle sobre suas mensagens instantâneas.

 Segurança - qualquer servidor Jabber pode ser isolado da rede Jabber pública ( por exemplo, a intranet da empresa ), além disso fazem parte das especificações XMPP medidas de segurança robustas, usando SASL e TLS.

o Segurança do Sistema: A segurança do sistema com relação ao lado cliente é feita por meio do login no Turingo ( ao se logar no turingo, loga-se no chat). A segurança no lado servidor também é feita via autenticação por login.

 Extensibilidade - usando o poder das "XML namespaces", qualquer um pode construir funcionalidades sobre os protocolos centrais, para manter a interoperabilidade, as extensões comuns são mantidas pela Jabber Software Foundation.

 Flexibilidade - as aplicações Jabber, além das mensagens instantâneas, incluem gerenciamento de rede, gestão de conteúdo, ferramentas de colaboração, compartilhamento de arquivos, jogos e monitoramento remoto de sistemas.

 Diversidade - uma grande quantidade de empresas e projetos de código aberto usam os protocolos Jabber para criar e desenvolver aplicações e serviços.

6-Estrutura da Arquitetura

O projeto arquitetural é subdivido em dois, já que trata-se de um sistema cliente servidor.

(6)

Arquitetura Jabber As tecnologias usadas serão:

FrontEnd ( entenda FrontEnd como sendo o cliente web): Jabber , HTML, Bibliotecas

XMPP, PHP e JavaScript

BackEnd ( entenda BackEnd como sendo o servidor para o chat, que estará rodando nas máquinas da empresa do cliente ): O servidor Jabber openfire.

No lado cliente, a tecnologia usada será principalmente JavaScript e HTML ; no lado servidor será usado o servidor Jabber Openfire que é feito em PHP usando da tecnologia XMPP para fazer comunicação com os clientes vias httpRequest. O servidor estará rodando em um espaço chamado Octoputs alocado dentro do servidor da empresa; o octopus fará chamadas REST ao tomcat para saber quais novos usuários do Turingo vão se tornar também novos usuários do chat turingo, será utilizado também hadoop, hbase e um balanceador de carga. O cliente estará rodando na web; quer seja no navegador IE, Firefox ou Chrome.

(7)

Componentes da arquitetura Jabber:

Jabber Session Messenger(JSM) – O JSM gerencia o registro de novas contas,

autentica usuários, e gerencia informações sobre presença.

C2S(Cliente-to-Server) – C2S manipula as conexões entre o servidor e seus clientes. A

principal tarefa é a formatação e roteamento de mensagens entre clientes e outros componentes.

S2S(Server-to-Server) – S2S manipula conexões entre o servidor jabber e outros

servidores.

Xdb( XML Database) – xbd é o mecanismo de armazenamento persistente

compartilhado para o servidor jabber.

Logger – Responsável por registrar mensagens de controle de outros componentes

para o servidor . Registra mensagens, registra o login e logout de usuários, erros e assim por diante.

Dnsrv(DNS servisse) – converte nomes de servidores em endereços IP.

Jabber User Directory(JUD) – fornece serviços que habilitam clientes exibir

informações de seu contato, bem como a disponibilização de informações de outros contatos do cliente.

Conferencing (conf) – Permite formar grupos de clientes (salas de bate-papo).

Component BUS - é o backbone do servidor.

6-Bibliografia

 Moore Dana,Wright Williiam, Jabber Developer’s Handbook, Sams Publishing ,2004.

Referências

Documentos relacionados

A filha, Manuela, que se licenciou em Germânicas e partiu para a Alema- nha - onde fez um doutoramento sobre Thomas Mann, era afilhada de Pinto Barbosa, mestre e amigo

As Forças Radiantes da Luz Divina, também chamadas Formas As Forças Radiantes da Luz Divina, também chamadas Formas Angélicas, não têm gênero na mais densa

Os testes intradérmicos não devem ser realizados em vacas após o sétimo mês de gestação, bezerros com menos de seis meses de vida, e nem em animais com endoparasi- toses ou

De um modo geral, os grãos defeituosos apresentaram maior número e concentração de compostos voláteis quando comparados aos seus respectivos grãos controles,

Sophia de Mello abraça a ambivalência da palavra “espanto”; Alejandra Pizarnik fica com o lado mais sombrio, o do horror, o do vazio.. Com as palavras, tentará cavar aquele vazio

O rganização: Centro de Estudos Jurídicos, Faculdade de Direito Com o apoio da Direcção dos Serviços de Assuntos de Justiça e da Fundação.. Rui Cunha 27 – 28

Diante do exposto, o objetivo do trabalho foi a calibração das sondas de capacitância EnviroSCAN® em laboratório, utilizando solo de uma parcela experimental localizada em

As informações não financeiras contidas neste documento, assim como outras informações operacionais, não foram objeto de auditoria por parte dos auditores