Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager,...
-
date post
18-Dec-2015 -
Category
Documents
-
view
218 -
download
3
Transcript of Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager,...
Scale Up Access to your 4GL Application using Web Services
David LundSr. Training Program Manager, Progress
© 2005 Progress Software Corporation2 Progress 4GL Web Services
Session Focus
Identification of the best places to use web services
Choosing web service standards and technologies
Sample implementation of Progress 4GL Web Service
Implementing Progress 4GL Web Services
© 2005 Progress Software Corporation3 Progress 4GL Web Services
Agenda
Getting started
Standards
Web service provider
Deployment
Web service consumer
Progress 4GL Web Services
© 2005 Progress Software Corporation4 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
Service Oriented
Communications Communications
Provider
© 2005 Progress Software Corporation5 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
© 2005 Progress Software Corporation6 Progress 4GL Web Services
Common Business Logic
OpenEdge® AppServer™ = Center of the business logic universe
Ways to access business logic– .NET™ Open Client– 4GL Client– Java™ Open Client– Web services– WebClient™– WebSpeed®– OpenEdge Adapter for
SonicMQ®
The basics
© 2005 Progress Software Corporation7 Progress 4GL Web Services
Configuration
Client/Server
Client(Consumer)
Clients
OpenEdgeApplication
Server
Server(Provider)
WebService
© 2005 Progress Software Corporation8 Progress 4GL Web Services
Sorting out the Acronyms
Standards
SOAP WSDL XML SchemaStyle/Use
Provider
AppObj
ProcObj
SubAppObj
WSM
Deployment
HTTP/HTTPSJSEWeb ServerWSA Session Model WSAD
Consumer
© 2005 Progress Software Corporation9 Progress 4GL Web Services
Agenda
Getting started
Standards
Web service provider
Deployment
Web service consumer
Progress 4GL Web Services
© 2005 Progress Software Corporation10 Progress 4GL Web Services
SOAP
Protocol for message exchange– Lightweight & XML-based
Independent– Encoding – Transport– Language– Platform
Extensible – Extra context via headers
Supports – message typing– strong typing– structured data
Standards
SOAP
© 2005 Progress Software Corporation11 Progress 4GL Web Services
WSDLWeb Service Description Language
This is the service contract– Data type mapping– SOAP message format– How to call the Web service
XML Document Created by
– Web service provider Used by
– Web service consumer
Standards
SOAP WSDL
© 2005 Progress Software Corporation12 Progress 4GL Web Services
XML Schema
Comprise of a set of agreed upon rules – Structure, Content,
Semantics A means for defining for
XML Documents– Used to define formats for
SOAP and WSDL messages Maps 4GL data types
SOAPWSDL XML Schema
Standards
© 2005 Progress Software Corporation13 Progress 4GL Web Services
OpenEdgeWSDL Style/Use
RPC/Encoded– 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
Standards
SOAPWSDL XML Schema Style/Use
© 2005 Progress Software Corporation14 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
© 2005 Progress Software Corporation15 Progress 4GL Web Services
Agenda
Getting started
Standards
Web service provider
Deployment
Web service consumer
Progress 4GL Web Services
© 2005 Progress Software Corporation16 Progress 4GL Web Services
Open Client Object ModelA
pp
Ob
ject
Pro
cO
bje
ctS
ub
-A
pp
Ob
j Always one Establishes connection External procedures
Zero or more Shares connection Internal procedures/UDFs
Zero or more Shares connection External procedures
Provider
AppObj
ProcObj
SubAppObj
© 2005 Progress Software Corporation17 Progress 4GL Web Services
WSMWeb Service Mapping File
Lists– Objects– Operations
Identifies Session Model
Initializes deployment information
Created by ProxyGen
Provider
AppObj
ProcObj
SubAppObj
WSM
© 2005 Progress Software Corporation18 Progress 4GL Web Services
ProxyGen Tool
4GL Business
Logic(r-code)
Web Services Mapping
file(.wsm)
Project file
(.xpxg)
Web Service Description
Language file(.wsdl)
AppObject
ProcObject
Sub-AppObj
Log file
(.log)
© 2005 Progress Software Corporation19 Progress 4GL Web Services
ProxyGen Tool
ProcObjPersistenData.r
AppObjFindEmpByNum.r
ListDeptEmp.r
Selecting procedures
© 2005 Progress Software Corporation20 Progress 4GL Web Services
ProxyGen ToolGeneral Tab
AppServiceAppService
Generation Options
GeneratedGeneratedProxyProxy
© 2005 Progress Software Corporation21 Progress 4GL Web Services
ProxyGen ToolWeb Services Tab
Session ModelGeneration Options
URL
Namespace
Style/Use
© 2005 Progress Software Corporation22 Progress 4GL Web Services
Demonstration
ProxyGen
© 2005 Progress Software Corporation23 Progress 4GL Web Services
Agenda
Getting started
Standards
Web service provider
Deployment
Web service consumer
Progress 4GL Web Services
© 2005 Progress Software Corporation24 Progress 4GL Web Services
HTTP/HTTPS
Communications Protocol
Used to transport SOAP messages– SOAP 1.1 HTTP Binding
Post/Response
HTTPS– SSL– Securely send messages
Deployment
HTTP/HTTPS
© 2005 Progress Software Corporation25 Progress 4GL Web Services
JSEJava Servlet Engine
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
Third party components…Deployment
JSE
HTTP/HTTPS
© 2005 Progress Software Corporation26 Progress 4GL Web Services
Web Server
Required
Accepts HTTP/HTTPS communications
Hosts JSE
Third party components…Deployment
Web Server
HTTP/HTTPSJSE
© 2005 Progress Software Corporation27 Progress 4GL Web Services
WSAWeb Services Adapter
WSA = Java™ servlet
Runs in JSE
Administers and provides access to deployed Progress 4GL Web services
Decodes and encodes SOAP messages
Deployment
WSA
HTTP/HTTPSJSEWeb Server
© 2005 Progress Software Corporation28 Progress 4GL Web Services
WSA in JSEon Web Server
HTTP Listener
WSAJava Servlet W
eb S
erve
r
SOAP / HTTPConsumer
© 2005 Progress Software Corporation29 Progress 4GL Web Services
Session Model
Session Managed– State-aware, State-reset,
Stateless
– Holds resources
Session Free– Does not maintain any state
Deployment
Session Model
HTTP/HTTPSJSEWeb ServerWSA
© 2005 Progress Software Corporation30 Progress 4GL Web Services
WSADWeb Service Application Descriptor
Describes web service to the WSA
Information on how to access AppServer application
Deployment
WSAD
HTTP/HTTPSJSEWeb ServerWSA Session Model
© 2005 Progress Software Corporation31 Progress 4GL Web Services
Demonstration
Deployment
Progress E
xplorer
© 2005 Progress Software Corporation32 Progress 4GL Web Services
Agenda
Getting started
Standards
Web service provider
Deployment
Web service consumer
Progress 4GL Web Services
© 2005 Progress Software Corporation33 Progress 4GL Web Services
Service Consumer
Calls the web service
Typical Scenarios– Application to Application
Business to Business Background
– End User Portions of application available
Consumer
© 2005 Progress Software Corporation34 Progress 4GL Web Services
The Client
POST SOAP over HTTP
ResponseSOAP over HTTP
Java™.NET
ProgressOther
Consumer
WSDL
© 2005 Progress Software Corporation35 Progress 4GL Web Services
Putting It All Together
HTTP Listener
WSAJava Servlet W
eb S
erve
r POST SOAP over HTTP
ResponseSOAP over HTTP
Client(Consumer)
OpenEdgeApplication
Server
Server(Provider)
© 2005 Progress Software Corporation36 Progress 4GL Web Services
Demonstration
Calling aWeb
Service
Server(Provider)
Client(Consumer)
© 2005 Progress Software Corporation37 Progress 4GL Web Services
In Summary
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
Implementing Progress 4GL Web Services
© 2005 Progress Software Corporation38 Progress 4GL Web Services
Documentation
OpenEdge Development– Web Services
– Progress 4GL Reference
© 2005 Progress Software Corporation39 Progress 4GL Web Services
Questions?Client/Server
WebService
Client
ClientsOpenEdgeApplication
Server
Server
© 2005 Progress Software Corporation40 Progress 4GL Web Services
Thank you for your time!
© 2005 Progress Software Corporation41 Progress 4GL Web Services