A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Utilize qualquer Web Service a partir do Progress 4GL Luis B. Campos System Engineer.

Apresentações semelhantes


Apresentação em tema: "Utilize qualquer Web Service a partir do Progress 4GL Luis B. Campos System Engineer."— Transcrição da apresentação:

1 Utilize qualquer Web Service a partir do Progress 4GL Luis B. Campos System Engineer

2 2© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL n Introdução n Web Service Basics n WSDL Analyzer n Chamando um Web Service a partir do 4GL Agenda

3 3© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Web Service Client n Disponível no OpenEdge® 10.0A n AppServer não é necessário n Client de uma aplicação diferente

4 4© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Web Services – Por que? n Conectividade heterogênea n Na arquitetura SOA eles tornam os serviços distribuídos possíveis n Denominador comun menor que o EDI ou CORBA

5 5© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Web Services – Por que? n Provedores de Web service disponíveis –Produtos: OpenEdge, Oracle, IBM DB/2, SalesForce.com, etc. –Serviços: Google, e-Bay, Commonwealth of Massachusetts, etc. n Plataformas de Desenvolvimento: OpenEdge,.NET™, J2EE, Apache, WebSphere.

6 6© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Web Services – Por que não? n Pode não ser eficiente n Pode não estar disponível

7 7© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Web Service Basics - Onde? Usuários Camada de Apresentação Camadas de Serviços de Negócio Camadas de Acesso a Dados Fontes de Dados Gerenciadas Fontes de Dados Não Gerenciadas Serviços Empresariais Camada de Integração OpenEdge Reference Architecture

8 8© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL n Introdução n Web Service Basics n WSDL Analyzer n Chamando um Web Service a partir do 4GL Agenda

9 9© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Web Service Basics – SOAP Message Envelope Body Header Header Entry … Body Entry Header Entry … Entradas podem ser SOAP Faults (erros) Header opcional Simple Object Access Protocol

10 10© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Web Service Basics - WSDL Define n Interface n Codificação dos dados n Transporte n Endereço do serviço Contrato entre o client e o server Web Service Description Language

11 11© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Anatomia de uma Sessão Web Service OpenEdge 4GL Client Um provedor de Web Service SOAP Request SOAP Response SOAP Request SOAP Response WSDL Request WSDL Response

12 12© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL n Introdução n Web Service Basics n WSDL Analyzer –Introdução –Demonstração do Analyzer n Chamando um Web Service a partir do 4GL Agenda

13 13© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Dicionário 4GL/WSDL 4GLWSDL AppServer™..…......… Web service Persistent procedure Port type (interface) Internal procedure Operation

14 14© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Linha de Comando do WSDL Analyzer Gera a documentação 4GL para um web service C:\temp> bprowsdldoc google Documentation written to file:///c:\temp\google\index.html C:\temp>

15 15© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Anatomia do Projeto do Client WSDL Analyzer Provedor do Web Service WSDL Request WSDL Response Documentos Gerados OpenEdge 4GL Client

16 16© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Documentos Gerados Data types dados complexos Operation Index Port type conexão & chamada Service index

17 17© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Snapshots do Analyzer: Documentação do Serviço

18 18© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Snapshots do Analyzer: Documento do Serviço

19 19© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Snapshots do Analyzer : Port Type – Sumário da Conexão

20 20© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Snapshots do Analyzer : Port Type – Sumário da Operation

21 21© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Snapshots do Analyzer : Port Type – Exemplo da Operation

22 22© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Snapshots do Analyzer : Port Type – Parâmetros da Operation

23 23© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Snapshots do Analyzer : Port Type – Exemplo de Parâmetros Complexos

24 24© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Dados Complexos como TEMP-TABLE addCustomers Procedure prototype PROCEDURE addCustomers: DEFINE INPUT PARAMETER TABLE FOR customerList. DEFINE OUTPUT PARAMETER TABLE FOR conflictList. END PROCEDURE.

25 25© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Dados Complexos como TEMP-TABLE Exemplo DEFINE TEMP-TABLE customerList NAMESPACE-URI NAMESPACE-PREFIX "cust“ FIELD CustNum AS INTEGER FIELD Name AS CHARACTER XML-NODE-TYPE "Attribute“ FIELD Country AS CHARACTER FIELD Comments AS CHARACTER INDEX CustNum IS PRIMARY UNIQUE CustNum INDEX Name Name INDEX Comments IS WORD-INDEX Comments.

