Outstanding post, +1 Gary!
-----------------------------------------------------------------
Throw away my code, but never, never throw away my tests.
-----------------------------------------------------------------
Jeffrey D. Brekke Quad/Graphics
[EMAIL PROTECTED] http://www.qg.com
-----------------------------------------------------------------
> -----Original Message-----
> From: Gary Lawrence Murphy [mailto:[EMAIL PROTECTED]]
> Sent: Monday, July 02, 2001 12:50 AM
> To: [EMAIL PROTECTED]
> Subject: Re: Comparison between Enhydra+Barracuda, ACS 4.0.1,
> Tomcat+Turbine+Cocoon
>
>
> >>>>> "C" == C R Oldham <[EMAIL PROTECTED]> writes:
>
> C> And regarding Turbine directly, something that concerns me
> C> greatly is the way a Turbine app has to interface with the
> C> database--via the Peer objects, right?
>
> Not quite; when Jon says Turbine offers options, he refers to
> the history
> of Turbine as a collection of tools (which I believe is stated on the
> website) and that is exactly what you get, a collection of tools. If
> peers works for you, it's there, and if not, you ignore it. Even the
> core Turbine servlet, which is intended for session-managed multi-page
> web applications, will be overkill for many situations --- no problem,
> you just leave it out of your app and use it as a model for building
> your own session-less website using all the other great tools
> in the kit.
>
> C> ... Is working with the Peer objects a real pain?
>
> Buddha said that suffering arises from attachment, and this is just as
> true with software ;) All Turbine means by "peer" is that where one
> object represents the table row, the peer contains the static methods
> used to move rows in and out of the database. It makes no
> sense to ask
> an object to return 100 dissimilar objects of the same type,
> so instead
> you ask the peer of that class to do the lookup and fetch the list.
>
> Where it becomes a pain is where you _know_ what you want to do in SQL
> and stored procedures and you try to force the Torque model to do this
> within its simple object-database mapping; fortunately, Torque
> _extends_ JDBC, it does not replace it: If you know how to get the
> effect you want in SQL, just use normal JDBC execute/query calls to do
> it. Torque is just a convenience tool for the general case of
> fetching records from one or more tables according to some criteria.
>
> C> What if I need to slap a quick page on our site
> C> that pulls a query from the database and shows it in a table.
> C> In Turbine, is that easy, or not?
>
> In _Turbine_ it is impossible; strictly speaking, turbine is just a
> web-app framework servlet that allows for hooking services and
> templates together with session management and multi-level
> authentication.
>
> If, on the other hand, you decide to use Turbine with the Velocity
> template service and the Torque OM service, and you provide your own
> $data service that provides a method to effect the query and return
> a list of results, the page you describe is simply
>
> #foreach $item in $data.getList
> <tr><td>$item.col1</td><td>$item.col2</td></tr>
> #end
>
> which is pretty darn simple.
>
> (those who know velocity macros better than I could probably craft a
> better example)
>
> If Velocity is not your thing, use WebMacro or JSP or plug in your
> own. If Torque doesn't turn your crank, use Castor or whatever you
> like. The services bundled with Turbine are just examples of useful
> (Apache licenced) tools. You are free to use them, change them, steal
> from them, or ignore them.
>
> C> Sorry about the ramble--I'm having a hard time getting my head
> C> around this development model...Thanks in advance for any help.
>
> As with any new technology, I know where you're coming from: You are
> looking at a package and wondering if it would take more time (=money)
> to learn it than to re-write it, or whether some other application
> framework might cost less to implement; any response that does not
> provide this information or demands your placing a sizeable investment
> of time (=money) is not all that helpful (it just makes Turbine more
> expensive and thus less attractive).
>
> You should know up front that Turbine is not a product, it is not a
> service by one company to another. It has no business case or sales
> pitch to give you, no salesman will ever call ;) To my mind, this is a
> great advantage because, unlike ACS or WebSphere, Turbine is not the
> worm on the end of a hook that eventually wants to make money off you,
> but is instead a community thing that really wants and honestly
> invites your participation to help make things better for the whole
> community. Working together, we can (and do) blow WebSphere out of
> the water.
>
> Turbine is just a collection of web-application-oriented code, amassed
> by fellow developers as they needed it, modified by others as they saw
> fit, and kept in sync and order by a few volunteers. There's no
> guarantee, no promises and we can't really tell you if it works for
> your project because we are all busy on our own projects; the best
> endorsement we can offer is a word-count for the number of times the
> phrase "Turbine rocks" shows up in the mailing list ;)
>
> Personally, the total control of having a stake in Turbine
> development, the freedom of being a participant rather than a
> consumer, and the power to determine my own production schedules and
> not be at the mercy of some corporate todo list, all of these abstract
> business-case features more than compensate for the inconvenience of
> having to reverse-engineer Turbine to use it.
>
> --
> Gary Lawrence Murphy <[EMAIL PROTECTED]> TeleDynamics
> Communications Inc
> Business Innovations Through Open Source Systems:
http://www.teledyn.com
"Computers are useless. They can only give you answers."(Pablo Picasso)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]