150: Integrate over the Web with OpenEdge Web Services - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

150: Integrate over the Web with OpenEdge Web Services

Description:

Generates ABL code snippet in HTML form ... ABL code snippets and examples. SOAP/XML samples. Textual information about service ... – PowerPoint PPT presentation

Number of Views:340
Avg rating:3.0/5.0
Slides: 35
Provided by: PSC64
Category:

less

Transcript and Presenter's Notes

Title: 150: Integrate over the Web with OpenEdge Web Services


1
150 Integrate over the Web with OpenEdge Web
Services
Richard Lausecker
Senior Solution Consultant, Progress Software
Austria
2
Initial Audience Reaction
3
Session Focus
Implementing OpenEdge Web Services
  • Understanding Web Services
  • Identify when to use Web Services
  • Implementing an OpenEdge service consumer
  • Implementing an OpenEdge service provider

4
Agenda
Integrate over the Web with OpenEdge Web Services
  • The Value of Web Services
  • OpenEdge Web Service Provider
  • ABL Client as a Consumer

5
What is Web Services?
Web Services is Defined by Standards
  • Web Services
  • A set of standards that comprise a platform for
    building distributed, interoperable applications
  • OpenEdge Web Services utilizes W3C standards
  • Simple Object Access Protocol (SOAP)
  • Web Service Definition Language (WSDL)
  • XML

W3C World Wide Web Consortium,
http//www.w3.org/
6
Standards SOAP
Simple Object Access Protocol
  • Protocol for message exchange
  • XML-based
  • Independent of encoding, transport, language, and
    platform

7
Standards WSDL
Web Services Description Language
  • Specifies the interface
  • Bindings for the operations
  • SOAP over HTTP
  • Business methods that can be invoked
    (operations)
  • Message structure for each method
  • Data fields, types
  • Identifies network address of Web service

Contract between provider and consumer
8
Consumers and Providers
  • Web Service Provider
  • Develops and deploys the Web service
  • Publishes the WSDL
  • Web Service Consumer
  • Writes code to access deployed services based on
    the WSDL contract

9
The Value of Web Services
  • Why to use Web Services
  • Heterogeneous applications
  • Many valuable Services are available
  • Many consumers
  • Why not to use Web Services
  • Homogenous connectivity
  • May not be efficient enough
  • Why use Progress for Web Services?
  • Progress makes it easy.

10
Web Services
  • Heterogeneous
  • Distributed
  • Interoperable
  • SOAP
  • WSDL
  • Consumers
  • Providers

What are we really talking about?
11
Web Services Demonstration
12
Agenda
Integrate over the Web with OpenEdge Web Services
  • The Value of Web Services
  • ABL Client as a Consumer
  • OpenEdge Web Service Provider

13
Web Services ABL Client Requirements
What do I need to know?
  • How to use the WSDL Analyzer
  • A little AppServer persistent procedure syntax

Thats all!
14
Web Services ABL Client Process
  • Obtain WSDL (or its location)
  • Run the WSDL Analyzer on the WSDL
  • Generates ABL code snippet in HTML form
  • Use WSDL Analyzer information to code calls to
    Web service
  • Call the Web service

15
OpenEdge Client calling a Web service
Web service consumer
Web service provider
HTTP Client
Request WSDL
Call Service
Client ABL Application Code
Service Response
16
WSDL Analyzer (command bprowsdldoc)
  • Input WSDL (obtained from service provider)
  • Output HTML documentation
  • ABL code snippets and examples
  • SOAP/XML samples
  • Textual information about service

proenvgtbprowsdldoc http//localhost8080/wsa/wsa1/
wsdl?targetURIurnwsProviderEmp
myOutput Documentation written to File///C\OpenE
dge\WRK\myOutput\index.html
17
The WSDL Analyzer
Output includes
  • Connection information
  • How to create a Port type (Persistent Procedure)
  • How to call an Operation (Internal Procedure)
  • Procedure syntax
  • Function syntax
  • Data type format

