41
Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

  • View
    221

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

Scale Up Access to your 4GL Application using Web Services

David LundSr. Training Program Manager, Progress

Page 2: Scale Up Access to your 4GL Application using Web Services David Lund Sr. 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

Page 3: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation3 Progress 4GL Web Services

Agenda

Getting started

Standards

Web service provider

Deployment

Web service consumer

Progress 4GL Web Services

Page 4: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 5: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 6: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 7: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation7 Progress 4GL Web Services

Configuration

Client/Server

Client(Consumer)

Clients

OpenEdgeApplication

Server

Server(Provider)

WebService

Page 8: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 9: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation9 Progress 4GL Web Services

Agenda

Getting started

Standards

Web service provider

Deployment

Web service consumer

Progress 4GL Web Services

Page 10: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 11: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 12: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 13: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 14: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 15: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation15 Progress 4GL Web Services

Agenda

Getting started

Standards

Web service provider

Deployment

Web service consumer

Progress 4GL Web Services

Page 16: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 17: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 18: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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)

Page 19: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation19 Progress 4GL Web Services

ProxyGen Tool

ProcObjPersistenData.r

AppObjFindEmpByNum.r

ListDeptEmp.r

Selecting procedures

Page 20: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation20 Progress 4GL Web Services

ProxyGen ToolGeneral Tab

AppServiceAppService

Generation Options

GeneratedGeneratedProxyProxy

Page 21: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation21 Progress 4GL Web Services

ProxyGen ToolWeb Services Tab

Session ModelGeneration Options

URL

Namespace

Style/Use

Page 22: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation22 Progress 4GL Web Services

Demonstration

ProxyGen

Page 23: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation23 Progress 4GL Web Services

Agenda

Getting started

Standards

Web service provider

Deployment

Web service consumer

Progress 4GL Web Services

Page 24: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 25: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 26: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 27: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 28: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation28 Progress 4GL Web Services

WSA in JSEon Web Server

HTTP Listener

WSAJava Servlet W

eb S

erve

r

SOAP / HTTPConsumer

Page 29: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 30: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 31: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation31 Progress 4GL Web Services

Demonstration

Deployment

Progress E

xplorer

Page 32: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation32 Progress 4GL Web Services

Agenda

Getting started

Standards

Web service provider

Deployment

Web service consumer

Progress 4GL Web Services

Page 33: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 34: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation34 Progress 4GL Web Services

The Client

POST SOAP over HTTP

ResponseSOAP over HTTP

Java™.NET

ProgressOther

Consumer

WSDL

Page 35: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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)

Page 36: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation36 Progress 4GL Web Services

Demonstration

Calling aWeb

Service

Server(Provider)

Client(Consumer)

Page 37: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 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

Page 38: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation38 Progress 4GL Web Services

Documentation

OpenEdge Development– Web Services

– Progress 4GL Reference

Page 39: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation39 Progress 4GL Web Services

Questions?Client/Server

WebService

Client

ClientsOpenEdgeApplication

Server

Server

Page 40: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation40 Progress 4GL Web Services

Thank you for your time!

Page 41: Scale Up Access to your 4GL Application using Web Services David Lund Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation41 Progress 4GL Web Services