Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2002, Progress Software Corporation 1 D I S C L A I M E R Products Under Development n This talk includes information about potential future products.

Similar presentations


Presentation on theme: "© 2002, Progress Software Corporation 1 D I S C L A I M E R Products Under Development n This talk includes information about potential future products."— Presentation transcript:

1 © 2002, Progress Software Corporation 1 D I S C L A I M E R Products Under Development n This talk includes information about potential future products and/or product enhancements. n What I am going to say reflects our current thinking, but some information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here. n In other words - you can’t believe everything I’m going to say.

2 The Web Services Development Toolkit J. Espen Stokke estokke@progress.com Professional Services Manager, Norway

3 © 2002, Progress Software Corporation 3 Agenda Introduction OpenEdge, Web Services WSTK Architecture Developing & Deployment with the WSTK Connection Management Open Client Object Model Demo..... That's All Folks… Integration

4 © 2002, Progress Software Corporation 4 Progress OpenEdge  : Enkelt, Integrert, Åpent Progress Dynamics ™ SonicMQ  SonicXQ  Web Services Dev. Toolkit AppServer  WebSpeed  Transaction Server RDBMS DataServers WebClient  WebSpeed  Open Client GUI/ChUI Progress 4GL Actuate CorVu Report Builder Query/Results Fathom TM ProVision TM WebSpeed  Workshop Applications

5 © 2002, Progress Software Corporation 5 OpenEdge Integration SonicMQ & SonicXQ Web Services Development Toolkit “Using Web services will help reduce costs and improve the efficiency of IT projects by 30 percent.” Daryl Plummer Sr. VP, Gartner Group

6 © 2002, Progress Software Corporation 6 One definition of a Web Service An application that can be accessed over the Web or any network from another application using RPC style calls encoded using SOAP over HTTP where the interface can be described using WSDL. “Web Services is the telephone for applications.” How is the weather in Bedford? Integration

7 © 2002, Progress Software Corporation 7 Web Services n Service Producer (Server) –Develops, publishes & deploys the Web Service n Service Registry –Directory of Web Services n Service Consumer (Client) –Locates & uses Web Services “Logical Model” n Integration

8 © 2002, Progress Software Corporation 8 Web Services Standards n HTTP Hypertext Transfer Protocol –Protocol for sending data over the Web n XML eXtensible Markup Language –Standard way to represent & exchange data n SOAP Simple Object Access Protocol –XML based messaging protocol (eg. RPCs) –An extensible message format n WSDL Web Service Description Language –XML based language –A Service Description language n UDDI –A standard for Web Service registries –A way to discover Web Service providers Integration

9 © 2002, Progress Software Corporation 9 HTTP n Stateless, connectionless, request/reply protocol n Use is ubiquitous throughout the internet n Most commonly used methods: –GET used for most web pages n Client can send some data in URL parameters –POST allows client to send arbitrary body of data n HTML forms are a commonly found example n Common Web Service usage: –Request/response via POST method –Body contains data (eg. SOAP message) n Can pass through most firewalls Hypertext Transfer Protocol Integration

10 © 2002, Progress Software Corporation 10 XML n Self-describing n Easy to use n Structured n International n Can be validated –DTD, XML Schema n Many tools avail for most platforms, languages n Not inherently associated with presentation semantics –More flexible than HTML eXtensible Markup Language Integration

11 © 2002, Progress Software Corporation 11 XML Example 5 Go Fishing Ltd 83 Ponders End Rd Harrow Middlesex HA8 3LU 14235.14 Integration

12 © 2002, Progress Software Corporation 12 SOAP n XML based messaging n Typically used for RPCs over HTTP n Language and platform independent n Request/Response n W3C Note – defacto standard http://www.w3.org/TR/SOAP Simple Object Access Protocol Integration

