Andrej Koelewijn

8/31/2003

Don’t read this

Filed under: — andrejk @ 11:41 am

Is my title snappy enough? Some javablogs readers are getting a bit upset about titles only intended to attract readers, not having anything to do with the actual content of the blog (what content?). Having a good title makes all the difference when attracting readers. The thing is, your title not only appears on javablogs, but also in other places. Google for example. So i wonder if a title which works on javablogs, will also work on google? I think that for a title to work on google it should really be about the content. People are looking for something specific, so if you have a snappy title, which has nothing to do with what people are searching for, do you think they are going to read it? So i guess snappy titles are required, but snappy titles with some real content. This would probably also be acceptible to the javablogs readers. (Oh, and by the way, my title is really about the content. Why are you reading this?)

8/29/2003

What AOP really does for JBoss

Filed under: — andrejk @ 12:07 am

I mentioned some time ago that i really like that the JBoss people were trying to do more than just implementing the J2EE standards. Too often people complain that open source is just copying existing stuff, and that there is no innovation in open source. So I’m glad to see JBoss trying to innovate.

However, I also know that out of ten so called innovations nine will probably fail, and only one will really prove worthwhile. And after reading this thread on the serverside, I’m not so sure JBoss’ so called AOP implementation is going to be that one worthwhile innovation. But i don’t want them to stop. They have to either be extremely successful, or fail misserably, but we need to get this sorted out. And when it proves to be a success, i guess it’ll end up in more EJB containers, and even the j2ee specs.

But i think for production environment i really don’t want to use a playground for innovative ideas, which means that i’ll probably look elsewhere for a production level j2ee server (jonas, openejb, apache j2ee/geronimo?)...

8/28/2003

Oracle 10G new features

Filed under: — andrejk @ 5:24 pm

I wrote a small article(in dutch) summarizing some of the new Oracle 10G RDBMS features .

8/27/2003

Cronacle beans

Filed under: — andrejk @ 11:45 pm

Just browsed to artima.com. Saw a google ad titled java scheduler. Clicked on it and arrived at redwood.com. Ha! Good! IT-eye is part of Redwood. This is the first time i saw a google ad for our product. I knew they have been working on it for quite some time, guess it’s realy finished now. Cronacle is an enterprise scheduler. I’ve seen quite some schedulers lately, but cronacle is the best i’ve used so far. Ofcourse i’m a bit biased… Cronacle beans is basically a java api to the cronacle scheduler.

Here’s why i think cronacle is a lot better than most batch schedulers:


  • It’s very fast and can handle a very big load. We have customers running tens of thousands of jobs per hour. No problem. Try that with something like Dollar Universe or Concurrent Manager. No go. I’m currently forced to use concurrent manager on a project, i tried submitting 3000 jobs, and it killed the scheduler. So i had to create my own queue to avoid overloading the concurrent manager queue.

  • It’s very open. It has an Oracle pl/sql api that allows you to schedule and reschedule jobs, monitor jobs, submit sub-jobs, handle errors, wait for others jobs to finish, etc. Also all information is available through tables and views in the database, so it’s very easy to query all jobs that ran yesterday which failed on machine X: select * from jcs_jobs where trunc(run_start) = trunc(sysdate-1) and status=’ERROR’ and resource=’X’. This allows you to create very complex job dependencies easily.

  • Comes with a java portal that will allow you to submit new jobs and look at output generated by any job on any system in your network. And you get a taglibrary so you can integrate this within your own jsp applications.

  • You can create all your objects using simple text files. This means you actually use normal version control systems, like cvs. I think this works a lot better than having to use a UI to move job definitions from dev, to stage, to prod. And you can easily see the differences between the different versions of you job definitions because it’s all available in cvs.

Good thing to be able to use this also from Java.

8/25/2003

No more Rules!

Filed under: — andrejk @ 8:19 pm

So, Oracle is finally dropping the rules based optimizer in version 10G. Does this mean we can now analyze the system tablespace?

Modelling Pageflow using UML

Filed under: — andrejk @ 8:07 pm

This article (in dutch) describes how you can use UML Statechart diagrams to model pageflow in a web application. I’ve also describes how to integrate struts actions into the diagrams. I’ve kept it very simple, without stereotypes, to focus more on the communication part of the model. Ofcourse when you start to use generators, such as andromda, you can add stereotypes to instruct the generators how to generate the code.

One issue i raised is that, eventhough you can use statecharts to model pageflow, you have to be carefull that you don’t implement a too rigid statemachine when you implement the flow. It is usuallly desireable to have multiple entry points into one flow (usually you’ll have one flow per use case), to enable user to bookmark interesting pages, and to enable easy integration between multiple web applications.

