Re: OScheduler

James House <[email protected]> Sun, 11 Jan 2004 16:38:40 -0700
Newsgroups gmane.comp.java.open-symphony.devel
Message-ID <[email protected]>
Mathias,

[Brief interuption before the real message:   It seems that I'm only 
seeing about 50% of this conversation - - at least I don't get any 
e-mail that came from Mathias himself - I only see his comments in the 
bodies of people's responses to his messages.... does anyone know why 
this would be? I'm subscribed to 
"[email protected]" -- Mathias, if you 
respond, can you please cc me ([email protected]) directly?].

I think (although of course I'm biased) Quartz is fairly light-weight, 
and its more complex features don't have to be used (and can therefore 
be ignored in the configuration) - of course you have to weed though it 
a bit to see what you can ignore ;-).  I've never heard a complaint that 
Quartz is hard to use (in fact, the forums are full of comments about 
how easy it is) - But you are right in saying that it is more complex 
than it needs to be, and the interfaces/classes have become inconsitent 
over time, and in fact some abstractions are being violated due to 
changes in direction.  It's a classic case of learning what the product 
really should be, once you've already got it made, and people start 
using it and asking for changes in the features.

I think a collaboration would be great.  If nothing else, I'd like to 
see how your ideas can improve my Quartz 2.0 design. :)   I've been 
really focused in the design on accomodating things like clustering, 
CMT, and improved load balancing, and it is likely that too much 
complexity is still touching the upper layers of the API -- additional 
(critical) eyes would be appreciated.   Perhaps your API is already 
perfect, and it should be adopted.  Or perhaps (more likely) meshing the 
two designs together will produce something top-notch.  Of course it is 
also possible that we'll find the goals of the two project are so 
divergent that both should exist - though I'd be surprised to find this 
to be the case.

[For those unfamiliar with the current state of Quartz:]
Quartz the project now has a very large and fairly active community 
base.  I am still by far the primary contributor, but there are a couple 
others who commit a few times per month, and there are regularly patches 
and new (small) features submitted.   Best of all, the user forum is 
nearly running itself, thanks to having enough experienced users who are 
willing to help out the noobs.   The last official release of Quartz 
(1.2.3) has nearly 3000 downloads, aside from being contained 
(distributed) within several other open source and commercial 
products.   Quartz 1.3.0 should be release within a few days, and 1.4.0 
in about a month.    Quartz 2.0 was designed a long while back, and 
implementation began, but it's got MANY hours of work to go, since it is 
a serious refactoring.   Both the existing (1.x) design and the 2.0 
design support plugable persistence.  There is currently RAM and 
JDBC-based persistence (a bit of an oxymoron with RAM).  Also there is a 
mechanism to use XML files to auto-populate jobs in the RAM store during 
initialization.

In answer to your questions:

>> 1. OS components are lean and mean, so I'm not sure some of Quartz  
>> features
>> will 'fit' in, e.g. RMI, how do you see this?
>
Patrick already answered this a bit.   Additionally, all of the advanced 
features are "optional use", and don't even have to be configured if you 
aren't using them.  Furthermore, these "advanced" features don't really 
tax the system much.  When Quartz is running with all features enabled, 
it's often hard to measure the load it is causing on the system.  I'm 
usually known (in my day job) as one who tends to err on the side of 
efficiency.

>> 2. The package should be com.opensymphony.quartz, objections?
>
No objections there.  I'd propose the switch happen with the 2.0 release

>> 3. What are your main motivations for moving to OS now and not before?
>
The main thing stopping me before was that my employer (PartNET) was 
giving me some on-the-clock hours to work on Quartz, and it didn't have 
much of a community yet.  Becuase PartNET was "investing" in it, my boss 
was hesitant to give it over to a community, when he was still unsure 
about how he may want to profit from it.  At this point, this isn't an 
issue any more.  All of Quartz's files currently say "Copyright James 
House" in them - and there are no claims to ownership by PartNET.  
Furthermore, I don't get company time to work on it anymore (never did 
get very many hours in the first place), and the 2.0 design was done 
entirely on my own time.

If the OS community is willing to have Quartz, I'll first need to run it 
by a few of the other people over on the Quartz project, who ought to at 
least have a little say about it.  And frankly I've got just a little 
bit of hesitancy still in me myself (perhaps I'm too proud, but it is 
kind of hard to go from something that's nearly 100% yours, to it only 
being 50% or so yours).  However, I'm thinking that this is probably the 
best way to go, as I could really use the additional support (if there 
is some here).  As I said in my previous e-mail, I was planning to 
approach Patrick (and OpenSymphony in general) about this some time soon 
(when I made up my mind definitively), but seeing this mail thread 
spurred me into it.


Some things I'd like to know:

1) Why would OpenSymphony want Quartz?  What does OpenSymphony have to 
offer Quartz? 
1a)Are there any of you who are willing to be active developers on core 
functionality? 
1b)Are there any of you who are willing to be active developers on 
making Quartz work well with (integrate with) other OpenSymphony projects? 
1c)Are there any of you who are willing to be forum supporters etc.? 
1d)Are there any of you who are willing to pat me on the back and say 
"good job"?  ;-)

