Tuesday 28 April 2009

UDDI Oracle ESB


There are scenarios that one may need to Inquire UDDI repository. There are several options to our disposal to do in Oracle ESB, publishing endpoint to uddi is available out of the box.

To inquire one can use UDDI API, Java API for XML Registries (JAXR), or UDDI v3 web services. Over next few days i will be exploring these options. Uddi based lookup and routing details


Wednesday 15 April 2009

Scheduling Oracle BPM and SSIS


Scheduling computational tasks is a very fundamental functionality, which is provided by most OS. Recently I was looking into scheduling tasks in SOA environment. There are several tools at ones disposal to schedule tasks they could be placed in one or more of following buckets

•    Scheduling library, example Quartz
•    Software Package, example job Scheduler
•    Service Orchestration/ Choreography tools, example Oracle BPM
•    Databases, primarily for database tasks



Scheduling library

This approach works best if one has to there is minimal UI required to for scheduling. Example picking up schedule from a property file etc

Software Package
COTS or Open source packages provide UI, with user management, ability to schedule various types of tasks. They are good at getting up and running rather quickly but their UI may not alight with UI for in-house applications. Also on has to take into account the business process surrounding scheduling tasks such as manager approvals.

Service Orchestration

Depending on the enterprise mix, and tasks that need to be scheduled this may fit the needs. In SOA environment BPM could easily be used to schedule services and sketch various scenarios.




I am looking into integration of Oracle BPM with Microsoft SSIS package. The
primary use for SSIS is data warehousing, as the product features a
fast and flexible tool for data extraction, transformation, and loading
(ETL).


In terms of integration, i plank to kick start, SSIS package from
Oracle BPM and have mechanism, so that SSIS package can provide
feedback as to when its completed successfully or failed. Also i want
to take action in BPM in case there is no feedback from SSIS after set
interval example 2 hours.



First start with BPM process

1)Initialization - Automatic activity

2)Place timer - to insure process proceeds at set schedule

3)Launch SSIS - Automatic activity.

4)Notification wait with due transition- so that process waits for sucess/faliure notification, if that dues not come it will preform (due) transition after set interval to next state

 
 

Tuesday 7 April 2009

Add username password jax-ws

I made a JAX-WS client of PAPI web services of Oracle BPM, this web service was secured using username token profile 1.1.


so all you gotta do is generale JAX-ws client (i use myeclipse for that)

Call the client from where ever you want by:

PapiWebService_Service papiService= new PapiWebService_Service();
PapiWebService papiPort=papiService.getPapiWebServicePort();

addUsernameTokenProfile(papiPort);




-------------------------------------------------------------------------------------------


private static void addUsernameTokenProfile(PapiWebService papiWebServicePort)
throws SOAPException {
try {
SOAPFactory soapFactory = SOAPFactory.newInstance();
QName securityQName = new QName(SECURITY_NAMESPACE, "Security");
SOAPElement security = soapFactory.createElement(securityQName);
QName tokenQName = new QName(SECURITY_NAMESPACE, "UsernameToken");
SOAPElement token = soapFactory.createElement(tokenQName);
QName userQName = new QName(SECURITY_NAMESPACE, "Username");
SOAPElement username = soapFactory.createElement(userQName);
username.addTextNode("3Support");//your username
QName passwordQName = new QName(SECURITY_NAMESPACE, "Password");
SOAPElement password = soapFactory.createElement(passwordQName);
password.addTextNode("3Support");//your password
token.addChildElement(username);
token.addChildElement(password);
security.addChildElement(token);
Header header = Headers.create(security);
((WSBindingProvider) papiWebServicePort).setOutboundHeaders(header);
} catch (SOAPException e) {
System.out.println("Could not configure Username Token Profile authentication");
e.printStackTrace();
}
}




---------------------------------
also i search and i found some fourms suggesting WSBindingProvider, but that didnt work for me



When i didnt set the username i was getting following error:
WSP0075: Policy assertion "{http://www.bea.com/wls90/security/policy}Identity" was evaluated as "UNKNOWN"