Scale Up Access to your 4GL Application using Web Services
Download
Report
Transcript Scale Up Access to your 4GL Application using Web Services
Scale Up Access to your
4GL Application using
Web Services
David Lund
Sr. Training Program Manager, Progress
Session Focus
Implementing Progress 4GL Web Services
2
Identification of the best
places to use web services
Choosing web service
standards and technologies
Sample implementation of
Progress 4GL Web Service
© 2005 Progress Software Corporation
Progress 4GL Web Services
Agenda
Progress 4GL Web Services
Getting started
Standards
Web service provider
Deployment
Web service consumer
3
© 2005 Progress Software Corporation
Progress 4GL Web Services
How Does This Relate to SOA
Service Oriented Architecture (SOA)
– logic concept behind the physical
implementations
One type of physical implementation is
web services
Provider
Communications
Service Oriented
4
© 2005 Progress Software Corporation
Progress 4GL Web Services
The Value of Web Services
Connects applications together through
agreed upon standards
– Share information between applications
without writing a customized interface
– Application can be written in any language
Provides an alternative method to access
existing applications
– For example: Access business logic of a
client server application over the web
5
© 2005 Progress Software Corporation
Progress 4GL Web Services
Common Business Logic
The basics
OpenEdge® AppServer™ =
Center of the business logic
universe
Ways to access business logic
–
–
–
–
–
–
–
6
.NET™ Open Client
4GL Client
Java™ Open Client
Web services
WebClient™
WebSpeed®
OpenEdge Adapter for
SonicMQ®
© 2005 Progress Software Corporation
Progress 4GL Web Services
Configuration
Server
(Provider)
Client/
Server
Clients
OpenEdge
Application
Server
Web
Service
Client
(Consumer)
7
© 2005 Progress Software Corporation
Progress 4GL Web Services
Sorting out the Acronyms
Standards
Provider
Deployment
Consumer
8
© 2005 Progress Software Corporation
Progress 4GL Web Services
Agenda
Progress 4GL Web Services
Getting started
Standards
Web service provider
Deployment
Web service consumer
9
© 2005 Progress Software Corporation
Progress 4GL Web Services
SOAP
Protocol for message exchange
– Lightweight & XML-based
Independent
–
–
–
–
Standards
Encoding
Transport
Language
Platform
Extensible
– Extra context via headers
Supports
– message typing
– strong typing
– structured data
10 © 2005 Progress Software Corporation
Progress 4GL Web Services
WSDL
Web Service Description Language
This is the service contract
Standards
– Data type mapping
– SOAP message format
– How to call the Web service
XML Document
Created by
– Web service provider
Used by
– Web service consumer
11 © 2005 Progress Software Corporation
Progress 4GL Web Services
XML Schema
Comprise of a set of
agreed upon rules
Standards
– Structure, Content,
Semantics
A means for defining for
XML Documents
– Used to define formats for
SOAP and WSDL messages
Maps 4GL data types
12 © 2005 Progress Software Corporation
Progress 4GL Web Services
OpenEdge
WSDL Style/Use
RPC/Encoded
Standards
– Messages use remote
procedure call (RPC) model
– Data format uses SOAP data
model
Document/Literal
– Messages use XML
Document model
Defined as complex types in
Types section
– Data format conforms to
standard XML schema
13 © 2005 Progress Software Corporation
Progress 4GL Web Services
Web Services is Defined by Standards
Web Services
– A set of standards that comprise a platform for
building distributed, interoperable applications
Progress 4GL Web Services utilizes W3C
standards
– WSDL 1.1 (W3C Note – de facto standard)
– SOAP 1.1 HTTP Binding
– 2001 XML Schema
14 © 2005 Progress Software Corporation
Progress 4GL Web Services
Agenda
Progress 4GL Web Services
Getting started
Standards
Web service provider
Deployment
Web service consumer
15 © 2005 Progress Software Corporation
Progress 4GL Web Services
Open Client Object Model
Proc
Object
Always one
Establishes connection
External procedures
Provider
Zero or more
Shares connection
Internal procedures/UDFs
Zero or more
Shares connection
External procedures
16 © 2005 Progress Software Corporation
Progress 4GL Web Services
WSM
Web Service Mapping File
Lists
Provider
– Objects
– Operations
Identifies Session Model
Initializes deployment
information
Created by ProxyGen
17 © 2005 Progress Software Corporation
Progress 4GL Web Services
ProxyGen Tool
App
Object
Proc
Object
4GL
Business
Logic
(r-code)
Project
file
(.xpxg)
SubAppObj
Web Services
Mapping
file
(.wsm)
18 © 2005 Progress Software Corporation
Web Service
Description
Language file
(.wsdl)
Log
file
(.log)
Progress 4GL Web Services
ProxyGen Tool
Selecting procedures
AppObj
FindEmpByNum.r
ListDeptEmp.r
ProcObj
PersistenData.r
19 © 2005 Progress Software Corporation
Progress 4GL Web Services
ProxyGen Tool
General Tab
Generation Options
AppService
Generated
Proxy
20 © 2005 Progress Software Corporation
Progress 4GL Web Services
ProxyGen Tool
Web Services Tab
Generation Options
Session Model
Namespace
URL
Style/Use
21 © 2005 Progress Software Corporation
Progress 4GL Web Services
Demonstration
ProxyGen
22 © 2005 Progress Software Corporation
Progress 4GL Web Services
Agenda
Progress 4GL Web Services
Getting started
Standards
Web service provider
Deployment
Web service consumer
23 © 2005 Progress Software Corporation
Progress 4GL Web Services
HTTP/HTTPS
Deployment
Communications Protocol
Used to transport SOAP
messages
– SOAP 1.1 HTTP Binding
Post/Response
HTTPS
– SSL
– Securely send messages
24 © 2005 Progress Software Corporation
Progress 4GL Web Services
JSE
Java Servlet Engine
Third party components…
Deployment
Runs servlets
– Progress 4GL Web Services
deploys a servlet
JSE’s available from 3rd
party vendors
– Examples use Apache
Tomcat
Has built in Web Server
– Not recommended for
production
25 © 2005 Progress Software Corporation
Progress 4GL Web Services
Web Server
Third party components…
Deployment
Required
Accepts HTTP/HTTPS
communications
Hosts JSE
26 © 2005 Progress Software Corporation
Progress 4GL Web Services
WSA
Web Services Adapter
Deployment
WSA = Java™ servlet
Runs in JSE
Administers and provides
access to deployed Progress
4GL Web services
Decodes and encodes SOAP
messages
27 © 2005 Progress Software Corporation
Progress 4GL Web Services
WSA in JSE
on Web Server
WSA
Java Servlet
28 © 2005 Progress Software Corporation
SOAP / HTTP
Web Server
HTTP
Listener
Consumer
Progress 4GL Web Services
Session Model
Deployment
Session Managed
– State-aware, State-reset,
Stateless
– Holds resources
Session Free
– Does not maintain any state
29 © 2005 Progress Software Corporation
Progress 4GL Web Services
WSAD
Web Service Application Descriptor
Deployment
Describes web service to the
WSA
Information on how to
access AppServer
application
30 © 2005 Progress Software Corporation
Progress 4GL Web Services
Deployment
31 © 2005 Progress Software Corporation
Progress Explorer
Demonstration
Progress 4GL Web Services
Agenda
Progress 4GL Web Services
Getting started
Standards
Web service provider
Deployment
Web service consumer
32 © 2005 Progress Software Corporation
Progress 4GL Web Services
Service Consumer
Calls the web service
Typical Scenarios
Consumer
– Application to Application
Business to Business
Background
– End User
Portions of application available
33 © 2005 Progress Software Corporation
Progress 4GL Web Services
The Client
Consumer
POST
SOAP over HTTP
Response
SOAP over HTTP
Java™
.NET
Progress
Other
WSDL
34 © 2005 Progress Software Corporation
Progress 4GL Web Services
Putting It All Together
HTTP
Listener
WSA
Java Servlet
Web Server
Client
(Consumer)
POST
SOAP over HTTP
Response
SOAP over HTTP
Server
(Provider)
OpenEdge
Application
Server
35 © 2005 Progress Software Corporation
Progress 4GL Web Services
Demonstration
Calling a
Web
Service
36 © 2005 Progress Software Corporation
Server
(Provider)
Progress 4GL Web Services
In Summary
Implementing Progress 4GL Web Services
Identify where to use web
services solutions
Choose the web service
standards and technologies
to suit your needs
Use the examples to help in
implementing your own web
service solutions
37 © 2005 Progress Software Corporation
Progress 4GL Web Services
Documentation
OpenEdge Development
– Web Services
– Progress 4GL
Reference
38 © 2005 Progress Software Corporation
Progress 4GL Web Services
Questions?
Server
Client/
Server
OpenEdge
Application
Server
Web
Service
Clients
Client
39 © 2005 Progress Software Corporation
Progress 4GL Web Services
Thank you for
your time!
40 © 2005 Progress Software Corporation
Progress 4GL Web Services
41 © 2005 Progress Software Corporation
Progress 4GL Web Services