410 likes | 938 Views
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
E N D
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 Progress 4GL Web Services
Agenda Progress 4GL Web Services • Getting started • Standards • Web service provider • Deployment • Web service consumer 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 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 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® Progress 4GL Web Services
Configuration Clients Client/ Server Server (Provider) OpenEdge Application Server Web Service Client (Consumer) Progress 4GL Web Services
Sorting out the Acronyms Provider Deployment Standards SOAP WSDL XML Schema Style/Use HTTP/HTTPS JSE Web Server WSA Session ModelWSAD AppObj ProcObj SubAppObj WSM Consumer Progress 4GL Web Services
Agenda Progress 4GL Web Services • Getting started • Standards • Web service provider • Deployment • Web service consumer 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 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 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 SOAP WSDL XML Schema 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 SOAP WSDL XML Schema Style/Use 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 Progress 4GL Web Services
Agenda Progress 4GL Web Services • Getting started • Standards • Web service provider • Deployment • Web service consumer Progress 4GL Web Services
Open Client Object Model Provider • Always one • Establishes connection • External procedures App Object AppObj ProcObj SubAppObj • Zero or more • Shares connection • Internal procedures/UDFs Proc Object • Zero or more • Shares connection • External procedures Sub- AppObj Progress 4GL Web Services
WSMWeb Service Mapping File • Lists • Objects • Operations • Identifies Session Model • Initializes deployment information • Created by ProxyGen Provider WSM AppObj ProcObj SubAppObj Progress 4GL Web Services
ProxyGen Tool App Object Proc Object 4GL Business Logic (r-code) Sub- AppObj Web Service Description Language file (.wsdl) Project file (.xpxg) Web Services Mapping file (.wsm) Log file (.log) Progress 4GL Web Services
ProxyGen Tool Selecting procedures AppObj FindEmpByNum.r ListDeptEmp.r ProcObj PersistenData.r Progress 4GL Web Services
ProxyGen ToolGeneral Tab Generation Options AppService Generated Proxy Progress 4GL Web Services
ProxyGen ToolWeb Services Tab Generation Options Session Model Namespace URL Style/Use Progress 4GL Web Services
Demonstration ProxyGen Progress 4GL Web Services
Agenda Progress 4GL Web Services • Getting started • Standards • Web service provider • Deployment • Web service consumer 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 Progress 4GL Web Services
JSEJava Servlet Engine Third party components… • 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 Deployment JSE HTTP/HTTPS Progress 4GL Web Services
Web Server Third party components… • Required • Accepts HTTP/HTTPS communications • Hosts JSE Deployment Web Server HTTP/HTTPS JSE 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/HTTPS JSE Web Server Progress 4GL Web Services
WSA in JSEon Web Server HTTP Listener Web Server WSA Java Servlet Consumer SOAP/ HTTP Progress 4GL Web Services
Session Model • Session Managed • State-aware, State-reset, Stateless • Holds resources • Session Free • Does not maintain any state Deployment HTTP/HTTPS JSE Web Server WSA Session Model Progress 4GL Web Services
WSADWeb Service Application Descriptor • Describes web service to the WSA • Information on how to access AppServer application Deployment WSAD HTTP/HTTPS JSE Web Server WSA Session Model Progress 4GL Web Services
Demonstration Progress Explorer Deployment Progress 4GL Web Services
Agenda Progress 4GL Web Services • Getting started • Standards • Web service provider • Deployment • Web service consumer 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 Progress 4GL Web Services
The Client Consumer POST SOAP over HTTP Java™.NET Progress Other Response SOAP over HTTP WSDL Progress 4GL Web Services
Putting It All Together HTTP Listener Web Server WSA Java Servlet Client (Consumer) POST SOAP over HTTP Response SOAP over HTTP Server (Provider) OpenEdge Application Server Progress 4GL Web Services
Demonstration Server (Provider) Calling a Web Service Client (Consumer) 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 Progress 4GL Web Services
Documentation • OpenEdge Development • Web Services • Progress 4GL Reference Progress 4GL Web Services
Questions? Server Client/ Server Clients OpenEdge Application Server Web Service Client Progress 4GL Web Services
Thank you for your time! Progress 4GL Web Services