WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
UDDI v3.0 (Universal Description, Discovery and Integration)
General introduction to Web services and an implementation example
A1.1 Assignment 1 “Deploying a Simple Web Service”
Web Services Technology Stack (WSDL and UDDI)
T NAF & XML UDDI Sasu Tarkoma and Pekka Nikander Helsinki Institute for Information Technology.
Web Services: UDDI. What is UDDI? UDDI = The Universal Description, Discovery, and Integration A central element of the group of standards that comprise.
UDDI Overview Copyright © by Accenture, Ariba, Inc., Commerce One, Inc., Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., Intel.
- Page 1 - VisualWorks Web Services 8/27/02 Version 1.0 Exp osin g Business Value with VisualWorks Web Services Kirk D. Blackburn Qwest Communications,
Distributed Heterogeneous Data Warehouse For Grid Analysis
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)
UDDI Ashish Jain University of Colorado 3 October, 2001.
Comparison of the RMI and the socket APIs
Web Services Description Language ?url=/library/en-us/dnwebsrv/html/understandWSDL.asp Notes from article.
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
Distributed Web Software  Presentation-based, e.g., dynamic web pages  Service-based – Web Services.
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
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.
Web services A Web service is an interface that describes a collection of operations that are network-accessible through standardized XML messaging. A.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
Web Services (tying it all together) and Introduction to Grid Services Concepts These slides are adapted from course material developed by Barry Wilkinson,
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
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.
Developing Web Services with the Eclipse Web Tools Platform Boris Minkin.
UDDI Overview 9/6/2000 © Copyright 2000 By Ariba, Inc., International Business Machines Corporation and Microsoft Corporation. All Rights Reserved.
Cambridge, March 23 rd 2004 MobileMAN Project MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
Web Services and Data Integration Zachary G. Ives University of Pennsylvania CIS 455 / 555 – Internet and Web Systems September 20, 2015 Some slides by.
COP 4991 Component Based Software Development Lecture #4 Java Web Services Onyeka Ezenwoye.
Web Service Addressing CS409 Application Services Even Semester 2007.
Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz Carollyn Carson
Web Services (SOAP, WSDL, and UDDI)
1 Universal Description, Discovery, and Integration (UDDI) 大葉大學資工系.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
UDDI Jianguo Lu University of Windsor What is UDDI?  Universal Description, Discovery, and Integration  A project to encourage interoperability.
UDDI, DISCO, and web services - Koushik Nimmagadda.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
1 UDDI (Universal Description, Discovery, and Integration) An Overview – part II Version : Date : Pages Responsible Author : Co-Authors : Status : Confidentiality.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
Helsinki, June 7 th 2004 IAB Meeting MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
Service provider service requestor application object (client) application object (service provider) SOAP-based middleware SOAP messages exchanged on top.
- Page 1 - VisualWorks Web Services 8/27/02 Version 1.0 Exp osin g Business Value with VisualWorks Web Services Kirk D. Blackburn Qwest Communications,
Kemal Baykal Rasim Ismayilov
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
Web Services Part 1 -- Qinwei Zhu Part 2 – Yongqun He.
WSDL : Web Service Definition Language Dr. Yuhong Yan NRC-IIT-Fredericton Internet logic.
Web services In this presentation… –what is a web service? –web service benefits –web service standards –web service definitions –web service actions.
UDDI (Universal Description, Discovery and Integration) Dr. SVL Narasimham.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
1 G52IWS: Universal Description, Discovery and Integration (UDDI)‏ Chris Greenhalgh
WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.
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.
Service Discovery: UDDI COMP6017 Topics on Web Services Dr Nicholas Gibbins –
UDDI (Universal Description,Discovery and Integration) By S.NAGARJUNA M.Tech-C.S.E.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Chapter 5 Remote Procedure Call
Wsdl.
Web services, WSDL, SOAP and UDDI
Introduction to Web Services
Distributed System using Web Services
Universal Description, Discovery and Integration (UDDI)
Distributed System using Web Services
Presentation transcript:

WSTK Development toolkit for Java Implementation of Web Services By Keping Jia

1.Intruduction Soap HTTP

Why? 1.Facilitate software integration ----Platform and language independent. WSDL,SOAP,XML ----Dynamic finding & binding UDDI 2.Comply with existing Internet infrastructure. ----SOAP over HTTP

