Wednesday, January 12, 2011

JDeveloper 11.1.1.3.0 Weblogic Startup failure.

Whenever you see the following error


Problem: On starting Integrated Weblogic in JDeveloper 11.1.1.3.0 you will find the following error.
------------------------------------------------------------------------------------------------------------------------------

*** Using port 7101 ***


C:\Users\awais\AppData\Roaming\JDeveloper\system11.1.1.3.37.56.60\DefaultDomain\bin\startWebLogic.cmd

[waiting for the server to complete its initialization...]

\QuickTime\QTSystem\QTJava.zip was unexpected at this time.

Process exited.
 
 
 
 
Solution:
-----------------------------------------------------------------------------------------------------------------------------
 
Remove C:\Program Files (x86)\QuickTime\QTSystem\QTJava.zip from the system CLASSPATH and restart JDeveloper.
 
 
 
 

Monday, October 18, 2010

JDeveloper 11 G R1 Common Connection Error


In this post I am documenting a common error that one can see while testing the server connection from JDeveloper 11g R1, and its simple solution instead of wasting time in logs etc.

Create a server connection
















Verify the connection settings




















Now test the connection, in case you see the following error how you would fix?




















This happens because JDeveloper uses web proxy to test the server connection. Either add the IP address to the list of IPs so that the JDeveloper by pass, or dont use the proxy at all.

Go to Tools à Preference àWeb Browser and Proxy and add the Server IP, and then restart the JDeveloper.
















Test Again.

Saturday, October 2, 2010

OSB Web Console Vs Workshop



This is sometimes a tough decision for the team which development approach to use while implementing Oracle Service Bus for enterprise SOA Adoption. In this post I am discussing this in detail. Development methodology is a part of Design-Time SOA Governance; it is always very important to consider all aspect of SOA Governance in the inception phase of any SOA project.


OSB Development Options



For implementation of service integrations and operational configurations in OSB development, Oracle provides an integrated development environment called "Workshop for Weblogic". Alternatively all of the OSB development and configurations can also be accomplished using the Oracle Service Bus console, called OSB Web Console.
In the following section both of these options are discussed in details, it is important for the development and the administration teams to understand the need for both and understand the difference to efficiently use both of these options. For any particular project where OSB implementations is in place, there is a need of using both of these options, or either one of these, this solely depends upon the integration needs and the size of the development teams.

Web Console



Oracle Service Bus comes with a web based development and configuration console that is used normally for all development activities and operational activities. Web Console is a J2EE application deployed on Weblogic and acts as the main development environment available over http using web browser.


Multiple developers can work at the same time on the Web Console, and can export and import the configurations and the development artifacts to and from different environments. This can also be integrated with the source control but the unit of integration with the source code repository is the main configuration file. The granularity of the configurations can be decided according to the project needs and development environment. It can range from one developer based configuration, to the whole enterprise that will include all the projects available in the Oracle Service Bus as a one configuration file. The standard format of the configuration file is Java Archive File (JAR). And by default it's named as sbconfig.jar

















Multiple developers can use web console at the same time, and for this reason each developer is required to work in his/her own sand box. This sand box can be acquired by creating a new session as shown below.











This sand box is transactional and guaranteed to keep the isolation of the work done by one developer, and at the time of activation the session integrates the code with the other development artifacts. Also it reports all syntactical compile time errors at the time of the activation of the session, it happens when one actually submits the code and configurations from one sand box to the bigger pool of resources, that can be assumed as a global configuration pool per domain.
One good feature of web console is the overall administration of the Oracle Service Bus, which includes operational setting; SLA alerts configurations security and policy configuration. So from the operational perspective OSB web console is the best way of performing global operations and provides centralize way of controlling the overall behaviour of the OSB.
Also the Weblogic console will be available from the OSB web console, so it provides a way to configure the Weblogic artefacts also, so providing one interface for the OSB and Weblogic that is sometimes time saving for the messaging requirements and other high availability for a multirole development resource

Workshop Studio (Eclipse Platform)


Oracle Service Bus also comes with an integrated development environment named Workshop studio, this IDE is based on eclipse platform.





















Workshop is a very flexible development IDE and is especially popular in the development community coming from the Java background. As it is based on eclipse platform so it has a small learning curve for the eclipse community. Due to the eclipse plug-in development framework it has extensions available for different kind of software, for example integration with the source code repository. Also it has plug-in available for all major source controls like SVN, Perforce etc.


