I have updated the page at http://wiki.apache.org/db-ojb/BestPractices to
be a little easier to read.
Now we have a placeholder where we can start to build a list of our common
and Best practices.
The next step to push that effort along is to get responses from the OJB
users on this list.
I think that we need to start by compiling a list of common practices and
approaches that are out there.
If we could conceptualize this under a heading like:
"How my Team uses OJB"
or
"OJB tips & tricks"
After we have discussed a few of the more common practices, and some trends
rise to the top, we can transfer them to the wiki page.
My hopes are that we can compile a nice list of Best practices to help the
OJB users leverage the power of OJB. This is also an opportunity for OJB
users to contribute their experiences back to the group.
Thanks for your help!
-----Original Message-----
From: Mahler Thomas [mailto:[EMAIL PROTECTED]
Sent: Tuesday, May 11, 2004 5:18 AM
To: 'OJB Users List'
Subject: RE: OJB practices (best?)
Hi Armin,
I like that idea!
I've just created the page:
http://wiki.apache.org/db-ojb/BestPractices
Thomas
> -----Original Message-----
> From: Armin Waibel [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, May 11, 2004 9:59 AM
> To: OJB Users List
> Subject: Re: OJB practices (best?)
>
>
> Hi John,
>
> why not start a "OJB best practices" on the OJB wiki
> http://wiki.apache.org/db-ojb/
>
> in due time we can integrate the best suggestions made on
> this page in
> OJB documentation.
>
> regards,
> Armin
>
> McCaffrey, John G. wrote:
>
> > I would like to know how other teams are using OJB, what
> their experiences
> > have been, and some of the architecture decisions you have
> built around OJB.
> > (I know this is not a pure OJB question, but I would like
> to help compile a
> > list of common architecture approaches to help new people
> get started)
> >
> > Think of it as a "Here's how my team uses OJB" thread
> >
> > How do most of you organize your data access layer?
> >
> > Specifically
> > Are you building Composite VO/DTOs? (an object that
> represents data from
> > several tables)
> > Do you build a new DAO for every mapped value object (VO)?
> > Do you pass these VOs to other layers, or do you adapt them
> to a more
> > generic object for biz and view purposes?
> > Do you use QueryBySQL or ReportQuery often?
> > Are you using caching?
> > DO you use PB interface?
> > How do you manage Transactions?
> >
> >
> >
> > Here's how my team uses OJB (RC5)
> > We had two basic goals when building our architecture
> > 1. isolate View, business, and data access layers so that a
> change to one
> > wouldn't break the others
> > 2. isolate OJB, so that the data access layer could be 'swappable'
> >
> > Steps we take when building on new functionality (we use PB
> interface)
> > 1. use (modified) reverseDB to generate VOs and
> repository_user.xml for
> > tables and views in DB
> > 2. modify VOs, and repository_user.xml to reflect our
> logical mapping of the
> > tables (compositeVOs)
> > 3. verify basic CRUD for VO(BaseDAO handles Create, update, insert,
> > findByVO, findbyPK for any mapped object)
> > (optional) build specific DAO if BaseDAO isn't good enough
> > 4. BusinessDelegate objects get handle to DAO through a factory
> > 5. BusinessDelegate controls transaction when it needs to
> > 6. OJB query and Criteria are wrapped in our QueryVO object
> so that biz
> > layer doesn't know about OJB
> > 7. VOs are adapted to view specific objects and passed to
> struts action
> > classes (this is to separate the table based VO from the
> front-end view)
> >
> > Misc
> > - schema="&schema;" variable is used in
> repository_user.xml, so that the
> > application can be migrated from test to production
> (servlet loads different
> > repository.xml in each environment)
> > - queryBySQL is used for very complicated SQL (we are
> trying to phase this
> > out as we learn OJB)
> > - When calling DB stored procedures we use OJB to get
> sql.connection and the
> > appropriate schema
> > - We use SequenceManagerNativeImpl to grab DB2 created Identities
> > - Created a conversion Boolean2CharYN (for converting a
> single char 'Y' or
> > 'N' in DB to a boolean
> > - We had to create our own PlatformCustDb2Impl because the
> identity query(in
> > RC5) did work with DB2 7.x
> >
> > open issues:
> > - queryBySQL fails on DB2/websphere 4 when executing the
> same query twice
> > (we coded a workaround)
> > - we have a few 1-1 parent child mappings and we want the
> parent to contain
> > a child
> > - we keep history in our tables, so we often have a date as
> a primary key,
> > but we don't know the exact date when we do a join, but we
> want to join on
> > the most current date. this is a problem for 1-1
> >
> >
> > How are you using OJB?
> >
> >
> >
> ---------------------------------------------------------------------
> > 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]