What is Source Connector Inbound,Source Connector Inbound and Destination 1 Outbound in Mirth? - mirth

What is Source Connector Inbound,Source Connector Outbound and Destination 1 Outbound in Mirth means? And which case these be used.
I searched on Mirth forum but didn't get satisfactory answer.
I'm unable to sense these 3 concepts.
Any help is appreciated.

I'm not sure what the third concept is, as you repeated Source Connector Inbound twice.
In general, a Mirth Channel represents a transformation of an incoming message to one or more actions and/or outgoing messages. A channel consists of a single Source Connector and one or more Destination Connectors.
The Source Connector defines how you receive your inbound message. It could be a traditional LLP listener that is receiving messages from a client on a TCP connection, it could be a file reader which monitors an FTP site for uploaded message batches, a database reader which monitors for changed records in an EMR system, etc.
The Destination Connectors define what you do with the data or message once you have it. Destination Connectors can be given any name you choose, but the default name for the first Destination Connector in a Channel is always "Destination 1". Destination Connectors allow you to do things like save message data to a database, generate a new or transformed message that is based on the incoming message and send it by a variety of mechanisms, create a PDF or HTML document, etc.
This blog post is four years old but still provides a useful introduction to the very basics.

Related

Query message store of mirth connect

Can I use mirth connect to store millions of HL7v2 messages (pipe delimited) and query them programmatically by our third party software application at a later point of time?
What's the best way to do that? Is mirth's REST API capable to query its message store efficently?
Unfortunatly I need a running mirth connect instance to browse the REST API documentation according to the manual at page 368. (If it wouldn't require to have a running instance of mirth to browse the documentation of the REST API I wouldn't have asked that question. Is there a mirth connect instance available on the internet to play with? Or would somebody be so kind to post the relevant REST API documentation for that question?)
So far, those are the scenarios I came up yet:
Mirth is integration engine, and its strength is processing messages. Browsing historical messages can be at times difficult or slow, depending on the storage settings for the channel and whether or not you take care to pull additional information out during processing to store in "custom metadata" fields. The custom metadata fields are not indexed by default, but you can add your own (mirth supports several back-end databases, including postgres, mysql, oracle, and mssql.) Searching the message content basically involves doing a full-text search and scanning. Filter options to reduce scan time, apart from the custom metadata you create, are mostly related to the message properties (datetime received, status, etc..) and not the content.
So, I would not recommend it for the use-case you are suggesting.
However, Mirth could definitely be used to convert your messages (batched from files or live) to xml which could be put in a database designed to handle and query large volumes of xml documents. I assume when you say HL7 you mean the ER7 (pipe delimited) format of HL7v2. Mirth automatically does the conversion to xml for those types of messages as they are handled as xml during processing. You could easily create a new parent node that holds both the converted xml and the original message string as children.
If the database you choose has a JDBC driver, Java SDK, or HTTP/REST API, mirth can likely directly insert the converted messages for you as it processes them.
There are two misconceptions here:
HL7v2 message is triggered by the real-world event, called the trigger event, on the placer (sender) side. It expects some activity to happen on the filler (receiver) side by either confirming the message, replying with the query response, etc. I.e., HL7v2 supports data flow among systems.
Mirth Connect is HL7 interface engine aimed at transforming incoming feeds in one format (e.g., HL7v2 in ER7 format) into outgoing feeds in another format (which could be another HL7v2, or XML, or database, etc.). It does not store anything except a configured portion of messages for audit purposes.
Now, to implement a solution you outlined, Mirth Connect or any other transformation mechanism has to implement two flows: receive, convert if needed and store incoming messages; provide an interface to query those messages.
This is obviously can be done with Mirth Connect but your initial question if Mirth is capable in storing millions of records is incorrect. In fact it's recommended to keep as less messages as possible to speed up Mirth processing (each processed message is stored in the Mirth internal database several times depending on configuration). Thus, all transformed messages are going into the external public or private message storage exactly as shown on your diagrams.

