1 Automated Dynamic Invocation System for Web Service with a User-defined Data Type EOOWS 2004 14 June 200 4 Takashi KOSHIDA Matsue National College of.

Slides:



Advertisements
Similar presentations
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Advertisements

31242/32549 Advanced Internet Programming Advanced Java Programming
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
Execute Stored Procedure having Output Parameter and returning Result Set in Adeptia Server.
1 UNIFIED DYNAMIC INVOCATION SYSTEM FOR WEB SERVICES ICCSA June 200 4 Takashi KOSHIDA Matsue National College of Technology Nara Institute of Science.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,
1 An Effective Dynamic Invocation System for Web Service BAI March 200 4 Takashi KOSHIDA Matsue National College of Technology Nara Institute of.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Lecture 10: Web Services. Outline Overview of Web Services Create a Web Service with Sun J2EE (JAX-RPC)
1 Web Services – Part II CS , Spring 2008/9.
An Eclipse-Based Web Service Composition Tool A Presentation for Faculty and Students at Computer Science Dept. California State University, Los Angeles.
11 Web Services Dr. Miguel A. Labrador Department of Computer Science & Engineering
Web Services CS Web Services Internet-available services using XML messaging, for computer-computer interaction Not tied to any OS or language Self-describing:
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
Distributed Web Software Presentation-based, e.g., dynamic web pages Service-based – Web Services.
1 Java Server Programming zLecture 1 focuses on: yIntroduction to web services y Web Services using Axis y The bigger Picture: Introduction to J2EE y Java.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
Submitted by: Madeeha Khalid Sana Nisar Ambreen Tabassum.
1 Lecture 22 George Koutsogiannakis Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
WSDL Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Discovering E-Services Using UDDI in SELF-SERV Quan Z. Sheng, Boualem Benatallah, Rayan Stephan, Eileen Oi-Yan Mak, Yan Q. Zhu School of Computer Science.
WSDL: Web Services Definition Language CS 795/895.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
Web Services (SOAP, WSDL, and UDDI)
WEB SERVICE DESCRIPTION LANGUAGE ( WSDL) -SIVA SAGAR TELLA.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
1 Web Service Description Language (WSDL) 大葉大學資工系.
1 WSDL Tutorial Heather Kreger (borrowed from Peter Brittenham) Web Services Architect IBM Emerging Technologies.
Course Schedule Report Web Service Carolyn Cracraft Lisa de Larios-Heiman.
Distributed Programming CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
A brief introduction of UDDI By Xin Huang. What is UDDI.
Service provider service requestor application object (client) application object (service provider) SOAP-based middleware SOAP messages exchanged on top.
1 Grid Web Services and Gateway PTLIU Laboratory for Community Grids Marlon Pierce, Choonhan Youn, Geoffrey Fox, Computer Science, Informatics, Physics.
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY Semantic Computing Research Group Web Services Service Publishing.
XmlBlackBox The presentation Alexander Crea June the 15st 2010 The presentation Alexander Crea June the 15st 2010
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
WSDL : Web Service Definition Language Dr. Yuhong Yan NRC-IIT-Fredericton Internet logic.
Web services. Introduction to WSDL. February 23, 2006.
Web Services An Introduction Copyright © Curt Hill.
.NET Mobile Application Development XML Web Services.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
In this session, you will learn to: Understand managed code Create managed database objects Define the Hypertext Transfer Protocol endpoints Implement.
Beginning 자바 웹 서비스 웹 서비스 호출 Meilan JIANG Cyber infrastructure Research Laboratory Department of Advanced Technology.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
1 Design and Implementation of A Primitive Web Service iiWAS September 2005 Takashi KOSHIDA Matsue National College of Technology.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
1 A Dynamic Procurement B2B System using Primitive Web Services BAI July 200 5 Takashi KOSHIDA Matsue National College of Technology.
Sabri Kızanlık Ural Emekçi
Step 1 Create Database Info activity in Adeptia Server specifying the driver, URL and user credentials information for the database in which stored.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Services-JAX-RPC JAX-RPC enables a Web Service endpoint to be developed using either a Java Servlet or Enterprise JavaBeans (EJB) component model.
Distributed web based systems
Web Ontology Language for Service (OWL-S)
A Realization of the Dynamic Procurement Web Service in Practical Use Case 13 Dec. 2003 Takashi KOSHIDA Matsue National College of Technology.
Chapter 23 – ASP.NET Outline 23.1 Introduction NET Overview
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Web services, WSDL, SOAP and UDDI
Introduction to Web Services
Distributed System using Web Services
Presentation transcript:

1 Automated Dynamic Invocation System for Web Service with a User-defined Data Type EOOWS June 200 4 Takashi KOSHIDA Matsue National College of Technology Nara Institute of Science and Technology

2 Content 1. Introduction Some background/Problems 2. System model About WSIF, an overview of this system Implementation 3. Experimental Results Sample program Our system 4. Conclusion

3 1 Introduction The B2B system is now widely used. But it is limited to regular transactions. However, SOAP,UDDI and WSDL have enabled world-wide dynamic business transactions. But, we think, too limited. Because, there are three problems. It is difficult: 1.to discover the Web Service that we want to use 、 2.to know how to use it 、 3.and to make a client program for executing a Web Service.

4 So, in this paper, we focused on the 3rd problem. 3. and to make a client program for executing a Web Service. And to solve it, we used WSIF. ・ We have already developed the system for the primitive data type. ・ Now we have realized a dynamic invocation system for user-defined data.

