Creating and Consuming Web Services using IBM Rational Business
by user
Comments
Transcript
Creating and Consuming Web Services using IBM Rational Business
EGL Web Services 1 of 48 Creating and Consuming Web Services using IBM Rational Business Developer Enterprise Generation Language (EGL) By Claus Weiss Advisory Software Consultant IBM Corporation Skill Level: Intermediate April 2010 Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 2 of 48 Introduction..................................................................................................................................... 3 Section 1. Before you start.............................................................................................................. 3 Using Web Services in EGL ........................................................................................................... 5 The finished applications will contain the following web pages and capabilities...................... 5 Section 1 – Creating EGL Web Services........................................................................................ 7 Creating the application .............................................................................................................. 7 Create an EGL web project....................................................................................................... 10 Section 2 – Consuming a 3rd Party Web Service ......................................................................... 25 Find the Service ........................................................................................................................ 25 Create a new EGL Web project ................................................................................................ 26 Create Interface for web service ............................................................................................... 30 Create a Web Page Using the Service....................................................................................... 32 Test the application ................................................................................................................... 43 Summary ....................................................................................................................................... 46 Resources ...................................................................................................................................... 46 About the authors.......................................................................................................................... 47 Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 3 of 48 Introduction 0B The tutorial provides hands-on experience using the IBM® Rational® Developer for i™ for SOA Construction workbench with IBM® Rational® Business Developer. It shows how easy it is to use Web services in EGL, regardless of whether they are created in EGL as a Service or used in EGL applications. Section 1. Before you start 1B Important Note: Walk through this scenario and others online as part of the Enterprise Modernization Sandbox for IBM i™. You can also print out the scenario – see pdf files on the right. About this tutorial In this tutorial, you will: • Create an EGL application that will be used as a Web service, and to use an existing Web service in an EGL application. • Learn to use IBM® Rational® Business Developer to build, test, and consume Web Services. Objectives: You will learn how to: • Create an EGL project • Create and Test EGL Web services • Consume a third-party Web service Prerequisites: You should be familiar with one of the IBM® Rational® Software Delivery Platform products that Rational Business Developer supports, and have knowledge of IBM® IBM i™ applications. System requirements: Operating Systems: Microsoft® Windows® 2000 SP4, Windows 2003 Enterprise SP1, Windows 2003 Standard SP1, Windows XP Professional SP2, Windows Vista Business, Windows Vista Enterprise, Windows Vista Ultimate Hardware: Intel® Pentium® III 800 MHz processor minimum (higher is recommended) 1 GB RAM; 1.5 GB RAM recommended Minimum: 800 MB of disk space is required for product package installation. Additional disk space is required for the resources that you develop. Overall tutorial guide Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 4 of 48 The objective of this EGL scenario is for you to work with an EGL application that will be used as a Service and to use an existing Web Service in an EGL application. The scenario is intended to allow hands on experience using the RDI SOA workbench with Rational Business Developer. It shows how easy it is to use Web Services in EGL regardless whether they are created in EGL as a Service or used in EGL applications. The first exercise creates an EGL application that can then be used as a Web Service. The second exercise uses an existing Web Service showing movies playing in US theaters and creates an EGL application that displays the data delivered from this Web Service. It is assumed that you are familiar with basic Windows UI operations such as working with the desktop and basic mouse operations such as opening folders and performing drag-and-drop operations. Experience with an Eclipse based workbench like WebSphere Development Studio Client (WDSC), Rational Developer for System i (RDI), or Rational Application Developer (RAD) is an asset but is not necessary. Note: The pictures in these labs show a similar application being built. Some of the names and icons may be different than the environment you are working with. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 5 of 48 Using Web Services in EGL This document provides basic procedures for creating and consuming web Services in EGL The finished applications will contain the following web pages and capabilities 7B In the first section of this Lab, you will create an EGL web service and then test the service using the Web Service Explorer. The service will check for valid California zip codes. Using the Web Service Explorer you will generate a very simple UI for testing the service. It contains one input field to enter the zip code and will show a return code of 0 or -1 determined by your EGL service depending whether the zip code is a valid California code. Here is the UI that gets generated by the Web Service Explorer to test the EGL Web Service. In the second section of this Lab you will access an existing Web Service. The service returns movies playing in a certain area of the US. It expects a postal code and a radius as input and will return a list of movie theaters in the area. Here is the UI that you will create with EGL Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 6 of 48 Now you know what you have to build in this Lab. Let’s get started, just follow the detailed instruction in this lab script and you will learn how easy it is to write an EGL web service. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 7 of 48 Creating and consuming Web Services with EGL EGL implements 2 categories of services: Æ EGL Service – a type of service for applications written entirely in EGL. Æ EGL Web Service – a type of service that is created using EGL, but can be accessed from both EGL and non-EGL clients. This lab will show how to implement the creation and consuming of web services with EGL. Services differ from traditional monolithic programs in that they are modular, and conform to a formal specification for their data input/output (calling) mechanism. In so doing they become more useful building blocks for applications, with artifacts that can be easily deployed to different run-times, and are far easier to maintain and reuse. 1. These services can be developed with many different technologies and languages. However, it is useful to see what EGL and the Rational tools bring to the table as far as building, testing and deploying services Overview of development tasks U U 1. In Section I you will build an EGL Web Service. At the end of this section you should be able to test the web services that you have created and deployed to WebSphere Application Server V6.1. 2. In Section II you will consume a 3rd party web service (not written in EGL). You will create an EGL client that will execute this web service that exists on the web. Section 1 – Creating EGL Web Services 2B The steps you will perform in this section are: 1. Configure a project for Web Services: You will create a project and set it’s properties to allow Web Service development and testing. a. Specify Workspace Capabilities b. Specify Web Service-specific build options 2. Define an EGL Web Service: Here you will create a new EGL Service file. 3. Code the Web Service Business Logic: In the EGL Service file you create, you will add EGL functions and variables (statements), that perform the service (e.g. business logic) required by your application. 4. Generate the Web Service interactively: You will then test your Web Service interactively using the Web Service Explorer tools. Creating the application 8B First Steps 15B You need to start the RDI SOA workbench and select a workspace that will contain all the files you use for your development project. You will use a new workspace so your environment fits the environment we used when we created this script. Start RDI SOA V 7.5 Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 8 of 48 • Click StartÆ All programs Æ IBM Software Development Platform Æ IBM Rational Business Developer Æ IBM Rational Business Developer When prompted for a workspace name • Enter a new name, like in the figure above, so you get a brand new workspace Tip: Don’t worry about the directory path, accept the default, just specify a unique directory for the workspace. • Click OK The workbench will show: Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 9 of 48 • • Click the x on the Welcome tab, to remove the Welcome page. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 10 of 48 Create an EGL web project 9B In the RDI SOA workbench you will be using the Web perspective with all the views and editors needed to work with a web application. The web perspective should be shown by default, if not follow the next steps to switch to it. Switch to the Web perspective by: • Clicking on the open perspective icon on top right hand side of the workbench • Selecting the Other… action from the context(pop up) menu The Open Perspective dialog shows: • Select Web from the tree in the Open Perspective dialog Now you are ready to create new EGL project. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 11 of 48 On the the workbench menu, • Click File Æ New Æ Other Æ “ The Select a wizard dialog appears : • • • Expand the EGL node Select EGL Project Click Next Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 12 of 48 • Name the project labplzservice. • Be sure to select the Web Project radio button • Click the Next button Now you have a chance to modify the default EGL web project settings. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 13 of 48 • • • • Select WAS 6.1 or 7.0 for the target runtime, Note: Make sure not to select a stub for a runtime. Check that Create new project build descriptor is selected You can leave the Show Advanced Settings checkbox unselected. Click the Finish button Now you need to create the logic for this service that is supposed to run when somebody invokes this service To do this you need to create a file that contains the EGL logic and you need to name this file and place it into a package. You will use the New EGL Service Part wizard to achieve this task. • • Expand the new labplzService project Right click over the EGLSource folder and select: New Æ other… In the Select wizard dialog Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 14 of 48 • • • • Expand EGL Select Service Click the Next> button Enter the package name: services Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 15 of 48 • • • Enter the source file name: zipService Select.the checkbox Create as Web(SOAP) service Click the Finish button Now you will create some logic in this source file to provide the functionality for this service. The service is very simple; it checks a zip code entry whether it is a valid California zip code. Exactly, the logic checks that the input parameter value is between 90001 and 96000. Add the following source code to zipService which opened in the editor view: package services; • //Save and generate the service by pressing Ctrl/S, then Ctrl/G. service Since you selected to create a SOAP web service, the EGL deployment descriptor is automatiservice zipService cally updated to tell the EGL generator to create the necessary files in install this as a service, as well creating the WSDL file that contains thechar(5) interface description of this service. function caTestbk(zipIn in) returns(int) You can check the Deployment descriptor file in Project Explorer if(zipIn >= "90001" && zipIn <= "96000") return(0); else return(-1); end d • • • Expand directory EGL Source Locate the Labplzservice.egldd file (not the eglbld file which is the build descriptor) Double click on the egldd file to open it in the editor. You will notice, there are five tabs at the bottom: Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 16 of 48 By default the Overview tab is selected and you can see the zipService has been added • Click the Service Deployment tab, to get more details about the service It shows that the service gets generated as a SOAP service • Close the editor with DeploymentDescriptor file. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 17 of 48 The deployment descriptor has been added automatically to the build file .eglbd. This is necessary to make the Deployment descriptor known to the EGL build environment. You might want to check the Build descriptor: • • In the EGL source directory find the labplzservice.eglbld file Open the file with the source editor by double clicking on it. You notice that the deployment descriptor labplzservice is already listed under options. • Close the editor. You already generated the project when using CTRL-G in the editor so the service is ready to be tested. The generate action generates the complete Web Service including the WSDL file. The WSDL is a standard file format that describes a web service. You can hand over this WSDL file to people that want to use your Web Service. It describes the Service interface, the location of the service and other characteristics of the service. The WSDL (commonly pronounced as “Wis Dul”) can be opened in the WSDL editor. The file is located in the project in WebContent\WEB-INF\wsdl\. Here is a sample how the WSDL editor presents our WSDL file Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 18 of 48 • Feel free to double click the WSDL file and have a look. To change the port number in the URL that points to this web service Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 19 of 48 • • • • • • Select the URL filed in the WSDL editor Click the Properties tab at the bottom of the editor dialog Change the Address information accordingly (for this lab we will be using port 9082) Make sure the change is reflected in the editor Save the file Close the editor What have you done so far? You have created an EGL Project, created a business function and created it as a Web Service. Publish the Web Service – and check its port number First let’s make sure that the application server is running. • • • Click on the Servers tab to select it Right click over WebSphere Application Server v6.1 or 7.0 Click Start in the context menu. Once the server has started (this may take several minutes), the console will show “Server server1 open for e-business” and the Servers tab will reflect started under the Status column. Now you must add the project to the Server Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 20 of 48 • Right click over WebSphere Application Server v6.1 • Click Add and Remove Projects…on the context menu The Add and Remove dialog will appear: In the Available Projects list • Select labplzserviceEAR • Click Add > The project will be moved to the right side of the window under Configured Projects Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 21 of 48 • Click Finish. Now publish the server Note if you have automatic publishing turned on you don’t have to go thru these two steps. • • Right click on the server in the server view Select Publish from the context menu It will take a couple of moments and the server will be ready, be patient. Once it is finished (the console stops scrolling) you will be ready to test your service. But before you get to it, we want you to make sure the port number is set correctly. • Double click the Console tab to open it up in the workbench At the bottom of the console view • Find the VirtualHost message for the labzipservice module Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 22 of 48 • • Check the default host port number (In the figure above it is 9081). Double click the Console tab to restore it back to the normal view size The default port number for the WAS server is 9080 but if there are multiple instances of WAS installed on your PC the installation will automatically increase the port number by one for each additional instance of WAS to avoid port conflicts. . 9080 is the default port number assumed by the EGL web service wizard. It has been used in the WSDL file for your project. If the port number in the console is different than 9080, you will need to change the WSDL file to reflect the port this service can be invoked at. Please double click on the WSDL file and edit the WSDL file as explained before. Note: There is also a workbench preference that you can set under Windows Æ Preferences Æ EGL Æ Service to have the Service wizard automatically reflect the correct port number Test the Web Service – Interactively RDI SOA offers a nifty interactive Web Services test facility called the Web Services Explorer! You can use this tool to test your Web Service functionality effectively, before embedding calls to it from your service client! To start the Web Services Explorer go in the Project Explorer • Expand project labplzservice Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 23 of 48 • • • • • Expand directory WebContent Expand directory WEB-INF Expand directory wsdl Right click on zipService.wsdl Select WebServices Æ Test with Web Services Explorer The Web Services Explorer will appear in the browser in the Content Area. • Expand zipServiceBinding • Click on the caTestbk method which is the service you are going to test. In the Actions dialog • Enter a valid California zip code 93000 • Click Go On the bottom Status dialog you will see the result from the Web Service Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 24 of 48 You will get a return value of zero Try the same with an input value of 99999 and the return value will be -1. These results are being expected since this is how you coded the service. What have you done so far? You have now created a Web” service using EGL and tested it using the Web Services Explorer. You can now install the EAR file on your production server and change the WSDL file to reflect the new location of the service and give the WDSL to potential user of the service. This will allow these folks to create applications easily that use this service. In the next section we show you how to take a WSDL and create an EGL application that uses the service described in the WSDL. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 25 of 48 Section 2 – Consuming a 3rd Party Web Service 3B The steps you will perform in this section are: 1. Get a third party WSDL file from the internet. 2. Generate Web Service and Client bindings. a. This will generate code that will allow you to access the functions defined in the WSDL. 3. Test the 3rd party web service by creating a web page. Let’s get started by finding a service and its WSDL file. Find the Service 10B You can speed up this process by using the WSDL we provide on your disk and proceed to heading: Create an EGL Web Project. • You are now going to consume a 3rd party web service. To do this you must have a working internet connection! Point your browser to www.xmethods.net. HU • UH On the homepage, click [View the Full List]. 1. Find Ignyte’s Retrieve Theaters and Movie Showtimes and click on the link. • Right-click on the link in the row labeled WSDL and select Save Link As. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 26 of 48 • Save the file to your C:\ drive. Make sure to select “All Files” as the file type and save the file as a dot wsdl. Now that you have a WSDL that describes a service that provides information about movies played in a certain area of the United States, you can write an EGL application that displays the data provided by this service. Create a new EGL Web project 1B In the RDI SOA workbench in the web perspective • Select File Æ New Æ Project Æ EGL Æ EGL project • • Name it Lab7_Web_Service Make sure Web Project is selected. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 27 of 48 • Click Next> • Make sure WAS 6.1 is the selected target runtime. Note: Don’t select WAS 6.1 stub • Click Finish On the next page Now you need to create a services package, this package will contain the service information that EGL will extract from the WSDL file, it will also contain the WSDL file itself. Make sure you are in the Project Explorer view, not in the Enterprise Explorer view. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 28 of 48 • • • Expand the Lab7_Web_Service project Right-click over the EGL Source folder Select New Æ EGL Package • Enter the Package name: services • Click Finish Now you need to copy the wsdl file, that you downloaded before, into this package • In Windows Explorer, expand the C: drive • Right mouse click over the moviefunction.wsdl on the C:\ drive • Select copy Now in the RDI SOA workbench • Right-click over the services package under the LAB7_Web_Service project and select Paste. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 29 of 48 If you pasted the WSDL in the correct location, it should now appear in the services folder Now you are ready to extract the services information from the WSDL file. Create Interface for web service 12B • • • In the services package Right-click over the moviefunctions.wsdl file Select EGL Services Æ Create EGL Client Interface from the context menu In the upcoming dialog Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 30 of 48 If you had multiple services to work with, you could select the one you want to create an interface for. • Click Next> Here you could de-select the function GetUpComingMovies since you are only interested in the function GetTheatersandMovies, but leave the default. • Click Next> You are now at the New EGL Web Client Binding view. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 31 of 48 The Lab7_WebService deployment descriptor is the default to add the binding to, accept the defaults. • Click Finish An interface to this Web Service is created, you can now use this service and reference it in (call from) your EGL client business logic. This EGL source file containing the interface information of this service will be opened in the editor in the workbench content area. It is called moviefunctions.egl and is contained in the com.ignyte.www package. With all service information now available you need to re-generate the project so EGL can take this new information into consideration for this project. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 32 of 48 • Right click over the project and click Generate. After the generation is finished. Create a Web Page Using the Service 13B Let’s now create a web page that utilizes this external service. From the LAB7_Web_Service project, • Right click over WebContent, and select New Æ Web Page. In the dialog that pops up, Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 33 of 48 • • • • Specify the file name as moviePage.jsp. Pick any template under Sample Templates Æ Family A (no navigation) Æ A_green.htpl Uncheck Link page to template. Click Finish. The page will now be created and open in the page designer Change page designer to full design view: Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 34 of 48 • • Click on the Design tab at the bottom of the page designer tool, this switches it from a split view mode to a full design view • Add some header text as follows: After the heading Let’s Go To The Movies • Click the Enter key twice, to add some blank lines on the page • Right-click anywhere within the page and select Edit Page Code. The JSF Page Handler for moviePage.jsp opens in the editor in the content area Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 35 of 48 Change code according to the picture above and the explanations below: Add 3 variables • zipCode, • radius, • theaters. We suggest to use content assist (ctrl + spacebar) when specifying the data type for the variable theaters this will add the import statement automatically to this EGL page handler file. Also specify that theaters is a dynamic array by specifying the square brackets [0], the zero indicates that the array initially has zero elements. Specify a question mark as well to allow Null. Add a function with the name findmovies() In this function you will invoke the web service GetTheatersAndMovies which is defined in the moviefunctions.egl source that got created for you. First you have to declare a variable that points to the interface description MovieInformationSoap for this web service which is contained in moviefunctions.egl. Inside the findMovies function: • Add variable movieInformationSoap use content assist for the type and the attribute. • The attributes for data types are specified in curly {} brackets • Add the one assignment statement, use content assist to create the statement This statement will return the data from the request to the web service into array theaters. • Save the Page Handler file moviePage.egl. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 36 of 48 • Fix any problems that get displayed Then after the page handler source is error free • • Click the moviePage.jsp tab at the top of the content area to return to the page designer view. Save the file to refresh/synchronize the tools. You now need to fill the web page with controls, You need two input fields for specifying which zip code area the theaters should be selected from and what the radius should be that you are interested in. You also need a button on the page to invoke the search for movie theaters (your findMovies function). From the Page Data view at the left bottom side of the workbench, • • • • Expand the JSF Handle node Expand the Data node: Select zipCode, Drag it underneath the heading on your web page In the window that pops up Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 37 of 48 • Select ~ Updating an existing record, which will cause an input field to be created. • Click Options Since you have your own button to add you don’t need the default buttons, so: • • Uncheck the boxes next to Submit Button and Delete Button, Click Finish. • Now do exactly the same for the radius field • Position it underneath the zipcode field • You don’t need to change the options again, page designer will apply the same options. There will two error message controls, • Select one of them in page designer and press the Delete key In Page data view : Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 38 of 48 • • Expand the Actions node Drag the findMovies function underneath the radius field The page should now look as follows: Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 39 of 48 To add the output fields that are returned from the service: • Drag theaters onto the page underneath the error message control. In the window that pops up, • Select Displaying an existing record (read-only). Since the theaters record contains the variable Movies, which is an array, you will have to specify how this array should look like on the page, to do this: • Click the ellipsis next to Multi-Column Data in the Movies (Movie[]) row. The same window will pop up but with different Columns to display. • Select Displaying an existing record (read-only) • Click Finish. You will now be focused on the previous window where you clicked the ellipsis, • Press Finish there as well. Your page should now look as follows: Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 40 of 48 Add the application to the server At the bottom of the workbench in the server view • • Right click on the server Select Add and Remove Programs Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 41 of 48 • • • Select the Lab7WebServiceEAR Press the Add> button, to add it to the Configured projects Click Finish Test the application 14B Back in page designer Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 42 of 48 • • Right-click anywhere on the moviePagepage,jsp Select Run on Server… You might get a dialog to select the server associated with this project, • Select WAS 6.1 for this project • • Click Finish The web page appears in the build in the workbench browser • • Enter a zip code, 27518 is Raleigh, NC if you don’t know a valid zip code Enter a distance in miles for the radius to be used for example 10 . Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 43 of 48 You should see a couple of movie theaters in the region of your zip code and the movies they are playing today. Most likely you’ll be interested in something else the movies playing today in you business application, but this could be any web service. You now know how to access web services from EGL and can use this in your own business applications. What have you done so far? You have now generated code from a third party WSDL and created a web page to test it! You also coded EGL business logic to run your page. You can improve on the look of the table by changing the properties in page designer. For example, you could add borders to improve the looks and make the table more readable Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 44 of 48 Summary 4B In this tutorial, you created an EGL application that was used as a Web service, and used an existing Web service in an EGL application. You also learned to use IBM® Rational® Business Developer to build, test, and consume Web Services. Visit the EGL Café to get more information, join the community. The IBM Rational EGL Café ibm.com/rational/cafe/community/egl Resources 5B Learn • Visit the EGL Café at: http://www-949.ibm.com/software/rational/cafe/community/egl • Visit the Rational Developer for System i resource page on developerWorks for technical information and best practices. • Subscribe to the IBM developerWorks newsletter, a weekly update on the best of developerWorks tutorials, articles, downloads, community activities, webcasts and events. • Subscribe to the Rational Edge e-zine for articles on the concepts behind effective software development. • Browse the technology bookstore for books on these and other technical topics. • IBM Enterprise Modernization Solutions • Read other tutorials related to the Enterprise Modernization Sandbox for System i. • Get a Rational Developer for i for SOA Construction product overview. • See some demos here. Get products and technologies • Download trial versions of IBM Rational software. HU U Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 45 of 48 About the authors 6B Claus Weiss Claus Weiss is an advisory software consultant with the Rational Software System i – Ecosystem team at the IBM Canada Toronto Laboratory. He has degrees in industrial engineering and computer science from the University of Hamburg in Germany. He worked as a systems engineer with IBM Germany and joined the IBM Toronto Laboratory in 1984. He was a developer and team leader for System/38 development tools. He has been a member of the Design Control Group for the AS/400 development tools. He has worked as a consultant for IBM iSeries Application Development for the past 10 years, specializing in Visual Tools. Claus is a frequent speaker at COMMON and other iSeries conferences and a six-time winner of COMMON's Speaker Excellence award. He is also the lead author of the book title "Understanding the IBM WebFacing Tool," published by IBM Press, and has co-authored several IBM Redbooks. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 46 of 48 Notices © Copyright IBM Corporation 1992, 2009. All rights reserved. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this documentation in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user’s responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this documentation. The furnishing of this documentation does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. For license inquiries regarding double-byte (DBCS) information, contact the IBMIntellectual Property Department in your country or send inquiries, in writing, to: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 47 of 48 The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OR CONDITIONS OF NONINFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some statesdo not allow disclaimer of express or implied warranties in certain transactions,therefore, this statement may not apply to you. ″ ″ This information could include technical inaccuracies or typographical errors.Changes are periodically made to the information herein; these changes will beincorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: Intellectual Property Dept. for WebSphere Software IBM Corporation 3600 Steeles Ave. East Markham, Ontario Canada L3R 9Z7 Such information may be available, subject to appropriate terms and conditions,including in some cases, payment of a fee. The licensed program described in this documentation and all licensed materialavailable for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us. Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-levelsystems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this documentshould verify the applicable data for their specific environment. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources.IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. All statements regarding IBM’s future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only. Copyright license Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®. EGL Web Services 48 of 48 This information contains sample application programs in source language, whichillustrates programming techniques on various operating platforms. You may copy,modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing applicationprograms conforming to the application programming interface for the operatingplatform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. Each copy or any portion of these sample programs or any derivative work, mustinclude a copyright notice as follows: © (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. © Copyright IBM Corp. 1992, 2009. All rights reserved Trademarks and service marks The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. • IBM • iSeries • Rational • RPG/400 • System i Intel® and Pentium® are trademarks of Intel Corporation in the United States, othercountries, or both. Microsoft, Windows, Windows NT® and the Windows logo are trademarks ofMicrosoft Corporation in the United States, other countries, or both. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in theUnited States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and othercountries. Linux is a registered trademark of Linus Torvalds in the United States, othercountries, or both. Other company, product or service names may be trademarks or service marks of others. Copyright © 2009, IBM® Corporation. All rights reserved. Published by IBM® developerWorks®.