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
Identification of the best places to use web services
Choosing web service standards and technologies
Sample implementation of Progress 4GL Web Service
2 © 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
4
Service Oriented
© 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
–
.NET
™ Open Client
– – – – – –
4GL Client Java ™ Open Client Web services WebClient ™ WebSpeed ® OpenEdge Adapter for SonicMQ ®
6 © 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
8 © 2005 Progress Software Corporation
Consumer
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
–
Encoding
– – –
Transport Language Platform
Extensible
–
Extra context via headers
Supports
–
message typing
– –
strong typing structured data
10 © 2005 Progress Software Corporation
Standards
Progress 4GL Web Services
WSDL Web Service Description Language
Standards
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
11 © 2005 Progress Software Corporation 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 Standards
12 © 2005 Progress Software Corporation Progress 4GL Web Services
OpenEdge WSDL 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
13 © 2005 Progress Software Corporation
Standards
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
Always one Establishes connection External procedures
Zero or more Shares connection Internal procedures/UDFs
Zero or more Shares connection External procedures
16 © 2005 Progress Software Corporation
Provider
Progress 4GL Web Services
WSM Web Service Mapping File
Lists
–
Objects
–
Operations
Identifies Session Model
Initializes deployment information
Created by ProxyGen Provider
17 © 2005 Progress Software Corporation Progress 4GL Web Services
ProxyGen Tool
4GL Business Logic (r-code) App Object Proc Object Sub AppObj Project file (.xpxg) 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
Namespace URL Session Model 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
Communications Protocol
Used to transport SOAP messages
–
SOAP 1.1 HTTP Binding
Post/Response
HTTPS
–
SSL
–
Securely send messages
24 © 2005 Progress Software Corporation
Deployment
Progress 4GL Web Services
JSE Java Servlet Engine
Third party components…
Runs servlets
–
Progress 4GL Web Services deploys a servlet
JSE’s available from 3 rd party vendors
–
Examples use Apache Tomcat
Has built in Web Server
–
Not recommended for production
25 © 2005 Progress Software Corporation
Deployment
Progress 4GL Web Services
Web Server
Third party components…
Required
Accepts HTTP/HTTPS communications
Hosts JSE Deployment
26 © 2005 Progress Software Corporation Progress 4GL Web Services
WSA Web Services Adapter
WSA = Java ™ servlet
Runs in JSE
Administers and provides access to deployed Progress 4GL Web services
Decodes and encodes SOAP messages Deployment
27 © 2005 Progress Software Corporation Progress 4GL Web Services
WSA in JSE on Web Server
HTTP Listener WSA Java Servlet SOAP / HTTP Consumer
28 © 2005 Progress Software Corporation Progress 4GL Web Services
Session Model
Session Managed
–
State-aware, State-reset, Stateless
–
Holds resources
Session Free
–
Does not maintain any state Deployment
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
Demonstration
Deployment
31 © 2005 Progress Software Corporation 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
–
Application to Application
Business to Business Background
–
End User
Portions of application available Consumer
33 © 2005 Progress Software Corporation Progress 4GL Web Services
The Client
POST SOAP over HTTP Response SOAP over HTTP Consumer Java™ .NET
Progress Other WSDL
34 © 2005 Progress Software Corporation Progress 4GL Web Services
Putting It All Together
Client (Consumer) HTTP Listener WSA Java Servlet Server (Provider) OpenEdge Application Server
35 © 2005 Progress Software Corporation
POST SOAP over HTTP Response SOAP over HTTP
Progress 4GL Web Services
Demonstration
Calling a Web Service Server (Provider)
36 © 2005 Progress Software Corporation 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