Customizing Payment Gateway and Ticketing Service
This topic is for the developers/partners who would implement OSS Connector for CloudPortal Business Manager.
- Windows XP (32-Bit), Windows Vista or Windows 7 (32- or 64-Bit)
- JDK Version 1.6
- Set JAVA_HOME environment variable to the root of the JDK install path
- Add %JAVA_HOME%bin to the PATH environment variable
- Spring Tool Suite (STS) Version 3.1.0 or higher
- Apache Maven Version 3
- Add <Maven Install Path>bin to the PATH environment variable
- Running installation of CloudPortal Business Manager
Downloading and Installing the OSS Service SDK
- Download the CloudPortal Business Manager Cloud Service SDK.
- Unzip the content to a local directory in your system.
- Double-click cssdk-standard.jar or run the command java -jar cssdk-standard.jar to launch CloudPortal Business Manager Cloud Service SDK installer.
Creating the CS SDK Maven STS Project
- Start SpringSource Tool Suite.
- Go to File > New > Project.
- Select Maven > Maven Project.
- In the New Maven Project Wizard Screen, make sure Create a simple project is unchecked.
- Click Next.
- In the Catalog selection, select Default Local.
- From the table select item with:
- Group Id: com.citrix.cpbm
- Artifact Id:
- For Payment gateway: com-citrix-cpbm-payment-gateway-archetype
- For Ticketing Service: com-citrix-cpbm-ticketing-service-archetype
- Click Next.
- Enter the values for the following fields:
- GroupId - A group under which all services are offered. For instance, com. salesforce in case of Ticketing Service.
- ArtifactId - Name of the services, which the above group offers. Example, com.salesforce.ticket in case of Ticketing Service for SalesForce.
- Version - Version of the service offered. For example, for SalesForce with API version 27, the version is 27.
- Package - Base Java package for the maven project .com.salesforce.ticket in case of SalesForce ticketing service.
- Click Finish. This will create a OSS SDK Project.
Various package structure and their responsibilities
- com.salesforce.ticket .connector: Contains Connector Code
- com.salesforce.ticket.service: Contains Implementation of SalesForce ticketing Service
com.salesforce.ticket.lifecycle: Contains various Life Cycle Handlers
Default classes generated by the project and their functions
The project will generate three packages and will have default classes included in these packages. You must rename these classes to suit the functionality provided by the class. And also as a note, it is a default project structure generated for the ease of use and so packages/classes can be reorganized.
|Java package||Class Name||Functionality|
|XServiceConnectorImpl||Implementation class for com.citrix.cpbm.platform.spi .CloudServiceAdapter|
|XServiceImpl||Implements respective OSS Service. In case of ticketing it implements TicketService. Provides the actual service that is offered by this bundle.|
|XSUserLifeCycleHandler||Implements com.citrix.cpbm.platform.spi. UserLifeCycleHandler|
ServiceDefinition.xml file is located inside /com.salesforce.ticket/src/main/resources/ServiceDefinition.xml. When the mvn install is run, the config file is copied to the root folder of the package. By default, CloudPortal Business Manager platform searches for "ServiceDefinition.xml" file in the root folder of the deployed bundle. On locating the file, CloudPortal Business Manager parses the xml file and executes the steps to register the OSS Service.
OSS Service Connector
You may rename com.salesforce.ticket.connector.XServiceConnectorImpl to an appropriate Cloud Service Connector Implementation and provide its corresponding implementation.
CloudPortal Business Manager invokes this initialize method whenever required, to retrieve a OSS Service instance. On this instance, corresponding lifecycle handlers and collectors are invoked.
Configuring Connector and ServiceDefinition.xml
At this stage, we are ready with the connector and various class implementations required by the OSS Service connector.
Locate the sample ServiceDefinition.xml file and modify the parameters as per your needs. Most important parameters would be the Connector xml tag, ref attribute in the Connector xml tag and vendor version. Ref attribute should be the bean name of the implementation of "CloudConnectorFactory" interface, and version in the vendor should match with the version defined in the pom.xml file of the STS project.
Building OSGI Bundle from the project
Run mvn clean install at the root of the project path. An OSGI bundle jar will be generated in the target folder.
Publishing the OSGI Bundle to CloudPortal Business Manager
- Stop CloudPortal Business Manager Development Serve by running the command:
service cloud-portal stop
- Copy the new bundle into /usr/local/vts3/connectors_ext directory on the CPBM server.
- Add an entry for the new bundle into the plan /usr/local/vts3/connectors_ext/com.citrix.cpbm.connector.ext.plan.
- Start CloudPortal Business Manager Development Server by running the command:
service cloud-portal start