Developing with Genero Web Services

Size: px
Start display at page:

Download "Developing with Genero Web Services"

Transcription

1 Developing with Genero Web Services This course is based on the Genero Web Services Extension Version 2.11 Version Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher

2 THIS PAGE INTENTIONALLY LEFT BLANK

3 Course Introduction Genero Web Services Welcome 2007 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Copyright 2008 Four J's Development Tools, Inc. 1

4 Course Introduction Course Objectives At the end of this course, you will be able to: Create and deploy web services server applications Create web service client applications to consume web services Copyright 2008 Four J's Development Tools, Inc. 2

5 Course Introduction Course Agenda Copyright 2008 Four J's Development Tools, Inc. 3

6 Course Introduction Class Logistics Your instructor will give you information on: Telephone and restroom location Local person to whom you can ask about the area Lunch plans and eatery locations Copyright 2008 Four J's Development Tools, Inc. 4

7 Course Introduction Introducing Four J s Your Instructor Reuben Barclay reuben@4js.com.au support@4js.com.au (for any support queries) licence@4js.com.au (for any licensing queries) (downloads, documentation, forums) Genero Family includes BDL/FGL Business Development Language GAS Genero Application Server GDB Genero Database GDC Genero Desktop Client GDC-AX - Genero Desktop Active X Client GST Genero Studio GWC Genero Web Client GWS Genero Web Services AG Application Generator Coming Soon GRW Genero Report Writer Copyright 2008 Four J's Development Tools, Inc. 5

8 Course Introduction Introductions Four Facts (10 minutes) 1. Tell us your name and who you work for 2. Tell us how long you have been working with Informix-4GL or Genero 3. Tell us one thing you like about 4GL/Genero. Do not repeat what someone has already suggested 4. Tell us one thing you don t like (or feature you d like to see). Do not repeat what someone has already suggested Copyright 2008 Four J's Development Tools, Inc. 6

9 01 - Introduction An Introduction to the Genero Web Services Extension Genero Web Services Extension Module Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Copyright 2008 Four J's Development Tools, Inc. 1

10 01 - Introduction Module Objectives At the end of this module, you will be able to: Identify when to include Web Services in your solution Provide an overview of a typical Web Service architecture Explain and use standard Web Service technologies Install the correct version of the Genero Web Services Extension for your environment Locate sample / demo applications For detailed information about creating a GWS client, refer to the following Help topics: Writing a Web Services function Tutorial: Writing a GWS Server Application Choosing a Web Services Style The fglwsdl tool (WSDL) Copyright 2008 Four J's Development Tools, Inc. 2

11 01 - Introduction Web Service Definition What is a Web service? Standard platform for building interoperable distributed applications Web services do not require the use of a browser or HTML Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions, which can be anything from simple requests to complicated business processes. A sample Web service might provide stock quotes or process credit card transactions. Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service. -- Doug Tidwell, Evangelist for Web services at IBM The term Web services describes a standardized way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. XML is used to tag the data, SOAP is used to transfer the data, WSDL is used for describing the services available and UDDI is used for listing what services are available. Used primarily as a means for businesses to communicate with each other and with clients, Web services allow organizations to communicate data without intimate knowledge of each other's IT systems behind the firewall. Unlike traditional client/server models, such as a Web server/web page system, Web services do not provide the user with a GUI. Web services instead share business logic, data and processes through a programmatic interface across a network. The applications interface, not the users. Developers can then add the Web service to a GUI (such as a Web page or an executable program) to offer specific functionality to users. Web services allow different applications from different sources to communicate with each other without time-consuming custom coding, and because all communication is in XML, Web services are not tied to any one operating system or programming language. For example, Java can talk with Perl, Windows applications can talk with UNIX applications. Web services do not require the use of browsers or HTML. -- Webopedia (technical term dictionary) A key feature of Web services is that you can write a Web service in any programming language and on any platform you like, as long as the Web service can be viewed and accessed according to the standards set by the W3C consortium. Because of these standards, clients and servers are able to communicate over HTTP, regardless of the platform or programming language. Copyright 2008 Four J's Development Tools, Inc. 3

12 01 - Introduction Provider and Consumer Web Services consist of a server-side provider and a client-side consumer Client Consumer Server Provider Internet Understands a service description Consumes a service Exposes services Receives input Processes data Sends output Copyright 2008 Four J's Development Tools, Inc. 4

13 01 - Introduction Web Services Web services are the internet of applications: They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web They are self-sufficient (human interactivity is not required) Web services perform functions, from simple requests to complicated business processes Once deployed, other applications (and other Web services) can discover and invoke the Web service Can be called and used from any BDL Client, not just Web Can work between homogeneous BDL programs (Ex: HR- Finance) or heterogeneous programs (Ex: MS.Net program calling BDL Web service) Copyright 2008 Four J's Development Tools, Inc. 5

14 01 - Introduction Benefits Why use a Web Service? Ease partner-to-partner interaction Make application integration easier Create new business opportunities Give business more and better choices Give enterprises competitive advantages over rivals Improve efficiency in trusted environments * Source: Gartner What Web Services Will and Won't Do, February Copyright 2008 Four J's Development Tools, Inc. 6

15 01 - Introduction Typical Web Service Architecture 4 Web client 3 2 Windows client Other platforms SOAP Request SOAP Response 5 Web Service Request Handler Web Server The architecture shown above is typical if you use SOAP over HTTP to invoke a Web service (regardless of the tools or programming languages you use to build Web services). 1. You build your Web service using your preferred programming language, and then expose it. 2. A client stub is generated from the WSDL, in any programming language using your SOAP toolkit, and then invokes your Web Service. 3. The client formulates a SOAP request based on the service description. (NOTE: Your Web service sits behind a Web server which receives the SOAP request message as part of an HTTP POST request.) 4. The Web server forwards the request to a Web service request handler for processing. The request handler is responsible for parsing the SOAP request, invoking your Web service, and creating the proper SOAP response. 5. The Web server takes this SOAP response and sends it back to the client as part of the HTTP response. Copyright 2008 Four J's Development Tools, Inc. 7

16 Web Services Standards XML XML Schema SOAP WSDL HTTP

17 01 - Introduction Organizations Communities work together for interoperability W3C World Wide Web consortium WSI Web Services Interoperability organization Online labs, newsgroups, to check for the interoperability of the Web Services implementations SOAPBuilders Interoperability Lab Copyright 2008 Four J's Development Tools, Inc. 9

18 01 - Introduction The Web Services Platform Technologies that make up the Web services platform are: XML - Tags the data SOAP - Transfers the data WSDL - Describes the service UDDI - Lists the services available The technologies listed above are discussed in more detail on the pages that follow. Copyright 2008 Four J's Development Tools, Inc. 10

