PSquad's Corner


PSquad's Corner

 ::home::  ...stuff... ::java::  ::school::  ::technology::  ::misc:: 


Wednesday, September 11, 2002

Quartz 1.0. Quartz Enterprise Job Scheduler 1.0 Released [The Server Side] [rebelutionary]

I use Quartz for Job Scheduling in OSWorkflow and it has worked great. In the future I'd like to see more JobStores (only RAM and JDBC right now), preferebly the same ones that are in OSWorkflow: Memory, JDBC, Serializable, EJB, and Ofbiz.


7:13:17 PM    comment []

I think I need to learn a bit more about Lucene. I hear a lot about it, but never have actually delved too deep with it. Might be very powerful for my project I'm doing at work (we have a whole bunch of search screens and buckets that people can subscribe to).
5:18:33 PM    comment []


Hey James Strachan, I'm ready to start hacking Jelly in to OSWorkflow. Do you (or anyone else) have any tips for me on getting started?
3:32:08 PM    comment []


I added a new feature to OSWorkflow 2.0.3 (which was released last night): the WebWorkExecutor. Basically you can now have WebWork actions executed as pre- and post-functions in your workflow. This is nice since now all your business logic can be WebWork actions, instead of having your classes implement FunctionProvider as well as Action. Unfortunately the WebWorkExecutor had to do those sames steps that ServletDispatcher, ActionTag, TestDispatcher, and anyone else's custom code does (see my last entry). Can't wait for this stuff to be consolidated!
9:48:42 AM    comment []


Now that I've added to the tons of praise about WebWork, I'd like to point out some of the bigger issues I'd like to see addressed in future versions:

  • ValueStack needs to know what bean each value is associated with. This is needed so that we can customize the type conversion to/from String or String[]. Currently we can customize only the conversion from String, but not to String. Not exactly ideal.
  • ActionContext needs to not have any HTTP-specific stuff.
  • There needs to be a centralized place for actions being executed, including the chaining logic. I think that there should be a class that dispatchers and all other code calls when actions need to be executed. This class should:
    1. Set up the ActionContext (and save the old context)
    2. Look up the Action
    3. Copy parameters to the Action
    4. Execute the action
    5. If Action chains, go back to step 2
    6. Add all actions to ValueStack
    7. Restore old ActionContext
    8. Return all Actions in chain as well as the final result

9:42:28 AM    comment []

WebRock part 2. Rick has more thoughts on why WebWork rocks.

Another I'll add to the list, reuse of your existing actions, which Joe mentions in point 2. I've got a library full of them. If you haven't tried it out yet, ww is good stuff!

Yep! Reuse is very cool. Patrick does a lot of that with his chaining I think (very fine grained actions chained together into a larger goal). [rebelutionary]

Yup, I'm a chaining nut! For example, I have actions like BeingTx, RollbackTx, CommitTx, as well as DocumentLoader, DocumentStorer, and DocumentValidator. With just these simple actions chained together you can 1) create a new document, 2) edit a document, and 3) display a read only copy of the document.

Another very cool feature in WebWork is that actions can be included inside JSPs (and maybe Velocity someday?) with the <ww:action> tag. For example, I make my actions not concern themselves with presentation. So my Document actions (DocumentLoader/Storer/Validator) have a property subjectIds. But in my JSPs I want to display my subjects in String form. So I created a small utility action called SubjectLoader that can be used like so:

<ww:action name="'SubjectLoader'">
 <ww:param name="'subjectIds'" value="../subjectIds"/>
 <ww:iterator value="subjectIds">
  <li><ww:property value="subjects[.]"/>
 </ww:iterator>
</ww:action>

So basically, any place that I want to display a String form of a subject, I use the SubjectLoader. And it doesn't need to be for just Document-related situations. In our application, users edit their profiles to subscribe to subjects as well, so we re-used this same code here as well.


9:26:11 AM    comment []

Old news, but OSCore 2.0.1, OSWorkflow 2.0.3, PropertySet 1.0.2 were all released just recently.
12:36:47 AM    comment []


    I have been mulling over some ideas involving a new workflow engine for several days. I have checked out several opensource offerings (OSWorkflow, Open Business Engine, etc.), but none seem to offer what I have in mind. [moatas via james]
I wonder what he means that none of them seem to offer what he has in mind. I'd say between OSWorkflow, Werkflow, Open For Business, and Open Business Engine, one of the four should do the trick, or be close enough. Do we really need a fifth workflow engine?
12:33:54 AM    comment []


September 2002
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Aug   Oct




Copyright © 2002 Pat Lightbody