org.apache.juddi.v3.client.mapping
Class BPEL2UDDI

java.lang.Object
  extended by org.apache.juddi.v3.annotations.AnnotationProcessor
      extended by org.apache.juddi.v3.client.mapping.BPEL2UDDI

public class BPEL2UDDI
extends AnnotationProcessor

BPEL4WS abstract processes describe the observable behavior of Web services. They complement abstract WSDL interfaces (port types and operations) and the UDDI model by defining dependencies between service operations in the context of a message exchange. The technical note 'uddi-spec-tc-tn-bpel' describes the relationships between the three models and suggests how BPEL4WS abstract processes can be used in a UDDI Registry. This class implements the registrations suggestions as put forward in the technote. * @author Kurt T Stam


Constructor Summary
BPEL2UDDI(UDDIClerk clerk, URLLocalizer urlLocalizer, Properties properties)
           
 
Method Summary
 org.uddi.api_v3.TModel createBPEL4WSProcessTModel(QName serviceName, String targetNamespace, Map<QName,javax.wsdl.PortType> portTypes, String bpelOverviewURL)
          BPEL4WS abstract processes are published as separate UDDI tModels.
 org.uddi.api_v3.BindingTemplate createBPELBinding(QName serviceName, String portName, URL serviceUrl, javax.wsdl.Definition wsdlDefinition)
           
 org.uddi.api_v3.BusinessService createBusinessService(QName serviceName, javax.wsdl.Definition wsdlDefinition)
          Registers the Service into UDDI.
 org.uddi.api_v3.GetTModelDetail createFindAllPortTypesForProcess_1(String processKey)
          Find all portTypes used in the given process.
 org.uddi.api_v3.GetTModelDetail createFindAllPortTypesForProcess_2(List<String> portTypeTModelKeys)
          Once retrieved, the second call is made to get the tModel registrations for the portTypes with the keys found in the first step.
 org.uddi.api_v3.FindBinding createFindImplementationsForProcess(String processKey)
          Find all implementations of the given process.
 org.uddi.api_v3.FindTModel createFindProcessesForPortTypes(String portTypeKey)
          Find all processes that use the given portType.
 org.uddi.api_v3.FindTModel createFindTModelForProcessName(QName serviceName)
          Finds and returns ALL the tModels related to the process, so that i.e.
 Set<org.uddi.api_v3.TModel> createWSDLBindingTModels(String wsdlURL, Map<QName,javax.wsdl.Binding> bindings)
           
 Set<org.uddi.api_v3.TModel> createWSDLPortTypeTModels(String wsdlURL, Map<QName,javax.wsdl.PortType> portTypes)
           
 UDDIClerk getClerk()
           
 String getKeyDomainURI()
           
 String getLang()
           
 URLLocalizer getUrlLocalizer()
           
 org.uddi.api_v3.BusinessService lookupService(String serviceKey)
          Perform a lookup by serviceKey, and will return null if not found.
 org.uddi.api_v3.BindingTemplate register(QName serviceName, String portName, URL serviceUrl, javax.wsdl.Definition wsdlDefinition)
          1.
 void setClerk(UDDIClerk clerk)
           
 void setKeyDomainURI(String keyDomainURI)
           
 void setLang(String lang)
           
 void setUrlLocalizer(URLLocalizer urlLocalizer)
           
 String unRegister(QName serviceName, String portName, URL serviceUrl)
           
 
Methods inherited from class org.apache.juddi.v3.annotations.AnnotationProcessor
parseCategoryBag, parseServiceBinding, readServiceAnnotations, readServiceAnnotations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BPEL2UDDI

public BPEL2UDDI(UDDIClerk clerk,
                 URLLocalizer urlLocalizer,
                 Properties properties)
          throws org.apache.commons.configuration.ConfigurationException
Throws:
org.apache.commons.configuration.ConfigurationException
Method Detail

getKeyDomainURI

public String getKeyDomainURI()

setKeyDomainURI

public void setKeyDomainURI(String keyDomainURI)

getClerk

public UDDIClerk getClerk()

setClerk

public void setClerk(UDDIClerk clerk)

getLang

public String getLang()

setLang

public void setLang(String lang)

getUrlLocalizer

public URLLocalizer getUrlLocalizer()

setUrlLocalizer

public void setUrlLocalizer(URLLocalizer urlLocalizer)

register

public org.uddi.api_v3.BindingTemplate register(QName serviceName,
                                                String portName,
                                                URL serviceUrl,
                                                javax.wsdl.Definition wsdlDefinition)
                                         throws javax.wsdl.WSDLException,
                                                MalformedURLException,
                                                RemoteException,
                                                org.apache.commons.configuration.ConfigurationException,
                                                TransportException
1. Register PortType tModels 2. Register WSDL BPEL4WS Process 3. Register WSDL Port 4. Register Process Service 5. Register Binding