Kafka Connect to access two sinks (ftp and sql)

I need to send files data to an ftp server using kafka connect sink, after an entire file is received by the server, I also have to sen an acknowledgment to change the status of those tasks in the db.
I would like to know what's the best way to go here, I initially thought about creating a custom ftp kafka connect which will also change the task db status.
Is it the best way to go, or are there other options here?
What's the requirement driving the need to update the status in the task database?
Off the top of my head, you could write a custom application that tracks the offset of the FTP sink vs available messages, and updates a database as needed.
Worth noting is that https://www.confluent.io/product/control-center/ can track the delivery of messages in a Kafka Connect pipeline, and alert on latencies.

How to process the webservice xml message in mirth

How to process the webservice XML message in Mirth Connect 3.x?
If I understand your question correct, you are asking for how to configure Mirth to become a Web server. It's actually easy and hard at the same time.
The easy way - create a new channel and configure the Source connector as Web Service Listener. Deploy the channel and you have a web server waiting for SOAP messages to be sent to a configured IP port. But the structure of these SOAP messages is governed by Mirth WSDL at localhost:8081/services/Mirth?wsdl.
If you want the SOAP message structure to be different then you are going to deep dive into creating your own Java class and overriding default web service methods. There is no a single answer for that, it is a completely separate topic.
I hope you are asking how to consume XML webservice message in Mirth?..
If you are receiving specifically SOAP you need to set webservice listener as your source channel listener. (as said previous answer, you will have the URL)
Go to your transformer and type the following code:
logger.info(connectorMessage.getRawData());
Once you do this you can see the data you received inside Mirth on the logger area.

How can I do point-to-point messaging in Bluemix using MQ Light?

I want to achieve point-to-point messaging in Bluemix using MQ Light.
Can I do this? I don't want to define topics, but rather have the MQ Light service be aware of the destination where the message needs to be sent.
I don't want to use the pub-sub model, instead I wish to have the messages directly delivered to the destined consumer node.js application.
How can I achieve this?
Although the addresses used by applications to send messages have a topic/pubsub style format, the MQ Light API supports the delivery of these messages in both the queue and pub/sub models. Further details for the concepts can be found here:
https://developer.ibm.com/messaging/mq-light/docs/concepts/
In summary, the style of message delivery (queued or pub/sub) is selected by the receiving application when it defines the destination it wants to receive messages from. If it specifies a 'shared destinaton' it will get queue style semantics, where each message at the destination will only be delivered to one of the applications which are receiving from that destination (e.g. who use the same shared destination). If it doesn't use a shared destination then it will receive its own copy of every message e.g. pub/sub. The sending application is the same in both cases.
As an example. If an applications sends messages to the address '/address/Q1'
If applications A, B and C all define to use a shared destination 'dest1' which is mapped to the address '/address/Q1' then any message sent to that address will be shared between them (a queue style delivery model), so only one of the apps will receive each message.
If applications A, B and C all define to use a non-shared destination which is mapped to the address '/address/Q1' then any message sent to that address will be received by all the applications (a pub/sub style delivery model).
In both cases the application can set the timeToLive for the destination to control the length of time that messages will be kept when the application is not connected. This again is commonly set differently between pub/sub and queue delivery models, but is easily controlled by the application.

Jitterbit support Microsoft Message Queue (MSMQ) as a valid source or destination?

Does Jitterbit support Microsoft Message Queue (MSMQ) as a valid source or destination?
I need to send a message to a queue have Jitterbit pick it up, process and send to another queue.
I would be interested in comments on the viability of this as an approach.
I don't see anything on their website about MSMQ.
Message queues seem to only be used internally by Jitterbit.
Looking at their wiki, Jitterbit can only accept data from, and send data to:
FTP
File Share
Database
HTTP
MSMQ does support sending messages over HTTP but not reading messages.
How about looking at using WCF+MSMQ?
Cheers
John Breakwell