4GL Application using

insidiousbehaviorΑσφάλεια

3 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

118 εμφανίσεις

Scale Up Access to your
4GL Application using
Web Services

David Lund

Sr. Training Program Manager, Progress

© 2005 Progress Software Corporation

2

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 Corporation

3

Progress 4GL Web Services

Agenda


Getting started


Standards


Web service provider


Deployment


Web service consumer

Progress 4GL Web Services

© 2005 Progress Software Corporation

4

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

Provider

© 2005 Progress Software Corporation

5

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 Corporation

6

Progress 4GL Web Services

Common Business Logic


OpenEdge
®

AppServer


=
C
enter 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 Corporation

7

Progress 4GL Web Services

Configuration

Client/

Server

Client

(Consumer)

Clients

OpenEdge

Application

Server

Server

(Provider)

Web

Service

© 2005 Progress Software Corporation

8

Progress 4GL Web Services

Sorting out the Acronyms

Standards

Provider

Deployment


Consumer

© 2005 Progress Software Corporation

9

Progress 4GL Web Services

Agenda


Getting started


Standards


Web service provider


Deployment


Web service consumer

Progress 4GL Web Services

© 2005 Progress Software Corporation

10

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

© 2005 Progress Software Corporation

11

Progress 4GL Web Services

WSDL

Web 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

© 2005 Progress Software Corporation

12

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

© 2005 Progress Software Corporation

13

Progress 4GL Web Services

OpenEdge

WSDL Style/Use


RPC/Encoded


Messages use remote
procedure call (RPC) model


D
ata format uses SOAP data
model


Document/Literal


Messages use XML
Document model


Defined as complex types in
Types section


D
ata format conforms to
standard XML schema

Standards

© 2005 Progress Software Corporation

14

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 Corporation

15

Progress 4GL Web Services

Agenda


Getting started


Standards


Web service provider


Deployment


Web service consumer

Progress 4GL Web Services

© 2005 Progress Software Corporation

16

Progress 4GL Web Services

Open Client Object Model

Proc

Object


Always one


Establishes connection


External procedures


Zero or more


Shares connection


Internal procedures/UDFs


Zero or more


Shares connection


External procedures

Provider

© 2005 Progress Software Corporation

17

Progress 4GL Web Services

WSM

Web Service Mapping File


Lists


Objects


Operations


Identifies Session Model


Initializes deployment
information


Created by ProxyGen

Provider

© 2005 Progress Software Corporation

18

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)

App

Object

Proc

Object

Sub
-

AppObj

Log

file

(.log)

© 2005 Progress Software Corporation

19

Progress 4GL Web Services

ProxyGen Tool

ProcObj

PersistenData.r

AppObj

FindEmpByNum.r

ListDeptEmp.r

Selecting procedures

© 2005 Progress Software Corporation

20

Progress 4GL Web Services

ProxyGen Tool

General Tab

AppService

Generation Options

Generated

Proxy

© 2005 Progress Software Corporation

21

Progress 4GL Web Services

ProxyGen Tool

Web Services Tab

Session Model

Generation Options

URL

Namespace

Style/Use

© 2005 Progress Software Corporation

22

Progress 4GL Web Services

Demonstration

ProxyGen

© 2005 Progress Software Corporation

23

Progress 4GL Web Services

Agenda


Getting started


Standards


Web service provider


Deployment


Web service consumer

Progress 4GL Web Services

© 2005 Progress Software Corporation

24

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

© 2005 Progress Software Corporation

25

Progress 4GL Web Services

JSE

Java Servlet Engine


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

Third party components…

Deployment

© 2005 Progress Software Corporation

26

Progress 4GL Web Services

Web Server


Required


Accepts HTTP/HTTPS
communications


Hosts JSE

Third party components…

Deployment

© 2005 Progress Software Corporation

27

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

© 2005 Progress Software Corporation

28

Progress 4GL Web Services

WSA in JSE

on Web Server

HTTP
Listener

WSA

Java Servlet

Web Server

SOAP

/
HTTP


Consumer

© 2005 Progress Software Corporation

29

Progress 4GL Web Services

Session Model


Session Managed


State
-
aware, State
-
reset,
Stateless


Holds resources



Session Free


Does not maintain any state

Deployment

© 2005 Progress Software Corporation

30

Progress 4GL Web Services

WSAD

Web Service Application Descriptor


Describes web service to the
WSA


Information on how to
access AppServer
application

Deployment

© 2005 Progress Software Corporation

31

Progress 4GL Web Services

Demonstration

Deployment

Progress Explorer

© 2005 Progress Software Corporation

32

Progress 4GL Web Services

Agenda


Getting started


Standards


Web service provider


Deployment


Web service consumer

Progress 4GL Web Services

© 2005 Progress Software Corporation

33

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 Corporation

34

Progress 4GL Web Services

The Client

POST

SOAP over HTTP

Response

SOAP over HTTP


Java


.NET

Progress

Other

Consumer

WSDL

© 2005 Progress Software Corporation

35

Progress 4GL Web Services

Putting It All Together

HTTP
Listener

WSA

Java Servlet

Web Server

POST

SOAP over HTTP

Response

SOAP over HTTP

Client

(Consumer)

OpenEdge

Application

Server

Server

(Provider)

© 2005 Progress Software Corporation

36

Progress 4GL Web Services

Demonstration

Calling a

Web

Service

Server

(Provider)

© 2005 Progress Software Corporation

37

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 Corporation

38

Progress 4GL Web Services

Documentation


OpenEdge Development


Web Services


Progress 4GL
Reference

© 2005 Progress Software Corporation

39

Progress 4GL Web Services

Questions?

Client/

Server

Web

Service

Client

Clients

OpenEdge

Application

Server

Server

© 2005 Progress Software Corporation

40

Progress 4GL Web Services

Thank you for
your time!

© 2005 Progress Software Corporation

41

Progress 4GL Web Services