Also workshop has a very user friendly interface for the message flow development and it provides an XQuery editor and a run time expression validation on the local or remote server. Debugging in Workshop is also very helpful for unit testing of different components in the IDE, especially for XQuery and XSLT transformations etc. All the artefacts available in the message flow are visible in the toolbox in a very development friendly way.


Web Console Vs Workshop



This is sometimes an important decision to make, i.e. to select one option of development over the other, in this section major pros and cons of both development approaches have been explained with the major differences in development life cycles.


In a team environment Workshop IDE is better suited where there are 10 or more developers are involved in the development of services and message processing. Workshop IDE is superior to the web console in terms of source code integration. In this scenario developers can check-in and check-out code and the source code tracking process can be re-used that is already in place in the company. So more process level re-usability, and is equally helpful for the SOA design time governance long term strategy of the company. In this environment it is recommended to use the local instance of Oracle Service Bus and deploy locally using on the fly publishing from the IDE or deploying using the import-export feature of the OSB.


Debugging is fairly easy and local Weblogic instance can be integrated with the IDE in the debug mode to utilize the debugging feature of the Workspace Studio
This is also very helpful in the situation where bugs are assigned to different development resources and they want to test it before doing the system integration. It saves lots of time and efforts. On top of debugging and local testing, developers can make use of source control effectively and they can integrate their code according to the defined development process.




Message flows development is user friendly in the workshop and it is relatively easy for the developer to learn the IDE based on eclipse as compared to the web console. Workshop also has a very user friendly XQuery Editor .Despite of all these nice features Workshop studio still has bugs present and as Oracle's long term strategy is to promote JDeveloper so the workshop studio bug fixes are not a top priority of Oracle. Rarely developers get their project corrupted after having the .project file corrupted and then they have to get the last revision from the source code, this is the one of the downside of using Workshop but again it is a very rare thing and happens once in a while.
Also learning curve and time of the development resources can go waste in learning Workshop in the future releases as Oracle want JDeveloper to be the centralize development IDE. Whereas OSB web console will always remains there.
OSB web console will be used for operational and administration purposes and also for security configurations. It is not appropriate to do the security configurations , administration and monitoring in the Workshop IDE, for that purpose Web Console is preferred, also it is much easier to work on the Weblogic console for the security key stores, certificates and other different kind of configurations and then referring them in the OSB as 'all in one' development interface.
Consequently there are different usability scenarios for both development approaches and the choice really depends on the overall approach of development process implementation and leveraging the already available approaches.
In any given scenario if few developers have to maintain the OSB development, and they also need to play the role of overall administration and operational configurations then OSB Web Console is the best option, it will save time and efforts on installing the IDE on the local box and configuration with the source code repository. In this case the OSB source code unit that will be integrated with the repository will be the configuration JAR file.
Alternatively, if the projects are enterprise wide, many developers (10+) are involved in the OSB development and also source code integration at a lower granularity is the higher priority of the company, to leverage the continues integration (CI) already in place or being implemented then going for the Workshop IDE is the best option. In this case there must be some administration and operational roles available to use the Web console; it again depends on the operational administration required for the enterprise. Most of the cases it is a part of requirement where security and monitoring is the responsibility of some specific role or a team.
Note: In case of using Workshop, all development resources have to make sure to use the same version of OSB as available at the integration server this should be a part of Design Time Governance.

Friday, January 22, 2010

Comma seperated list to XML Collection in BPEL



In this blog I will use a simple way of converting a list of comma separated values to the xml collection.




Define the following schema to hold the values in an xml collection, of course this is a custom xml and you can define your own message semantics.


Use CopyList in the assign to copy the comma seperated values using the following BPEL xPath function.





Test the process



Request:




Response:










Friday, August 28, 2009

OSB Routing Table - Common Mistake

I had to spent some time in figuring out the problem while implementing the Routing table in my service proxy's message flow using Orace Service Bus 10 g R3




Have a look at the following, where I wanted to do routing on the basis of a condition to check the name of of string element in my incoming request.







In OSB it will validate your condition without any check even if the conditional element in your XQuey is a string and you put the value to be compares without ' '.

In case of xsd:stirng it is a MUST to put the value in ' ' otherwise it will not route the request. And you have to spend lot of time to find out why your request is not being routed to the desired destination.