Index Changes

Difference between version and version     

Back to Large Message Support, or Large Message Support Info


At line 6 changed 1 line.
When Open-ESB is put into serious use to handle real messages, the ability and efficiency to handle messages by encoders and JBI components, especially the ability to process large messages, may become an important requirement in the related business scenarios. This can also become a big differentiator in JBI implementations.
When Open-ESB is put into serious use to handle real business messages, the ability and efficiency to handle messages by encoders and JBI components, especially the ability to process data of large size, may become an important requirement in the related business scenarios. This can also become a big differentiator in JBI implementations.
At line 13 changed 1 line.
Support of large message handling may be achieved through at least the following supports:
Handling of large message may be achieved through at least the following supports:
At line 18 changed 1 line.
Different use cases may require different approach with or without advanced parsing technology.
Different use cases may require different approaches with or without advanced parsing technology.
At line 24 changed 1 line.
* Currently In JBI, DOM is used as the service data layer.
* In JBI, DOM is currently used as the service data layer.
At line 26 changed 3 lines.
*** standard
*** easy to use (reads whole document into memory)
*** fast access with XPath
*** Standard (XML tree representation of whole document loaded in the memory)
*** Easy to use, very flexible API supporting CRUD operations
*** Fast access with XPath
At line 30 changed 5 lines.
*** performance
*** large memory footprint
*** cannot handle large messages
*** lack of validation (too loose)
*** lack of meta-data introspection
*** Performance problem
*** Large memory footprint
*** Can not handle large messages
*** Lack of validation (too loose)
*** Lack of metadata introspection
At line 36 changed 7 lines.
* We need a better SDL than the current DOM.
* The proposed SDL overcomes drawbacks of DOM:
** better performance
** small footprint
** large message handling
** validation
** meta-data introspection
* So we need a better SDL than the current DOM.
* The proposed SDL overcomes drawbacks of DOM as follows:
** Better performance
** Small footprint
** Large message handling
** Validation
** Metadata introspection
At line 44 changed 1 line.
* Characteristics of the proposed SDL (many of these may be borrowed from the SDO spec)
* Characteristics of the proposed SDL (many may overlap with SDO spec?)
At line 46 changed 2 lines.
** XSD: meta-model language
** non-XML data: converted to XML for processing in NMR or stored as an attachment
** XSD: metadata modeling language
** Non-XML data: either converted to XML for processing in NMR, or simply stored as an attachment
At line 52 changed 1 line.
** Support dynamic metadata introspection – getDataType
** Support dynamic metadata introspection – getDataType()
At line 55 changed 4 lines.
** Native XPath support, convenient data conversion (helper methods) and copy support
*** SDL object has Xpath support built in - more efficient than applying Xpath externally on DOM
** Support partial scan of original non-XMLized data for XPath evaluation (handy for content based routing)
*** parsing the header without converting the whole document to XML
** Native XPath support with convenient data conversion (helper methods) and copy support
*** SDL object has Xpath support built in - more efficient than applying XPath externally on DOM
** Support partial scan of original non-XML data for XPath evaluation (handy for content based routing scenario)
*** parses the header without converting the whole document to XML
At line 63 changed 1 line.
** The benchmark should cover parsing, XPath evaluation (for both reading and updating), building large dataset and marshaling.
** Benchmark should cover parsing, XPath evaluation (for both reading and updating), building large dataset and marshaling.
At line 67 changed 1 line.
** May use existing XML APIs as a “view” or ’façade”
** May use existing XML APIs as a “view” or “façade”
At line 78 changed 1 line.
* URIs can be used to reference attachments as illustrated in XOP (XML-binary Optimized Packaging, see http://www.w3.org/TR/xop10/)
* URIs can be used to reference attachments as illustrated in XML-binary Optimized Packaging (W3C XOP)
At line 87 changed 1 line.
!!! Streaming (and partial evaluation)
!!! Streaming (and partial scan/evaluation)
At line 89 changed 1 line.
* No easy way to stream messages in JBI.
* No easy way to stream messages in JBI architecture.
At line 91 changed 1 line.
* One-pass streaming process is not feasible for Open-ESB. Reasons:
* One-pass streaming process is not feasible for Open-ESB, for reasons below:
At line 98 changed 1 line.
** Currently all existing encoder providers (Custom Encoder, HL7 encoder, Cobol Copybook Encoder) use SAXSouce as input or output in order to avoid object creation. But the drawbacks of SAXSource are:
** Currently all existing encoder providers (i.e. Custom Encoder, HL7 encoder, Cobol Copybook Encoder) use SAXSouce as input or output in order to avoid object creation. But the drawbacks of SAX Source are:
At line 100 changed 5 lines.
*** lacking write capabilities.
** Proposed solution:
*** Enhance the encoder providers to also implement StAX Source - a “Pull” model XML source that support both read and write.
*** Develop features like partial XPath evaluation, where XPath expression can be evaluated while decoding and the process stops as soon as the value is retrieved.
*** Should be very useful for content based routing or heterogeneous message process.
*** only reading, no writing capabilities.
*** requires entire document to be read.
** Proposed solutions:
*** (1) Enhance the encoder providers to also implement StAX Source
**** StAX is a “Pull” model XML source that support both reading and writing.
**** StAX does not require to read the whole document. Portions can be skipped
*** (2) Develop features like partial XPath evaluation, where XPath expression can be evaluated while decoding and the process stops as soon as the value is retrieved.
**** Should be very useful for content based routing or heterogeneous message process.
At line 114 changed 1 line.
# Fully decoded small or mid-size message with random R/W access
# Fully decoded small to mid-size message with random R/W access
At line 116 changed 3 lines.
** Includes both building a message from scratch and updating an existing one.
** We cannot compromise on performance for this when supporting large message handling.
** Includes both creating a message from scratch and updating an existing one.
** We can not compromise on performance for this use case when supporting large message handling.
At line 121 changed 1 line.
** Message size might be small or large.
** Message can be of small, mid or large sizes.
At line 123 removed 1 line.
At line 125 changed 5 lines.
** Message is composed of a header/envelope and payload.
** The payload size might be small or large.
** For decoding, read the header, and extract raw payload out as intact. Then based on header information, perform action with payload (e.g. persist payload to a DB).
** For encoding, construct a header and insert a raw payload.
** Message is composed of a header (or envelope) and payload.
** The payload size might be small, mid or large.
** For decoding, it reads the header, and extracts raw payload out as intact. Then based on header information, performs action with payload (e.g. persist payload to a DB).
** For encoding, it constructs a header and inserts a raw payload.
At line 132 changed 2 lines.
** Encodeing example: Build from scratch an HL7 batch message with a batch header, a number of message payloads of same or different types, and a batch trailer.
** Encodeing example: Create from scratch an HL7 batch message with a batch header, a number of message payloads of same or different types, and a batch trailer.

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-6) was last changed on 02-Apr-09 14:00 PM, -0700 by LixinTang