Andrej Koelewijn

9/24/2004

Re: BPEL is great – and so is Oracle BPEL

Filed under: — andrejk @ 8:02 pm

Lucas Jellema is reporting about the BPEL presentation at the Oracle Open World in Amsterdam today. I had also planned to attend it, but i was too busy this week: implementing a business process for a project using the Oracle BPEL process manager. Oracle’s BPEL Designer makes it look easy to create a bpel process, but you need quite some knowledge to use it: web services, xml, xml schema, using multiple namespaces in one xml document, wsdl, wsif, xpath, java, j2ee, ejb’s, ldap, jsp’s…

It’s good to hear that the bpel designer plugin for JDeveloper has already reached beta status, as running 2 IDE’s (Eclipse & JDeveloper) is a bit too much for my laptop.

During modelling the designer verifies the endpoints you define using wsdl files. It displays an error when the endpoints aren’t available. This means that it’s probably not very usefull for analysts who are designing a business process. It would be nice if you could convert UML Activity Diagrams to BPEL processes in JDeveloper. This would allow analysts to use the Activity diagrams to model the business process, which could then be converted to BPEL processes by developers.

Lucas also mentions WSIF, saying that he doesn’t exactly know what it is. His summary is pretty good though. WSIF allows you to invoke non web services as if they were web services. In BPEL when you want to use a web service you have to specify it as an endpoint by providing the wsdl file which describes the services. Oracle BPEL process manager invokes these web services through it’s web service libraries. Using apache wsif you can provide wsdl files for non web services such as EJB and Message queues. Embedded in the wsdl file are wsif tags which describe how to invoke the service. Oracle BPEL process manager will invoke these services not by using it’s web service libraries but by using the Apache wsif library.

So all the developer has to do is to write a wsdl file containing wsif tags describing the service and it can be used as an endpoint in the bpel process.

One important part currently lacking in Oracle BPEL is security. A bpel process is a web service in itself, and often you will want to restrict access to the web service. When creating web services in JDeveloper you can control access by specifying security constraints in the web.xml file. This is not possible for BPEL processes. Oracle is working on this. Integration with JAAS is expected in the next release in october, integration with Oracle single sign on is expected at the end of this year.

9/22/2004

Using WSIF with Oracle BPEL

Filed under: — andrejk @ 7:40 am

Oracle BPEL Process Manager uses Apache WSIF to enable you to call non web services as part of your BPEL process. This, for example, allows you to easily invoke EJB’s. I couldn’t locate any documentation describing how to use WSIF with Oracle BPEL. At first, i was looking for a tool to generate a WSIF WSDL file for an existing EJB, but i don’t think it currently exists. Looks like you have to manually create a wsdl file with wsif tags, which you can use when you add a new partner link in the BPEL designer. The easiest way to do this is by copying one of the existing wsdl/wsif files from the examples (look under samples/tutorials/702.Bindings).

7/12/2004

JTSL and ADF problem with complex types

Filed under: — andrejk @ 1:49 pm

I’m working on what should be a simple ADF and JSTL application, but somehow i can’t get it to work. I’ve got two javabeans, employee and address. The employee class contains it’s number, firstname and lastname and also the employee’s address.

I want to create a jsp page with a table which lists all the employees and their addresses. So every row of the table will have a column employee number, first name, last name, and columns city, zipcode, etc.

I’ve created data controls for the javabeans, so they show up in the data control palette. Next i’ve dragged and dropped the employee data control onto the jsp page as a read only table. When you do this only the simle attributes of employee are displayed in the table: employee number, firstname and lastname. The address attributes aren’t added to the table.

I’ve you look in the jsp source code, there are jstl tags to get the values for the employee columns, e.g., ${Row.firstName}, ${Row.employeeNumber}, etc.

According to the jstl syntax, if you have a javabean employee containing a javabean address, you should be able to access it in your jsp with the following syntax: ${Row.address.city}. (The Row variable is specified by the forEach tag.) This doesn’t work though. Nothing is displayed. I’ve also tried ${Row[address.city]} and ${Row[address].city}, but nothing works.

When you create a data control for a javabean, jdeveloper creates an xml file which describes the javabean. For normal attributes it contains a tag Attribute which describes the attribute. For the address attribute it creates a AccessorAttribute tag. I’ve replaced the AccessorAttribute by an Attribute tag for address, now getting the city works with the following jstl: ${Row.address.city}. The weird thing is, you’re not supposed to change the xml file describing your javabean. The file is non-editable in jdeveloper. Instead you have to edit outside of jdeveloper.

