Home

Tese WS - Repositório da UTAD

image

Contents

1. Authcrt SHWSCredentialId sCredencial wsProcessos New wsAutarquiasTMD wsProcessos wsProcessos wsProcessos SHWSClientCredentialsValue Authcrt Chama Web Method GetProcessos ds wsProcessos GetProcessos sAutarquia sNIF Catch se As SoapException Throw se Catch ex As Exception Throw ex End Try ConsultarProcessos ds End Sub 2 Exemplo com chamada assincrona 173 A implementa o seguinte codifica uma chamada ass ncrona em que o cliente que efectua a chamada n o espera o retorno antes de continuar mas quando a resposta estiver dispon vel chamada o procedimento ReturnProcessos Note se no c digo que a chamada ass ncrona usa os m todos come ados por Begin e End O primeiro aceita como par metros de entrada extra o m todo a ser chamado quando a resposta estiver dispon vel Public Sub ConsultarProcessos ByVal sCredencial As String ByVal sAutarquia As String ByVal sNIF As String Dim ds As New DataSet TEY Cria objetos para chamar WebService initAuth Authcrt SHWSCredentialId sCredencial wsProcessos New wsAutarquiasTMD wsProcessos wsProcessos wsProcessos SHWSClientCredentialsValue Authcrt wsProcessos BeginGetProcessos sAutarquia SNIF New AsyncCallback AddressOf ReturnProcessos Catch se As SoapException Throw se Catch ex As Exception Throw ex End Try End Sub Sub ReturnProcessos ByVal A As IAsyncResult TEY Dim ds As
2. secon P a os ae gt Sincroniza o peri dica informa o oo oe oo os Resposta Resposta Cidadao HTML HTTP XML SOAP ju LOS ov eibo DataCenter UTAD Sevidor das Servidor Web Sevidor cental entidades IS6 W2003 Aplica es e bases de dados Web Services TRAS OS MONTES NET Figura 2 O cen rio do projecto ap s a integra o A implementa o da solu o de integra o justifica se por uma s rie de vantagens obtidas quer por parte das entidades quer por parte do cidad o 1 2 Motiva es objectivos e m todo As motiva es para o desenvolvimento do sistema aqui apresentado adv m da necessidade de se criar uma plataforma de integra o entre diversos Sistemas de Informa o que n o se limite simplesmente troca de dados sendo fundamental encontrar uma forma de utilizar servi os dispon veis em plataformas heterog neas Conjugada com esta necessidade houve tamb m a motiva o de aprofundar os conhecimentos em termos das quest es envolventes aos conceitos de interoperabilidade ao mesmo tempo que se pretendia investigar a utiliza o de um novo paradigma tecnol gico os Web Services Capacitar Sistemas de Informa o diferentes para trocar informa o entre si de forma standard independentemente do sistema operativo da linguagem de programa o e da localiza o dos dados sem d vida uma quest o fascinante e de grande
3. 3 Fase Acesso a reposit rios p blicos de WS 2 Fase Com parceiros clientes e fornecedores Figura 28 Fases da adop o dos Web Services IDC 2002 86 Numa segunda fase as organiza es avan am para a integra o dos seus sistemas com os dos seus parceiros Nesta fase que suportada por uma maior maturidade da tecnologia os aspectos de seguran a s o fulcrais para a dissemina o dos WS A terceira envolver o reconhecimento da necessidade de dotar as aplica es com determinadas funcionalidades Estas ser o procuradas em reposit rios de acesso p blico de modo a encontrar os WS mais apropriados Al m disso ap s a determina o dos WS mais convenientes as aplica es ser o tamb m capazes de os utilizarem din micamente sem qualquer tipo de interven o humana Ser nesta fase que a exig ncia sobre os requisitos da infra estrutura de WS se tornar mais forte o que leva a crer que as melhorias suplementares s ser o implementadas ap s um per odo de plena adapta o aos WS Por forma a preparar e a adaptar os produtos dissemina o dos WS a ind stria de software tem vindo a envolver se num esfor o intenso de desenvolvimento tecnol gico Algumas das empresas mais bem sucedidas e influentes de desenvolvimento de TI n o s adoptam tecnologias de interoperabilidade como tamb m desenvolvem as suas pr prias especifica es adicionais para fazer com que a interoperabilidade se
4. N mero de Contribuinte do Mun cipe N LICENCA N mero da Licen a TIP LIC C digo do Tipo de Licen a DATA LICENCA Data da Licen a DESC LIC Descri o da Licen a REQUER N mero do Requerimento AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo PRAZO LICENCA Prazo da Licen a PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 202 Mun cipe sem Licen as 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 302 Processo sem Licen as Ordena o dos Resultados DATA LICENCA DESC 129 7 Web Services Pareceres O URL que define esta classe de web services http ip_servidor_web WSACentral wsPareceres asmx Weds GetPareceresGlobal Retorna um dataset com os pareceres de um d
5. W3C 2004 W3C 2005 W3C 2006a W3C 2006b W3C 2006c W3C 2007a W3C 2007b W3C 2007c W3C 2007d W3C 2007e 93 Trowbridge D U Roxburgh G Hohpe D Manolescu e E G Nadhan Verissimo P e L Rodrigues Integration Patterns Microsoft Patterns amp Practices 2004 Universidade de Tr s os Montes e Alto Douro e Microsoft Corporation Portal Transaccional aproxima a Sociedade de Informa o deste canto remoto da Europa http download microsoft com download 8 6 5 8650b90b a5a6 42cc bbla f4a50decbe53 TrasosMontes doc 2004 World Wide Web Consortium XML Signature Syntax and Processing http www w3 org tr xmldsig core 2002 World Wide Web Consortium XML Encryption Syntax and Processing http www w3 org tr xmlenc core 2002 World Wide Web Consortium Web Services Architecture Working Group http www w3 org tr ws arch 2004 World Wide Web Consortium Naming and Addressing URIs URLs http www w3 org Addressing 2006 World Wide Web Consortium Web Services Addressing 1 0 Core http www w3 org tr ws addr core 2006 World Wide Web Consortium Extensible Markup Language http www w3 org tr rec xml 2006 World Wide Web Consortium MTOM Serialization Policy Assertion http www w3 org Submission WS MTOMPolicy 2006 World Wide Web Consortium Web Services Description Language Ve
6. No contexto desta necessidade de integra o encontra se o projecto TRAS OS MONTES NET um sub projecto do projecto Tr s os Montes Digital originalmente designado por Servi o Cooperativo de Extens o em Tr s os Montes e Alto Douro SCETAD Bulas Cruz e Ramos 2001 Este insere se no quadro das iniciativas do Governo orientadas para a Sociedade de Informa o nomeadamente no mbito do programa Cidades e Regi es Digitais POSI 2003 No mbito das Cidades Digitais apresenta se um excerto do discurso do Senhor Ministro da Ci ncia e Tecnologia a 10 de Fevereiro de 1998 em Aveiro o qual revela a elevada necessidade de interoperabilidade entre sistemas de informa o Espigueiro 2002 A aplica o de forma integrada de servi os digitais pode se conduzida com o objectivo da melhoria da qualidade de vida de todos os cidad os ser decisiva para o futuro de muitas cidades A utiliza o de tecnologias digitais de informa o e de telecomunica o para a melhoria dos cuidados de sa de a efectiva redu o da burocracia administrativa a capacidade de gera o de trabalho qualificado e de tele trabalho a simplifica o e transpar ncia dos processos de decis o a qualidade e diversidade da informa o recebida ou tratada a abertura e reconhecimento dos processos de educa o e de forma o profissional a generaliza o segura do com rcio electr nico a oferta de novos modos de lazer o apoio a cidad os com ne
7. o com login e password cifrados usando um Web Service A credencial de sess o tamb m anexada ao pedido O servidor verifica se a credencial de sess o ainda v lida se for executa o passo 7 caso contr rio envia uma SOAP Exception O servidor decifra a credencial de sess o O servidor decifra o login e a password verifica se esta conta v lida e quais as suas permiss es 76 9 As permiss es do cliente s o associadas credencial de sess o e armazenadas 10 E devolvido ao cliente um true ou false resultado acerca da sua autentica o 11 O Cliente tenta aceder a um qualquer Web Service para requisitar um servi o A credencial de sess o tamb m anexada ao pedido 12 O servidor verifica se a credencial de sess o ainda v lida se for executa o passo 13 caso contr rio envia uma SOAP Exception 13 E verificado se a credencial de sess o tem permiss es para aceder ao Web Service em quest o 14 enviada a resposta do pedido ao cliente Sempre que ocorra uma n o conformidade enviada ao cliente uma SOAP Exception cuja a tabela apresentada na tabela da figura 22 O c digo da utiliza o desta componente de seguran a encontra se no anexo II Soap Exception Cod name Mensagem SoapException ClientFaultCode N o foi definido o SHWSCredentialld SoapException VersionMismatchFaultCode A SHWSCredentialld usada n o v lida pe a uma nova SoapException ServerFau
8. Rapidamente floresceu em volta deste ambiente um mercado de componentes para o desenvolvimento de aplica es Os componentes desenvolvidos internamente ou comprados a terceiros tornaram se uma forma expedita de implementar ou actualizar funcionalidades nas aplica es No modelo de objectos distribu dos n o h nenhuma distin o entre servidores e clientes Podemos pensar no sistema como um conjunto de objectos que interagem e cuja localiza o irrelevante Neste modelo um conjunto de objectos com interfaces bem definidas chama servi os oferecidos por outros objectos Para utilizar servi os os objectos devem explicitamente fazer refer ncia ao nome e interface de outros objectos Uma vez que os objectos n o est o fortemente acoplados a implementa o de objectos pode ser modificada sem afectar outros objectos No entanto se uma modifica o na interface for requerida para satisfazer as mudan as propostas no sistema dever ser avaliado o efeito dessa mudan a em todos os utilizadores do objecto alterado Os diversos componentes de um sistema distribu do podem ser implementados em diferentes linguagens de programa o e executados em tipos de processadores completamente distintos Tamb m os modelos de dados a representa o das informa es e os protocolos de comunica o podem todos eles ser diferentes Portanto um sistema distribu do exige um software que possa gerir essas diversas partes e garant
9. Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 600 Texto Inexistente Ordena o dos Resultados DATA ENVIO DESC 125 6 Web Service Licen as O URL que define esta classe de web services http Ap_servidor_web WSACentral wsLicencas asmx 6 1 LimparLicencas Elimina todos as Licengas de um Municipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparLicencas xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparLicencas gt lt soap Body gt lt soap Envelope
10. Sun 1999 Tanenbaum 2002 OMG Java RMI and CORBA http www omg org library wpjava html 2004 Orfali R e D Harkey Client Server Programming with Java and CORBA zu edition John Wiley amp Sons New York 1998 POSI Programa Operacional Sociedade da Informa o http www posi pcm gov pt 2003 Promon Tecnologia O Modelo de Web Services Como Desenvolver Aplica es numa nova Arq u i t e t u ra Business amp Technology Review Series 2002 Ramalho J e P Henriques XML amp XSL Da Teoria pr tica FCA 2002 Roque V e J Oliveira CORBA DCOM e JavaRMI Uma An lise Comparativa IPG IETA 2003 Seetharaman K The CORBA Connection 10 edition vol 41 Comunication of the ACM 1998 Short S Building XML Web Services for the Microsoft Net Platform Microsoft Corporation Washington 2002 Silva M M Integra o de Sistemas de Informa o FCA 2003 SOAPBuilders Interoperability Lab http www xmethods net ilab 2003 Sommerville I Software Engineering 6 edition Pearson Education Limited 2001 Snell J D Tidwell e P Kulchenko Programming Web Services with SOAP O Reilly 2001 SUN JINI Technology Architectural Overview http www sun com jini whitepapers architecture html 1999 Tanenbaum A S Distributed Systems Principles and Paradigms Prentice Hall 2002 Trowbridge 2004 UTAD 2004 W3C 2002a W3C 2002b
11. institui o a quem o pedido se destina 66 O prot tipo de integra o desenvolve se no mbito de uma parceria entre a UTAD e as empresas Medidata Medidata 2007 e Shorcut Shortcut 2007 Estas empresas implementam os sistemas utilizados nas autarquias com os quais se pretende que o portal TRAS OS MONTES NET interaja Nesse sentido a interac o desejada insere se na categoria de SI distribu dos aproveitando a infra estrutura que a Internet disponibiliza e constru da segundo o modelo de arquitectura orientada a servi os atrav s da tecnologia de WS Na figura 16 pode observar se um diagrama que representa uma vis o geral da integra o definida Cidad o Internet Aplica o cliente Internet Fornecedor de servi os SI da autarquia R Do N A E SOBs D q Autarquia A AESA O q T HTML XML a Ns FF Autarquia B P Internet 2 y s ES Penes ad Y 1 di e ETA UTAD A Shortcut Aa 8 amp 1 Autarquia C cidad o JU Autarquia Z Figura 16 Vis o geral do prot tipo de integra o Zz A integra o conseguida atrav s da cria o de duas novas camadas de software a primeira colocada na aplica o cliente TRAS OS MONTES NET e a segunda sobre o SI das autarquias permitindo assim a total integra o das aplica es entre a entidade requisitante e as entidades parceiras fornecedoras da informa o O sis
12. lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONTRIB N mero de Contribuinte do Mun cipe PIN Novo PIN gerado pelo Sistema C digos de Erro 1 Sucesso 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente 204 Acesso negado 207 Resposta ao desafio errada Disp e de mais X tentativas X configur vel pela Autarquia e tem o valor por 3 tentativas de login erradas 208 Ultrapassou o n mero de tentativas erradas para o Desafio A conta est temporariamente bloqueada Neste caso o utilizador tem mesmo que aguardar as X horas para tentar novamente 8 6 ChangePassword M todo que permite a altera o do PIN do mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt ChangePassword xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt PINAntigo gt s
13. lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt Autentica xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt PIN gt string lt PIN gt lt Autentica gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR 1 1 N mero de Contribuinte do Mun cipe cifrado com a credencial em uso Password VARCHAR 4 PIN do Mun cipe cifrado com a credencial em uso Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name Autentica gt lt xs complexType gt lt xs sequence gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name NOME type xs string minOccurs 0 gt lt xs element name ACESSOS type xs int minOccurs 0 gt lt xs element name ACESSO
14. lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name DATA ENTRADA type xs dateTime minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name TIPOREQ type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt 117 Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO REQUER N mero do Requerimento DESCRICAO Descri o do Requerimento DATA ENTRADA Data de Entrada do Requerimento COM
15. 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name TIPOREQ type xs string minOccurs 0 gt lt xs element name TOOLTIP type xs int minOccurs 0 gt lt xs element name TRANSFERIDO type xs int minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO NUM PARECER N mero do Parecer DATA PEDIDO Data de Pedido do Parecer DATA PARECER Data de Emiss o do Parecer UNID RESP Unidade Respons vel pela Emiss o do Parecer TIPO PARECER C digo do Tipo de Parecer RESULTADO Resultado do Parecer FICHEIRO Nome do Ficheiro com o Conte do do Parecer INT EXT Indica o de Parecer Interno Externo REQUER N mero do Requerimento CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C
16. 204 Acesso negado 207 Resposta ao desafio errada Disp e de mais X tentativas X configur vel pela Autarquia e tem o valor por 3 tentativas de login erradas 208 Ultrapassou o n mero de tentativas erradas para o Desafio A conta est temporariamente bloqueada Neste caso o utilizador tem mesmo que aguardar as X horas para tentar novamente 2 6 ChangePassword M todo que permite a altera o do PIN do mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance mlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwWSCredentialId gt string lt SHwSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt ChangePassword xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt PINAntigo gt string lt PINAntigo gt lt PINNovo gt string lt PINNovo gt lt ChangePassword gt lt soap Body gt lt soap Envelope gt 106 Par metros de Entrada Cod_autarquia VARCHAR 11 C digo da autarquia IDMunicipe VARCHAR 12 N mero de Mun cipe cifrado com a credencial em uso PasswordAntiga VARCHAR 4 PIN actualmente
17. C Integra o de Sistemas de manufactura Revista INGENIUM Ordem dos Engenheiros 2 s rie n 56 2001 pp 68 74 Medidata http www medidata pt 2007 Microsoft Corporation Course Developing XML Web Services Using ASP NET 2001 Microsoft Corporation Release History for Visual Basic Microsoft Corporation http msdn microsoft com vbasic bday history asp 2001 MSDN SOAP Message Modification Using SOAP Extensions http msdn2 microsoft com en us library esw638yk aspx 2007 Navarro A C White e L Burman Mastering XML Sybex USA 2000 Organization for the Advancement of Structured Information Standards Web Services Security SOAP Messages with Attachments SwA Profile 1 1 http docs oasis open org wss v1 1 2006 Organization for the Advancement of Structured Information Standards http www oasis open org 2007 Organization for the Advancement of Structured Information Standards Security Assertion Markup Language SAML http xml coverpages org saml html 2007 OMG The Common Object Request Broker Architecture and Specification Object Management Group http www omg org revision 2 6 USA 2001 92 OMG 2004 Orfali e Harkey 1998 POSI 2003 Promon 2002 Ramalho e Henriques 2002 Roque 2003 Seetharaman 1998 Short 2002 Silva 2003 SOAP 2003 Sommerville 2001 Snell et al 2001
18. Mun cipe inexistente 300 Processo inexistente 10 3 GetRequerimentos Retorna um dataset com os requerimentos de um processo de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetRequerimentos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt num contribuinte gt string lt num contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt GetRequerimentos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Envelope de Retorno lt xml version 1 0 encoding utf 16 gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet
19. N mero do Processo TIPOPROC C digo do Tipo de Processo CONTRIB N mero de Contribuinte do Mun cipe RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 303 Processo sem Circula es 156 Ordena o dos Resultados DATA ENVIO DESC 11 4 PesgCirculacoes Pesquisa determinado texto em Circula es Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap en
20. SQL Server 2000 M todos Get Set 7 Detalhe Internet 7 XML e sa HTTP mes a O DB Component Figura 18 Arquitectura do prot tipo de integra o 12 As camadas interm dias incorporam a l gica aplicacional com as suas regras e procedimentos de modo a fornecer uma plataforma que permita simplificar e unificar diferentes tipos de aplica es e interfaces V rias tecnologias de middleware s o utilizadas para potenciar a comunica o entre sistemas permitindo v rios n veis de integra o As regras de formata o da informa o a disponibilizar para o exterior foram implementadas em dois blocos distintos um bloco para a comunica o com WS onde necess rio formatar as mensagens para XML outro para utilizar com a aplica o Web de front end Estes blocos foram desenvolvidos de uma forma modular por forma a poderem evoluir acomodando novas l gicas de neg cios para outros canais A camada de interface corresponde rea de apresenta o da aplica o e da informa o Atrav s de um cliente Web um browser o utilizador estabelece a interac o com a aplica o Web TRAS OS MONTES NET Outros componentes de interface s o os WS do sistema remoto WSAutarquias estes disponibilizam informa o ao portal que considerado o cliente desta interac o Os servi os do sistema WSAutarquias encontram se dispon veis para o portal sobe a forma de Web Methods
21. digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo TIPOREQ C digo do Tipo de Requerimento TOOLTIP Mensagem a disponibilizar na imagem do Parecer possivelmente vai ser eliminado TRANSFERIDO Flag que indica se o Conte do do Parecer j foi transferido download PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 305 Processo sem pareceres utilizado na consulta de Pareceres por Processo 400 Requerimento Inexistente 402 Requerimento sem pareceres Ordena o dos Resultados DATA PARECER DESC 164 13 2 LimparPareceres Elimina todos os pareceres de um Municipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi
22. msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt 148 lt xs element name GetRequerimentos gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name DATA ENTRADA type xs dateTime minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name TIPOREQ type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente i
23. o no computador Quando os SI partilham a mesma m quina seja um mainframe servidor departamental computador pessoal dispositivo m vel m quina de an lises balan a telem vel ou rel gio Integra o na empresa Quando os SI residem em m quinas distintas e portanto n o podem partilhar a mesma mem ria mas est o ligados atrav s de uma rede de banda larga segura e fi vel de pequena lat ncia Integra o entre empresas Quando os SI est o ligados ocasionalmente quando existem restri es de seguran a ou quando s o geridos por entidades distintas Note se que tal como em todas as classifica es n o existem fronteiras claras e bem definidas entre os tr s tipos de integra o Por um lado as condi es t picas da integra o na empresa tamb m podem existir entre empresas ligadas por circuitos dedicados Por outro lado tamb m pode acontecer que dentro de uma empresa existam as condi es t picas da integra o entre empresas E o caso por exemplo de qualquer empresa com presen a f sica dispersa ou departamentos aut nomos como na Administra o P blica Esta classifica o deve por isso ser entendida em termos tecnol gicos e n o administrativos A integra o enquanto facilitadora da interopera o entre sistemas e da sua coordena o global representa um importante pr requisito para garantir flexibilidade e 18 agilidade ou seja capacidade de suporte a diferentes p
24. pelo contr rio se complementam Existem outras defini es para o termo mas todas concordam que a interoperabilidade n o se consegue naturalmente e por essa raz o deve basear se em padr es aceites o mais amplamente poss vel pelo mercado em v rios itens como protocolos servi os e requisi es O facto que se a interoperabilidade um conceito simples possui ao mesmo tempo uma complexidade proporcional abrang ncia em que aplicada 2 4 Arquitecturas O desenvolvimento de aplica es distribu das requer novas t cnicas de desenho e novos modelos Nesta sec o abordam se os dois modelos de arquitecturas existentes para efectuar a troca de informa es mantendo a interoperabilidade entre tecnologias e sistemas middlewares s o ainda discutidas as caracter sticas destas arquitecturas e finalmente mostra se o efeito dos standards Web no desenvolvimento de aplica es distribu das 20 2 4 1 Arquitectura baseada em mensagens A arquitectura baseada em mensagens message based architectures apresenta se como uma s ria candidata para o desenvolvimento de aplica es distribu das Esta tecnologia utiliza na maior parte dos casos o conceito de filas de espera waiting queues para trocar dados implementa se recorrendo a um nico canal de comunica o ao qual se conectam todas as aplica es Microsoft 2001a O canal de comunica o deve ser independente de qualquer tipo de hardware linguagens d
25. xs string minOccurs 0 gt lt xs element name ESTADO CIVIL type xs string minOccurs 0 gt lt xs element name FILIACAO PAI type xs string minOccurs 0 gt lt xs element name FILIACAO MAE type xs string minOccurs 0 gt lt xs element name PROFISSAO type xs string minOccurs 0 gt lt xs element name DATA NASC type xs dateTime minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name BI type xs string minOccurs 0 gt lt xs element name BI DATA type xs dateTime minOccurs 0 gt lt xs element name BI ARQ type xs string minOccurs 0 gt lt xs element name PASSWORD type xs string minOccurs 0 gt lt xs element name HORA CARR type xs dateTime minOccurs 0 gt lt xs element name LOGINS type xs int minOccurs 0 gt lt xs element name FREG RESID type xs string minOccurs 0 gt lt xs element name FREG RESID DESC type xs string minOccurs 0 gt lt xs element name CONC RESID type xs string minOccurs 0 gt lt xs element name CONC RESID DESC type xs string minOccurs 0 gt lt xs element name DISTR_RESID type xs string minOccurs 0 gt lt xs element name DISTR RESID DESC type xs string minOccurs 0 gt lt xs element name FREG NATUR type xs string minOccurs 0 gt lt xs element name FREG NATUR_DESC type xs string minOccurs 0 gt lt xs element name CONC NATUR type xs s
26. Centro de Inform tica da Universidade de Tr s os Montes e Alto Douro e a todos os colegas da equipa de desenvolvimento pelo apoio e companheirismo N o posso deixar de mencionar o meu ilustre colega e amigo Jorge Borges pelo prazer que tive em trabalhar com ele e pelo muito que me ensinou no in cio da minha vida profissional Finalmente aos meus pais aos meus irm os e restante fam lia por todo o esfor o e investimento que fizeram na minha vida pela confian a e exemplo Espero que este trabalho proporcione tanto prazer a quem o ler como me deu a mim faz lo Foi um trabalho rduo mas julgo que os resultados obtidos compensam o esfor o despendido II RESUMO A necessidade de integrar Sistemas de Informa o sempre foi uma parte fundamental do seu desenvolvimento No entanto indiscut vel que nos ltimos anos com a populariza o das tecnologias baseadas na Internet a sua import ncia recebeu um grande impulso A integra o entre diferentes sistemas inform ticos n o um problema novo Arquitecturas baseadas em mensagens e sistemas de RPC bem como v rias outras tecnologias das quais se destacam o CORBA o DCOM e o JavaRMI foram criadas para tentar resolver esta problem tica mas s com os Web Services que na realidade a integra o se torna efectivamente universal Os Web Services apresentam um enorme potencial dado que pela primeira vez se produziu um consenso em torno das normas standard
27. Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparRequerimentosProcesso xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt 114 lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt LimparRequerimentosProcesso gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente 300 Processo inexistente 4 3 GetRequerimentos Retorna um dataset com os requerimentos de um processo de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xm
28. FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC DESCR Descri o do Tipo de Processo DATA ABERT Data de Abertura do Processo LOCAL OBRA Descri o do Local da Obra COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o PROPRIETARIO Nome do Propriet rio do Processo TIPOPROC C digo do Tipo de Processo DESCRICAO Descri o do Processo RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao Processo 300 P
29. Informa o no qual assenta o portal TRAS OS MONTES NET desenvolvido e mantido por esta equipa possui a sua pr pria base de dados componentes de middleware aplica es de manuten o e aplica es de monitoriza o entre outras disponibilizadas atrav s de um Data Center que se encontra na UTAD Por outro lado as entidades parceiras disp em dos seus pr prios Sistemas de Informa o aplica es vocacionadas para utiliza o interna sem qualquer liga o a recursos externos entidade quer ao n vel de equipamentos quer ao n vel dos dados Apresenta se de seguida na figura 1 um diagrama com o cen rio existente Note se a falta de liga o entre os sistemas inform ticos das diferentes institui es Esta solu o utiliza somente o servidor local como reposit rio de todas as informa es e n o se integra com os SI das entidades prestadoras de servi os Autentica o e consulta Autentica o e consulta de requisi es de servi os anc ewele P oes isa J gt Autentica o e consulta de informa o ae ee Bag ae ean Resposta g ENEA a Cidad o HTMLHTTP em requisi es de Intermedi rio A servi os g gt Q DataCenter UTAD 8 Sevidor das Intermedi rio entidades Servidor Web IIS6 W2003 Interage com os dois sistemas Aplleagees bases de dados TRAS OS MONTES NET Figura 1 O cen rio do projecto antes da integra o Na figur
30. N vel funcional Em que se visa o estabelecimento dum conjunto coerente de fun es ou actividades complementares entre si e o encadeamento da sua aplica o sob a forma de processos para a realiza o de cada objectivo N vel da informa o Sendo que cada componente ou subsistema produz e consome informa o a harmoniza o de modelos constru o de abstrac es comuns e a elimina o de redund ncias e inconsist ncias s o alguns dos passos na integra o de informa o N vel de interface e comunica o Nesta perspectiva focam se as necessidades de comunica o para a interopera o entre componentes e subsistemas A defini o de protocolos e mecanismos comuns de interface uma das etapas na integra o de sistemas As formas de acoplamento entre componentes forte fraco distribu do os canais f sicos de suporte comunica o redes bem como a quest o da interface entre o utilizador e a m quina fazem tamb m parte desta perspectiva 17 Nivel da coordena o O efectivo aproveitamento dum conjunto integrado de entidades depender do adequado planeamento da participa o de cada uma delas nos processos em curso no sistema O estabelecimento duma estrutura de coordena o global pois um requisito da integra o de sistemas Outra das in meras formas de classificar a integra o de Sistemas de Informa o e talvez a mais simples baseada na geografia Silva 2003 Integra
31. Net ICertificatePolicy Public Function CheckValidationResult ByVal sp As ServicePoint _ ByVal cert As X509Certificate ByVal req As WebRequest ByVal prob As Integer _ As Boolean Implements ICertificatePolicy CheckValidationResult Return True End Function End Class Na parte em que se vai consumir os Web Services usando SSL regista se esta classe de seguran a do seguinte modo ServicePointManager CertificatePolicy New MyCertificateValidation 170 C d igo que de modo Anexo III implementa s ncrono e a 171 integra o ass ncrono 172 Neste anexo exemplifica se a invoca o aos Web Services de duas formas distintas chamadas s ncronas e chamadas ass ncronas A fun o ConsultarProcessos apresentada nos dois exemplos que se seguem invoca o Web Method GetProcessos do Web Service Processos Este m todo devolve um objecto do tipo DataSet com a lista de processos solicitada e com esta informa o cria uma tabela de HTML para apresentar numa p gina web 1 Exemplo com chamada s ncrona O seguinte c digo implementa um processo s ncrono significa que logo ap s a invoca o esperada uma resposta e o processo fica bloqueado espera do retorno para prosseguir Public Function ConsultarProcessos ByVal sCredencial As String ByVal sAutarquia As String _ ByVal sNIF As String As DataSet Dim ds As New DataSet Try Cria objetos para chamar WebService initAuth
32. New Dataset wsProcessos A AsyncState ds wsProcessos EndGetProcessos A Catch se As SoapException Throw se Catch ex As Exception Throw ex End Try End Sub wsProcessos
33. Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe N LICENCA N mero da Licen a TIP LIC C digo do Tipo de Licen a DATA LICENCA Data da Licen a DESC LIC Descri o da Licen a REQUER N mero do Requerimento AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo PRAZO LICENCA Prazo da Licen a PERFIL Descri o do Perfil do Mun cipe perante o Processo 127 IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 500 N o foram encontradas Licen as com o texto a pesquisar Ordena o dos Resultados DATA LICENCA DESC 6 3 GetLicencas Retorna um dataset com as todas as licen as de um de um Mun cipe ou todas as licen as de um processo quando este especificado Envelope de Entra
34. RR DRESS NG RAD 2 SS EAD ASS NBR EAR SR 1 1 1 Enquadramento sise una aE Eaa eS E E ANTE 1 1 2 Moltiva es objectivos e MSLOdO t c iea een pia ee dele eee aeaend 5 1 3 Organiza o da disserta o ssesseesseeeseeesseeesseessresseerseesrseesseessersseessseesseres 6 2 Aplica es distribu das essssesssccsssscsecsssscseossesossossesecsossesoossesessoe 9 2 1 Motiva es para o desenvolvimento de aplica es distribu das 9 2 2 Caracter sticas de aplica es distribu das e 11 2 3 Integra o e interoperabilidade em aplica es distribu das 15 Ze NTQUILCCLOTAS E ur Ses toca de E ean asad ca ae an ace ao ale 19 2 5 Tecnologias de aplica es distribu das e ec eeececeeeeeeesececeeeeeeeneeeenteeeenaeeees 27 2 6 RESUMO ninaa a a a a a gue a E oem eae 30 da Web Services sun aticalasiaciadaracasmaracosoalidicatas tabascbaaseoneaennnencese 33 3 1 Defini o de Web Servic sieer nnion e oeii 33 32 MM E E E ET A 35 Iae SOAP te Da a AOSS 39 Se DD caia ai ra N T TA 44 35 WSDE sean ur a Aes 46 3 6 LELETO pera dad spa gro E E A DC Ga 49 3 7 RESUMO a a dec Sa a a N 52 IV 4 Proposta de um Sistema de Informa o usando Web SE TV GCS 5 cescesatancoccesnsunecutsscsepconesavetoanosnsesasenscauencaceoagsassatouveseasaeasesciouscacoerses 53 4 1 Modelo conceptiials assa edita E ened E aoa RG 53 AD Modelod arguitect ra snenie i e Eeer 55 4
35. Tipo de Processo DATA ABERT Data de Abertura do Processo LOCAL OBRA Descri o do Local da Obra COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o PROPRIETARIO Nome do Propriet rio do Processo TIPOPROC C digo do Tipo de Processo DESCRICAO Descri o do Processo RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra 109 RESP_PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 201 Mun cipe sem Processos Ordena o dos Resultados IDPERFIL ASC DATA ABERT DESC Sadia GetProcesso Retorna um dataset com os dados do processo indicado Envelope de Entrada lt xml version 1 0 encoding
36. do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo TIPOREQ C digo do Tipo de Requerimento RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao processo 300 Processo inexistente 301 Processo sem requerimentos Ordena o dos Resultados IDPERFIL ASC DATA ENTRADA DESC 116 4 4 GetRequerimento Retorna um dataset com os dados do requerimento indicado Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns
37. e liga es s o capazes de ser definidas descritas e descobertas como artefactos XML Um Web Service suporta interac es directas com outros componentes de software usando mensagens baseadas em XML trocadas via protocolos na Internet W3C 2004 Existem provavelmente tantas defini es de Web Service como existem empresas a implementar aplica es baseadas nesta arquitectura mas todas possuem em comum as caracter sticas a seguir aqui reunidas Os Web Services herdam dos sistemas orientados aos objectos as no es fundamentais de encapsulamento e reutiliza o Os WS s o componentes de software que encapsulam funcionalidade discreta representam uma caixa preta que pode ser reutilizada sem a preocupa o de se saber como funciona internamente O facto de encapsularem funcionalidade discreta determina que os WS sejam auto contidos e executem apenas uma actividade para a qual est o perfeitamente definidas as entradas e sa das de modo a ser poss vel determinar de uma forma simples a sua funcionalidade Po exemplo como invoc la e qual o resultado esperado O sucesso das tecnologias de informa o para a Internet deve se em parte ao facto de possu rem um n vel de abstra o suficientemente alto de modo a facilitar a compatibilidade entre sistemas heterog neos A infra estrutura de Internet na qual se baseiam os WS explora este n vel de abstra o associando ao mesmo tempo informa o sem ntica aos dados L
38. encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialld gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetProcessos xmlns http ws shortcut pt ws WSAutarquiasCentral gt 108 lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt GetProcessos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR I1 C digo da autarquia Num contribuinte VARCHAR 11 N mero de Contribuinte do Mun cipe Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetProcessos gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs stri
39. f Mensagens Atendimento Servi os Endere os Altera o do mapa de hor rio Arquivo Dados Pessoais Retroceder Topo Recomendar Site 1999 2003 SCETAD TR S OS MONTES DIGITAL TODOS OS DIREITOS RESERVADOS DESENVOLVIMENTO CI UTAD OPTIMIZADO PARA SOOX600 IEM tita Portugalini Ek O Figura 25 P gina de servi os de uma entidade no portal TRAS OS MONTES NET A consulta dos processos do utilizador poss vel atrav s da p gina Atendimento tal como ilustra a figura 26 X tr s os montes net servi os de atendimento electr nico ee ee atendimento Maria Judite Macedo Fernandes HomeService Atendimento Queixas 20 06 2007 Servi os d Enderecos Pedido de remo o de objectos dom sticos fora de uso 20 06 2007 binei Pedido de substitui o do contador 20 06 2007 D g Dados Pessoais Sair Retroceder gt Topo Recomendar Site G 1999 2003 SCETAD TR S OS MONTES DIGITAL TODOS OS DIREITOS RESERVADOS DESENVOLVIMENTO CI UTAD OPTIMIZADO PARA S00X600 IEM Tas Menos Daou ey Unde Europeia Dita ESS Portugalo ES Figura 26 P gina de processos no portal TRAS OS MONTES NET 81 A visualiza o do pr prio documento em si poss vel depois deste ser seleccionado na p gina Atendimento Um exemplo de um documento apresentado na figura 27 Exmo Senhor Presidente da C mara Municipal de Alij Pedido de substi
40. lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparLicencas xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparLicencas gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente L22 PesqLicencas Pesquisa determinado texto em Licen as Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt 159 lt Pesqhicencas xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt texto gt string lt texto gt lt PesqLicencas gt lt soap Body gt lt soa
41. lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetRequerimento gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name DATA ENTRADA type xs dateTime minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt el el el el el el lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name TIPOREQ type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lement name RESP PROJ type xs string minOccurs 0 gt 150 lt xs complexT
42. name DESCRICAO type xs string minOccurs 0 gt lt xs element name DATA ENTRADA type xs dateTime minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name TIPOREQ type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO REQUER N mero do Requerimento DESCRICAO Descri o do Requerimento DATA ENTRADA Data de Entrada do Requerimento COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o CONTRIB N mero de Contribuinte
43. os WS se baseiam definem essencialmente os aspectos relacionados com a troca de mensagens entre aplica es ou seja entre a aplica o cliente e o Web Service permitem descrever a interface do WS e como eles podem ser descobertos dinamicamente pelas aplica es cliente O funcionamento dos Web Services baseado no modelo de arquitectura orientado a servi os e utiliza a infra estrutura da Internet bem como as suas normas da seguinte forma e Um formato normalizado de representar os dados XML e Uma infra estrutura de comunica o global TCP IP e Um protocolo de transporte de dados normalizado HTTP e Um formato de mensagens comum SOAP e Uma linguagem de descri o dos servi os WSDL e Um modo de descobrir servi os e fornecedores de servi os na Web UDDI Os aspectos relacionados com a seguran a gest o de transac es e encaminhamento de mensagens est o tamb m alinhados com os princ pios t cnicos fundamentais nomeadamente a composi o de protocolos e a interoperabilidade baseada em normas As mensagens SOAP s o extens veis permitindo incorporar informa o de seguran a em cabe alhos espec ficos para esse efeito 53 CAP TULO IV 4 Proposta de um Sistema de Informa o usando Web Services Ap s a reuni o dos conceitos fundamentais de integra o de SI tendo essas finalidades e caracter sticas por refer ncia apresenta se neste cap tulo uma arquitectura de um siste
44. relev ncia O objectivo central deste trabalho a apresenta o de uma arquitectura conceptual e t cnica suportada por um prot tipo funcional que permita a conectividade e interoperabilidade entre Sistemas de Informa o baseados na Web A solu o de integra o destina se a ser usada e integrada em plataformas bastante d spares dado que cada entidade possui um Sistema de Informa o pr prio que teria de alguma forma de integrar esta nova capacidade Sendo que esta disserta o surge num contexto de agita o ao n vel dos Sistemas de Informa o distribu dos objectivo espec fico estudar a arquitectura de software orientada a servi os e as tecnologias envolventes estabelecendo as limita es e as capacidades deste novo modelo A presente disserta o foi conduzida segundo o m todo tradicional em tr s etapas fundamentais identifica o e formula o do problema a resolver revis o bibliogr fica de modo a diagnosticar as necessidades de aprendizagem a recolha das refer ncias e o estudo que se prop e apresenta o de uma proposta de SI que resolva o problema identificado e concretiza o de um prot tipo com o modelo proposto e finalmente discus o das conclus es obtidas com o trabalho realizado 1 3 Organiza o da disserta o A disserta o foi estruturada em cinco cap tulos distintos Introdu o Aplica es Distribu das Web Services Proposta de um SI usando Web Services e fina
45. servidor e os argumentos s o ent o passados para a fun o a ser chamada Qualquer valor a ser retornado devolvido para quem chamou a fun o de uma forma similar Microsoft 2001a Antes de qualquer comunica o fundamental que os servidores publiquem as interfaces nomes par metros e resultados dos procedimentos disponibilizados caso contr rio os clientes n o saber o que servidores e procedimentos estar o dispon veis para serem chamados remotamente Estas interfaces s o escritas numa linguagem pr pria chamada IDL Interface Definition Language que independente da linguagem de programa o quer do cliente quer do servidor deste modo ser poss vel ao cliente chamar procedimentos remotos escritos numa linguagem de programa o diferente A descri o completa da linguagem IDL pode ser obtida no cap tulo tr s da especifica o CORBA OMG 2001 Contudo uma desvantagem est relacionada com a evolu o das interfaces dos procedimentos e at dos pr prios procedimentos pois n o existe nada na arquitectura RPC que permita avisar os clientes que apesar da interface ser id ntica o servi o prestado pelo procedimento foi alterado ou mais grave ainda que a interface de determinado procedimento foi alterada A arquitectura baseada em RPC tem uma s rie de vantagens principalmente quando comparada com a arquitectura baseada em mensagens Silva 2003 23 e Simplicidade Como o conceito de procediment
46. shortcut pt ws WSAutarquiasCentral xmlns soapenc http schemas xmlsoap org soap encoding targetNamespace http ws shortcut pt ws WSAutarquiasCentral xmlns http schemas xmlsoap org wsdl gt lt types gt lt s schema elementFormDefault qualified targetNamespace http ws shortcut pt ws WSAutarquiasCentral gt lt s element name Authenticate gt lt s complexType gt lt s sequence gt lt s element minOccurs 0 maxOccurs 1 name client type s string gt lt s element minOccurs 0 maxOccurs 1 name pass type s string gt lt s sequence gt lt s complexType gt lt s element gt lt s element name AuthenticateResponse gt lt s complexType gt lt s sequence gt lt s element minOccurs 1 maxOccurs 1 name AuthenticateResult type s boolean gt lt s sequence gt lt s complexType gt lt s element gt lt s schema gt lt types gt lt message name AuthenticateSoapIn gt 49 lt part name parameters element s0 Authenticate gt lt message gt lt message name AuthenticateSoapOut gt lt part name parameters element s0 AuthenticateResponse gt lt message gt lt portType name WSAAuthenticationSoap gt lt operation name Authenticate gt lt input message s0 AuthenticateSoapin gt lt output message s0 AuthenticateSoapOut gt lt operation gt lt portType gt lt binding name WSAAuthenticationSoap type s0 WSAAuthenticationSoap gt lt soap
47. sobre o WS registado e descreve se como a estrutura businessService utiliza v rias informa es t cnicas correspondendo informa o encontrada nas Green Pages 46 z e TModel este elemento utilizado para indicar a localiza o de informa o t cnica adicional de um WS como por exemplo uma descri o que se encontre num ficheiro externo O UDDI providencia tr s fun es principais conhecidas como publica o descoberta e liga o A publica o torna poss vel que uma organiza o divulgue os seus servi os a descoberta permite que o cliente ou invocador do servi o procure e encontre um determinado servi o e finalmente a liga o para que o cliente possa estabelecer a interac o com o servi o Os servidores de UDDI podem ser p blicos acedidos via Internet ou privados acedidos por exemplo em Intranets de empresas Os processos de registo e invoca o ao UDDI podem ser feitos atrav s de uma interface program tica utilizando uma API ou Web Services disponibilizados para o efeito ou por pessoas atrav s de uma interface 3 5 WSDL A especifica o Web Service Description Language WSDL foi inicialmente uma proposta da IBM Microsoft e cerca de uma d zia de outras empresas no entanto tal como as normas XML e SOAP foi aceite pelo W3C e est agora sob a orienta o do XML Protocol Working Group Um documento WSDL escrito utilizando XML e pretende descrever a interface de um ou
48. terminais tinham pouca ou nenhuma capacidade de processamento de modo que todo o processamento de informa es era da responsabilidade do computador mainframe Sommerville 2001 10 Actualmente assistimos a uma transforma o fundamental do mercado inform tico e in meras motiva es apontam para a descentraliza o das aplica es entre elas incluem se as apresentadas nos pontos seguintes Tanenbaum 2002 O elevado custo dos mainframes N o s porque o elevado investimento inicial j um risco para as empresas mas tamb m porque havendo um nico ponto a falha desse pode ser um risco insuport vel A posse da informa o Um importante factor associado descentraliza o a pol tica de posse da informa o Departamentos divis es empresas geograficamente distribu das que contenham dados n o querem ceder essa informa o para uma outra localiza o central Seguran a Para qualquer organiza o dados confidenciais devem estar seguros no entanto precisam de ser facilmente acess veis Estes dois requisitos s o mais facilmente conseguidos se os dados estiverem fisicamente segmentados Os factos precedentes alertam para a emerg ncia de um novo padr o de desenvolvimento de aplica es conhecido como sistema distribu do Um sistema distribu do constitu do por uma colec o de computadores distintos capazes de distribuir o processamento da informa o entre si e vistos pelos util
49. utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetProcesso xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt GetProcesso gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmlns msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt 110 lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetProces
50. utilizado cifrado com a credencial em uso PasswordNovo VARCHAR 4 Novo PIN cifrado com a credencial em uso Retorno de DataSet com C digos de Erro C digos de Erro 1 Sucesso 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente 204 Password Incorrecta Disp e de mais X tentativas X configur vel pela Autarquia e tem o valor por 3 tentativas de login erradas 205 Ultrapassou o n mero de tentativas erradas A conta est temporariamente bloqueada Neste caso o nico acesso passa a ser pelo M todo Desafio Zi ua LimparMunicipe Limpa toda a informa o relacionada com o Mun cipe da cache local ex Processo Perfil Requerimentos etc Este m todo dever sempre ser chamado quando um mun cipe abandona a sess o web Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparMunicipe xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num_contribuinte gt string lt num_contribuinte gt lt LimparMunicipe gt lt soa
51. v rios Web Services apresentando os m todos poss veis de invocar em cada servi o e os respectivos par metros que eles aceitam os tipos de dados os protocolos que podem ser utilizados e o endere o da sua localiza o W3C 2007a O WSDL extens vel para permitir a descri o de servi os e mensagens independentemente dos formatos de mensagens e dos protocolos de rede que sejam usados possibilitando assim que um servi o seja descrito de forma totalmente transparente da sua implementa o 47 Cada documento WSDL constitu do por duas partes como mostra a figura 9 a primeira visa a defini o dos servi os em termos abstractos e a segunda tem como objectivo concretizar a defini o abstracta em termos de protocolos e transportes suportados a Definitions gt C Types C Message q Port Type wa lt d Figura 9 Representa o de um documento WSDL Os principais elementos que constituem a defini o da interface de um Web Service num documento WSDL s o e Definitions o elemento raiz do formato XML do documento sendo aqui que se definem os namespaces que s o utilizados ao longo do documento e Types este elemento define os tipos de dados utilizados nas mensagens ou seja no elemento message Esta defini o dever ser feita segundo o XML Schema Definition e Message define as assinaturas de entrada e sa da de cada m todo Cada elemento mensa
52. xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetRequerimento xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt num contribuinte gt string lt num contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt IDrequerimento gt string lt IDrequerimento gt lt GetRequerimento gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo IDRequer VARCHAR 15 N mero do Requerimento Envelope de Retorno lt xml version 1 0 encoding utf 16 2 gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetRequerimento gt lt xs complexType gt lt xs sequence gt
53. 04 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 500 N o foram encontradas Licen as com o texto a pesquisar Ordena o dos Resultados DATA LICENCA DESC 2 Ao GetLicencas Retorna um dataset com as todas as licen as de um de um Mun cipe ou todas as licen as de um processo quando este especificado Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetLicencas xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt num contribuinte gt string lt num contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt GetLicencas gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR I1 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo quando n o especificado usar IDT
54. 19 Web Methods de WSAutarquias 74 Esta ferramenta cria toda a estrutura necess ria constru o de p ginas Web e emprega a solu o designada por code behind que consiste em criar uma p gina ASPX que apenas cont m uma directiva que indica onde se encontra localizado o c digo em que linguagem est escrito e qual a classe a ser usada pode ver se um exemplo desta directiva na figura 20 lt Page Language vb Codebehind webServicos aspx vb Inherits wsAutarquiasTMD webServicos gt Figura 20 Directiva ASPX para code behind O componente de autentica o transversal a todas as camadas e permite que os utilizadores sejam identificados e autenticados pelo sistema de uma forma segura Assim foi necess rio separar as funcionalidades que apenas necessitam de autentica o na base de dados local das que iriam necessitar de informa es do servidor remoto A autentica o do portal TRAS OS MONTES NET no servidor remoto apresentada na sec o 4 5 3 Sistema de Seguran a no Cliente onde se explica como utilizar o componente de seguran a atrav s de HTTP e HTTPS 4 5 3 Sistema de seguran a no cliente O sistema de seguran a no cliente composto por um componente de seguran a o SHSecurityClient dll que usado para cifrar o username e a password dados que identificam o sistema TRAS OS MONTES NET com uma credencial fornecida A credencial fornecida depois de autenticada usada para a
55. 1996 Descri o Anexo I WSDL dos Web Services do sistema WSAutarquias 95 96 Este anexo apresenta a descri o WSDL dos Web Services do sistema WS Autarquias Todos os schemas de retorno devolvem no objecto dataset a tabela Erros se o n mero de retorno for igual ou maior do que 1 ent o houve sucesso se for negativo ocorreu um erro de acordo com o Web Service correspondente lt xs element name Erros gt lt xs complexType gt lt xs sequence gt lt xs element name Numero type xs string minOccurs 0 gt lt xs element name Descricao type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt 1 Web Service Autentica o O URL para chamada a este Web Service o seguinte onde ip servidor web o endere o IP onde foi instalado o wsAutarquias http fip servidor web WS ACentral wsA Authentication asmx Este Web Service respons vel por solicitar ao servidor uma chave para encripta o e ainda para solicitar uma credencial autenticada atrav s dos seguintes Web Methods Edi GetValidKey 1 2 Authenticate bo ta WSDL do Web Service lt xml version 1 0 encoding utf 8 gt lt definitions xmlns http http schemas xmlsoap org wsdl http xmlns soap http schemas xmlsoap org wsdl soap xmlns s http www w3 org 2001 XMLSchema xmlns s0 http ws shortcut pt ws WSAutarquiasCentral xmlns soapenc http schemas xmlsoap org s
56. 3 Modelo tecnol gitsen neneiia nna i EE AE RA 62 AA Apresenta odo projecto secnercenic nios a E a 65 4 5 Prot tipo de INL E STAC AO sais sinc scat aaa ma T das ade ad 67 4 6 Merificac o d Prot tipo su a ga wane oe R E E E E E 77 4 7 RESUMO ed RO eens a nee ae ates 82 5 CO TU CTS GES anais RO Gana EGR ado pa RdO PAO Ga nTn ADDED Seg Ueda ia Caiana 83 REFERENCIAS ijn aa cel a hee daa ahah aaa te tas as 89 Anexo I Descri o WSDL dos Web Services do sistema WSAutarquias 95 Anexo II C digo que implementa a integra o o sistema de seguran a no cliente e a tiliz c o de SS ima resus dace OA Ra E A ai 165 Anexo III C digo que implementa a integra o de modo s ncrono e assincrono 171 Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura VI INDICE DE FIGURAS 1 O cen rio do projecto antes da integra o eeeeeeeescecseececeeeeeceeeeeenteeeenseerenee 4 2 O cen rio do projecto ap s a integra o eee 5 3 Documento XML bem formado nissan ad cao 36 4 Um poss vel DTD para o XML da figura 3 37 5 Um poss vel XML Schema para o XML da figura 3 38 6 Representa o de uma mensagem SOAP erre 42 7 Exemplo de pedido SOAP sobre HTTP rr 43 8 Exemplo de resposta SOAP sobre HTTP ceecceeeececeeeceeeeeeeeeteeeenaeeeenes 43 9 Represen
57. 79 P gina de servi os de uma entidade no portal TRAS OS MONTES NET 80 P gina de processos no portal TRAS OS MONTES NET 80 P gina de visualiza o de processo no portal TRAS OS MONTES NET 81 Fases da adop o dos Web Servives ces lt cscaina oacavadseaeduaisoveoeioms ee aedecoasneeaes 85 CORBA DCOM DTD EAI FTP HTTP HTTPS IDL IETF JVM MIME OASIS ORB RPC SGML SI SMTP SOA SOAP SSL TCP IP UDDI URI URL W3C WS WSDL VII SIGLAS Object Management Group Distributed Component Object Model Document Type Declaration Enterprise Application Integration File Transfer Protocol Hypertext Transfer Protocol Hypertext Transfer Protocol Secure Interface Definition Language Internet Engineering Task Force Java Virtual Machine Multipurpose Internet Mail Extensions Organization for the Advancement of Structured Information Standards Object Request Broker Remote Procedure Call Standard Generalized Markup Language Sistemas de Informa o Simple Mail Transfer Protocol Service Oriented Architecture Simple Object Access Protocol Secure Socket Layer Transmission Control Protocol Internet Protocol Universal Description Discovery and Integration Uniform Resource Identifier Uniform Resource Locator World Wide Web Consortium Web Service Web Services Definition Language WS I WWW XML XSD XSLT Web Services Interoperability Organization World Wide Web Extensible Ma
58. ATUR C digo da Freguesia da sua Naturalidade FREG NATUR DESC Freguesia da sua Naturalidade CONC_NATUR C digo do Concelho da sua Naturalidade CONC NATUR DESC Concelho da sua Naturalidade DISTR NATUR C digo do Distrito da sua Naturalidade DISTR NATUR DESC Distrito da sua Naturalidade CODIGO POSTAL C digo Postal de Resid ncia TELEFONE Telefone FAX Fax EMAIL Email SEXO Sexo do Mun cipe F Feminino M Masculino NULL ou N N o especificado TIPO USER Tipo de Utilizador 0 Utilizador Individual 1 Utilizador Empresarial 2 Funcion rio C digos de Erro 1 Sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente 203 SetDesafio Permite definir um desafio que poder ser usado para gerar uma nova password Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmins xsd http www w3 0rg 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentialId gt lt SHWSClientCredentia
59. Autarquia WebService n o encontrado 200 Mun cipe inexistente 403 N o foram encontrados Requerimentos contendo o texto a pesquisar Ordena o dos Resultados IDPERFIL ASC DATA ENTRADA DESC 153 11 Web Service Circula es O URL que define esta classe de web services http Ap_servidor_web WSACentral wsCirculacoes asmx 11 1 LimparCirculacoes Elimina todos as circula es de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparCirculacoes xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparCirculacoes gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente 11 2 LimparCirculacoesProcesso Elimina todas as circula es de um processo de um Mun cipe na cache Envelope de Entrada lt
60. Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC DESCR Descri o do Tipo de Processo DATA ABERT Data de Abertura do Processo LOCAL OBRA Descri o do Local da Obra COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o PROPRIETARIO Nome do Propriet rio do Processo TIPOPROC C digo do Tipo de Processo DESCRICAO Descri o do Processo RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra 142 RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Aut
61. Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo IDRequer VARCHAR 15 N mero do Requerimento Caso este par metro esteja vazio retorna a lista dos Pareceres por Processo Se estiver preenchido retorna a lista dos Pareceres por Requerimento Envelope de Retorno lt xml version 1 0 encoding utf 16 gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetPareceresGlobal gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name NUM PARECER type xs string minOccurs 0 gt lt xs element name DATA PEDIDO type xs dateTime minOccurs 0 gt lt xs element name DATA PARECER type xs dateTime minOccurs 0 gt lt xs element name UNID RESP type xs string minOccurs 0 gt lt xs element name TIPO PARECER type xs string minOccurs 0 gt lt xs element name RESULTADO type xs string minOccurs 0 gt lt xs element name FICHEIRO type xs string minOccurs 0 gt lt xs element name INT EXT type xs string minOccurs 0 gt 163 lt xs element name REQUER type xs string minOccurs
62. DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo TIPOREQ C digo do Tipo de Requerimento RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 400 Requerimento Inexistente 4 5 PesqRequerimentos Pesquisa determinado texto em todos os Requerimentos a que o Mun cipe pode aceder Envelope de Entrada lt xml v
63. FERIDO type xs int minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO NUM PARECER N mero do Parecer DATA PEDIDO Data de Pedido do Parecer DATA PARECER Data de Emiss o do Parecer UNID RESP Unidade Respons vel pela Emiss o do Parecer TIPO PARECER C digo do Tipo de Parecer RESULTADO Resultado do Parecer FICHEIRO Nome do Ficheiro com o Conte do do Parecer INT EXT Indica o de Parecer Interno Externo REQUER N mero do Requerimento CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo TIPOREQ C digo do Tipo de Requerimento TOOLTIP Mensagem a disponibilizar na imagem do Parecer possivelmente vai ser eliminado TRANSFERIDO Flag que indica se o Conte do do Parecer j foi transferido download PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe pe
64. INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMACAO BASEADOS NA WEB MESTRADO EM TECNOLOGIAS DAS ENGENHARIAS Maria Judite Macedo Fernandes Saraiva eee Universidade de Tras os Montes e Alto Douro Departamento de Engenharias Vila Real Mar o 2008 Orienta o de Prof Doutor Jo o Manuel Pereira Barroso e Prof Doutor Jo o Eduardo Quintela Alves de Sousa Varaj o Disserta o submetida Universidade de Tr s os Montes e Alto Douro como requisito parcial para a obten o do grau de Mestre em Tecnologias das Engenharias AGRADECIMENTOS Um trabalho de mestrado tem o reconhecido significado a nivel acad mico mas este representa acima de tudo o culminar de um enorme esfor o e dedica o sobretudo porque foi necess ria muita persist ncia para o conseguir conciliar com a minha vida profissional Em primeiro lugar quero agradecer ao meu orientador Professor Doutor Jo o Varaj o pelo incentivo pela dedica o pela excel ncia da sua orienta o e sobretudo pela disponibilidade que sempre demonstrou mesmo estando eu a 400KM de dist ncia Agrade o ao meu orientador Professor Doutor Jo o Barroso pela confian a depositada em mim por me ter ajudado a arrancar com este projecto e a garantir que ele seria sustentado at ao final Um agradecimento especial ao meu marido Lu s Saraiva por ser a minha fonte de inspira o pelo seu discernimento e sugest o do tema desta tese Quero tamb m agradecer ao
65. LSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name PesqLicencas gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name N LICENCA type xs string minOccurs 0 gt lt xs element name TIP LIC type xs string minOccurs 0 gt lt xs element name DATA LICENCA type xs dateTime minOccurs 0 gt lt xs element name DESC LIC type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name PRAZO LICENCA type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o
66. OM CORBA RMI em Java tal como foi referido no segundo cap tulo Apesar destas tecnologias terem basicamente a mesma inten o funcional isto desenvolver os seus programas de forma a utilizar aplica es remotas como se estivessem acess veis no seu pr prio ambiente tinham uma s rie de problemas e limita es Al m disso a interoperabilidade entre plataformas prometida era muito complexa semanticamente amb gua e requeria um esfor o de desenvolvimento enorme Assim o modelo de WS baseado numa linguagem padr o o XML representa uma boa alternativa para responder aos requisitos b sicos de comunica o e compatibiliza o de dados necess rios interoperabilidade de aplica es que podem ou n o estar dentro da mesma empresa 4 3 Modelo tecnol gico A tecnologia subjacente aos WS baseia se fortemente na Internet atrav s de um conjunto de standards Este conjunto tecnol gico est agrupado por camadas que desempenham o seu papel num dom nio de actua o limitado e perfeitamente definido Publica o e pesquisa de servi os Description re WSDL XML Schema Doc palace Message Format SOAP Formata o de mensagens Encoding XML Transport HTTP SMTP HTTPS etc Sistema de serializa o de dados NO A Protocolos de Rede Transporte mee Figura 15 Suporte tecnol gico de uma arquitectura baseada em Web Se
67. ONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC DESCR Descri o do Tipo de Processo DATA ABERT Data de Abertura do Processo LOCAL OBRA Descri o do Local da Obra COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o PROPRIETARIO Nome do Propriet rio do Processo TIPOPROC C digo do Tipo de Processo DESCRICAO Descri o do Processo RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Er
68. SAAuthentication End Sub De seguida implementou se a fun o obterCredencial esta solicita uma credencial ao Web Service de autentica o invocando o Web Method getValidkey Private Function obterCredencial As String Try initAuth obterCredencial Auth getValidKey Catch se As SoapException Throw se Catch ex As Exception Throw ex End Try End Function A credencial obtida usada na fun o Autenticar para cifrar os dados de login e password usando o m todo getEncrypt da class SHCertifyedClient no Namespace referido Shortcut Security Os dados cifrados enviam se ao servidor remoto atrav s do no m todo Authenticate para pedir uma credencial autenticada Private Function Autenticar ByVal user As UserInfo As String Dim log As New Log user TEP initAuth Authcrt SHWSCredentialId Auth getValidKey 168 Se es Auth SHWSClientCredentialsValue Authcrt Dim user encrypt As String Dim pass encrypt As String pass encrypt SecurityClient getEncrypt user Login Authcrt SHWSCredentialld user encrypt SecurityClient getEncrypt user Pwd Authcrt SHWSCredentialld If Auth Authenticate user encrypt pass encrypt Then log AddMessage Authentication OK Autenticar Authcrt SHWSCredentialld Else log AddMessage Authentication NOT OK Autenticar False ToString End If Catch se As SoapException Throw New Exceptio
69. STOTAIS type xs int minOccurs 0 gt lt xs element name ULTIMOACESSO type xs dateTime minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt 133 lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONTRIB N mero de Contribuinte do Mun cipe NOME Nome do Mun cipe ACESSOS N mero de acessos do Mun cipe desde a ltima altera o de PIN efectuada pelo sistema Nova ades o de Mun cipe ou Gera o autom tica do PIN pelo AnswerDesafio Caso seja 1 deve ser sugerida ao Mun cipe a altera o do PIN ACESSOSTOTAIS Total de acessos do Mun cipe ULTIMOACESSO Data Hora do ltimo acesso efectuado pelo Mun cipe C digos de Erro 1 Sucesso 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente 204 Password Incorrecta Disp e de mais X tentativas X configur vel pela Autarquia e tem o valor por 3 tentativas de login erradas 205 Ultrapassou o n mero de tentativas erradas A conta est temporariamente bloqueada Neste caso o nico acesso passa a ser pelo M todo Desafio BiA GetMunicipe Retorna um dataset com os dados de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001
70. TD o conceito de XML Schema definir a estrutura de um documento XML No entanto ele pr prio escrito em XML o que lhe permite uma maior extensibilidade contrariamente ao DTD que possui uma sintaxe pr pria Tornou se uma recomenda o do W3C em Maio de 2001 tentando solucionar algumas lacunas importantes encontradas no DTD W3C 2007b Embora haja mecanismos no padr o DTD para validar a obrigatoriedade de elementos a sua sequ ncia a frequ ncia com que devem aparecer no documento etc n o h forma de validar o tipo desses elementos Basicamente para as DTDs os elementos s o do tipo texto ou s o vazios para o exemplo apresentado poss vel especificar a exist ncia de um elemento chamado dateborn mas n o poss vel assegurar que o conte do desse elemento seja uma data v lida W3C 2007c A figura 5 mostra um poss vel XML Schema para o exemplo que se apresentou na figura 3 note se que tal como em todos os XSD ele cont m o elemento raiz schema onde se inclui a informa o a respeito do namespace Tal como se pode observar nas restantes linhas define se o elemento user como sendo do tipo complexo complexType porque cont m outros elementos sendo constitu do pela sequ ncia seguence de elementos simples lastname age dateborn lt xml version 1 0 gt lt xs schema xmlns xs http www w3 org 2001 XMLSchema gt lt xs complexType name user gt lt xs sequenc
71. TRIB type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt 124 lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO NUM CIRC N mero da Circula o SERVICO Servi o Entidade que emitiu a Circula o OBSERVACOES Observa es FUNCIONARIO Nome do Funcion rio que emitiu a Circula o DATA ENVIO Data de Envio da Circula o AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo CONTRIB N mero de Contribuinte do Mun cipe RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2
72. XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetMunicipe xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt GetMunicipe gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt 134 lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetMunicipe gt lt xs complexType gt lt xs sequence gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name NOME type xs string minOccurs 0 gt lt xs element name MORADA type xs string minOccurs 0 gt lt xs element name LOCAL type
73. a da sua organiza o e da carga na rede Como tudo isso pode mudar em curto tempo o tempo de resposta solicita o de um utilizador pode variar repentinamente de uma solicita o para outra Al m das principais vantagens e desvantagens dos sistemas distribu dos identificam se de seguida os principais aspectos a ter em considera o no seu desenho Coulouris et al 1994 Identifica o de recursos Os recursos de um sistema distribu do est o dispersos em diferentes computadores e portanto as aplica es devem conter mecanismos para a sua localiza o e uso eficiente Um esquema de nomes deve ser constitu do para que os utilizadores possam descobrir e referir se aos recursos de que necessitam Um exemplo desse esquema de denomina es o URL Uniform Resource Locator que utilizado para identificar p ginas Web Se um esquema de identifica o significativo e universalmente conhecido n o for utilizado muitos desses recursos ser o inacess veis aos utilizadores de SI Comunica es A disponibilidade universal da Internet e a eficiente implementa o dos protocolos de comunica o TCP IP Transmission Control Protocol Internet Protocol prop em que para a maioria dos sistemas distribu dos este o modo mais eficaz dos computadores comunicarem entre si Contudo quando houver requisitos espec ficos de desempenho fiabilidade entre outros poder o ser utilizadas abordagens alternativas para as com
74. a anterior o utilizador intermedi rio representa um t cnico de uma entidade este acede ao portal TRAS OS MONTES NET para consultar os pedidos efectuados institui o O intermedi rio interage com os dois sistemas de modo a criar o pedido no SI da institui o que representa e actualizar o estado desse pedido no portal TRAS OS MONTES NET Desta forma foi identificado um problema de troca de informa es entre os Sistemas de Informa o destas institui es e a UTAD Contudo verificou se que no conjunto de entidades parceiras existe um grande n mero de casos que utiliza produtos de software provenientes do mesmo fornecedor revelando assim uma oportunidade de desenvolvimento de um sistema de integra o comum A solu o de integra o dever permitir a interac o entre o portal de servi os orientado aos cidad os TRAS OS MONTES NET e os Sistemas de Informa o espec ficos das Administra es Municipais onde se encontram os processos dos mun cipes que se pretendem consultar em tempo real De seguida na figura 2 apresenta se a liga o que desejada e necess ria criar elucidando alguns aspectos relativos abordagem a adoptar Deste modo oferece se ao cidad o a possibilidade de consultar os seus processos de forma organizada sem ter de se dirigir fisicamente a cada uma das institui es em busca dessas informa es Autentica o e consumo dos Web Services Autentica o e consulta
75. a aplica o cliente no n Service Registry o n na rede que o reposit rio da descri o dos servi os cont m um registo global dos servi os dispon veis podendo ser usado como um livro de endere os para procurar a localiza o dos servi os O Service Consumer interroga o Service Registry para localizar o requerido Service Provider e o pr prio servi o em si 57 O modelo SOA foi desenhado para permitir que os n s supracitados realizem transac es entre si ou seja interactuem para implementar as tr s opera es b sicas seguintes e Publish services Os Services Providers publicam os seus servi os no Service Registry A informa o publicada inclui a defini o da interface do servi o a localiza o do Service Provider e se poss vel outra informa o de suporte ou documenta o e Find service Os Services Consumers procuram os servi os requeridos ou desejados usando o Service Registry e Bind to services Os Services Consumers ligam se a um servi o espec fico providenciado pelo Service Provider sendo que este processo de liga o inclui autentica o dos consumidores Ambas as opera es find service e bind to service devem poder ser realizadas dinamicamente permitindo que as aplica es se configurem a si pr prias Este um aspecto importante uma vez que os servi os n o se destinam a ser usados directamente pelo utilizador O m todo de opera o baseia se em trocas
76. a da Microsoft Qualquer linguagem que entenda esta norma pode criar e utilizar objectos DCOM no entanto s poder ser utilizado em plataformas Microsoft o que significa que tanto o cliente como o servidor t m de ser sistemas baseados em tecnologias da Microsoft Com o DCOM os detalhes sobre as quest es de localiza o dos componentes n o s o especificados no c digo Cada componente cont m um identificador nico de 128 bits denominado por Class Identifier CLSID que associa uma classe de objectos a uma Dynamic Linked Library DLL ou aplica o execut vel EXE Assim para que o cliente localize o componente precisa apenas de conhecer o seu identificador estando este no registo da m quina local ou em qualquer m quina da rede Esta independ ncia de localiza o do DCOM simplifica a tarefa de distribui o dos componentes de uma aplica o 2 5 3 JavaRMI A especifica o Java RMI a tecnologia da Sun para desenvolver aplica es distribu das sem que estas tenham de se preocupar com as plataformas que as v o suportar sendo apenas necess rio que as mesmas suportem a Java Virtual Machine JVM A JavaRMI utiliza o Remote Method Protocol RMP para permitir a invoca o de m todos de um objecto localizado numa m quina distinta de forma transparente O protocolo RMP propriet rio da Sun e n o foi desenhado com o objectivo de interoperar com outros ORBs ou linguagens por este motivo o seu uso como tecn
77. a utilizar A interoperabilidade dos Web Services sobretudo o reflexo do esfor o reunido dos grandes produtores de software e as das organiza es que definem as especifica es como o WS I em torno de um conjunto de linguagens e tecnologias designadamente XML SOAP UDDI e WSDL Perante o seu potencial e ap s um per odo de desenvolvimento e matura o expect vel que os WS venham a emergir como uma das primeiras solu es de interoperabilidade e conectividade mais bem sucedidas permitindo a redu o de custos e a rapidez de desenvolvimento implementa o e integra o de todo o tipo de sistemas Tendo por refer ncia as caracter sticas estudadas das arquitecturas orientadas aos servi os SOA esta tese prop e um modelo de SI usando Web Services concretizado atrav s do desenvolvimento de um prot tipo que implementa a integra o entre o portal TRAS OS MONTES NET e o sistema WS Autarquias HI ABSTRACT The need to integrate Information Systems has always been a fundamental part in its development However it is undeniable that in recent years with the popularization of technologies based on the Internet its importance has received a great boost The integration between different systems is not a new problem Architectures based on messages and RPC systems as well as various technologies which are highlighted the CORBA DCOM and JavaRMI were created to try to solve this problem but only with the Web serv
78. adas interoperabilidade com o intuito de se obter uma solu o vers til sendo facilmente adaptada no que diz respeito incorpora o de novos servi os de entidades distintas Na figura 17 apresenta se o modelo de entidades b sicas e as respectivas associa es na solu o implementada s o elas e User a entidade capaz de interagir com o sistema personifica um cidad o que registado no portal e Group um conjunto de utilizadores que t m em comum as mesmas regras de privil gios dentro do sistema e Role define os privil gios de um utilizador ou conjunto de utilizadores englobados num grupo sobre as entidades do sistema e Permission est associada a Role e habilita os privil gios de uma regra espec fica a um utilizador num dado contexto para executar ac es sobre entidades do sistema 68 e Context a entidade principal do sistema e suporta as ac es que os utilizadores podem efectuar no sistema Agrega elementos como por exemplo actividades e servi os para um utilizador que tem definida uma regra espec fica e Activity uma actividade descreve uma ac o ou um conjunto de ac es com um objectivo espec fico e Service esta entidade representa um recurso que pode ser usado num contexto ou numa actividade com a finalidade de fornecer um servi o Este tanto pode ser um servi o local como um servi o remoto Entidade principal suporta as ac es Recurso qu
79. ado fortemente em tecnologia e protocolos de objectos que promovam a interoperabilidade num ambiente distribu do e heterog neo Este cap tulo aborda diversas tecnologias de integra o Inicialmente foram introduzidas as mensagens ass ncronas em seguida foi explicada a arquitectura dos procedimentos remotos proposta no in cio dos anos 80 mas que ainda hoje representa o estado da arte nos sistemas distribu dos Apresentaram se as tecnologias CORBA DCOM e JavaRMI por serem nos ltimos anos as tecnologias mais utilizadas para o desenvolvimento de aplica es distribu das No entanto algumas limita es de cada uma destas tecnologias faz com que elas n o sejam a melhor solu o Essas limita es resultam de causas como falta de interoperabilidade complexidade de implementa o orienta o plataforma elevada depend ncia do c digo e comunica o tipicamente s ncrona 31 A utiliza o de padr es abertos e altamente difundidos torna a tecnologia Web Services uma excelente alternativa para a integra o de SI em ambientes heterog neos pela sua simplicidade versatilidade e abertura fundamentais para a sua escolha como tecnologia preferencial de integra o No pr ximo cap tulo apresenta se a nova tecnologia de integra o os Web Services fazendo uma an lise dos conceitos tecnol gicos envolvidos e respectiva fun o Al m disso feita uma aprecia o das principais linhas de orienta o pa
80. ale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt 128 lt xs element name GetLicencas gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name N LICENCA type xs string minOccurs 0 gt lt xs element name TIP LIC type xs string minOccurs 0 gt lt xs element name DATA LICENCA type xs dateTime minOccurs 0 gt lt xs element name DESC LIC type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name PRAZO LICENCA type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB
81. alguns destes est o listados na figura 19 e o documento completo WSDL que define as mensagem de input e output bem como as respectivas opera es e a sua localiza o na rede ser descrito no Anexo I Todos os m todos retornam a informa o numa estrutura complexa do Net System Data DataSet esta inclu al m da informa o solicitada a tabela Erros com o n mero de itens devolvidos em caso de sucesso ou em caso de erro um n mero negativo indicativo do erro ocorrido de acordo com o servi o correspondente Para a apresenta o foram desenvolvidas p ginas ASPX utilizando tecnologias de constru o de interfaces Web VB NET XML HTML CSS e JavaScript Este desenvolvimento foi efectuado recorrendo ferramenta Visual Studio NET 73 WebMethod poblic Dataset Autentica elrine Cod autarguia SRring NUM contribuinte Sirah Password M todo para autentica o de um Mun cipe devolve dados relativos aos seus acessos indicando se a sua conta ainda se encontra v lida WebMethod Ralo DataSet GerMinicipe Siting Cod autarquia riag Num_contribuinte M todo para devolver os dados de um municipe como nome morada etc WebMethod public Dataset LimparMunicipe stringy Num Contribuinte M todo para limpar toda a informa o relacionada com o Mun cipe da cache Este m todo dever ser chamado sempre que um mun cipe abandona a sess o web WebMethod bublic DataSet GetrProcessos Bering Cod
82. ara retro compatibilidade que dever desaparecer FREG_RESID C digo da Freguesia de Resid ncia FREG_RESID_DESC Freguesia de Resid ncia 135 CONC RESID C digo do Concelho de Resid ncia CONC RESID DESC Concelho de Resid ncia DISTR RESID C digo do Distrito de Resid ncia DISTR RESID DESC Distrito de Resid ncia FREG NATUR C digo da Freguesia da sua Naturalidade FREG NATUR DESC Freguesia da sua Naturalidade CONC_NATUR C digo do Concelho da sua Naturalidade CONC NATUR DESC Concelho da sua Naturalidade DISTR NATUR C digo do Distrito da sua Naturalidade DISTR NATUR DESC Distrito da sua Naturalidade CODIGO POSTAL C digo Postal de Resid ncia TELEFONE Telefone FAX Fax EMAIL Email SEXO Sexo do Mun cipe F Feminino M Masculino NULL OU N N o especificado TIPO USER Tipo de Utilizador 0 Utilizador Individual 1 Utilizador Empresarial 2 Funcion rio C digos de Erro 1 Sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente O Due SetDesafio Permite definir um desafio que poder ser usado para gerar uma nova password Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt
83. arquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 201 Mun cipe sem Processos Ordena o dos Resultados IDPERFIL ASC DATA ABERT DESC Dvds GetProcesso Retorna um dataset com os dados do processo indicado Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetProcesso xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt GetProcesso gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shor
84. arquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparPareceres gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente Este anexo apresenta a descri o WSDL dos Web Services do sistema WS Autarquias Todos os schemas de retorno devolvem no dataset a tabela Erros se o n mero de retorno for igual ou maior do que 1 ent o houve sucesso se for negativo ocorreu um erro de acordo com o Web Service correspondente lt xs element name Erros gt lt xs complexType gt lt xs sequence gt lt xs element name Numero type xs string minOccurs 0 gt lt xs element name Descricao type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt 132 8 Web Service Mun cipe O URL para chamada a este Web Service http fip servidor web WS ACentral wsMunicipe asmx Este Web Service define os seguintes Web Methods Syl Autentica M todo Respons vel pela autentica o de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt
85. autarquia RETA Num contribuinte M todo para devolver todos os processos de um municipe numa dada autarquia WebMethod public DataSet GetProcesso Sitting Cod autarquia erring Num contribuinte String IDErocesso String IOTIipoRroe M todo para devolver os dados de um processo indicando o seu n mero e tipo WebMethod Bbublic Dataset Getrequerimentos string Cod autarquia Bering Num contribuinte strange IbProcesso string TDTipoRroe M todo para devolver os requerimentos de um processo de um mun cipe WebMethod Public DataSet GetRequerimento erring Cod autarquia CREIG Num contribuinte String rpprocesso String ILDTIPOPrOC erring IDrequerimento M todo para devolver os dados de um requerimento WebMethod poblic Dataset GetCirculacocs String Cod autarquia Serine NUM contribuinte tring ipprocesso String ITDIIPORrOC M todo para devolver as circula es de um processo de um Mun cipe WebMethod Ru Daraset CertLicencas Siting Cod autrarguiar Sring Num contribuinte Siri IpProcesco CCE TDI por eos M todo para devolver todas as licen as de um de um Mun cipe ou todas as licen as de um processo quando este especificado WebMethod roplio Daraset cerrarcceresclobal eram Cod autarquia ein ai Num contribuinte Strg IDProcesso stringy IDTIPORrOC RELING IDrequerimento M todo para devolver todos os pareceres de um determinado requerimento ou processo Figura
86. binding transport http schemas xmlsoap org soap http style document gt lt operation name Authenticate gt lt soap operation soapAction http ws shortcut pt ws WSAutarquiasCentral Authenticate style document gt lt input gt lt soap body use literal gt lt soap header message s0 AuthenticateSHWSClientCredentials part SHWSClientCredentials use literal gt lt input gt lt output gt lt soap body use literal gt lt output gt lt operation gt lt binding gt lt service name WSAAuthentication gt lt documentation gt WSAAuthentication no Host Central lt documentation gt lt port name WSAAuthenticationSoap binding s0 WSAAuthenticationSoap gt lt soap address location http ws shortcut pt WSACentral wsAAuthentication asmx gt lt port gt lt service gt lt definitions gt Figura 10 Estrutura gen rica de um documento WSDL 3 6 Interoperabilidade Para os utilizadores finais de um sistema a diferen a entre integra o e interoperabilidade geralmente irrelevante Efectivamente o facto de v rias aplica es funcionarem em conjunto de modo a responderem aos requisitos de um neg cio o aspecto mais valorizado por este tipo de utilizadores Gardner 2003 No entanto em termos tecnol gicos as diferen as s o importantes as tend ncias actuais em TI v o no sentido de automatizar a integra o mais profundamente ao n vel da plataforma e com base em normas standard D
87. body use literal gt lt soap header message s0 testeSHWSClientCredentials part SHWSClientCredentials use literal gt lt input gt lt output gt lt soap body use literal gt lt output gt lt operation gt lt binding gt lt service name WSAAuthentication gt lt documentation gt WSAAuthentication no Host Central lt documentation gt lt port name WSAAuthenticationSoap binding s0 WSAAuthenticationSoap gt lt soap address location http ws shortcut pt WSACentral wsAAuthentication asmx gt lt port gt lt service gt lt definitions gt 99 2 Web Service Mun cipe O URL para chamada a este Web Service http fip servidor web WS ACentral wsMunicipe asmx Este Web Service define os seguintes Web Methods Zi alo Autentica M todo Respons vel pela autentica o de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt Autentica xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt IDMunicipe gt string
88. bricantes de software t m vindo a especificar normas t cnicas apropriadas standards para garantir a interoperabilidade entre SI que embora n o tenham atingido completamente a maturidade podem considerar se j ub quos Neste contexto de normaliza o aparece um dos mais recentes paradigmas de desenvolvimento de software que d pelo nome de Web Services que preconiza uma arquitectura de sistemas de software designada por arquitectura orientada aos servi os SOA Service Oriented Architecture e permite criar camadas tecnol gicas integradoras para os SI Uma arquitectura baseada em Web Services possibilita a cria o de um n vel de abstra o mais elevado entre aplica es e na defini o das interfaces dos servi os dando maior flexibilidade e independ ncia na integra o de SI 4 2 Modelo de arquitectura Para construir aplica es baseadas no modelo SOA existe um certo n mero de requisitos que devem ser preenchidos concretamente a integra o de recursos de software deve ser loosely coupled a comunica o entre aplica es deve ser compat vel com os standards da Internet e a defini o e documenta o da interface dos servi os dos recursos de software deve estar publicamente acess vel Para o desenvolvimento de aplica es que preencham os requisitos enumerados anteriormente necess rio que exista uma infra estrutura tecnol gica que permita a cria o publica o identifica o e acti
89. ca o do prot tipo Este trabalho procurou dar uma contribui o para o estudo e pr tica desta tecnologia emergente e recheada de potencialidades A sua import ncia bem vis vel quando as organiza es precisam que duas aplica es interoperem entre si De seguida verifica se a forma como este sistema foi implementado no projecto piloto O portal TRAS OS MONTES NET de acesso condicionado a utilizadores registados o processo de ades o explicado no link Ades o de www tras os montes net Na figura 23 apresenta se a p gina de entrada do portal nela pode visualizar se o preenchimento dos dados N de utilizador e Palavra passe exigidos para entrada 78 Address ES http www tras os montes net tmd paginas webentrada aspx ET tr s os montes net i seas servi os de atendimento electr nico bem vindo Tr s os montes net o portal de servi os On Line da Regi o de Tr s os Montes e Alto Douro Aqui encontrar dispon veis servi os de C maras Municipais Centros Regionais da Seguran a Social Centros de Sa de e Direc o Regional de Agricultura Em breve ser o diponibilizados servi os de empresas privadas Tudo de forma simples e gratu ta Para saber quais as entidades e os servi os que pode utilizar consulte k ali ad vi os di iveis N de Utilizador 100006001 Palavra passe seseeees Recuperar Palavra Passe Se pretende mais informa es sobre o processo
90. cessidades especiais entre muitas RR outras dimens es s o elementos constitutivos do modelo da Cidade Digital A finalidade do projecto TRAS OS MONTES NET enquanto portal de servi os consiste em oferecer ao cidad o uma interface Web comum para um amplo conjunto de servi os de v rias entidades pretendendo deste modo contribuir para uma melhoria do acesso informa o particularmente aos servi os que cada entidade disp e UTAD 2004 Este projecto concretizou se numa primeira fase tendo como entidades prestadoras de servi os C maras Municipais Sub Regi es de Sa de a Direc o Regional de Agricultura e Centros Distritais da Solidariedade e Seguran a Social sendo que cada uma das entidades disponibilizou entre dois a trinta e sete dos seus servi os on line Os servi os colocados disposi o no portal TRAS OS MONTES NET propiciam a troca de informa es entre mun cipe e os principais servi os descentralizados da Administra o P blica Utilizando formul rios espec ficos os cidad os podem submeter pedidos e acompanhar o seu workflow administrativo O Centro de inform tica da Universidade de Tr s os Montes e Alto Douro Ci UTAD tem a seu cargo a tarefa de desenvolvimento e manuten o da plataforma tecnol gica do projecto bem como do acompanhamento de todos os processos que lhe s o inerentes funcionando como elemento de liga o entre as v rias entidades parceiras O Sistema de
91. cesso aos Web Services enquanto se encontrar v lida Foi definida para cada credencial autenticada uma durabilidade m xima de trinta minutos A figura 21 ilustra os procedimentos correctos a usar para implementar seguran a no acesso aos WS Este diagrama de fluxo da credencial de sess o explicado nos seguintes passos 75 Cliente Servidor 1 Pedido de Credencial de a ea 4 Sess o gt REE tg SS PE a ec A Se 3 Envio de Credencial de Whe le Sess o le Credential Keys Max 30 min Patterns So ee ca ee 5 Envio de Login Password cifrados p e Credencial de Sess o gt 10 Envio de true ou false at 11 Chamada ao Web Service e envio de Credencial de Sess o gt 14 Envio da resposta pat 9 v Col se a N CKeys Na Permissions 7 Max 30 min fa Figura 21 Diagrama de sequ ncia de seguran a Shortcut 2003 O cliente a aplica o TRAS OS MONTES NET solicita uma credencial de sess o v lida ao servidor WS Autarquias usando um Web Service O servidor gera uma chave de sess o nica aleat ria cifra essa chave usa a como sendo a credencial de seguran a insere essa credencial na base de dados de credenciais Envia a credencial de sess o ao cliente O cliente usa a credencial de sess o e o cliente de seguran a SHSecurityClient dll instalado no cliente para cifrar os dados de login e password O cliente efectua um pedido de autentica
92. cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparCirculacoes xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparCirculacoes gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente Da die LimparCirculacoesProcesso Elimina todas as circula es de um processo de um Mun cipe na cache Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Head
93. coding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name PesqProcessos gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC DESCR type xs string minOccurs 0 gt lt xs element name DATA ABERT type xs dateTime minOccurs 0 gt lt xs element name LOCAL OBRA Descri o do Local da Obra type xs string minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name PROPRIETARIO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccur
94. curs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe N LICENCA N mero da Licen a TIP LIC C digo do Tipo de Licen a DATA LICENCA Data da Licen a DESC LIC Descri o da Licen a REQUER N mero do Requerimento AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo PRAZO LICENCA Prazo da Licen a PERFIL Descri o do Perfil do Mun cipe perante o Processo 160 IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 1
95. da lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetLicencas xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt num contribuinte gt string lt num contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt GetLicencas gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR I1 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo quando n o especificado usar IDTipoProc VARCHAR 9 Tipo do Processo quando n o especificado usar Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Loc
96. dade Cada perfil abrange um conjunto de normas sobre um aspecto espec fico de uma solu o e fornece orienta es para a sua implementa o disponibiliza casos de utiliza o aplica es de exemplo e testes para aferir o cumprimento da especifica o Actualmente existe um perfil de base denominado WS I Basic Profile 1 2 que cobre as reas de mensagem HTTP SOAP 1 2 MTOM WS Addressing 1 0 descri o WSDL 1 1 descoberta UDDI 3 0 WS I 2007b e os perfis de seguran a o WS I Basic Security Profile WS I 2007c e o WS I Reliable Secure Profile 1 0 WS I 2006 O SOAPBuilders Interoperability Lab fornece uma plataforma dispon vel na Internet para testar a interoperabilidade com mais de 30 produtos que suportam SOAP Os resultados dos testes s o depois disponibilizados pelos fabricantes dos produtos SOAP 2003 52 3 7 Resumo Neste capitulo abordamos os conceitos e caracteristicas da plataforma de Web Services apresentando e descrevendo as normas standard em que eles se baseiam Conceptualmente os Web Services representam uma nova forma de implementar aplica es distribu das aproveitando a infra estrutura e a flexibilidade que a Internet oferece Os WS tornaram se assim na tecnologia mais significativa dos sistemas distribu dos alcan aram a independ ncia dos dados introduzida pelo XML e permitem resolver os problemas de integra o entre empresas ou entre diferentes plataformas Os protocolos em que
97. dades de filas de mensagens encontra se dispon vel o protocolo SMTP De notar que os WS n o implicam um protocolo espec fico podendo utilizar para o seu funcionamento qualquer um dos protocolos padr o da Internet A sua associa o com o protocolo HTTP resulta de raz es de flexibilidade e reutiliza o de infra estruturas 4 4 Apresenta o do projecto O projecto de integra o objecto desta disserta o nasce da necessidade de proporcionar um conjunto de servi os de diversas entidades da rede de administra o p blica de forma integrada num portal designado TRAS OS MONTES NET O portal TRAS OS MONTES NET disponibiliza ao cidad o em geral e em qualquer local com acesso Internet a possibilidade de aceder a diversos servi os Estes servi os estavam at ent o dispon veis apenas atrav s da presen a f sica de uma pessoa no local de atendimento da pr pria entidade ou nos gabinetes de apoio ao cidad o GAC criados no mbito do programa Cidades e Regi es Digitais Al m disso objectivo deste projecto ir mais longe Pretende se que a consulta dos processos de um cidad o dentro do portal seja resultado de uma consulta directa aos SI das entidades parceiras At agora a informa o dispon vel no TRAS OS MONTES NET era apenas a dos pedidos efectuados a partir do portal ou dos gabinetes de apoio ao cidad o Esses pedidos eram consultados e actualizados manualmente por um agente intermedi rio da
98. de ades o click em Ainda n o aderiu Adira j Ajuda Para aderir ao portal Tr s os Montes net click em Ades o Pode ainda conhe er o portal atrav s de uma demonstra o Come ar por assistir ao processo de ades o e s instru es necess rias para a utiliza o dos servi os dispon veis Se representa uma entidade que pretende ver os seus servi os dispon veis no portal contacte nos e saiba como Condi es de utiliza o gt 1999 2003 SCETAD TR S OS MONTES DIGITAL TODOS OS DIREITOS RESERVADOS DESENVOLVIMENTO CI UTAD OPTIMIZADO PARA S00X600 IEH Tra os Manes Donu f Unde Europea Dita ESS Portugaloigie ER o Figura 23 P gina inicial no portal TRAS OS MONTES NET Ap s entrar no portal o utilizador tem a possibilidade de colocar um pedido ou consultar os processos das entidades aderentes Para tal come a por seleccionar a op o Servi os sendo ent o apresentada a lista das entidades aderentes como ilustrado pela figura 24 De seguida escolhendo uma das entidades lhe apresenta a p gina de servi os dessa entidade de acordo com a figura 25 79 paa tr s os montes net _ servi os de atendimento electr nico erd r Mensagens 3 C mara Municipal de Alij Atendimento Supera C mara Municipal de Boticas Endere os C mara Municipal de Carrazeda de Ansi es Arquivo C mara Municipal de Chaves Dados Pessoais Sair 3 C mara Munici
99. de colabora o de uma forma aberta distribu da e din mica entre distintos parceiros deve contribuir para que as empresas Gardner 2003 e Aproveitem melhor as aplica es e as plataformas que possuem e Evoluam as aplica es antigas para interfaces aplica es e arquitecturas mais actuais e Generalizem os tipos de conte dos e os distribuam de forma eficiente de forma a alcan ar um maior n mero de dispositivos e utilizadores finais e Desenvolvam servi os interoper veis de modo a criar novo valor para as aplica es e Migrem para plataformas e aplica es mais recentes que facilitem a moderniza o e consolida o e Fa am com que o lado comercial da organiza o sinta que a TI uma fonte de produtividade e n o apenas uma fonte de gastos imprevis veis e sempre crescentes Em suma as finalidades globais e caracter sticas desejadas da integra o devem contribuir para que as empresas aumentem a efici ncia dos sistemas possibilitando o r pido alcance dos objectivos e agilizando os seus processos de neg cio No entanto existem muitas dificuldades tecnol gicas de interopera o entre SI n o s por serem total ou parcialmente suportados por diferentes infra estruturas aplicacionais possu rem formatos de dados espec ficos e front ends propriet rios mas tamb m pela seguran a entre os sistemas que ter que ser garantida 55 Tendo em conta estas dificuldades os principais fa
100. de dados ao n vel program tico executadas por outros componentes ou aplica es Por exemplo se uma aplica o que est a tentar utilizar um servi o se apercebe que o tempo de resposta do Service Provider se torna inaceit vel ent o ela deve poder decidir mudar para outro Service Provider em run time Os tr s n s definidos numa arquitectura orientada ao servi o s o mapeados nos elementos de uma solu o baseada em WS apresentada na figura 13 O modelo foi desenhado tendo em conta estes princ pios e mostra como duas aplica es podem comunicar entre si e criar uma interac o entre os seus processos 58 Registo UDDI Aplica o Web Server cliente SOAP sobre HTTP S SOAP Aplica es da Empresa APPs a Web Service BD Figura 13 Arquitectura baseada em Web Services Um Web Service composto por dois elementos f sicos o servi o e a descri o do servi o O servi o a implementa o da sua respectiva interface Consiste num m dulo de software instalado numa plataforma computacional com acesso rede e oferecido pelo Service Provider Um servi o pode ser invocado ou pode ele pr prio funcionar como um invocador de outro servi o A descri o do servi o cont m os detalhes da interface e da implementa o de um servi o o que inclui os tipos de dados opera es informa o de liga o binding e localiza
101. didos por ordem de chegada Se um servidor em particular se encontra muito sobrecarregado os clientes priorit rios podem ficar sujeitos a atrasos inaceit veis 2 4 3 Modelos de sistemas distribu dos Nesta sec o ser o analisados dois tipos gen ricos de modelos de sistemas ou aplica es distribu dos Modelo cliente servidor Modelo de objectos distribu dos O modelo cliente servidor representa um sistema como um conjunto de servi os fornecidos por servidores e um conjunto de clientes que utilizam esses servi os Orfali e Harkey 1998 Os clientes necessitam de conhecer os servidores que est o dispon veis no entanto de uma maneira geral eles n o sabem da exist ncia de outros clientes 25 O desenho do modelo cliente servidor deve reflectir a estrutura l gica da aplica o dividindo o middleware em camadas dados funcionalidades e interface com o utilizador Hirschfeld 1996 Um exemplo bem conhecido desta abordagem o modelo proposto por Buxton Buxton 1980 que sugeriu um modelo de tr s camadas a camada de apresenta o disponibiliza informa es aos utilizadores e mant m todas as interac es com eles a camada de processamento implementa a l gica da aplica o e a camada de gest o de dados disponibiliza as opera es de interac o com os dados mais frequentemente bases de dados Em sistemas centralizados estas opera es n o precisam de estar nitidamente separadas contudo quando
102. e diferentes tecnologias Sistema de serializa o de dados 2 O que se pretende com a serializa o de dados representar a informa o produzida por programas normalmente num formato bin rio ou de texto com uma estrutura propriet ria e formato amb guo num formato extens vel e independente da plataforma W3C 2006c Embora os dados XML sejam representados sobre a forma de texto n o pretendem ser lidos por pessoas mas sim pelo pr prio computador no entanto a sua representa o permite que por exemplo um programador consiga inspeccionar facilmente um ficheiro XML e corrigir um problema usando apenas um editor de texto e n o necessitando do programa original que o criou Protocolos de rede transporte A tecnologia subjacente aos Web Services baseia se fortemente na Internet e na respectiva tecnologia e standards Esta op o prende se com a necessidade de tirar partido das infra estruturas j criadas e dos protocolos j tornados ub quos pela Internet O uso do HTTP o mesmo protocolo usado pelos servidores Web e pelos browsers apresenta m ltiplas vantagens j que de simples utiliza o bem 65 tolerado pelas firewalls e conta com uma pan plia enorme de adere os como o balanceamento caching proxy etc Para dados mais sens veis pode ser usado o protocolo HTTPS que adiciona cifragem ao HTTP Para servi os que n o se baseiem em pergunta reposta imediata ou que necessitem de funcionali
103. e gt lt xs element name lastname type xs string gt lt xs element name age type xs integer gt lt xs element name dateborn type xs date gt lt xs sequence gt lt xs complexType gt lt xs schema gt Figura 5 Um poss vel XML Schema para o XML da figura 3 Um elemento simples n o pode conter outros elementos o seu conte do deve pertencer aos denominados tipos de dados base nestes encontram se a grande generalidade dos tipos primitivos das mais diversas linguagens de programa o string 39 boolean float double integer decimal binary date datetime etc Ramalho e Henriques 2002 A extensibilidade dos XML Schema permite criar novos tipos de dados personalizados a partir dos tipos base dando origem aos tipos simples derivados Neste tema do XML a extensibilidade nos XML Schemas bastante abrangente no entanto n o se pretende no mbito desta tese alongar mais o assunto 3 3 SOAP O Simple Object Access Protocol SOAP uma norma que especifica a estrutura de mensagens utilizadas para que as aplica es comuniquem entre si garantindo que os intervenientes emissor e receptor mesmo que de sistemas heterog neos consigam interpretar as mensagens e conhe am os seus detalhes Inicialmente os principais contributos para a cria o do SOAP vieram da Microsoft DevelopMentor e UserLand Software mais tarde contaram tamb m com o envolvimento da IBM e de muitas outras e
104. e inexistente 202 Mun cipe sem Licen as 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 302 Processo sem Licen as Ordena o dos Resultados DATA LICENCA DESC 162 13 Web Services Pareceres O URL que define esta classe de web services http ip_servidor_web WSACentral wsPareceres asmx Toa le GetPareceresGlobal Retorna um dataset com os pareceres de um determinado requerimento ou processo Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwWSCredentialId gt string lt SHwSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetPareceCesGlobal xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt IDrequerimento gt string lt IDrequerimento gt lt GetPareceFesGlobal gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de
105. e pode ser usado que os utilizadores podem efectuar num contexto ou numa actividade com a finalidade de fornecer um servi o 1 1 7 Define os pap is de um utilizador grupo Ac es com um 1 objectivo espec fico Um utilizador uma Definem os privil gios de um entidade capaz de utilizador num dado contexo interagir com o sistema para executar uma ac o Figura 17 Modelo de entidades do prot tipo de integra o Pretende se que o portal TRAS OS MONTES NET seja uma plataforma de integra o que disponibilize aos cidad os em geral a possibilidade de consultar as requisi es de servi os efectuadas Administra o P blica mais especificamente a 69 uma Autarquia de uma forma totalmente transparente Ou seja o utilizador poder aceder a processos que est o em sistemas remotos sem se aperceber 4 5 1 Plataforma tecnol gica O portal TRAS OS MONTES NET uma aplica o desenvolvida sobre produtos da Microsoft O ambiente de programa o utilizado foi Microsoft Visual Studio NET 2003 e as linguagens o C e o VB NET Esta implementa o assenta na plataforma Microsoft NET mais concretamente na Framework NET v1 1 a correr sobre o sistema operativo Microsoft Windows 2003 Server que implementa um servidor Web atrav s do Internet Information Services 6 0 O Sistema de Gest o de Bases de Dados que s
106. e programa o sistema operativo e tecnologia de rede para estar acess vel a todas as aplica es A grande vantagem desta tecnologia que suporta mensagens ass ncronas Isto o canal armazena a mensagem numa fila de espera quando a aplica o de destino n o est dispon vel para receber essa mensagem deste modo permitido aplica o que envia a mensagem continuar a execu o do seu trabalho logo ap s o seu envio n o ficando parada espera da entrega ou de qualquer tipo de comunica o da rede Estas filas s o de grande utilidade pois ao contr rio das tecnologias s ncronas a aplica o destino n o necessita de estar sempre dispon vel para receber as mensagens poss vel que a aplica o destino receba e processe as mensagens quando ela pr pria o desejar como por exemplo em alturas de menos trabalho ou atendendo a uma lista de prioridades estabelecida Cada aplica o remetente tem sua responsabilidade a constru o da funcionalidade adicional de empacotar desempacotar classificar e validar o conte do da mensagem medida que a complexidade e flexibilidade das mensagens aumenta desempacotar e validar mensagens torna se dif cil e tende a ser dispendioso A maior parte dos SI baseados em mensagens s o implementados utilizando produtos de Message Queuing propriet rios o formato ou estrutura da mensagem assim como a sua interpreta o n o est o normalizados Esta lacuna tem como con
107. eTime minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name BI type xs string minOccurs 0 gt lt xs element name BI DATA type xs dateTime minOccurs 0 gt lt xs element name BI ARQ type xs string minOccurs 0 gt lt xs element name PASSWORD type xs string minOccurs 0 gt lt xs element name HORA CARR type xs dateTime minOccurs 0 gt lt xs element name LOGINS type xs int minOccurs 0 gt lt xs element name FREG RESID type xs string minOccurs 0 gt lt xs element name FREG RESID DESC type xs string minOccurs 0 gt lt xs element name CONC RESID type xs string minOccurs 0 gt lt xs element name CONC RESID DESC type xs string minOccurs 0 gt lt xs element name DISTR_RESID type xs string minOccurs 0 gt lt xs element name DISTR RESID DESC type xs string minOccurs 0 gt lt xs element name FREG NATUR type xs string minOccurs 0 gt lt xs element name FREG NATUR_DESC type xs string minOccurs 0 gt lt xs element name CONC NATUR type xs string minOccurs 0 gt lt xs element name CONC_NATUR_DESC type xs string minOccurs 0 gt lt xs element name DISTR_NATUR type xs string minOccurs 0 gt lt xs element name DISTR_NATUR_DESC type xs string minOccurs 0 gt lt xs element name CODIGO POSTAL type xs string minOccurs 0 gt lt xs element name TELEFONE type xs
108. ed gt lt xs element name PesqProcessos gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC_DESCR type xs string minOccurs 0 gt lt xs element name DATA ABERT type xs dateTime minOccurs 0 gt lt xs element name LOCAL OBRA Descri o do Local da Obra type xs string minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name PROPRIETARIO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt 112 Descri o dos Campos Devolvidos C
109. ensagem no exemplo apresentado figura 7 SOAPAction cont m o valor http ws shortcut pt ws WSAutarquiasCentral GetMunicipe que indica que se pretende invocar o m todo GetMunicipe do Web Service Ap s receber o pedido o servidor processa o e envia a resposta para o cliente essa resposta cont m um c digo que indica o estado do pedido 200 indica sucesso se o servidor n o conseguisse descodificar o pedido a resposta teria devolvido HTTP 1 1 400 BAD REQUEST e Content Length 0 A indica o sobre o estado do pedido representada sempre por um n mero inteiro onde valores entre 200 e 299 indicam sucesso No caso da mensagem conter um elemento soap Fault elemento que representa um erro a especifica o obriga a que a informa o de estado devolva o valor 500 indicando um Internal Server Error 3 4 UDDI O projecto Universal Description Discovery and Integration UDDI foi lan ado pelas empresas IBM Microsoft e Ariba mas actualmente liderado por um cons rcio de empresas muito mais abrangente designado por Organization for the Advancement of Structured Information Standards OASIS OASIS 2007a O UDDI uma iniciativa que pretende criar uma infra estrutura global e independente das plataformas de desenvolvimento capaz de permitir a localiza o e obten o de informa o comercial e t cnica relativa aos Web Services dispon veis de maneira mais f cil r pida e din mica Com efeito o UDDI corresp
110. ensagens XML na rede vai implicar um congestionamento das redes de comunica o pelo que ter de se optar por um aumento da largura de banda dispon vel sob pena de que a performance e os n veis de servi o venham a p r em causa os ritmos de dissemina o dos WS 85 Apesar da capacidade e facilidade da utiliza o dos WS na integra o de aplica es algumas quest es fundamentais ainda n o t m uma solu o bem estruturada e inibem a adop o desta tecnologia com maior frequ ncia Um dos inibidores mais significativos a dificuldade em definir e manter o contexto de uma transac o que pode incluir um conjunto de actividades cr ticas Caso alguma dessas ac es n o seja poss vel toda a transa o deveria poder ser inviabilizada Os WS carecem actualmente de um estado de matura o que permita a sua adop o em massa pela comunidade inform tica O constante aparecimento de novas vers es e especifica es n o permite um correcto amadurecimento dos conceitos envolvidos impedindo assim que a sociedade inform tica tenha tempo para as assimilar e colocar em pr tica A utiliza o de WS numa primeira fase somente nas Intranets figura 28 permitiu uma melhoria das funcionalidades e da qualidade da interac o com as aplica es possibilitando s organiza es a necess ria adapta o tecnologia e o retorno mais r pido do investimento sem necessidade de grandes preocupa es com a seguran a
111. entials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparMunicipe xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num_contribuinte gt string lt num_contribuinte gt lt LimparMunicipe gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de contribuinte Retorno de DataSet com C digos de Erro C digos de Erro 1 Sucesso 200 Mun cipe Inexistente 140 9 Web Service Processos O URL que define esta classe de web services http ip_servidor_web WSACentral wsProcessos asmx eels LimparProcessos Elimina todos os processos de um Mun cipe na cache Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparProcessos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparProcessos gt lt soap Body gt lt
112. envolvimento a converg ncia e a adop o de normas para o com rcio electr nico Controla as especifica es de UDDI WS Security WS Reliability SAML e ebXML entre outras no site desta organiza o podem encontrar se todas as informa es acerca destas tecnologias OASIS 2007a A IETF uma comunidade internacional de grande dimens o que junta engenheiros de redes operadores fabricantes e investigadores preocupados com a evolu o da arquitectura da Internet As normas reguladas por esta comunidade s o HTTP URI URL e URN TCP e IP entre outras IETF 2007 A IEFT produz os documentos Requests for Comments RFC que s o notas t cnicas e organizacionais sobre a Internet Estas notas discutem muitos aspectos de redes de computadores incluindo protocolos procedimentos programas e conceitos bem como notas de reuni es e opini es A WS I define se como sendo uma organiza o cuja miss o promover a interoperabilidade de Web Services entre diferentes plataformas aplica es e 51 linguagens de programa o WS I 2007a A figura 11 representa o papel desempenhado pela WS I enquanto intermedi rio entre as normas standard e a ind stria W50 OASISI id IET F NORMAS ESPECIFICA ES ais gy REQUESITOS GUIA DE IMPLEMENTA O gy REQUESITOS EMPRESAS INDUSTRIAS PROGRAMADORES E UTILIZADORES FINAIS Figura 11 WS l standards e industria WS 2005 A WS I define os perfis de interoperabili
113. equest Broker que o componente de middleware que fornece uma estrutura de comunica es para os objectos interagirem entre si independentemente de aspectos espec ficos da plataforma e das t cnicas utilizadas para a sua implementa o isto um cliente poder invocar de forma transparente um m todo de um objecto no servidor o qual pode estar no mesmo computador ou algures na rede pois o encaminhamento do pedido da compet ncia do ORB Roque 2003 Em CORBA todos os objectos s o definidos por uma interface escrita em IDL esta linguagem do tipo declarativa e isenta de ambiguidades de modo que a interface seja independente da linguagem de programa o em que os objectos foram desenvolvidos contudo existem v rios standards de IDL criados pela OMG para linguagens como C C Java COBOL Smalltalk Ada Lisp Python e IDLscript 28 Em teoria a arquitectura CORBA foi projectada para ser uma excelente solu o para sistemas cliente servidor heterog neos no entanto na pr tica evidenciou alguns problemas As primeiras vers es desta especifica o deixaram muitas reas abertas interpreta o dos fornecedores e como resultado os ORBs de diferentes fornecedores n o conseguiam comunicar uns com os outros limitando a capacidade de combina o e interoperabilidade Para a especifica o de todos os objectos envolvidos num sistema necess rio conhecer a linguagem IDL no entanto dado ser de uma extrema complex
114. er gt lt soap Body gt lt LimparCirculacoesProcesso xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num_contribuinte gt string lt num_contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt LimparCirculacoesProcesso gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 1 1 N mero de Contribuinte IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente Duda GetCirculacoes Retorna um dataset com as circula es de um processo de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetCirculacoes xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt num contribuinte gt string lt num contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt
115. erminada pelo descentralizar do processamento e pelo armazenamento de dados em localiza es f sicas diferentes n o sendo a fun o l gica determinada pela topologia f sica Contudo mesmo n o estando o processamento e o armazenamento de dados centralizado a l gica continua a poder estar numa nica aplica o n o obstante estar desenhada de forma distribu da neste contexto que a capacidade de integrar Sistemas de Informa o isto de construir sistemas complexos a partir da composi o integrada de subsistemas e componentes diversos se revela fundamental para o futuro A medida que as organiza es se tornam menos centralizadas e se consolida o envolvimento com parceiros clientes e fornecedores aumenta a procura de tecnologias vers teis de interliga o As solu es dispon veis s o ainda reduzidas mas a dissemina o de formatos que promovem a integra o como o XML de conceitos como o Enterprise Application Integration EAD t m sido fulcrais para a integra o de m ltiplas aplica es e bases de dados IDC 2002 O final dos anos 90 marca o ponto de partida para a r pida adop o de standards Web como WWW HTTP e XML o que nos leva a repensar a forma como os nossos Sistemas de Informa o s o desenvolvidos Cada vez mais se torna necess rio que as novas aplica es sejam pensadas de forma integrada e distribu da permitindo a interopera o de sistemas heterog neos Silva 2003
116. ersion 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialld gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt PesqReque imentos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt texto gt string lt texto gt lt PesqReque imentos gt lt soap Body gt lt soap Envelope gt 118 Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR 1 1 N mero de Contribuinte do Mun cipe Texto VARCHAR 200 Texto a pesquisar Envelope de Retorno lt xml version 1 0 encoding utf 16 gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name PesqRequerimentos gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt
117. esta n o provavelmente a melhor maneira de se utilizarem os WS mas para casos pontuais uma solu o A melhor forma haver uma maneira de se definirem de modo padr o e abstracto as caracter sticas de um servi o de modo que dinamicamente se possa aceder sua funcionalidade sem necessidade de grandes conhecimentos pr vios A Web Services Description Language WSDL pretende atingir precisamente este prop sito Christensen et al 2001 Uma linguagem baseada em XML que serve para descri o de servi os em rede definindo os como colec es de pontos de contacto ou portas 64 Formata o de mensagens Na tentativa de resolver os problemas existentes ao estabelecer a comunica o entre aplica es distribu das num ambiente heterog neo foi criado o Simple Object Access Protocol SOAP O protocolo SOAP prescreve um mecanismo simples e leve para a troca de informa o estruturada e tipificada entre pares num ambiente descentralizado e distribu do usando XML Gudgin et al 2003 Na pr tica o SOAP uma sintaxe XML para a troca de mensagens e sendo baseado em XML independente quer da linguagem quer da plataforma O SOAP n o define ou imp e qualquer sem ntica aplicacional quer seja um modelo de programa o quer seja sem ntica espec fica de implementa o Este aspecto de enorme import ncia pois permite que quer o servi o quer o invocador do servi o sejam aplica es desenvolvidas sobr
118. este modo promove se a interoperabilidade entre sistemas no sentido em que s o colocados a comunicar e interagir independentemente da abordagem tecnol gica de suporte Esta oportunidade de interoperabilidade surge dos padr es e especifica es de Web Services e do papel que se espera deles como catalizadores de uma nova arquitectura de paradigma de aplica es orientados para servi os 50 As principais empresas concordaram que a defini o de um conjunto de especifica es seria de grande interesse tanto para os utilizadores como para elas pr prias e come aram a cooperar inseridas em cons rcios sem fins lucrativos As organiza es mais significativas no contexto geral da Internet e em particular dos Web Services s o o World Wide Web Consortium W3C a Organization for the Advancement of Structured Information Standards OASIS a Web Services Interoperability Organization WS I e a Internet Engineering Task Force IETF O W3C tem como objectivo desenvolver tecnologias interoper veis especifica es e ferramentas para potenciar a World Wide Web al m disso disp e de um f rum de informa es comunica o e aprendizagem destas tecnologias W3C 2007e O W3C define as especifica es dos protocolos HTTP XML XML Schema SOAP WSDL XSLT XML Encryption e XML Signature entre outras e ainda estabelece a defini o formal dos Web Services no documento WS Architecture W3C 2004 A OASIS promove o des
119. estenda ao dom nio de transac es confi veis O sucesso dos WS passa necessariamente pela exist ncia de sinergias alargadas entre a generalidade da ind stria pela partilha e abertura dos processos de normaliza o e das pr prias especifica es da resultantes Efectivamente as empresas t m sido exemplares na sua generalidade a respeitar a compatibilidade Esta universalidade j havia sido atingida com as p ginas da Web Todos os sites se comportam mais ou menos da mesma maneira e t m mais ou menos a mesma apar ncia independentemente do tipo de computador ou browser utilizado para aced lo Os protocolos da Web revolucionaram a forma como as pessoas se relacionam com a tecnologia As tecnologias subjacentes aos web services como XML SOAP UDDI e WSDL s o abertas amplamente divulgadas e consensuais Por outro lado potenciam 87 uma real independ ncia das linguagens de programa o das arquitecturas de computadores e sistemas operativos o que permite uma evolu o mais suave e econ mica para este paradigma computacional Dos resultados alcan ados com este trabalho salienta se que este caso de estudo serviu para discuss o dos aspectos ligados integra o e inteoperabilidade entre SI Em particular o desenvolvimento de um prot tipo utilizando WS permitiu o aprofundamento dos aspectos relacionados com as suas tecnologias subjacentes Como trabalho futuro prop e se com base nos desenvolvimentos
120. eterminado requerimento ou processo Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwWSCredentialId gt string lt SHwSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetPareceCesGlobal xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt IDrequerimento gt string lt IDrequerimento gt lt GetPareceFesGlobal gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo IDRequer VARCHAR 15 N mero do Requerimento Caso este par metro esteja vazio retorna a lista dos Pareceres por Processo Se estiver preenchido retorna a lista dos Pareceres por Requerimento Envelope de Retorno lt xml version 1 0 encoding utf 16 gt lt xs schema id NewDataSet xml
121. ficheiros e compiladores que est o associados a diferentes computadores de uma rede A partilha de recursos tamb m poss vel em sistemas para multi utilizadores mas nesse caso todos os recursos t m de ser fornecidos e geridos por um computador central Abertura A abertura de um sistema diz at que ponto ele pode ser ampliado adicionando novos recursos n o propriet rios a ele Os sistemas distribu dos s o sistemas abertos que normalmente incluem hardware e software de diferentes fabricantes Concorr ncia Num sistema distribu do v rios processos podem operar ao mesmo tempo em diferentes computadores na rede Esses processos podem comunicar uns com os outros durante a sua opera o normal 12 Escalabilidade Em princ pio pelo menos os sistemas distribu dos s o escal veis no sentido de que a capacidade do sistema pode ser aumentada pelo acr scimo de novos recursos Na pr tica a escalabilidade pode ser limitada pela rede se muitos computadores forem acrescentados ent o a capacidade da rede poder tornar se inadequada Toler ncia a defeitos A disponibilidade de v rios computadores e o potencial de duplicar informa es significa que os sistemas distribu dos podem ser tolerantes a algumas falhas de hardware e software Na maioria dos sistemas distribu dos um servi o de m qualidade pode resultar da ocorr ncia de falhas a perda completa de servi o tende a ocorrer somente quando existe uma fa
122. g soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialld gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt AskDesafio xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt num_contribuinte gt string lt num_contribuinte gt lt AskDesafio gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR I1 C digo da autarquia IDMunicipe VARCHAR 12 N mero de Mun cipe cifrado com a credencial em uso Num contribuinte VARCHAR 11 N mero de Contribuinte do Mun cipe cifrado com a credencial em uso Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name AskDesafio gt lt xs complexType gt lt xs sequence gt lt xs element name CONTRIB type xs string minOccurs 0 gt 104 lt xs element name PERGUNTA type xs string minOccurs 0 gt
123. gem definido refere se a um pedido ou a uma resposta e constitu do por um mais elementos do tipo part 48 e Port Type identifica as opera es m todos expostos por um WS A cada opera o definida pelo elemento operation est o associados um pedido e uma resposta identificados respectivamente pelos elementos input e output Os elementos que pertencem defini o da interface do servi os s o completamente independentes do protocolo de transporte No entanto para a concretiza o do servi o torna se necess rio associar um protocolo espec fico a cada defini o abstracta dada pelo elemento Port Type Os elementos que permitem esta associa o s o e Binding este elemento especifica qual o protocolo concreto para determinada opera o A especifica o WSDL permite liga es com protocolos e formatos de mensagem como SOAP HTTP GET POST e MIME e Service no seu elemento port identifica se o endere o f sico onde se localiza o WS atrav s de um URI Cada elemento port est sempre associado a um elemento binding Na figura 10 apresenta se a estrutura gen rica de um documento WSDL neste exemplo ilustra se a utiliza o dos principais elementos apresentados anteriormente lt xml version 1 0 encoding utf 8 gt lt definitions xmlns http http schemas xmlsoap org wsdl http xmlns soap http schemas xmlsoap org wsdl soap xmlns s http www w3 org 2001 XMLSchema xmlns s0 http ws
124. go do Tipo de Processo CONTRIB N mero de Contribuinte do Mun cipe RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 600 Texto Inexistente Ordena o dos Resultados DATA ENVIO DESC 158 12 Web Service Licen as O URL que define esta classe de web services http lip servidor web WS ACentral wsLicencas asmx 12 1 LimparLicencas Elimina todos as Licen as de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt
125. gt Par metros de Entrada Num contribuinte VARCHAR 1 1 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente 6 2 Pesqhicencas Pesquisa determinado texto em Licengas Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt 126 lt Pesqhicencas xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt texto gt string lt texto gt lt PesqLicencas gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe Texto VARCHAR 200 Texto a pesquisar Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XM
126. gual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO REQUER N mero do Requerimento DESCRICAO Descri o do Requerimento DATA ENTRADA Data de Entrada do Requerimento COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo TIPOREQ C digo do Tipo de Requerimento RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao process
127. http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparPareceres xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num_contribuinte gt string lt num_contribuinte gt lt LimparPareceres gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 1 1 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente C digo integra o no cliente 0 Anexo II que implementa a 165 sistema de seguran a e a utiliza o de SSL 166 Neste anexo apresentam se os procedimentos para estabelecer na aplica o cliente TRAS OS MONTES NET o acesso aos Web Services WS Autarquias usando a componente de seguran a O c digo apresentado usa a linguagem VB NET mas poderia ser utilizada qualquer linguagem de desenvolvimento suportada pela plataforma NET 1 1 ou superior Come a se por estabelecer tr s refer ncias na aplica o cliente a primeira uma Web Reference para o Web Service de autentica o dispon vel no endere o http ws shortc
128. ialmente as tecnologias de suporte e implementa o como a diversidade de protocolos de rede arquitecturas de hardware sistemas operativos ou linguagens de programa o medida que as organiza es mudam de um modelo baseado em mainframes para ambientes abertos e de sistemas distribu dos quest es de interoperabilidade t m recebido crescente aten o No campo das aplica es o tema interoperabilidade tem se tornado cada vez mais relevante Manola 1995 A procura por interoperabilidade proporcional constru o de sistemas distribu dos e medida que os sistemas de software e hardware se tornam mais 19 complexos a interoperabilidade entre diferentes componentes um factor cr tico Seetharaman 1998 Wegner Wegner 1996 define interoperabilidade como sendo a habilidade de dois ou mais componentes de software cooperarem independentemente das suas diferen as em linguagem interface e plataforma de execu o Heiler Heiler 1995 define o termo como a habilidade de sistemas distribu dos trocarem servi os e dados entre si Embora as duas defini es sejam muito semelhantes t m abordagens diferentes A primeira evidencia componentes de software de natureza diferente e provavelmente sobre plataformas distintas A segunda enfatiza a funcionalidade troca de servi os e informa es sem se preocupar com os detalhes de heterogeneidade destes sistemas S o perspectivas que n o se contradizem mas que
129. iasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt GetMunicipe gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetMunicipe gt lt xs complexType gt lt xs sequence gt 101 lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name NOME type xs string minOccurs 0 gt lt xs element name MORADA type xs string minOccurs 0 gt lt xs element name LOCAL type xs string minOccurs 0 gt lt xs element name ESTADO CIVIL type xs string minOccurs 0 gt lt xs element name FILIACAO PAI type xs string minOccurs 0 gt lt xs element name FILIACAO MAE type xs string minOccurs 0 gt lt xs element name PROFISSAO type xs string minOccurs 0 gt lt xs element name DATA NASC type xs dat
130. icar com clareza quais as fronteiras entre cada um dos componentes ou conjunto de componentes bem como a forma de interac o entre eles Sublinha se a exist ncia de algum n vel de independ ncia entre as camadas conferindo maior flexibilidade e reutiliza o de funcionalidades No reposit rio de dados do portal TRAS OS MONTES NET que acenta sobre Microsoft SOL Server 2000 encontra se a defini o dos privil gios de cada um dos utilizadores do portal e dos servi os que poss vel utilizar no portal De modo a tirar o m ximo partido da plataforma de base de dados utilizaram se Stored Procedures procedimentos codificados em linguagem T SQL que ficam armazenados e pr compilados na base de dados A gest o destes artefactos efectuada pelo SQL Server nomeadamente no que respeita s permiss es de acesso optimiza o e armazenamento O acesso base de dados foi implementado com a tecnologia ADO NET utilizando o seu modelo desconectado devido natureza da aplica o ser baseada na Web ficando assim garantida a optimiza o do acesso e correspondente pool de conex es Dado o isolamento que todos os outros blocos t m relativamente ao reposit rio de dados este pode ser facilmente substitu do por outro qualquer nomeadamente por um documento XML ou por uma outra base de dados relacional como o Oracle Isto poss vel porque existe uma camada de persist ncia representada na figura 18 por DB Component 71
131. ices is that in fact the integration becomes truly universal The Web services have enormous potential because for the first time there produced a consensus around the standard protocols to be used Interoperability of Web Services is primarily a reflection of the effort meeting of the major producers of software and the organizations that define the specifications such as WS I around a set of languages and technologies including XML SOAP WSDL and UDDI Given its potential and after a period of development and maturation it is expected that the WS will emerge as one of the first solutions for interoperability and connectivity more successful allowing the reduction of cost and speed of development implementation and integration of the whole type of systems Having by reference the studied characteristics of the service oriented architectures SOA this thesis proposes a model of SI using Web Services implemented through the development of a prototype that implements the integration of the portal TRAS OS MONTES NET and the WSAutarquias system HI INDICE AGRADECIMEMN EOS eini a ACE ie E TA ions I RESUMO i scisistaentiseanisuticianasen aa DATA RNA Be eel aI ed eae I REDS UP sedis cl Ne ches aes aah pas E E oo Gas Uv WO o ee I INDICE ap a e ACCENT POD ORCL oT OLR NAT MOP SORT TOOT on aaa I INDICE DE FIGURAS scant uhinaren E cached ll TR SD le teeta tiles I SIGLAS o oord DER QU ER PUDER Do DD ie aI T II 1 WD CPO duU CAO RPM ER
132. idade n o se apresenta como uma forte candidata para a utiliza o generalizada como era inicialmente a sua voca o Com excep o de redes locais e corporativas onde as restri es de seguran a s o planeadas a adop o do CORBA nem sempre pacifica pois requer o uso de portas de comunica o especiais e altera es espec ficas em firewalls que representam um elevado risco de seguran a 2 5 2 DCOM O DCOM Distributed Component Object Model o mecanismo da Microsoft para realizar chamadas a procedimentos remotamente um modelo de programa o orientado a objectos e desenhado para facilitar a interoperabilidade do software Gordon 2000 Neste modelo a interac o definida por forma a que o cliente e o componente se possam conectar sem necessidade de ter qualquer recurso intermedi rio Um servidor pode criar inst ncias de objectos de m ltiplas classes de objectos Um objecto pode suportar m ltiplas interfaces cada uma representando uma vis o ou comportamento diferente do objecto Tal como a maioria dos sistemas baseados em objectos tamb m o DCOM recorre a uma linguagem de defini o das interfaces dos seus objectos No entanto no DCOM n o houve a preocupa o de definir liga es com linguagens de alto n vel facto que se revelou como um factor limitativo desta tecnologia 29 A solu o encontrada para resolver o problema da interoperabilidade foi o recurso a uma norma bin ria propriet ri
133. input message s0 getValidkeySoapIn gt lt output message s0 getValidKeySoapOut gt lt operation gt lt operation name Authenticate gt lt input message s0 AuthenticateSoapIn gt lt output message s0 AuthenticateSoapOut gt lt operation gt lt operation name teste gt lt input message s0 testeSoapIn gt lt output message s0 testeSoapOut gt lt operation gt lt portType gt lt binding name WSAAuthenticationSoap type s0 WSAAuthenticationSoap gt lt soap binding transport http schemas xmlsoap org soap http style document gt lt operation name getValidKey gt 98 lt soap operation soapAction http ws shortcut pt ws WSAutarquiasCentral getValidKey style document gt lt input gt lt soap body use literal gt lt input gt lt output gt lt soap body use literal gt lt output gt lt operation gt lt operation name Authenticate gt lt soap operation soapAction http ws shortcut pt ws WSAutarquiasCentral Authenticate style document gt lt input gt lt soap body use literal gt lt soap header message s0 AuthenticateSHWSClientCredentials part SHWSClientCredentials use literal gt lt input gt lt output gt lt soap body use literal gt lt output gt lt operation gt lt operation name teste gt lt soap operation soapAction http ws shortcut pt ws WSAutarquiasCentral teste style document gt lt input gt lt soap
134. ipoProc VARCHAR 9 Tipo do Processo quando n o especificado usar Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt 161 lt xs element name GetLicencas gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name N LICENCA type xs string minOccurs 0 gt lt xs element name TIP LIC type xs string minOccurs 0 gt lt xs element name DATA LICENCA type xs dateTime minOccurs 0 gt lt xs element name DESC LIC type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name PRAZO LICENCA type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs i
135. ir que elas comunicam e trocam dados entre si O termo middleware utilizado para designar esse software pois ele o intermedi rio dos diferentes componentes distribu dos do sistema Os principais padr es existentes para o middleware trabalhar com objectos distribu dos ser o descritos na sec o 2 5 27 2 5 Tecnologias de aplica es distribu das Os esfor os colocados na integra o de sistemas nas ltimas d cadas est o intimamente ligados aos recentes desenvolvimentos nas tecnologias da informa o e comunica o De facto os avan os nestas tecnologias constituem importantes factores facilitadores da integra o de sistemas distribu dos Nesta sec o realizar se uma abordagem te rica referente s principais tecnologias para sistemas distribu dos de entre as actuais se destacam a CORBA do Object Management Group OMG OMG 2004 o DCOM da Microsoft e o JavaRMI da Sun Sun 1999 Reservam se para abordar no cap tulo tr s os conceitos da nova tecnologia os Web Services 2 5 1 CORBA O esfor o de normaliza o de m ltiplas empresas reunidas no cons rcio Object Management Group OMG deu origem arquitectura CORBA Common Object Request Broker Architecture Esta foi a resposta criada no in cio dos anos 90 para fazer face necessidade de interoperabilidade entre aplica es baseadas em objectos distribu dos 2 A base desta arquitectura um barramento de objectos denominado ORB Object R
136. istemas foi necess rio fazer algumas concess es com o objectivo de reduzir o n vel da sua complexidade todavia a sua especifica o cont m algumas limita es como o facto de n o dispor de uma forma padr o de autentica o e seguran a No entanto os autores da especifica o SOAP argumentam que esses problemas podem ser facilmente ultrapassados atrav s da utiliza o do protocolo HTTPS para codifica o dos m todos j preconizados para autentica o em termos de HTTP Al m disso para fazer face a estas e outras necessidades surgem m dulos SOAP Extensions que se podem associar ao cabe alho das mensagens Smith 2007 Na sec o seguinte apresentam se algumas destas extens es 3 3 1 SOAP Extensions As extens es SOAP s o mecanismos de extensibilidade para mensagens utilizados para oferecer maior integridade e confidencialidade s aplica es baseadas em Web Services Atrav s de SOAP Extensions poss vel analisar ou modificar uma mensagem em qualquer altura do seu ciclo de vida entre o cliente e o servidor MSDN 2007 WS Security uma extens o SOAP que descreve a forma como usar as assinaturas digitais e a cifragem nas mensagens de forma a garantir a sua integridade autenticidade e confidencialidade Os WS podem usar esta extens o para atrav s da an lise s mensagens e aos tokens de seguran a que recebem decidirem se v o aceitar ou rejeitar o pedido Chappell 2003 41 WS Reliability
137. izadores como um s Tanenbaum 2002 Efectivamente torna se desej vel descentralizar quer o processamento quer o armazenamento de dados todavia a l gica continua a poder estar numa nica aplica o desenhando a como uma aplica o distribu da cujos requisitos de processamento devem ser satisfeitos por m ltiplos computadores e onde a informa o possa residir em distintas localiza es mas onde as funcionalidades l gicas n o sejam determinadas pela topologia f sica que utilizada para implementar a aplica o 11 Hoje em dia os sistemas distribu dos s o amplamente utilizados no entanto apercebemo nos que a ind stria de computadores ainda n o tirou total partido da sua utiliza o medida que os sistemas de redes sem fios de alta velocidade se tornam amplamente dispon veis poss vel integrar servi os dinamicamente considerando os componentes distribu dos de uma aplica o como fornecedores de servi os para uma outra aplica o O conceito de distribuir funcionalidades engloba a premissa de reutiliza o Os programadores podem utilizar cada uma destas funcionalidades como um bloco para muitas aplica es 2 2 1994 Caracter sticas de aplica es distribu das Seis importantes caracter sticas dos sistemas distribu dos s o Coulouris et al Partilha de recursos Um sistema distribu do permite a partilha de recursos de hardware e software como discos impressoras
138. lha de rede Transpar ncia A transpar ncia significa que o utilizador n o necessita de conhecer a natureza distribu da do sistema para ter acesso aos seus recursos Naturalmente os sistemas distribu dos apresentam algumas desvantagens Coulouris et al 1994 Complexidade Os sistemas distribu dos s o mais complexos do que os sistemas centralizados dificultando a compreens o das suas propriedades e a realiza o de testes desses sistemas Por exemplo em vez do desempenho do sistema depender da velocidade de um processador ele depende da largura de banda da rede e da velocidade dos diferentes processadores Mover recursos de uma parte do sistema para outra pode afectar radicalmente o desempenho do sistema Protec o Torna se mais dif cil gerir a protec o num sistema distribu do pelo facto de poder ser acedido a partir de v rios computadores diferentes e o tr fego na rede estar sujeito intercep o 13 Facilidade de gest o Os diferentes computadores num sistema distribu do podem ser de diferentes tipos e podem executar diferentes vers es do sistema operativo Os defeitos numa m quina podem se propagar para outras m quinas resultando em consequ ncias inesperadas Isso tudo significa a necessidade de maior esfor o para gerir e manter o sistema em opera o Imprevisibilidade Os sistemas distribu dos s o imprevis veis nas suas respostas essas respostas dependem da carga total sobre o sistem
139. lmente Conclus es De seguida faz se uma breve descri o do conte do de cada um deles Neste primeiro cap tulo procede se ao enquadramento e caracteriza o sum ria do problema que levou formula o da tese e ao desenvolvimento da presente disserta o Apontam se tamb m as motiva es objectivos e a abordagem seguida na sua realiza o No cap tulo 2 Aplica es Distribu das descrevem se as caracter sticas e os conceitos de integra o e interoperabilidade de aplica es distribu das bem como os desafios enfrentados na constru o destes sistemas Em seguida procede se a uma an lise sobre as v rias tecnologias actualmente dispon veis para integra o de SI nomeadamente para a constru o de solu es baseadas em aplica es distribu das No cap tulo 3 Web Services aborda se a defini o e fundamentos te ricos dos Web Services apresentando se detalhadamente as principais tecnologias associadas nomeadamente XML SOAP UDDI e WSDL Referem se tamb m as principais organiza es que se empenham em definir e publicar as especifica es destas tecnologias No cap tulo 4 Proposta de um SI usando Web Services apresenta se uma plataforma de integra o que permite a conectividade e interoperabilidade entre aplica es distintas Descreve se a arquitectura do sistema desenvolvido e mostra se como a tecnologia Web Services se ajusta perfeitamente na arquitectura proposta Finalmente no cap tu
140. lns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetCirculacoes xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt num contribuinte gt string lt num contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt GetCirculacoes gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt 155 lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetCirculacoes gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name NUM CIRC type xs string minOccurs 0 gt lt xs element name SERVICO type xs
141. lo 5 Conclus es salientam se as conclus es mais importantes as contribui es deste trabalho e as perspectivas para o futuro Identificam se Os principais desafios que se colocam s solu es de integra o baseadas em Web Services e as fases de adop o dos Web Services ao longo do tempo CAPITULO II 2 Aplica es distribu das A crescente popularidade da Internet e o crescimento do n mero de servi os e informa es disponibilizadas nesse meio leva nos a repensar a forma como os nossos Sistemas de Informa o s o desenvolvidos Cada vez mais torna se necess rio que as novas aplica es sejam concebidas de forma integrada e distribu da permitindo s mesmas interoperar com sistemas distintos e heterog neos Neste cap tulo come a se com uma breve aprecia o das diversas motiva es que levam ao desenvolvimento de aplica es distribu das Para de seguida se descreverem os principais conceitos e caracter sticas das mesmas Depois deste enquadramento passa se apresenta o das v rias tecnologias actualmente dispon veis para solu es baseadas em aplica es distribu das bem como alguns cen rios de utiliza o 2 1 Motiva es para 0 desenvolvimento de aplica es distribu das At aos ltimos anos a maioria dos grandes SI eram centralizados caracterizados pela exist ncia de um computador servidor mainframe que funcionava normalmente em modo batch com terminais conectados a ele Esses
142. ls gt lt soap Header gt lt soap Body gt lt SetDesafio xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt PIN gt string lt PIN gt lt Pergunta gt string lt Pergunta gt lt Resposta gt string lt Resposta gt lt SetDesafio gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia IDMunicipe VARCHAR 12 N mero de Mun cipe cifrado com a credencial em uso 103 PIN VARCHAR 4 PIN cifrado com a credencial em uso Pergunta VARCHAR 200 Pergunda Desafio cifrado com a credencial em uso Resposta VARCHAR 200 Resposta ao Desafio cifrado com a credencial em uso Retorno do DataSet com C digos de Erro C digos de Erro 1 Sucesso 200 Mun cipe Inexistente 204 Password Incorrecta Disp e de mais X tentativas X configur vel pela Autarquia e tem o valor por 3 tentativas de login erradas 205 Ultrapassou o n mero de tentativas erradas A conta est temporariamente bloqueada Neste caso o nico acesso passa a ser pelo M todo Desafio 2 4 AskDesafio Devolve a pergunta Desafio Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap or
143. lsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetRequerimentos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt num contribuinte gt string lt num contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt GetRequerimentos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Envelope de Retorno lt xml version 1 0 encoding utf 16 gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt 115 lt xs element name GetRequerimentos gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element
144. lt IDMunicipe gt lt PIN gt string lt PIN gt lt Autentica gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR 1 1 N mero de Contribuinte do Mun cipe cifrado com a credencial em uso Password VARCHAR 4 PIN do Mun cipe cifrado com a credencial em uso Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name Autentica gt lt xs complexType gt lt xs sequence gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name NOME type xs string minOccurs 0 gt lt xs element name ACESSOS type xs int minOccurs 0 gt lt xs element name ACESSOSTOTAIS type xs int minOccurs 0 gt lt xs element name ULTIMOACESSO type xs dateTime minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt 100 lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONTRIB N mero de Cont
145. lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONTRIB N mero de Contribuinte do Mun cipe PERGUNTA Pergunta Desafio C digos de Erro 1 Sucesso 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente 204 Acesso negado Neste caso o nico acesso passa a ser pelo M todo Desafio 206 Pergunta Desafio Inexistente 2s AnswearDesafio Resposta a pergunta Desafio Em caso de sucesso gera um novo PIN automaticamente e retorna o Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt AnswerDesafio xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt num_contribuinte gt string lt num_contribuinte gt lt Resposta gt string lt Resposta gt lt AnswerDesafio gt lt soap Body gt lt soa
146. ltCode N o tem permiss es para aceder a este Web Service SoapException ServerFaultCod N o tem permiss es para aceder a esta Web Function Figura 22 Lista das SOAP Exceptions de WSAutarquias A implementa o desta componente de seguran a sobre Secure Socket Layer SSL tamb m poss vel e recomenda se pois aumenta ainda mais o n vel de seguran a O protocolo SSL actualmente aceite como um mecanismo seguro para garantir integridade em comunica es baseadas em HTTP Para utilizar SSL necess rio que exista um certificado digital autenticado por uma entidade certificadora CA no servidor que aloja os Web Services garantindo 77 assim a autenticidade do servidor Al m disso deve configurar se o servidor para exigir o uso de SSL a todos os pedidos de clientes o que obriga a que todas as invoca es sejam realizadas por HTTPS fundamental que a m quina cliente esteja configurada para confiar na autoridade de certifica o que emitiu o certificado de seguran a que o instale e o use em todas as chamadas que estabelecer aos Web Services As chamadas aos Web Services quer atrav s da forma s ncrona quer atrav s da forma ass ncrona exemplifica se no anexo III Nele apresenta se o c digo para consultar processos utilizando o m todo GetProcessos do Web Service Processos Quanto utiliza o dos restantes servi os ela semelhante raz o pela qual n o apresentada 4 6 Verifi
147. m uma diferen a na sua utiliza o que determinada pelos requisitos de seguran a que ter o de ser garantidos Na Intranet os WS s o expostos somente dentro de uma zona protegida por uma firewall o facto de serem baseados em protcolos padr o dever diminuir o custo de integra o entre aplica es e ter o prefer ncia sobre outras solu es No entanto o maior interesse sobre a adop o de WS a sua utiliza o na Internet viabilizada por factores b sicos de performance escalabilidade e seguran a prometendo tornar a Internet num grande manancial de servi os Um dos principais desafios que actualmente se coloca s solu es de integra o baseadas em WS o tema da seguran a o qual foi superficialmente referido nesta disserta o Os desafios prendem se essencialmente com a autentica o e autoriza o no momento da utiliza o dos servi os Existem padr es estabelecidos para seguran a ao n vel de transporte SSL e seguran a de mensagens SMIME Mas ainda n o foi gerado um consenso sobretudo pela enorme complexidade e exig ncia subjacente aos requisitos al m disso a tecnologia de suporte ainda n o atingiu um grau de maturidade e de abrang ncia necess rio A emerg ncia dos WS vem adicionar alguma complexidade gest o das redes de comunica o Perante o potencial de adop o dos WS bastante prov vel que o fluxo de comunica es venha a crescer exponencialmente Este aumento de m
148. ma de integra o utilizando Web Services Numa primeira parte define se um modelo conceptual apresentam se os seus elementos constituintes as suas interac es e o papel de cada um deles na integra o De seguida prop e se e implementa se um sistema funcional atrav s da integra o entre os sistemas TRAS OS MONTES NET e WSAutarquias Inclui se uma discuss o do sistema implementado e detalha se de forma pormenorizada a sua implementa o sendo feita uma descri o funcional e t cnica de cada componente No final apresentada uma breve s mula da implementa o do sistema e dos temas abordados s o ainda tecidas algumas conclus es 4 1 Modelo conceptual Os processos de neg cio entre empresas t m sido tradicionalmente caracterizados por n o apresentarem qualquer integra o entre os seus respectivos SI consequentemente resultam no consumo intensivo de recursos humanos e em v rios erros de inconsist ncia ou duplica o de informa o 54 Constata se que este modelo n o satisfaz adequadamente as interac es entre e dentro das empresas No entanto mesmo desejando a integra o a maioria das empresas n o tem interesse em se desfazer dos seus actuais SI pelo que surge a necessidade de encontrar uma solu o que permita aos diferentes sistemas comunicar entre si A elabora o de um modelo de arquitectura para a integra o de SI envolvendo e suportando o estabelecimento de m ltiplas rela es
149. me NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name AskDesafio gt lt xs complexType gt lt xs sequence gt lt xs element name CONTRIB type xs string minOccurs 0 gt 137 lt xs element name PERGUNTA type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONTRIB N mero de Contribuinte do Mun cipe PERGUNTA Pergunta Desafio C digos de Erro 1 Sucesso 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente 204 Acesso negado Neste caso o nico acesso passa a ser pelo M todo Desafio 206 Pergunta Desafio Inexistente eis AnswearDesafio Resposta pergunta Desafio Em caso de sucesso gera um novo PIN automaticamente e retorna o Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials g
150. me OBSERVACOES type xs string minOccurs 0 gt lt xs element name FUNCIONARIO type xs string minOccurs 0 gt lt xs element name DATA ENVIO type xs dateTime minOccurs 0 gt lt xs element name AUTARQUIA type xs string minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt 157 lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO NUM CIRC N mero da Circula o SERVICO Servi o Entidade que emitiu a Circula o OBSERVACOES Observa es FUNCIONARIO Nome do Funcion rio que emitiu a Circula o DATA ENVIO Data de Envio da Circula o AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C di
151. mpos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO REQUER N mero do Requerimento DESCRICAO Descri o do Requerimento DATA ENTRADA Data de Entrada do Requerimento COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo TIPOREQ C digo do Tipo de Requerimento RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo 152 IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a
152. mpresas agrupadas num cons rcio denominado Word Wide Web Consortium W3C A especifica o do SOAP resulta de mais de dois anos de desenvolvimento que culminaram com a submiss o da vers o 1 1 ao W3C o qual a aceitou como ponto de partida para futuras normaliza es A actual vers o 1 2 foi um trabalho de normaliza o que decorreu sob os ausp cios do XML Protocol Working Group do W3C W3C 2007d A norma SOAP consiste em quatro partes um envelope para transmiss o de mensagens que descreve os v rios aspectos que ser o utilizados para descrever a mensagem um conjunto de directrizes de codifica o para expressar os tipos de dados definidos ao n vel das aplica es uma conven o para representar as invoca es a procedimentos remotos RPC e respectivas respostas e ainda uma framework para a troca de envelopes entre aplica es utilizando um protocolo de transporte 40 O SOAP protocolo de comunica o pode potencialmente ser utilizado em combina o com uma variedade de outros protocolos como protocolos de transporte HTTP SMTP FTP e suporta o mecanismo cl ssico de RPC que consiste na troca de mensagens s ncronas de pedido seguido de resposta Adicionalmente suporta outros mecanismos de comunica o nomeadamente mensagens num nico sentido sem resposta i e one way notifica o resposta tipo push ou publica o subscri o De modo a ser um protocolo independente da heterogeneidade de s
153. msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetProcessos gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC_DESCR type xs string minOccurs 0 gt lt xs element name DATA ABERT type xs dateTime minOccurs 0 gt lt xs element name LOCAL OBRA type xs string minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name PROPRIETARIO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos
154. n SoapException amp se Message log AddMessage SoapException Authentication NOT OK Catch ex As Exception Throw ex End Try End Function ta autentica o for efectuada com sucesso podemos usar a credencial autenticada para aceder aos restantes Web Services A credencial expira quando um dos Web Services envia a seguinte mensagem A SHWSCredencialld usada n o v lida pe a uma nova e o faultCode Soap Exception VersionMismatchFaultCode ent o necess rio efectuar todos os passos descritos anteriormente voltando a solicitar uma credecial v lida H semelhan a de todo o c digo desenvolvido utilizam se os blocos Try Catch para que todas as excep es imprevistas que ocorram em run time possam ser capturadas e 169 tratadas al m disso incorporaram se tamb m fun es de logging para registar as excep es que ocorrem Este tipo de metodologia pode ser implementada sobre SSL descreve se de seguida como configurar e codificar esta l gica para usar sobre HTTPS Implementa o sobre SSL A implementa o sobre SSL requer que seja feito o override de uma fun o de seguran a e ainda o registo desta na aplica o cliente A classe que efectua override de uma fun o de seguran a apresentada a seguir Imports System Net Imports Shortcut Security Imports System Security Cryptography X509Certificates Public Class MyCertificateValidation Implements System
155. ng minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC_DESCR type xs string minOccurs 0 gt lt xs element name DATA ABERT type xs dateTime minOccurs 0 gt lt xs element name LOCAL OBRA type xs string minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name PROPRIETARIO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC DESCR Descri o do
156. ns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetPareceresGlobal gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name NUM PARECER type xs string minOccurs 0 gt lt xs element name DATA PEDIDO type xs dateTime minOccurs 0 gt lt xs element name DATA PARECER type xs dateTime minOccurs 0 gt lt xs element name UNID RESP type xs string minOccurs 0 gt lt xs element name TIPO PARECER type xs string minOccurs 0 gt lt xs element name RESULTADO type xs string minOccurs 0 gt lt xs element name FICHEIRO type xs string minOccurs 0 gt lt xs element name INT EXT type xs string minOccurs 0 gt 130 lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name TIPOREQ type xs string minOccurs 0 gt lt xs element name TOOLTIP type xs int minOccurs 0 gt lt xs element name TRANS
157. ns vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 304 N o foram encontrados Processos com o texto a pesquisar Ordena o dos Resultados IDPERFIL ASC DATA ABERT DESC 146 10 Web Service Requerimentos O URL que define esta classe de web services http Ap_servidor_web WSACentral wsRequerimentos asmx 10 1 LimparRequerimentos Elimina todos os requerimentos de um Mun cipe na cache Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparRequerimentos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparRequerimentos gt l
158. ns xs http www w3 org 2001 XMLSchema xmlns msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name PesqRequerimentos gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name DATA ENTRADA type xs dateTime minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name TIPOREQ type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt Descri o dos Ca
159. nt minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe N LICENCA N mero da Licen a TIP LIC C digo do Tipo de Licen a DATA LICENCA Data da Licen a DESC LIC Descri o da Licen a REQUER N mero do Requerimento AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo PRAZO LICENCA Prazo da Licen a PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cip
160. nte do de um documento XML muito simples lt xml version 1 0 gt lt user gt lt lastname gt Saraiva lt lastname gt lt age gt 32 lt age gt lt dateborn gt 1974 08 11 lt dateborn gt lt user gt Figura 3 Documento XML bem formado Do texto oficial da especifica o do XML W3C 2006b destacam se as seguintes caracter sticas e Extensivel e estruturado permitido definir qualquer etiqueta tag que se considere necess ria utilizando elementos que caracterizem os dados e identifiquem a estrutura do documento tornando assim mais f cil a sua interpreta o e Pass vel de ser validado poss vel efectuar a valida o de um documento XML verificando se respeita todas as regras de forma o e se o seu conte do estiver de acordo com uma especifica o definida previamente num documento DTD Document Type Declaration ou num XSD XML Schema Definition associado Um documento XML bem formado um documento que obedece s regras de sintaxe XML W3Schools 2007 e Deve come ar pela declara o XML e Deve ter um elemento raiz nico isto deve existir um elemento para o qual nem a etiqueta de in cio nem a de fim est o dentro de qualquer outro elemento 37 e Todas as etiquetas abertas devem ser fechadas e Deve ter em aten o que as etiquetas XML s o case sensitive e Todos os elementos devem ser aninhados correctamente ou seja uma etiqueta aberta dentro de um element
161. nte gt lt texto gt string lt texto gt lt PesqCirculacoes gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR 1 1 N mero de Contribuinte do Mun cipe Texto VARCHAR 200 Texto a pesquisar Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name PesqCirculacoes gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name NUM CIRC type xs string minOccurs 0 gt lt xs element name SERVICO type xs string minOccurs 0 gt lt xs element name OBSERVACOES type xs string minOccurs 0 gt lt xs element name FUNCIONARIO type xs string minOccurs 0 gt lt xs element name DATA ENVIO type xs dateTime minOccurs 0 gt lt xs element name AUTARQUIA type xs string minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name CON
162. nte o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 303 Processo sem Circula es 123 Ordena o dos Resultados DATA ENVIO DESC 5 4 PesqCirculacoes Pesquisa determinado texto em Circula es Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt PesqCirculacoes xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribui
163. nteroperability gmi edition vol 27 ACM Computing Surveys 1995 Hirschfeld 1996 Hirschfeld R Three Tier Distribution Architecture Plop 96 Ilinois Washington University 1996 IDC 2002 IDC Portugal Web Services Caderno IDC 2002 Iwasa 2004 Iwasa K Web Services Reliable Messaging TC WS Reliability 1 1 http docs oasis open org wsrm ws reliability v1 1 2004 IBM 2000 IBM Web Services Architecture Team Web Services architecture overview the next stage of evolution for e business http www ibm com developerworks webservices library w ovr dwzone webservices 2000 IETF 2007 Internet Engineering Task Force http www ietf org 2007 Shortcut 2003 Shortcut Manual de Utiliza o WsAutarquias SHSecurityClient v1 0 para a Medidata 2003 Shortcut 2007 Shortcut http www shortcut pt 2007 Smith 2007 Smith J Windows Comunication Foundation Microsoft Press Washington 2007 Lopes e Ramalho 2005 Manola 1995 Matos 2001 Medidata 2007 Microsoft 2001a Microsoft 2001b MSDN 2007 Navarro et al 2000 OASIS 2006 OASIS 2007a OASIS 2007b OMG 2001 91 Lopes C J F e J C Ramalho Web Services Aplica es Distribuidas sobre Protocolos Internet FCA 2005 Manola F Interoperability Issue in Large Scale Distributed Object System 2 edition vol 27 ACM Computing Surveys 1995 Matos L M
164. o 300 Processo inexistente 301 Processo sem requerimentos Ordena o dos Resultados IDPERFIL ASC DATA ENTRADA DESC 149 10 4 GetRequerimento Retorna um dataset com os dados do requerimento indicado Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialld gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetRequerimento xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt IDrequerimento gt string lt IDrequerimento gt lt GetRequerimento gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia 9 VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR 1 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo IDRequer VARCHAR 15 N mero do Requerimento Envelope de Retorno lt xml version 1 0 encoding utf 16 gt
165. o de rede Pode ainda incluir metadados e informa o de categoriza o para facilitar as actividades de descoberta e utiliza o por invocadores do servi o Zz O conceito de descri o do servi o fundamental para permitir que a arquitectura minimize as depend ncias explicitas e directas entre os seus componentes O objectivo que nem o invocador nem o fornecedor de um servi o tenham de conhecer os seus detalhes internos como por exemplo plataforma de suporte ou linguagem de programa o para poderem interagir entre si 59 A descri o do servi o pode ser publicada num registo UDDI para tornar o respectivo servi o conhecido num determinado contexto O padr o que permite descrever os WS segundo um formato XML o WSDL uma especifica o normalizada sob as directivas do W3C Booth et al 2004 Considerando as dificuldades encontradas por outras arquitecturas de objectos distribu dos em chegar a um acordo sobre um formato bin rio suficientemente compat vel com um vasto conjunto de sistemas o SOAP apresenta se como o padr o adequado para o empacotamento e formata o de mensagens a transaccionar O protocolo SOAP n o obriga a nenhum meio de transporte espec fico podendo ser usado qualquer um dos protocolos estabelecidos na Internet ou mesmo fora dela Contudo o principal interesse a possibilidade de se poder efectuar a chamada a procedimento remotos RPC sobre HTTP ou HTTPS sendo esta ali s a sit
166. o deve ter a correspondente etiqueta de fim antes desse elemento se fechar e Todos os valores de atributos precisam de estar entre aspas e Devem utilizar se entidades XML para caracteres especiais 3 2 1 Document Type Declaration Um DTD consiste num conjunto de declara es que especifica a estrutura hier rquica de um documento XML descrevendo quais e de que forma as tags podem ser usadas Um DTD tem uma sintaxe pr pria diferente de XML com tags definidas para representar os elementos usados Na figura 4 apresenta se o exemplo de um poss vel DTD para o documento XML ilustrado na figura 3 lt xml version 1 0 gt lt ELEMENT user lastname age dateborn gt lt ELEMENT lastname PCDATA gt lt ELEMENT age PCDATA gt lt ELEMENT dateborn PCDATA gt Figura 4 Um poss vel DTD para o XML da figura 3 Como se pode verificar este DTD define a estrutura de um utilizador user A linha 2 define que um utilizador possui tr s elementos lastname age dateborn as linhas 3 a 5 definem os seus elementos constituintes como sendo do tipo PCDATA ou seja apenas texto Um DTD pode estar contido num documento XML ou pode ser declarado externamente sendo associado ao documento atrav s de uma refer ncia com a seguinte sintaxe lt DOCTYPE elemento raiz SYSTEM nome do ficheiro gt 38 3 2 2 XML Schema Definition Tal como um D
167. o era conhecido dos programadores e al m disso a maior parte deles est o acostumados a utilizar de alguma forma algum tipo de chamadas a fun es o conceito de procedimento remoto foi f cil de aceitar aprender e utilizar tanto que se tornou num modelo de programa o familiar ao contr rio das mensagens e Sincronismo Ao contr rio da arquitectura ass ncrona baseada em mensagens a arquitectura baseada em procedimentos remotos s ncrona a thread de execu o bloqueada at que a fun o retorne e termine de tal forma que existe sempre uma resposta com o resultado Deste modo o programa cliente tem sempre uma confirma o que os par metros foram entregues e que o procedimento executou o servi o pedido assim como o respectivo resultado desse pedido e Granularidade Permite a um programa comunicar com um procedimento remoto que apenas uma parte de outro programa permitindo focar melhor a comunica o e dirigir o pedido directamente para a zona do programa que trata esse pedido e Sinergia com o conceito cliente servidor A arquitectura potencia e potenciada pelo conceito cliente servidor Com efeito a arquitectura RPC baseada no conceito de um programa servidor que fornece procedimentos para executarem pedidos enviados por outros programas que s o por isso os seus clientes Logo partida esta decis o diferencia esta arquitectura das mensagens onde cada programa pode trocar mensagens com qualquer ou
168. o mais apropriado ao desenvolvimento deste tipo de aplica es deve ter seis camadas como apresentado de seguida Promon 2002 e Camada de apresenta o A camada de apresenta o permite ao utilizador interagir com os servi os disponibilizados pelo sistema Esta camada contempla os diversos componentes directamente relacionados com a interface dependente do dispositivo cliente uma vez que cont m os elementos finais de apresenta o e Camada de l gica da apresenta o A manipula o da apresenta o dos elementos visuais que comp em a aplica o da responsabilidade da camada de l gica de apresenta o nesta camada que s o preparadas as informa es a serem exibidas de acordo com o dispositivo cliente considerando factores como a ordem desses elementos e a valida o das informa es dadas pelas regras de neg cio e Camada de servi o da aplica o Esta camada disponibiliza uma interface para ser usada por outras aplica es nela que s o desenvolvidos componentes seguindo os conceitos de Web Services Esses componentes aceitam pedidos de clientes usando protocolos padr o da Internet como o HTTP permitindo a sua utiliza o por outros sistemas e Camada de l gica de neg cio Esta a camada que implementa toda a l gica de neg cio isto comunica com a camada de persist ncia para recolher os dados e efectua o tratamento dos mesmos de acordo com as regras de neg cio especificadas Represen
169. o servi os e assim criar pontos de integra o normalizados Esta arquitectura segue a filosofia de Service Oriented Arquitecture SOA e permite a reutiliza o e integra o destes servi os em solu es mais abrangentes e flex veis O prot tipo de integra o e cada dos seus componentes foram apresentados Durante o desenvolvimento do prot tipo os modelos e protocolos abordados n o foram esquecidos no entanto as plataformas de desenvolvimento escolhidas tornam transparente todo o esfor o de cria o e interac o com as mensagens SOAP bem como a cria o e utiliza o dos documentos WSDL que descrevem os WS facilitando assim a sua programa o Demonstrou se com a cria o do prot tipo funcional que a interoperabilidade entre SI usando WS efectiva permitindo desta forma que cidad os possam interagir com servi os de diversas entidades numa nica plataforma Permitiu tamb m tirar partido das possibilidades que a Internet tem de se transformar numa plataforma de disponibiliza o de servi os 83 CAPITULO V 5 Conclusoes Neste cap tulo encerra se esta disserta o acreditando que os objectivos inicialmente propostos foram alcan ados De seguida faz se uma s ntese final dos principais temas apresentados ao longo dos cap tulos anteriores e tecem se alguns coment rios que se julgam oportunos para a conclus o deste trabalho Esta disserta o teve como objectivo estudar e experimentar as tecn
170. oap encoding xmlns tm http microsoft com wsdl mime textMatching xmlns mime http schemas xmlsoap org wsdl mime targetNamespace http ws shortcut pt ws WSAutarquiasCentral xmlns http schemas xmlsoap org wsdl gt lt types gt lt s schema elementFormDefault qualified targetNamespace http ws shortcut pt ws WSAutarquiasCentral gt lt s element name getValidKey gt lt s complexType gt lt s element gt lt s element name getValidKeyResponse gt lt s complexType gt lt s sequence gt lt s element minOccurs 0 maxOccurs 1 name getValidKeyResult type s string gt lt s sequence gt lt s complexType gt lt s element gt lt s element name Authenticate gt lt s complexType gt 97 lt s sequence gt lt s element minOccurs 0 maxOccurs 1 name client type s string gt lt s element minOccurs 0 maxOccurs 1 name pass type s string gt lt s sequence gt lt s complexType gt lt s element gt lt s element name AuthenticateResponse gt lt s complexType gt lt s sequence gt lt s element minOccurs 1 maxOccurs 1 name AuthenticateResult type s boolean gt lt s sequence gt lt s complexType gt lt s element gt lt s element name SHWSClientCredentials type s0 SHWSClientCredentials gt lt s complexType name SHWSClientCredentials gt lt s sequence gt lt s element minOccurs 0 maxOccurs 1 name SHWSCredentialId type s string gt lt
171. ologia de suporte dos backbones da Internet substancialmente limitado A interac o dos clientes JavaRMI com os objectos remotos feita atrav s das interfaces classes abstractas que s o fornecidas pelo servidor o cliente possui a interface do objecto remoto para poder referenci lo enquanto que o servidor possui a implementa o do mesmo 30 Devido enorme popularidade da linguagem Java os fornecedores de software optam por suportar a JVM nas suas plataformas s o eles Javasoft SunOS e Solaris Microsoft Windows AIX HPUX Linux e MacOS Al m disso todas as plataformas que suportem a JVM t m a possibilidade de utilizar JavaRMI 2 6 Resumo Um dos grandes desafios para as tecnologias da informa o tem sido e continuar a ser a integra o das aplica es dentro e entre as empresas ou organiza es Independentemente do caminho tomado pelas organiza es relativamente prefer ncia por uma das solu es existentes no mercado ou pelo desenvolvimento de uma solu o medida o essencial que os projectos sejam desenhados de forma a garantir um sistema integrado de acordo com a arquitectura do Sistema de Informa o que certamente evoluir ao longo do tempo Amaral e Varaj o 2000 A caracter stica da heterogeneidade nos sistemas distribu dos imp e a necessidade de especifica es abertas com interfaces padronizadas e p blicas levando ao desenvolvimento de software de middleware base
172. ologias de integra o e testar num projecto piloto a plataforma desenvolvida com base no modelo de arquitectura de Web Services Para tal optou se por come ar com a apresenta o das principais caracter sticas conceitos e tecnologias dos sistemas distribu dos para de seguida se abordar de forma mais exaustiva os WS e os seus protocolos associados O trabalho realizado permitiu verificar que os WS se adaptam bem a situa es em que necess rio o acesso a componentes de software remotos de uma maneira simples e em que haja suporte em v rias plataformas O problema estudado neste trabalho pertence classe mais complexa dos problemas de SI distribu dos para integra o e interoperabilidade de aplica es utilizando protocolos da Internet A sua import ncia bem vis vel quando as organiza es precisam que as suas aplica es comuniquem entre si quer seja internamente quer seja com outras aplica es externas Ao longo desta tese de mestrado pretendeu se dar uma contribui o para a investiga o dos WS um tema emergente e recheado de potencialidades No entanto o tema dos WS n o fica esgotado de forma nenhuma Este assunto actual e como tal 84 encontra se em constante evolu o Assim apresentam se de seguida algumas considera es A utiliza o de WS pode ser classificada para as duas grandes reas Intranet e Internet sendo que os dois casos envolvem o mesmo conjunto de tecnologias mas co
173. onde a um reposit rio de nomes de empresas ou outras organiza es e de descri o dos servi os suportado por uma base de dados 45 distribu da de Web Services Conceptualmente as informa es est o dispon veis em tr s componentes descritas como White Pages p ginas brancas cont m informa es acerca das organiza es fornecedoras de WS tais como nome morada contactos e descri o da organiza o Yellow Pages p ginas amarelas classificam os WS em categorias nas quais os seus fornecedores se inserem como por exemplo tipo de servi o ou localiza o geogr fica Green Pages p ginas verdes constituem o conjunto de informa es t cnicas sobre os WS disponibilizados bem como informa es relativas sua localiza o O modelo de dados do UDDI definido por um XML Schema que cont m quatro tipos principais de informa o utilizados para descrever na pr tica os tr s tipos de informa o acima mencionados s o eles BusinessEntity este elemento representa toda a informa o conhecida de uma organiza o que publica Web Services correspondendo informa o das White Pages BusinessService cont m a informa o relativa a um determinado WS publicado no UDDI sendo que cada elemento businessService pertence a um nico businessEntity Esta informa o concretiza portanto o conceito das Yellow Pages BindingTemplate nesta estrutura encontram se as descri es t cnicas
174. opes e Ramalho 2005 A ubiquidade dos protocolos da Internet e formato de dados tais como o Hypertext Transfer Protocol HTTP e o Extensible Markup Language XML permite transferir informa es de forma transparente atrav s de firewalls e servidores proxy tornando os WS componentes facilmente acess veis por parte de qualquer aplica o W3C 20064 Uniform Resource Identifier W3C 2005 35 Uma das caracter sticas mais relevantes neste novo paradigma que s o os WS a no o de que tudo um servi o que tem uma interface publicada e que comunica atrav s de mensagens Desta forma estes servi os podem ser implementados em qualquer plataforma e linguagem de programa o desde que possam produzir e consumir as mensagens definidas pela interface Podem ainda ser alterados sem qualquer impacto nas aplica es clientes desde que mantenham a mesma interface porque s o loosly coupled ou seja a liga o aos WS estabelecida dinamicamente apenas quando necess ria Para permitir que as aplica es clientes possam descobrir de forma din mica a interface do Web Service os servi os devem ser descritos utilizando a especifica o WSDL esta norma permite publicar as informa es sobre a sintaxe m todos par metros e localiza o dos servi os W3C 2007a Desta forma para construir uma aplica o que realize chamadas para um determinado Web Service obt m se o ficheiro WSDL associado e com base nas informa e
175. orariamente bloqueada Neste caso o nico acesso passa a ser pelo M todo Desafio 3 4 AskDesafio Devolve a pergunta Desafio Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialld gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt AskDesafio xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt num_contribuinte gt string lt num_contribuinte gt lt AskDesafio gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia IDMunicipe VARCHAR 12 N mero de Mun cipe cifrado com a credencial em uso Num contribuinte VARCHAR 11 N mero de Contribuinte do Mun cipe cifrado com a credencial em uso Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element na
176. p Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de contribuinte Retorno de DataSet com C digos de Erro C digos de Erro 1 Sucesso 200 Mun cipe Inexistente 107 3 Web Service Processos O URL que define esta classe de web services http ip_servidor_web WSACentral wsProcessos asmx io elle LimparProcessos Elimina todos os processos de um Mun cipe na cache Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialId gt string lt SHwSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparProcessos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparProcessos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente 322 GetProcessos Retorna um dataset com os processos de um Mun cipe Envelope de Entrada lt xml version 1 0
177. p Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia IDMunicipe VARCHAR 12 N mero de Mun cipe cifrado com a credencial em uso Num contribuinte VARCHAR 11 N mero de Contribuinte do Mun cipe cifrado com a credencial em uso Resposta VARCHAR 200 Resposta ao Desafio cifrado com a credencial em uso 105 Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmlns msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Lecale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name AnswerDesafio gt lt xs complexType gt lt xs sequence gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name PIN type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONTRIB N mero de Contribuinte do Mun cipe PIN Novo PIN gerado pelo Sistema C digos de Erro 1 Sucesso 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente
178. p Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe Texto VARCHAR 200 Texto a pesquisar Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 0rg 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name PesqLicencas gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name N LICENCA type xs string minOccurs 0 gt lt xs element name TIP LIC type xs string minOccurs 0 gt lt xs element name DATA LICENCA type xs dateTime minOccurs 0 gt lt xs element name DESC LIC type xs string minOccurs 0 gt lt xs element name REQUER type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name PRAZO LICENCA type xs string minOc
179. pal de Mes o Frio 3 C mara Municipal do Peso da R qua C mara Municipal de Ri a de P 3 C mara Municipal de Santa Marta de Penagui o ca Municipal de It 3 C mara Municipal de Jo o da Pesqueira C mara Municipal de Tabua o E C mara Municipal de Torre de Moncorvo 3 Cam unici Vila Flor C mara Municipal de vila Pouca de Aquiar 3 C mara Municipal de Vila Real 3 C mara Municipal de Vinhais Rede de Servi os da Administra o P blica Maria Judite Macedo Fernandes HomeService DRATM Direc o Regional de Agricultura de Tr s os Montes SRSVR Sub Regi o de Sa de de Vila Real VR Cen Di amp 1999 2003 SCETAD TR S OS MONTES DIGITAL TODOS OS DIREITOS RESERVADOS Tas os Meres Danu si DHAM lt S Topo Recomendar Site Retroceder DESENVOLVIMENTO CI UTAD OPTIMIZADO PARA SOOX600 IEM Porca EG Figura 24 Pagina de entidades aderentes no portal TRAS OS MONTES NET V tr s os montes net servi os de atendimento electr nico E servi os disponibilizados Maria Dodi Haad Fortra anasare C mara Municipal de Vila Real Mi Servi o Dispon vel Pal Servi o Indispon vel Apresenta o de solicita es e reclama es Pedido de limpeza de contentore eios Pedido de limpeza de derivados resultantes de limpezas de espa os verdes Pedido de limpeza de lixeiras Pedido de mapa hor rio Pedido de rem o de animais mortos e abandonados Pedi r m
180. pose Internet Mail Extensions Estes documentos que n o se encontram em formato XML podem ser por exemplo documentos Word PDF imagens em formato GIF ou JPEG ou mesmo assinaturas digitais OASIS 2006 3 3 2 Mensagem SOAP Uma mensagem SOAP uma mensagem escrita em XML composta por um envelope que tipicamente cont m um cabe alho e um corpo apresenta se de seguida a figura 6 para ilustrar esta estrutura MSDN 2007 42 Mensagem SOAP SOAP Header Bloco Header Bloco Header q Bloco Header SOAP Body C Bloco Body q Bloco Body q Bloco Body amp Figura 6 Representa o de uma mensagem SOAP O elemento envelope obrigat rio e o elemento principal de uma mensagem SOAP representa a raiz da estrutura XML dentro da qual todos os outros elementos da mensagem est o encapsulados O envelope cont m um cabe alho opcional que quando presente cont m informa es relativas seguran a encaminhamento ou destinat rio da mensagem Uma mensagem pode conter zero ou mais blocos de cabe alho que ser o embebidos no cabe alho O corpo da mensagem definido pelo elemento Body um elemento obrigat rio deve estar localizado imediatamente depois do elemento Header caso ele exista e cont m a informa o da mensagem escrita em XML dirigida ao receptor final A figura 7 apresenta um exemplo simples de uma mensagem SOAP para transmi
181. quitectura onde prevalecem os objectos fi 4 PA 1 distribu dos os componentes de acesso remoto e mais recentemente os Web Services De facto as novas tecnologias s o quase todas baseadas em RPC Silva 2003 Uma Remote Procedure Call uma chamada ordin ria a um procedimento ou fun o que reside no mesmo ou num distinto SI Essa comunica o extremamente simples tanto em termos conceptuais como em termos pr ticos pois para o cliente o pedido feito como se o procedimento remoto fosse local al m disso uma RPC O termo remoto normalmente empregue caso a chamada seja direccionada para outro servidor 22 providencia localiza o transparente ou seja quem est a chamar o procedimento n o necessita de conhecer a localiza o f sica do Service Provider Um procedimento um conjunto de c digo que implementa um servi o bem definido e oferece uma interface para que outros procedimentos possam pedir a execu o desse servi o Os procedimentos permitem estruturar melhor um programa e assim facilitam imenso a manuten o e reutiliza o do c digo existente A infra estrutura de RPC gera um stub canal de comunica o tamb m conhecido por proxy que actua como uma representa o do c digo do procedimento remoto e transforma qualquer argumento do procedimento para um buffer o qual pode ser transmitido atrav s da rede para um servidor RPC No servidor de RPC o stub descompacta os argumentos no processo
182. ra a constru o de aplica es baseadas em Web Services 32 33 CAPITULO III 3 Web Services O tema central desta tese s o os Web Services WS para implementa o de aplica es distribu das Atrav s da utiliza o de WS aplica es em v rias localiza es num ambiente global Internet podem ser facilmente integradas como se fossem parte de um nico sistema Por forma a tornar esta interoperabilidade poss vel s o necess rios protocolos independentes dos sistemas operativos plataformas e linguagens de desenvolvimento Neste cap tulo s o analisadas em detalhe estas normas standard nas quais os WS se baseiam tais como XML eXtensible Markup Language SOAP Simple Object Access Protocol UDDI Universal Description Discovery and Integration e WSDL Web Services Definition Language Por fim apresenta se o conjunto de organiza es que t m como principal objectivo criar as linhas orientadoras para o desenvolvimento de WS de forma a manter a inter operacionalidade 3 1 Defini o de Web Service A equipa respons vel pela arquitectura de servi os da IBM define Web Service como sendo uma aplica o modular auto descritiva que pode ser publicada localizada e invocada a partir de qualquer ponto de uma rede geralmente a Web IBM 2000 34 Segundo defini o do World Wide Web Consortium W3C um Web Service um componente de software identificado por um URI W3C 2005 cujas interfaces
183. rante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 305 Processo sem pareceres utilizado na consulta de Pareceres por Processo 400 Requerimento Inexistente 402 Requerimento sem pareceres Ordena o dos Resultados DATA PARECER DESC 131 Vel LimparPareceres Elimina todos os pareceres de um Municipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparPareceres xmlns http ws shortcut pt ws WSAut
184. realizados neste trabalho evoluir o portal TR S OS MONTES NET por forma a que este se integre com servi os de outras entidades Por um lado existem as entidades que ja disponibilizam servi os no portal mas estes n o est o integrados com os seus SI como o caso de Direc es Regionais de Agricultura Sub regi es de S ude Centros Distritais de Solidariedade e Seguran a Social por outro lado procurar novas entidades para aderir ao projecto Finalmente sublinha se que a capacidade dos Web Services para a integra o r pida e eficaz de aplica es dados e funcionalidades fundamental para a concretiza o dos objectivos estrat gicos das organiza es como o caso do prot tipo apresentado nesta disserta o 88 89 REFERENCIAS Amaral e Varaj o 2000 Amaral A M e J E Q Varaj o Planeamento de Sistemas de Informa o FCA 2000 Bulas Cruz e Ramos 2001 Bulas Cruz J A e L Ramos O Servi o Cooperativo de Extens o em Tr s os Montes e Alto Douro SCETAD uma experi ncia pioneira de utiliza o das NTIC na moderniza o dos servi os p blicos locais em meio rural http www arribes net fuenoticia congreso arribes1 ponencias 2001 Boar 2003 Boar C XML Web Services in the Organization Microsoft Corporation Washington 2003 Boot D H Haas F McCabe E Newcomer M Champion C Ferris e D Orchard Web Services Architecture World Wide Web Consortium Working Gro
185. ribuinte do Mun cipe NOME Nome do Mun cipe ACESSOS N mero de acessos do Mun cipe desde a ltima altera o de PIN efectuada pelo sistema Nova ades o de Mun cipe ou Gera o autom tica do PIN pelo AnswerDesafio Caso seja 1 deve ser sugerida ao Mun cipe a altera o do PIN ACESSOSTOTAIS Total de acessos do Mun cipe ULTIMOACESSO Data Hora do ltimo acesso efectuado pelo Mun cipe C digos de Erro 1 Sucesso 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente 204 Password Incorrecta Disp e de mais X tentativas X configur vel pela Autarquia e tem o valor por 3 tentativas de login erradas 205 Ultrapassou o n mero de tentativas erradas A conta est temporariamente bloqueada Neste caso o nico acesso passa a ser pelo M todo Desafio 22 GetMunicipe Retorna um dataset com os dados de um Municipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetMunicipe xmlns http ws shortcut pt ws WSAutarqu
186. rios servidores existem mais pontos de falha al m disso a falha de um nico ponto pode causar a falha de todo o sistema Por tudo isto deve ser considerada uma forma de manipula o dessas falhas e de perda de resposta por parte dos servidores 15 e Falha no cliente Se um servidor estiver a armazenar o estado de um cliente e o cliente falha ent o o servidor deve ser notificado Por outro lado deve tamb m considerar se a necessidade de libertar recursos no servidor que estavam a ser utilizados no cliente e V rias chamadas Se um m todo chamado mas n o obtemos resposta por parte do servidor por vezes pode n o ser aceit vel voltar a chamar esse m todo Por exemplo se um m todo chamado para reservar uma grande quantidade de stock e se o servidor recebe o pedido mas a resposta a esse pedido perdida ent o n o ser aceit vel voltar a submeter esse pedido e Seguran a Em aplica es distribu das existem mais oportunidades de ataque seguran a N o s se deve considerar a autentica o e autoriza o mas tamb m como tornar segura a comunica o entre o cliente e o servidor e como salvaguardar o sistema de eventuais ataques e Sincronismo de rel gio Os diversos rel gios utilizados no sistema t m de ser mantidos em sincronia e as aplica es t m de estar preparadas para os problemas de temporiza o devido a atrasos ocasionados por congestionamento na rede ou falha de um servidor Muita
187. rkup Language XML Schema Definition XML Transformations CAPITULO I 1 Introdu o Neste primeiro cap tulo contextualiza se o tema da disserta o e apresenta se o problema a resolver que se insere na rea dos Sistemas de Informa o distribu dos baseados na Internet Apresenta se tamb m o cen rio da solu o de integra o proposta no portal que serve de suporte a esta tese denominado TRAS OS MONTES NET Ser o focados em particular aspectos ligados interoperabilidade entre sistemas heterog neos bem como aspectos gen ricos sobre um dos principais desafios para as Tecnologias de Informa o que tem sido e continuar a ser a integra o de Sistemas de Informa o SI De seguida apontam se as motiva es objectivos e a abordagem seguida na elabora o desta disserta o bem como se faz uma breve descri o da organiza o da disserta o referindo se sucintamente o conte do de cada um dos cap tulos 1 1 Enquadramento Ao longo do tempo as organiza es t m implementado aplica es com complexidade crescente por forma a responder evolu o dos processos de neg cio N o obstante a necessidade de comunica o entre departamentos e organiza es a generalidade das aplica es foram sendo disponibilizadas isoladamente com l gicas linguagens e bases de dados espec ficas e incapazes de se compreenderem de parte a parte Neste momento assiste se a uma nova evolu o det
188. ro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 304 N o foram encontrados Processos com o texto a pesquisar Ordena o dos Resultados IDPERFIL ASC DATA ABERT DESC 113 4 Web Service Requerimentos O URL que define esta classe de web services http Ap_servidor_web WSACentral wsRequerimentos asmx 4 1 LimparRequerimentos Elimina todos os requerimentos de um Mun cipe na cache Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparRequerimentos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt lt LimparRequerimentos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente 4 2 LimparRequerimentosProcesso Elimina todos os requerimentos de processo de um Mun cipe na cache
189. rocesso inexistente 111 3 4 PesqProcessos Pesquisa determinado texto em Processos Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt PesqProcessos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt texto gt string lt texto gt lt PesqProcessos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe Texto VARCHAR 200 Texto a pesquisar Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbound
190. rocessos e a adapta o r pida a altera es imprevistas quer do ambiente externo quer interno Por outro lado ao evitar actividades desnecess rias nomeadamente a repeti o da introdu o de informa o que deve transitar dum subsistema para outro e tamb m ao permitir uma melhor chegada da informa o a todas as reas das empresas e organiza es a integra o constitui uma base para uma maior co responsabiliza o e participa o de todos os actores intervenientes A automatiza o dos processos de troca de informa o incluindo os necess rios mapeamentos contribui para o aumento da qualidade ao reduzir potenciais erros causados pela introdu o manual de informa o A maior fluidez em termos de informa o e sequ ncias de controlo tamb m contribui para um aumento da qualidade em termos de tempos de resposta do sistema e para que as decis es possam ser tomadas com base em informa o actualizada Al m destas importantes raz es para a integra o outros benef cios indirectos podem ser citados como uma maior robustez face aquisi o estrutura o gest o e partilha de conhecimento dentro das organiza es corporate knowledge management A integra o de sistemas constitui em geral um processo complexo sujeito a um grande n mero de obst culos de onde se destaca a crescente heterogeneidade de ambientes Os factores que contribuem para um elevado n vel de heterogeneidade s o essenc
191. rsion 2 0 http www w3 org tr wsd120 2007 World Wide Web Consortium XML Schema 1 1 http www w3 org xml Schema 2007 World Wide Web Consortium Semantic Annotations for WSDL and XML Schema http www w3 org tr sawsdl 2007 World Wide Web Consortium SOAP Version 1 2 Part 1 Messaging Framework http www w3 org tr SOAP 12 partl 2007 World Wide Web Consortium http www w3 org 2007 94 W3Schools 2007 WS I 2005 WS I 2006 WS I 2007a WS I 2007b WS I 2007c Wegner 1996 W3Schools XML Schema Tutorial http www w3schools com schema default asp 2007 Web Services Interoperability Organization Interoperability Ensuring the Success of Web Services an overview to WS I http www ws i org about Default aspx 2005 Web Services Interoperability Organization Working Group Charter Reliable Secure Profile 1 0 http www ws i org docs charters RSP_Charter1 0 pdf 2006 Web Services Interoperability Organization http www ws Lorg 2007 Web Services Interoperability Organization Working Group Charter Basic Profile 1 2 and 2 0 http www ws i org Profiles BasicProfile 1 2 html 2007 Web Services Interoperability Organization Basic Security Profile Version 1 0 http Awww ws i org Profiles BasicSecurityProfile 1 0 html 2007 Wegner P Interoperability vol 28 ACM Computing Surveys
192. rvices Short 2002 63 Na figura 15 apresentada a sobreposi o das camadas referidas e a sua rela o com as principais tecnologias Cada uma delas ser descrita de seguida Publica o e pesquisa de servi os Uma especifica o que permite expor as funcionalidades de registo manuten o e pesquisa de informa o o Universal Description Discovery and Integration UDDD O UDDI pretende providenciar locais electr nicos onde as aplica es cliente ir o procura dos servi os necess rios Al m disso o UDDI providencia v rias op es para a descoberta e a liga o aos WS Na sua forma mais simples o UDDI permite que um invocador se ligue a um WS em tempo de desenho pelo conhecimento pr vio da sua respectiva descri o do servi o e endere o Outra solu o passa pela liga o din mica a um servi o est tico isto cuja descri o do servi o tamb m pr conhecida mas o seu endere o obtido dinamicamente em tempo de execu o Finalmente a solu o mais vers til passa pelo invocador descobrir em tempo de execu o a descri o do servi o e o endere o do WS que pode satisfazer os seus requisitos Descri o de servi os Uma forma de descrever as mensagens poss veis de invocar num determinado servi o e de saber quais s o os respectivos par metros que elas aceitam o programador obter a documenta o relativa ao servi o e incluir no seu c digo esse conhecimento No entanto
193. s 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt 145 Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC DESCR Descri o do Tipo de Processo DATA ABERT Data de Abertura do Processo LOCAL OBRA Descri o do Local da Obra COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o PROPRIETARIO Nome do Propriet rio do Processo TIPOPROC C digo do Tipo de Processo DESCRICAO Descri o do Processo RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respo
194. s Pareceres Notifica es ou n o CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo TIPOREQ C digo do Tipo de Requerimento RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio 119 C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 403 N o foram encontrados Requerimentos contendo o texto a pesquisar Ordena o dos Resultados IDPERFIL ASC DATA ENTRADA DESC 120 5 Web Service Circula es O URL que define esta classe de web services http Ap_servidor_web WSACentral wsCirculacoes asmx Dae LimparCirculacoes Elimina todos as circula es de um Mun
195. s nele contidas desenvolve se a aplica o Os ficheiros WSDL podem ser armazenados no UDDI que uma proposta para direct rio geral de registo e pesquisa de servi os dispon veis Os clientes interessados num determinado servi o podem fazer uma procura nesse direct rio e obter informa es relativas interface e localiza o do servi o Nas sec es seguintes faz se uma an lise pormenorizada de cada uma das normas essenciais nas arquitecturas baseadas em Web Services 3 2 XML EXtensible Markup Language XML uma meta linguagem utilizada para representa o de informa o que se assume como norma no interc mbio dessa informa o em ambientes heterog neos O organismo World Wide Web Consortium W3C definiu o XML baseando se na linguagem Standard Generalized Markup Language SGML da norma ISO 8879 Navarro et al 2000 foi desenhado com o intuito de permitir a defini o de documentos estruturados auto descritivos e leg veis como texto sendo 36 suficientemente formal para permitir a sua valida o tendo estrutura suficiente para suportar documentos complexos e grandes quantidades de informa o Um documento XML usa uma sintaxe simples e de f cil compreens o constitu do por uma rvore de elementos relacionados utiliza etiquetas que caracterizam os dados e a sua formata o n o se encontra limitado relativamente ao n mero de etiquetas que se podem definir A figura 3 exemplifica o co
196. s opera es s o realizadas com base na data e na hora portanto deve assegurar se o sincronismo do rel gio por exemplo n o aceit vel para um servidor que uma ordem de compra tenha sido concretizada antes da mesma ter sido solicitada 2 3 Integra o e interoperabilidade em aplica es distribu das A necessidade da integra o tem sido um tema permanentemente em agenda na rea de Sistemas de Informa o especialmente desde a d cada de 80 Uma aplica o 16 tem tanta mais utilidade quanto mais e melhor integra o tiver com outras aplica es al m disso todos os SI dever o ter todas as suas aplica es integradas Silva 2003 sempre que tal se justificar Por integra o entende se a complementaridade entre componentes e uma f cil interopera o entre eles Quer isto dizer que a integra o visa a cria o de condi es para que os v rios componentes independentemente do seu n vel de autonomia possam dialogar e cooperar com vista a atingir os objectivos do sistema Considerando um SI como um conjunto de entidades f sicas e l gicas organizadas para a realiza o de determinados objectivos Matos 2001 o processo de integra o visa contribuir para uma optimiza o da coopera o entre essas entidades A integra o de sistemas pode ser encarada sob diferentes perspectivas consoante os aspectos a tratar Alguns dos mais significativos s o expostos de seguida Matos 2001
197. s sequence gt lt s complexType gt lt s element name teste gt lt s complexType gt lt s element gt lt s element name testeResponse gt lt s complexType gt lt s sequence gt lt s element minOccurs 0 maxOccurs 1 name testeResult type s string gt lt s sequence gt lt s complexType gt lt s element gt lt s schema gt lt types gt lt message name getValidKeySoapIn gt lt part name parameters element s0 getValidKey gt lt message gt lt message name getValidKeySoapOut gt lt part name parameters element s0 getValidKeyResponse gt lt message gt lt message name AuthenticateSoapIn gt lt part name parameters element s0 Authenticate gt lt message gt lt message name AuthenticateSoapOut gt lt part name parameters element s0 AuthenticateResponse gt lt message gt lt message name AuthenticateSHWSClientCredentials gt lt part name SHWSClientCredentials element s0 SHWSClientCredentials gt lt message gt lt message name testesSoapin gt lt part name parameters element s0 teste gt lt message gt lt message name testeSoapOut gt lt part name parameters element s0 testeResponse gt lt message gt lt message name testeSHWSClientCredentials gt lt part name SHWSClientCredentials element s0 SHWSClientCredentials gt lt message gt lt portType name WSAAuthenticationSoap gt lt operation name getValidKey gt lt
198. se est a projectar um sistema distribu do deve se fazer uma clara distin o entre elas pois desta forma torna se poss vel distribuir cada camada para um computador diferente Do mesmo modo f cil incluir um novo servidor e integr lo no sistema ou fazer a actualiza o dos servidores de modo transparente sem afectar o restante sistema Paralelamente a este modelo de desenvolvimento em termos de computa o aparece o conceito de componentes A necessidade das interfaces gr ficas com o utilizador Grafical User Interface GUI resolverem os problemas da reutiliza o de c digo e da manuten o de uma certa coer ncia foi um dos factores que originou este desenvolvimento Ap s esta utiliza o inicial bem sucedida estes elementos foram evoluindo de forma a comportarem utiliza es mais complexas n o relacionadas apenas com a interface Um componente de software pode ser definido como CBDi 1999 Uma pe a identific vel de software que descreve ou fornece um conjunto de servi os significativos e que apenas usada atrav s de interfaces bem definidas A primeira utiliza o em larga escala de componentes tornou se realidade em 1991 com o aparecimento pela m o da Microsoft do ambiente de desenvolvimento Visual Basic Microsoft 2001b Este ambiente concebia a possibilidade de se inserirem 26 objectos componentes VBX programados em C C que adicionavam novas funcionalidades s aplica es
199. sequ ncia que uma vez escolhido determinado produto muito dif cil adoptar outro produto de outro fabricante al m disso os diversos produtos no mercado n o s o 21 partida integr veis criando enormes dificuldades por exemplo quando se fundem duas empresas Por outro lado em muitos cen rios de aplica es distribu das s o invocados workflows que definem uma determinada sequ ncia de troca de mensagens Todavia como as mensagens s o enviadas de forma ass ncrona poss vel que cheguem fora da ordem provocando graves problemas quando as mensagens s o processadas numa sequ ncia incorrecta Para resolver este problema necess rio criar uma aplica o adicional ou um protocolo de alto n vel em cima do protocolo de messaging para apanhar a sequ ncia correcta das mensagens Recentemente por raz es de marketing os novos produtos baseados em mensagens preferem a nova designa o message brokers embora a base tecnol gica seja exactamente a mesma da integra o com mensagens 2 4 2 Arquitectura baseada em RPC A integra o entre Sistemas de Informa o baseada em chamadas a procedimentos remotos RPC de Remote Procedure Call apareceu no in cio dos anos 80 como consequ ncia quase natural das primeiras linguagens de programa o baseadas em procedimentos como o Pascal e 0 C O seu grande sucesso inicial foi renovado com o aparecimento de novos modelos de programa o que utilizam esta ar
200. so gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC_DESCR type xs string minOccurs 0 gt lt xs element name DATA ABERT type xs dateTime minOccurs 0 gt lt xs element name LOCAL OBRA type xs string minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name PROPRIETARIO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo
201. soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente 9 2 GetProcessos Retorna um dataset com os processos de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentialld gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt GetProcessos xmlns http ws shortcut pt ws WSAutarquiasCentral gt 141 lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt GetProcessos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR I1 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml
202. soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmins xsd http www w3 0rg 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt SetDesafio xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt PIN gt string lt PIN gt lt Pergunta gt string lt Pergunta gt lt Resposta gt string lt Resposta gt lt SetDesafio gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia IDMunicipe VARCHAR 12 N mero de Mun cipe cifrado com a credencial em uso 136 PIN VARCHAR 4 PIN cifrado com a credencial em uso Pergunta VARCHAR 200 Pergunda Desafio cifrado com a credencial em uso Resposta VARCHAR 200 Resposta ao Desafio cifrado com a credencial em uso Retorno do DataSet com C digos de Erro C digos de Erro 1 Sucesso 200 Mun cipe Inexistente 204 Password Incorrecta Disp e de mais X tentativas X configur vel pela Autarquia e tem o valor por 3 tentativas de login erradas 205 Ultrapassou o n mero de tentativas erradas A conta est temp
203. soap encoding gt lt soap Body xmlns m http ws shortcut pt ws WSAutarquiasCentral gt lt m GetMunicipeResponse gt lt m Contrib gt 123456789 lt m Contrib gt lt m Tipo User gt 0 lt m Tipo User gt lt m GetMunicipeResponse gt lt soap Body gt lt soap Envelope gt Figura 8 Exemplo de resposta SOAP sobre HTTP z O namespace associado ao envelope SOAP http www w3 org 2001 12 soap envelope e indicado em todos os elementos atrav s do prefixo soap do mesmo modo o conte do do elemento soap Body cont m um documento XML em que todos os seus elementos s o classificados com o namespace respectivo Os namespaces s o utilizados para evitar conflitos de documentos XML que apresentam os mesmos nomes para descrever diferentes elementos Um cliente HTTP efectua uma conex o a um servidor HTTP utilizando TCP ap s estabelecer essa liga o o cliente pode enviar uma mensagem de pedido para o servidor Um pedido HTTP POST especifica pelo menos dois cabe alhos Content Type 44 e Content Length O primeiro define o tipo MIME para a mensagem application soap e a codifica o de caracteres utilizada no corpo do pedido resposta utf S o segundo especifica o n mero de bytes no corpo do pedido resposta 250 bytes Nos casos em que HTTP o protocolo de transporte a utilizar o protocolo SOAP define um cabe alho HTTP identificado por SOAPAction cujo valor um URI que indica o objectivo da m
204. sso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarquia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 144 9 4 PesqProcessos Pesquisa determinado texto em Processos Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt PesqProcessos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt texto gt string lt texto gt lt PesqProcessos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia 9 VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR 11 N mero de Contribuinte do Mun cipe Texto VARCHAR 200 Texto a pesquisar Envelope de Retorno lt xml version 1 0 en
205. string minOccurs 0 gt lt xs element name FAX type xs string minOccurs 0 gt lt xs element name EMAIL type xs string minOccurs 0 gt lt xs element name SEXO type xs string minOccurs 0 gt lt xs element name TIPO USER type xs short minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONTRIB N mero de Contribuinte do Mun cipe NOME Nome do Mun cipe MORADA Morada do Mun cipe LOCAL Localidade ESTADO CIVIL Estado Civil FILIACAO PAI Nome do Pai FILIACAO MAE Nome da M e PROFISS O Profiss o do Mun cipe DATA NASC Data de Nascimento do Mun cipe AUTARQUIA C digo da Autarquia BI N mero do Bilhete de Identidade BI DATA Data de Emiss o do Bilhete de Identidade BI ARQ Arquivo de Emiss o do Bilhete de Identidade PASSWORD PIN Cifrado HORA CARR Data Hora em que o Mun cipe se Autenticou LOGINS Campo mantido para retro compatibilidade que dever desaparecer FREG_RESID C digo da Freguesia de Resid ncia FREG_RESID_DESC Freguesia de Resid ncia 102 CONC_RESID C digo do Concelho de Resid ncia CONC_RESID_DESC Concelho de Resid ncia DISTR RESID C digo do Distrito de Resid ncia DISTR RESID DESC Distrito de Resid ncia FREG N
206. string minOccurs 0 gt lt xs element name OBSERVACOES type xs string minOccurs 0 gt lt xs element name FUNCIONARIO type xs string minOccurs 0 gt lt xs element name DATA ENVIO type xs dateTime minOccurs 0 gt lt xs element name AUTARQUIA type xs string minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO NUM CIRC N mero da Circula o SERVICO Servi o Entidade que emitiu a Circula o OBSERV ACOES Observa es FUNCIONARIO Nome do Funcion rio que emitiu a Circula o DATA ENVIO Data de Envio da Circula o AUTARQUIA C digo da Autarquia PROCESSO
207. string lt tcTipo gt lt GetCirculacoes gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR 11 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt 121 122 lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetCirculacoes gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name NUM CIRC type xs string minOccurs 0 gt lt xs element name SERVICO type xs string minOccurs 0 gt lt xs element name OBSERVACOES type xs string minOccurs 0 gt lt xs element name FUNCIONARIO type xs string minOccurs 0 gt lt xs element name DATA ENVIO type xs dateTime minOccurs 0 gt lt xs element name AUTARQUIA type xs string minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs s
208. t lt soap Header gt lt soap Body gt lt AnswerDesafio xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt IDMunicipe gt string lt IDMunicipe gt lt num_contribuinte gt string lt num_contribuinte gt lt Resposta gt string lt Resposta gt lt AnswerDesafio gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia IDMunicipe VARCHAR 12 N mero de Mun cipe cifrado com a credencial em uso Num contribuinte VARCHAR 11 N mero de Contribuinte do Mun cipe cifrado com a credencial em uso Resposta VARCHAR 200 Resposta ao Desafio cifrado com a credencial em uso Envelope de Retorno 138 lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Lacale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name AnswerDesafio gt lt xs complexType gt lt xs sequence gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name PIN type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt
209. t soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 11 N mero de Contribuinte Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente 10 2 LimparRequerimentosProcesso Elimina todos os requerimentos de processo de um Mun cipe na cache Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt LimparRequerimentosProcesso xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num contribuinte gt string lt num contribuinte gt 147 lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt LimparRequerimentosProcesso gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200
210. t xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC DESCR Descri o do Tipo de Processo DATA ABERT Data de Abertura do Processo LOCAL OBRA Descri o do Local da Obra COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o PROPRIETARIO Nome do Propriet rio do Processo TIPOPROC C digo do Tipo de Processo DESCRICAO Descri o do Processo RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com suce
211. ta o de um documento WSDL err 47 10 Estrutura gen rica de um documento WSDL 49 11 WS I standards e ind stria errar erre eereaa aerea 51 12 Arquitectura orientada aos Servi os 3 cvyes5 Seneca sedan idea udp si co dURanANo a sedan Goa an idea 56 13 Arquitectura baseada em Web Service ceesceceeececesececseeeecseeeeesteeeenaeeees 58 14 Modelo de seis camadas de uma arquitectura usando Web Services 61 15 Suporte tecnol gico de uma arquitectura baseada em Web Services 62 16 Vis o geral do prot tipo de integra o 0 ee eeeeeeeececseeeeceseeeeeeeeeenteeeenaeeees 66 17 Modelo de entidades do prot tipo de integra o ee eeeeeeeseeeeteeeenteeees 68 Vil Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura 19 20 21 22 23 24 25 26 27 28 Arquitectura do prot tipo de integra o e 71 Web Methods de WS Autarquias ai 5 2 9s50 2 seseanchy vs qa Oda 73 Directiva ASPX pata code behind 425 J03 n sasatesvacsieastau tense teahedevaantens verses 74 Diagrama de sequ ncia de SepuranCa ssa endeared ee kay 75 Lista das SOAP Exceptions de WS Autarquias c cccescceesseceesteeeenteeeenes 76 P gina inicial no portal TRAS OS MONTES NET 78 P gina de entidades aderentes no portal TRAS OS MONTES NET
212. ta o n cleo da aplica o em que diversas considera es e regras est o protegidas da interven o das restantes camadas 61 e Camada de persist ncia A camada de persist ncia prop e a abstrac o do acesso aos dados armazenados no Sistema Gestor de Base de Dados SGBD para a camada de l gica de neg cio e Camada de SGBD Esta camada l gica refere se base de dados em termos f sicos representa o SGBD que armazena os dados que dizem respeito aplica o A figura 14 ilustra como conceptualmente dois sistemas desenvolvidos numa arquitectura de WS podem comunicar entre si interagindo atrav s da interface implementada na camada de servi o da aplica o Apresenta o Apresenta o L gica da L gica da apresenta o apresenta o Requisi o de servi o 2 Servi o da Servi o da 3 aplica o Resposta de Servi o aplica o a me g Trafego de Dados 2 2 L gica de L gica de o neg cio neg cio Figura 14 Modelo de seis camadas de uma arquitectura usando Web Services 62 Ao longo de v rios anos foram desenvolvidas v rias solu es que pretendiam possibilitar que uma aplica o utilizasse uma interface de acesso a uma outra aplica o Entre elas podemos citar DCE RPC DC
213. tcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmlns msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt 143 lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name GetProcesso gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC_DESCR type xs string minOccurs 0 gt lt xs element name DATA ABERT type xs dateTime minOccurs 0 gt lt xs element name LOCAL OBRA type xs string minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name PROPRIETARIO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt l
214. tema WS Autarquias constitu do pelos WS que consultam uma r plica parcial das bases de dados das autarquias Esta r plica conseguida atrav s da sincroniza o peri dica com os sistemas locais existentes nas pr prias institui es Portanto a informa o consult vel no portal TRAS OS MONTES NET obtida em tempo real por interac o com o sistema WS Autarquias e refere se ao conte do da base de dados replicada das autarquias 67 4 5 Prot tipo de integra o Nesta sec o procede se concretiza o do modelo de integra o de SI apresentado nas sec es anteriores Efectua se a descri o funcional e t cnica dos componentes da solu o bem como do conjunto de processos que permitem que um utilizador do portal TRAS OS MONTES NET interaja com um sistema distinto o WSAutarquias com a transpar ncia fiabilidade e seguran a exigidas Mesmo sendo uma solu o de integra o restrita no contexto dos SI das Administra es Municipais estamos convictos dos benef cios do presente trabalho Efectivamente a capacidade da plataforma se integrar no futuro com outros sistemas requerer um esfor o muito menor uma vez que poss vel a reutiliza o de componentes desenvolvidos A relev ncia deste trabalho justificada pelo seu alinhamento com as directrizes da Administra o P blica de pesquisar novas tecnologias que fomentem a integra o de sistemas Pretende se utilizar princ pios e t cnicas lig
215. tir atrav s do protocolo HTTP efectuado um pedido de execu o no corpo de um POST HTTP este invoca o m todo GetMunicipe e o resultado obtido atrav s da resposta a este pedido HTTP a resposta apresentada na figura 8 Apesar de simples este exemplo ilustra os principais elementos de uma mensagem SOAP O envelope SOAP representado pelo elemento soap Envelope 43 cont m apenas o corpo da mensagem representado por soap Body os elementos opcionais soap Header e soap Fault n o est o presentes neste caso POST WSACentral wsMunicipe asmx HTTP 1 1 Host ws shortcut pt Content Type text xml charset utf 8 Content Length 250 SOAPAction http ws shortcut pt ws WSAutarquiasCentral GetMunicipe lt xml version 1 0 gt lt soap Envelope xmlns soap http www w3 org 2001 12 soap envelope soap encodingStyle http www w3 org 2001 12 soap encoding gt lt soap Body xmlns m http ws shortcut pt ws WSAutarquiasCentral gt gt lt m GetMunicipe gt lt m cod autarquia gt 123 lt m cod autarquia gt lt m num contribuinte gt 123456789 lt m num contribuinte gt lt m GetMunicipe gt lt soap Body gt lt soap Envelope gt Figura 7 Exemplo de pedido SOAP sobre HTTP HTTP 1 1 200 OK Content Type text xml charset utf 8 Content Length 250 lt xml version 1 0 gt lt soap Envelope xmlns soap http www w3 org 2001 12 soap envelope soap encodingStyle http www w3 org 2001 12
216. tring minOccurs 0 gt lt xs element name CONC_NATUR_DESC type xs string minOccurs 0 gt lt xs element name DISTR_NATUR type xs string minOccurs 0 gt lt xs element name DISTR_NATUR_DESC type xs string minOccurs 0 gt lt xs element name CODIGO POSTAL type xs string minOccurs 0 gt lt xs element name TELEFONE type xs string minOccurs 0 gt lt xs element name FAX type xs string minOccurs 0 gt lt xs element name EMAIL type xs string minOccurs 0 gt lt xs element name SEXO type xs string minOccurs 0 gt lt xs element name TIPO USER type xs short minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONTRIB N mero de Contribuinte do Mun cipe NOME Nome do Mun cipe MORADA Morada do Mun cipe LOCAL Localidade ESTADO CIVIL Estado Civil FILIACAO PAI Nome do Pai FILIACAO MAE Nome da M e PROFISSAO Profiss o do Mun cipe DATA NASC Data de Nascimento do Mun cipe AUTARQUIA C digo da Autarquia BI N mero do Bilhete de Identidade BI DATA Data de Emiss o do Bilhete de Identidade BI ARQ Arquivo de Emiss o do Bilhete de Identidade PASSWORD PIN Cifrado HORA CARR Data Hora em que o Mun cipe se Autenticou LOGINS Campo mantido p
217. tring minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs int minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt lt DataSet gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO NUM CIRC N mero da Circula o SERVICO Servi o Entidade que emitiu a Circula o OBSERVACOES Observa es FUNCIONARIO Nome do Funcion rio que emitiu a Circula o DATA ENVIO Data de Envio da Circula o AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo CONTRIB N mero de Contribuinte do Mun cipe RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe pera
218. tring lt PINAntigo gt lt PINNovo gt string lt PINNovo gt lt ChangePassword gt lt soap Body gt lt soap Envelope gt 139 Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia IDMunicipe VARCHAR 12 N mero de Mun cipe cifrado com a credencial em uso PasswordAntiga VARCHAR 4 PIN actualmente utilizado cifrado com a credencial em uso PasswordNovo VARCHAR 4 Novo PIN cifrado com a credencial em uso Retorno de DataSet com C digos de Erro C digos de Erro 1 Sucesso 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe Inexistente 204 Password Incorrecta Disp e de mais X tentativas X configur vel pela Autarquia e tem o valor por 3 tentativas de login erradas 205 Ultrapassou o n mero de tentativas erradas A conta est temporariamente bloqueada Neste caso o nico acesso passa a ser pelo M todo Desafio O asia LimparMunicipe Limpa toda a informa o relacionada com o Mun cipe da cache local Ex Processo Perfil Requerimentos etc Este m todo dever sempre ser chamado quando um mun cipe abandona a sess o web Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCred
219. tro programa O modelo cliente servidor ser discutido na sec o 2 4 3 No entanto apesar do sincronismo da comunica o entre cliente e servidor ser uma das grandes vantagens desta arquitectura fundamental garantir que os procedimentos v o mesmo estar dispon veis na altura em que s o chamados ao contr rio da arquitectura baseada em mensagens Com efeito apesar do sincronismo assegurar que essa comunica o ocorreu dispensando assim outras garantias um 24 modelo sincrono numa arquitectura distribuida introduz alguns problemas Microsoft 2001a Constru o de redund ncia Para que uma aplica o se possa conectar a um ponto para requerer um servi o necessita conhecer os seus par metros A forma encontrada para que isso seja poss vel acrescentar informa o adicional ao servi o em hard code Esta n o uma solu o ptima porque torna o desenvolvimento redundante e a capacidade de toler ncia a falhas bastante dif cil de implementar Distribui o de carga e toler ncia a falhas N o existe uma forma simples para uma aplica o baseada em RPC executar qualquer tipo de distribui o de carga load balancing dinamicamente Al m disso tamb m n o consegue uma aplica o responder a uma indisponibilidade de um servidor alternando de uma forma din mica para outro servidor Estabelecimento de prioridades Estabelecer a prioridade dos pedidos quase imposs vel porque todos os pedidos s o aten
220. tui o do contador mIDENTIFICA O E Nome completo Maria Judite Macedo Fernandes N de contribuinte 209013451 Resid ncia em Rua Poeta Bocage n 5 20 C C digo Postal 1600 581 Localidade Lisboa Pais Portugal mOBJECTO DA REQUISI O em Vem requerer a 2 Ex se digne mandar algu m substituir o meu contador de fornecimento de gua p blica a que se refere a instala o N 123456789 sito no lugar de Rua S Jos freguesia de Vila Verde Concelho de Alij em virtude de o mesmo se encontrar avariado ed Pede deferimento 6 20 2007 O utente Maria Judite Macedo Fernandes Ea A PREENCHER PELOS SERVI OS E ESTADO DESPACHO DEFERIDO Esta substitui o ser realizada no pr ximo dia 25 06 2007 pelas 9H00 Servi o Cooperativo de Extens o em Tr s os Montes e Alto Douro Figura 27 Pagina de visualiza o de processo no portal TRAS OS MONTES NET Como se pode verificar a consulta de processos no portal TRAS OS MONTES NET torna transparente para o cidad o o facto de se estar a aceder ao sistema remoto WS Autarquias 82 4 7 Resumo Neste cap tulo dedicado implementa o de um SI usando Web Services prop em se os modelos conceptual de arquitectura e tecnol gico de modo a obter uma solu o interoper vel entre os sistemas TRAS OS MONTES NET e WSAutarquias Com a introdu o de WS criou se uma camada de abstra o permitindo disponibilizar aplica es e informa o com
221. ua o descrita na especifica o W3C Booth et al 2004 A ideia fundamental de um modelo baseado em WS que estes devem ser componentes distribu dos facilmente acess veis atrav s dos protocolos padr o da Internet como o HTTP Este aspecto dos WS o que lhes permite atravessar de uma forma transparente as pol ticas de firewalls das empresas tornando o seu acesso por parte de qualquer aplica o praticamente ub quo Para a arquitectura das aplica es a organiza o mais l gica que tem prevalecido uma arquitectura de tr s camadas Trowbridge 2004 Ela constitu da por uma camada de apresenta o que cont m somente a formata o e o controle de dados necess rios para a interface com o utilizador uma camada de aplica o que cont m a l gica do sistema que controla a sequ ncia das opera es aplica as regras de neg cio da aplica o e garante a integridade referencial e uma camada de dados que cont m as funcionalidades b sicas de CRUD create read update e delete ou seja inser o leitura actualiza o e remo o no reposit rio de dados da aplica o Numa arquitectura direccionada a servi os naturalmente nem todos os objectos s o candidatos naturais a serem WS E necess rio definir e representar quais os objectos 60 que devem ser expostos dessa forma e quais devem fazer parte da camada que cont m a funcionalidade da aplica o em si Boar 2003 Assim define se que o model
222. uia em Manuten o 105 Erro de Comunica es com a Autarquia WebService n o encontrado 200 Mun cipe inexistente 203 Mun cipe sem permiss es para aceder ao Processo 300 Processo inexistente 400 Requerimento Inexistente 10 5 PesqRequerimentos Pesquisa determinado texto em todos os Requerimentos a que o Mun cipe pode aceder Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHWSCredentiallId gt string lt SHWSCredentiallId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt PesgReque imentos xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod autarquia gt string lt cod autarquia gt lt num contribuinte gt string lt num contribuinte gt lt texto gt string lt texto gt 151 lt PesqReque imentos gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR I1 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe Texto VARCHAR 200 Texto a pesquisar Envelope de Retorno lt xml version 1 0 encoding utf 16 gt lt xs schema id NewDataSet xmlns xml
223. uma especifica o que permite adicionar fiabilidade a comunica o com SOAP independentemente do tipo de transporte utilizado em aspectos como a garantia de entrega das mensagens a elimina o de mensagens duplicadas e a ordem correcta de chegada das mensagens Iwasa 2004 XML Digital Signatures resulta de um esfor o conjunto entre W3C e IETF Internet Engineering Task Force para definir uma norma standard de representar assinaturas digitais num documento XML com o intuito de garantir a integridade dos dados a autentica o do cliente e suporte n o repudia o dos dados assinados W3C 2002 XML Encryption um protocolo desenvolvido sob a orienta o do W3C e que pretende descrever a forma de cifrar e decifrar conte dos digitais incluindo documentos XML ou sec es destes O XML Encryption inclui uma sintaxe XML para representar o conte do cifrado por m n o se preocupa com detalhes de seguran a mais amplos como assinaturas autentica es e autoriza es W3C 2002b Security Assertion Markup Language SAML uma norma que torna poss vel a troca de informa o relativa autentica o e autoriza o entre aplica es permitindo que uma aplica o cliente apenas se autentique uma nica vez independentemente dos diversos servi os a que pretenda aceder OASIS 2007b SOAP Messages With Attachments SWA possibilita enviar um ou v rios documentos anexados mensagem SOAP numa estrutura MIME Multipur
224. unica es 14 Qualidade do servi o A qualidade do servi o oferecido por um sistema reflecte o seu desempenho a sua disponibilidade e a sua fiabilidade Ela afectada por uma s rie de factores como a aloca o de processos em mem ria no sistema a distribui o de recursos a rede o hardware e adaptabilidade do sistema Consist ncia de dados Num sistema distribu do geralmente existem m ltiplas c pias dos dados espalhados pela rede por raz es de fiabilidade e melhoria no desempenho nos acessos aos dados Assim mecanismos de partilha e bloqueio devem estar presentes nas aplica es Arquitecturas de software A arquitectura de software descreve como a funcionalidade da aplica o distribu da numa s rie de componentes l gicos e como esses componentes s o distribu dos nos processadores Escolher a arquitectura certa para uma aplica o essencial para atingir a qualidade de servi o desejada No desenho de aplica es distribu das alguns problemas poder o surgir sendo que esses problemas n o s o espec ficos de nenhuma arquitectura em particular Microsoft 2001a Diferentes tipos de dados Por vezes n o existe cem por cento de compatibilidade entre tipos de dados data types em sistemas operativos diferentes de modo que deve ser considerada uma forma de manipular os tipos de dados incompat veis Falha no servidor Como os componentes de um sistema distribu do podem depender de v
225. up http www w3 org TR 2004 NOTE ws arch 2004 Booth et al 2004 Buxton 1980 Buxton J Requirements for Ada programming support environments stoneman Washington 1980 CBDi 1999 CBDi Forum Component Based Development Forum for Componet Based Development and Integration Report http www cbdiforum com 1999 Chappell 2003 Chappell D New Technologies Help You Make Your Web Services More Secure http www davidchappell com articles 2003 Christensen et al 2001 Christensen E F Curbera G Meredith e S Weerawarana Web Services Description Language WSDL 1 1 World Wide Web Consortium http www w3 org TR wsdl 2001 Coulouris et al 1994 Coulouris G J Dollimore e T Kindberg Distributed Systems Concepts and Design 3 edition Addison Wesley 2000 90 Espigueiro 2002 Espigueiro Portal de Informa es Regionais http www espigueiro pt servico cooperativo index html 2002 Gardner 2003 Gardner Dana Interoperability emerges as new core competency for enterprise architects Yankee Group http yankeegroup com 2003 Gordon 2000 Gordon A The COM and COM Programing Prentice Hall 2000 Gudgin et al 2003 Gudgin M M Hadley N Mendelsohn j Moreau e H F Nielsen SOAP Version 1 2 Part 1 Messaging Framework World Wide Web Consortium http www w3 org TR soap12 part1 2003 Heiler 1995 Heiler S Semantic I
226. uporta o portal TRAS OS MONTES NET e permite validar os seus utilizadores encontra se implementado em SQL Server 2000 Enterprise Edition O acesso a esta base de dados utiliza a seguran a integrada do Windows seguindo as recomenda es e padr es da Microsoft para o cen rio em causa Uma vez validada a informa o de login do utilizador no portal TRAS OS MONTES NET e a sua inten o em consultar a informa o dispon vel remotamente no sistema WS Autarquias realizada uma nova autentica o entre os dois sistemas desta vez transparente ao utilizador A informa o trocada via HTTP ou HTTPS e formato SOAP previamente cifrada utilizando o componente de seguran a SHSecurityClient dll v1 1 4322 desenvolvido pela empresa Shortcut no mbito deste projecto O componente de seguran a deve ser registado na plataforma Net Famework v1 1 Al m disso este componente tem depend ncias do J NET Redistribute Pack 1 1 que tamb m deve estar instalado na mesma maquina Finalmente deve ser adicionada uma refer ncia para este componente sempre que se que pretenda usar a referida seguranga 70 4 5 2 Servi os e Componentes A arquitectura detalhada da solu o implementada est ilustrada na figura 18 onde se apresentam os componentes fundamentais da solu o final resultado da integra o entre o portal TRAS OS MONTES NET e o sistema WS Autarquias O modelo constitu do por m ltiplas camadas sendo poss vel identif
227. ut pt WSACentral wsAAuthentication asmx a qual designamos por WebAutenticacao este o nome com que o servi o remoto de autentica o conhecido na aplica o cliente Zz A segunda refer ncia para o Namespace da Net Framework denominado System Web Services Protocols esta torna poss vel utilizar os Web Methods localizados no servidor remoto atrav s dos protocolos padr o da Internet como se fossem fun es locais A terceira refer ncia para a componente SHSecurityClient dll instalada localmente esta vai permitir usar as suas classes que est o reunidas sobre o Namespace Shortcut Security Imports wsAutarquiasTMD WebAutenticacao Imports System Web Services Protocols Imports Shortcut Security Tal como ilustrado de seguida a implementa o na aplica o come a por criar tr s objectos Auth e Authcrt s o usados para efectuar a autentica o no servidor remoto usando uma credencial enquanto SecurityClient usado para efectuar a encripta o de dados localmente Public Auth As WebAutenticacao WSAAuthentication Public Authcrt As WebAutenticacao SHWSClientCredentials Public SecurityClient As Shortcut Security SHCertifyedClient 167 Definiu se um m todo para inicializar os objectos Auth e Authcrt antes de se usarem o m todo designou se initAuth e apresentado a seguir Private Sub initAuth Authcrt New WebAutenticacao SHWSClientCredentials Auth New WebAutenticacao W
228. va o dos servi os Snell et al 2001 Como se pode constatar pela figura 12 a arquitectura orientada aos servi os consiste na interac o entre dois intervenientes principais um desempenhando o papel de invocador ou consumidor do servi o Service Consumer o outro o papel de fornecedor do servi o Service Provider O terceiro interveniente Service Registry desempenha o papel de mediador ou intermedi rio na descoberta entre consumidor e fornecedor e consequentemente promove o estabelecimento da interac o 56 Service Registry Service Provider Service Consumer Bind Figura 12 Arquitectura orientada aos servi os Pelo facto dos tr s participantes no modelo SOA o Service Consumer o Service Provider e o Service Registry terem um papel fundamental em todo o funcionamento dessa infra estrutura vale a pena serem descritos em mais de detalhe Service Provider E o n na rede Internet ou Intranet que providencia o acesso interface de um servi o de software de uma funcionalidade espec fica O Service Provider disponibiliza o acesso a servi os de um sistema empresarial um subsistema ou um componente Service Consumer E o n na rede que se liga a um servi o de um Service Provider e o usa para implementar uma solu o de neg cio Num modelo de arquitectura orientada ao servi o o Service Consumer n o uma aplica o no entanto pode considerar se como
229. velope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt lt PesqCirculacoes xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt cod_autarquia gt string lt cod_autarquia gt lt num_contribuinte gt string lt num_contribuinte gt lt texto gt string lt texto gt lt PesqCirculacoes gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Cod autarquia VARCHAR 11 C digo da autarquia Num contribuinte VARCHAR I 1 N mero de Contribuinte do Mun cipe Texto VARCHAR 200 Texto a pesquisar Envelope de Retorno lt xml version 1 0 encoding utf 8 gt lt DataSet xmlns http ws shortcut pt ws WSAutarquiasRemoto gt lt xs schema id NewDataSet xmlns xmlns xs http www w3 org 2001 XMLSchema xmins msdata urn schemas microsoft com xml msdata gt lt xs element name NewDataSet msdata IsDataSet true msdata Locale pt PT gt lt xs complexType gt lt xs choice maxOccurs unbounded gt lt xs element name PesqCirculacoes gt lt xs complexType gt lt xs sequence gt lt xs element name CONSULTOR type xs string minOccurs 0 gt lt xs element name NUM CIRC type xs string minOccurs 0 gt lt xs element name SERVICO type xs string minOccurs 0 gt lt xs element na
230. xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt SHwSCredentialId gt string lt SHwsCredentialId gt lt SHWSClientCredentials gt lt soap Header gt lt soap Body gt 154 lt LimparCirculacoesProcesso xmlns http ws shortcut pt ws WSAutarquiasCentral gt lt num_contribuinte gt string lt num_contribuinte gt lt tcProcesso gt string lt tcProcesso gt lt tcTipo gt string lt tcTipo gt lt LimparCirculacoesProcesso gt lt soap Body gt lt soap Envelope gt Par metros de Entrada Num contribuinte VARCHAR 1 1 N mero de Contribuinte IDProcesso VARCHAR 10 N mero do Processo IDTipoProc VARCHAR 9 Tipo do Processo Retorno de um DataSet com C digos de Erro C digos de Erro 1 Dados eliminados com sucesso 200 Mun cipe inexistente 11 3 GetCirculacoes Retorna um dataset com as circula es de um processo de um Mun cipe Envelope de Entrada lt xml version 1 0 encoding utf 8 gt lt soap Envelope xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema xmlns soap http schemas xmlsoap org soap envelope gt lt soap Header gt lt SHWSClientCredentials xm
231. xs element name REQUER type xs string minOccurs 0 gt lt xs element name DESCRICAO type xs string minOccurs 0 gt lt xs element name DATA ENTRADA type xs dateTime minOccurs 0 gt lt xs element name COM DETALHE type xs string minOccurs 0 gt lt xs element name CONTRIB type xs string minOccurs 0 gt lt xs element name AUTARQUIA type xs int minOccurs 0 gt lt xs element name PROCESSO type xs string minOccurs 0 gt lt xs element name TIPOPROC type xs string minOccurs 0 gt lt xs element name TIPOREQ type xs string minOccurs 0 gt lt xs element name RESP OBRA type xs string minOccurs 0 gt lt xs element name RESP PROJ type xs string minOccurs 0 gt lt xs element name PERFIL type xs string minOccurs 0 gt lt xs element name IDPERFIL type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs choice gt lt xs complexType gt lt xs element gt lt xs schema gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO REQUER N mero do Requerimento DESCRICAO Descri o do Requerimento DATA ENTRADA Data de Entrada do Requerimento COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula e
232. ype gt lt xs element gt lt xs schema gt Descri o dos Campos Devolvidos CONSULTOR N mero de Contribuinte do Mun cipe que est a consultar o Processo normalmente igual ao campo CONTRIB excepto no caso em que hajam Utilizadores do tipo FUNCION RIO REQUER N mero do Requerimento DESCRICAO Descri o do Requerimento DATA ENTRADA Data de Entrada do Requerimento COM DETALHE Flag que indica se o Processo tem Detalhe Requerimentos Circula es Pareceres Notifica es ou n o CONTRIB N mero de Contribuinte do Mun cipe AUTARQUIA C digo da Autarquia PROCESSO N mero do Processo TIPOPROC C digo do Tipo de Processo TIPOREQ C digo do Tipo de Requerimento RESP OBRA N mero de Contribuinte do Respons vel pela Respons vel pela Direc o T cnica da Obra RESP PROJ N mero de Contribuinte do Respons vel pelo Projecto de Arquitectura PERFIL Descri o do Perfil do Mun cipe perante o Processo IDPERFIL C digo do Perfil do Mun cipe perante o Processo 1 Titular do Processo 2 Respons vel pela Direc o T cnica 3 Respons vel pelo Projecto de Arquitectura 4 Outro T cnico Respons vel 5 Outro Requerente 6 Funcion rio C digos de Erro 1 Dados Devolvidos com sucesso 100 N o existe nenhum registo na Autarquia 101 Existem dois ou mais registos na Autarquia 102 Autarquia n o Dispon vel 104 Autarq

Download Pdf Manuals

image

Related Search

Related Contents

inspección del tcm - Diagramasde.com  サービスガイド - T    MS504  User's Manual  Maxstar 150 S, STL, And STH - Rapid Welding and Industrial  Younès Rahmoun  Samsung WF8702LSW מדריך למשתמש  

Copyright © All rights reserved.
Failed to retrieve file