13 © 2002, Progress Software Corporation 13 SOAP n SOAP Envelope n SOAP Header –Mechanism for app- specific extensions n SOAP Body –Main business content –Usually uses SOAP encoding SOAP Envelope SOAP Header SOAP Body App-Specific Body Elements App-Specific Header Elements Simple Object Access Protocol Integration

14 © 2002, Progress Software Corporation 14 <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> qadi SOAP Example Stock Quote Web Service – Request Message Integration

15 © 2002, Progress Software Corporation 15 <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 99.8503 SOAP Example Stock Quote Web Service – Reply Message Integration

16 © 2002, Progress Software Corporation 16 WSDL n What can it do? n How do I invoke it? n Where does it reside? Web Service Description Language Integration

17 © 2002, Progress Software Corporation 17 WSDL n Specifies interface –Business methods that can be invoked (“operations”) –Message structure for each method n Data fields, types –Bindings for the operations n eg. SOAP over HTTP n Identifies network address of Web Service Web Service Description Language Integration

18 © 2002, Progress Software Corporation 18 Machine B CreditChk UDDI Registry GetWeather 2. Web service made available to public, by publishing its WSDL to a UDDI registry Web Services How is the weather in Bedford? Machine A GetWeather WS GetWeather WS 1. Web service is built and deployed, ready to be published. Machine C Client 3. Client searches for available weather services 4. Client finds access info about GetWeather 5. Client makes info request directly to service 6. Service sends result back to client Integration

19 © 2002, Progress Software Corporation 19 Agenda Web Services WSTK Architecture Developing & Deployment with the WSTK Connection Management Open Client Object Model That's All Folks… Integration

20 © 2002, Progress Software Corporation 20 Web Services Toolkit Roadmap n Phase 1 –Web Service-enabled AppServer –Web Service Client is another Open Client n Phase 2 –4GL to a Web Service –It’s just like calling another AppServer, e.g. RUN foo on SERVER web-service-hdl. Integration

21 © 2002, Progress Software Corporation 21 Web Services Toolkit n Generate a WSDL file for an AppServer- based application based on the Open Client programming model n Runtime infrastructure so that an AppServer can be accessed as a Web Service Phase 1 Integration

22 © 2002, Progress Software Corporation 22 Web Services Toolkit Components n Web Services Adapter (WSA) n WSTK enhanced ProxyGen n WSTK enhanced Progress Explorer Integration

23 © 2002, Progress Software Corporation 23 Web Services Toolkit Runtime Architecture HTTP Listener Web Services Adapter Web Server (JSE) AppServers WSDL Files WSADs ubroker.properties POST(Soap) Web Service Client Response(Soap) Integration

24 © 2002, Progress Software Corporation 24 Web Services Adapter n Progress provided Java Servlet n Can use any Web Server and JSE that supports the JSE V2.2 specification n Manages all communications between a Web Service client and an AppServer n Converts a SOAP request to an AppServer request using a Web Service Application descriptor (WSAD) n One WSAD deployed for each application n Configured using Progress Explorer Integration

25 © 2002, Progress Software Corporation 25 WSAD n One WSAD per application identified by XML namespace n Conceptually similar to Open Client proxies n Includes: –Application service to use –4GL procedure to call for each SOAP request –Parameter and datatype information n Deployed to a WSA and maintained persistently Integration

26 © 2002, Progress Software Corporation 26 Agenda Web Services WSTK Architecture Developing & Deployment with the WSTK Connection Management Open Client Object Model That's All Folks… Integration

27 © 2002, Progress Software Corporation 27 Development Site Deployment Site WSM ProxyGen 4GL Progress Explorer WSM Web Server Site WSM WSDLs Web Services Adapter WSADs HTTP Listener Soap Request/Response GET WSDL ?? Deploying an Application Integration

28 © 2002, Progress Software Corporation 28 ProxyGen Development Site Business logic Proxies 4GL.r files Java classes ActiveX Web Services Mapping File Integration

