Proposta de Projeto1º Seminário de Andamento
2º Seminário de Andamento
Seminário Final
Aplicação – Openfire é um servidor multi-plataforma de comunicação em tempo real, licenciado pela GPL, muito importante, e implementa o protocolo XMPP (Jabber). Possui clientes para Windows, Linux e MacOs. Para instalar o servidor é preciso instalar o Banco de dados MySql, Php, Java, HTTP, openssl. XMPP Standards Foundation O XMPP Standards Foundation (anteriormente a Jabber Software Foundation) é uma organização independente, o desenvolvimento sem fins lucrativos normas cuja missão principal é a definição de protocolos abertos para a presença, mensagens instantâneas e comunicação em tempo real e colaboração em cima da Extensible Messaging da IETF and Presence Protocol (XMPP). O XSF também fornece informações e infra-estrutura para a comunidade mundial de desenvolvedores Jabber / XMPP, prestadores de serviços e usuários finais.
Protocolo XMPP A tecnologias Jabber surgiu em 1998, o termo “Jabber” tem sido usado para descrever uma série de coisas diferentes, incluindo um servidor, um protocolo, uma rede de comunicações, uma comunidade de desenvolvedores, um conjunto de tecnologias, mesmo uma empresa.
XMPP Protocolos Base A seguir estão os protocolos de base que definem a Extensible Messaging e Presence Protocol, conforme especificado no RFC 3920 e RFC 3921 . Estes protocolos foram desenvolvidos originalmente na comunidade de desenvolvedores Jabber em 1999 (“XMPP 0.9”) e posteriormente formalizada pelo IETF XMPP do Grupo de Trabalho em 2003 e 2004, resultando na definição de XMPP 1.0. Jabber Client Jabber Server Presença e IM Sessão Estabelecimento Vinculação de recursos Autenticação Simples e Layer Security Criptografia S / MIME Stanza Erros Stream Erros Segurança da Camada de Transporte XML Streams
Extensions XMPP Desde meados de 2001, o XMPP Standards Foundation (anteriormente a Jabber Software Foundation) tem documentado e gerenciado protocolos Jabber / XMPP através de um processo de padrões abertos voltadas à discussão e avanço da Extensão protocolos XMPP (XEPs). Essas especificações definem XMPP extensões e não deve ser considerado parte do XMPP, que é todo e somente as especificações do núcleo produzido pela IETF. Nota: As listas a seguir não incluem as normas de pista XEPs que são diferidos, preteridos, Experimental, obsoletos, rejeitados ou retirados, nem XEPs que são históricos ou informativos. 2,1 Final Extensions XMPP O XEPs seguintes avançado para um estado de final dentro do processo da XSF de normas. Os protocolos definidos nestas especificações podem ser consideradas tecnologias estáveis para fins de implementação e implantação.
Estado Notificações Chat Os dados de formulários Atraso na entrega Entidade Tempo Em Registro-Band Jabber-RPC Última Serverless Mensagens Descoberta de Serviços Stream de compactação XMPP Ping
XMPP Extenções Projeto O XEPs seguintes têm avançado a um estatuto de Projecto no âmbito do processo XSF de normas. Implementações são incentivados e os protocolos são adequados para a implantação dos sistemas de produção, mas é possível que algumas alterações para os protocolos serão feitos antes que se tornem normas definitivas.
Comandos Ad-Hoc Processamento Avançado de Mensagem Bidirecionais córregos Over Synchronous HTTP (BOSH) Bookmarks Dados Layout Forms Validação de dados de formulários Entidade Capacidades Característica Negociação File Transfer A recuperação da mensagem flexíveis Offline Bytestreams In-Band JID Escapando Mensagem Receipts Multi User-Chat Dados fora da banda Pessoal de Eventos através PubSub Lista de Privacidade Publish-Subscribe Iniciação Publishing Pedidos Stream Conjunto de resultados de gestão Plantel Exchange Item Descoberta de Serviços Cabeçalhos Stanza e Metadados Internet SOAP sobre XMPP Versão de Software Stanza negociação da sessão Fluxo de Iniciação Atividade do Usuário User Location Usuário Humor Usuário Nickname Usuário Tune Verificando pedidos HTTP via XMPP XHTML-IM XMPP Mais BOSH Além dos protocolos anteriores, o XMPP Standards Foundation informacionalmente definidas várias das melhores práticas relacionadas com XMPP, historicamente documentados vários protocolos que estão em amplo uso na comunidade Jabber / XMPP, e regularmente considera inúmeras tecnologias experimentais para o avanço ao projecto e, em seguida, Final. No entanto, tais especificações informativos, históricos e experimentais não são oficialmente reconhecidos pela XSF como parte do protocolo XMPP pilha.
0 XMPP Protocolos Base A seguir estão os protocolos de base que definem a Extensible Messaging e Presence Protocol, conforme especificado no RFC 3920 e RFC 3921 . Estes protocolos foram desenvolvidos originalmente na comunidade de desenvolvedores Jabber em 1999 (“XMPP 0.9”) e posteriormente formalizada pelo IETF XMPP do Grupo de Trabalho em 2003 e 2004, resultando na definição de XMPP 1.0.
Jabber Client Jabber Server Presença e IM Sessão Estabelecimento Vinculação de recursos Autenticação Simples e Layer Security Criptografia S / MIME Stanza Erros Stream Erros Segurança da Camada de Transporte XML Streams
Jabber Client
O protocolo Jabber Client é especificado no RFC 3920 (uma proposta de norma da Internet Engineering Task Force). Esta especificação define a sintaxe ea semântica do núcleo da mensagem de presença, e estrofes de QI para uso em comunicações entre um cliente e um servidor XMPP XMPP.
Os seguintes namespaces XML são utilizados no âmbito do protocolo Jabber Client:
jabber: cliente Os seguintes esquemas XML estão disponíveis para o protocolo cliente Jabber:
http://www.xmpp.org/schemas/jabber-client.xsd Informações sobre este protocolo XMPP é mantida pelo secretário XMPP .
Jabber Server
O protocolo do Servidor Jabber é especificado no RFC 3920 (uma proposta de norma da Internet Engineering Task Force). Esta especificação define a sintaxe ea semântica do núcleo da mensagem de presença, e estrofes de QI para uso em comunicações entre dois servidores XMPP.
Os seguintes namespaces XML são usados no âmbito do protocolo do Servidor Jabber:
jabber: servidor Os seguintes esquemas XML estão disponíveis para o protocolo do Servidor Jabber:
http://www.xmpp.org/schemas/jabber-server.xsd Informações sobre este protocolo XMPP é mantida pelo secretário XMPP .
Presença e IM Sessão Estabelecimento
A presença e IM protocolo de estabelecimento da sessão é especificado no RFC 3921 (uma proposta de norma da Internet Engineering Task Force). Esta especificação define um método pelo qual um cliente pode solicitar formalmente estabelecimento de uma presença e uma sessão de mensagens instantâneas.
Os seguintes namespaces XML são usadas no contexto da proposição e estabelecimento de protocolo IM Sessão:
urn: IETF: params: xml: ns: sessão xmpp- Os seguintes esquemas XML estão disponíveis para a Presença eo protocolo Estabelecimento IM Sessão:
http://www.xmpp.org/schemas/session.xsd Informações sobre este protocolo XMPP é mantida pelo secretário XMPP .
Vinculação de recursos
A vinculação de recursos protocolo é especificado na RFC 3920 (uma proposta de norma da Internet Engineering Task Force). Esta especificação define o método pelo qual um cliente conectado pode negociar ou especificar um identificador de recurso para ser usado por um servidor XMPP no encaminhamento estrofes XML para o cliente. O protocolo inclui um mecanismo pelo qual o cliente pode solicitar um recurso aleatório identificador do servidor, e também permite que um cliente ligar vários recursos, opcionalmente, a um fluxo, se necessário.
Os seguintes namespaces XML são utilizados no âmbito do protocolo do recurso de vinculação:
urn: IETF: params: xml: ns: bind-xmpp Os seguintes esquemas XML estão disponíveis para o protocolo do recurso de vinculação:
http://www.xmpp.org/schemas/bind.xsd Informações sobre este protocolo XMPP é mantida pelo secretário XMPP .
Autenticação Simples e Layer Security
O Simple Authentication and Security Layer protocolo é especificado na RFC 3920 (uma proposta de norma da Internet Engineering Task Force). Esta especificação define o método de autenticação central para XMPP: um perfil de aplicação do Simple Authentication and Security Layer (SASL), protocolo que permite que um cliente para autenticar com um servidor ou para um servidor para autenticar com um servidor peer. Por sua própria natureza como um perfil SASL, autenticação XMPP permite que um servidor para oferecer uma ampla gama de mecanismos SASL, incluindo senhas criptografadas, autenticação mútua através de certificados ou outros meios, e sessões de usuário anônimo.
Os seguintes namespaces XML são usados no contexto do Simple Authentication and Security Layer protocolo:
urn: IETF: params: xml: ns: xmpp-sasl Os seguintes esquemas XML estão disponíveis para o Simple Authentication and Security Layer protocolo:
http://www.xmpp.org/schemas/sasl.xsd Informações sobre este protocolo XMPP é mantida pelo secretário XMPP .
Criptografia S / MIME
O S / MIME protocolo de criptografia é especificado no RFC 3923 (uma proposta de norma da Internet Engineering Task Force). Esta especificação define uma extensão do protocolo XMPP, que permite que um cliente XMPP para assinar, criptografar ou encriptar e assinar o conteúdo de qualquer estrofe XML dada usando o MIME seguro (S / MIME) tecnologia definidas pelo IETF, tipicamente com-cliente certificados X.509. Por razões de interoperabilidade, o protocolo codifica as informações no formato de mensagem CPIM antes da assinatura ou criptografia.
Os seguintes namespaces XML são usados no contexto do S / MIME protocolo de criptografia:
urn: IETF: params: xml: ns: xmpp-e2e Os seguintes esquemas XML estão disponíveis para o protocolo S / MIME Encryption:
http://www.xmpp.org/schemas/e2e.xsd Informações sobre este protocolo XMPP é mantida pelo secretário XMPP .
Stanza Erros
O Stanza protocolo erros é especificado no RFC 3920 (uma proposta de norma da Internet Engineering Task Force). Esta especificação define a sintaxe ea semântica de erros XMPP relacionadas com estrofes XML, bem como uma lista exaustiva de condições de erro.
Os seguintes namespaces XML são utilizados no âmbito do protocolo de erros Stanza:
urn: IETF: params: xml: ns: xmpp-estrofes Os seguintes esquemas XML estão disponíveis para o protocolo de erros Stanza:
http://www.xmpp.org/schemas/stanzas.xsd Informações sobre este protocolo XMPP é mantida pelo secretário XMPP .
Stream Erros
O fluxo do protocolo de erros é especificado no RFC 3920 (uma proposta de norma da Internet Engineering Task Force). Esta especificação define a sintaxe ea semântica de erros relacionados ao XML XMPP córregos, bem como uma lista exaustiva de condições de erro.
Os seguintes namespaces XML são utilizados no âmbito do protocolo de erros Stream:
urn: IETF: params: xml: ns: xmpp-correntes Os seguintes esquemas XML estão disponíveis para o protocolo de erros Stream:
http://www.xmpp.org/schemas/streams.xsd Informações sobre este protocolo XMPP é mantida pelo secretário XMPP .
Alguns Clientes Jabber
XMPP apenas Nome Plataforma Licença Akeni Jabber Client Multi-plataforma Proprietária, gratuito para uso não-comercial Coccinella Multi-plataforma GPL Exodus Windows GPL Gabber Linux/Unix, Gnome GPL Google Talk Windows Proprietária, gratuito Gossip Linux/Unix, Gnome GPL Jabbear Web and desktop Messenger Windows, Web Proprietária Jabber Instant Messenger Windows Proprietária JabberFox Mac OS X BSD Jabbin Linux/Windows GPL JAJC Windows Proprietária JBother Java GPL Jeti Java GPL Nitro Mac OS X GPL Pandion Windows GPL Psi Multi-plataforma GPL Tkabber Multi-plataforma GPL Gajim Multi-plataforma GPL [editar] Multi-protocolo, com suporte XMPP Nome Plataforma Licença Adium Mac OS X GPL Bitlbee via IRC Multi-plataforma Freeware Centericq Multi-plataforma GPL Empathy Linux/Unix, Gnome GPL Fire Mac OS X GPL Pidgin Multi-plataforma GPL Gush ? Creative Commons Kopete Linux/Unix GPL Miranda IM Windows GPL Trillian ? Proprietária SIM Multi-plataforma GPL Spark Multi-plataforma GPL [editar] Servidor Multi-protocolo, com suporte XMPP Nome Plataforma Licença DJabberd Multi-plataforma GPL ejabberd Multi-plataforma GPL iChat Server Mac OS X GPL jabberd14 Multi-plataforma GPL jabberd2 Multi-plataforma GPL Openfire Multi-plataforma GPL Prosody Multi-plataforma MIT psyced Multi-plataforma GPL Tigase Multi-plataforma GPL [editar]
MYSQL O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia, Sony, Lufthansa, U.S. Army, U.S. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems, Google e outros.
Instalação da ferramenta XMPP foi instalado a ferramenta XMPP na máquina windows, para descobrimento do uso da ferramenta, os teste realizados com a mesma foram com sucesso.
Alguns comandos interessantes para manipulação do banco de dados
mysql -u root -t - comando para ter acesso ao console do MYSQL
show databases; - comando para vizualizar as bases de dados existentes
use nomedabasededados; - comando para utilizar a base de dados
show tables; - comando para visualizar as tabelas da base.
Liguagem PHP
A linguagem PHP foi concebida durante o outono de 1994 por Rasmus Lerdorf. As primeiras versões não foram disponibilizadas, tendo sido utilizadas em sua home-page apenas para que ele pudesse ter informações sobre as visitas que estavam sendo feitas. A primeira versão utilizada por outras pessoas foi disponibilizada em 1995, e ficou conhecida como Personal Home Page Tools (ferramentas para página pessoal). Era composta por um sistema bastante simples que interpretava algumas macros e alguns utilitários que rodavam por trás das home-pages: um livro de visitas, um contador e algumas outras coisas. Em meados de 1995 o interpretador foi reescrito, e ganhou o nome de PHP/FI, o FI veio de um outro pacote escrito por Rasmus que interpretava dados de formulários HTML (Form Interpreter). Ele combinou os scripts do pacote Personal Home Page Tools com o FI e adicionou suporte a mSQL, nascendo assim o PHP/FI, que cresceu bastante, e as pessoas passaram a contribuir com o projeto. Estima-se que em 1996 PHP/FI estava sendo usado por cerca de 15.000 sites pelo mundo, e em meados de 1997 esse número subiu para mais de 50.000.
Nessa época houve uma mudança no desenvolvimento do PHP. Ele deixou de ser um projeto de Rasmus com contribuições de outras pessoas para ter uma equipe de desenvolvimento mais organizada. O interpretador foi reescrito por Zeev Suraski e Andi Gutmans, e esse novo interpretador foi a base para a versão Atualmente o uso do PHP4 vem crescendo numa velocidade incrível, e já está sendo desenvolvida a versão 5 do PHP.
Basicamente, qualquer coisa que pode ser feita por algum programa CGI pode ser feita também com PHP, como coletar dados de um formulário, gerar páginas dinamicamente ou enviar e receber cookies.
PHP também tem como uma das características mais importantes o suporte a um grande número de bancos de dados, como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vários outros.
Construir uma página baseada em um banco de dados torna-se uma tarefa extremamente simples com PHP.
Além disso, PHP tem suporte a outros serviços através de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda é possível abrir sockets e interagir com outros protocolos.
Principais característicasA linguagem PHP é uma linguagem de programação de domínio específico, ou seja, seu escopo se estende a um campo de atuação que é o desenvolvimento web, embora tenha variantes como o PHP-GTK. Seu propósito principal é de implementar soluções web velozes, simples e eficientes. Características:[carece de fontes?]
Velocidade e robustez Estruturado e orientação a objetos Portabilidade - independência de plataforma - escreva uma vez, rode em qualquer lugar Tipagem dinâmica Sintaxe similar a C/C++ e o Perl Open-source
Instalação * Foi instalado o servidor de comunicação instantânea no servidor Anchieta com sucesso aonde foi observa as seguintes características da aplicação openfire
Aplicação Open-fire
A aplicação openfire é o software de gerenciamento do servidor de comunicação instantânea, sendo um software livre que oferece um console de administração muito amigável com as abas (Servidor, usuários e grupos, sessões, conferência e plugins).
Aba Servidor
Gerenciamento do servidor possui as propriedades configuração do servidor, propriedades do sistema, idioma e fuso horário, Clustering, listagem de cache, estatisticas de consulta ao banco de dados mysql, logs, configurações de emails e logs de auditoria de segurança.
Configuração do Servidor configurações de perfil, configuração de conexão de clientes, Configurações de Servidor para servidor, Configurações de Componentes Externos, Configurações do Gerenciador de Conexão, Configurações de HTTP Bind, Gerenciar Atualizações, Configurações de Registro, Política de Conflito, Mensagens Offline, Política de Auditoria, armazenamento Dados Privados, Configurações de Segurança SSL, Servidores certificados, Configurações de Compressão, Configurações do Proxy de Transferência de Arquivos, Propriedades do Serviço de Pesquisa.
Serviços de Media Media Proxy, Configurações do Servidor STUN
Gerenciamento de cliente Funcionalidades de Cliente, Clientes Permitidos, Marcadores de Salas de Bate-Papo, Gerenciador de Marcadores de URL, Versão Spark, Download do Spark
Aba Usuários e grupos Lista de Usuários, Criar Usuário, Busca por Usuário, Pesquisa de Usuários registro do usuário
Aba Sessões Lista de Sessões, Sessões do Servidor, Sessões de Componentes
Aba Conferência Lista de sala, criar nova sala
Plugins Plugins, Plugins disponíveis
Clientes Jabber XMPP apenasNome Plataforma Licença Akeni Jabber Client Multi-plataforma Proprietária, gratuito para uso não-comercial Coccinella Multi-plataforma GPL Exodus Windows GPL Gabber Linux/Unix, Gnome GPL Google Talk Windows Proprietária, gratuito Gossip Linux/Unix, Gnome GPL Jabbear Web and desktop Messenger Windows, Web Proprietária Jabber Instant Messenger Windows Proprietária JabberFox Mac OS X BSD Jabbin Linux/Windows GPL JAJC Windows Proprietária JBother Java GPL Jeti Java GPL Nitro Mac OS X GPL Pandion Windows GPL Psi Multi-plataforma GPL Tkabber Multi-plataforma GPL Gajim Multi-plataforma GPL Multi-protocolo, com suporte XMPPNome Plataforma Licença Adium Mac OS X GPL Bitlbee via IRC Multi-plataforma Freeware Centericq Multi-plataforma GPL Empathy Linux/Unix, Gnome GPL Fire Mac OS X GPL Pidgin Multi-plataforma GPL Gush ? Creative Commons Kopete Linux/Unix GPL Miranda IM Windows GPL Trillian ? Proprietária SIM Multi-plataforma GPL Spark Multi-plataforma GPL
Servidor Multi-protocolo suporte XMPPNome Plataforma Licença DJabberd Multi-plataforma GPL ejabberd Multi-plataforma GPL iChat Server Mac OS X GPL jabberd14 Multi-plataforma GPL jabberd2 Multi-plataforma GPL Openfire Multi-plataforma GPL Prosody Multi-plataforma MIT psyced Multi-plataforma GPL Tigase Multi-plataforma GPL
Servidor Multi-protocolo com suporte XMPPNome Plataforma Licença DJabberd Multi-plataforma GPL ejabberd Multi-plataforma GPL iChat Server Mac OS X GPL jabberd14 Multi-plataforma GPL jabberd2 Multi-plataforma GPL Openfire Multi-plataforma GPL Prosody Multi-plataforma MIT psyced Multi-plataforma GPL Tigase Multi-plataforma GPL