4 Replies Latest reply on Feb 28, 2005 7:10 AM by andrew cooke

    Interfacing other languages

    andrew cooke Newbie

      Hi,I need to integrate a bunch of different applications/languages together (scientific computing, so this is Fortran, Python, C as well as Java). Looking around, I can't find any free support for doing this via JMS. The closest I've got is a free download at BEA that uses JNI to provide a C interface (Sun and IBM have non-free solutions of course).This sounds like it would be very common, so I've been googling and reading your FAQs, but haven't found anything. Apologies if I've missed something (I, too, would prefer you to be writing code).So I have the following questions:Has anyone tried interfacing non-Java apps to JMS (esp JBossMQ)?If so, how (JNI? Simple protocol over TCP ports to Java? Talking directly to JBossMQ ports?)?Are there any libraries or documentation iavailable?Will this be addressed in the new/rewrite implementation? (if so, can you give an estimate of the timeframe)?I've written JNI interfaces before, so can go down that route if necessary. But I'm convinced I must be duplicating effort. Surely not everyone can afford IBM MQ?!Thanks (and thanks for JBoss),Andrew

        • 1. Re: Interfacing other languages
          Adrian Brock Master

          I'm tempted to put this in the FAQ

          Use RMI/IIOP (corba) or webservices/.NET to access to an EJB
          and put your jms operations in a stateless bean like the examples on the WIKI.

          This does not solve the problem if you want to do MessageListener type processing.

          • 2. Re: Interfacing other languages
            andrew cooke Newbie

             

            "adrian@jboss.org" wrote:
            I'm tempted to put this in the FAQ
            Please do! (and thanks for replying).
            "adrian@jboss.org" wrote:
            Use RMI/IIOP (corba) or webservices/.NET to access to an EJB and put your jms operations in a stateless bean like the examples on the WIKI.

            This does not solve the problem if you want to do MessageListener type processing.
            This is already over my head. I will go away and read up on Adaptors and CORBA. I believe you're saying the "bridge" is only one-way; if that is the case then it's not sufficient for what we want (we want separate components to subscribe to certain topics and react to messages on those topics). But as I said, I don't fully understand; does a full JMS/CORBA bridge not exist? Bleagh, I'm going round in circles and wasting your time. I will go and read more. Thanks again.For reference, the Wiki links seem to be ConfigRMIIL and UsingTheRMIAdaptor.

            • 3. Re: Interfacing other languages
              Steven Peh Newbie

              Just another opinion, you can use message queues (since this is the JMS forum) to communicate with the microsoft world (vb, vc++, etc) using JMS. There's a JMS to MSMQ bridge somewhere online that you can download, i dont remember where (try googling for it), and it allows your java code to read/write to msmq so you can pass messages between java and microsoft apps.

              • 4. Re: Interfacing other languages
                andrew cooke Newbie

                thanks. to follow up on my previous comment, there does appear to be a free jms/corba bridge (well, more a jms implementation that also talks corba) - openfusion. so another solution is to replace the jms in jboss with openfusion and then use corba for the legacy components. as far as i can tell, this would be completely symmetric (legacy solutions can listen for and send corba messages; ejbs can listen for and send jms messages).