29 © 2002, Progress Software Corporation 29 Development Site n Using ProxyGen –Create ProxyObjects n AppObject (One) n SubAppObjects (Optional – many) n ProcObjects (Optional – many) –Initiate generation of Web Service Mapping (WSM) file –Specify whether application is session managed or session free – more on this later n Package the AppServer application for deployment including the WSM file Step 1: Prepare Application For Deployment Integration

30 © 2002, Progress Software Corporation 30 Web Server Site n Install JSE at Web Server as required n Install Web Services Adapter (WSA) within JSE n Configure WSA by editing ubroker.properties or using Progress Explorer –Log file –URL of WSA instance –Controlling NameServer Step 2: Configure WSA for access Integration

31 © 2002, Progress Software Corporation 31 Deployment Site n Specify: –WSA instance to use –Location of WSM –WSDL Generation Info n Target namespace n WSDL Encoding –Application Service of corresponding AppServer n Results in: –WSM being sent to WSA instance along with WSDL generation info –WSDL and WSAD being generated by WSA instance –WSAD being loaded so application is available for access Step 3: Run Progress Explorer to Deploy Application Integration

32 © 2002, Progress Software Corporation 32 Web Services Communication Model Web Service Client BusinessLogic AppServers Web Server DatabaseServer.NET Java Perl WSADs WSA HTTP Listener “Open Client Runtime” WSDLs HTTP Post HTTP Response Integration

33 © 2002, Progress Software Corporation 33 Web Services Communication Model, cont. n Client sends a SOAP request to the WSA n The WSA maps the request to a procedure on the AppServer using the WSAD n The WSA asks the AppServer to run the procedure n The WSA creates a SOAP response or fault and sends it to the client n Remember - No Progress code on the client!! Integration

34 © 2002, Progress Software Corporation 34 Agenda Web Services WSTK Architecture Developing & Deployment with the WSTK Connection Management Open Client Object Model That's All Folks… Integration

35 © 2002, Progress Software Corporation 35 Connection Management n Session Managed –State-aware –State-reset –Stateless n Session Free Specified via ProxyGen Integration

36 © 2002, Progress Software Corporation 36 ApplicationServer ApplicationServer Stateless ApplicationBroker AppServer WSAWSA Web Services Client Connect Web Services Client Integration

37 © 2002, Progress Software Corporation 37 ApplicationServer ApplicationServer Stateless ApplicationBroker AppServer WSAWSA Web Services Client Client RUN Part RUN cust Integration

38 © 2002, Progress Software Corporation 38 ApplicationServer ApplicationServer Stateless ApplicationBroker AppServer WSAWSA Web Services Client Client Integration

39 © 2002, Progress Software Corporation 39 ApplicationServer ApplicationServer Session Free ApplicationBroker AppServer WSAWSA Web Services Client Client RUN Part RUN cust Integration

40 © 2002, Progress Software Corporation 40 ApplicationServer ApplicationServer Session Free ApplicationBroker AppServer WSAWSA Web Services Client Client Integration

41 © 2002, Progress Software Corporation 41 Agenda Web Services WSTK Architecture Deploying an Application with the WSTK Connection Management Open Client Object Model That's All Folks… Integration

42 © 2002, Progress Software Corporation 42 Open Client Object Model n Object types: –ApplicationObjects (AppObjects) –Sub-ApplicationObjects (Sub-AppObjects) –ProcedureObjects (ProcObjects) n Objects are used to: –Provide access to the 4GL logic running on the AppServer –Provide runtime context (if necessary) ApplicationObjectProcedureObjectSub-AppObject Integration

43 © 2002, Progress Software Corporation 43 AppServer Session Model n Session Managed –Connection is established by the client –Connection is dedicated by the WSA to the AppServer for that client –AppServers today follow this model (state-aware, state-reset, stateless) n Session Free –No connection required –Pool of network resources in the WSA shared by all clients –Web Services design center (state-free) Integration