18
The WSDL Analyzer
Output limitations
  • There is no guarantee (It is a guideline)
  • No disconnect and cleanup information
  • DELETE OBJECT hPortType.
  • hWebServiceDISCONNECT().
  • DELETE OBJECT hWebService.

19
Demonstration Calling a Web service
20
Agenda
Integrate over the Web with OpenEdge Web Services
  • The Value of Web Services
  • ABL Client as a Consumer
  • OpenEdge Web Service Provider

21
OpenEdge Web Service Provider
Required Components
  • Your Application
  • Broken down into services
  • Application Server
  • Hosts application code exposed as services
  • Provides database access
  • ProxyGen
  • Generate intermediate file used for deployment
    (includes wsdl mapping information)
  • Progress Explorer or wsaman
  • Manage Web service (deployment)

22
OpenEdge Web Service Provider
Required Components
  • WSA Servlet
  • Interface between the Web Service Consumer and
    the OpenEdge AppServer
  • 3rd Party Products
  • Java Servlet Engine (JSE)
  • Provides environment to run WSA servlet
  • Web Server
  • Provides HTTP support
  • Hosts JSE

WSA Web Services Adapter
23
Deploying a OpenEdge Web Service
OpenEdge AppServer
Web Server
OpenEdge Application Business Logic
Java Servlet Engine
WSA Servlet
r-code
WSM
Progress Explorer or wsaman
ProxyGen
Intermediate file used for Web service deployment
24
Accessing an OpenEdge Web Service
Web Server
HTTP Listener/Sender
Web service consumer
Java Servlet Engine
WSA Servlet
OpenEdge AppServer
ABL Business Logic
25
Demonstration Deploying a Web service
26
Web Services Troubleshooting
ABL SOAP Fault
27
SOAP Faults
RUN operationName IN hPortType (INPUT value1,
OUTPUT value2) NO-ERROR. IF ERROR-STATUSERROR
THEN DO DO iCnt 1 TO ERROR-STATUSNUM-MESSAGE
S MESSAGE ERROR-STATUSGET-MESSAGE(iCnt)
VIEW-AS ALERT-BOX. END. IF
VALID-HANDLE(ERROR-STATUSERROR-OBJECT-DETAIL)
THEN DO MESSAGE "Fault Code"
ERROR-STATUSERROR-OBJECT-DETAILSOAP-FAULT-CODE
SKIP "Fault Actor "
ERROR-STATUSERROR-OBJECT-DETAILSOAP-FAULT-ACTOR
SKIP "Fault String" ERROR-STATUSERROR-OBJ
ECT-DETAILSOAP-FAULT-STRING SKIP "Fault
Detail" ERROR-STATUSERROR-OBJECT-DETAILSOAP-FAU
LT-DETAIL VIEW-AS ALERT-BOX. END. END.
28
SOAP Viewers (prosoapview)
C\Progress\OpenEdge\bin\prowin32.exe -proxyhost
localhost -proxyport 4444
29
In Summary
Implementing OpenEdge Web Services
  • Understand Web Services
  • Identify when to use Web Services
  • Progress makes it easy

30
For More Progress Information, go to
  • Progress eLearning Community
  • WSDL for OpenEdge Developers
  • Consuming Web Services from OpenEdge
  • Opening 4GL Applications to Web Services Clients
  • Documentation
  • 10.1B Web Services manual
  • ProxyGen Changes for Web Services in OpenEdge
    10.1A

31
For More Web Services Information, go to
  • The World Wide Web Consortium (W3C)
  • http//www.w3.org/
  • Web Services Interoperability Organization
  • http//www.ws-i.org/Default.aspx
  • WS-I Basic Profile
  • http//www.ws-i.org/Profiles/BasicProfile-1.0-2004
    -04-16.html
  • W3 Schools
  • http//www.w3schools.com/

32
Questions?
33
Thank you foryour time
34
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com