FRAMEWORK FOR INTEGRATING SORCER WITH RPC STYLE WEB SERVICES by KIRAN MASAPARI, M.C.A. A THESIS IN COMPUTER SCIENCE Submitted to the Graduate Faculty of Texas Tech University in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE Approved Michael Sobolewski Chairperson of the Committee Hector Hernandez Yu Zhuang Accepted John Borrelli Dean of the Graduate School May, 2005
131
Embed
A THESIS the Requirements for the Degree of MASTER OF SCIENCE
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
FRAMEWORK FOR INTEGRATING SORCER
WITH RPC STYLE WEB SERVICES
by
KIRAN MASAPARI, M.C.A.
A THESIS
IN
COMPUTER SCIENCE
Submitted to the Graduate Faculty of Texas Tech University in
Partial Fulfillment of the Requirements for
the Degree of
MASTER OF SCIENCE
Approved
Michael Sobolewski Chairperson of the Committee
Hector Hernandez
Yu Zhuang
Accepted
John Borrelli Dean of the Graduate School
May, 2005
ii
TABLE OF CONTENTS
TABLE OF FIGURES .......................................................................................... vi ABSTRACT ........................................................................................................viii CHAPTER I .......................................................................................................... 1 1. INTRODUCTION.............................................................................................. 1
2. SERVICE ORIENTED ARCHITECTURE ......................................................... 5
2.1 Key Components of SOA............................................................................ 6
2.1.1 Service ................................................................................................. 6 2.1.2 Message............................................................................................... 6 2.1.3 Directory Service .................................................................................. 6 2.1.4 Web Service ......................................................................................... 7
2. 2 Service ORiented Computing EnviRonment (SORCER) ........................................................................................................ 7
4.2 Difference between RPC Style and Document Style Web Services........................................................................................ 26 4.3 XML .......................................................................................................... 27 4.4 SOAP........................................................................................................ 31
4.4.1 SOAP and XML .................................................................................. 32 4.4.2 SOAP namespaces ............................................................................ 33 4.4.3 SOAP Messages ................................................................................ 33
4.6.1 Businesses benefit from UDDI ........................................................... 40 4.6.2 Problems the UDDI specification can help to solve: ...................................................................................................... 40 4.6.3 Registering for UDDI .......................................................................... 42 4.6.4 Searching UDDI.................................................................................. 42
5. JAX-RPC (JAVA API FOR XML BASED RPC) WEB SERVICES ................................................................................................ 43
6.3 Handling the state of an object.................................................................. 50 6.4 Using a certain class loader...................................................................... 51 6.5 Properties to customize the XML output ................................................... 52 6.6 Field order................................................................................................. 53 6.7 Lexicographical field order ........................................................................ 53
7. SORCER WEB SERVICES INTEGRATION FRAMEWORK (SWIF) ....................................................................................... 54
A. SORCER WEB SERVICES INTEGRATION FRAMEWORK INTERFACES ............................................................................ 84 B. SORCER WEB SERVICES INTEGRATION FRAMEWORK JAVA DOCUMENTATION ......................................................... 86
TCP/IP Transmission Control Protocol/Internet Protocol
81
REFERENCES
[1] FIPER (Federated Intelligent Product Environment) [online] [cited 2002 March
22]. Available at URL: http://www.oai.org/pages/SORCER.html. The Federated Intelligent Product Environment (FIPER) � Project Brief. [Online] 1999 [cited 2002 March 22]. Available at http://www.atp.nist.gov/www/comps/briefs/9901309.htm
Environment, American Institute of Aeronautics and Astronautics Inc. [3] Edwards, W.K. (2000). Core Jini, 2nd ed., Prentice Hall, ISBN: 0-13-089408. [4] Oaks, S. & Wong, H. (2000). Jini in a Nutshell, O�Reilly, ISBN:1-56592-759-1. [5] Koch, G. & Loney, K. (1995). Oracle: The Complete Reference, 3rd ed.,
Oracle Press, ISBN: 0-07-882097-9. [6] Grand, M. (1999). Patterns in Java, Volume 1, Wiley, ISBN: 0-471-25841-5 [7] Reese, G. (2000). Database Programming with JDBC and Java, 2nd ed.,
O�Reilly, ISBN: 1-56592-616-1. [8] Jini Architecture Specification. [online] 2000 [cited 2002 March 22]. Available
at URL: http://www.sun.com/jini/specs/jini1_1.pdf. [9] A Collection of Jini Technology Helper Utilities and Services. [Online] 2000
[cited 2002 March 22] Available from URL: http://www.sun.com/jini/specs/collection1_1.pdf.
[10] Zhao, S. & Sobolewski, M. (2001). �Context Model Sharing in the SORCER Environment� (forthcoming) [11] JavaTM Remote Method Invocation (RMI) [online] [cited 2002 March 22]. Available at URL: http://java.sun.com/products/jdk/rmi/ [12] Freeman, E., Hopfer, S., & Arnold, K.(1999), Javaspaces� Principles, Patterns, and Practice, Addison-Wesley, ISBN: 0-201-30955-6. [13] Hunter, J. & Crawford, W. (1998). Java Servlet Programming, O�Reilly, ISBN: 1-56592-391-X. [14] Lapinski, M & Sobolewski, M. (2002). �Managing Notifications in a Federated S2S Environment�.
82
[15] Röhl, P.J., Raymond Kolonay, R.M., Irani, R.K., Soboleweski, M., & Kao, K. A Federated Intelligent Product Environment, AIAA-2000-4902, 8th AIAA/USAF/NASA/ISSMO Symposium on Multidisciplinary Analysis and Optimization, Long Beach, CA, September 6-8, 2000. [16] Federated Intelligent Product Environment. (1999). Technical Proposal to National Institute of Standards and Technology. Ohio Aerospace Institute, General Electric, BFGoodrich, Parker Hannifin, Engineous Software, Ohio University, Stanford University. [17] Web Services Architecture: W3C Working Group Note 11 Feb 2004. Retrieved November 2004 from world wide web consortium website: http://www.w3.org/TR/ws-arch [18] Building Web Services with JAX-RPC. Retrieved November 2004 from Sun Microsystems website: http://java.sun.com/xml/jaxrpc/overview.html [19] WebServices Architectural Patterns: Kevin Mitchell, Agogo Networks, Inc. December 2002. Retrieved November 2004 from Idealliance Enterprises website: http://www.idealliance.org/papers/xml02/dx_xml02/papers/03-02-03/03-02-03.html [20] Dan Livingston (2002) �Advanced SOAP for Web Development �, Prentice Hall PTR, ISBN: 0-13-035655-7 [21] XML and WebServices. Benoit Marchal, April 12 2002. Retrieved December 2004 from Informit website: http://www.informit.com/articles/article.asp?p=29975&redir=1 [22] Foundations of WebServices. Retrieved December 2004 from perfectxml website: http://www.perfectxml.com/WebSvc1.asp [22] Skaringa, API for Java, XML Binding . Retrieved December 2004 from Skaringa website: http://www.skaringa.com [23] Structure of SOAP Message. Retrieved january 2005 from w3schools website:http://www.w3schools.com [24] WebService Architecture: Pavel Kulchenko January 09, 2002. Retrieved january 2005 from O�Rielly web services website: http://webservices.xml.com/pub/a/ws/2002/01/09/soap.html [25] SOAP Specification (Using SOAP for RPC) section 7 of the SOAP 1.1 specification 24 june 2003. Retrieved November 2004 from world wide web consortium website: http://www.w3c.org/TR/SOAP
83
[26] Advantages of Service Oriented programming: Jim Waldo . Retrieved january 2005 from Sun Microsystems website: http://java.sun.com/developer/technicalArticles/jini/protocols.html [27] Advantages of Jini over globus. Retrieved january 2005 from CCLRC e-Science Centre and Grids.ac.uk website : http://tyne.dl.ac.uk/ReDRESS/WebServices/webServices_doc/node11.htm
84
APPENDICES
A. SORCER WEB SERVICES INTEGRATION FRAMEWORK INTERFACES
package sorcer.provider.webservice; import sorcer.core.*; import sorcer.base.*; import sorcer.util.*; import java.rmi.*; public interface AirportWeatherInterface { public ProviderContext temp(ProviderContext context) throws RemoteException; public ProviderContext humid(ProviderContext context) throws RemoteException; public ProviderContext loc(ProviderContext context) throws RemoteException; public ProviderContext wind(ProviderContext context) throws RemoteException; public ProviderContext pressure(ProviderContext context) throws RemoteException; public ProviderContext sky(ProviderContext context) throws RemoteException; public ProviderContext visible(ProviderContext context) throws RemoteException; public ProviderContext getCodes(ProviderContext context) throws RemoteException; }
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
sorcer.provider.webservice Interface AirportWeatherInterface All Known Subinterfaces: AirportWeatherRemote All Known Implementing Classes: AirportWeatherProviderImpl
public interface AirportWeatherInterface AirportWeatherInterface is the Provider Inteface contaning methods that allow a SORCER service requestor to submit jobs for SORCER Service Providers as well as remote web services. This Interface contains methods that take in a ProviderContext and based on the parameters in the ProviderContext submits a job to the Jobber that dispatches the job to the requested remote web service through the dispatcher SWIFExertion and to the SORCER Service Provider through SpaceExertionDispatcher. Author: Kiran Masapari
Returns a ProviderContext object that contains the international airport codes in the state that is specified in the input ProviderContext.
sorcer.core.ProviderContext humid(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing humidity at the aiport which the airprt code specfies.
sorcer.core.ProviderContext loc(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing location at the aiport which the airprt code specfies.
87
sorcer.core.ProviderContext pressure(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing pressure at the aiport which the airprt code specfies.
sorcer.core.ProviderContext sky(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing sky conditons at the aiport which the airprt code specfies.
sorcer.core.ProviderContext temp(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing temperature at the aiport which the airprt code specfies.
sorcer.core.ProviderContext visible(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing visiility at the aiport which the airprt code specfies.
sorcer.core.ProviderContext wind(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing wind conditions at the aiport which the airprt code specfies.
Method Detail temp public sorcer.core.ProviderContext temp(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing temperature at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
humid public sorcer.core.ProviderContext humid(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing humidity at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request.
88
Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
loc public sorcer.core.ProviderContext loc(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing location at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
wind public sorcer.core.ProviderContext wind(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing wind conditions at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
pressure public sorcer.core.ProviderContext pressure(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing pressure at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws:
89
java.rmi.RemoteException
sky public sorcer.core.ProviderContext sky(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing sky conditons at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
visible public sorcer.core.ProviderContext visible(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing visiility at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
getCodes public sorcer.core.ProviderContext getCodes(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the international airport codes in the state that is specified in the input ProviderContext. This method submits a job to the jobber which dispatches it to the requested SORCER service provider Parameters: context - a ProviderContext object that contains parameters to call SORCER Service Provider Throws: java.rmi.RemoteException Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
90
Copyright (c) 2004 Texas Tech University, All Rights Reserved. Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
sorcer.provider.webservice Interface AirportWeatherRemote All Superinterfaces: AirportWeatherInterface, java.rmi.Remote All Known Implementing Classes: AirportWeatherProviderImpl
public interface AirportWeatherRemote extends java.rmi.Remote, AirportWeatherInterface AirportWeatherRemote is the remote Provider Inteface contaning methods that allow a SORCER service requestor to submit jobs for SORCER Service Providers as well as remote web services. This Interface contains methods that take in a ProviderContext and based on the parameters in the ProviderContext submits a job to the Jobber that dispatches the job to the requested remote web service through the dispatcher SWIFExertion and to the SORCER Service Provider through SpaceExertionDispatcher. Author: Kiran Masapari
public class AirportWeatherProviderImpl extends sorcer.core.provider.SorcerProvider implements AirportWeatherRemote, sorcer.util.SORCER AirportWeatherProviderImpl is the implementation class of the SORCER Provider Interface sorcer.provider.webservice.AirportWeatherRemote. This class contains methods that take in a ProviderContext and based on the parameters in the ProviderContext submits a job to the Jobber that dispatches the job to the requested remote web service through the dispatcher SWIFExertion and to the SORCER Service Provider through SpaceExertionDispatcher Author: Kiran Masapari See Also: Serialized Form
Nested Class Summary Nested classes inherited from class sorcer.core.provider.SorcerProvider sorcer.core.provider.SorcerProvider.KeepAwake
Field Summary Fields inherited from class sorcer.core.provider.ServiceProvider delegate Fields inherited from interface sorcer.util.SORCER
Returns a ProviderContext object that contains the international airport codes in the state that is specified in the input ProviderContext.
93
net.jini.lookup.entry.UIDescriptor getMainUIDescriptor() Returns an UIDescriptor object that is used to bind the service user interface to the Service Provider
java.util.Hashtable getMethodContexts() Returns a Hashtabe with method names mapped to the corresponding context
sorcer.core.ProviderContext humid(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing humidity at the aiport which the airprt code specfies.
void init() Initializes the Provider
void init(sorcer.core.provider.ProviderDelegate delegate) Initializes the Provider
boolean isValidTask() Returns a Booolean value specifying if the service provider's task is valid or not
sorcer.core.ProviderContext loc(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing location at the aiport which the airprt code specfies.
sorcer.core.ProviderContext pressure(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing pressure at the aiport which the airprt code specfies.
sorcer.core.ProviderContext sky(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing sky conditons at the aiport which the airprt code specfies.
sorcer.core.ProviderContext temp(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing temperature at the aiport which the airprt code specfies.
sorcer.core.ProviderContext visible(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing visibilty at the aiport which the airprt code specfies.
sorcer.core.ProviderContext wind(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing wind conditions at the aiport which the airprt code specfies.
Constructor Detail AirportWeatherProviderImpl public AirportWeatherProviderImpl(java.lang.String[] args, com.sun.jini.start.LifeCycle lifeCycle) throws java.lang.Exception Creates an SORCER service provider proxy
Method Detail init
95
public void init(sorcer.core.provider.ProviderDelegate delegate) Initializes the Provider
init public void init() throws java.rmi.RemoteException Initializes the Provider Specified by: init in interface sorcer.base.Provider Throws: java.rmi.RemoteException
temp public sorcer.core.ProviderContext temp(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing temperature at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Specified by: temp in interface AirportWeatherInterface Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
humid public sorcer.core.ProviderContext humid(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing humidity at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Specified by: humid in interface AirportWeatherInterface Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
loc public sorcer.core.ProviderContext loc(sorcer.core.ProviderContext context) throws java.rmi.RemoteException
96
Returns a ProviderContext object that contains the string representing location at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Specified by: loc in interface AirportWeatherInterface Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
wind public sorcer.core.ProviderContext wind(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing wind conditions at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Specified by: wind in interface AirportWeatherInterface Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
pressure public sorcer.core.ProviderContext pressure(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing pressure at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Specified by: pressure in interface AirportWeatherInterface Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
sky
97
public sorcer.core.ProviderContext sky(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing sky conditons at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Specified by: sky in interface AirportWeatherInterface Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
visible public sorcer.core.ProviderContext visible(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing visibilty at the aiport which the airprt code specfies. This method submits a job to the jobber which dispatches it to the requested remote web service through a dispatcher called SWIFFExertionDispatcher by generating a SOAP request. Specified by: visible in interface AirportWeatherInterface Parameters: context - a ProviderContext object that contains parameters to call remote web service Throws: java.rmi.RemoteException
getMethodContexts public java.util.Hashtable getMethodContexts() Returns a Hashtabe with method names mapped to the corresponding context Specified by: getMethodContexts in interface sorcer.base.Provider
getMainUIDescriptor public net.jini.lookup.entry.UIDescriptor getMainUIDescriptor() Returns an UIDescriptor object that is used to bind the service user interface to the Service Provider Specified by: getMainUIDescriptor in interface sorcer.base.Provider
getCodes public sorcer.core.ProviderContext
98
getCodes(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the international airport codes in the state that is specified in the input ProviderContext. This method submits a job to the jobber which dispatches it to the requested SORCER service provider Specified by: getCodes in interface AirportWeatherInterface Parameters: context - a ProviderContext object that contains parameters to call SORCER Service Provider Throws: java.rmi.RemoteException
isValidTask public boolean isValidTask() Returns a Booolean value specifying if the service provider's task is valid or not
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2004 Texas Tech University, All Rights Reserved.
99
Package Class Use Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
public class AirportWeatherRequestorUI extends javax.swing.JFrame implements java.awt.event.ActionListener AirportWeatherRequestorUI provides the service user interface for the SORCER service requestor to submit SORCER service jobs to both SORCER serice Providers as well as RPC web services. Author: Kiran Masapari See Also: Serialized Form
Nested Class Summary Nested classes inherited from class javax.swing.JFrame javax.swing.JFrame.AccessibleJFrame Nested classes inherited from class java.awt.Frame java.awt.Frame.AccessibleAWTFrame Nested classes inherited from class java.awt.Window java.awt.Window.AccessibleAWTWindow
100
Nested classes inherited from class java.awt.Container java.awt.Container.AccessibleAWTContainer Nested classes inherited from class java.awt.Component java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
Field Summary Fields inherited from class javax.swing.JFrame accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled Fields inherited from class java.awt.Frame CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR Fields inherited from class java.awt.Component BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT Fields inherited from interface javax.swing.WindowConstants DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE Fields inherited from interface java.awt.image.ImageObserver ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor Summary AirportWeatherRequestorUI(java.lang.Object obj) The constructor creates a proxy of the service provider object, creates and shows the sevice user interface
Constructor Detail AirportWeatherRequestorUI public AirportWeatherRequestorUI(java.lang.Object obj) The constructor creates a proxy of the service provider object, creates and shows the sevice user interface
Method Detail main public static void main(java.lang.String[] args) The main program for the AirportWeatherRequestorUI class
103
actionPerformed public void actionPerformed(java.awt.event.ActionEvent e) Invoked when an action occurs Specified by: actionPerformed in interface java.awt.event.ActionListener
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2004 Texas Tech University, All Rights Reserved.
104
Package Class Use Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
sorcer.provider.airport Interface AirportInterface All Known Subinterfaces: AirportRemote All Known Implementing Classes: AirportProviderImpl
public interface AirportInterface AirportInterface is the Provider Inteface contaning methods that provides a SORCER service requestor with the internatonal airport codes for a sting specifying a state name. This Interface contains the codes method that take in a ProviderContext and based on the parameter in the ProviderContext provides the service requestor or the web service client with international airport codes the requested state
Returns a ProviderContext object that contains the international airport codes in the state that is specified in the input ProviderContext.
Method Detail codes public sorcer.core.ProviderContext codes(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the international airport codes in the state that is specified in the input ProviderContext. Throws: java.rmi.RemoteException
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2004 Texas Tech University, All Rights Reserved.
105
Package Class Use Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
sorcer.provider.airport Interface AirportRemote All Superinterfaces: AirportInterface, java.rmi.Remote All Known Implementing Classes: AirportProviderImpl
public interface AirportRemote extends java.rmi.Remote, AirportInterface AirportInterface is the Provider remote Inteface contaning methods that provides a SORCER service requestor with the internatonal airport codes for a sting specifying a state name. This Interface contains the codes method that take in a ProviderContext and based on the parameter in the ProviderContext provides the service requestor or the web service client with international airport codes the requested state
Methods inherited from interface sorcer.provider.airport.AirportInterface codes
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2004 Texas Tech University, All Rights Reserved.
106
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
public class AirportProviderImpl extends sorcer.core.provider.SorcerProvider implements AirportRemote, sorcer.util.SORCER AirportProviderImpl is the implementation class of the SORCER Provider Interface sorcer.provider.airport.AirportRemote. This Interface contains the codes method that take in a ProviderContext and based on the parameter in the ProviderContext provides the service requestor or the web service client with international airport codes the requested state See Also: Serialized Form
Nested Class Summary Nested classes inherited from class sorcer.core.provider.SorcerProvider sorcer.core.provider.SorcerProvider.KeepAwake
Field Summary Fields inherited from class sorcer.core.provider.ServiceProvider delegate
Constructor Summary AirportProviderImpl(java.lang.String[] args, com.sun.jini.start.LifeCycle lifeCycle) Creates an SORCER service provider proxy
Method Summary
108
sorcer.core.ProviderContext codes(sorcer.core.ProviderContext context) Returns a ProviderContext object that contains the string representing humidity at the aiport which the airprt code specfies.
java.util.Hashtable getMethodContexts() Returns a Hashtabe with method names mapped to the corresponding context
void init() Initializes the Provider
void init(sorcer.core.provider.ProviderDelegate delegate) Initializes the Provider
boolean isValidTask() Returns a Booolean value specifying if the service provider's task is valid or not
resume, step, stop, suspend Methods inherited from interface sorcer.base.Servicer service
Constructor Detail AirportProviderImpl public AirportProviderImpl(java.lang.String[] args, com.sun.jini.start.LifeCycle lifeCycle) throws java.lang.Exception Creates an SORCER service provider proxy
Method Detail init public void init(sorcer.core.provider.ProviderDelegate delegate) Initializes the Provider
init public void init() throws java.rmi.RemoteException Initializes the Provider Specified by: init in interface sorcer.base.Provider Throws: java.rmi.RemoteException
codes public sorcer.core.ProviderContext codes(sorcer.core.ProviderContext context) throws java.rmi.RemoteException Returns a ProviderContext object that contains the string representing humidity at the aiport which the airprt code specfies. Specified by: codes in interface AirportInterface Throws: java.rmi.RemoteException
getMethodContexts public java.util.Hashtable getMethodContexts() Returns a Hashtabe with method names mapped to the corresponding context Specified by: getMethodContexts in interface sorcer.base.Provider
isValidTask public boolean isValidTask() Returns a Booolean value specifying if the service provider's task is valid or not
110
Package Class Use Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2004 Texas Tech University, All Rights Reserved. Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
swifservice Interface SWIFIF All Superinterfaces: java.rmi.Remote All Known Implementing Classes: SWIFImpl
public interface SWIFIF extends java.rmi.Remote SWIFIF is Inteface representing the remote web service gateway for SORCER service requestors and rpc web service clients.
The execute method routes requests to SORCER Providers as well as RPC web services
Method Detail execute public java.lang.String execute(java.lang.String s) throws java.rmi.RemoteException The execute method routes requests to SORCER Providers as well as RPC web services Throws: java.rmi.RemoteException
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2005 Texas Tech University, All Rights Reserved.
111
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
swifservice Class SWIFImpl java.lang.Object swifservice.SWIFImpl All Implemented Interfaces: java.rmi.Remote, SWIFIF
public class SWIFImpl extends java.lang.Object implements SWIFIF SWIFImpl is the implementation class of the remote gateway web service SWIFIF. This class contains the execute method that routes requests to SORCER Providers as well as RPC web services
The execute method routes requests to SORCER Providers as well as RPC web services
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail SWIFImpl public SWIFImpl()
Method Detail execute public java.lang.String execute(java.lang.String context) The execute method routes requests to SORCER Providers as well as RPC web services
112
Specified by: execute in interface SWIFIF
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2005 Texas Tech University, All Rights Reserved.
113
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
swifservice Class SWIFServlet java.lang.Object javax.servlet.GenericServlet javax.servlet.http.HttpServlet com.sun.xml.rpc.server.http.JAXRPCServlet swifservice.SWIFServlet All Implemented Interfaces: java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig
public class SWIFServlet extends com.sun.xml.rpc.server.http.JAXRPCServlet Represents the Servlet that handles the RPC web service clients requests and routes the requests to the SORCER Service Providers as well as requested RPC web services See Also: Serialized Form
Field Summary protected com.sun.xml.rpc.server.http.ServletDelegate
delegate Represents the Servlet delegate object
static java.lang.String JAXRPC_RI_PROPERTY_PUBLISH_MODEL String representing the parameter defining object of type com.sun.xml.rpc.server.http.publishModel
static java.lang.String JAXRPC_RI_PROPERTY_PUBLISH_STATUS_PAGE String representing the parameter defining object of type com.sun.xml.rpc.server.http.publishStatusPage
static java.lang.String JAXRPC_RI_PROPERTY_PUBLISH_WSDL String representing the parameter defining object of type com.sun.xml.rpc.server.http.publishWSDL
static java.lang.String JAXRPC_RI_RUNTIME_INFO String representing the parameter defining object of type com.sun.xml.rpc.server.http.info
114
Constructor Summary SWIFServlet()
Method Summary void destroy()
Destroys the SWIFServlet protected void
doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) Delegates to SWIFServletDelagate doGet
protected void
doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) Delegates to SWIFServletDelagate doPost
void init(javax.servlet.ServletConfig servletConfig) Initializes the SWIFServlet
Methods inherited from class javax.servlet.http.HttpServlet doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service Methods inherited from class javax.servlet.GenericServlet getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail delegate protected com.sun.xml.rpc.server.http.ServletDelegate delegate Represents the Servlet delegate object
JAXRPC_RI_RUNTIME_INFO public static final java.lang.String JAXRPC_RI_RUNTIME_INFO String representing the parameter defining object of type com.sun.xml.rpc.server.http.info See Also: Constant Field Values
JAXRPC_RI_PROPERTY_PUBLISH_WSDL
115
public static final java.lang.String JAXRPC_RI_PROPERTY_PUBLISH_WSDL String representing the parameter defining object of type com.sun.xml.rpc.server.http.publishWSDL See Also: Constant Field Values
JAXRPC_RI_PROPERTY_PUBLISH_MODEL public static final java.lang.String JAXRPC_RI_PROPERTY_PUBLISH_MODEL String representing the parameter defining object of type com.sun.xml.rpc.server.http.publishModel See Also: Constant Field Values
JAXRPC_RI_PROPERTY_PUBLISH_STATUS_PAGE public static final java.lang.String JAXRPC_RI_PROPERTY_PUBLISH_STATUS_PAGE String representing the parameter defining object of type com.sun.xml.rpc.server.http.publishStatusPage See Also: Constant Field Values
Constructor Detail SWIFServlet public SWIFServlet()
Method Detail init public void init(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException Initializes the SWIFServlet Throws: javax.servlet.ServletException
destroy public void destroy() Destroys the SWIFServlet
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2005 Texas Tech University, All Rights Reserved.
117
Package Class Use Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
swifservice Class SWIFServletDelegate java.lang.Object com.sun.xml.rpc.server.http.JAXRPCServletDelegate swifservice.SWIFServletDelegate All Implemented Interfaces: com.sun.xml.rpc.server.http.ServletDelegate
public class SWIFServletDelegate extends com.sun.xml.rpc.server.http.JAXRPCServletDelegate The SWIFServletDelegate acts a delegate for the SWIFServlet and handles RPC web service clients requests, routing them to SORCER Service providers as well as requested RPC web service
Constructor Summary SWIFServletDelegate()
Methods inherited from class com.sun.xml.rpc.server.http.JAXRPCServletDelegate Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail SWIFServletDelegate public SWIFServletDelegate()
118
Method Detail init public void init(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException
Method Summary
protected static void copyStream(java.io.InputStream istream, java.io.OutputStream ostream) Copies the bytes from inputstream to outputstream
void destroy() Destroys the SWIFServletDelegate
void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) Routes RPC web service client requests to SORCER Service Providers and RPC web services
void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) Routes RPC web service client requests to SORCER Service Providers and RPC web services
getEndpointFor(javax.servlet.http.HttpServletRequest request) Returns an object of type RuntimeEndpointInfo that contains the endpoint of the requested RPC web service from the HttpServletRequest object
protected static javax.xml.soap.MimeHeaders
getHeaders(javax.servlet.http.HttpServletRequest req) Returns an object of type MimeHeaders that contain the headers from the HttpServletRequest object
getLocalizerFor(javax.servlet.ServletRequest request) Returns an object of type Localizer
protected java.lang.String getValidPathForEndpoint(com.sun.xml.rpc.server.http.RuntimeEndpointInfo info) Returns a string representing the endpoint of the RPC web service from the RuntimeEndpointInfo object
void init(javax.servlet.ServletConfig servletConfig) Initializes the SWIFServletDelegate
protected static void putHeaders(javax.xml.soap.MimeHeaders headers, javax.servlet.http.HttpServletResponse res) Modifies headers of the HttpServletResponse
protected static byte[] readFully(java.io.InputStream istream) Returns the bytes from the InputStream
protected void registerEndpointUrlPattern(com.sun.xml.rpc.server.http.RuntimeEndpointInfo info) Adds the endpoints url pattern to the path
protected void writeNotFoundErrorPage(com.sun.xml.rpc.util.localization.Localizer localizer, javax.servlet.http.HttpServletResponse response, java.lang.String message) Displays the "404 Not Found" Error page
protected void writeReply(javax.servlet.http.HttpServletResponse resp, com.sun.xml.rpc.soap.message.SOAPMessageContext messageContext) Writes the SOAP Message reply to the HttpServletResponse's OutputStream
119
Initializes the SWIFServletDelegate Throws: javax.servlet.ServletException
destroy public void destroy() Destroys the SWIFServletDelegate
doGet public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException Routes RPC web service client requests to SORCER Service Providers and RPC web services Throws: javax.servlet.ServletException
doPost public void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException Routes RPC web service client requests to SORCER Service Providers and RPC web services Throws: javax.servlet.ServletException
writeReply protected void writeReply(javax.servlet.http.HttpServletResponse resp, com.sun.xml.rpc.soap.message.SOAPMessageContext messageContext) throws javax.xml.soap.SOAPException, java.io.IOException Writes the SOAP Message reply to the HttpServletResponse's OutputStream Throws: javax.xml.soap.SOAPException java.io.IOException
writeNotFoundErrorPage protected void writeNotFoundErrorPage(com.sun.xml.rpc.util.localization.Localizer localizer, javax.servlet.http.HttpServletResponse response, java.lang.String message) throws java.io.IOException Displays the "404 Not Found" Error page Throws: java.io.IOException
120
getHeaders protected static javax.xml.soap.MimeHeaders getHeaders(javax.servlet.http.HttpServletRequest req) Returns an object of type MimeHeaders that contain the headers from the HttpServletRequest object
putHeaders protected static void putHeaders(javax.xml.soap.MimeHeaders headers, javax.servlet.http.HttpServletResponse res) Modifies headers of the HttpServletResponse
readFully protected static byte[] readFully(java.io.InputStream istream) throws java.io.IOException Returns the bytes from the InputStream Throws: java.io.IOException
registerEndpointUrlPattern protected void registerEndpointUrlPattern(com.sun.xml.rpc.server.http.RuntimeEndpointInfo info) Adds the endpoints url pattern to the path
getValidPathForEndpoint protected java.lang.String getValidPathForEndpoint(com.sun.xml.rpc.server.http.RuntimeEndpointInfo info) Returns a string representing the endpoint of the RPC web service from the RuntimeEndpointInfo object
getEndpointFor protected com.sun.xml.rpc.server.http.RuntimeEndpointInfo getEndpointFor(javax.servlet.http.HttpServletRequest request) Returns an object of type RuntimeEndpointInfo that contains the endpoint of the requested RPC web service from the HttpServletRequest object
getLocalizerFor protected com.sun.xml.rpc.util.localization.Localizer getLocalizerFor(javax.servlet.ServletRequest request) Returns an object of type Localizer
copyStream protected static void copyStream(java.io.InputStream istream, java.io.OutputStream ostream) throws java.io.IOException Copies the bytes from inputstream to outputstream
121
Throws: java.io.IOException
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2005 Texas Tech University, All Rights Reserved.
122
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
client Class SWIFClient java.lang.Object client.SWIFClient
public class SWIFClient extends java.lang.Object RPC web service client requesting SORCER service as well as RPC web service
The main program of the SWIFClient class Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail SWIFClient public SWIFClient()
Method Detail main public static void main(java.lang.String[] args) The main program of the SWIFClient class
Package Class Use Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright (c) 2005 Texas Tech University, All Rights Reserved
PERMISSION TO COPY
In presenting this thesis in partial fulfillment of the requirements for a master�s
degree at Texas Tech University or Texas Tech University Health Sciences Center, I
agree that the Library and my major department shall make it freely available for research
purposes. Permission to copy this thesis for scholarly purposes may be granted by the
Director of the Library or my major professor. It is understood that any copying or
publication of this thesis for financial gain shall not be allowed without my further
written permission and that any user may be liable for copyright infringement.
Agree (Permission is granted.)
_____KIRAN MANOAH MASAPARI______________ ___5/2/2005_______ Student Signature Date Disagree (Permission is not granted.) _______________________________________________ _________________ Student Signature Date .