5 Web Service is the distributed processing technology on the Web. XML is used for data exchange. The make up of the Web Service Service RequesterService Provider SOAP retrieval registration/publish execution UDDI WSDL

6 2 System model About WSIF (Web Services Invocation Framework) It makes stub-less dynamic invocation possible. It requires WSDL description of Web Service. But,for execution, it is necessary to specify correctly the WSDL URL, Web Service name, method name, input-and-output parameter names and types. These are complex procedures. More easily and automatically! But, there are two output data types.

7 About the types of output data Two kinds of output data in Web Service: Primitive data: string, float or int etc. User-defined data: This type is composed of some primitive data types. For example, employee data ( ID, name, age, position, address, ….) This data is transferred as a JavaBeans object. So we must generate the JavaBeans code dynamically to deal with user-defined data.

8 <definitions name="TemperatureService" targetNamespace=" xmlns:tns=" xmlns:xsd=" xmlns:soap=" xmlns=" Primitive data in WSDL description Output parameter name/type Input parameter name/type

9 User-defined data in WSDL description User-defined data typeinput parameter name / type output parameter name / type “ GData ” type is made up of the two variables, “ code ” and “ maker ”. Both of these are string-type variables.

10 14 primitive data User-defined data in WSDL description (Zip2Geo) In this case, “ LatLongReturn ” type is constituted from 14 variables.

11 An overview of our system Automated parameter setup and execution 1. First, the system discovers and retrieves the WSDL URL from the UDDI registry. 2. Downloads and analyzes the WSDL file. 3. Processing for user-defined data. 4. Then, setup the Web Service name, method name and input-and-output parameter names and types. 5. Finally,executes a Web Service. The system that is applied to primitive type data has already been developed. This new system is applicable to user- defined data.

12 System Feature To deal dynamically with user- defined data. We used WSDL2Java/Runtime library to generate JavaBeans codes. We utilized the Class/Method library to extract and execute the getter method dynamically.

13 System Implementation The system consists of three stages (Step1, Step2 and Step3). Step1: “UDDI retrieval and extraction of the WSDL URL” Step2: “dynamic Java code generation and analysis” Step3: “ WSDL file analysis, stub-less Web Service execution and extraction of the output result” Fig.2.

14 System workflow :1 extract retrieval UDDI Registry tModel name, tModelKey and input parameter values download WSDL data URL of WSDL file Extracted data Execution Web Service Server Step 1 Fig.2.

15 A part of WSDL description …………………………………………….. ………………………………………… Input parameter name/type Output parameter name/type Web Service name Method name Same name The system compares the name of these portions and distinguishes the parameter name of an input and an output.

16 System workflow :2 Fig.2. Step 2 setting up WSDL data compile analyze and extract WSDL2Java Java code for user-defined data (.java) Class file for user-defined data (.class) javac Name and return type of the getter methods analyze and extract Web Service name, method name, Namespace Input parameter name and type Output parameter name and type WSIF API Web Service Execution getter method invocation using Method object Extracted data Execution Step 3, data Output results In Step3, our system first analyzes the types element in the WSDL file and extracts the input-and-output parameter names and types, the method name of Web Service. After execution, the system extracts the output results by invoking dynamically the getter methods using “Method” API. In Step2, the system generates and compiles the JavaBeans code that is mapped in the user- defined data. We use “WSDL2Java” for the code generation and “javac” for compilation. These commands are executed by using “Runtime.getRuntime (). exec ()” in this system and the compiled code is automatically stored in a “sub” directory. The system analyzes the compiled code using “Class” and “Method” API in Java reflect and we can get the getter method and its return type.

17 3 Experimental Results We used the IBM UDDI registry for testing. tModelkeytModel name Zip2Geo Fig.3.

18 Result of sample program (Fig.4.) D:\WSIF\wsif-src-2.0\wsif-2.0\build\samples>java complexsoap.client.dynamic.Run complexsoap/Zip2Geo.wsdl This zip code is in NEW YORK, NY in NEW YORK county It extends from longitude to longitude and from latitude to latitude All the parameters that are required for execution were previously specified manually in this program. And the JavaBeans code for a user-defined data and WSDL file are attached to this WSIF package. WSDL URL sample program name Input parameter (zip code)

19 D:\WSIF\wsif-src-2.0\wsif-2.0\build\samples>java IBMRunComp3 Zip2Geo UUID:E625DB10-56F0-11D8-B DC0A53 “” Reading WSDL document from WSDL getCity = NEW YORK getStateAbbrev = NY getZipCode = getCounty = NEW YORK getFromLongitude = getFromLatitude = getToLongitude = getToLatitude = getAvgLongitude = getAvgLatitude = getCMSA = 5602 getPMSA = 5600 Input parameters tModel name tModelKey Results of our system (Fig.5.) Our system (“IBMRuncomp3”) automatically discovers the Web Service’s WSDL file from the IBM UDDI registry and analyzes it. Then it sets automatically the parameters that are required for the dynamic invocation of the Web Service and invokes dynamically the getter method using “Method” object to get the output results.

20 We developed an automated dynamic invocation system for Web Service with user-defined data. Features Retrieval of WSDL URL from the UDDI registry Automated data extraction and setting from the WSDL description of Web Service Stub-less execution using WSIF 4 Conclusion

21 The UDDI registry is the core of Web Service technology. But in practice, it is difficult to quickly discover necessary Web Services from the UDDI registry. We have to make it easily for the registry to find those Web Service that users need. Important !