magius
magius

Reputation: 901

Distributed Processing: C++ equivalent of JTA

I'm developing a mission-critical solution where data integrity is paramount and performance a close second. If data gets stuffed up, it's gonna be cata$trophic.

So, I'm looking for the C/C++ version of JTA (Java Transaction API). Does anyone know of any C or C++ libraries that supports distributed transactions? And yes, I've googled it ... unsuccessfully.

I'd hate to be told that there isn't one and I'd need to implement the protocol specified by Distributed TP: The XA Specification.

Please help!


Edit (responding to kervin): If I need to insert records across multiple database servers and I need to commit them atomically, products like Oracle will have solutions for it. If I've written my own message queue server and I want to commit messages to multiple servers atomically, I'll need something like JTA to make sure that I don't stuff up the atomicity of the transaction.

Upvotes: 1

Views: 780

Answers (3)

Toddinpal
Toddinpal

Reputation: 345

Oracle Tuxedo is the 800 pound gorilla in this space and was actually the basis for much of the XA specification. It provides distributed transaction management and can handle 100's of thousands of requests/second.

For more information: http://www.oracle.com/tuxedo

Also, if you like SCA (Service Component Architecture), there is an add-on product for Tuxedo called SALT that provides an SCA container for programming in C++, Python, Ruby, and PHP.

Upvotes: 0

kervin
kervin

Reputation: 11858

There are hundreds. Seriously.

As far as general areas go. Check out Service Oriented Architecture, most of the new products are coming out in that area. Eg. RogueWave HydraSCA

I would start with plain Rogue Wave Suite, then see if I needed an Enterprise Service Bus after looking at that design.

That probably depends a lot on your design requirements and budget.

Upvotes: 0

gbjbaanb
gbjbaanb

Reputation: 52659

Encina, DCE-RPC, TUXEDO, possibly CORBA (though I hesitate to suggest using CORBA), MTS (again, hmm).

These are the kind of things you want for distributed transaction processing.

Encina used to have a lot of good documentation for its DCE-based system.

Upvotes: 2

Related Questions