Implementation practice 1.Abstract architecture client Web service deployment environment SOAP/HTTP binding 2.Implementation architecture client http parsersoap parser service implementation http 3.Java implementation architecture client web serverServlet Java class J2EE http soap private protocol

2. WSTK --- Web service tool kit 2.1 Composition

Client side

Service side

Example: public class jkpAdd { public int add(int a,int b) { return a+b; } 1.Compile jkpAdd.java 2. Creating jkpAdd WSDL Descriptions. There are two files that need to be created: (1) A service interface definition and (2) A service implementation definition.

Interface WSDL:

Service WSDL: Generating command: java -cp %WSTK_CP% org.apache.axis.wsdl.Java2WSDL -N -n -o c:\wstk-3.1\services\applications\jkpAdd\webapp\jkpAdd_Interface.wsdl -O c:\wstk-3.1\services\applications\jkpAdd\webapp\jkpAdd_Impl.wsdl -L " -m "add" -l jkpAdd

3.Deploying services (1) Creating the axis deployment descriptor (2) Deploying the service WAR with the WSTK configuration tool

3.Registering the service with Axis DEPLOY /jkpAdd/services/AdminService deploy.wsdd

Service publishing

More in detail ……

Example:

--- TModel

Standard Categorization Recommended by UDDI (version 1.03) 1.UDDI Types Taxonomy 2.North American Industry Classification System (NAICS) 1997 Release 3.United Nations Standard Products and Services Code System (UNSPSC) Version Universal Standard Products and Services Classification (UNSPSC) Version ISO 3166 Geographic Taxonomy 6. General Keywords Taxonomy

Standard Categorization Recommended by UDDI (version 2.01) 1.UDDI Types Taxonomy tModel UUID: uuid:C1ACF26D D70-39B756E62AB4 2.North American Industry Classification System (NAICS) 1997 Release tModel UUID: uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2 3.United Nations Standard Products and Services Code System (UNSPSC) Version 3.1 tModel UUID: uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384 4.Universal Standard Products and Services Classification (UNSPSC) Version 7.0 tModel UUID: uuid:CD A-4237-B336-6BDCBDCC ISO 3166 Geographic Taxonomy tModel UUID: uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88 6. General Keywords Taxonomy tModel UUID: uuid:A035A07C-F362-44dd-8F95-E2B134BF43B4

Example: North American Industry Classification System (NAICS) 1997 Release tModel Definition tModels: Name: ntis-gov:naics:1997 Description: Business Taxonomy: NAICS (1997 Release) tModel UUID: uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2 Valid Values See or any of the UDDI operator sites to browse the list of valid NAICS 1997 release codes. <businessEntity businessKey= <keyedReference keyName="Non-scheduled chartered freight air transportation" keyValue="481212" tModelKey="uuid:C0B9FE13-179F-413d-8A5B-5004DB8E5BB2"/>...

ISO 3166 Geographic Taxonomy tModel Definition tModels: Name: uddi-org:iso-ch: tModel UUID: uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88 Valid Values see Example of Use <businessEntity businessKey= <!-- Categorize this businessEntity as serving California using the ISO 3166 taxonomy --> <keyedReference keyName="California, USA" keyValue="US-CA" tModelKey="uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88"/>...

//Program example: import java.util.Vector; import com.ibm.uddi4j.wsdl.client.UDDIWSDLProxy; import com.ibm.uddi4j.wsdl.provider.ServiceProvider; import com.ibm.uddi4j.wsdl.axis.AxisServiceDefinition; import com.ibm.uddi4j.wsdl.definition.ServiceInterface; import org.uddi4j.util.CategoryBag; import org.uddi4j.util.KeyedReference; import com.ibm.wstk.uddi.TModelKeyTable; import com.ibm.wstk.WSTKConstants; public class NQPublish{ public static void main(String[] args) throws Exception { try { // // let's collect the input arguments // String serviceImplementationWSDL = args[0]; String serviceInterfaceWSDL = args[1]; // // this will use whatever UDDI registry you selected // in the WSTK Configuration Tool // UDDIWSDLProxy uwp = new UDDIWSDLProxy(WSTKConstants.UDDI_INQUIRY_URL, WSTKConstants.UDDI_PUBLISH_URL, WSTKConstants.UDDI_USERID, WSTKConstants.UDDI_CRED, WSTKConstants.TRANSPORT_CLASS);

// // assuming that you haven't yet registered yourself as // a Service Provider, do the following steps. If you // have already registered as a service provider, you // should use your existing registration // KeyedReference keyedReference = new KeyedReference(TModelKeyTable.UNSPSC, " "); keyedReference.setTModelKey(TModelKeyTable.UNSPSC_TMODEL_KEY); Vector keyedReferenceVector = new Vector(); keyedReferenceVector.add(keyedReference); // Create category bag CategoryBag spCatList = new CategoryBag(); spCatList.setKeyedReferenceVector(keyedReferenceVector); ServiceProvider sp = new ServiceProvider("WSTK 3.1 jkpAdd", "WSTK 3.1 jkpAdd", spCatList); sp = uwp.publish(sp); // // now we publish the service interface // ServiceInterface si = new ServiceInterface(serviceInterfaceWSDL); si = uwp.publish(si);

// // now we deploy and publish the service itself // keyedReference = new KeyedReference(TModelKeyTable.UNSPSC, " "); keyedReference.setTModelKey(TModelKeyTable.UNSPSC_TMODEL_KEY); keyedReferenceVector = new Vector(); keyedReferenceVector.add(keyedReference); // Create category bag CategoryBag sdCatList = new CategoryBag(); spCatList.setKeyedReferenceVector(keyedReferenceVector); // AxisServiceDefinition sd = new AxisServiceDefinition( serviceImplementationWSDL, sdCatList, serviceDeployment, serviceMgr); uwp.publish(sp, sd); //- publish the service } catch (Exception e) { System.out.println("There was an error (" + e + ")"); }

UDDI APIs tend to fall into four broad categories. 1. There are messages used to search for things such as businesses or services. These messages start with find_xxx where xxx is the name type of object you are searching for, e.g. find_business and find_service. Like any search mechanism, find messages let you specify search criteria such as names, categories and identifiers. When searching by names, you can specify a % sign as a wildcard character. 2.The second group of messages is the detail messages which follow the naming convention get_xxxDetail where xxx is the type of object for which you want detailed information. For example, get_businessDetail and get_tModelDetail return the details of a business and a tModel respectively. A get_xxxDetail message contains the unique identifier of the object for which you want detailed information. For example, get_businessDetail contains a businessKey while get_tModelDetail contains a tModelKey. 3.The third group is the save messages, e.g save_business and save_binding. These APIs can be used to save new objects or to replace existing objects. When saving new objects, the response message contains the newly saved object key. 4.Finally, the delete messages such as delete_business and delete_publisherAssertions, delete specified objects. Similar to get_xxxDetail messages, most delete messages also require a key that uniquely identifies the object to be deleted. Finding services in UDDI

Finding a Business by Name

Finding Businesses by Categories

Finding Service Interfaces

Finding Businesses by Service Interface

Finding Services by Name

Example: import java.util.Vector; import com.ibm.uddi4j.wsdl.client.UDDIWSDLProxy; import com.ibm.uddi4j.wsdl.definition.ServiceDefinition; import com.ibm.uddi4j.wsdl.provider.ServiceProvider; import com.ibm.wstk.wsdl.*; import com.ibm.wstk.*; public class NasdaqQuotesClient { public static String findUDDI(String service) throws Exception { try { UDDIWSDLProxy uwp = new UDDIWSDLProxy(WSTKConstants.UDDI_INQUIRY_URL, WSTKConstants.UDDI_PUBLISH_WSTK Constants.UDDI_USERID, WSTKConstants.UDDI_CRED, WSTKConstants.TRANSPORT_CLASS); Vector providerNameVector = new Vector(); providerNameVector.add(new Name("WSTK 3.1 jkpAdd")); ServiceProvider[] sps = uwp.findAllServiceProviders(null, providerNameVector, null,null,null,null,true); if (sps.length > 0) { ServiceDefinition sd = sps[0].getServiceDefinition(service); //service: jkpAdd return sd.getServiceImplementation().getWSDLFilename(); } else { return null; } } catch (Exception e) { System.exit(0);} }

2.2 WSTK structure