XML (eXtensible Markup Language), 453
basic concepts, refresher example, 455
deployment descriptors, 361
document, 456
DTD (Document Type Definition), 456
logging service example, 438
messaging, overview, 512
namespaces, 459
URI & URL, 459
schema, 458
standardization, 595
message APIs, 621
messaging frameworks, 595
service discovery & description, 615
web.xml file, 438
XHTML (eXtensible HTML), 460
XML messaging, 453
frameworks, standardizing, 595
BizTalk, 602
ebXML, 605
SOAP, 596
XMSG, 613
XP, W3C, 614
JMS-XML integration, 487
JMS body & XML documents, 490
JMS headers & properties, 489
coupling to JMS, 489
JMSType header field, 490
message selection uses, 489
robust messaging systems, requirements, 488
application- vs. MOM-based robust messaging, 488
message APIs, standardizing, 621
CMI, 622
JAXM, 621
RPCs, Java APIs for XML-based, 622
message as API, problems, 461
bandwidth & resource conservation, 463
parsing & validation, 462
structure, 461
typing & encoding, 462
overview, 512
parsing & transformation, 471
DOM tree-based parsing, 473
Java-XML data binding, 485
JAXP, 472
SAX event-based parsing, 479
reducing coupling through APIs, 454
API system coupling, overview, 454
late binding of messages, 454
networking benefits, 455
router example, 492
security, service providers, 491
entire document encryption, 491
MOM encryption, 492
segmented encryption, 492
validation, 492
service discovery & description, standardizing, 615
JAXR, 621
UDDI, 615
WSDL, 620
XML solution, advantages, 463
DTD validation model, 465
extensibility, 464
flexibility, 464
human readable & machine understandable, 467
language & platform independence, 463
rich structures, 465
schema distribution model, 466
standards-based, 464
Unicode support, 465
XML solution, limitations, 467
message overhead, wireless bandwidth, 467
non-XML data packaging, 468
Base64 solution, 469
MIME solution, 470
parser size & complexity, 467
XML messaging router example, 492
compiling & running, 509
Consumer class, message consumer, 507
DestinationBoundMsg container class for returned messages, 498
diagram, functionality, 492
FileToString utility class, 506
input message, 493
JNDIHelper class, accessing queue connection factory through JNDI, 508
Listener class, message listener, 503
MessageRouter class, JMS dispatcher, 501
msgTransform.xsl XSLT stylesheet, 500
NodeListlmpl class, implementing DOM NodeList
interface, 500
output message, 494
Producer class, message producer, 505
XmlMessageHandler class, 494
analyzeMsg() method, 496
constructor method, 496
imports, 494
XPath queries, using, 499
XMLUtilities class, returning nodes list matching query, 499
XMSG, 613
XP (XML Protocol), W3C, 614
XPath, 499
XML messaging router example, 499
XSLT (eXtensible Stylesheet Language Transformations)
XML messaging router example, 500