Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBenício Coutinho Alterado mais de 9 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.