26 26© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Dados Complexos como TEMP-TABLE Parâmetros customerList This value is defined as a TEMP-TABLE. This value can also be expressed as a CustomerTable element in The namespace. As such, this parameter can be passed as a CHARACTER or LONGCHAR value containing an XML document. View example of XML.

27 27© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL n Introdução n Web Service Basics n WSDL Analyzer n Chamando um Web Service a partir do 4GL –Mapeamento de tipos de dados –Conexão e chamada –Manipulação do Header –Manipulação de Erros Agenda

28 28© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Simples Mapeamento de Tipo de Dados XML Schema Data TypeProgress 4GL Data Type stringCHARACTER booleanLOGICAL decimalDECIMAL integerINTEGER float, double, durationCHARACTER CHARACTER e LONGCHAR podem sempre ser usados Para mapeamentos completos, veja a documentação

29 29© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Dados Complexos Representados de duas formas: 1. LONGCHAR/CHARACTER de documentos XML serializados 2. ProDataSet ou TEMP-TABLE quando possível (10.1A) Analyzer mostra exemplos de ambos.

30 30© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL CREATE SERVER app-server-handle. app-server-handle :CONNECT(“ appserver-connect-parms ”). RUN persistent-proc PERSISTENT SET procedure-handle ON app-server-handle. RUN internal-proc IN procedure-handle ( parameters ). CREATE SERVER web-svc-handle. web-svc-handle :CONNECT(“-WSDL wsdl-url ws-connect-parms ”). RUN port-type-name SET port-type-handle ON web-svc-handle. RUN operation IN port-type-handle ( parameters ). Conexão e Chamada Exatamente como um AppServer

31 31© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Resultados Google no Browser

32 32© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Exemplo de Conexão Selecionado

33 33© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Exemplos de Conexão e Chamada Colados

34 34© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Definições de Variáveis

35 35© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Connect e Set Port

36 36© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Chamada ao Google

37 37© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Resultado da Pesquisa Utilizando DOM

38 38© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Carga da TEMP-TABLE com os Resultados

39 39© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Resultados no 4GL Client

40 40© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Objetos 4GL SOAP Header Envelope Body Header Header Entry … Body Entry Header Entry SOAP-HEADER SOAP-HEADER-ENTRYREF …

41 41© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL SOAP Headers Define um callback port-type-handle :SET-CALLBACK-PROCEDURE( “REQUEST-HEADER | RESPONSE-HEADER”, “ request-handler-name ”, web-service-handle ). Escreve um callback PROCEDURE request-handler-name : DEFINE INPUT PARAMETER soap-header-handle AS HANDLE. DEFINE INPUT PARAMETER operation-namespace AS CHARACTER. DEFINE INPUT PARAMETER operation-local-name AS CHARACTER. END.

42 42© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Anatomia de um Erro no Web Service OpenEdge 4GL Client Provedor do Web Service SOAP Request SOAP Response (FAULT) WSDL Request WSDL Response

43 43© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL 4GL SOAP Fault Envelope Body Body Entry fault code fault string fault actor

44 44© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Fault Objects do 4GL ERROR-STATUS SOAP-FAULT SOAP-FAULT-DETAIL XML fault info

45 45© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL SOAP Fault - Faultstring An error was detected while executing the Web Service request. (10893)

46 46© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL SOAP Fault - Detail msg=The server application returned the error: Invoice not found; targetException=ERROR condition: The Server application has returned an error. (7243) (7211)] e5b58beb30:5bb966:fb4fdb744a:-7fff#9

47 47© 2005 Progress Software Corporation SOA-07: Call Any Web Service from the Progress 4GL Resumo n Chamar um web service é fácil n Use o WSDL Analyzer OpenEdge 4GL Client Web Service ou AppServer?

48 48© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Perguntas?

49 49© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL Obrigado!

50 50© 2005 Progress Software Corporation Chame Qualquer Web Service a partir do Progress 4GL


Carregar ppt "Utilize qualquer Web Service a partir do Progress 4GL Luis B. Campos System Engineer."

Apresentações semelhantes


Anúncios Google