55. Readers

    Common Properties of Readers

    Readers can read data from input files (both local and remote), receive it from the connected optional input port, read it from a dictionary, from a database, or from a JMS.

    One component only generates data. Since it is also an initial node, we will describe it here.

    We can distinguish Readers according to what they can read:

    Generating data

    A DataGenerator component generates data.

    Reading flat files
    • FlatFileReader reads data from flat files (delimited or fixed length).

    • ParallelReader reads data from delimited flat files using more threads.

    • ComplexDataReader reads data from flat files whose structure is heterogeneous or mutually dependent and it uses a GUI to achieve that.

    • MultiLevelReader reads data from flat files with a heterogeneous structure.

    Reading XML files
    • XMLExtract reads data from XML files using SAX technology.

    • XMLReader reads data from XML files using DOM technology.

    • XMLXPathReader reads data from XML files using XPath queries.

    Generally, use XMLExtract. If you require a more complex XPath queries, use XMLReader.

    Reading JSON files
    • JSONExtract reads data from JSON files. Based on SAX.

    • JSONReader reads data from JSON files using XPath queries. Based on DOM.

    Reading EDI files
    • EDIFACTReader reads data from EDIFACT files. Based on SAX.

    • X12Reader reads data from X12 files. Based on SAX.

    • HL7Reader reads data from HL7v2 files. Based on SAX.

    Reading other files
    Reading databases
    Reading other resources
    • JMS messages:

      • JMSReader converts JMS messages into data records.

    • Directory structure:

      • LDAPReader converts directory structure into data records.

    • Email messages:

    • Kafka events:

      • KafkaReader reads events (messages) from a Kafka cluster.

      • KafkaCommit commits processed offsets for Kafka topics.