db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erik Bengtson" <e...@jpox.org>
Subject Re: multiple databases one PM/TX
Date Mon, 05 Nov 2007 10:07:02 GMT
Jorg,

An example:

Class product

Field name ; //oracle
Field price ; //erp
Field instock ; //erp

With multiple databases feature, you can load an object distributed in multiples databases.
As Eric said we will not reinvent JTA.

Each implementation can use JTA to support transactions with multiple datasources, but can
use any other mechanism (not defined). JPOX is pluggable and enabled to accept any jta implementation.
 

If you don't provide an external jta implementation, JPOX will use its internal implementation.
--   BlackBerry® from Mobistar    ---

-----Original Message-----
From: Joerg von Frantzius <joerg.von.frantzius@artnology.com>

Date: Mon, 05 Nov 2007 10:28:55 
To:jdo-dev@db.apache.org
Cc:jdo-experts-ext@sun.com
Subject: Re: multiple databases one PM/TX


Hi Erik,

there is one thing that I don't understand about this proposed feature
(which may be just me not seeing the obvious point of course :)

Running 2PC on multiple data sources is handled already by J2EE
implementations, and, as far as I recall, there are also libraries
available that provide a JTA without a full blown J2EE server. Why would
you want to duplicate this already existing and available functionality
in JDO?

Regards,
Jörg

Erik Bengtson schrieb:
> In JPOX we are implementing the access to multiple datastores within a single
> PM/TX. If not too late, I’m wonder if you like to hear a proposal to
> standardize the configuration of the “jdoconfig” and jdo metadata to be able to
> handle this scenario. It may sound overkill, but IMO is a major advance over
> JPA.
>
> To introduce the subject, the goal is to handle persistence in multiple
> databases (e.g. derby, oracle, DB4O, Versant, XML) within a single JDO
> transaction/ single PM. From the user point of view, there are two items that
> must be configured, jdo metadata, jdo configuration, in which would be part of
> this proposal, so I show below an example of the configurations:
>
> /jdoconfig/ sequence unbounded PMF
> /jdoconfig/ sequence unbounded Resource
>
> /PMF/
> /PMF/@Class
> /PMF/@TransactionTimeout
> /PMF/@...
> /Resource/
> /Resource/@Name
> /Resource/Connection Settings/
> /Resource/Connection Settings/@ConnectionFactoryName
> /Resource/Connection Settings/@ConnectionClientID
> /Resource/Connection Settings/@ReadOnly
> /Resource/Connection Settings/@...
> /Resource/Transaction/
> /Resource/Transaction/@TwoPhaseCommit
> /Resource/Transaction/@Timeout
>
> ConnectionClientID
> ----------------------------
> ConnectionClientID is the identifier for the connection. Some databases such as
> Oracle use this to identify the end user (not the connection user).
> ConnectionClientID would accept the values:
>
> 1 - CredentialMapping - the CredentialMapping takes the principal of the running
> application and sets it as client id - eg. ConnectionClientID=CredentialMapping
> 2 - Identity – the client id is taken from the id right after the Identity word
> - eg. ConnectionClientID=Identity:MyUser
>
> ReadOnly
> ----------------------------
> ReadOnly (accepts true, false) will block write operations to this connection
>
> TwoPhaseCommit
> --------------------------
> Two options:
>
> 1 – LastLoggingResource - If the resource is non XA, push down this resource in
> commit order.
> 2 – Emulated – Emulates non XA protocol. Heuristics errors could happen
>
> Example:
>
> <jdoconfig>
>
> <pmf name=”snowdog” default-resource=”Oracle”>
> </pmf>
>
> <resource name=”ERP”>
> <connection connectionfactoryname=”BSCS_Hot”/>
> </resource>
>
> <resource name=”PeopleSoft”>
> <connection connectionfactoryname=”PS_Onyx”/>
> </resource>
>
> <resource name=”Oracle”>
> <connection connectionfactoryname=”ORA_Vinci”
> connection-client-id=”CredentialMapping”/>
> <transaction two-phase-commit=”LLR” timeout=”30”/>
> </resource>
>
> <resource name=”Xml”>
> <connection readonly=”true”/>
> <extension>
> <jpox:xml file=”file:/usr/home/myxml.xml”/>
> </extension>
> </resource>
>
>
> </jdoconfig>
>
> <jdo>
> <package>
> <class name=”Invoice” resource=”ERP”/>
> <class name=”ClassData”/> <!-- uses default-resource -->
> <class name=”Person” resource=”PeopleSoft”/>
> <class name=”ReferenceData” resource=”Xml”/>
> </package>
> </jdo>
>
>
>
>
> Quoting Michelle Caisse <Michelle.Caisse@sun.com>:
>
>   
>> Hi,
>>
>> We will have our regular meeting Friday, October 26 at 9 am PDT to
>> discuss JDO TCK issues and status.
>>
>> Dial-in numbers are:
>> 866 230-6968   294-0479#
>> International: +1 865 544-7856
>>
>> Agenda:
>>
>> 1. Subquery spec update
>> 2. Other issues
>>
>> Action Items from weeks past:
>>
>> [Oct 12 2007] AI Michael take a look at subquery tck tests.
>> https://issues.apache.org/jira/browse/JDO-446
>>
>> [Sep 14 2007] AI Matthew provide examples for 8.6.1.1 jdoconfig.xml.
>>
>> [June 22 2007] AI Craig discuss svn:eol-style on email.
>>
>> [June 22 2007] AI Craig write a proposal on annotation overrides for
>> the expert group.
>>
>> [May 25 2007]  AI everyone Download the Grails demo from grails.org  and
>> check it out. Also look at Grails/Groovy ExpandoMetaClass that  has the
>> magic to avoid reflection and enhancement.
>>
>> [May 25 2007] AI Matthew Adams prepare a proposal with just the  basics
>> of schema synchronization with jdo and orm metadata.
>>
>> [May 18 2007] AI Craig update http://wiki.apache.org/jdo/
>> CurrentDevelopment wiki page
>>
>> [Apr 27 2007] AI Craig review Query API and send email to experts.
>>
>> [Apr 27 2007] AI Erik file a JIRA regarding JPA style transactions  and
>> attach his discussion document to it.
>>
>> [Mar 9 2007] AI Craig: Update the spec to require that the key of the
>> listener is the class name of the listener, for consistency with
>> proposed xml..
>>
>> [Mar 2 2007] AI Craig: update the JDOHelper class to include a string
>> constant "META-INF/jdo.xml" and a new method
>> getPersistenceManagerFactory taking no arguments.
>>
>> [Aug 11 2006] AI Craig propose some semantics for behavior if user
>> tries to add to a list where the ordering element is incorrect.
>>
>> [Jul 14 2006] AI: Erik document 220 annotations that don't have a
>> corresponding JDO concept.
>>
>> [Jun 23 2006]  AI  Martin look at what Hibernate and TopLink support
>> for Enum types. In progress.
>>
>> [Apr 14 2006] AI Craig: update the roadmap for JDO. In progress.
>>
>> [Nov 4 2005] AI Martin: Update Martin's wiki with discusion of JDK   1.5
>> issues. In progress
>>
>> [Sep 2 2005] AI: To recruit members, update the web site. Articles  on
>> TheServerSide directing attention to the site. T-shirts, logo.    AI:
>> Craig write a ServerSide article.
>>
>> -- Michelle
>>
>>     
>
>
>
>
>
>   


Mime
View raw message