-
1. Re: architecture questions
tomjenkinson Feb 24, 2009 8:48 AM (in response to weberj)Hi Juergen,
Thanks for your posting! I agree, this is a very exciting time for XATMI as we hope to open this up for the community.
In terms of artifacts relating to the architecture of the system, unfortunately we do not have anything that is in a form able to be posted online at the moment although we are currently working on formatting our existing designs for the community in the near future (pre our official community release).
Basically though, you can look upon BlackTie as an adapter for accessing existing JBoss infrastructure from C/C++. Here I am thinking of your observations on AtmiBrokerOTS.
AtmiBrokerOTS (and supporting files) is a c client library to access the JBoss Transactions component of JBoss AS.
Currently the name service is a required component of a deployment topology, however we can certainly look at using other mechanisms for IOR sharing.
The Java side of things (JAB and EJB connector) is still somewhat a moving ground, depending upon feedback from the community we may look at replacing/augmenting them with a JCA connector or similar...
Hope this helps,
Tom -
2. Re: architecture questions
weberj Feb 24, 2009 9:45 AM (in response to weberj)Thanks for your replies.
"tomjenkinson" wrote:
Basically though, you can look upon BlackTie as an adapter for accessing existing JBoss infrastructure from C/C++. Here I am thinking of your observations on AtmiBrokerOTS.
AtmiBrokerOTS (and supporting files) is a c client library to access the JBoss Transactions component of JBoss AS.
So, it is not useable without JBoss? I hoped, it would be a stand-alone OTS Service implementation. But the XATMI implementation can be used stand-alone, does it? At least it should to be used as drop-in replacement for Tuxedo.
Have you information concerning the usage of databases? What is needed to manage a database Resource?
Thanks very much,
Juergen -
3. Re: architecture questions
marklittle Feb 24, 2009 9:47 AM (in response to weberj)JBossTS is a stand-alone transaction manager and supports OTS 1.4.
-
4. Re: architecture questions
tomjenkinson Feb 24, 2009 9:59 AM (in response to weberj)Hi Juergen,
Just to follow up on Marks post. The deployment model we are looking at supports a standalone configuration with the transaction manager and (currently) the naming service as a sort of minimum (along with the XATMI components).
However, for ease of use we also support accessing the transaction manager and naming service when they are embedded in the application server.
The XATMI components are packaged as DLL/SO files so can be used standalone (there is a tool to help you include these in your executables), however for ease of administration we are also looking at creating a new deployment artifact that could also be deployed onto the application server (you may have seen the post in the forums about this).
Let me set your mind at rest, we have designed the framework to ensure that we can run in limited capacity environments here!
Tom -
5. Re: architecture questions
mmusgrov Feb 24, 2009 10:08 AM (in response to weberj)To do anything useful with a TXMgr you need databases. How will the Resource manager implement control of Resources? Do you have to link database libraries against the servants as with Tuxedo?
Will you give an example using databases?
Each XA compliant database must export a symbol that implements xa_switch_t as per the X/Open XA spec. Put that symbol name and the library that contains it in the <XA_RESOURCES> section of Environment.xml file that goes with your application. For example, if your RM is berkeley DB:- <XA_RESOURCE>
- <XA_RESOURCE_MGR_ID>101</XA_RESOURCE_MGR_ID>
- <XA_RESOURCE_NAME>BerkeleyDB</XA_RESOURCE_NAME>
- <XA_OPEN_STRING></XA_OPEN_STRING>
- <XA_CLOSE_STRING></XA_CLOSE_STRING>
- <XA_SWITCH>db_xa_switch</XA_SWITCH>
- <XA_LIB_NAME>/usr/local/BerkeleyDB.4.7/lib/libdb.so</XA_LIB_NAME>
- </XA_RESOURCE>
We had that example in the atmibroker-tx tests working on linux but I removed it before M3 went out because the dl_sym stuff didn't work on Windows. It will be back in again for M4.
The way this stuff integrates with our external transaction manager (TM) is to create a CosTransactions::Resource proxy for the RM. This is then enlisted in the current transaction via the external TM (which knows about OTS). Our code then does the appropriate XA calls to the RM when the TM goes through its 2PC protocol. -
6. Re: architecture questions
tomjenkinson Apr 27, 2009 8:52 AM (in response to weberj)Hi Juergen,
Just as a follow up to your initial query around diagrams for the architecture, you will be happy to find that I have uploaded some pages to the wiki (try starting at page: http://www.jboss.org/community/docs/DOC-13607 and following the links at the bottom of this page).
Hope this helps!
Tom