creating and registering mobile e-services using java, uddi, and wsdl chris peltz...

31
Creating and Registering Mobile E- services Using Java, UDDI, and WSDL Chris Peltz ([email protected] ) Carollyn Carson ( [email protected] ) Hewlett-Packard Company

Upload: philippa-dawson

Post on 29-Dec-2015

228 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Creating and Registering Mobile E-services Using Java,

UDDI, and WSDL

Chris Peltz ([email protected])

Carollyn Carson ([email protected])

Hewlett-Packard Company

Page 2: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Introduction

• Interest in web services has exploded over the past year

• There is a need to understand how these technologies can be leveraged today

• HP conducted a study to understand how web services technologies can be used within a mobile e-services ecosystem

• We will present a methodology developed from this study, including key best practices

Page 3: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Agenda

• Overview of web services standards

• Analysis and design issues

• Creating and deploying web services

• The registration and discovery process

• Key learnings and future considerations

Page 4: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Web Services Defined

• Web services are Internet-oriented software components

• E-services are complete solutions derived from combining web services components

• A Mobile E-service is a service delivered to an end user over a mobile deviceMobile E-service

E-service

Web Service

Page 5: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Service-Oriented Architecture

• WSDL describes the capabilities of a web service

• UDDI is used to register and discover services

• SOAP is the web services communication protocol

publish bind

find

UDDIWSDL SOAP

UDDI

Mobile Network Operator

Service Provider

Users

Page 6: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Mobile E-services Lifecycle

Assessment andAnalysis

Test Register

Environment Setup

Maintain

Develop

Deploy

Business Feasability Technical Feasability Standards Selection Implementation

Method

Access to dev and testenvironments

Aquire products/tools Aquire hardware Set up dev and test

environments

Design Design Interface Incorporate SOAP Determine WSDL

standard Select taxonomy Connect to backend

legacy system, ifapplicable

Test me-servicefucntionality

Test externalinvocaton

Validate taxonomy

Move to productionenvironment

Retest me-servicefunctionality

Test externalinvocation

Select UDDI registry Deterimine binding Use Mobile E-service

Taxonomy to register Register business/me-

service

QA Configure Maintain

documentation Monitor me-service

Create me-serviceinterface (WSDL)

Create SOAP inteface,integrating withbackend componentsor via interfacewrapper

(cont)

(cont)

Test Test dscovery of me-

service in UDDI registry Validate business

information in UDDI Validate T-model in

UDDI Test bining to me-

service

MESLC StaticInvocation Model

MESLC Creation Model

MESLC DynamicInvocation Model

Page 7: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Lifecycle Entity and RolesBusiness Analyst Determines the business feasibility, hosting

options, and payment models

Architect Develops the standards, web service design, and platform requirements

Engineer Responsible for the development of the project

Administrator Responsible for hardware availability, monitoring resources, managing UDDI registry

Operations Responsible for the service deployment, product support, and monitoring of the service

Business Developer Determines service advertising decisions (i.e., what & how to register in UDDI)

Page 8: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Analysis and Design

• Assessment and Analysis

• Common Design Approaches

• Registration Considerations

Page 9: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Assessment and Analysis

1. What is the business value in providing this functionality as a web service?

2. What technologies, platforms, and languages are involved?

3. How would a consumer discover the service?4. What web services interfaces (WSDL) have to be

supported?5. Will the service be hosted from within the firewall?6. Will consumers directly invoke the service?7. Where will the service be advertised?

Page 10: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Common Design Approachestops-down vs. bottoms-up intrusive

non-intrusive

fine-grained vs. coarse-grained vs.

Page 11: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Designing The Interface

• WSDL enables service interoperability– Compliance with a standard WSDL interface can

ensure interoperability with the ecosystem– Many web services vendors offer tools to

automatically create clients from a WSDL interface

• A service can support a variety of WSDL-based interfaces

• Conforming to an existing WSDL may require a wrapper around the existing implementation

Page 12: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Hosting Models

hosted model partially hosted model remote hosted model

intrusive non-intrusive

FIREWALL

SOAPServer

Web Service

Remote Hosting Site

Data Source

Webserver

FIREWALL

SOAP Server

VPN tunnel(TCP/IP)

Legacy system

Remote Hosting Site

Data SourceEJB

Corporate Site

Web Servicewrapper

FIREWALL

Webserver

invoke

response

FIREWALL

SOAPServer

Web Service

Corporate Site

LegacyApplicaton

Data Source

Webserver

Page 13: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Registration Considerations

• How is the service registered?– A taxonomy is used to classify a service

• Categories: NAICS, UNSPSC• Identifiers: D-U-N-S, Thomas Register

• Where is the service registered?– Public Registry: available to public– Private Registry: target industry segments

• Registration method will impact the visibility of the service to potential customers

Page 14: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Creating and Deploying The Service

• Web Services Platform Requirements

• Steps to Web Services Creation

• Testing and Deploying The Service

• An Example

Page 15: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Platform RequirementsSOAP Server Processes SOAP messages between applications