44 © 2002, Progress Software Corporation 44 AppObject n Session Managed –Connection to the AppServer established by “Connect_” method –Methods to run non-persistent procedures and to create other objects –Context information managed by client –Connection released by calling “Release_” n Session Free –Methods to run non-persistent procedures and to create other objects –No connect method, no context information ApplicationObject Integration

45 © 2002, Progress Software Corporation 45 ProcObject n Session Managed and Session Free –Created by calling “CreatePO_” method on the AppObject or Sub-AppObject n Persistently runs the 4GL procedure on the AppServer n Returns context information –Methods to run non-persistent procedures –Connection released by calling “Release_” –Context information managed by client –Not recommended for Session Free ProcedureObject Integration

46 © 2002, Progress Software Corporation 46 Sub-AppObject n Session Managed and Session Free –Created by calling “CreateAO_” method on the AppObject n Returns context information –Methods to run non-persistent procedures and to create ProcObjects –Context information managed by client –Connection released by calling “Release_” –Not recommended for Session Free Sub-AppObject Integration

47 © 2002, Progress Software Corporation 47 Object Relationships at Runtime: Session Managed n Call Connect on AppObject first to establish connection n All objects share single connection n Context information must be managed by client n Connection maintained until all objects released ApplicationObject ProcedureObject ProcedureObject Sub-AppObject ProcedureObject Method1Method2Method1Method2 MethodXMethodX Proc1Proc2FuncXProc1Proc2FuncX Integration

48 © 2002, Progress Software Corporation 48 Object Relationships at Runtime: Session Free n Simply call methods on the AppObject to run non- persistent procedures n No context information for AppObject n Warning: ProcObjects and Sub-AppObjects force connection and context management – Not recommended! ApplicationObject ProcedureObject ProcedureObject Sub-AppObject ProcedureObject Method1Method2Method1Method2 MethodXMethodX Proc1Proc2FuncXProc1Proc2FuncX Integration

49 © 2002, Progress Software Corporation 49 A Look at ProxyGen ProxyGen works the same for Web Services as it does for Java and ActiveX Define the Objects and generate the proxy for the client (WSM/WSDL) New deployment step required in Progress Explorer Integration

50 © 2002, Progress Software Corporation 50 ProxyGen: Select 4GL Procedures Select the 4GL procedures for each object Optionally customize the procedure definition Integration

51 © 2002, Progress Software Corporation 51 ProxyGen: Generate Select Web Services Client Select Session Model Integration

52 © 2002, Progress Software Corporation 52 ProxyGen: Generate Enter initial deployment information: –Namespace –WSA URL –SOAP Action –Test WSDL Generate the “proxy” Integration

53 © 2002, Progress Software Corporation 53 Required Information for Web Services Generation n Namespace –Unique identifier for the Web Service –Must be unique at the WSA instance n WSA URL –URL identifying the location of the WSA n SOAP Action –May be blank, client may need n Test WSDL –Supports a single style/use Integration

54 © 2002, Progress Software Corporation 54 Generating the “Proxy” n Proxy Generation for Web Services –Uses the 4GL code to generate a Web Services Mapping (WSM) file –Optionally generates a Test WSDL file n Deployment Phase –Done in Progress Explorer or wsaman –Converts the WSM file to a WSAD –Deployer can change ProxyGen settings –WSDL available through the WSA http://localhost:8080/wsa/wsa1/wsdl?targetURI=OrderService Integration

55 © 2002, Progress Software Corporation 55 Summary n Web Service enabled AppServer based on Open Client model n Progress provides the technology you need so you can focus on your business and application requirements Web Services coming to an application near you soon Web Services coming to an application near you soon Integration

56

57 © 2002, Progress Software Corporation 57 Questions


Download ppt "© 2002, Progress Software Corporation 1 D I S C L A I M E R Products Under Development n This talk includes information about potential future products."

Similar presentations


Ads by Google