2) How is Java.net working out?  Are you moving there completely?
2a) Where/how do you guys host your site?  (I've got a tomcat server 
that I run the Quartz website and wiki (SnipSnap) on, as well as 
ownership of the domain "quartzscheduler.org" (and ".com"), a 
mail-server, and I happily use JIRA for issue tracking).   -- Thus 
Quartz is primarily using SourceForge for file distribution and the 
forum (though the forum software really bites).  If Quartz is going to 
be an OpenSymphony project, it ought to sit along side the others 
(actually I'm not entirely sure how much the others are all hosted the 
same place, in the same way, etc.) -- I guess my question really is: 
Where will it be expected that Quartz is hosted (mail, forum, CVS, 
documentation, "home page", wiki, etc.)   -- Also, I'm willing to offer 
my server (on a T3 with 40GB available transfer per month) for anything 
that's needed.

james

>>
>> Cheers,
>> Mathias
>>
>> ----- Original Message -----
>> From: "James House" <[email protected]>
>> To: <[email protected]>
>> Sent: Friday, January 09, 2004 9:44 PM
>> Subject: Re: [Opensymphony-developers] OScheduler
>>
>>
>>>
>>> Matthias,
>>>
>>> James here (primary developer of Quartz).  I don't know if your
>>> interested or not, but I've had a full new design of Quartz (Quartz  
>>> 2.0)
>>> getting dusty for several months no, and was getting ready to actually
>>> dig in and build the thing (The work is about 20% done, and the  
>>> changes
>>> include: a significantly improved/changed API, usage of Hibernate for
>>> persistence, over-hauled clustering features, re-thinking of how
>>> guarantees and prioritization of job firings (and misfirings) occur,
>>> etc.).   In the past I had been invited to join Quartz under the OS
>>> umbrella, and had declined, but I was actually planning to write an
>>> e-mail to Patrick in the next week or so and ask if I'm still welcome,
>>> and see if anyone wants to help...  I'm also interested in leaving
>>> SourceForge and moving java.net.
>>>
>>> Anyway what are your thoughts on a collaborative effort?
>>>
>>> james
>>>
>>>
>>> Hani Suleiman wrote:
>>>
>>>> Yep, that's what I was going to propose. xml, ejb, and memory.
>>>>
>>>> Mathias Bogaert wrote:
>>>>
>>>>> I'm not a big fan of multiple persistence mechanisms (look at the  
>>>>> many
>>>>> problems with it in OSUser/OSAccess). Hibernate supports all 
>>>>> kinds  of
>>>>> databases, so no problem there. And offcourse, the API allows to
>>>>> plug, but
>>>>> except for perhaps an XML and EJB one, I don't think we should add
>>>>
>> more.
>>
>>>>>
>>>>> Mathias
>>>>>
>>>>> ----- Original Message -----
>>>>> From: "Hani Suleiman" <[email protected]>
>>>>> To: <[email protected]>
>>>>> Sent: Friday, January 09, 2004 9:17 PM
>>>>> Subject: Re: [Opensymphony-developers] OScheduler
>>>>>
>>>>>
>>>>>
>>>>>> Yes! Although the one thing that is glaringly missing from your
>>>>>> description is support for multiple persistence mechanisms, so any
>>>>>> objections to adding that in?
>>>>>>
>>>>>> Anyway, big +1 from me for having such a component, as long as it
>>>>>> follows the same principles as all the others (few dependencies,
>>>>>> optional support for stuff, etc etc).
>>>>>>
>>>>>> Mathias Bogaert wrote:
>>>>>>
>>>>>>
>>>>>>> Guys,
>>>>>>>
>>>>>>> Over the last month, I've written a scheduler (like Quartz), 
>>>>>>> but  with
>>>>>>
>>>>>>
>>>>>
>>>>> much
>>>>>
>>>>>>> cleaner interfaces, based on java.util.Timer, lot of the same
>>>>>>> principals
>>>>>>
>>>>>>
>>>>>
>>>>> as
>>>>>
>>>>>>> XWork (Job, JobSupport, JobInvocation, interceptors, etc), 
>>>>>>> using  the
>>>>>>
>>>>>>
>>>>>
>>>>> cron
>>>>>
>>>>>>> parser from OSCache, with Hibernate as backing store for 
>>>>>>> storing  jobs
>>>>>>
>>>>>>
>>>>>
>>>>> and
>>>>>
>>>>>>> job parameters (that are set on a job having setters). Startup
>>>>>>> through a
>>>>>>> context listener. The documentation is a work in progress, and  
>>>>>>> it's
>>>>>>> not
>>>>>>
>>>>>>
>>>>>
>>>>> very
>>>>>
>>>>>>> well tested (almost zero unit tests, I'm not into TDD yet).
>>>>>>>
>>>>>>> I've been thinking about releasing it as open source, and I'm
>>>>>>> wondering
>>>>>>
>>>>>>
>>>>>
>>>>> if
>>>>>
>>>>>>> OpenSymphony would be interested. Offcourse any better name or  
>>>>>>> other
>>>>>>> suggestions are appreciated.
>>>>>>>
>>>>>>> Mathias Bogaert
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -------------------------------------------------------
>>>>>>> This SF.net email is sponsored by: Perforce Software.
>>>>>>> Perforce is the Fast Software Configuration Management System
>>>>>>
>> offering
>>
>>>>>>> advanced branching capabilities and atomic changes on 50+  
>>>>>>> platforms.
>>>>>>> Free Eval! http://www.perforce.com/perforce/loadprog.html
>>>>>>> _______________________________________________
>>>>>>> Opensymphony-developers mailing list
>>>>>>> [email protected]
>>>>>>> https://lists.sourceforge.net/lists/listinfo/opensymphony- 
>>>>>>> developers
>>>>>>>




-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html