One more point to raise here, activity diagrams are probably better to model pageflow than statecharts. I think statechart are more designed to model the state transitions within one object, whereas activity diagrams are designed to model the flow within a process. JDeveloper 10G will actually use activity diagrams to model pageflow.

8/17/2003

Applying UML and Patterns

Filed under: — andrejk @ 10:38 am

Another article for the IT-eye website: Applying UML and Patterns.

8/14/2003

Oracle World 2003

Filed under: — andrejk @ 5:21 pm

I wrote a small article about the upcoming Oracle World 2003 conference.

Generating Primary Keys wit Optimalj

Filed under: — andrejk @ 12:03 am

OptimalJ currently doesn’t generate code for database sequences which you can use to create unique values for primary keys in your tables.

So I did some research to see how other people solve this problem. One person suggested counting the number of records in a table, increase that number by one, and use that as your primary key. Brilliant! Should perform really well, and no concurrency problems to be expected.

I found one real solution on the optimalj forum, which was to create a Domain class (this translates into a database table) that holds ‘sequence’ records. One record per sequence, with a name and a value column. Then on the Domain Class you can add a DomainOperation to query the next sequence value, e.g., nextVal. The example on the forum described the situation when using EJBs, but I’m trying to generate DAOs, because i don’t have the memory in my laptop to run an ejb container.

After generating the application model and the code model i have to implement the code for the nextVal operation (get current value from table, add one, etc), but there’s a problem. Where is it? I can’t find the nextval stub anywhere, i must have checked 20 java files…

8/12/2003

Oracle JDeveloper 9.0.5

Filed under: — andrejk @ 11:10 pm

Article for IT-eye website about Oracle JDeveloper 9.0.5.

JavaOne 2003

Filed under: — andrejk @ 11:09 pm

Article for IT-eye website about JavaOne 2003.

Oracle Ref Cursors

Filed under: — andrejk @ 11:07 pm

Article for IT-eye website about Oracle Ref cursors.

Eclipse 2.1

Filed under: — andrejk @ 11:03 pm

Article for IT-eye website about Eclipse 2.1.

Apache Ant

Filed under: — andrejk @ 11:02 pm

Article for IT-eye website about Apache Ant.

Sun ONEday

Filed under: — andrejk @ 10:59 pm

Article for IT-eye website about Sun ONEDay, june 16th 2003.

JDeveloper Toys

Filed under: — andrejk @ 2:36 pm

Tom Klaassen feels that the top ten new toys in jdeveloper are really not that exciting. I have to agree with him. When i read it i was thinking, i hope it will be as good as Eclipse, especially regarding the refactoring options.

But jdeveloper will be exciting, not because of the new toys for java coders, but because of ADF as i described here and here(dutch).

8/11/2003

9.0.5 equals 10G

Filed under: — andrejk @ 9:50 pm

When you go to the Oracle World website, the first thing you’ll see is that Oracle Database 10G and Oracle Application Server 10G will be announced at the conference. But if you look in their seminar catalogue, do a search for jdeveloper, you’ll see that jdeveloper 9.0.5, will be release as jdeveloper 10G.

So what’s 10G? That’s just oracle riding the next hype wave, Grid computing. Guess Internet is no longer cool enough.

Oracle9iAS TopLink By Example

Filed under: — andrejk @ 9:13 am

OTN just published a new article on Toplink: Oracle9iAS TopLink By Example. The article contains more screenshots than code, which makes it a nice introduction to TopLink.

8/10/2003

Is Andromda really a MDA tool?

Filed under: — andrejk @ 2:25 pm

The Andromda project just released version 2 of their tool. According to their website Andromda is an open source code generation framework that follow the model driver architecture (MDA) paradigm. It’s a nice tool which will generate j2ee code based on xml diagrams saved as xmi files. So you can design your application in an UML tool (e.g., poseidon), save the diagrams, and then use andromda to generate your application.

This is all very usefull ofcourse, but how’s this different than UML tools which generate code? What exactly makes this MDA? As i see it, one of the important characteristics of MDA is that is has models on different levels, and you’ll have tool based support to keep these models in sync. The three levels in MDA are PIM, platform independent model, PSM, platform specific model, and the implementation. Currently the combination of Poseidon (or a similar UML tool) and Andromda seems to be missing the PIM level.

Ofcourse, if you know j2ee and uml, and you just want to be more productive, the combination of a UML tool and Andromda might be exactly what you need.

Some info on BC4J from JDeveloper Handbook

Filed under: — andrejk @ 10:44 am

If you are looking for more information about BC4J, OTN has some usefull chapters from Jdeveloper Handbook online:

Powered by WordPress