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

Apresentações semelhantes


Apresentação em tema: "Utilize qualquer Web Service a partir do Progress 4GL"— Transcrição da apresentação:

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

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

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

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

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

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

7 Web Service Basics - Onde?
OpenEdge Reference Architecture 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 Chame Qualquer Web Service a partir do Progress 4GL

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

9 Web Service Basics – SOAP Message
imple O bject A ccess P rotocol Envelope Body Header Header Entry Body Entry Header opcional Entradas podem ser SOAP Faults (erros) Chame Qualquer Web Service a partir do Progress 4GL

10 Web Service Basics - WSDL
escription L anguage Define Interface Codificação dos dados Transporte Endereço do serviço Contrato entre o client e o server Chame Qualquer Web Service a partir do Progress 4GL

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

12 Agenda Introdução Web Service Basics WSDL Analyzer
Demonstração do Analyzer Chamando um Web Service a partir do 4GL Chame Qualquer Web Service a partir do Progress 4GL

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

14 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> Chame Qualquer Web Service a partir do Progress 4GL

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

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

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

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

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

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

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

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

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

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

25 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. Chame Qualquer Web Service a partir do Progress 4GL

26 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. Chame Qualquer Web Service a partir do Progress 4GL

27 Agenda Introdução Web Service Basics WSDL Analyzer
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 Chame Qualquer Web Service a partir do Progress 4GL

28 Simples Mapeamento de Tipo de Dados
XML Schema Data Type Progress 4GL Data Type string CHARACTER boolean LOGICAL decimal DECIMAL integer INTEGER float, double, duration CHARACTER e LONGCHAR podem sempre ser usados Para mapeamentos completos, veja a documentação Chame Qualquer Web Service a partir do Progress 4GL

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

30 Conexão e Chamada Exatamente como um AppServer
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). 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). Chame Qualquer Web Service a partir do Progress 4GL

31 Resultados Google no Browser
Chame Qualquer Web Service a partir do Progress 4GL

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

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

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

35 Connect e Set Port Chame Qualquer Web Service a partir do Progress 4GL

36 Chamada ao Google Chame Qualquer Web Service a partir do Progress 4GL

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

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

39 Resultados no 4GL Client
Chame Qualquer Web Service a partir do Progress 4GL

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

41 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. Chame Qualquer Web Service a partir do Progress 4GL

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

43 4GL SOAP Fault Envelope Body Body Entry fault code fault string
fault actor <faultdetail> Chame Qualquer Web Service a partir do Progress 4GL

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

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

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

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

48 Perguntas? Chame Qualquer Web Service a partir do Progress 4GL

49 Obrigado! Chame Qualquer Web Service a partir do Progress 4GL

50 Chame Qualquer Web Service a partir do Progress 4GL


Carregar ppt "Utilize qualquer Web Service a partir do Progress 4GL"

Apresentações semelhantes


Anúncios Google