InfoQ

News

Article: Application Integration Through Mail Servers

Posted by Abel Avram on Dec 19, 2008 04:06 AM

Community
SOA
Topics
ESB
Tags
Apache ,
Mail ,
Mule

In this article, a book excerpt from Open Source ESB in Action, Tijs Rademakers and Jos Dirksen present a way of integrating applications through mail servers when speed and performance are not paramount. The article shows how to use SMTP and POP3 protocols from Mule and ServiceMix to communicate back and forth with Apache James, an open source mail server.

Read: Application Integration Through Mail Servers

Come on guys. This is stupid. Why would anyone want to go through all this by John Wheeler Posted Dec 18, 2008 7:43 PM
Re: Come on guys. This is stupid. Why would anyone want to go through all t by Andreas Breiter Posted Dec 19, 2008 4:24 AM
Re: Come on guys. This is stupid. Why would anyone want to go through all t by Gregor Rosenauer Posted Dec 19, 2008 8:36 AM
Re: Come on guys. This is stupid. Why would anyone want to go through all t by Christophe Hamerling Posted Dec 19, 2008 8:58 AM
Re: Come on guys. This is stupid. Why would anyone want to go through all t by John Wheeler Posted Dec 19, 2008 11:46 PM
Re: Come on guys. This is stupid. Why would anyone want to go through all t by Dan Doyon Posted Dec 21, 2008 3:46 PM
Re: Come on guys. This is stupid. Why would anyone want to go through all t by Porter Woodward Posted Feb 13, 2009 12:29 PM
Message Broker by Bob G Posted Dec 21, 2008 10:01 AM
  1. trouble to make something so slow and convoluted work

  2. Because it works, is easy to implement and every company has a mail server. We use e-mail and SMS to interface with Lufthansa. We only get sporadically messages and they already had it, so there was no need to re-invent the wheel...

  3. Imagine human workflows or HumanTask's - you get an incident message, work on it, and when done, forward it to the "done"-box, from where the system picks it up and continues... Or mobile services where users interact with the system via SMS or e-mail. There are many useful applications for such a scenario. I own the book and can highly recommend it.

  4. I really think that you do not understand SOA... This article is just an introduction of what you can do with ESBs. Of course you can say why do I need an ESB and tons of configuration to send an email but SOA and ESBs are not limited to that simple case!

  5. I wouldn't go so far as to say any of this is "easy". It seems complicated and convoluted. If performance and speed aren't issues, then why not just opt for standard messaging as to get the fault tolerance along with it? I could be wrong, but at first glance, this integration approach seems redundant, more complicated, and if I saw it in the wild, I'd probably assume developers were just over complicating things for fun and profit like some of us unfortunately sometimes do. As far as Gregor's use case goes, I am assuming this can be used instead of something like OSWorkflow, but you'd have to manually program the workflow since all this buys you is the work baskets essentially.

  6. Back to top

    Message Broker

    Dec 21, 2008 10:01 AM by Bob G

    Hello, Although this example seems a bit naïve, it does provide some good functionalities out-of-the box. Before implementing a full blown JMS solution, we might have to consider the followings: - Most of JMS brokers do not provide any centralized message auditing out-of-the-box (i.e. saving all message content that went through a queue). It is built-in a Mail server with archiving etc. -When it comes time to view ,sort, move, copy messages, don’t count on a WebsphereMQ client tools to help you. Using an email server you can leverage the use of a good email client to interact with your messages. -Everybody knows how to send an email. Sending MQ messages using JMS (without Spring) is not the easiest task. That said, if you are building an enterprise solution (with time, skills and money), you might consider other approaches. Cheers

  7. I recently worked on a project where we needed to connect a couple of systems and decided to use existing exchange server (IMAP accounts) and a few python scripts for the glue. It turned out to be a nice way of doing things. We got a free gui (outlook), it was easily unit testable. When the mail server was down for maintenance, no problem, things just resumed when it came back up. Was it an elegant solution? Depends on who you ask. Durable? It did have a little brittleness but easily traceable. At the end of the day, we got it running quite quickly. It required little interaction from a subsystem we treated as a blackbox. If the need to replace with a more durable, sophisticated messaging construct is required the scaffolding in place. my 2 cents

  8. Well, the example is trivial. It's just intended to show off how to send/receive mail messages in the most basic sense. Keep in mind though - that once that information is sent/received - there's potentially a lot you could do with it. How about building a photo posting service? Just email your photo from your cell phone and it gets posted to your online photo album. One of the nice things that an ESB can do for you is abstract away the protocol details. Your core application for handling the posting of a picture to the album doesn't change... And it then becomes pretty easy to introduce new end-points (email, web forms, sms, ftp, etc) without writing much (if any) new code.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.