Home

Acesso a conteudos offline

image

Contents

1. H O WN fF O PEER EEE EEE EEE EEE EE EE EE EEE EE RHEE MODULES HEF HEF EEHEFEEHERE ERE EEE RE ERE RE HA ActiveProxy APRRunCmd APRNCMD APRLoadDBChanges APDBCH APRLineType APRLNTP APRLineTypeTPN APRLTTPM APRLocalServerDir APR wwwroot APRProxyServer 1 Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI VI
2. Di a A1 ATEEN EE EE ETETE LD 3 1 Proxy Fipe Proxy WED uai isa i an all a A a a 14 3 2 Forw rd e Reverse AS PORN aicinn a A A dA 15 DECO A N A E E No AE 16 3 3 1 Caching em Proxies WED auge Riana was cis fe De e itesica ediesle eta Sinan ve del 16 3 3 2 P ginas criadas previamente TE 16 3 3 3 Caching POr CONEX O neiere i iii 17 BoD A IMA BRR RSRS a e E RS E a a Rc a 18 2 3 5 Proxies LTAMULATES snn adoramos A aos Das adi an Desta sida add 19 4 Replica o e Sincroniza o siccaseredsesisccescossserassonsscecnsensscesssenvssesssesescssocessosnsteessents 20 4 1 Replica o e sincroniza o em Bases de Dados 20 4 2 Replica o e sincroniza o de FICHEIROS ques aaseinido tesa asad Sasha aan a TA 21 S Solu o CESENVOLVIC A sssssecapeitcrindadocsesssskisiedssedesapeascbssdesecdeissoncsbedstedeseyussevisdesecsssseves ee DAE SGQUCING Funcional oren eeen LADA ATA Toa OH GN 23 Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 3 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos S2 Servidor Original sa Rl Da Dia a Ree Nei ee eS Ta hte cd le Oe Oca S3 Verdor LOCA oc tush viedeecucasshuresssaveeheses iusto vse decscatetveusievedtaces fuse vie cdecncatshuwstiaves 6 Biblioteca IC ssscscicciecdecvcuiessibiededaceedscatesavosscbiadadsestessstoasvessstsstadsceoesssecscbiadedecssesesss 6 1 Ficheiro de configura o ax scp shee ada bseiioba nada aisenanteneseenscber sarada aes
3. International ICUITDefaultLanguage ICUITDefaultDevLanguage Licenses ICULCDemoLicense ICULCSignatureTimeout mAProxy WSExportFilesInfo mAProxy WSUpdateFilesInfo mAProxy WSGetTotalBlocks mAProxy WSGetBlockContent mAProxy WSShowLoadingPage mAProxy WSAdmin mAProxy WSGetState mAProxy WSGetInstallForms mAProxy WSDBProps mAProxy WSFileProps mAProxy WSFileUpdateDB mICuLicense WSBeginRegister mICuLicense WSEndRegister mICuLicense WSGetRegister mICuLicense WSListApps mICuLicense WSCheckSignature mICuLicense WSCheckMailSerial mICuLicense WSCheckMailSerialByJS mICuAdmin WSControlPanel mICuAdmin WSGetModuleList mICuImages WSGetImage mICuUser WSDoLogin mICuUser WSDoLogout mICuUser WSSkinRequest mICulnput WSSaveOneField mICuInput WSSaveForm mFileDownload WSGetFile mICuTable WSGetLines mICuTable WSGetNewLine mICuTable WSGetDelMsg mICuTable WSDelLine n en pt DEMOLICENSEKEY 30 Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos ICULCLicenseTimeLimit ICULCLTL ICULCCheckAndSaveSerial ICULCCASS ICULCIDTypeCentralServer ICULCIDTypeAProxyFIPServer ICULCIDTypeAProxyDIPServer ICULCIDTypeAProxyClient ICULCIDStateToVerify ICULCIDStateVerified 1 1
4. y Conclis o ssscacosssissssass aako aieeao ea s a a s S OD BS TMT ATTA ssa ia Dn a ia ata aaa tassi OO x X Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 5 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos ndice de Figuras Figura 1 Arquitectura Geral de um Servidor de P ginas 11 Figura 2 Esquema Geral da Solu o ss sssipiaaass pass pacteates Mcsvade she sanes egies eae ees 23 Figura 3 Diagrama Funcional do Cliente 25 Figura 4 Diagrama Funcional da Biblioteca 26 Figura 5 Valida o de uma instala o da Biblioteca ICU i 37 Figura 6 Valida o de um Servidor Original 39 Figura 7 Esquema Funcional do uso de Protocolos de Cumunica o 45 Figura 8 Escolha do Site sai ais aiacasis qusajrcasarsagomatiaadradidaads nias 57 Figura 9 Escolha do tipo de configura o rea 57 Figura 10 Defini o de exporta o de ficheiros 57 Figura 11 Defini o de exporta o de tabelas 59 Figura 12 Instala o do Servidor Local Site 61 Figura 13 Interface de configura o cassa E eessaonae ous 63 Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 6 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 1 Introdu o A globaliza o decorrente d
5. Acesso Offline a Conte dos Din micos Lo MIT Prel http Awwwteste cronware com http fwww icuframework com ur http www cronware com Figura 8 Escolha do site Ap s a escolha do site o utilizador pode escolher entre a configura o do sistema de ficheiros ou das tabelas com se mostra na figura seguinte AL P O S Gest o Gest o de de Tabelas Ficheiros Figura 9 Escolha do tipo de configura o 8 4 1 Configura o de Sincronismo do Sistema de Ficheiros Ao escolher esta op o o utilizador poder definir quais os ficheiros que devem ser sincronizados com os Servidores Locais como mostra a figura seguinte rte ea ss Enviar Receber Ficheiro Directoria manner fhome1 cronware public html icuframework fhome1 cronware public html icuframework cgi bin fhome 1 cronware www_icuframework_com fhome 1 cronware www_icuframework_com Images KERER XXXX fhome1 cronware www icuframework com pages Figura 10 Defini o de exporta o de ficheiros Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 57 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Ao utilizador ser o apresentadas automaticamente todas as directorias presentes no site Esta lista constru da automaticamente pelo aplicativo de configura o embora possam sempre ser acrescentadas novas directorias O aplic
6. processos os processos de replica o ou sincroniza o utilizam uma tabela da base de dados de controlo da biblioteca ICu para os efectuar O diagrama funcional de uma opera o de replica o ou sincroniza o o seguinte Driver do Protocolo Sistema Remoto Figura 77 Esquema Funcional do uso de Protocolos de Cumunica o Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Explica o da Figura 7 A Requisita o inicio de replica o ou sincronismo identificando se e enviando os protocolos suportados Resposta indicando a disponibilidade para a opera o requisitada e qual o protocolo a usar nas comunica es incluindo informa o adicional opcional para o driver do protocolo que vai ser usado Chamada fun o InitComm do driver do protocolo retornado em B Retorno da chamada ao m todo InitComm indicando a disponibilidade de uso do driver e informa o adicional Envio do pedido ao Servidor Original para iniciar a comunica o incluindo a informa o retornada em D Resposta indicando a autoriza o ou n o para come ar a troca de dados G Chamada ao m todo BeginComm enviando caso a tenha recebido a informa o adicional enviada pelo sistema remoto em B H Uso dos m todos WriteComm e ReadComm para que internamente a informa o seja alterada pelo protocolo I Envio e recep o dos dados resultado do ponto H entre o siste
7. s uma an lise p gina identificam se os objectos sujeitos a sofrer altera es e dependendo do resultado cria se uma pol tica de caching que vai pedir apenas ao servidor de origem as altera es que esses objectos tenham tido entretanto Os resultados obtidos nos testes durante um per odo de 87 dias a que corresponderam 162053 objectos mostram que o tamanho m dio das actualiza es correspondeu a mais ou menos 20 do total da informa o presente em todas as p ginas pedidas 7 Este m todo embora diminuindo em cinco vezes o volume total de informa o continua a n o ser muito eficiente com as p ginas din micas que mudam tamb m o seu layout para o mesmo endere o Neste caso para se poder ter um controlo eficiente sobre as modifica es ao layout a rvore criada por cada p gina passaria a ter que considerar que qualquer das suas folhas poderia ser actualizada a qualquer altura o que obriga a uma verifica o a cada pedido de toda a p gina Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 19 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 4 Replica o e Sincroniza o Os termos replica o e sincroniza o muitas vezes usados como sin nimos s o no entanto duas opera es de naturezas diferentes Quando se fala em replica o estamos a referir nos a uma opera o de duplica o de uma entidade por exemplo se nos estivermos a referir a b
8. On ss a an a aaa es aa aaa aA e 8 2 3 DE SINC OMMN RAR RR artur ae OR DR RAS RE RR Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 4 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 82 4 Write Comm ess semana e Sa Da ET a AE AT Cab voit iso vs 47 B 209 Read omim serasa Sete PES Ee I EEE dO REA Peds 48 82 6 End Omi setas sa a shes aves treason oot taes aa a a ee 48 So Sincroniza o de Sistemas a aaaantar aba as doing tats a a AE ORR eens 48 8 3 1 Ficheiro de ENVIO raadiis E RA R E OSE 49 8 3 2 Sincroniza o de Ficheiros serene a a asa 52 8 3 3 Sincroniza o da Base de Dados errar 53 8 3 3 1 Equival ncia de Identificadores das Bases de Dados 54 8 3 3 2 Modifica o da Estrutura das tabelas ceecceeeescecsseeeeseeeeeteeeeeaeees 55 8 3 3 3 Equival ncia de Chaves Prim rias entre Sistemas 55 8 3 3 4 Cria o da Lista de Registos a Sincronizar eee eeeseceeeteeeenteeenteeees 56 8 4 Administra o do SILENT sstapleceieaseacancsigiud RA Ran tone dn aa pte sane Tr RSRS Tn 56 8 4 1 Configura o de Sincronismo do Sistema de Ficheiros 57 8 4 2 Configura o de Sincronismo do da Base de Dados 58 7 9 Servidor LOCA i icccccscccccccscccscosscsscsousecieccesscccocssuscsecesacccucssscssccesscccccessccsecosscccossascsas 01
9. Servidor P ginas Proxy SGBD um conjunto de aplicativos que podem ser instalados na m quina do cliente ou num servidor a que o cliente tenha acesso na rede local Mais uma vez usou se o apache como servidor de p ginas e proxy o PHP como interpretador e o mysql como o sistema de gest o de base de dados Ap s estar ligado ao proxy local todos os pedidos gerados no browser passar o a ser processados por este e direccionados de acordo com o URL pedido para o processamento normal do proxy ou para o servidor de p ginas local se se tratar de um site replicado No fundo como se o cliente estivesse directamente ligado ao servidor do site que est a aceder A replica o inicial do site e as consequentes sincroniza es s o da responsabilidade do Servidor Local Sendo assim os sites passam a ser acedidos localmente e mesmo que a rede tenha falhas o acesso por parte do utilizador mant m se sempre dispon vel Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 25 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 6 Biblioteca ICu A biblioteca ICu desenvolvida em PHP respons vel por todo o processamento de suporte ao site e da sua respectiva sincroniza o com os clientes Esta biblioteca foi desenvolvida de forma modular para permitir de um modo simplificado a adi o de m dulos que permitam acrescentar servi os e funcionalidades biblioteca Embora necessite apen
10. actualiza o do ficheiro for fornecida pelo servidor FTP da origem essa data confrontada com a data em que a c pia local foi guardada em cache Caso a data seja anterior que est guardada na cache local a imagem guardada na cache devolvida ao requisitante do ficheiro caso contr rio o ficheiro pedido ao servidor de FTP da origem e guardado com a nova data de actualiza o na cache local Finalmente o ficheiro pedido devolvido ao requisitante Os Proxies Web ou Proxy http s o em tudo semelhantes aos Proxies FTP tendo que entrar em conta com dois problemas acrescidos A data da ltima altera o de um ficheiro raramente pode ser conhecida pelo cliente A frequ ncia com que esses ficheiros s o alterados muito elevada 2 No contexto do protocolo http o ficheiro chamado p gina e cont m toda a informa o em HTML necess ria para constru o e desenho da p gina num browser 3 2 Forward e Reverse Proxy Um proxy pode ser colocado em qualquer lado da cadeia que vai desde o requisitante da informa o at ao fornecedor da mesma Dependendo do s tio onde colocado e da sua fun o pode ser classificado como Forward Proxy ou Reverse Proxy Um Forward Proxy normalmente colocado entrada de um n de rede mais r pido como por exemplo entrada de uma rede local para minimizar o tr fego de modo a reduzir quer os custos de transmiss o quer o tempo de acesso dos utilizadores informa
11. adoptada esta solu o pois a configura o do browser para que este passe a redireccionar os seus pedidos por um proxy n o poss vel directamente Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 64 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Conclus o Na generalidade considera se que os objectivos deste trabalho foram alcan ados na medida em que foi poss vel chegar a uma solu o operacional validando assim a quest o inicialmente levantada poss vel garantir a utiliza o de recursos Web mesmo em caso de falha do acesso Internet A op o adoptada como suporte ao sistema proposto baseada em software livre cumpriu os requisitos propostos permitindo aumentar a fiabilidade do sistema Por outro lado o facto de terem sido essencialmente utilizadas linguagens universalmente utilizadas nas principais plataformas de execu o aplicacional Javascritp e PHP foi igualmente assegurada a portabilidade do sistema assim como a dos aplicativos utilizados O desenvolvimento da biblioteca ICu decorreu de acordo com o previsto Foi instalada e testada num Servidor Original sem problemas e com sucesso A estrutura arquitectada no sentido de proporcionar facilidade na instala o de novas funcionalidades e correc es a funcionalidades j existentes foi testada e demonstrou responder s exig ncias Para testar o Sistema Local foi desenvolvido um site com funci
12. caso exista dever o utilizador premir o bot o do rato em Entrar e certificar se como utilizador autorizado O nome do utilizador de administra o que v m por omiss o xadmin e a respectiva palavra chave password No Servidor Local n o poss vel configurar os dados de replica o sincroniza o mas poss vel adicionar utilizadores e se o site tiver op es de configura o local ser aqui que essas altera es dever o ser efectuadas O Servidor Local tamb m pode ser instalado numa m quina na rede local e servir como proxy para todas as m quinas Neste caso o script que enviado pelo Servidor Original vai tamb m verificar se o browser est a utilizar um proxy e tenta contactar o mesmo para verificar se o proxy um proxy que suporta a biblioteca ICu Se o proxy n o suportar a biblioteca ICu o sistema informa que n o poss vel a instala o do Servidor Local O sistema usado para o acesso s imagens dos sites residentes na m quina local efectuado nos sistemas Linux e Windows modificando o ficheiro hosts em ambos os sistemas O processo usado para que a m quina local aceda directamente a estes sites Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 63 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos acrescentar no ficheiro hosts uma entrada que redirecciona o respectivo dom nio do site para o endere o local da m quina localhost Foi
13. chave prim ria A sua opera o para cada tabela da base de dados pode resumir se e Inser o de um novo registo na tabela O sistema vai criar um novo registo na tabela icuap dblist guardando o valor da nova chave prim ria a data hora GMT de inser o e o tipo de opera o e Altera o de um registo O sistema vai guardar no respectivo registo da tabela icuap dblist a data hora GMT de altera o e o tipo de opera o e Elimina o de um registo O sistema vai guardar no respectivo registo da tabela icuap_dblist a data hora GMT de altera o e o tipo de opera o Para que estas opera es possam ser executadas para as tabelas indicadas como pass veis de sincronismo s o criados triggers s opera es de inser o altera o e elimina o de registos Estes triggers existem nas bases de dados de suporte quer nos Servidores Locais quer no Servidor Inicial 8 4 Administra o do Sistema A administra o do sistema de sincroniza o pode ser efectuada atrav s de um interface disponibilizado pelo m dulo AProxy atrav s da chamada ao interface de administra o do sistema providenciado pelo m dulo ICuAdmin O seu acesso s se encontra dispon vel no Servidor Original do site No ecr de entrada dever escolher se qual o site que se quer configurar como se mostra na figura seguinte Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 56 Jo o Paulo Graciano Gon alves Barrocas
14. de caching Na altura de reconstruir a p gina no proxy ou no utilizador final ser ent o da responsabilidade das applets comunicarem com os servidores iniciais para verificar se existem ou n o dados mais recentes e assim finalizar a p gina Embora este algoritmo seja eficiente ao n vel do caching quer nos proxies quer nos browsers tem alguns problemas relacionados com o desempenho no diz respeito aos servidores de p ginas O processo inicial de interpreta o da p gina corre no servidor de p ginas por este motivo os servidores de p ginas al m das tarefas normais t m de correr mais um processo por cada utilizador que efectua um pedido Esta opera o como bvio tem um grande impacto no tempo de resposta do servidor Ikram Chabbouh e Mesaac Makpangou 6 propuseram uma solu o em que uma p gina din mica analisada sob dois contextos distintos o seu layout e o seu conte do devendo ser identificadas as partes da p gina que podem ser consideradas est ticas layout e Um daemon um programa inform tico que corre em segundo plano sem ser controlado directamente pelo utilizador e que activado por um evento ou condi o espec fica Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 17 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos aquelas que podem ser consideradas como din micas conte do Nesta perspectiva e ap s o primeiro envio da p gina b
15. de um registo ser actualizado por dois utilizadores distintos em sistemas remotos distintos Nesta implementa o o Servidor Original representa por assim dizer um papel de ponte de comunica o entre os dois sistemas remotos O atraso provocado pela sincroniza o entre os dois sistemas remotos resultante de uma primeira comunica o entre o primeiro sistema remoto e o sistema original a somar ao tempo da comunica o do segundo poder levar a sobreposi o de informa o introduzida por dois utilizadores em sistemas remotos diferentes Para solucionar este problema a data hora que se usou no desenvolvimento desta solu o foi a hora GMT em todos os sistemas Esta data guardada e usada posteriori pelo Servidor Original de modo a manter a ordem temporal de altera o dos registos provenientes dos v rios sistemas remotos na base de dados do Servidor Original No caso descrito no par grafo anterior este m todo garante assim que a informa o com que um registo fica no Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 53 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Servidor Original e nos Servidores Locais sempre a informa o introduzida pelo ltimo utilizador 8 3 3 1 Equival ncia de Identificadores das Bases de Dados A tabela icuao_db mant m no caso do Servidor Original a informa o das bases de dados usadas pela aplica o local No caso
16. efectuada pelo Servidor Local remoto e Essa data confrontada com a ltima data de altera o do ficheiro no sistema operativo anfitri o Caso a ultima data de altera o do ficheiro seja superior data da ltima sincroniza o com o Servidor Local remoto esse ficheiro passa imediatamente a ser inclu do na lista de envio e Se no passo anterior o ficheiro n o tiver sido eleito para ser enviado o sistema vai comparar o tamanho do ficheiro em bytes com a informa o armazenada na tabela icuap files na ltima verifica o Se os respectivos valores n o coincidirem o ficheiro passa imediatamente a ser inclu do na lista de envio No caso especial de uma aplica o efectuar upload de ficheiros o Servidor Local dever ir efectuar esta opera o nas directorias indicadas como de upload na tabela icuap files e incluir apenas na sua lista de envio os ficheiros que se encontram dentro dessas directorias Quando recebe a lista de envio do Servidor Original o Servidor Local dever simplesmente efectuar a grava o da imagem recebida no local designado Um aspecto importante desta opera o a determina o da directoria exacta de coloca o do ficheiro Na tabela icuap files um dos campos da mesma indica qual a directoria principal de entrada no site Os ficheiros que v m na lista de envio trazem a informa o da directoria onde devem ser gravados Esse caminho sempre considerado a partir da directoria Universidade
17. lista de dados a sincronizar por cada tabela da tabela icuap dbtables icuap proxylist Inclui toda a informa o sobre comunica es por site que Servidores Locais remotos efectuaram com o Servidor Original Esta tabela guarda entre outras informa es a hora da ltima comunica o conclu da com sucesso pelo Servidor Local remoto Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 51 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos e icuap dbkeys Esta tabela usada apenas nos sistemas locais usada para guardar as equival ncias das chaves prim rias entre o sistema local e o sistema original do site e icuap dblist Esta tabela guarda todas as opera es de inserir modificar e eliminar registos que foram efectuadas nas tabelas das bases de dados Baseado na informa o destas tabelas os servidores quer os locais quer o original v o criar o array descrito anteriormente 8 3 2 Sincroniza o de Ficheiros Quando um Servidor Original solicitado a criar a sua lista de envio de ficheiros o sistema vai verificar se existem altera es aos ficheiros que comp em toda a estrutura do site baseado na informa o anteriormente gravada na tabela icuap files S o efectuadas duas verifica es para determinar se um ficheiro sofreu altera es desde a ltima sincroniza o e O sistema vai recolher tabela icuap proxylist a data da ltima sincroniza o
18. local A exist ncia de um servidor local de p ginas vai permitir continuar a utilizar o site mesmo que a liga o rede seja inexistente Caso este n o esteja ainda instalado o sistema procede sua instala o ap s confirma o do utilizador Conclu do o passo anterior o c digo inserido pelo servidor de p ginas original vai detectar se o site requisitado se encontra instalado no servidor local de p ginas Caso n o esteja prepara o para a instala o do site remoto de modo a que este possa passar a ser acedido localmente Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 23 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Uma vez redireccionado o endere o do site remoto atrav s do proxy local para o servidor local de p ginas o Sistema Local passa a efectuar todas as opera es necess rias para que a c pia local do site e respectiva base de dados estejam sempre sincronizadas com o site original Conclu do este procedimento o site passar sempre a ser acedido localmente tornando assim poss vel que mesmo desligado da rede o utilizador possa continuar a utiliza lo cabendo ao Sistema Local todo o processamento necess rio para manter a coer ncia entre o servidor local de p ginas e o servidor original do site 5 2 Servidor Original Para que o sistema funcione no servidor original n o necess rio nenhuma altera o ao servidor de p ginas original A
19. n cleo que apenas l os ficheiros de configura o e gere a instala o de m dulos Um m dulo aqui entendido como uma pe a de software que pode ser invocada a qualquer momento apenas fazendo uso de uma chamada a qualquer um dos seus m todos Quanto menos ficheiros o interpretador de PHP tiver que ler do sistemas de ficheiros maior a rapidez com que os scripts s o processados Muitas das vezes a incerteza da opera o requisitada leva a n o se poder conhecer priori quais os ficheiros que devem carregados levando na maior parte dos casos a incluir no c digo todos ficheiros que poder o ser usados Um dos prop sitos do sistema de gestor de m dulos gerir automaticamente todas as chamadas a procedimentos de modo a que apenas sejam carregados os ficheiros PHP necess rios opera o em curso Este procedimento apenas est dispon vel se a aplica o for desenvolvida em modo ICu cf p gina 28 Um problema no desenvolvimento a inclus o de ficheiros adicionais ficheiros CSS ou de javascript em muitos casos diferentes que dever o ser passados ao cliente dependendo do objectivo de cada opera o sabido que quantos menos ficheiros o browser tiver que abrir em cada visualiza o de uma p gina mais r pida essa opera o se torna A op o geralmente usada quando n o se sabe partida que c digo vai ser necess rio juntar todos os ficheiros num s criando assim um ficheiro nico que contem todos os fic
20. of data just before it is send to the other Must return the new data buffer static public function WriteComm sMsg return sMsg Function call by AProxy after read a chunk of data from the other point but before it is use by AProxy Must return the new data buffer Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 44 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos static public function ReadComm sMsg return sMsg Function call by AProxy after it finishes the communication with the remote point Usually use to clean internals and data static public function EndComm return gt 8 2 1 Esquema Funcional O m dulo AProxy o respons vel pela comunica o para fins de replica o ou sincroniza o entre o Servidor Local e o Servidor Original O controlo s devolvido biblioteca ICu ap s a conclus o da comunica o O processo de replica o ou de sincroniza o da total responsabilidade do Servidor Local Esta opera o pode demorar alguns segundos como demorar algumas horas Como em PHP n o existem m todos port veis para que se possam criar processos separados e controlados por uma mesma inst ncia esta opera o de sincroniza o efectuada em processos independentes que s o lan ados a correr no sistema operativo hospedeiro Como o PHP tamb m n o disponibiliza m todos port veis para a comunica o entre
21. para que a biblioteca possa ser utilizada correctamente s o os seguintes Global Contem informa o relativa vers o localiza o de directorias e defini es de constantes usadas na biblioteca Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 27 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Application Valores por omiss o usados pelo site Dever o ser sobrepostos no ficheiro de configura o local do site Databases Dados da base de dados onde a biblioteca guarda a informa o Modules Indica o dos m dulos que devem ser carregados previamente a qualquer opera o StandAloneCalls Lista dos Web Services internos e seus identificadores PreFilters Lista das rotinas a serem chamadas antes de qualquer processamento e ap s o carregamento dos m dulos WebServices Defini o das constantes a usar para a implementa o de Web Services pela aplica o WebServicesList Lista de todos os Web Services dispon veis com a identifica o do ponto de entrada no c digo 6 2 Entrada Entry Point A biblioteca fornece aplica o dois modos distintos de funcionamento Modo Transparente Neste modo o site desenvolvido independente da biblioteca Quando uma p gina requisitada e tiver inclu do no seu c digo a chamada biblioteca Call ICu Library require once pathTolCuLibrary ICu ICu inc
22. se a mesma j se encontra na tabela icuap dbkey Caso j exista a opera o a executar ser uma opera o de modifica o de dados no registo identificado pelo valor da chave prim ria armazenada na tabela icuap dbkeys caso ainda n o exista o sistema vai proceder inser o de um novo registo Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 55 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos registando o valor da nova chave e o valor da chave prim ria recebido criando assim um novo registo de equival ncia de chaves Quando a aplica o Web local cria um registo numa tabela o novo valor deve dar origem a um novo registo na tabela icuap dbkeys de modo a que quando o sistema for solicitar a cria o de uma nova lista de envio o valor local j se encontre registo na tabela sendo assim garantido a sua sincroniza o com o Servidor Original Antes de criar o ficheiro de envio e ap s a recep o do ficheiro do Servidor Local o m dulo AProxy vai tamb m modificar os campos dos registos que s o identificados como chaves estrangeiras usando a tabela icuap dbkey 8 3 3 4 Cria o da Lista de Registos a Sincronizar O sistema mant m uma tabela icuap dblist onde s o registadas todas as opera es efectuadas nos registos das tabelas Esta tabela apenas regista para cada registo a opera o executada o identificador da tabela envolvida e o respectivo valor da
23. 2 Oracle 28 04 2013 Obtido em 28 04 2013 de http www csee umbc edu http www csee umbc edu portal help oracle8 server 8 15 a6778 1 c3 lrepli htm 12636 M Wiesmann F Pedone A Schiper B Kemme G Alonso Understanding Replication in Databases and Distributed Systems Zangeneh I Moradi M amp Mokhtarbaf A 2011 The Comparison of Data Replication in World Academy of Science Engineering and Technology 59 pp 315 317 Jiandan Zheng B S M A 2008 Universal Data Replication Architecture Qiong Luo Sailesh Krishnamurthy C Mohan Hamid Pirahesh Honguk Woo Bruce Lindsay and Jeffrey F Naughton 2002 Middle tier Database Caching for e Business SIGMOD pp 600 611 Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 68 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 13 14 15 16 Pei Cao Jin Zhang and Kevin Beach Active Cache Caching Dynamic Contents on the Web Computer Sciences Department University of Wisconsin Madison S Balasubramaniam and B C Pierce Outubro 98 What is a file synchronizer In Fourth Annual ACM IEEE International Conference on Mobile Computing and Networking MobiCom 98 Technical report 507 Abril 1998 R G Guy P L Reiher D Ratner M Gunter W Ma and G J Popek 1998 Rumor Mobile data access through optimistic peer to peer replication ER 98 Workshop on Mobile Data Access pp 254 26
24. 3 Caching 3 3 1 Caching em Proxies Web Uma p gina din mica como j foi dito uma p gina que criada no servidor no momento em que requisitada pelo utilizador Ao contr rio a p gina est tica criada apenas uma vez gravada como um ficheiro e acedida posteriormente pelo servidor de p ginas Uma p gina est tica muda muito pouco ou mesmo nada durante o seu tempo til de vida Um dos maiores problemas no caching de p ginas din micas reside no pouco tempo em que uma p gina est dispon vel sem sofrer nenhuma altera o quer no seu layout quer no seu conte do Acresce a isto a possibilidade de uma mesma p gina poder ser diferente no seu layout e conte do mesmo quando se utiliza o mesmo URL por exemplo no caso de o site ser orientado para o utilizador e o controlo do utilizador ser feito internamente no servidor de p ginas 4 3 3 2 P ginas criadas previamente Uma das primeiras tentativas de resolver o caching de p ginas din micas foi conduzida por Jim Challenger Arun Iyengar e Paul Dantzig 3 Esta solu o proponha que a cria o de p ginas din micas n o fosse efectuada pelo servidor de p ginas na altura sua Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 16 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos requisi o mas sim por um daemon independente do servidor de p ginas Seria assim da responsabilidade deste daemon a cria o de no
25. 5 N Ramsey and E Csirmaz 2001 An algebraic approach to file synchronization 8th European Software Engineering Conference ACM Press pp 175 185 Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 69 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos APENDICES Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos AP NDICE I Groups ICu Generic Global Constants Global GB Constant Related to Application Info Application AP Constant Related to Database Info Databases DB Constant Services List Services SR Modules List Modules MD International International IT Constant Input Input IP Constant Stand alone Calls StandAloneCalls SA Constant Pre Filters PreFilters PR Constant Active Proxy Calls ActiveProxy APR Constant Web Services WebServices WS Constant Menus Menus MN Constant Users Users US Constant Application Licenses Licenses LC Constant Administrator Tools Admin AD Constant Images ICulmages IM Constant Global ICu Systrem Directorys ICUGBDirectoryBaseLibrary BaseLibrary ICUGBDirectory ModuleLibrary ICUGBDirectoryRemoteAccess Compact Options ICUGBCompactJSFiles ICUGBCompactCSSFiles ICUGBCompactHT
26. Instalado Instalado Pergunta Pergunta se deseja se deseja instalar instalar Instalar Mostra Servidor p gina recebida Instalar Instalar Servidor Site Refresca a pagina modificando URI para o Servidor Local Figura 12 Instala o do Servidor Local Site Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 61 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Como se pode ver na Figura 12 quando o utilizador requisita uma p gina que se encontra num servidor cujo site foi desenvolvido com a biblioteca ICu esta inclui c digo em Javascript que efectua algumas verifica es 2 e Primeiro efectuada a verifica o da exist ncia de um Servidor Local z Essa verifica o codificada pelo script criando um objecto iframe na p gina local cujo endere o http localhost Ap s a interpreta o do resultado caso n o exista um Servidor Local perguntado ao utilizador se deseja instala lo e se confirmado pelo utilizador instala o Servidor Local e Como o Servidor Local n o insere nenhum script nas p ginas que s o requisitadas o script parte do princ pio que o mesmo ainda n o se encontra instalado no Servidor Local pedindo se o utilizador deseja instalar o site localmente Se confirmado pelo utilizador instala o site no Servidor Local e Finalmente o script efectua o reload da p gina O Servidor Loca
27. JO O PAULO GRACIANO GON ALVES BARROCAS Acesso Offline a Conte dos Din micos Orientador Prof Dr Jos Quintino Rogado Universidade Lus fona de Humanidades e Tecnologias Departamento de Engenharia Inform tica e Sistemas de Informa o Lisboa 2013 JO O PAULO GRACIANO GON ALVES BARROCAS Acesso Offline a Conte dos Din micos Disserta o apresentada para a obten o do Grau de Mestre em Eng Inform tica e Sistemas de Informa o no Curso de Mestrado em Engenharia Inform tica e Sistemas de Informa o conferido pela Universidade Lus fona de Humanidades e Tecnologias Orientador Prof Doutor Jos Quintino Rogado Universidade Lus fona de Humanidades e Tecnologias Departamento de Engenharia Inform tica e Sistemas de Informa o Lisboa 2013 O motivo que convencer a maioria das pessoas a comprar um computador para a casa ser vinculando essa pessoa uma rede nacional de comunica es Somente estamos na etapa inicial do que ser um avan o realmente not vel para a maioria das pessoas t o not vel quanto o telefone Steve Jobs 24 2 1955 5 10 2011 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos AGRADECIMENTOS minha inten o agradecer a todos aqueles que estiveram ao meu lado durante este tempo oferecendo me o que podiam para me dar todo o nimo necess rio sua conclus o Agrade o tamb m a todos os outros que me dificultaram a vi
28. Lus fona de Humanidades e Tecnologias DEISI ECATI 52 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos de entrada principal do site Deste modo garantido que os ficheiros ser o gravados na sua localiza o correcta 8 3 3 Sincroniza o da Base de Dados A sincroniza o da informa o contida nas bases de dados um processo um pouco mais complexo pois existem algumas restri es que requerem um tratamento mais cuidado do problema a A possibilidade de n o se puder atribuir um identificador para a base de dados do Sistema Local id ntico ao identificador da base de dados instalada no Servidor Original b A possibilidade de existir uma modifica o na estrutura da base de dados usada pela aplica o c A integridade das chaves prim rias nos v rios sistemas nas opera es de sincroniza o d A manuten o da integridade dos dados segundo a sua temporalidade resultado das altera es aos dados nas bases de dados usadas pelos v rios sistemas Um dos problemas mais complexos que podem aparecer em sistemas deste tipo a introdu o de dois registos com um contexto l gico id ntico efectuado por dois utilizadores distintos em dois sistemas remotos distintos como por exemplo a introdu o simult nea de informa o id ntica Na solu o aqui apresentada esse problema n o equacionado Um dos aspectos mais importantes relacionado com sistemas deste tipo a quest o
29. MLFiles Modules RemoteSrv Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI II Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Application Phases ICUGBAppDevelopPhase ICUGBAppTestPhase ICUGBAppProductionPhase Serial Number ICUGBLicenseKey System States ICUGBSystemStateHalted ICUGBSystemStateRunning ICUGBSystemStateUpdating Actual System State ICUGBSystemState General Information ICUGBVersion Debug System ICUGBDebugActive Output Stack Type ICUGBOutputMeta ICUGBOutputCSS ICUGBOutputJS ICUGBOutputJSFile Application Default Application Parameters ICUAPAppPhase ICUAPIndexPage ICUAPAppVersion ICUAPAppName ICUAPAppCode ICUAPAutoEntryPage Databases Database Info ICUDBMasterServer ICUDBMasterDatabase ICUDBMasterUser ICUDBMasterPassword Modules FUDNQANTPKVQCRSDRSIKUVISDJIUDXXY TRUE WN e O s 4 index php index html index htm mn 1 mn 1 mn 1 Desktop Desktop EntryPoint php Tablet none Mobile none localhost cronware master cronware sysadm tn040404 System Modules entrance order is important mjQuery jQuery TRUE Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI HI Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos mICuError mICu mICulntl mICuLicense mICuInput mICuMenu mIC
30. Quando um n mero de s rie criado pelo servidor de licen as criada tamb m uma chave atrav s da aplica o do algoritmo de hashing md5 sobre esse mesmo n mero de s rie Esta chave usada por quest es de seguran a nas opera es de valida o de uma instala o e de verifica o da autenticidade da mesma substituindo a utiliza o do n mero de s rie nas comunica es A chave constitu da por 32 caracteres resultante da aplica o do algoritmo de hashing e criada e armazenada no mesmo instante em que criado o n mero de s rie Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 36 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 7 3 Valida o de uma Instala o da Biblioteca ICu Como referido anteriormente s ap s a valida o da instala o a biblioteca ICu pode ser utilizada Quando efectuada a chamada inicializa o da biblioteca esta vai verificar se ja se encontra validada com um n mero de s rie v lido Se n o for o caso solicitado ao utilizador a introdu o do n mero de s rie respeitante a essa instala o O n mero de s rie deve ser solicitado entidade que gere as licen as Ap s essa solicita o e uma vez aceite o numero de s rie enviado por email para o utilizador que o solicitou Uma vez introduzido o n mero de s rie a opera o de valida o efectuada pela biblioteca como descrito na figura seg
31. a designa o da tabela Quando a uma tabela marcada a op o de Receber est a ser indicado ao sistema que sobre essa mesma tabela s o efectuadas nos Servidores Locais altera es aos dados Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 59 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Na situa o anterior dever sempre marcar se ambas as opera es Enviar e Receber para que a informa o alterada num Servidor Local seja replicada em todos os outros Servidores Locais Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 60 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 9 Servidor Local Quando um utilizador acede a um site que esteja a usar a biblioteca ICu e ainda n o tiver instalado o Servidor Local apresentado ao utilizador um di logo onde lhe perguntado se deseja instalar o Servidor Local para que possa passar a poder usufruir do acesso ao site mesmo quando o acesso rede inexistente O m dulo AProxy se activo e com origem no Servidor Original vai incluir c digo em Javascript na p gina de entrada para detectar a exist ncia ou n o do Servidor Local O c digo usado para a detec o dessa exist ncia implica que o browser usado suporte HTML 5 pois usa o evento onmessage s definido a partir desta vers o Pedido Browser Site Original Servidor Site
32. a do pedido com dois d gitos e d representa o dia do m s da hora do pedido com dois d gitos e H representa a hora da hora do pedido com dois d gitos em formato de 24 horas e Ji representa os minutos da hora do pedido com dois d gitos e s representa os segundos da hora do pedido com dois d gitos Esta cadeia designada como Assinatura e valida durante 30 segundos Se n o for efectuado um pedido de valida o de um n mero de s rie nos subsequentes 30 segundos esta assinatura torna se inv lida e o processo de valida o ter que ser repetido de in cio outra vez 7 3 2 Cadeia de Valida o de Numero de S rie Ap s a recep o da Assinatura o cliente vai gerar uma cadeia alfanum rica que deve enviar ao servidor de licen as para que este retorne a validade do n mero de s rie introduzido pelo utilizador Esta cadeia constru da baseada na Assinatura recebida do servidor de licen as e do n mero de s rie introduzido pelo utilizador usando a seguinte sequ ncia de opera es 1 Aplica o algoritmo de hashing md5 ao numero de s rie 2 cadeia alfanum rica resultante vai concatenar a Assinatura recebida do Servidor de Licen as 3 cadeia alfanum rica resultante vai aplicar o algoritmo de hashing md5 resultando assim uma cadeia alfanum rica de 32 caracteres Ap s a cria o desta cadeia alfanum rica a mesma ser enviada ao Servidor de Licen as para valida o 7 4 Valida o de uma inst ncia de uma Bib
33. a generaliza o do acesso Internet introduziu significativas mudan as nas sociedades Essas mudan as s o vis veis na altera o que muitos comportamentos tiveram pelo simples facto da dist ncia e do tempo de comunica o se terem reduzido drasticamente Hoje em dia assiste se a uma depend ncia crescente relativa ao suporte inform tico para a realiza o de tarefas que na sua aus ncia deixam de ser poss veis de realizar Se no que respeita aos aspectos recreativos ou de lazer esta falta de acessibilidade poder n o incutir press o nos agentes j a n vel empresarial e profissional as suas consequ ncias poder o acrescentar n veis de press o adicionais podendo ter consequ ncias negativas na produtividade Apesar da evolu o enorme que se tem assistido na cobertura territorial no aumento da qualidade e da largura de banda da infra estrutura necess ria ao suporte da comunica o existem ainda grandes superf cies do planeta em que essa comunica o insuficiente ou mesmo imposs vel Se adicionarmos a esta situa o casos em que o acesso Internet ainda n o generalizado tais como avi es comboios e autocarros ou em casos de acidentes naturais apag es etc perduram ainda muitas situa es em que o utilizador fica impossibilitado de aceder Internet Por outro lado o sentido actual da evolu o do software acentua cada vez mais a dilui o entre os aplicativos e a rede Internet tornando o utilizador c
34. a linguagem local das aplica es O servidor de p ginas WEB da apache org o aplicativo mais usado na rede h um consider vel n mero de anos tendo provado ser uma plataforma fi vel bem assim como o mysql Como ambos existem em numerosos sistemas operativos a sua escolha garante um bom grau de portabilidade da solu o aqui proposta que poder ser um caso a equacionar caso se pretendam suportar outras tecnologias Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 22 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 5 1 Esquema Funcional A solu o desenvolvida encontra se esquematizada na figura seguinte Servidor WEB Original Aplica o PHP Framework Aplica o Servidor de Licen as Servidor Cliente Local Proxy Browser Figura 2 Esquema Geral da Solu o Como representado na Figura 2 um servidor de p ginas n o necessita de altera es para poder suportar o sistema proposto Uma aplica o que deseje utilizar o sistema apenas necessita de incluir no c digo fonte de PHP a refer ncia biblioteca que gere todo o processo Quando um cliente contacta um servidor de p ginas que suporta esta solu o a biblioteca trata de reconverter o c digo da p gina requisitada de modo a que quando esta chegar ao browser do cliente sejam executadas um conjunto de opera es que v o detectar se o cliente j tem instalado um sistema
35. a rotina de inicializa o vai interpretar o pedido URI da p gina Se esse pedido vier especificamente de um Servidor Original esse pedido ent o enviado para rotinas internas da biblioteca para que seja processado Uma vez o pedido satisfeito o processamento poder ou n o seguir para a p gina onde originalmente foi efectuada a chamada inicializa o da biblioteca Modo ICu Neste modo o desenvolvimento do site baseado na biblioteca ICu Embora n o seja substancialmente diferente do anterior existem as seguintes diferen as e A directoria de entrada do site pode conter s a p gina de entrada normalmente ndex php estando todo o resto do site numa directoria Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 28 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos parte Neste caso dever incluir se antes da chamada de inicializa o da biblioteca o seguinte c digo If my site is on other directory ICUAPDirectoryEntry newDirectory A entrada dever ser efectuada sempre usando a p gina de entrada normalmente ndex php A biblioteca p e disposi o m todos para se aceder a todas as outras p ginas Para se fazer upload de ficheiros dever sempre usar se as rotinas da biblioteca Em ambos os casos a biblioteca vai acrescentar ao header da p gina de resposta a seguinte entrada AProxy lt Vers o gt lt Assinatu
36. ada vez mais dependente do acesso infra estrutura A necessidade de acesso a uma grande diversidade de informa o e a necessidade de aceder a bases de dados de grande volume como por exemplo aplica es baseadas em sistemas SIG criou uma nova direc o no desenvolvimento aplicacional No sentido de fazer face a situa es em que o acesso rede n o est dispon vel de forma constante s o desenvolvidos muitos aplicativos que permitem continuidade na utiliza o mesmo sem acesso rede A implementa o deste tipo de aplicativos implica um esfor o extra de desenvolvimento e manuten o de vers es diferenciadas devido sua depend ncia relativamente aos diversos sistemas operativos e plataformas onde v o correr Por este motivo n o vulgar encontrar no mercado aplicativos que permitam uma utiliza o transversal nas variadas plataformas utilizadas actualmente especialmente no mercado de aparelhos m veis Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 7 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Como consequ ncia nos casos em que a actividade dos utilizadores est dependente da continuidade de servi o o respectivo rendimento pode ficar seriamente comprometido em caso de falha de acesso rede Hoje em dia a utiliza o de browsers para aceder informa o generalizada e comum Esta tecnologia no momento actual a que se encontra mais desenv
37. adicionada e ou sobrepor se s directrizes do ficheiro de configura o inicial da biblioteca A sintaxe deste ficheiro a vulgarmente utilizada em ficheiros de configura o do Linux o ficheiro dividido em sec es sendo definida em cada sec o uma ou mais vari veis O ficheiro base de configura o da biblioteca encontra se descrito no Ap ndice I Na sec o Groups cf Ap ndice I s o definidas algumas entradas que caracterizam sec es que se encontram definidas mais frente no ficheiro Por exemplo a entrada Global GB Constant Indica que mais frente ir ser definida uma sec o Global cf Ap ndice I na qual todos os identificadores das suas vari veis devem come ar por GB e que a biblioteca dever criar automaticamente as respectivas constantes em PHP Exemplificando e dentro do exemplo da linha anterior a seguinte entrada existente na sec o Global cf Ap ndice I ICUGBDirectoryBaseLibrary BaseLibrary vai definir no c digo em PHP a constante ICUGBDirectoryBaseLibrary neste caso especifico com a directoria onde se encontra o c digo base da biblioteca Todos os m dulos existentes se necessitarem de declarar objectos gerais dever o estar configurados neste ficheiro Qualquer um destes valores poder ser alterado como referido atr s no ficheiro de configura o se existente localizado na directoria de entrada do site As sec es cf Ap ndice I obrigat rias
38. ado de acordo com o seguinte Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 31 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos e ICUPRStopAndExit O processamento da p gina interrompido imediatamente sendo devolvido todo o output gerado at ao momento ao cliente e ICUPRStopChain O processamento da lista de m todos interrompido e o processamento passado para a etapa seguinte na biblioteca e ICUPRContinue A chamada ao m todo resultou em sucesso sendo ent o efectuada a chamada ao pr ximo m todo da lista Como exemplo o m dulo AProxy usa este sistema para se identificar ao cliente como sendo um sistema base de replica o e sincroniza o A lista de m todos a serem invocados encontra se definida no ficheiro inicial de configura o da biblioteca dentro da sec o PreFiltersList A sua sintaxe a seguinte lt ID do Filtro gt lt M todo gt Onde e lt ID do Filtro gt um identificador nico na lista e lt M todo gt Identificador do m todo a ser invocado Como exemplo temos ActiveProxyPreFilter mAProxy PreFilter Neste caso ser invocado o m todo mAProxy PreFilter antes de a biblioteca retornar ap s a chamada sua inicializa o 6 5 Gestor de Web Services A biblioteca inclui um m dulo que automatiza e uniformiza a constru o e implementa o de Web Services A biblioteca vai analisar o URI requis
39. altera o a efectuar quando se pretender aplicar a um sistema j desenvolvido consiste na inclus o de uma linha de c digo em PHP no in cio de cada p gina que serve de entrada directa ao site Exemplificando supondo um sistema j desenvolvido que contenha as seguintes p ginas como p ginas directas de entrada e index php e abc php e def php As altera es a efectuar em cada p gina a inclus o do seguinte c digo logo ao in cio de cada zona do PHP Call ICu Library reguire once lt pathToICuLibrary gt ICu ICu inc onde pathToICuLibrary uma vari vel que indica a localiza o da biblioteca da responsabilidade desta biblioteca fornecer todos os servi os necess rios para que um site possa ser replicado e sincronizado de modo a ser acedido offline tamb m responsabilidade desta biblioteca todo o processamento na parte do cliente para criar a c pia do site e mant lo sincronizado Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 24 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 5 3 Servidor Local CLIENTE Browser Pedido de P gina Pedido e resposta a site Resposta do pedido Proxy Local Pedido e resposta ao site Rede remoto n o replicado Sincroniza o local replicado Servidor Local ficheiros dados Base de Dados Local Figura 3 Diagrama Funcional do Cliente O Servidor Local
40. aplicadas a um c digo origem de modo a poderem funcionar como tradutores de linguagem Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 67 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Bibliografia 1 2 3 9 10 11 12 Global Workplace Analytics 6 05 2012 Latest Telecommuting Statistics Obtido em 06 05 2012 de http www globalworkplaceanalytics com http www globalworkplaceanalytics com telecommuting statistics Jet Propulsion Laboratory 2009 Strategic Technology Directions 2009 Jim Challenger Arun Iyengar and Paul Dantzig 1999 A scalable System for consistently Caching Dynamic Web Data Proc IEEE INFOCOM 99 Pei Cao Jin Zhang and Kevin Beach 1998 Active Cache Caching Dynamic Contents on the Web Proc IFIP International Conference on Distribute Systems Plataforms and open Processing Qiong Luo Jeffrey F Naughton Rajasekar Krishnamurthy Pei Cao and Yunrui Li 2000 Active Query Caching for Database WebServers WebDB pp 29 34 A revised version appeared in Lecture Notes in Computer Sciences Vol 1997 Springer Verlag 2001 92 104 Ikram Chabbouh and Mesaac Makpangou Outubro 2004 Web Content Caching and Distribution 9th International Workshop WCW 2004 Beijing China pp 18 20 T T Tay and Y Zhang Abril 2005 Minimal web patch generation for incremental web Caching IEE Proc Commun Vol 152 No
41. apoia esa 6 2 Entrada Entry OUD sos Gs catalase ad cabastrcaeiaedaues Secmbaatasesgcedson PSA RR ERRAR 6 3 Gestor de MOdUIOS cs ssa ss asin te ena eine a ecasgases mina 6 4 Gestor de Filtros Inicia csen sec itt cess tina eine 6 3 Gestor de Web Services eat oe te cS eh led Se olay alata teh ect 6 6 Gestor de Servi os Internos gesiabraa ia aaa GT Sa eee ed ne 6 7 Pr processamento da POSING unas cabins sra do Rr bt Er id Rida Te sistema de LICEN AS oss ses smaniaaas iria vii id asia Tag PIN UIT O TE V re ar a soca lec io na plo AA add Ei LA 7 2 Chave d Identifica o issu seccdsates canaguessca canine a 7 3 Valida o de uma Instala o da Biblioteca ICU ccccscceeseceeeseceesseceenseceenees ul Cna o da Assinatura GAG 55s caras n aaa RED vs an A es RE ato 7 3 2 Cadeia de Valida o de Numero de S rie 7 4 Valida o de uma inst ncia de uma Biblioteca ICU ccceeseceeeseceesseceenteceennees Fo WED SEV ICES chase ia tit So EA sala can E a O E TOA WSBESINRE SIS FEL gps zerado gatas i nas dna Pala AO daca E Tati gas dador 1X2 WSENARE PI SCE Si eee da as sad ag ua eke nde academe Se TO SCORE MAUS sos ss aS ls IE Sa 2 PA KOELE TIDE Y a Ory ET T T TT 8 1 Configura o do M dulo sisiccscsssscvinssscasavetanacteaiscatavactesstatenctiavenstivarsiacsitaesncseees 8 2 Adi o de um novo Protocolo de Comunica o ccccscceeeseceeeseceenteceenteceenneeees 8 2 1 Esquema F ci nal nienia a R E aa 8 2 2 MCom
42. as de se acrescentar uma linha de c digo para que o sistema fique a funcionar esta biblioteca foi criada com o objectivo de fornecer com algumas restri es referidas mais frente suporte para novas aplica es pondo disposi o do programador um conjunto de funcionalidades adicionais A figura seguinte representa o diagrama funcional da biblioteca Gestor de M dulos Entrada Entry Point Gestor de MONNE Filtros Inicias Gestor de Web Services Modulo N Gestor de Servi os Internos Pre processamento da p gina Figura 4 Diagrama Funcional da Biblioteca Os requisitos m nimos para a instala o desta biblioteca s o a exist ncia de um servidor de p ginas que integre um interpretador PHP e a possibilidade de acesso a uma base de dados mysql sendo a presen a desta necess ria para o funcionamento da biblioteca Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 26 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 6 1 Ficheiro de configura o Ao ser iniciada a biblioteca a configura o de arranque lida de um ficheiro de configura es Esse ficheiro Config contem toda a informa o para a sua configura o Ainda na inicializa o depois da leitura deste ficheiro a biblioteca vai verificar a exist ncia de um ficheiro com o mesmo nome na directoria de entrada do site Caso este exista essa configura o ir ser
43. ases de dados estamos a falar da cria o de uma c pia exacta de uma base de dados de uma tabela etc procedimento vulgar em casos de sistemas sujeitos a uma elevada taxa de acesso permitindo assim dividir esses acessos pelas v rias bases de dados replicadas ou copiadas diminuindo assim o tempo de resposta dos sistemas Quando se fala em sincroniza o estamos a referir nos ao processo de reposi o de um estado comum entre duas ou mais entidades por exemplo duas bases de dados em que uma contem toda a informa o existente base de dados original e outra que apenas contem a informa o necess ria para satisfazer pedidos espec ficos das aplica es que a ela acedem Neste caso a informa o armazenada nas duas bases de dados n o t m que ser necessariamente a mesma 4 1 Replica o e sincroniza o em Bases de Dados Replication is the process of copying and maintaining database objects in multiple databases that make up a distributed database system Changes applied at one site are captured and stored locally before being forwarded and applied at each of the remote locations Replication provides user with fast local access to shared data and protects availability of applications because alternate data access options exist Even if one site becomes unavailable users can continue to query or even update the remaining locations 8 A replica o e ou sincroniza o de bases de dados s o t cnicas utilizadas em sist
44. astaria aos proxies passarem a requisitar ao servidor de p ginas apenas as partes da p gina consideradas din micas O nico problema desta solu o reside na presun o de que o layout das p ginas muda muito poucas vezes durante o seu tempo til de vida o que n o verdade em muitos casos e o maior exemplo disso continua a ser o caso das p ginas orientadas para o utilizador em que a mesma p gina pode aparecer completamente diferente a dois utilizadores distintos Mas esta n o foi a nica direc o de investiga o seguida no sentido de aproveitar a independ ncia existente entre o layout de uma p gina e o seu o conte do 3 3 4 XML XML Extensible Markup Language um subconjunto do SGML Standard Generalized Markup Language um standard internacional criado em 1986 pela W3C para a defini o da descri o de estruturas e conte dos de diferentes tipos de documentos electr nicos O seu objectivo o de permitir que cita es gen ricas de SGML sejam servidas recebidas e processadas na Web de modo id ntico ao que poss vel com o HTML No essencial quando surge um pedido para servir uma determinada p gina o servidor retorna a p gina como se de uma p gina est tica se tratasse Essa p gina cont m apenas o layout da mesma Incluso dever vir a informa o necess ria para a refer ncia da p gina ou p ginas que cont m os dados Esta aproxima o leva a que a p gina inicial layout seja tratada como uma p
45. ativo para criar esta lista vai ler todos os ficheiros presentes no sistema local de ficheiros verificando a sua sintaxe em PHP interpretando todas as chamadas s fun es require require once include e include once para assim percorrer toda a rvore de ficheiros do site A configura o do tipo de opera o a executar na replica o e sincroniza o nos ficheiros existentes em cada directoria a seguinte Enviar Indica ao sistema que todos os ficheiros desta directoria devem ser exportados para os Servidores Locais de cada vez que s o modificados Receber Indica ao sistema que todos os ficheiros desta directoria devem ser s importados dos Servidores Locais para o Servidor Original do site Estas directorias s o directorias que s o usadas quando os aplicativos necessitam de opera es de upload de ficheiros Para que ao importar n o apare am ficheiros com identificadores iguais o aplicativo dever fazer uso do m todo AProxy GetUploadFilename da biblioteca ICu Este m todo providencia um identificador nico e garante que no momento da exporta o do ficheiro este n o vai ter um identificador igual a nenhum outro de outros Servidores Locais Dir Entrada Indica ao sistema qual a directoria raiz de entrada do site Normalmente esta directoria identificada automaticamente pelo sistema mas no caso de n o estar correcto permitir se a sua correc o 8 4 2 Configura o de Sincr
46. cativos existentes e comprovados no mercado permitindo assim uma maior fiabilidade da solu o proposta Nessa perspectiva e para n o tornar muito complexa a solu o final optou se por reduzir o grupo alvo quer de sistemas operativos quer de linguagens usadas no desenvolvimento de aplica es WEB Sendo assim a solu o foi desenvolvida especificamente para sistemas cliente a correr o sistema operativo Windows embora a sua migra o para sistemas Linux n o seja complexa e para aplica es WEB que usem o PHP como linguagem base Na parte do servidor de p ginas foi desenvolvido uma biblioteca em PHP para o suporte s aplica es que pretendam usar o m todo desenvolvido para proporcionar um acesso off line respectiva aplica o A biblioteca suporta como motor de base de dados o mysql O desenvolvimento desta biblioteca pautou se pelo cuidado em manter o mais transparente poss vel a sua presen a para que a sua utiliza o em aplica es j existentes seja a menos intrusiva poss vel Na parte do cliente sendo a parte mais sens vel de toda solu o teve se o cuidado de tentar encontrar a solu o que menos interac o com o utilizador tivesse Tamb m aqui procurou se usar como base aplicativos bastantes divulgados e com um tempo de utiliza o no mercado que permitisse assegurar a maior fiabilidade poss vel A escolha recaiu sobre o Apache como servidor local e proxy o mysql como base de dados local e o PHP
47. colos por exemplo o protocolo ftp File Transfer Protocol ou o http Hypertext Transfer Protocol para falar nos mais usados 3 1 Proxy Ftp e Proxy Web Um Proxy FTP o mais eficiente em termos de caching pois envolve basicamente opera es de manuten o remota e transfer ncia de ficheiros O protocolo ftp tem entre outras caracter sticas a capacidade de poder na maior parte das implementa es saber a data da ltima actualiza o de qualquer ficheiro remoto informa o preciosa em qualquer sistema Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 14 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos de caching Os algoritmos de caching deste tipo de proxies continuam a ser os mesmos que s o usados na generalidade dos proxies no entanto o algoritmo de expira o de ficheiros da cache geralmente substitu do pelo seguinte algoritmo a O proxy recebe o pedido de um ficheiro Vai verificar a sua exist ncia e data da ltima actualiza o no servidor requerido Caso o ficheiro j n o exista remove o da cache local se necess rio e retorna o erro correspondente b Seo ficheiro existir no servidor remoto e a data da ltima actualiza o n o for fornecida pelo servidor de FTP da origem s o usados ent o os algoritmos de expira o j referidos atr s para o proxy decidir se o ficheiro remoto dever ser actualizado na cache local c Sea data da ltima
48. comunica o para efeitos de replica o ou sincroniza o com outro sistema lt Codigo gt um c digo nico que vai identificar o protocolo entre os v rios sistemas O c digo dever incluir tamb m a sua vers o lt Descritivo gt uma descri o geral do protocolo 2 Criar uma directoria abaixo da directoria Filters que se encontra dentro da directoria de instala o do AProxy O identificador da nova directoria deve ser exactamente id ntico ao identificador dado classe retirando o car cter m inicial Dentro da directoria criada dever existir um ficheiro com o mesmo identificador dado directoria seguido da extens o inc 3 Cria o do c digo em PHP relativo ao protocolo O prot tipo do c digo a desenvolver o seguinte class mRawProtocol 4 Function call by AProxy when it pretends do begin a communication with a remote Can return Information to send to the remote point static public function InitComm nCdSites wr return Function call by AProxy when it begins to communicate with the remote point The parameter receives any data send from the remote point data resulting from the return of InitPoint function of the remote point point Must be call once for each communication session Returns TRUE on success and FALSE on error static public function BeginComm sGeneralData return TRUE Function call by AProxy for each buffer
49. da neste per odo pois foi a que fui arrancar toda a for a necess ria para terminar este trabalho nesta fase dif cil da minha vida A Qiong Joan Luo do Departamento de Ci ncias e Engenharia da Computa o da Universidade de Ci ncias e Tecnologias de Hong Kong pela amabilidade de por disposi o os seus trabalhos na rea que levaram a uma ideia mais concreta do desenvolvimento desta solu o Um agradecimento especial ao Professor Jos Rogado pela paci ncia que teve para me ouvir e aconselhar durante todo o mestrado Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 1 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos RESUMO A grande maioria dos sites hoje em dia usa a cria o de p ginas din micas para fornecer informa o A cria o dessas p ginas utiliza geralmente informa o armazenada em bases de dados Hoje em dia o recurso rede tornou se comum e necess rio em todas as reas desde o lazer ao trabalho Em condi es adversas de acesso rede tais como localiza es remotas ve culos em movimento cat strofes naturais guerras etc e em situa es em que o acesso a recursos existentes na rede seja indispens vel a sua indisponibilidade pode causar graves problemas Esta tese apresenta um modo alternativo de funcionamento que independentemente de falhas do acesso rede permite continuar a usar alguns recursos essenciais por esta fornecid
50. da valida o de um n mero de s rie na instala o de uma biblioteca ICu Utiliza o http www icuframework com WSRQST USBGRG Retorno O lt Assinatura gt em caso de sucesso WS ERROR E USBGRG 001 em caso de erro Em caso de sucesso lt Assinatura gt como especificado em 7 3 1 Cria o da Assinatura 7 5 2 WSEndRegister Este servi o p e disposi o o segundo passo da valida o de um n mero de s rie na instala o de uma biblioteca ICu Utiliza o http www icuframework com WSRQST USENRG amp K lt CadeiaAlfanumerica gt lt CadeiaAlfanumerica gt tem o formato especificado em 7 3 2 Cadeia de Valida o de Numero de S rie Retorno O em caso de sucesso WS ERROR lt MensagemErro gt em caso de erro MensagemErro tem os seguintes significados e E USENRG 001 Par metro K no URL n o existente e E USENRG 002 Assinatura com prazo de validade ultrapassado Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 40 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos E USENRG 003 Acesso ao sistema temporariamente encerrado E USENRG 004 Assinatura j em uso E USENRG 005 Numero de S rie inv lido E USENRG 006 Assinatura inv lida 7 5 3 WSCheckSignature Este servi o disponibiliza a verifica o de uma Assinatura Utiliza o http www icuframework com WSRQST USCHSG amp K
51. de cada tabela q o numero de registos por tabela Esta estrutura permite que sejam mais tarde se necess rio acrescentados mais itens ao ficheiro de envio A posi o F 2 do array s criada e enviada pelo Servidor Original em resposta a um pedido de sincroniza o efectuado por um Servidor Local A informa o dos ficheiros a considerar pelo Servidor Original quando cria a lista de ficheiros a enviar armazenada numa tabela da base de dados de controlo da biblioteca ICu As tabelas que s o usadas pelo AProxy na base de dados de controlo da biblioteca ICu usam o prefixo icuap_ O m dulo AProxy cria as seguintes tabelas na base de dados de controlo icuap domains Esta tabela define para cada site um conjunto de dom nios de exporta o Estes dom nios podem ser entendidos como perfis de sincroniza o De momento apenas se encontra definido um perfil fixado como universal e de acesso p blico icuap files Esta tabela mant m a lista de ficheiros por dom nio a considerar na cria o da lista de ficheiros a sincronizar icuap db Esta tabela mant m a lista de bases de dados por dom nio a considerar na cria o da lista de dados a sincronizar icuap dbtables Esta tabela mant m a lista de tabelas a considerar na cria o da lista de dados a sincronizar por cada registo da tabela icuap db icuap dbcols Esta tabela mant m a lista de colunas a considerar na cria o da
52. dificada pelo algoritmo JSon e representa uma estrutura em array Foi escolhida esta estrutura pois a maioria das linguagens usadas hoje em dia no desenvolvimento para a Web t m este algoritmo implementado tornando assim mais r pido o desenvolvimento de solu es al m de o desenvolvimento de c digo que trata informa o ser facilitado com o uso de arrays A defini o desse array a seguinte em que o identificador F identifica o array enviado F 0 Inclui toda a informa o respectiva ao sistemas de ficheiros F 1 Inclui toda a informa o respectiva aos dados da base de dados F 2 Inclui toda a informa o relativa a equival ncias de chaves prim rias Registo do sistema de ficheiros F 0 0 n 0 A data de altera o em tempo GMT F 0 0 n 1 O nome do ficheiro sem caminho F 0 0 n 2 O tamanho do ficheiro em bytes F 0 0 n 3 Caminho completo do nome do ficheiro a partir da directoria de entrada do site Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 49 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos F 0 0 n 4 Imagem do ficheiro codificada usando a fun o escape do Java Script F 0 0 n 5 1 um caso seja um ficheiro de upload local O zero caso contr rio Em que e n o numero de ficheiros enviados Registo da informa o da base de dados F 1 0 m 0 Identifica o da base de da
53. dos F 1 0 m 1 n 0 Identifica o da tabela F 1 0 m 1 n 1 0 p 0 Identifica o do campo da tabela F 1 0 m 1 n 1 0 p 1 Se pertencer chave prim ria qual a ordem na mesma F 1 0 m 1 n 1 0 p 2 Tipo do campo e S Caracter e F Numerico e D Data e M Bin rio F 1 0 m 1 n 1 0 p 3 Comprimento em bytes do campo F 1 0 m 1 n 1 0 p 4 Valor por defeito em caso de inser o de registos F 1 0 m 1 n 1 0 p 5 O zero n o permite o valor NULL 1 um caso contr rio F 1 0 m 1 n 1 0 p 6 Caso o campo seja uma chave estrangeira o identificador da respectiva tabela F 1 0 m 1 n 2 Tipo de opera o I Inser o U Modifica o de dados D Remo o do registo F 1 0 m 1 n 3 0 q 0 p Valor do campo codificado usando a fun o escape do Java Script Registo de chaves prim rias F 2 0 m 0 Identifica o da base de dados F 2 0 m 1 n 0 Identifica o da tabela F 2 0 m 1 n 1 Valor da chave prim ria no Servidor Local F 2 0 m 1 n 1 Valor da chave prim ria no Servidor Original Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 50 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Em que m o numero diferentes de bases de dados usadas n o numero de tabelas usadas por base de dados p o numero de campos
54. dos Servidores Locais esta tabela usada para efectuar a equival ncia dos identificadores das bases de dados locais do Servidor Local s bases de dados remotas dos Servidores Originais s quais os Servidores Locais est o a replicar Esta equival ncia de identificadores origina um pequeno problema no c digo usado no desenvolvimento das aplica es Se por um lado e como geralmente a informa o necess ria para se efectuar uma liga o a uma base de dados codificada apenas num ficheiro por quest es de n o repeti o de c digo de lembrar que o sistema aqui desenvolvido replica n o s dados mas tamb m os respectivos ficheiros de c digo inclusive aqueles que contem a informa o necess ria a essa liga o s bases de dados Existem alguns m todos para esvaziar este problema um deles seria por exemplo usar um ficheiro de configura o especial que partida se garantiria que n o seria sincronizado mas isso levava sempre a uma interven o manual do utilizador para indicar a localiza o desse mesmo ficheiro e quais os seus valores exigindo da parte do utilizador um conhecimento que partida n o se pode exigir A biblioteca ICu disponibiliza uma solu o para quando a aplica o utiliza apenas uma base de dados na sua aplica o a classe mICuDB Esta classe pode ser acedida em qualquer parte do c digo desde que o uso da biblioteca ICu tenha sido inclu do no c digo Os dados de configura o da base d
55. e dados podem ser inclu das no ficheiro local de configura o local Config na sec o Databases como se mostra de seguida Databases Database Info ICUDBLocalServer localhost ICUDBLocalDatabase base_dados_local ICUDBLocalUser administrador_local ICUDBLocalPassword password_local A biblioteca ICu garante que quando da instala o inicial do site no Servidor Local estes valores ser o actualizados automaticamente e n o ser o modificados por qualquer sincroniza o posterior Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 54 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Quando a chamada inclus o da biblioteca ICu for efectuada uma das opera es processadas pela biblioteca a verifica o da liga o respectiva base de dados e se os dados estiverem correctos iniciada uma liga o A partir deste ponto a classe mICuDB p e disposi o do programador a propriedade mICuDB hSqiLocal que representa uma liga o activa base de dados local 8 3 3 2 Modifica o da Estrutura das tabelas Em cada lista de envio vem cf 8 3 1 Ficheiro de Envio a estrutura completa da tabela Esta informa o vai permitir ao sistema que recebe a lista de envio verificar se a estrutura da tabela local se manteve sem altera es desde a ltima recep o da lista de envio Caso existam diferen as antes de ir sincronizar os dados o s
56. e das empresas hoje em dia recorre ao uso de comunica es m veis para o suporte ao trabalho no campo dos seus vendedores Estes muitas vezes e por falta de acesso rede em certos locais t m que deixar para mais tarde a actualiza o da sua actividade aumentando assim o tempo necess rio execu o das suas tarefas Embora j existam trabalhos 2 no sentido da cria o de um standard para redes de comunica o tolerantes a falhas ou lat ncia na comunica o no entanto ainda n o se encontram no mercado solu es finais n o propriet rias prontas a ser utilizadas pelo analista e pelo programador para o desenvolvimento de aplica es tolerantes a falhas de comunica o 1 2 Contribui o Quando existem situa es em que necess rio o trabalho online remoto e as condi es de acesso rede n o s o fi veis a solu o passa normalmente por desenvolver software espec fico para os dispositivos usados A solu o aqui proposta permite que para situa es em que o acesso rede inst vel ou inexistente se possam desenvolver aplica es Web Based utiliz veis em v rias plataformas evitando desenvolver aplica es espec ficas para cada dispositivo ou sistema operativo Este facto permite assim a redu o de custos na implementa o de sistemas de trabalho remoto e ao mesmo tempo aumentar o tempo de ciclo de vida desse sistemas pois o desenvolvimento deixa de ficar dependente das evolu es que os sistemas
57. elo Servidor Local quando este recebe pela primeira vez um pedido de um site cujo Servidor Original ainda n o se encontra na lista de servidores mantidas pelo Servidor Local Nesse caso a sequ ncia de opera es a seguinte 1 Envia um pedido ao Servidor Original da sua chave de identifica o enviando a sua pr pria chave de identifica o junto ao pedido 2 O Servidor Original usa a chave enviada pelo Servidor Local para a validar com o Servidor de Licen as 3 Caso essa chave seja validada pelo Servidor de Licen as o Servidor Original devolve a sua pr pria chave ao Servidor Local Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 39 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 4 O Servidor Local ap s receber a chave enviada pelo Servidor Original vai enviar um pedido ao Servidor de Licen as para validar a chave recebida 5 O Servidor de Licen as valida a chave 6 O Servidor Local armazena a informa o no seu reposit rio local e a partir dai todos os sites provenientes desse Servidor Original que se encontrem j instalados no Servidor Local passar o a ser servidos pelo Servidor Local 7 5 Web Services O Servidor de Licen as que se encontra em http www icuframework com p e disposi o tr s Web Services para a execu o das opera es atr s descritas 7 5 1 WSBeginRegister Este servi o p e disposi o o primeiro passo
58. emas com elevado numero de acessos pois ao distribuir por v rias bases de dados os pedidos o tempo de acesso de cada pedido assim reduzido 9 Existem muitos estudos sobre replica o e sincroniza o de bases de dados mas na sua generalidade cada implementa o exige uma aproxima o particular 10 10 No entanto outros estudos v o no sentido de uniformizar os m todos de replica o e sincroniza o 10 11 12 para que motores de bases de dados heterog neos possam comunicar entre si directamente e procederem s opera es de replica o e ou sincroniza o Hoje em dia as bases de dados existentes j incluem na sua distribui o original mecanismos de replica o e sincroniza o Embora esta situa o pare a partida uma mais Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 20 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos valia na realidade prende o desenho de um sistema distribu do de gest o de base de dados a um s fabricante pois os m todos postos disposi o s o propriet rios e exclusivos de fabricante para fabricante Esta situa o talvez a mais limitativa implementa o de um sistema que necessite de manter c pias sincronizadas entre v rios sistemas especialmente quando esses sistemas s o desenhados e mantidos por entidades distintas 4 2 Replica o e sincroniza o de Ficheiros A replica o e sincroniza o de f
59. eplicado exista a certeza onde est instalado Cada instala o da biblioteca recebe um n mero de s rie e uma chave no momento em que instalada Essa chave usada como identifica o pelas v rias instala es da biblioteca O servidor de licen as usado tamb m para verifica o da autenticidade das chaves e por consequ ncia da valida o da autenticidade da biblioteca Na implementa o do Servidor de Licen as foi usada a biblioteca ICu sendo assim o servidor segue as normas definidas na biblioteca para a comunica o mais concretamente os Web Services O armazenamento dos dados efectuado na base de dados de controlo que criada quando da instala o da Biblioteca ICu 7 1 N mero de S rie Cada instala o da biblioteca tem que obrigatoriamente ter activo um n mero de s rie nico Esse n mero de s rie composto por uma cadeia alfanum rica de 32 caracteres Os caracteres usados s o do caracter A ao Z O ultimo caracter da cadeia serve de caracter de controlo e constru do efectuando seguintes opera es 1 guardada a soma do c digo ASCII dos outros 31 caracteres 2 divido por 26 e toma se o resto da divis o 3 Ao resultado somado o valor de 65 valor ASCII do car cter A Os n meros de s rie s o criados pelo servidor de licen as e armazenados com a indica o de inv lidos at serem validados por uma instala o da biblioteca ICu 7 2 Chave de Identifica o
60. gina est tica Essas p ginas layouts cont m no seu texto o endere o ou endere os das p ginas que cont m os dados a inserir no respectivo layout para que o proxy ou o browser procedem ao respectivo pedido desses ficheiros para completar a p gina com os dados recebidos O XML acabou por gradualmente deixar de se usar na cria o de p ginas devido basicamente n o inclus o no modelo inicial de um processo de cache do ficheiro de dados em XML e grande necessidade de tempo de processamento para refrescar o ecr de cada vez que o conte do muda O XML provou ser um m todo bastante mais eficaz em outras aplica es como por exemplo na importa o e exporta o de dados do que no processo de gera o de p ginas din micas 2 O XML um protocolo p blico e n o um protocolo propriet rio de alguma entidade As especifica es da vers o 1 0 foram aceites pelo W3C como uma recomenda o em 10 de Fevereiro de 1998 Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 18 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 3 3 5 Proxies granulares T T Tay and Y Zhang 7 continuando numa direc o semelhante de Ikram Chabbouh e Mesaac Makpangou 6 foram mais longe no conceito proposto pelos primeiros e sugeriram um processo que consiste na cria o de uma estrutura em rvore constitu da pelos objectos inclu dos na p gina sujeita ao processo de caching Ap
61. heiros usados pela aplica o mesmo que alguns ou grande parte deles n o se v usar Esta op o torna o ficheiro maior que o necess rio Depois de inicializada a biblioteca devolve o controlo aplica o Quando esta termina a biblioteca retoma o controlo e de acordo com os m dulos usados pela aplica o vai juntar os ficheiros CSS e javascript necess rios a cada m dulo em dois ficheiros um contendo todos os ficheiros CSS e outro contendo todo o c digo em Javascript Depois de criados s o ambos compactados para reduzir o seu tamanho e tornar mais r pida a comunica o Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 30 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos A instala o e configura o de novos m dulos deve respeitar as seguintes condi es Cada m dulo dever ser criado numa directoria pr pria e dever incluir se nela todos os ficheiros necess rios ao seu funcionamento Dentro dessa directoria deve existir um ficheiro identificado por Info que vai conter toda a informa o sobre os ficheiros que comp em o m dulo Cada m dulo deve criar pelo menos uma classe em PHP Todas as entradas de procedimentos devem ser objectos pertencentes a essa classe Embora possam ser definidas mais que uma classe em cada m dulo apenas se pode usar uma classe como entrada principal do m dulo Os identificadores das classes de entrada do m dulo devem c
62. ica o e sincroniza o no lado do Servidor Original de modo a que se possa controlar o acesso ao servidor por Servidores Locais Embora no modelo de replica o sincroniza o j esteja contemplado o conceito de dom nios estes n o foram implementados Este conceito importante para que se possa fazer a distin o entre v rios perfis Na constru o do modelo de replica o sincroniza o foi apenas considerada a actualiza o directa de um Servidor Local a partir do Servidor Original A estrutura de dados criada para essa opera o foi preparada para que as actualiza es possam ser efectuadas tanto directamente a partir do Servidor Original como a partir de um outro qualquer Servidor Local No entanto essa funcionalidade n o foi implementada pois a mesma necessitaria obrigatoriamente da implementa o do referido no primeiro ponto desta lista A implementa o deste ponto permitiria entre outras coisas que os sistemas pudessem ser actualizados por exemplo atrav s de uma sequ ncia de m quinas que podiam construir uma cadeia de r plicas at ao Servidor Original que esteve na origem do site O desenvolvimento de uma interface de utilizador suportada pela biblioteca ICu A notifica o aos v rios Servidores Locais da exist ncia de altera es dos ficheiros e dos dados por parte do Servidor Original Quando o browser local est a utilizar um proxy que n o suporte a biblioteca ICu para o seu acesso rede nes
63. icheiros o m todo de distribuir c pias de ficheiros por v rios sistemas mantendo a consist ncia dos mesmos atrav s dos v rios sistemas 14 Existem muitas aplica es que usam a replica o e sincroniza o de ficheiros desde os sistemas operativos que proporcionam acesso a ficheiros offline sistemas distribu dos computa o paralela etc O tipo de aplica es mais conhecidas e utilizadas s o as aplica es que fazem a partilha de ficheiros por um universo de utilizadores em v rias m quinas peer to peer 15 16 No mbito deste desenvolvimento as necessidades de implementa o de um sistema complexo de replica o e sincroniza o de ficheiros n o cr tica pois a necessidade b sica apenas a da consist ncia dos ficheiros entre o servidor original e os v rios clientes Os ficheiros de aplicativos de um site normalmente n o s o sujeitos a altera es frequentes ap s o site ser posto em produ o logo a necessidade de implementar um sistema complexo para manter a consist ncia dos mesmos seria contra procedente Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 21 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 5 Solu o desenvolvida O objectivo do trabalho desenvolvido foi focado na facilidade e transpar ncia da implementa o em aplica es j a correr em servidores de p ginas Usou se no seu desenvolvimento o maior n mero de apli
64. ido verificado se a informa o requisitada se encontra guardada na cache local Se sim imediatamente devolvida ao requerente a informa o pedida b Caso a informa o n o se encontre guardada na cache local esta pedida ao servidor original Quando a informa o recebida do servidor original primeiramente devolvida ao utilizador requerente sendo de seguida guardada na cache local c A informa o que vai ficando armazenada na cache local vai sendo eliminada de acordo com um algoritmo de expira o De acordo com a sua idade tamanho e hist rico de acesso s o usados dois algoritmos simples LRU Least Recently Used e LFU Least Frequently Used LRU remove os documentos existentes em cache h mais tempo enquanto o LFU remove os documentos menos pedidos Num proxy poss vel filtrar as transac es dos utilizadores Um proxy pode inibir o acesso a servi os quer de utilizadores individuais quer de computadores ou de dom nios Alguns servidores proxy permitem filtros espec ficos tais como e Decidir os pedidos que ser o respondidos e os que ser o recusados e Especificar as URL ou a URL Mask M scara de rede dos servidores da rede que n o ser o atendidos pelo proxy e Especificar que protocolos podem ser usados por exemplo pode ser permitido a um cliente que possa fazer pedidos HTTP mas impedi lo de utilizar o protocolo FTP Um proxy pode tamb m ser concebido para trabalhar num s conjunto de proto
65. istema vai proceder a essas altera es nas tabelas locais Para minimizar o impacto que esta opera o possa ter no site durante uma opera o deste tipo a biblioteca vai trancar o site at ao fim de toda a actualiza o da informa o que vem na lista de envio s passando a permitir o seu acesso depois de toda a lista processada ficheiros e informa o de dados Para que este mecanismo tenha o efeito desejado a sincroniza o da informa o dos dados sempre efectuada primeiro que a sincroniza o de ficheiros 8 3 3 3 Equival ncia de Chaves Prim rias entre Sistemas Um dos maiores problemas na sincroniza o de tabelas entre dois sistemas cuja opera o seja distinta a equival ncia dos valores das chaves prim rias entre os v rios sistemas A solu o utilizada neste caso passou por criar uma tabela interm dia icuap dbkey onde s o guardados para cada registo de uma tabela o valor da chave prim ria local e o correspondente valor da chave prim ria remota da responsabilidade do processo de sincroniza o quando recebe um registo novo actualizar os valores dessa tabela para que os dois sistemas se mantenham sincronizados Este processo s usado nos servidores locais serve para manter a coer ncia dos seus registos com os registos da base de dados que reside no sistema original Deste modo quando recebido um registo do sistema remoto o AProxy vai consultar a sua chave prim ria e de seguida verifica
66. itado pelo cliente e se verificar que se trata de uma chamada a um Web Service definido vai ent o proceder chamada do respectivo m todo A sintaxe de uma chamada a um Web Service a seguinte WSROST lt ID do Servi o gt De acordo com o identificador do servi o requisitado a biblioteca vai proceder chamada do m todo respectivo Imediatamente antes do m todo ser evocado a biblioteca come a capturar o output da aplica o at se dar o retorno do m todo Esse output pode ser Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 32 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos descartado dependendo do valor retornado pelo m todo O valor de retorno analisado e processado de acordo com o seguinte e ICUWSContinueAndClean Continua o processamento mas o output do m todo invocado eliminado do output final e ICUWSContinue Continua o processamento mantendo o output efectuado pelo m todo e ICUWSError O m todo retornou uma condi o de erro Ao output gerado pelo m todo inserido no in cio do mesmo o texto WS ERROR o sistema interrompe imediatamente o processamento devolvendo o output gerado e ICUWSOK Ao output gerado pelo m todo inserido no in cio do mesmo o caracter O e o sistema interrompe imediatamente o processamento devolvendo o output gerado e ICUWSOKOnly O output gerado pelo m todo retornado e o
67. l instalado usando o apache como servidor de p ginas e proxy e o mysql como base de dados A instala o efectuada fazendo o download de um programa de instala o que vai instalar o servidor de p ginas no computador local Para aceder ao programa de configura o do servidor local o utilizador dever digitar no seu browser o seguinte endere o http localhost O interface da biblioteca ICu ser visualizado como mostra a figura seguinte Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 62 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos U ICu Framework Bem vindo 4 Entrar O que o ICu ICu um framework para PHP que p e ao dispor do programador um conjunto de ferramentas e prop e um novo modo de criar e usar sites Com o ICu pode criar sites que mesmo sem estarem ligados internet continuar o a poder ser usados emtodas as suas op es desde entrada de dados a uploads de ficheiros partir do momento em que o sistema detecta que existe una liga o internet imediatamente os dois sistemas s o sincronizados O ICu pode ser usado de dois modos distintos ou no seu computador pessoal onde ter que instalar um aplicativo actualmente s existe ainda a vers o em windows ou num proxy instalado num sevidor que d acesso a um conjunto de utilizadores Figura 13 Interface de configura o Para poder ter acesso configura o
68. lioteca ICu Quando um cliente j tem instalado o sistema local para o acesso offline a aplica es nas suas opera es de sincronismo e de instala o de novos sites tem que conseguir reconhecer que o servidor original donde provem o site um servidor registado e confi vel Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 38 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Como descrito mais a frente o Servidor Local mant m uma lista de servidores que fornecem a possibilidade de sites offline Quando um site pedido pela primeira vez por um cliente e o browser detecta que o mesmo usa a Biblioteca ICu a informa o passada ao Servidor Local Este vai verificar se o servidor desse site j se encontra na sua lista de Servidores Originais Se n o se encontrar ainda o Servidor Local vai pedir ao Servidor Original que envie a sua Assinatura para que a possa validar numa primeira fase com o Servidor de Licen as como ilustra a figura seguinte Pedido Servidor Original Browser Resposta Servidor n o Registado Pede Chave Novo Site E uma v lida E gt gt gi insatala o Recebe Chave E aaau Pede Valida o da Chave ED ss Resposta Servidor Local Servidor de Licen as Figura 6 Valida o de um Servidor Original A valida o inicial de um Servidor Original sempre iniciada p
69. lt CadeiaAlfanumerica gt lt CadeiaAlfanumerica gt criada aplicando o algoritmo de hashing md5 Assinatura que se deseja validar Retorno O em caso de sucesso WS ERROR lt MensagemErro gt em caso de erro MensagemErro tem os seguintes significados E USENRG 001 Par metro K no URL n o existente E USENRG 002 Assinatura inv lida Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 41 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 8 M dulo AProxy Todo o processamento que permite a utiliza o do site offline foi implementado como um m dulo na biblioteca ICu este m dulo que gere todas as tarefas necess rias quer na parte do Servidor Original quer na parte do cliente Uma aplica o ao inserir a linha de c digo para a inclus o da biblioteca ICu fica imediatamente preparada para poder ser replicada e sincronizada desde que essa op o esteja activa no ficheiro Config sec o ActiveProxy variavel APRProxyServer Se for atribu do o valor O zero o m dulo encontra se desactivado se for atribu do o valor 1 o m dulo encontra se activo Pode se dividir este m dulo em tr s componentes em conformidade sua operacionalidade e Modo Servidor Original e Modo Servidor Local e Modo Replica o e Sincronismo De acordo com a instala o da biblioteca ICu como Servidor Original ou como Servidor Local o m dulo APr
70. ma local e o sistema remoto J Indica o ao driver de t rmino da comunica o 8 2 2 InitComm Este m todo invocado pelo m dulo AProxy antes de se iniciar a comunica o com o sistema remoto Utiliza o InitComm lt CdSites gt lt CdSites gt indica o ID nico do registo na base de dados de controlo da biblioteca ICu que identifica o servidor remoto que se quer contactar Retorno FALSE Em caso de n o se puder prosseguir com a opera o TRUE Se a opera o puder se prosseguida e n o necess rio enviar nenhuma informa o suplementar ao servidor remoto Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 46 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Cadeia Alfanum rica Se a opera o puder ser prosseguida A cadeia alfanum rica dever ser entregue ao servidor remoto 8 2 3 BeginComm Este m todo invocado pelo m dulo AProxy ap s iniciar a comunica o com o sistema remoto e antes de come ar a recep o e o envio de dados ao servidor remoto Utiliza o BeginComm lt CadeiaAlfanumerica gt lt CadeiaAlfanumerica gt No caso do servidor remoto ter enviado informa o no passo B Figura 7 essa informa o ser passada aqui Retorno FALSE Em caso de n o se puder prosseguir com a opera o TRUE Se a opera o puder ser prosseguida 8 2 4 WriteComm Este m todo invocado pelo m dul
71. na vari vel lt C digo gt sendo este executado logo ap s a p gina tenha sido toda carregada pelo browser Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 34 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Para o caso em que o analista tenha escolhido colocar o site numa directoria inacess vel atrav s do Servidor de P ginas o link para p ginas especificas do site pode ser criado usando o seguinte m todo mICuLink LinkToPage lt Ficheiro Directoria gt O m todo devolve um link da forma http xxx xxxxx xx ICUSAC LSJ amp ID lt Ficheiro Directoria gt em que XXX XXXXX XX Refere o site e lt Ficheiro Directoria gt Refere a directoria ou o ficheiro desejado Este valor sempre considerado a partir da directoria raiz do site Isto permite que se o site estiver numa directoria acess vel atrav s do Servidor de P ginas ou n o o valor a usar em lt Ficheiro Directoria gt seja sempre o mesmo independente da directoria onde esteja ao site Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 35 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 7 Sistema de Licen as Cada instala o da biblioteca ICu necessita ser activada por um servidor de licen as A fun o deste servidor a de identificar e autenticar todas as instala es existentes de modo a que quando um site r
72. nte no Servidor Original Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 48 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Ap s o contacto inicial efectuado pelo Servidor Local ver Figura 7 ao Servidor Original ambos v o construir um ficheiro com a informa o a passar para a outra parte Esse ficheiro inclui tanto as altera es efectuadas a ficheiros como aos dados das respectivas bases de dados Como se assumiu que na comunica o entre os dois sistemas poder o existir perturba es ambos os sistemas v o dividir os respectivos ficheiros criados em segmentos de igual tamanho Depois de criados os segmentos come am a enviar segmento a segmento Ap s a recep o de todos os segmentos os servidores v o reconstruir os respectivos ficheiros juntando os segmentos recebidos e de seguida proceder s actualiza es necess rias A informa o a ser recebida guardada temporariamente em tabelas da base de dados de controlo da biblioteca ICu Por defini o a responsabilidade do in cio de uma comunica o dever ser sempre do Servidor Local Esse pedido de in cio de comunica o deve ser sempre seguido do envio de uma lista da informa o a sincronizar por parte do sistema de remoto Em resposta a esse pedido o Servidor Original ir ent o enviar a sua lista de informa o a sincronizar localmente 8 3 1 Ficheiro de Envio A estrutura do ficheiro de envio co
73. ntificadores das tabelas usadas na base de dados de controlo da biblioteca ICU Admin Designa a directoria onde se encontram os ficheiros que comp em a aplica o de administra o do AProxy 8 2 Adi o de um novo Protocolo de Comunica o Embora o AProxy j venha configurado de origem na instala o da biblioteca ICu existe a possibilidade de adicionar interfaces de comunica o aos j existentes SSL e RAW O procedimento para acrescentar mais um protocolo de comunica o o seguinte 1 Acrescentar sec o CommProtocols mais uma entrada A sintaxe da mesma a seguinte lt Variavel gt lt IDClasseEntrada gt lt OrdemPreferencia gt lt Codigo gt lt Descritvo gt Em que e lt Variavel gt um identificador nico sem significado especial s usado como identificador da entrada e lt IDClasseEntrada gt o identificador da classe em PHP que dever ser usada pela biblioteca ICu nas chamadas aos m todos Este identificador deve respeitar a norma de cria o de identificadores descrito anteriormente isto deve come ar pelo car cter m seguido do nome da classe Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 43 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos lt OrdemPreferencia gt a ordem de prefer ncia que deve ser usada na escolha do protocolo de comunica o quando a biblioteca inicia um processo de
74. o Estes proxies tamb m podem funcionar de um modo transparente isto os portos TCP IP s o redireccionados pelas gateways directamente para os proxies sem que os utilizadores disso de apercebam o que os torna ideais para serem usados por ISP s Internet Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 15 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Service Provider que por exemplo oferecem op es comerciais de tr fego ilimitado para assim poderem diminuir os custos com a transmiss o de dados Tamb m podem estar fisicamente ligados mesma rede local a que est o ligados os servidores de p ginas caso em que estamos a falar de um Reverse Proxy Todas as liga es provenientes da Internet s o ent o redireccionadas e passam por esse servidor proxy Isto permite entre outras coisas que 0 proxy possa Equilibrar e encaminhar o tr fego para um conjunto de servidores apresentando se na Internet como se de um s servidor se tratasse Fornecer uma ou mais camadas de seguran a protegendo melhor os servidores de p ginas de ataques externos Proporcionar caching imediato de paginas est ticas Comprimir toda a informa o antes de ser enviada para a Internet Destes exemplos se infere que os proxies s o um componente important ssimo na Internet e como tal a rapidez de acesso informa o na WEB depende em muito das suas presta es 3
75. o AProxy sempre que tiver dados para enviar ao servidor remoto Utiliza o WriteComm lt CadeiaAlfanumerica gt lt CadeiaAlfanumerica gt Cadeia alfanum rica que representa a informa o a enviar ao servidor remoto Se em lt CadeiaAlfanumerica gt vier o valor FALSE isso indica ao m todo que se necess rio por quest es pr prias de cada protocolo a fun o continue a tratar a cadeia alfanum rica que veio em lt CadeiaAlfanumerica na chamada anterior ao mesmo m todo Retorno FALSE Em caso da opera o estar completa Cadeia Alfanum rica Informa o a ser enviada para o servidor remoto Nota O AProxy vai efectuar chamadas repetidas a este m todo at o m todo retornar o valor FALSE Na primeira chamada ao m todo envia a cadeia alfanum rica a ser tratada Nas chamadas subsequentes envia o valor FALSE Os valores retornados pelo m todo v o sendo concatenados por ordem at que o m todo retorne o valor FALSE A cadeia alfanum rica criada ent o enviada ao servidor remoto Se por restri es do protocolo usado a cadeia alfanum rica a retornar pelo m todo tiver que ter um n mero fixo de caracteres e a cadeia apresentada ao m todo for de dimens o Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 47 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos diferente dever a fun o se necess rio efectuar o retorno das v rias partes em suces
76. o de comunica es bastante irregulares ou com lat ncias elevadas O objectivo desta disserta o de propor um sistema que permita a utiliza o de um recurso Web mesmo que a liga o rede seja inexistente ou irregular e fornecer uma solu o aut noma que utilize preferencialmente sistemas e conceitos j existentes e comprovados criando para o efeito uma base de trabalho para o desenvolvimento de aplicativos Web Based de modo a que estes possam continuar a ser utilizados quando n o poss vel garantir uma liga o permanente rede Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 8 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 1 1 Motiva o O crescente aumento da cobertura m vel de alto d bito e o seu constante aumento de largura de banda est o a direccionar nos para o uso massivo da rede O aumento da disponibilidade geogr fica e da diminui o dos tempos de acesso rede permitiu aumentar o uso do computador para efeitos de trabalho remoto Na realidade o n mero de pessoas a trabalhar remotamente tem aumentado nos ltimos anos 1 Muito deste trabalho tem caracter sticas residenciais em que o acesso rede pode em certas situa es ser de fraca qualidade ou inexistente Por outro lado o acr scimo de mobilidade permitiu ampliar o automatismo de tarefas profissionais a novas situa es sendo as vendas um caso t pico Com efeito grande part
77. olvida no suporte s variadas plataformas existentes no mercado quer de sistemas operativos quer da diversidade de aparelhos existentes O desenvolvimento de aplicativos para esta plataforma menos oneroso os seus tempos de desenvolvimento s o reduzidos e a necessidade de criar vers es diferenciadas por aparelhos e sistemas operativos reduzida A manuten o de correc es e a cria o de novas vers es bastante simplificada pois feita nos servidores de forma centralizada Uma quest o importante relacionada com este projecto prende se com a filosofia que se pretende no alcance do mesmo N o inten o deste trabalho desenvolver um sistema distribu do com um mecanismo de toler ncia a falhas ou seja desenvolver um sistema que consiga repor o mais rapidamente poss vel a informa o em todos os seus n s mas sim o desenvolvimento de um sistema que consiga trabalhar offline aproveitando o restabelecimento irregular das comunica es para efectuar o sincronismo entre o cliente e o respectivo servidor da aplica o Com esta premissa de base n o se enquadra no mbito deste estudo qualquer exig ncia no sentido do sistema reagir com rapidez s altera es efectuadas por utilizadores remotos O seu objectivo ltimo permitir que em caso de condi es adversas de comunica es se consiga continuar a trabalhar com aplica es Web e que o seu sincronismo se efectue logo que poss vel dentro das limita es de um quadr
78. ome ar pela letra m min scula O nome da directoria onde se encontram todos os ficheiros do m dulo deve ser igual ao nome atribu do classe de entrada sem o m min sculo por exemplo se o identificador da classe for mMinhaClasse o nome a dar directoria que contem o m dulo dever ser MinhaClasse Embora os m dulos estejam instalados por omiss o na directoria Modules que se encontra imediatamente abaixo da directoria de instala o da biblioteca a sua localiza o pode ser alterada modificando a entrada ICUGBDirectoryModuleLibrary existente na sec o Global do ficheiro inicial de configura o da biblioteca Pode tamb m adicionar se directorias para a pesquisa de m dulos de modo a que quando invocado um m todo a biblioteca v verificar a sua exist ncia a essas directorias A nica limita o que a opera o de acrescentar directorias lista de pesquisa s poss vel programaticamente fazendo uso do m todo mICuModules ModuleAddDirectorySearch sDirectoriaAcrescentar 6 4 Gestor de Filtros Inicias A responsabilidade deste m dulo a de efectuar chamadas a m todos antes da biblioteca retornar o controlo p gina que fez a chamada sua inicializa o A lista de m todos a serem invocados definida no ficheiro de configura o Config Os m todos s o invocados pela ordem da lista definida no ficheiro A cada chamada a um m todo analisado o valor retorn
79. onalidades b sicas tendo sido testadas todas as funcionalidades referidas neste documento Tamb m neste caso o sistema correspondeu s expectativas esperadas e Instala o do Sistema Local e Instala o de novos sites no Sistema Local e Sincroniza o de ficheiros e das respectivas bases de dados Foram detectados alguns problemas relativos portabilidade do sistema na instala o do sistema local e do servi o respons vel pelo sincronismo do Sistema Local com os v rios Servidores Originais devido a especificidades do sistema operativo neste caso o Windows 7 Esta limita o obrigou implementa o de algum c digo e opera es de forma dependente do sistema operativo o que de certa forma impede a portabilidade integral do sistema Por outro lado no mbito deste trabalho n o era poss vel por quest es temporais desenvolver um sistema completo ficando por definir e implementar alguns aspectos para que este sistema possa dar resposta a um n mero maior de casos Estes desenvolvimentos futuros podem ser incorporados facilmente na biblioteca ICu pois na sua constru o houve o cuidado de criar um modelo em que a introdu o de novos m dulos simples Assim sugerem se os seguintes poss veis desenvolvimentos futuros Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 65 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos A constru o e de listas de acesso repl
80. onismo do da Base de Dados Ao escolher esta op o o utilizador poder definir quais as tabelas que devem ser sincronizados com os Servidores Locais como mostra a figura seguinte Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 58 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos e v aappcontrol a aapplicationmoduleforms aapplicationmodules aapplications aapplicationversions acarmanufacter acarmodel acentralinahardwarecarsupported afilelist agasolinaprecos alinguas anews aprofiles asetup aterceirocontactos aterceiros atraducaofrases atraducoes Sess sesSssesesseseses Ss auserprofiles lt Figura 11 Defini o de exporta o de tabelas Ao utilizador ser apresentado automaticamente todas as tabelas presentes na base de dados usada pelo site Esta lista constru da automaticamente pelo aplicativo de configura o O aplicativo para criar esta lista vai ler as tabelas de sistema onde se encontra a informa o sobre a defini o das tabelas de uma base de dados A configura o do tipo de opera o a executar em cada tabela da base de dados a seguinte e Enviar Indica ao sistema que a respectiva tabela e os dados nela contidos dever o ser exportados para os Servidores Locais e Receber Indica ao sistema que a respectiva tabela e os dados nela contidos dever o ser importada dos Servidores Locais e Tabela Indica
81. operativos e os dispositivos possam sofrer Espera se tamb m que com a elabora o deste projecto seja poss vel proporcionar uma ferramenta que automatize ao m ximo o processo de replica o e sincroniza o quer de dados quer de ficheiros fornecendo assim ao desenvolvimento uma ferramenta que permita Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 9 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos construir aplica es com suporte de continuidade de acesso em condi es extremas de acesso rede Por outro lado mesmo que o acesso rede n o seja um problema o facto de transferir o processamento de p ginas para um servidor local residente na mesma m quina onde gerado o pedido ir permitir diminuir a carga dos respectivos servidores Neste caso como o conte do recebido pelo requisitante produzido na pr pria m quina o tempo de resposta ir diminuir significativamente tornando a opera o do aplicativo mais r pida e sem atrasos significativos para o utilizador 1 3 Estrutura da Tese O primeiro cap tulo introduz o tema da Disserta o os seus objectivos e sintetiza as suas principais contribui es O segundo cap tulo descreve sucintamente o funcionamento de um servidor de p ginas O terceiro cap tulo fornece uma explica o geral sobre proxies e os seus v rios tipos O quarto cap tulo fornece uma explica o geral sobre sincroniza o e re
82. os criando para isso um sistema aut nomo local constitu do por um servidor de p ginas e um proxy que se mant m a trabalhar independente do acesso rede The vast majority of sites uses dynamic pages creation to provide information The creation of those pages usually uses information stored in databases Nowadays the access to the Internet has become common and necessary in all areas from pleasure to work Under adverse access conditions such as in remote locations in moving vehicles during natural disasters war etc in situations where access to resources on the Internet is mandatory its absence can cause innumerous problems This thesis presents an alternative solution that creates an autonomous working system through which essential resources can still be accessed regardless of the availability of Internet access Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 2 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos NDICE 3 E PCO pos EA A E E E TENS Tal Motivac o seneese naa e E a A E E A NA Cada 9 IA 011A 0 1711 81 PEN OE EE E E EE ATE 9 1 3 Estrutura da Tese ss cocchsccscsvivisccketancssnvescsccvebaccavsvvetsccvetesceduvsdescovssasceevensescovess 10 2 Arquitectura geral de um servidor de p ginas eessesscesccssecsoesocsseesoesocsseessessee LI 2T POBINAS est ticas E A A RA 11 2 2 P ginas din micas sickle ita stata A EE OU tradi 12
83. oxy vai conduzir as suas opera es Este m dulo necessita de armazenar grandes quantidades de informa o relativa aos sites que s o geridos Essa informa o armazenada na SGBD local na base de dados de controlo usada pela biblioteca ICu 8 1 Configura o do M dulo O m dulo AProxy encontra se instalado numa directoria abaixo da directoria onde est o instalados os m dulos da biblioteca ICu O ficheiro de configura o do m dulo que se encontra na directoria raiz do m dulo o seguinte Module Name aActive Proxy Code CRDL1000 0002 MainClass mICuAProxy Version 1 0 Files File1 EntryPoint inc File2 AProxy css File3 AProxy js EntryPoints APDBCH mAPDBStructure LoadStructure Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 42 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos CommProtocols SSLProtocol mAPSSLProtocol 1 APSSL 1 0 AProxy SSL V1 0 General TablePrefix icuap_ Admin Directory Admin A descri o das sec es a seguinte Module Cont m informa o geral relativo ao m dulo Files Contem os ficheiros que a biblioteca ICu deve carregar quando o AProxy evocado EntryPoints Define entradas para rotinas internas CommProtocols Define todos os protocolos dispon veis pelo AProxy para efectuar comunica es entre o Servidor Original e os clientes General Contem o prefixo usado nos ide
84. p s a inicializa o da biblioteca ICu o processamento passa imediatamente para a p gina que invocou a inicializa o da biblioteca O modo ICu cf p gina 28 permite que todo o site possa ser instalado numa directoria n o acess vel atrav s do servidor de p ginas Isto acrescenta ao sistema um pouco mais de seguran a especialmente se o site contiver um ficheiro de configura o local ao mesmo tornando o assim inacess vel A biblioteca ap s inicializada vai chamar a p gina de entrada especificada no ficheiro de configura o Antes de retornar a biblioteca ICu come a a capturar todo o output Ap s o retorno da p gina de entrada a biblioteca vai modificar o output gravado de modo a inserir todas as novas instru es que resultam das chamadas aos v rios m dulos efectuadas pela aplica o Este modo permite incluir ficheiros CSS javascript e c digo em javascript programaticamente atrav s dos seguintes m todos e miCuModules LoadJavaScript lt Ficheiro gt Inclui o ficheiro lt Ficheiro gt de javascript na p gina e miCuModules LoadCSS lt Ficheiro gt Inclui o ficheiro lt Ficheiro gt de CSS na p gina e miCuModules AddTolnit JS lt C digo gt Vai incluir o c digo em javascript definido na vari vel lt C digo gt imediatamente antes do t rmino da sec o lt head gt da p gina em HTML e mlCuModules AddTolnitLoadJS lt C digo gt Vai incluir o c digo em javascript definido
85. plica o de dados e ficheiros O quinto cap tulo descreve a solu o desenvolvida que constitu da basicamente pelo desenvolvimento de uma biblioteca em PHP Os cap tulos subsequentes s o dedicados descri o de cada uma das partes mais importantes para o desenvolvimento do sistema Assim no sexto cap tulo descreve se a estrutura base de funcionamento e acesso biblioteca no s timo cap tulo descreve se o sistema de licenciamento que permite a identifica o de todas as instala es no oitavo cap tulo descreve se o AProxy m dulo encarregado de gerir todo o processamento de replica o e sincroniza o da biblioteca Finalmente no nono cap tulo descrita a instala o e configura o da solu o num sistema local Finalmente a conclus o que reporta o que foi feito e aponta direc es de trabalho futuro Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 10 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 2 Arquitectura geral de um servidor de p ginas INTERNET Figura 1 Arquitectura Geral de um Servidor de P ginas Um servidor de p ginas um conjunto de aplicativos cuja fun o atrav s de uma rede servir conte dos a utilizadores finais A estrutura geral de um servidor de p ginas encontra se representada na Figura 1 Ao receber um pedido da rede o servidor recorre informa o contida em ficheiros armazenados ou a programas
86. processamento imediatamente interrompido A lista de Web Services dispon veis encontra se definida no ficheiro inicial de configura o da biblioteca na sec o WebServicesList A sintaxe de cada linha a que corresponde um Web Service a seguinte lt IDdo Web Service gt lt M todo gt Onde e lt ID do Web Service gt um identificador nico na lista e lt M todo gt Identificador do m todo a ser invocado Como exemplo temos APGUPT mAProxy WSGetUpdates Neste caso APGUPT corresponde ao ID do servi o e o lado direito da atribui o indica qual o m todo a ser evocado 6 6 Gestor de Servi os Internos Este m dulo interno biblioteca e existe para que opera es internas sejam invocadas Por exemplo como referido atr s quando a biblioteca cria um ficheiro nico que Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 33 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos cont m todas as declara es CSS definidas nos m dulos que foram usados a chamada ao servi o que devolve o ficheiro nico compactado a seguinte 2ICUSAC LSC amp ID lt ID do ficheiro gt Em que ICUSAC indica que uma chamada a um servi o interno LSC o servi o requisitado neste caso o ficheiro compactado das declara es CSS e ID refere se ao nome do ficheiro que foi criado 6 7 Pr processamento da p gina Em modo transparente cf p gina 28 a
87. que podem fazer uso de informa o contida numa base de dados e assim devolver a informa o pedida pelo utilizador remoto Fundamentalmente um servidor de p ginas utiliza dois m todos para a constru o de uma p gina 2 1 P ginas est ticas O requisitante indica um endere o URI ao servidor que corresponde directamente a um ficheiro que reside no sistema de ficheiros do servidor Este vai analisar o tipo de ficheiro e de acordo com a sua extens o entende que o requisitante est a pedir um ficheiro que n o necessita de modifica es isto no ficheiro encontra se inclu da toda a informa o necess ria para a sua visualiza o O ficheiro ent o enviado ao requisitante sem que o servidor de p ginas modifique o seu conte do Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 11 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 2 2 P ginas din micas o caso em que o ficheiro requerido pelo utilizador corresponde a um ficheiro de c digo que necessita de passar por um interpretador de uma linguagem o caso mais comum ou ser executado como um ficheiro bin rio pelo sistema operativo de suporte Na sua generalidade esse c digo faz uso de acesso a dados que se encontram armazenados em bases de dados Neste caso o processamento de mais um aplicativo alem de sobrecarregar os processadores com mais processamento atrasa tamb m a entrega da p gina ao utilizado
88. r que a requisitou No entanto e devido s exig ncias cada vez maiores de qualidade do servi o prestado o recurso utiliza o de p ginas din micas para cria o de conte dos tem aumentado muito originando a necessidade de serem criados sistemas cada mais complexos para que os tempos de acesso informa o se mantenham dentro de valores aceit veis para o utilizador Como o layout e o conte do destes ficheiros s o constru dos na execu o do c digo existente na p gina e como geralmente os conte dos tem proveni ncia em informa o armazenada em bases de dados informa o essa que pode ser alterada a cada instante dois pedidos do mesmo URI n o t m que produzir necessariamente o mesmo resultado O problema mais cr tico de resolver quando se quer desenvolver um sistema que permita o acesso a um site que esteja sempre acess vel mesmo em casos de falha de rede reside exactamente na opera o de gera o das p ginas din micas pois como normalmente estas v o pesquisar ou alterar informa o residente em bases de dados informa o essa que pode estar em constante altera o a sincroniza o da informa o entre os v rios sistemas implica necessariamente um processamento acrescido Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 12 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 3 Proxies Um proxy um componente que colocado entre um ou mai
89. ra gt lt Protocolos gt Onde lt Vers o gt indica a vers o do m dulo do AProxy descrito mais a frente que est instalada na forma num rica 99 99 999 lt Assinatura gt substitu do por uma cadeia alfanum rica nica por cada instala o da biblioteca identificando assim univocamente o sistema onde est instalada e lt Protocolos gt substitu do por lt phpClassLibrary gt lt OrdemPrefer ncia gt lt C digo gt lt Descri o gt Onde lt phpClassLibrary gt designa o identificador da classe em PHP que a existir na biblioteca dever ser usado lt OrdemPrefer ncia gt um num rico precedido pelo car cter que indica a ordem de prefer ncia do protocolo que deve ser usado na sincroniza o no caso da vers o da biblioteca instalada no servidor que est a ser acedido ser diferente da vers o da biblioteca instalada no sistema do cliente que o est a aceder Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 29 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos e lt C digo gt uma sequ ncia alfanum rica nica por protocolo que o identifica e e lt Descri o gt um texto de leitura humana que descreva o protocolo Se existir mais que um protocolo dispon vel na biblioteca dever acrescentar se o car cter virgula e repetir se lt Protocolos gt 6 3 Gestor de M dulos A biblioteca constitu da por um
90. s servidores e os seus respectivos utilizadores finais permite efectuar o caching da informa o de modo a que enquanto n o for alterada essa informa o s seja enviada uma vez pelo servidor onde tem origem Um proxy deve responder a dois requisitos b sicos e Servir como acoplador entre dois sistemas diferentes isolando os dois sistemas um do outro e permitindo apenas a passagem do tipo de informa o esperado e Efectuar as opera es necess rias sobre a informa o de modo a reduzir o tr fego entre a origem da informa o e os utilizadores finais Ao receber um pedido de um utilizador final dirigido a m quinas que se encontram do outro lado do proxy este vai analisar o pedido e decidir se pode satisfazer esse pedido com a informa o que tem armazenada Caso n o possa satisfazer esse pedido com a informa o armazenada o pedido do utilizador direccionado para a m quina a que era dirigido inicialmente Esse pedido pode levar informa o suplementar acrescentada pelo proxy ou simplesmente ser uma c pia do pedido original Em qualquer dos casos o endere o do requisitante que efectuou o pedido original pode ser escondido m quina qual destinado o pedido sendo s dado a conhecer o endere o do proxy que est a efectuar essa mesma requisi o Esta caracter stica faz esconder todas as m quinas que est o a usar o proxy fazendo parecer aos servidores requisitados que apenas uma m quina est a efect
91. sivas chamadas e no fim do processamento retornar o valor FALSE 8 2 5 ReadComm Este m todo invocado pelo m dulo AProxy sempre que tiver dados dispon veis recebidos do servidor remoto Utiliza o ReadComm lt CadeiaAlfanumerica gt lt CadeiaAlfanumerica gt Cadeia alfanum rica que representa a informa o recebida do servidor remoto Retorno FALSE Em caso da opera o estar incompleta e necessitar de mais informa o para ficar completa Cadeia Alfanum rica Informa o resultante da aplica o do protocolo informa o recebida Nota Por cada segmento de informa o que recebe do servidor remoto o AProxy efectua uma chamada ao m todo Se este devolver o valor FALSE significa que o m todo necessita de mais informa o para poder construir a cadeia alfanum rica final Foi definido este algoritmo pois por exig ncias de alguns protocolos poder a informa o recebida n o corresponder a um segmento completo que possa ser tratado pela fun o ReadComm 8 2 6 EndComm Este m todo invocado pelo m dulo AProxy sempre que uma comunica o com o servidor remoto tiver sido encerrada Utiliza o EndComm Retorno TRUE 8 3 Sincroniza o de Sistemas Ap s a identifica o e valida o entre o sistema local e o remoto o m dulo AProxy vai proceder s opera es necess rias para sincronizar quer o sistema de ficheiros quer a base de dados local com a informa o reside
92. te momento n o poss vel a instala o do Servidor Local pois tal seria ineficaz uma vez que todos os pedidos s o enviados directamente para esse proxy Esta situa o deveria ser resolvida Este modelo s v lido para sites n o seguros isto sites que suportam o protocolo http Embora se possa configurar o Servidor Local para responder a pedidos que usem o protocolo https a quest o da unicidade de certificados inviabiliza partida a sua utiliza o Uma solu o para este problema poderia passar pela emiss o de certificados pelo site geral da biblioteca ICu http www icuframework com sendo ent o estes instalados na mesma opera o de instala o do Servidor Local O modelo proposto continua a depender da linguagem usada tendo sido unicamente desenvolvido para o caso do PHP Sendo desej vel a sua abertura a outras plataformas uma abordagem poss vel seria a do desenvolvimento de uma Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 66 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos meta linguagem de programa o na qual seria implementado o template do programa original a partir do qual seria gerado o c digo equivalente na linguagem usada por diferentes inst ncias do Servidor Local Esta solu o implicaria um estudo da possibilidade da modela o de uma linguagem universal de desenvolvimento ou de um conjunto de regras gramaticais que pudessem ser
93. uUser mICuDB TCu Standalone Call Prefixs StandAloneCalls Normal Calls ICUSAGlobalID ICUSALoadStaticCSS ICUSALoadDynamicCSS ICUSALoadStaticJS ICUSALoadDynamicJS ICUSALoadInitJS ICUSALoadInitLoadJS ICUSACleanTmpFiles ICUSAShowTmpFiles ICUSAShowInstModules PreFilters ICUPRStopAndExit ICUPRStopChain ICUPRContinue PreFiltersList LicencePreFilter ActiveProxyPreFilter WebServices ICUWSRequestWebService ICUWSOK ICUWSError ICUWSContinue ICUWSOKOnly ICUWSContinueAndClean WebServicesList User Module ICUUSRLO AProxy Module APGUPT ICuError inc TRUE ICu inc Culntl inc ICuLicense TRUE ICuInput TRUE ICuMenu ICuUser ICuDB inc ICUSAC LSC LDC LSJ LDJ LIJ LIL CTF STF SIM mICuLicense PreFilter mAProxy PreFilter WSRQST rw NA mICuUser DoLogoff mAProxy WSGetUpdates Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI IV Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos APCFLS APUFLS APGTTB APGTBL APSLPG APADMN APGTST APGTIF APDBPR APFLPR APFLUD Licenses Module USBGRG USENRG USGTRG USLSAP USCHSG USCMSR USCMIS Admin Tools ADSHCP ADMDLS ICu Images IMGISI Users USDLGN USDLGO USSRQS Input IPSOOF IPSFRM File download FLFLDN Table TBGTRW TBGTNL TBGTGD TBGTDL
94. uar todos os pedidos Esta caracter stica faz com que um proxy seja muitas vezes confundido com uma gateway No entanto e embora o funcionamento de ambos seja muito semelhante existem diferen as que os tornam necessariamente distintos e Uma gateway um componente que quando usado tem que ter a sua exist ncia obrigatoriamente conhecida pelo sistema utilizador enquanto tal requisito j n o obrigat rio para um proxy e Uma gateway um componente passivo isto serve apenas de tradutor de endere os entre as duas redes a que est ligada e Um proxy tem uma funcionalidade de armazenamento local da imagem caching dos objectos para o qual foi desenhado e Um proxy pode ter uma fun o de filtro que pode inibir segundo condi es predefinidas a passagem de informa o Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 13 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos Caching o processo que usando uma ou mais caches permite aos proxies fornecer a um utilizador final a informa o solicitada sem que para isso tenha que vir a ser requisitada outra vez ao servidor original A cache aplicada aos proxies uma rea de armazenamento tempor rio interna onde os dados mais solicitados s o armazenados para um acesso mais r pido O processo de caching mais usado pelos proxies pode ser descrito pelas seguintes opera es a O pedido de informa o receb
95. uinte SERVIDOR DE LICEN AS Pedido de Valida o Cria o de Assinatura e envio da mesma Retorna cadeia alfanum rica baseada na Assinatura e MI numero de s rie Verifica o da cadeia gerada pelo cliente Em caso de sucesso grava Reporta a sua validade internamente o n mero de s rie e a Assinatura Figura 5 Valida o de uma instala o da Biblioteca ICu O conjunto de opera es definidas permitem que o n mero de s rie seja transmitido usando uma chave auxiliar para que o mesmo n o se encontre explicitamente representado em qualquer cadeia de caracteres trocados entre o cliente e o Servidor de Licen as A autentica o efectuada em dois passos distintos o primeiro em que o cliente requisita uma cadeia alfanum rica auxiliar ao Servidor de Licen as Ap s a recep o dessa cadeia o cliente vai construir uma nova cadeia alfanum rica baseada na cadeia Assinatura que vai ser usada no segundo passo da valida o Universidade Lus fona de Humanidades e Tecnologias DEISI ECATI 37 Jo o Paulo Graciano Gon alves Barrocas Acesso Offline a Conte dos Din micos 7 3 1 Cria o da Assinatura Quando o Servidor de Licen as recebe um pedido de valida o de um n mero de s rie para a activa o de uma biblioteca vai criar uma cadeia alfanum rica com o seguinte formato xx YxxmxxdxxHxxixxsxx em que e Y representa o ano da hora do pedido com 4 d gitos e m representa o m s da hor
96. vas p ginas cada vez que existissem altera es quer ao seu conte do quer ao seu layout Deste modo as p ginas din micas seriam tratadas pelos proxies e pelos servidores de p ginas como p ginas est ticas Este m todo ainda hoje usado em sites de informa o geral bastante eficiente especialmente se o site tem grande afluxo de utilizadores e o tempo m dio til de vida da informa o isto o tempo m dio em que uma p gina existe sem ser modificada superior em m dia a um minuto 3 Esta solu o embora resultando muito bem em p ginas que n o mudam frequentemente n o tr s nenhuma vantagem para aquelas que mudam o seu conte do frequentemente mesmo que seja numa pequena parcela Tamb m n o tem vantagens nas p ginas personalizadas isto p ginas que diferem por exemplo no nome de utilizador visualizado na p gina mantendo tudo o resto igual 3 3 3 Caching por contexto Uma outra solu o apontada por Qiong 5 e Pai Cao 13 vai no sentido da instala o de applets nos servidores nos proxies e nos destinat rios finais Esta aproxima o muito complexa requer a intercep o do fluxo da informa o e a sua respectiva interpreta o Assim de cada vez que detectado numa p gina din mica instru es de acesso a informa o proveniente de SGBD essas instru es s o substitu das por uma marca cuja finalidade a de ser reconhecida mais tarde pelos proxies e ou pelos utilizadores finais como uma zona

Download Pdf Manuals

image

Related Search

Related Contents

Samsung MONITOR VIDEOCONFERENCIA 23,6" VC240 Manual de Usuario  Résultats du Sondage informatique organisé par l`Unsa  PullzAll™ Installation and Operator`s Guide  SERVICE MANUAL  B 1.8310  ASUS EN210 User's Manual  Manual de instrucciones ANTIMODE 8033  HP XE4500 User's Manual  Eminent hdMedia Stream  

Copyright © All rights reserved.
Failed to retrieve file