Carlos,

If you could start this, it would be great. I'll try to help, but since
I've never used OJB don't expect much :).

-James

On Sun, 2004-12-05 at 01:07 +0900, Carlos Villegas wrote:
> Yes, I don't think we need an IoC framework at this point, at least OJB
> doesn't require it. If it is ok I can take a look at OJB and at least
> determine how much work it's required, maybe get started setting up the
> build system and the beginnings of the code.
> More or less, the following is how to work with OJB and you can tell me
> if this sounds right.
> We can reuse the current db schema. A bean (POJO) is created for each
> table to map to. The build system can use xdoclet to annotate the beans
> so that most of the OJB configuration can be generated automatically as
> well as the initialization code for the database using Torque. This
> means that the SQL scripts are not needed anymore, they can be generated
> from the beans using Torque and xdoclet. Torque and xdoclet are not
> needed for runtime, only for building. The new RDBS store can be written
> by translating one of the current db adapters to OJB. This is
> straightforward. The only thing that I'm not sure is the transaction
> stuff. In a simple way, it can be done the same way that the current
> RDBMS store does it, but OJB is also able to enlist itself in the
> current JTA transaction. So it's possible to take advantage of that.
> 
> Carlos
> 
> James Mason wrote:
> > Well, Cocoon works pretty well, and it's based on Avalon (another IoC
> > framework, though supposedly not as light-weight as Spring). From the
> > little I've worked with Cocoon it seems to work fairly well.
> > 
> > -James
> > 
> > On Sat, 2004-12-04 at 00:25 +0100, Oliver Zeigermann wrote:
> > 
> >>Hi John,
> >>
> >>thanks a lot this really makes sense to me. Thanks for explaining with
> >>this simple example.
> >>
> >>I was just wondering, does this really work? For real? Isn't it too
> >>complx? Can you still debug this? Why having all these different
> >>implementations? Maybe I am too suspicious, but I am always alert when
> >>I hear introspection, AOP and magic.
> >>
> >>Thanks,
> >>
> >>Oliver
> >>
> >>Anyway, as other people know I am no friend 
> >>
> >>On Fri, 3 Dec 2004 13:55:00 -0500, John Gilbert <[EMAIL PROTECTED]> wrote:
> >>
> >>>The key is to code to interfaces and pojo objects as much as possible
> >>>and rely on the framework to find the implementation. This way the
> >>>business logic is fully decoupled from the platform. For example, a
> >>>junit test could be written to test the business logic without the app
> >>>server.
> >>>
> >>>Here is an overly simplified example. Basically, my pojo and action
> >>>classes can be run anywhere. The interface impl is plugged as necessary.
> >>>
> >>>class MyPojo {
> >>>        private String name;
> >>>        public String getName() { return name; }
> >>>        public void setName(String name) { this.name = name; }
> >>>}
> >>>
> >>>interface MyService {
> >>>        public doTheWork(MyPojo pojo);
> >>>}
> >>>
> >>>class MyServiceJdoImpl implements MyService {...}
> >>>class MyServiceHibernateImpl implements MyService {...}
> >>>class MyServiceEntityBeanImpl implements MyService {...}
> >>>class MyServiceTestImpl implements MyService {...}
> >>>...etc...
> >>>
> >>>// the spring framework reads its descriptor file to determine the right
> >>>
> >>>// service implementation and uses some combination of introspection and
> >>>AOP
> >>>// to call setService() on the action.
> >>>// This is the magic I haven't delved into yet.
> >>>class MyAction(...) {
> >>>        private MyService svc;
> >>>        public void setService(MyService svc) {...}
> >>>        public ... execute(...) {
> >>>                ...
> >>>                svc.doTheWork(pojo);
> >>>                ...
> >>>        }
> >>>}
> >>>
> >>>// in my unit test I can do all the setup and test the functionality
> >>>// or use spring here also I think.
> >>>class MyUnitTest {
> >>>
> >>>        public void testService() {
> >>>                ...
> >>>                MyAction action = new MyAction();
> >>>                MyService svc = new MyServiceTestImpl();
> >>>                action.setService(svc);
> >>>                action.execute(...);
> >>>        }
> >>>}
> >>>
> >>>How did I do? Does this make sense? I definitely like it as a design
> >>>pattern, but I'm not completely sold on needing a full framework for it.
> >>>
> >>>The jury is still out. But, it does sell a lot of books. ;-)
> >>>
> >>
> >>---------------------------------------------------------------------
> >>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]
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to