Parameters:
serviceName - - QName of the service
portName - - portName of the service
serviceUrl - - URL at which the service can be invoked
wsdlDefinition - - WSDL Definition of the Web Service
Throws:
javax.wsdl.WSDLException
MalformedURLException
TransportException
org.apache.commons.configuration.ConfigurationException
RemoteException

unRegister

public String unRegister(QName serviceName,
                         String portName,
                         URL serviceUrl)
                  throws RemoteException,
                         org.apache.commons.configuration.ConfigurationException,
                         TransportException
Throws:
RemoteException
org.apache.commons.configuration.ConfigurationException
TransportException

lookupService

public org.uddi.api_v3.BusinessService lookupService(String serviceKey)
                                              throws RemoteException,
                                                     org.apache.commons.configuration.ConfigurationException,
                                                     TransportException
Perform a lookup by serviceKey, and will return null if not found.

Parameters:
serviceKey -
Returns:
Throws:
RemoteException
org.apache.commons.configuration.ConfigurationException
TransportException

createBusinessService

public org.uddi.api_v3.BusinessService createBusinessService(QName serviceName,
                                                             javax.wsdl.Definition wsdlDefinition)
Registers the Service into UDDI.

Parameters:
serviceName -
wsldDefinition -
Returns:

createWSDLPortTypeTModels

public Set<org.uddi.api_v3.TModel> createWSDLPortTypeTModels(String wsdlURL,
                                                             Map<QName,javax.wsdl.PortType> portTypes)
                                                      throws javax.wsdl.WSDLException
Throws:
javax.wsdl.WSDLException

createWSDLBindingTModels

public Set<org.uddi.api_v3.TModel> createWSDLBindingTModels(String wsdlURL,
                                                            Map<QName,javax.wsdl.Binding> bindings)
                                                     throws javax.wsdl.WSDLException
Throws:
javax.wsdl.WSDLException

createBPEL4WSProcessTModel

public org.uddi.api_v3.TModel createBPEL4WSProcessTModel(QName serviceName,
                                                         String targetNamespace,
                                                         Map<QName,javax.wsdl.PortType> portTypes,
                                                         String bpelOverviewURL)
BPEL4WS abstract processes are published as separate UDDI tModels. They are named with the BPEL4WS process name. They are categorized as BPEL4WS process definitions, using a category system defined in this technical note. Their overviewDoc references an external BPEL4WS document that contains the process definition. All WSDL portTypes that are used in the BPEL4WS process definition (via the referenced BPEL4WS partnerLinkTypes) are published as portType tModels according to [WSDL2UDDI]. The process tModel references all such WSDL portType tModels, using the WSDL portType Reference tModel defined in [WSDL2UDDI]. Note that it is a characteristic of the BPEL4WS process that it defines a conversation based on WSDL portTypes. Thus, the relationship between process tModel and portType tModel is to be published by the process tModel publisher, not by the portType tModel publisher, which may be a different person. In the current implementation it is all registered by the same publisher.

Parameters:
serviceName -
targetNamespace -
portTypes -
bpelOverviewURL -
Returns:

createBPELBinding

public org.uddi.api_v3.BindingTemplate createBPELBinding(QName serviceName,
                                                         String portName,
                                                         URL serviceUrl,
                                                         javax.wsdl.Definition wsdlDefinition)

createFindTModelForProcessName

public org.uddi.api_v3.FindTModel createFindTModelForProcessName(QName serviceName)
Finds and returns ALL the tModels related to the process, so that i.e. they can be removed on undeployment of the service.

Parameters:
processName -
Returns:

createFindProcessesForPortTypes

public org.uddi.api_v3.FindTModel createFindProcessesForPortTypes(String portTypeKey)
Find all processes that use the given portType.

Parameters:
portTypeKey -
Returns:

createFindAllPortTypesForProcess_1

public org.uddi.api_v3.GetTModelDetail createFindAllPortTypesForProcess_1(String processKey)
Find all portTypes used in the given process. This should return the tModel registration for the process tModel. The tModelKeys for the portTypes used in the process can be obtained from the process tModels categoryBag, and passed into the second call.

Parameters:
processKey -
Returns:
GetTModelDetail

createFindAllPortTypesForProcess_2

public org.uddi.api_v3.GetTModelDetail createFindAllPortTypesForProcess_2(List<String> portTypeTModelKeys)
Once retrieved, the second call is made to get the tModel registrations for the portTypes with the keys found in the first step.

Parameters:
tModelKeys - - List of portType tModels found in the first step.
Returns:
GetTModelDetail

createFindImplementationsForProcess

public org.uddi.api_v3.FindBinding createFindImplementationsForProcess(String processKey)
Find all implementations of the given process.

Parameters:
processKey -
Returns:
FindBinding


Copyright © 2004-2013 The Apache Software Foundation. All Rights Reserved.