Hey friends welcome to my blog "Chordiant Space". As the name suggests this blog is entirely dedicated to Chordaint, its various tools and to its users. This blog mainly focuses on chordiant tools such as CFS, CDM, CMD, Chordiant Teller and Chordiant Rules Designer to the best of my knowledge. I request all of you to provide your valuable suggestions, feedback and contribute to the blog to make it more useful to all of us.
This blog aims to covers the topics such as Chordiant Decision Management, Chordiant Marketing Director, Chordiant Foundation Server, Chordiant teller and all the other tools and technologies used with Chordiant.
Platform independent mechanism for Chordiant and Non-Chordiant systems to work together
Chordiant provides support for RPC-style Web Services only Chordiant Web Services
Chordiant functionality published for use by remote systems
Most Chordiant services are provided as un-deployed Web Services
Non-Chordiant Web Services
Chordiant can use functionality published by other providers
A Web Service is any service available over the Internet that:
Uses a standardized XML messaging system
Is not tied to any Operating System or Programming Language
Is self describing
Is discoverable
Web Services provide a platform independent mechanism for Chordiant and non- Chordiant systems to work together.
With this release, Chordiant functionality may be published as a Web Service for use by non-Chordiant systems. In addition Chordiant may access Web Services published by non-Chordiant providers.
Chordiant supports RPC-style Web Services. This type of Web Services is essentially a Remote Procedure call in which the client sends a SOAP request to execute an operation on the Web Service.
These services are tightly coupled because the sending parameters and return values are as described in WSDL (Web Service Description Language) file and are wrapped in the SOAP body.
NOTE
The alternative Document Style Web Services are loosely coupled and not supported by Chordiant. The request / response are in the form of XML documents. There is no direct mapping between the server objects (parameters, method calls etc.) and the values in XML documents, therefore application has to take care of mapping the XML data values.
External applications communicate via SOAP over HTTP to contact the web service infrastructure
This in turn contacts the Chordiant Client Agent to invoke the Business Service
The slide shows infrastructure supporting the Web Service. The Web Service infrastructure runs as a servlet within the application server. The Web Services exposed by this servlet are configured using the WSDD created at design time.
External applications using code based on the WSDL file communicate via SOAP over HTTP to contact the web service infrastructure, which in turn contacts the Chordiant Client Agent to invoke the Business Service.
SUPPORTING COMPONENTS
These are the components that support the use of Chordiant Web Services:
WSDL (Web Services Definition Language)
WSDD (Web Services Deployment Descriptor)
Supporting CTP (Eclipse) Projects
ChordiantUtils
WebServices
Custom Proxy project
Ant Scripts
For generation and deployment
Security
SecurityMgrBean Service is published as a Web Service
The components that support the use of Chordiant Web Services include:
WSDL (Web Services Definition Language) - platform independent file containing an XML Grammar to describe the web service. Defines the what, how, where of the web service and includes data types, operations, binding and location information.
WSDD (Web Services Deployment Descriptor) - contain information for deploying the Web Service.
Supporting Eclipse (CTP) Projects - certain Eclipse projects are used in the generation and deployment process including ChordiantUtils (core project), WebServices (deployed web project) and Custom Proxy project (custom project to hold proxy code).
Ant Scripts - uses in the generation and deployment process.
Security - since calling any Chordiant services require a userid and authentication token to be supplied, the SecurityMgrBeanService is published as a Web Service (SecurityMgrBeanClientAgentRpcEnc).
PROVIDED WEB SERVICES
Most Chordiant Business Services can be published as Web Services
The WDSL and WSDD is provide
By default the WSDL is not deployed
See the Application Components Developer’s Guide for a complete list
Most Chordiant services can be published as Web Services. Chordiant provides the WDSL and WSDD. The WSDL for these services are not deployed by default.
CREATING A CHORDIANT WEB SERVICE
The steps involved in creating a Web Service are:
Deploy required CTP projects
WebServices project - Web project to support the infrastructure
Custom Proxy project - Java project to contain the proxy code
Define and generate the WSDL, WSDD and Proxy code for the service
Start the server
Deploy the Web Service
Re-start the server
Creating a Web Service involves the following steps:
Deploy the required CTP projects - this need to be done just once. WebServices is an Eclipse project to which the WSDD is deployed. The Custom Proxy project will hold the infrastructure code for the web service.
Define and generate the WSDL, WSDD and Proxy code - modify and run the appropriate Ant scripts (ws-java2wsdl.xml, ws-wsdl2java.xml or ws-wsdl2java-dynamic.xml).
Start the server.
Deploy the Web Service - modify and run the appropriate Ant script (ws-deploy.xml).
Lists of deployed web services are displayed. Click the WSDL link to view the WSDL for the service.
ACCESS TO WEB SERVICES
Two mechanisms are provided for distributing the WSDL
Statically
Expose the file through a shared file system
Changes require a manual re-generation of WSDL
Dynamically
Using an established URL, the WSDL is dynamically generated
Up-to-date WSDL is made available
Uses SAAJ (SOAP with Attachments API for Java)
There are two mechanisms provided for distributing WSDL to requestors of published Web Services.
Statically - exposes the WSDL through a shared file system (may be a shared drive or URL). The requestor can build the code to interact with the Web Service, but should the code of the service change, a new WSDL would need to acquire.
Dynamically - exposes the WSDL using an established URL which causes the WSDL to be generated automatically for the requestor if the web service is deployed. The requestor thus receives the most up-to-date copy on request. Note that it is still possible for the requestor’s copy to be out-of-sync if the service code is modified after the WSDL is received.
USING SAAJ TO INVOKE SERVICES
SAAJ can be used as an alternative to writing Java Proxy code. The SOAP with Attachments API for Java (SAAJ) provides a standard way to send XML documents over the Internet from the Java platform. See http://java.sun.com/xml/downloads/saaj.html for more information.
This functionality the WSDL can be invoked by URL and the XML based code is dynamically generated to invoke a Web Service.
DEPLOYING A WEB SERVICE
SCENARIO
The purpose of this lab is deploy one of the Chordiant services as a Web Service. The configuration for the MovieService has been added to the appropriate configuration files.
You will deploy it as Web Service MovieClientAgentRpcEnc.
You will also deploy the Chordiant provided Web Service SecurityMgrBeanClientAgentRpcEnc.
FILES
List of files used by this exercise:
ws-java2wsdl.xml
ws-wsdl2java.xml
ws-deploy.xml
OBJECTIVES
Generate the WSDL
Generate the Deployment Descriptor
Deploy the Web Service
Verify deployment
INSTRUCTIONS
STEP 1: GENERATE THE WSDL
Start Eclipse.
Refresh the ChordiantUtils project.
In the _CHRD-104_BusinessObjects project, select and execute the make-JARS.xml Ant script using the default target
In the _CHRD-401_BusinessServices project, select and execute the make-JARS.xml Ant script using the default target
Take a look in ChordiantUtils\WebServices\WSDL. You will see several files containing WDSL.
You should see one for SecurityMgrBeanClientAgentRpcEnc but not MovieClientAgentRpcEnc!
Refresh the WebServices project.
Locate the file ws-java2wsdl.xml in the WebServices folder of the ChordiantUtils project.
Right click on the file and select Run Ant... then choose the targetsSecurityMgrBeanClientAgentRpcEnc and MovieClientAgentRpcEnc. Click Run.
Refresh the WSDL folder and you should now see a file called MovieClientAgentRpcEnc.wsdl. This is the WSDL for the Movie Web Service.
STEP 2: GENERATE THE DEPLOYMENT DESCRIPTOR
Locate the file ws-wsdl2java2.xml in the WebServices folder of the ChordiantUtils project.
Right click on the file and select Run Ant... then choose the targets SecurityMgrBeanClientAgentRpcEnc and MovieClientAgentRpcEnc. Click Run.
Refresh the WSDD folder and you should see these files containing the Deployment Descriptors
Open the file deploy_SecurityCleantAgentRpcEnc.wsdd in the WSDD folder
Find the element ‘’
Change the “*” to “authenticate”. The element should now look like this: ‘’
Save your work
STEP 3: DEPLOY THE WEB SERVICE
Start the server.
Locate the file ws-deploy.xml in the WebServices folder of the project.
Right click on the file and select Run Ant... then choose the targets
SecurityMgrBeanClientAgentRpcEnc and MovieClientAgentRpcEnc. Click Run.
Stop the Server.
Open the file server-config.wsdd in the WEB-INF folder of the WebServices project into the text editor.
Delete all occurrences of the string “skeleton” from the file and save the changes.