19 01 - Introduction The major standard: XML XML: Structured, portable documents Text-based Markup language (as HTML) Structured Extensible Portable <?xml version="1.0"?> <Person> <Firstname>Jean-Georges</Firstname> <Lastname>Schwartz</Lastname> </Person> <Person> <Firstname>Christophe</Firstname> <Lastname>Meyer</Lastname> </Person> XML is an acronym for Extensible Markup Language, a specification developed by the W3C. XML is a vendor-neutral, pared-down version of SGML, designed especially for Web documents. It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations. Copyright 2008 Four J's Development Tools, Inc. 11

20 01 - Introduction Standard: XML Schema XML Schema: Document format Successor of DTD (Document Type Definition) Description of the document format Allows checking for the correctness of a document <schema> <element name= "Person"> <complextype> <sequence> <element name="firstname" type="string /> <element name="lastname" type="string /> </sequence> </complextype> </element> </schema> Copyright 2008 Four J's Development Tools, Inc. 12

21 01 - Introduction Standard: SOAP SOAP: Envelope for a document Protocol Defines messages exchanged between client and server Messages are in XML Can be used with any transport protocol mainly HTML <?xml version="1.0"?> <soap:envelope> <soap:body> <Person> <Firstname>Jean-Georges</Firstname> <Lastname>Schwartz</Lastname> </Person> </soap:body> </soap:envelope> SOAP is short for Simple Object Access Protocol. SOAP provides a way for applications to communicate with each other over the Internet, independent of platform. Unlike OMG's IIOP, SOAP piggybacks a DOM onto HTTP (port 80) in order to penetrate server firewalls (usually configured to accept port 80 and port 21 (FTP) requests). SOAP relies on XML to define the format of the information and adds the necessary HTTP headers to send it. While used mainly with HTML, you can also send SOAP messages on SMTP or directly on TCP (for the GWC). Copyright 2008 Four J's Development Tools, Inc. 13

22 01 - Introduction Standard: WSDL WSDL: Description of the services Lists the services on a server Describes the contents of the messages to exchange Indicates the service location <definition> <porttype name="calculatorsoap"> <operation name="add"> <input message="addrequest"> <output message="addresponse"> </operation> </porttype> <service name="calculator"> <soap:address location=" </service> </definition> WSDL is short for Web Services Description Language. WSDL is an XML-formatted language used to describe a Web service's capabilities as collections of communication endpoints capable of exchanging messages. WSDL is an integral part of UDDI, an XML-based worldwide business registry (discussed on the following page). WSDL was developed jointly by Microsoft and IBM. Copyright 2008 Four J's Development Tools, Inc. 14

23 01 - Introduction Standard: UDDI UDDI: Web-based distributed directory Like a Yellow Pages for published Web Services List businesses by: name product location Web services UDDI is a Web Service, and therefore can be accessed with any Web Service client UDDI is an acronym for Universal Description, Discovery and Integration. UDDI is a Web-based distributed directory that enables business to list themselves on the Internet and to discover Web services listed by others. UDDI is similar to a traditional phone book's yellow and white pages. UDDI uses WSDL as its language for providing the information needed to use a listed Web service. Copyright 2008 Four J's Development Tools, Inc. 15

24 01 - Introduction New Features 2.0 Web Services Style (DOC/Literal & RPC/Literal) fglwsdl for WSDL stub generation (client or server) IMPORT com (no runner creation required!) SOAP header management HTTPS support on client side Connections via proxies on client side Multiple Web Services in a single DVM Service Location Repository Serializing Genero Data Types WSHelper.42m library file For more information, refer to Help topic New Features Verison 2.0 Genero Web Services Starting with this 2.11 release, the Genero Web Services extension offers a new HTTP Server low level API allowing to develop REST services or any other HTTP based services, such as RSS. This release will also fix several bugs and offers other significant enhancements, such as XSD Facet constraints thanks to new 4GL attributes. Copyright 2008 Four J's Development Tools, Inc. 16

25 01 - Introduction GWS Installation Add-on to Genero BDL Version numbers MUST match BDL must be installed first Genero Application Server required for production environment Not required for development IBM-AIX require additional package (see technical documentation for more information) For more information, see the Help topic Installation: Genero Web Services Extension Copyright 2008 Four J's Development Tools, Inc. 17

26 01 - Introduction Examples $FGLDIR/demo/WebServices Two applications (both client and server) calculator echo Refer to readme.txt for instruction on use Demo applications are often a great place to examine existing code for reuse in your applications. Copyright 2008 Four J's Development Tools, Inc. 18

27 02 - Creating a Web Services Server Creating a Web Service Server Genero Web Services Extension Module Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Copyright 2008 Four J's Development Tools, Inc. 1

28 02 - Creating a Web Services Server Module Objectives At the end of this module, you will be able to: Create a Web Services server (producer) Create a Web Services server based on information from an existing third-party WSDL Generate a WSDL for a Web Service created with GWS Copyright 2008 Four J's Development Tools, Inc. 2

29 02 - Creating a Web Services Server Creating a GWS Server Define all operations your Web Service will provide (write BDL functions) Define Input and Output records for each operation Publish Operation Register the Service Start Service & Process Requests The first step when defining a Web Service server is to define all the operations the server will provide, and then For detailed information about creating a GWS client, refer to the following Help topics: Writing a Web Services function Tutorial: Writing a GWS Server Application Choosing a Web Services Style The fglwsdl tool (WSDL) Copyright 2008 Four J's Development Tools, Inc. 3

30 02 - Creating a Web Services Server Define Input and Output Input parameters and return values not allowed One global or module variable per function permitted for Input message Output message Message must be a RECORD where each field represents a parameter Genero 2.0 permits adding of optional attributes mapping to XML data types For detailed information about XML data type mapping, see the Help topic Attributes to Customize XML Mapping. This Help topic contains links to the relevant W3C web pages that discuss and detail XML data types and XML schema use. Copyright 2008 Four J's Development Tools, Inc. 4

31 02 - Creating a Web Services Server Define Input and Output (example) GLOBALS DEFINE add_in RECORD -- input record a INTEGER, b INTEGER END RECORD, add_out RECORD -- output record r INTEGER END RECORD END GLOBALS Copyright 2008 Four J's Development Tools, Inc. 5

32 02 - Creating a Web Services Server Write BDL Function A normal BDL function using the input and output records defined Cannot have input and output parameters Must use global or module record to provide input and output values Each function can become a separate Web service operation and requires its own global or module record Copyright 2008 Four J's Development Tools, Inc. 6

