Scale Up Access to your 4GL Application using Web Services

advertisement
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
Download