20 Temmuz 2009 Pazartesi

Security with OpenEsb

This post is about a googling on how security is handled in bpel processes. 

svn troubleshooting: Can't open file ...\.svn\tmp\text-base\catalog.xml.svn-base':

When a Netbeans composite application is developped in linux (specifically open suse) environment, 2 catalog files are created under project directory: catalog.xml and Catalog.xml files. Linux file system is case sensitive, so this is not a problem here.. Then the project is comitted to svn. The situation is ok till here. However, when this project is checked out on a windows environment(windows xp specifically), the following error is given since windows file system is case insensitive:

Can't open file 'C:\htarakci\projects\.svn\tmp\text-base\catalog.xml.svn-base':

here is a related post: http://publicobject.com/2007/04/subversion-and-case-insensitive_15.html

So, note to myself, be careful about this!

17 Temmuz 2009 Cuma

to bpel, or not to bpel

In web applications, if you are able to do smt with html, then you won't use jsp and so on.. The rule of thumb is if you could carry out smt with a lighter,simpler technology, then choose it (at least i treat in this way). So, when we should choose bpel and when we should avoid using it and go on with ordinary web services?
this issue had been discussed here:
http://cio.ittoolbox.com/groups/strategy-planning/bpm-sp/when-to-and-when-not-to-use-bpmbpel-implementation-1947762

this evaluation is worth to note down: http://jeff-davis.blogspot.com/2007/08/whats-wrong-with-bpel.html

it has not bothered me before, but it seems that if bpel is necessary and completely handles bpm was also a controversial issue.. this is a famous article on this: http://www.infoq.com/articles/bpelbpm

btw, the title of this post is copied from here: http://dltj.org/article/bpel-in-fedora/, such a funny title:)

to sum up, i am still not sure when to use bpel :( however, now i am aware of the ongoing debates.. in fact, i also want to spend time on understanding if xml is only for data and xml should not be used to program, before going further with bpel..

16 Temmuz 2009 Perşembe

OpenESB, bpel foreach

Mapper interface is a bit complicated to use until getting used to it, at least it is for me..
While using a foreach construct, just stopped and couldn't know what to do.. This post helped to some extent: http://markmail.org/message/4s3avjssz5rojddj#query:openesb%20foreach+page:1+mid:cd6derznuhs5d7xp+state:results
Still assignment from array to counter a bit problematic.. i will write down the exact solution when solved..

Edit on 17.07.2009, 02.10: Assignment from array via counter was problematic. The problem was, as the counter increments, not only the current value was copied but also previous values remained. (the to part of the assign becomes an array instead of a single value). The bug was due to


< assign name="Assign">
<copy>
<from>$GetParameterTypeListOut.parameters/return[$paramTypeCounter]</from>
<to>$GetParameterListIn.parameters/parameterType[$paramTypeCounter]</to>
</copy>
</assign>


The error is fixed when [$paramTypeCounter] part is removed from to part of the assign.

10 Temmuz 2009 Cuma

Lomboz ObjectWeb

Lomboz is a free J2EE development environment built on Eclipse.  Home page is http://lomboz.ow2.org/. The reason why i am trying it is because it provides a compact environment for bpel development by providing tomcat + ode easily. (how i prepared my own environemnt manually is here: http://hilaltarakci.blogspot.com/2009/04/eclipse-bpel-designer-apache-ode.html)

( how eclipse bpel desginer could open the bpel file without its extension bpelex file? btw, bpelex is created when i changed the file :) )

5 Temmuz 2009 Pazar

jbpm bpel - first steps

i am looking for someway to deploy my bpel processes on jboss app server. i do not want to use jpdl which is not a standart, so i stuck to bpel.

This seems to be a solution: http://www.jboss.org/jbossjbpm/bpel/
As such, it can execute processes authored with the Eclipse BPEL designer or any other editor that produces standard BPEL documents.

Bpel designers generally generate some extra xml and so, it may be possible that you can not open your bpel process designed with Activos Designer with Eclipse Bpel Designer,or vice versa. (correct if i am wrong:)) However, OpenESB allows me to produce clean, standart bpel file without adding any extra xml. (When you design a process with Open Esb (Netbeans) Bpel designer, you will notice that the location for the elements are fixed in the GUI, you can not put anything you like at anywhere in the designer, you have to choose from some predefined locations.. i think that is why Netbeans designer's bpel is so clean:) since it does not require to keep the location info, no extensions to standard bpel is needed..) Therefore, the above sentence about jbpm bpel (in italic) is important to me.. This means, i may develop my bpel process with OpenEsb designer and deploy to jbpm bpel.. This post is to note down that experience..

The steps are as follows:

  • in order to make use of the examples coming with the jbpm bpel package, the following must be already installed:
- ant
- jboss app server (4.x.x is required according to https://jira.jboss.org/jira/secure/attachment/12311453/jbpm.bpel.guide.pdf)
- java 1.5 (i do not know why, but i could not make jwsdp accept jdk 6, during installation, that is why i need jdk 1.5, more specifically jdk1.5.0_19 is ok)
- java web services developer pack (the examples use wscompile etc. ant tasks from here, so using metro instead is expensive, i gave up on the way half.. ) jwsdp is needed just for running the given examples, not part of the actual solution. in actual case, metro web service stack will be used instead..

this package includes many bpel samples. however, in order to run these samples properly, the following modifications may be needed:

  • In jbpm-bpel-1.1.1/examples/common/build.properties file, modify the following properties accordingly:

jboss.version=4.2.3.GA (i am using this already, but any 4.x.x is said to be ok)
jboss.home=${software.installation.dir}/jboss-${jboss.version} (if different)
jwsdp.home=${software.installation.dir}/jwsdp-1.6
javac.source=1.4 (modify as 1.5)
javac.target=1.4 (modify as 1.5)

  • start jboss, (starting from port 8080 may be required, not sure. if something goes wrong, check that..)
  • execute command ant inside jbpm-bpel-1.1.1/examples, it should execute with success..
  • lets see if wsdl s are available:
http://127.0.0.1:8080/account/accountSystem?wsdl
http://127.0.0.1:8080/invoice/invoiceService?wsdl
http://127.0.0.1:8080/scheduling/schedulingProcess?wsdl
http://127.0.0.1:8080/shipping/shippingService?wsdl
http://127.0.0.1:8080/task/taskManager?wsdl
http://127.0.0.1:8080/ticket/ticketIssuer?wsdl
http://127.0.0.1:8080/translator/document?wsdl
http://127.0.0.1:8080/translator/text?wsdl

i got the addresses for the wsdl s from ${JBOSS_HOME}/server/default/data/wsdl

now it is time to dive into https://jira.jboss.org/jira/secure/attachment/12311453/jbpm.bpel.guide.pdf deeper, but it can wait :)
i do not want to ruin my sunday afternoon with that :)

Edit on 6/7/2009, 12.04: Sorry, i have forgotten to deploy jbpm-bpel itself on jboss.. So, at anytime you like, execute command ant deploy.ear inside /jbpm-bpel/jbpm-bpel-1.1.1/deploy and jbpm-bpel will be deployed on jboss. try to see jbpm bpel console from http://localhost:8080/jbpm-bpel/

Edit on 7/7/2009, 10.55: Yeah, OpenESB designer produces standard bpel files. However, unfortunately this does not mean that it could open every standard bpel file in its designer..