GXA is an umbrella for several new specifications, including WS-Routing, WS-Referral, WS-Transaction, and WS-Security. A summary of these four specifications' key aspects can help you determine which ones are relevant to your development projects.
WS-Routing
- Provides a structure to describe a message path
- Defines how to represent the message path from original sender forward to final recipient, and from final recipient back to original sender
- Doesn't require forward and reverse path to be identical
- Specifies that intermediaries can route messages dynamically and insert additional intermediaries in the path dynamically as appropriate
- Specifies that transport protocols used between servers can vary between any two connected points
WS-Referral
- Defines how to alter a message's path based on if…then type rules
- Defines how to refer a message to an intermediary based on these rules
- Defines the syntax for SOAP routers to initiate and respond to other intermediaries' queries of these rules
- Defines elements that identify when a referral is "stale" or is invalidated
WS-Transaction
- Supports two types of transactions—Atomic Transactions (ATs) and Business Activities (BAs)
- ATs are all-or-nothing, with rollback on failure
- BAs commit actions immediately, with fault messages on failure
- ATs allow participants to register for a number of coordination protocols that provide notifications to the registered participants at different points
- BAs support protocols that inform participants when each of their tasks in a transaction is complete, or send notification when they've completed all their required tasks
WS-Security
- Primary goals are to protect messages from interception or illegal modification, and to ensure specified caller has the privileges to make the request
- Provides end-to-end message-level security (unlike traditional SSL implementations that provide security for the transport only)
- Provides support for multiple security tokens, multiple trust domains, and multiple encryption technologies
- Tokens can be unsecured (username, password) or secure (X509, Kerberos)
- Headers and message body can be signed digitally
|