J2EE Platform Hosts the services and SOAP server

Developer Tools Simplify creation of WSDL and client proxies

UDDI Registry Testing or hosting the service registration process

Registry Tools Registration and discovery of web services

Build/Deploy Tools Tools to build and deploy the web service

Testing Tools Unit testing, interoperability, and load testing

Page 16: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Creating The Service

• Existing technology must be considered– Java, J2EE, HTTP, C/C++, Python, CORBA, Perl

• A Java wrapper may be required in the following situations:– Partial remote hosting of a service– To conform to an existing WSDL standard– C/C++ is being used, but platform is J2EE-based

• Developer tools can simplify the web service creation process

Page 17: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Creating The Service

• Three methods for creating the web service interface:– A WSDL can be created

from scratch– An existing WSDL can be

leveraged– It can be created from an

existing implementation

• Consider RPC or document-exchange

WSDL

Stubs/Skeleton

Implementation

Page 18: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Deploying The Service

• The SOAP server and the web services are deployed in a J2EE container– Developer tools can automate this process

• An automated build process can simplify the deployment process– Apache ANT is a XML/Java based build tool that

can execute on any operating system– ANT can automate the build process, and can be

used to generate required web services components

Page 19: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Testing the Service

• SOAP Compatibility• Firewall Testing• Client Interaction

• Security• Transactions• Conversations

• WSDL Verification• URL Bindings• Boundary Testing

• Performance Testing• Stress Testing

Functional Testing Interoperability Testing

Load Testing Enterprise-Level Testing

Page 20: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Registering and Discovering the Service

• Overview of UDDI

• Registering the Service

• Discovering and Invoking the Service

Page 21: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Overview of UDDI

The Universal Business Registry is the public registry maintained by a group of node operators. A replication process

ensures data integrity

Private Registries are used for build private ecosystems (e-marketplaces,

portals, partner catalogs, EAI)

IBM

HP

Microsoft

SAP

UBR

querypublish Procurement

IT

Enterprise.comManufacturing

Supplier

UDDI defines how a business can publish information about itself and the services that it offers

Page 22: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Modeling a Service in UDDI

businessEntity

bindingTemplates tModels

identifieridentifier

categorycategorybusinessServices

Page 23: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Preparing for the Registration

• Programmatic or interactive?– UDDI4J is a popular Java API– GUI tools are available to simplify the registration

process

• The taxonomy used must be registered as a tModel if it doesn’t already exist in UDDI

• All UDDI “publish” calls require an authentication token – Logins must be obtained prior to registering the

service

Page 24: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Registering the Service

• Add identifiers/categories to business/service to simplify lookup

• Re-use existing tModels (WSDL) if possible

• Consider separating the URL location from the WSDL and place into the bindingTemplate

Best Practices1. Register businessEntity

2. Enter businessService Details

3. Register tModel

4. Create bindingTemplate

Page 25: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Discovering the Service

• Process involves qualifying a provider as a potential company to do business with– e.g., partner assessments, WSDL conformance,

security requirements, scalability

• UDDI can be searched by:– Business: using DUNS, UNSPSC, or name– Service: using service taxonomies– tModel: using an existing WSDL implementation

• Programmatic (JAXR, UDDI4J) and interactive interfaces

Page 26: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Invoking The Service

• JAXM/JAX-RPC can be used to construct and send SOAP messages

• Or use client proxy tools (e.g., Apache Axis WSDL2Java) to automatically generate the code from a WSDL

Client.java

ClientProxy.java

Service.java

SOAP Server

Page 27: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Case StudyHosted Environment

UDDI Registry

HP-UX

J2EE App Server

SOAPServer

DeploymentDescriptor

WSDL

AdapterConfiguration

EJB Adapter

Win NT

RegistryTools

DeveloperTools

Back-End Services

IPSEC/VPN

VPN

CLIENT

J2EE AppServer

EJBclass

ConsumerSOAPClientProxy

Java http/SOAP

Page 28: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Conclusion

• Key Learnings

• Futures

Page 29: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

Key Learnings

• WSDL is at the heart of service interoperability• Web services must provide well-defined, useful

interfaces to the end consumer• A non-intrusive design may have to be considered for

certain hosting models• Taxonomies are important to enhance visibility• Almost any technology can be exposed as a service• Developer tools can greatly simplify the web service

registration and creation process

Page 30: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

The Future of Web Services

• Asynchronous messaging support• Web services orchestration

– WSFL, BizTalk, X-LANG

• Atomic and “cohesive” transactions– Business Transaction Protocol (BTP)

• Security – authentication, authorization – SAML, WS-Security, XKMS

• J2EE/.NET interoperability• Web services manageability

Page 31: Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz (chris_peltz@hp.com)chris_peltz@hp.com Carollyn Carson (carollyn_carson@hp.com)carollyn_carson@hp.com

References

• www.searchwebservices.com

• www.soapagent.com

• www.soaprpc.com

• www.stencilgroup.com

• www.webservices.org

• www.webservicesarchitect.com