On Fri, 2010-04-09 at 12:42 -0500, John Verhaeg wrote:
Then I'm confused about the motivation behind the attempt to make
VDBs
more portable.
Having the environment specific details inside a VDB does more
damage
than it useful in terms of portability. VDB artifact itself, user should
be able to move around with out the connection specific details.
I thought the idea was to make it easy to move a VDB from one
environment to another, specifically thinking about promotion, like
from dev to test to prod.
We had the right mix in old MM when it was supporting
the ".def" file
out side the VDB. The only issue with that design was, the ".def" file
also defined specifics about the models that were inside VDB file, which
is separate artifact. Current approach is hybrid of both. VDB has all
the info about itself, no dependencies to environment. The DS files
have the connection details.
The motivation is clean separation of concerns and deployment of these
artifacts. We no longer have the Console like tools manage at finest
details nor we want to. The way we promote now is, keep the VDB same
every where, and have the "-ds.xml" for each environment separate. Then
using the admin tools deploy them separately, not fix the artifact using
Admin tool before user can deploy.
When you write a WAR file as application developer, you do not define
the connection details inside your code or inside the war file, you look
up a datasource using the JNDI. This case is no different.
If the CF names generally match the model names, how would, say, a
prod admin ever know the appropriate connector to assign the CF to?
Who said CF
names are model names? CF name is JNDI name of some resource
deployed in container. There is something called "source-name" and
"jndi-name" to support the multi-source bindings. In the Designer case,
since 99% of the time, we are dealing with the single source, then use
the "model" name as "source-name" not for the JNDI name. Please see
the
VDB.XML schema.
If this info still has to be passed around verbally or via some
other
exported entity, then why are we taking it out of the VDB in the first
place?
I am not saying to take it out or keep it. We now have an *option* to
take it out. If we need to keep it, provide the "-ds.xml" file through
tooling.
Ramesh..