33 02 - Creating a Web Services Server Write BDL Function (example) FUNCTION add() LET add_out.r = add_in.a + add_in.b END FUNCTION Copyright 2008 Four J's Development Tools, Inc. 7

34 02 - Creating a Web Services Server Publish the Operation, Register the Service Import Library Create Web Service Create Operation IMPORT com... FUNCTION createservice() DEFINE serv com.webservice DEFINE op com.weboperation LET serv = com.webservice.createwebservice( "MyCalculator", " LET op = com.weboperation.createrpcstyle( "add", "Add", add_in, add_out) Publish the Operation Register the Service CALL serv.publishoperation(op,null) CALL com.webserviceengine.registerservice( serv) END FUNCTION The following slides further examine creating a Web service and creating an operation. Note: Creating a Web service and operation, publishing the operation, and registering the service are typically contained within a single function. This function is called from the MAIN module. Important: Each module included in the Web Service server application must IMPORT the Genero Web Services Extension Library ( com ). Copyright 2008 Four J's Development Tools, Inc. 8

35 02 - Creating a Web Services Server Create Web Service LET serv = com.webservice.createwebservice( "MyCalculator", " Parameters Service name Namespace Selecting a valid Namespace Must be a unique identifier (URI: Uniform Resource Identifier) If you do not know the unique identifier to use, use your company's Web site domain name and append any string You can use the temporary namespace for testing and development Within the same application: If you register two services with the same name, registration will fail. If you register two services with different names, even if they have the same namespace, registration will succeed. In different applications but located on the same host: You must manage as it will be possible to register two separate Web services applications with identical service names and namespaces, and this can lead to problems. Therefore it is recommended to use a different namespace for each 4GL Web service application and the same namespace for all Web service applications within a single 4GL application (42r). Copyright 2008 Four J's Development Tools, Inc. 9

36 02 - Creating a Web Services Server Create Operation LET op = com.weboperation.createrpcstyle( "add", "Add", add_in, add_out ) LET op = com.weboperation.createdocstyle( "add", "Add", add_in, add_out ) Choose Web Services Style RPC Style Service (RPC/Literal) Document Style Service (DOC/Literal) Parameters Name of the 4GL function Name to assign to the operation Input record defining the input parameters for the operation (NULL if there is none) Output record defining the output parameters for the operation (NULL if there is none) Calling the appropriate function for the desired style is the only difference in your Genero code that creates the service. The remainder of the code that describes the service is the same, regardless of whether you want to create an RPC or Document style of service. For detailed information on choosing a style, see the Help topic Choosing a Web Services Style. Copyright 2008 Four J's Development Tools, Inc. 10

37 02 - Creating a Web Services Server Publish the Operation CALL serv.publishoperation(op,null) Parameters WebOperation to be published A string to identify the operation if several operations have the same name; if this is NULL, the default value is an empty string Copyright 2008 Four J's Development Tools, Inc. 11

38 02 - Creating a Web Services Server Mimic Existing Web Service fglwsdl -s -o stubname location stubname defines the name used by the tool when generating file stubs for server application location can be the pathname leading to the WSDL file or the URI of the WSDL file Produces two file stubs: stubnameserver.inc contains variable and record definitions stubnameserver.4gl contains code to publish function fglwsdl -s -o calculator_svr A step-by-step tutorial for writing a GWS Server using a third-party WSDL is provided in the documentation. For detailed information, see the Help topics: The fglwsdl Tool (WSDL) Tutorial: Writing a GWS Server application Important: The stubnameserver.4gl generated file contains the code for publishing the operation, but does not contain the code for registering the Web service. Copyright 2008 Four J's Development Tools, Inc. 12

39 02 - Creating a Web Services Server Completing the Web Service Server In the MAIN module: Define Status variable DEFINE ret INTEGER Call Create/Publish/ Register function CALL createservice() Start the GWS Server CALL com.webserviceengine.start() Process Requests See Next Slide Details about the function that creates, publishes, and registers the Web service/operation were provided on an earlier slide. Copyright 2008 Four J's Development Tools, Inc. 13

40 02 - Creating a Web Services Server Processing Requests WHILE TRUE LET ret = com.webserviceengine.processservices(-1) CASE ret WHEN 0 DISPLAY "Request processed." WHEN -1 DISPLAY "Timeout reached." WHEN -2 DISPLAY "Disconnected from application server." EXIT PROGRAM WHEN -3 DISPLAY "Client Connection lost." WHEN -4 DISPLAY "Server interrupted with Ctrl-C." WHEN -10 DISPLAY "Internal server error." END CASE IF int_flag<>0 THEN LET int_flag=0 EXIT WHILE END IF END WHILE Details about the function that creates, publishes, and registers the Web service/operation were provided on an earlier slide. This code snippet, taken from the calculator example included as one of two demo programs for Web services, only handles a subset of the possible return codes for the class method ProcessServices(). For the full list of possible return values, see the Help topic COM Extension Library. Copyright 2008 Four J's Development Tools, Inc. 14

41 02 - Creating a Web Services Server Compile Application Compile all modules (.4gl files) Create the client application by linking: Compiled modules (.42m files) Library file WSHelper.42m (located in $FGLDIR/lib) fglcomp svr_src.4gl fgllink -o serverapp.42r svr_src.42m WSHelper.42m If using a third-party WSDL, you would include generated files in the compilation Copyright 2008 Four J's Development Tools, Inc. 15

42 02 - Creating a Web Services Server Generating the WSDL (part 1) o o o o A Web Service Server should be self-descriptive and self-contained Self-descriptive means you can ask the server to get the WSDL with an HTTP request: Self-contained means that you can deploy it on any host without any additional configuration file or specific framework o Requires DVM and a database connection if required by the service Copyright 2008 Four J's Development Tools, Inc. 16

43 02 - Creating a Web Services Server Generating the WSDL (part 2) Must first create Web service, create operation, and publish operation Do not need to have registered service Object method savewsdl( location STRING) RETURNING status Saves WSDL to the file system location is the URL where the service will be deployed Returns 0 if the file was saved LET ret = serv.savewsdl( serverurl ) You can save the WSDL to disk; this is mainly for testing or to provide the WSDL as was done pre GWC With the self-descriptive method discussed on the previous slide, the need to save a WSDL on disk is not necessary. In the example shown at the bottom of the slide: ret is an INTEGER variable Copyright 2008 Four J's Development Tools, Inc. 17

44 02 - Creating a Web Services Server XML Classes and Methods The GWS provides an additional library of classes and methods the XML library Use the IMPORT statement at the top of your Genero.4gl module to import the library into your Genero application: IMPORT xml The Genero Web Services XML Extension Library provides classes and methods to handle any kind of XML documents, including documents with namespaces. The library provides a W3C-compatible DOM API, integrating additional XML Schema and DTD validation methods. There is also an API compatible with StAX for writing or reading XML documents where performance and speed are important. Remark: the DOM API of the om package is still in use, but was designed to handle specific FGL files or to manipulate the user interface tree (the AUI tree). For all other cases/scenarios, we recommend that you use the DOM API of the xml package. Copyright 2008 Four J's Development Tools, Inc. 18

45 03 - Creating a Web Service Client Creating a Web Service Client Genero Web Services Extension Module Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Copyright 2008 Four J's Development Tools, Inc. 1

46 03 - Creating a Web Service Client Module Objectives At the end of this module, you will be able to: Create a Web Service client based on the information provided by the WSDL Specify the service location within the FGLPROFILE Set timeout options for the client Copyright 2008 Four J's Development Tools, Inc. 2

47 03 - Creating a Web Service Client Creating a GWS Client Identify the Web Service Get WSDL information Examine generated.inc file Write application Compile application For detailed information about creating a GWS client, refer to the following Help topics: The fglwsdl tool (WSDL) Tutorial: Writing a Client Application Copyright 2008 Four J's Development Tools, Inc. 3

48 03 - Creating a Web Service Client Get WSDL Information fglwsdl -o stubname location stubname defines the name used by the tool when generating file stubs required for client application location can be the pathname leading to the WSDL file or the URI of the WSDL file Produces two file stubs: stubname.inc contains variable and record definitions stubname.4gl contains the underlying function code fglwsdl -o ws_calculator Copyright 2008 Four J's Development Tools, Inc. 4

49 03 - Creating a Web Service Client Examine Generated.inc File Function details (presented as comments) Input and Output global records Web services error structure Global variable for Web service URL Copyright 2008 Four J's Development Tools, Inc. 5

50 03 - Creating a Web Service Client Write Application Import the GWS Extension library Specify the globals file Call the function Using input/output parameters ( if permitted ) Using global input and output records ( _g version ) Handle Web services errors Copyright 2008 Four J's Development Tools, Inc. 6

51 03 - Creating a Web Service Client Compile Application Compile all modules (.4gl files) including generated client stub Create the client application by linking: Compiled modules (.42m files) Library file WSHelper.42m (located in $FGLDIR/lib) fglcomp mymain.4gl clientgen.4gl fgllink -o clientapp.42r mymain.42m clientgen.42m WSHelper.42m Copyright 2008 Four J's Development Tools, Inc. 7

52 03 - Creating a Web Service Client Logical Names for Service Locations Global variable created by fglwsdl tool (.inc ) DEFINE variable_name STRING Assign a logical name to this global variable LET variable_name = myservice FGLPROFILE entry (on client) maps the logical reference to an actual URL ws.myservice.url = For details, see the Help topic Using Logical Names for Service Locations. Copyright 2008 Four J's Development Tools, Inc. 8

53 03 - Creating a Web Service Client Setting Client Timeout Values How long are you willing to wait for a server to respond to your request? CALL com.webserviceengine.setoption( http_invoketimeout, -1 ) -1 means wait forever This is the default CALL com.webserviceengine.setoption( http_invoketimeout, 10 ) 10 means wait 10 seconds for response Provide a timeout value to have the client application react when the Web services server is unavailable (for whatever reason). Copyright 2008 Four J's Development Tools, Inc. 9

54 THIS PAGE INTENTIONALLY LEFT BLANK

55 04 Genero Web Services Extension COM and XML Libraries Genero Web Services Extension Module Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Copyright 2008 Four J's Development Tools, Inc. 1

56 04 Genero Web Services Extension Module Objectives At the end of this module, you will be able to: Send a request to an HTTP Server Interpret the response from the HTTP Server Serialize the response as a string Copyright 2008 Four J's Development Tools, Inc. 2

57 04 Genero Web Services Extension What is The Genero Web Services COM Extension Library provides classes and methods that allow you to perform tasks associated with creating Services and Clients, and managing the services. The Genero Web Services XML Extension Library provides classes and methods to handle any kind of XML documents, including documents with namespaces. The library provides a W3C-compatible DOM API, integrating additional XML Schema and DTD validation methods. There is also an API compatible with StAX for writing or reading XML documents where performance and speed are important Copyright 2008 Four J's Development Tools, Inc. 3

58 04 Genero Web Services Extension Sending an HTTP Request Use the methods in the Genero Web Services COM Extension Library to make a request to an HTTP Server and get a response IMPORT com IMPORT xml DEFINE url STRING DEFINE http_req com.httprequest DEFINE htp_resp com.httpresponse DEFINE result_dom xml.domdocument LET http_req = com.httprequest.create(url) CALL http_req.dorequest() LET http_resp = http_req.getresponse() IF http_resp.getstatuscode() = 200 THEN LET result_dom= http_resp.getxmlresponse() END IF Copyright 2008 Four J's Development Tools, Inc. 4

59 04 Genero Web Services Extension Serialize Response as a String Useful when implementing or debugging to view what has been returned. LET root = result_dom.getdocumentelement() DISPLAY root.tostring() <kml xmlns=" Rue de Berne,Schitigheim,Strasbourg,,France,67300</name><Status><code>200</code><r equest>geocode</request></status><placemark id="p1"><address>1, Rue de Berne, Schiltigheim, France</address><AddressDetails xmlns="urn:oasis:names:tc:ciq:xsdschema:xal:2.0" Accuracy="8"><Country><CountryNameCode>FR</CountryNameCode><Administr ativearea><administrativeareaname>alsace</administrativeareaname><subadmi nistrativearea><subadministrativeareaname>bas- Rhin</SubAdministrativeAreaName><Locality><LocalityName>Schiltigheim</Local ityname><thoroughfare><thoroughfarename>1, Rue de Berne</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>67 300</PostalCodeNumber></PostalCode></Locality></SubAdministrativeArea></Ad ministrativearea></country></addressdetails><point><coordinates> , ,0</coordinates></Point></Placemark></Response></kml> Copyright 2008 Four J's Development Tools, Inc. 5

60 04 Genero Web Services Extension Interpreting the HTTP Response Use the methods in the Genero Web Services XML Extension Library to traverse the XML document returned. IMPORT xml DEFINE root, result_element_node xml.domnode DEFINE result_list xml.domnodelist DEFINE accuracy INTEGER LET result_list = root.getelementsbytagnamens("addressdetails", "urn:oasis:names:tc:ciq:xsdschema:xal:2.0") IF result_list.getcount() > 0 THEN LET result_element_node = result_list.getitem(1) LET accuracy = result_element_node.getattribute("accuracy") Copyright 2008 Four J's Development Tools, Inc. 6

61 05 - Deployment Deployment Genero Web Services Extension Module Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Copyright 2008 Four J's Development Tools, Inc. 1

62 05 - Deployment Module Objectives At the end of this module, you will be able to: Discuss communication between the Web Services client and server Configure the GAS to service a Web Services server Set the appropriate environment variables required for deployment of a Web Service Specify a service location repository in FGLPROFILE Copyright 2008 Four J's Development Tools, Inc. 2

63 05 - Deployment Communication From Client To Server Client requests WSDL information Client makes a Web Service request from the Web Server Web server spawns and communicates with client CGI Connector (fglccgi) Connector communicates with GAS (which must be started and listening) GAS communicates with a Web Service DVM to fulfill the Web Service request Communication is bi-directional, returning the requested information to the Web Service client NOTE: While this course does not cover deploying a Web Service in an HTTPS / Secure Environment, it is possible to deploy your Web Service using HTTPS and Proxy Authentication, and to secure access through the use of certificates. Refer to the Genero Web Services Extension documentation for full explanations and step-by-step tutorials on these topics. Copyright 2008 Four J's Development Tools, Inc. 3

64 05 - Deployment GWS Deployment Deployment involves the Genero Application Server <SERVICE_LIST MaxLicenseConsumption="numLicenses"> [ <GROUP...> [...] ] [ <APPLICATION...> [...] ] </SERVICE_LIST> With GROUP, applications can be defined in an external application configuration file MaxLicenseConsumption takes an integer specifying max number of licenses that can be consumed by all web services within the service list NOTE: The Genero Application Server (GAS) is covered in depth in the GWC training course. This slide shows the component of the GAS configuration file that relates to Web Services. For more information, refer to the GAS technical documentation. Copyright 2008 Four J's Development Tools, Inc. 4

65 05 - Deployment Web Service Application Example <APPLICATION Id="webapp" Parent="abswebapp"> <EXECUTION> <PATH>$(res.path.fgldir.demo)</PATH> <MODULE>webapp.42r</MODULE> </EXECUTION> <TIMEOUT> </TIMEOUT> </APPLICATION> The GWS Server application may contain a single or multiple Web services. Copyright 2008 Four J's Development Tools, Inc. 5

66 05 - Deployment Environment Variables Port number FGLAPPSERVER if you are NOT deploying with the GAS If you deploy with GAS, user should NOT set this Set FGLAPPSERVER and then run the program with fglrun Debugging FGLWSDEBUG Other important environment variables PATH FGLDIR FGLSERVER For example, to run the Web Service Server as a stand-alone service (without a GAS), at the prompt enter: SET FGLAPPSERVER=8090 (or desired port number) fglrun appname Copyright 2008 Four J's Development Tools, Inc. 6

67 05 - Deployment FGLPROFILE Service Location Repository ws.myservice.url = Other main points when deploying a Web Service HTTP Authentication configuration Security configuration Proxy configuration You can remap the location of Genero Web Services using enties in the FGLPROFILE file, depending on the network configuraiton and access rights management of the deployment site. Copyright 2008 Four J's Development Tools, Inc. 7

68 THIS PAGE INTENTIONALLY LEFT BLANK

Göttingen, Introduction to Web Services

Göttingen, Introduction to Web Services Introduction to Web Services Content What are web services? Why Web services Web services architecture Web services stack SOAP WSDL UDDI Conclusion Definition A simple definition: a Web Service is an application

More information

Developing Applications for the Genero Web Client

Developing Applications for the Genero Web Client Developing Applications for the Genero Web Client This course is based on the Genero Web Client version 2.11 Version 04-2008 2008 Four J's Development Tools, Inc. No part of this book may be reproduced

More information

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to

More information

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to

More information

Web Applications. Web Services problems solved. Web services problems solved. Web services - definition. W3C web services standard

Web Applications. Web Services problems solved. Web services problems solved. Web services - definition. W3C web services standard Web Applications 31242/32549 Advanced Internet Programming Advanced Java Programming Presentation-oriented: PAGE based App generates Markup pages (HTML, XHTML etc) Human oriented : user interacts with

More information

Programming Web Services in Java

Programming Web Services in Java Programming Web Services in Java Description Audience This course teaches students how to program Web Services in Java, including using SOAP, WSDL and UDDI. Developers and other people interested in learning

More information

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review Web Services in Cincom VisualWorks WHITE PAPER Cincom In-depth Analysis and Review Web Services in Cincom VisualWorks Table of Contents Web Services in VisualWorks....................... 1 Web Services

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that

More information

Web Services: Introduction and overview. Outline

Web Services: Introduction and overview. Outline Web Services: Introduction and overview 1 Outline Introduction and overview Web Services model Components / protocols In the Web Services model Web Services protocol stack Examples 2 1 Introduction and

More information

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006 Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006 John Hohwald Slide 1 Definitions and Terminology What is SOA? SOA is an architectural style whose goal is to achieve loose coupling

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking SOA and Web Services Docente: Vito Morreale (vito.morreale@eng.it) 1 1st & 2nd Generation Web Apps Motivation

More information

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Web Services. XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Platform: Windows COM Component Previously

More information

XML Web Services Basics

XML Web Services Basics MSDN Home XML Web Services Basics Page Options Roger Wolter Microsoft Corporation December 2001 Summary: An overview of the value of XML Web services for developers, with introductions to SOAP, WSDL, and

More information

Transport (http) Encoding (XML) Standard Structure (SOAP) Description (WSDL) Discovery (UDDI - platform independent XML)

Transport (http) Encoding (XML) Standard Structure (SOAP) Description (WSDL) Discovery (UDDI - platform independent XML) System Programming and Design Concepts Year 3 Tutorial 08 1. Explain what is meant by a Web service. Web service is a application logic that is accessible using Internet standards. A SOA framework. SOA

More information

WhitePaper. Web services: Benefits, challenges, and a unique, visual development solution

WhitePaper. Web services: Benefits, challenges, and a unique, visual development solution WhitePaper Web services: Benefits, challenges, and a unique, visual development solution Altova, Inc. l 900 Cummings Center, Suite 314-T l Beverly, MA, 01915-6181, USA l Tel: 978-816-1600 l Fax: 978-816-1606

More information

Analysis and Selection of Web Service Technologies

Analysis and Selection of Web Service Technologies Environment. Technology. Resources, Rezekne, Latvia Proceedings of the 11 th International Scientific and Practical Conference. Volume II, 18-23 Analysis and Selection of Web Service Technologies Viktorija

More information

This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this

This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this presentation before taking an ActiveVOS course or before

More information

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

C exam.   IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1. C9510-319.exam Number: C9510-319 Passing Score: 800 Time Limit: 120 min File Version: 1.0 IBM C9510-319 IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile Version: 1.0 Exam A QUESTION

More information

Oracle. Exam Questions 1z Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam. Version:Demo

Oracle. Exam Questions 1z Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam. Version:Demo Oracle Exam Questions 1z0-863 Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam Version:Demo 1.Which two statements are true about JAXR support for XML registries? (Choose

More information

Services Web Nabil Abdennadher

Services Web Nabil Abdennadher Services Web Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan What is Web Services? SOAP/WSDL REST http://www.slideshare.net/ecosio/introduction-to-soapwsdl-and-restfulweb-services/14 http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/

More information

(9A05803) WEB SERVICES (ELECTIVE - III)

(9A05803) WEB SERVICES (ELECTIVE - III) 1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available

More information

SOAP Specification. 3 major parts. SOAP envelope specification. Data encoding rules. RPC conventions

SOAP Specification. 3 major parts. SOAP envelope specification. Data encoding rules. RPC conventions SOAP, UDDI and WSDL SOAP SOAP Specification 3 major parts SOAP envelope specification Defines rules for encapsulating data Method name to invoke Method parameters Return values How to encode error messages

More information

Web Service Elements. Element Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 10.0(1) 1

Web Service Elements. Element Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 10.0(1) 1 Along with Action and Decision elements, another way to perform backend interactions and obtain real-time data is via the Web Service element. This element leverages industry standards, such as the Web

More information

Distribution and web services

Distribution and web services Chair of Software Engineering Carlo A. Furia, Bertrand Meyer Distribution and web services From concurrent to distributed systems Node configuration Multiprocessor Multicomputer Distributed system CPU

More information

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4

More information

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional SUN 311-232 Java Platform Enterprise Edition 6 Web Services Developer Certified Professional Download Full Version : http://killexams.com/pass4sure/exam-detail/311-232 QUESTION: 109 What are three best

More information

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML

More information

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005 Realisation of SOA using Web Services Adomas Svirskas Vilnius University December 2005 Agenda SOA Realisation Web Services Web Services Core Technologies SOA and Web Services [1] SOA is a way of organising

More information

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Agent-Enabling Transformation of E-Commerce Portals with Web Services Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:

More information

Chapter 8 Web Services Objectives

Chapter 8 Web Services Objectives Chapter 8 Web Services Objectives Describe the Web services approach to the Service- Oriented Architecture concept Describe the WSDL specification and how it is used to define Web services Describe the

More information

How A Website Works. - Shobha

How A Website Works. - Shobha How A Website Works - Shobha Synopsis 1. 2. 3. 4. 5. 6. 7. 8. 9. What is World Wide Web? What makes web work? HTTP and Internet Protocols. URL s Client-Server model. Domain Name System. Web Browser, Web

More information

INTRODUCTORY INFORMATION TECHNOLOGY CREATING WEB-ENABLED APPLICATIONS. Faramarz Hendessi

INTRODUCTORY INFORMATION TECHNOLOGY CREATING WEB-ENABLED APPLICATIONS. Faramarz Hendessi INTRODUCTORY INFORMATION TECHNOLOGY CREATING WEB-ENABLED APPLICATIONS Faramarz Hendessi INTRODUCTORY INFORMATION TECHNOLOGY Lecture 11 Fall 2010 Isfahan University of technology Dr. Faramarz Hendessi 2

More information

World-Wide Wide Web. Netprog HTTP

World-Wide Wide Web. Netprog HTTP Web Services Based partially on Sun Java Tutorial at http://java.sun.com/webservices/ Also, XML, Java and the Future of The Web, Jon Bosak. And WSDL Tutorial at: http://www.w3schools.com/wsdl wsdl/ 1 World-Wide

More information

SOAP, WSDL, HTTP, XML, XSD, DTD, UDDI - what the?

SOAP, WSDL, HTTP, XML, XSD, DTD, UDDI - what the? SOAP, WSDL, HTTP, XML, XSD, DTD, UDDI - what the? By Aaron Bartell Copyright Aaron Bartell 2013 by Aaron Bartell aaron@mowyourlawn.com Agenda Why are we at this point in technology? XML Holding data the

More information

Web Services and SOA. The OWASP Foundation Laurent PETROQUE. System Engineer, F5 Networks

Web Services and SOA. The OWASP Foundation  Laurent PETROQUE. System Engineer, F5 Networks Web Services and SOA Laurent PETROQUE System Engineer, F5 Networks OWASP-Day II Università La Sapienza, Roma 31st, March 2008 Copyright 2008 - The OWASP Foundation Permission is granted to copy, distribute

More information

WSDL. Stop a while to read about me!

WSDL. Stop a while to read about me! WSDL Stop a while to read about me! Part of the code shown in the following slides is taken from the book Java by D.A. Chappell and T. Jawell, O Reilly, ISBN 0-596-00269-6 What is WSDL? Description Language

More information

Introduction to XML 3/14/12. Introduction to XML

Introduction to XML 3/14/12. Introduction to XML Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML

More information

Introducing SAP Enterprise Services Explorer for Microsoft.NET

Introducing SAP Enterprise Services Explorer for Microsoft.NET Introducing SAP Enterprise Services Explorer for Microsoft.NET Applies to: SAP SOA, SAP NetWeaver Composition Environment 7.1 including enhancement package 1, SAP Services Registry, SAP - Microsoft interoperability,

More information

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

More information

UNITE 2003 Technology Conference

UNITE 2003 Technology Conference UNITE 2003 Technology Conference Web Services as part of your IT Infrastructure Michael S. Recant Guy Bonney MGS, Inc. Session MTP4062 9:15am 10:15am Tuesday, September 23, 2003 Who is MGS, Inc.! Software

More information

2.2 What are Web Services?

2.2 What are Web Services? Chapter 1 [Author s Note: This article is an excerpt from our upcoming book Web Services: A Technical Introduction in the Deitel Developer Series. This is pre-publication information and contents may change

More information

Web Services Development for IBM WebSphere Application Server V7.0

Web Services Development for IBM WebSphere Application Server V7.0 000-371 Web Services Development for IBM WebSphere Application Server V7.0 Version 3.1 QUESTION NO: 1 Refer to the message in the exhibit. Replace the??? in the message with the appropriate namespace.

More information

CMPE 151: Network Administration. Servers

CMPE 151: Network Administration. Servers CMPE 151: Network Administration Servers Announcements Unix shell+emacs tutorial. Basic Servers Telnet/Finger FTP Web SSH NNTP Let s look at the underlying protocols. Client-Server Model Request Response

More information

Exercise SBPM Session-4 : Web Services

Exercise SBPM Session-4 : Web Services Arbeitsgruppe Exercise SBPM Session-4 : Web Services Kia Teymourian Corporate Semantic Web (AG-CSW) Institute for Computer Science, Freie Universität Berlin kia@inf.fu-berlin.de Agenda Presentation of

More information

SAP Automation (BC-FES-AIT)

SAP Automation (BC-FES-AIT) HELP.BCFESRFC Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission

More information

1.264 Lecture 14. SOAP, WSDL, UDDI Web services

1.264 Lecture 14. SOAP, WSDL, UDDI Web services 1.264 Lecture 14 SOAP, WSDL, UDDI Web services Front Page Demo File->New Web (must create on CEE server) Choose Web type Add navigation using Format->Shared Borders (frames) Use top and left, include navigation

More information

CmpE 596: Service-Oriented Computing

CmpE 596: Service-Oriented Computing CmpE 596: Service-Oriented Computing Pınar Yolum pinar.yolum@boun.edu.tr Department of Computer Engineering Boğaziçi University CmpE 596: Service-Oriented Computing p.1/53 Course Information Topics Work

More information

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Minimal List Common Syntax is provided by XML To allow remote sites to interact with each other: 1. A common

More information

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

Getting Started with Web Services

Getting Started with Web Services Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be

More information

Introduction to XML. XML: basic elements

Introduction to XML. XML: basic elements Introduction to XML XML: basic elements XML Trying to wrap your brain around XML is sort of like trying to put an octopus in a bottle. Every time you think you have it under control, a new tentacle shows

More information

JBoss SOAP Web Services User Guide. Version: M5

JBoss SOAP Web Services User Guide. Version: M5 JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...

More information

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 1 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2013 Contents Course Introduction

More information

LEGACY SYSTEMS MODERNIZATION SERVICES.

LEGACY SYSTEMS MODERNIZATION SERVICES. LEGACY SYSTEMS MODERNIZATION SERVICES www.eratech.com.eg Slide # 1 Feb. 2013 Agenda 1. Modernization of Legacy Systems Why and How? 2. Success Story Central Auditing Organization 3. Introducing Informix

More information

REST - Representational State Transfer

REST - Representational State Transfer REST - Representational State Transfer What is REST? REST is a term coined by Roy Fielding to describe an architecture style of networked systems. REST is an acronym standing for Representational State

More information

1.264 Lecture 16. Legacy Middleware

1.264 Lecture 16. Legacy Middleware 1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network

More information

CHAPTER 2 LITERATURE SURVEY 2. FIRST LOOK ON WEB SERVICES Web Services

CHAPTER 2 LITERATURE SURVEY 2. FIRST LOOK ON WEB SERVICES Web Services CHAPTER 2 LITERATURE SURVEY 2. FIRST LOOK ON WEB SERVICES 2.1. Web Services Usually web service can be understood as a way of message transfer among two devices across a network. The idea behind using

More information

Web Services Overview

Web Services Overview Web Services Overview Using Eclipse WTP Greg Hester Pacific Hi-Tech, Inc. greg.hester.pacifichitech.com 1 September 17, 2008 Agenda Web Services Concepts How Web Services are used Web Services tools in

More information

Getting Started with Web Services

Getting Started with Web Services Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be

More information

Chapter 9 Web Services

Chapter 9 Web Services CSF661 Distributed Systems 分散式系統 Chapter 9 Web Services 吳俊興 國立高雄大學資訊工程學系 Chapter 9 Web Services 9.1 Introduction 9.2 Web services 9.3 Service descriptions and IDL for web services 9.4 A directory service

More information

TPF Users Group Fall 2007

TPF Users Group Fall 2007 TPF Users Group Fall 2007 z/tpf Enhancements for SOAP Provider Support and Tooling for Web Services Development Jason Keenaghan Distributed Systems Subcommittee 1 Developing Web services for z/tpf Exposing

More information

In the most general sense, a server is a program that provides information

In the most general sense, a server is a program that provides information d524720 Ch01.qxd 5/20/03 8:37 AM Page 9 Chapter 1 Introducing Application Servers In This Chapter Understanding the role of application servers Meeting the J2EE family of technologies Outlining the major

More information

Network Programmability with Cisco Application Centric Infrastructure

Network Programmability with Cisco Application Centric Infrastructure White Paper Network Programmability with Cisco Application Centric Infrastructure What You Will Learn This document examines the programmability support on Cisco Application Centric Infrastructure (ACI).

More information

Java CAPS Creating a Simple Web Service from a JCD

Java CAPS Creating a Simple Web Service from a JCD Java CAPS 5.1.3 Creating a Simple Web Service from a JCD Introduction Holger Paffrath, August 2008 This tutorial shows you how to create an XML Schema definition to define the layout of your web service

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

WWW, REST, and Web Services

WWW, REST, and Web Services WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What

More information

Java EE 7: Back-end Server Application Development 4-2

Java EE 7: Back-end Server Application Development 4-2 Java EE 7: Back-end Server Application Development 4-2 XML describes data objects called XML documents that: Are composed of markup language for structuring the document data Support custom tags for data

More information

SDMX self-learning package XML based technologies used in SDMX-IT TEST

SDMX self-learning package XML based technologies used in SDMX-IT TEST SDMX self-learning package XML based technologies used in SDMX-IT TEST Produced by Eurostat, Directorate B: Statistical Methodologies and Tools Unit B-5: Statistical Information Technologies Last update

More information

Web Services. Grid Computing (M) Lecture 6. Olufemi Komolafe 19 January 2007

Web Services. Grid Computing (M) Lecture 6. Olufemi Komolafe 19 January 2007 Web Services Grid Computing (M) Lecture 6 Olufemi Komolafe (femi@dcs.gla.ac.uk) 19 January 2007 UDDI registry retrieved from a DTD WSDL service definition XML schema definition is a describes structure

More information

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95 ه عا ی Semantic Web Semantic Web Services Morteza Amini Sharif University of Technology Fall 94-95 Outline Semantic Web Services Basics Challenges in Web Services Semantics in Web Services Web Service

More information

WebServices the New Era

WebServices the New Era WebServices the New Era Introduction to WebServices Standards of WebServices Component Architecture WebServices Architecture SOAP WSDL UDDI Tools and Technologies of WebServices An example of WebServices

More information

Web Services For Translation

Web Services For Translation [Translating and the Computer 24: proceedings of the International Conference 21-22 November 2002, London (Aslib, 2002)] Web Services For Translation Mike Roche, IBM Software Group, Dublin, MikeRoche@ie.ibm.com

More information

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1 Distributed Systems Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1 Service Oriented Architectures (SOA) A SOA defines, how services are

More information

Four J s Development Tools

Four J s Development Tools Four J s Development Tools 1 Agenda Genero Studio 2.20 New features Discussion points Four J s Development Tools 2 Major release Four J s Development Tools 3 Genero Studio Components Edit code DB Meta

More information

XML Extensible Markup Language

XML Extensible Markup Language XML Extensible Markup Language Generic format for structured representation of data. DD1335 (Lecture 9) Basic Internet Programming Spring 2010 1 / 34 XML Extensible Markup Language Generic format for structured

More information

Oracle Service Bus. 10g Release 3 (10.3) October 2008

Oracle Service Bus. 10g Release 3 (10.3) October 2008 Oracle Service Bus Tutorials 10g Release 3 (10.3) October 2008 Oracle Service Bus Tutorials, 10g Release 3 (10.3) Copyright 2007, 2008, Oracle and/or its affiliates. All rights reserved. This software

More information

1. Draw the fundamental software technology architecture layers. Software Program APIs Runtime Operating System 2. Give the architecture components of J2EE to SOA. i. Java Server Pages (JSPs) ii. Struts

More information

CapeConnect Three. Concepts

CapeConnect Three. Concepts CapeConnect Three Concepts CapeConnect Three Concepts (October 2001) Copyright 1999 2001 Cape Clear Software Ltd., including this documentation, all demonstrations, and all software. All rights reserved.

More information

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti XML for Java Developers G22.3033-002 Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial. A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far XML Tutorial Yanan Zhang Department of Electrical and Computer Engineering University of Calgary

More information

Web services. In plain words, they provide a good mechanism to connect heterogeneous systems with WSDL, XML, SOAP etc.

Web services. In plain words, they provide a good mechanism to connect heterogeneous systems with WSDL, XML, SOAP etc. Web Services Web Services A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format

More information

On the Creation of Distributed Simulation Web- Services in CD++

On the Creation of Distributed Simulation Web- Services in CD++ On the Creation of Distributed Simulation Web- Services in CD++ Rami Madhoun, Bo Feng, Gabriel Wainer, Abstract CD++ is a toolkit developed to execute discrete event simulations following the DEVS and

More information

Introduction to RESTful Web Services. Presented by Steve Ives

Introduction to RESTful Web Services. Presented by Steve Ives 1 Introduction to RESTful Web Services Presented by Steve Ives Introduction to RESTful Web Services What are web services? How are web services implemented? Why are web services used? Categories of web

More information

UNIT - V. 1. What is the concept behind JAX-RPC technology? (NOV/DEC 2011)

UNIT - V. 1. What is the concept behind JAX-RPC technology? (NOV/DEC 2011) UNIT - V Web Services: JAX-RPC-Concepts-Writing a Java Web Service- Writing a Java Web Service Client-Describing Web Services: WSDL- Representing Data Types: XML Schema- Communicating Object Data: SOAP

More information

Web Services. Brian A. LaMacchia. Software Architect Windows Trusted Platform Technologies Microsoft Corporation

Web Services. Brian A. LaMacchia. Software Architect Windows Trusted Platform Technologies Microsoft Corporation Web Services Brian A. LaMacchia Software Architect bal@microsoft.com Windows Trusted Platform Technologies Microsoft Corporation CPSC 155b E-Commerce: Doing Business on the Internet March 27, 2003 Five

More information

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps WebSphere Puts Business In Motion Put People In Motion With Mobile Apps Use Mobile Apps To Create New Revenue Opportunities A clothing store increases sales through personalized offers Customers can scan

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview Java Web Service Essentials (TT7300) Day(s): 3 Course Code: GK4232 Overview Geared for experienced developers, Java Web Service Essentials is a three day, lab-intensive web services training course that

More information

Service Interface Design RSVZ / INASTI 12 July 2006

Service Interface Design RSVZ / INASTI 12 July 2006 Architectural Guidelines Service Interface Design RSVZ / INASTI 12 July 2006 Agenda > Mandatory standards > Web Service Styles and Usages > Service interface design > Service versioning > Securing Web

More information

Creating a REST API which exposes an existing SOAP Service with IBM API Management

Creating a REST API which exposes an existing SOAP Service with IBM API Management Creating a REST API which exposes an existing SOAP Service with IBM API Management 4.0.0.0 2015 Copyright IBM Corporation Page 1 of 33 TABLE OF CONTENTS OBJECTIVE...3 PREREQUISITES...3 CASE STUDY...4 USER

More information

Migration to Service Oriented Architecture Using Web Services Whitepaper

Migration to Service Oriented Architecture Using Web Services Whitepaper WHITE PAPER Migration to Service Oriented Architecture Using Web Services Whitepaper Copyright 2004-2006, HCL Technologies Limited All Rights Reserved. cross platform GUI for web services Table of Contents

More information

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91 بسمه تعالی Semantic Web Semantic Web Services Morteza Amini Sharif University of Technology Spring 90-91 Outline Semantic Web Services Basics Challenges in Web Services Semantics in Web Services Web Service

More information

Advanced Programming Using Visual Basic 2008

Advanced Programming Using Visual Basic 2008 Chapter 6 Services Part 1 Introduction to Services Advanced Programming Using Visual Basic 2008 First There Were Web Services A class that can be compiled and stored on the Web for an application to use

More information

XML Applications. Introduction Jaana Holvikivi 1

XML Applications. Introduction Jaana Holvikivi 1 XML Applications Introduction 1.4.2009 Jaana Holvikivi 1 Outline XML standards Application areas 1.4.2009 Jaana Holvikivi 2 Basic XML standards XML a meta language for the creation of languages to define

More information

KINGS COLLEGE OF ENGINEERING 1

KINGS COLLEGE OF ENGINEERING 1 KINGS COLLEGE OF ENGINEERING Department of Computer Science & Engineering Academic Year 2011 2012(Odd Semester) QUESTION BANK Subject Code/Name: CS1401-Internet Computing Year/Sem : IV / VII UNIT I FUNDAMENTALS

More information

Tools to Develop New Linux Applications

Tools to Develop New Linux Applications Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester

More information

This tutorial is going to help all those readers who want to learn the basics of WSDL and use its features to interface with XML-based services.

This tutorial is going to help all those readers who want to learn the basics of WSDL and use its features to interface with XML-based services. i About the Tutorial This is a brief tutorial that explains how to use to exchange information in a distributed environment. It uses plenty of examples to show the functionalities of the elements used

More information

Web Programming Paper Solution (Chapter wise)

Web Programming Paper Solution (Chapter wise) Introduction to web technology Three tier/ n-tier architecture of web multitier architecture (often referred to as n-tier architecture) is a client server architecture in which presentation, application

More information