All in all this looks like a bug in adf, i’ve posted a question on the OTN jdeveloper forum, but no replies so far.

6/28/2004

Oracle 10g jdbc connection caching

Filed under: — andrejk @ 8:19 am

OTN has an article on new connection caching features in 10g jdbc: Keep Your Connections.

8/7/2003

Some urls to track for Geronimo info

Filed under: — andrejk @ 10:10 am

The Apache J2EE wiki and the geronimo-dev mailing list archive.

8/5/2003

No Info, but a lot of help for Geronimo

Filed under: — andrejk @ 11:51 pm

I tried to find some more info on the new Apache Geronimo project as the inquirer article Apache Announces J2EE Project was a bit thin on info. No information is available on the Apache website, and not much on the mailing lists. Actually, no information at all, but a lot of people offering assistance and wanting to participate in the project. For more information keep an eye on the incubator-general mailing list.

6/1/2003

It’s in JBoss’ own interest to implement the J2EE standard

Filed under: — andrejk @ 8:00 pm

Now that JBoss 4 is about to be released, discussions about JBoss’ j2EE certification are also popping up again (here, here).

For me, it doesn’t really matter whether JBoss is certified or not. When I design and write Java applications I will follow the J2EE specifications. Hopefully whatever I do will work in JBoss, and if it doesn’t I’ll complain, file a bug report and create a workaround, as I do everytime I find a problem with some software I have to use. But I’ll stick to the standards, as this will allow me to write portable applications.

As it stands now, JBoss complies enough with the J2EE standard that it can be used in projects. The JBoss project would only hurt itself by not prividing all the standards, as developers would look elsewhere for a better application server.

4/20/2003

J2EE version 1.4

Filed under: — andrejk @ 3:47 pm

Just read an article by floyd marinescu about the new features in j2ee 1.4.(
part 1 and part 2.) It’s a good article, although i would have liked some code examples.

The biggest improvement is probably the inclusion of all the api’s required for web services, but also the EJB improvements are usefull. I didn’t know ORDER BY and aggregate functions such as COUNT and SUM were missing, how can you live without them? I mosly use (p.o.) JDBC and DAO’s so i’m not too familiar with EJB-QL. Also a timer-service has been added to the J2EE container, although if you want to do some real complex scheduling this may be a better solution (obviously i’m a bit biased here ;-)

It’s also nice to see that JSP’s have been made easier by the new expression language and the tag files, which allow you to implement a tag without creating a class for it. (I’ll have to try it, maybe i’ll like it enough to stop using velocity?)
Other improvements are the improved management and deployment support and the j2ee connectors have also been improved.

3/22/2003

Why I hope JBoss will be J2EE certified

Filed under: — andrejk @ 9:02 am

Developers often wonder why j2ee certification is important. If it works, it works. But I think there are a lot of companies right now that still have to make a platform choice for future developments. And they want to be able to make this choice for a longer period, and are therefore looking for standards.

For example, many companies that are right now using Oracle Designer and Developer are investigating if they should use a new development platform. It’s not that designer and developer are worse than .net or j2ee, but Oracle has been very unclear about the future of these products. All it’s communication recently has been about java and j2ee, and about the fact that no new development will be done on the old tools.

So companies are starting to look at j2ee and .net. And what do they see when they look at j2ee? Uncertainty. Many different competing, fast moving standards. For example, for the web presentation layer they can use JSP or Oracle’s UIX (user interface xml), velocity, or should they wait untill JSF is available? And for the data layer, should they use DAO, JDO, EJB’s, BC4J, Toplink , or…. How can they make a platform choice for the future if everything keeps moving so fast? If they decide to use the oracle tools, such as uix and bc4j it will be very costly to switch to something else a year from now.

Would you pay a lot of money for an application server and development tools, if you were uncertain if it was the right choice? There’s less risk in choosing a free, certified, open source application server and development tools. When you afterwards decide j2ee is the way to go you can always switch to expensive closed sourced alternatives (would you want to?).

Tomcat 4.1.24 is available

Filed under: — andrejk @ 8:36 am

It hasn’t been announced on the jakarta website yet, but the binaries are available here . The release notes list all the changes.

Powered by WordPress