20070927 Thursday September 27, 2007

Saying Goodbye to Friends & Coworkers

Four really great writers and super people are leaving our Communications Technical Docs Team..

  • Doreen Kasson - Super-sweet mother of two.. She and I been working around Comms for nearly 10 yrs.
  • Nancy Cheney - She's been managing out Communications Documentation Team.
  • Bonnie Quigg - She's been a great writer for our Calendar Server product.
  • Shami Kini - Our Doc writer working from Los Angeles

Also saying good bye to another friend from our Portal Server Team is Wayne Gifford. He and I been finding ourselves in strange places around the world. Never going to forget sharing a dinner with him at a Tibet Restaurant in Beijing. He's a lot of fun.

These are great people.. I'm sure the industry (and the world) is going to benefit from having them available to work on some really great products.

Cheers! God Bless!

Jon

( Sep 27 2007, 06:32:27 PM PDT ) Permalink del.icio.us technorati digg Comments [3]
20070925 Tuesday September 25, 2007

Sun Java Instant Messaging Server and J2EE

The ServerSide has a great article on how to integrate "Presence" into your J2EE environment. This paper is a pretty good overview. Presence provides a mechanism for business applications to communicate the availability of users. The most obvious example is Internet Chat. You can see if someone is "offline", "online", or "busy." You could also extend this to write a phone switch, an escalation business workflow, or many other applications.

I would add to this paper that the Sun Java Instant Messaging Server provides the same XMPP functionality. The Sun Java Message Queue also provides the JMS functionality.

ServerSide Article "Integrating Presence in J2EE" by John Georgiadis

Technorati Tags: , , , ,

( Sep 25 2007, 01:23:31 PM PDT ) Permalink del.icio.us technorati digg

Directory Server 5.2 Patch 6 Released

Ludo's Blog is announcing the release of Patch 6 for Directory Server 5.2. I'm aware that many of our Messaging Server customers are still on this release.

Technorati Tags:

( Sep 25 2007, 01:23:17 PM PDT ) Permalink del.icio.us technorati digg

Need Intel-based Systems.. ok Sun's got those!

Today Sun announced Tucani, our new Sun Fire X4450 Server. Based on Intel Xeon 7200/7300 Series. The 7200-series provides dual cores, and the 7300 provides quad cores.

Technorati Tags: ,

( Sep 25 2007, 01:18:36 PM PDT ) Permalink del.icio.us technorati digg
20070921 Friday September 21, 2007

How Email Works (part 2): Intro to the Sun MTA

Last week.. We covered the "high level" explanation of "How Email Works." If you like, I suggest you read my last post before you read this.

See my last post in this series.. Introduction to Sun Messaging Server : How Email Works

This week we are looking at the MTA. The Mail Transport Agent (MTA) is a critical part of the Sun Java Messaging Server. The MTA's function is to transport messages to either other computers or to user applications. The question is now, how does the message go from one MTA to another MTA.

A Quick Review from Last Time..

Nearly all of us have written a email in our day to day life. When we click the "send" button on our email software, the message disappears and "hopefully" appears in someone else's email mailbox. On the setup of our Email Software, we are asked for an SMTP Server. The SMTP Server (or MTA-Outbound) provides (#1) the initial acceptance of the message from the author of the email.

Once the email has been accepted by the MTA-Outbound. The MTA will then evaluate the message recipient's address. If the recipient is not local to the MTA, the MTA will attempt to deliver the message to another site.

The recipient address of "jonathan@siroe.com" has two parts. The first is the user part which is "jonathan." The second part is the domain part which is the "siroe.com." If the domain part does not equal the MTA Server's local settings, it then decides that the message must be delivered to another site (#2). The address of the site is looked up using the MX DNS Record to find the IP Address of that site. This allows the MTA-Outbound to create an SMTP Connection to the Remote Site's MTA-Inbound.

200709211532

Figure 1 - Example of a User from one site sending an email to a User at another Site

The MTA-Inbound handles all incoming requests (#3) from the Internet. It takes the SMTP connections, and validates the email message's "user address" as a valid user. If the user is valid, it writes the message to its internal message queues. If the user is invalid, it may reject the message. In the Sun Java Messaging Server, we validate the email user addresses using our Sun Java Directory Server.

The MTA must place messages "in transit" in a message queue. The purpose of this message queue is to protect the message from potential system failures, such as loss of power. Only when the message is successfully committed to a message queue will the MTA confirm that it accepted the email message. The example here is.. When you drop off a letter at the local Post Office, you have a reasonable assumption that the Post Office will accept responsibility of the delivery of that message.

After the message has been written to a Message Queue, the MTA will then dequeue the message. The message will be dequeued to either 1) deliver to another site or 2) be delivered into the Message Store. In this case, the MTA-Inbound will evaluate the email address in the Directory Server, and then deliver the message to another server. The Sun Java Messaging Server will deliver to local Messaging Servers using Sun's version of LMTP.

Messaging Server Internals

Now let's look at how the Sun Java Messaging Server does the above from the "inside." (Figure 2) The MTA is a major portion of the Messaging Server. This is because it implements a "channel-based" architecture. The channel-based architecture allows the MTA to provide extensive processing and routing of messages that pass through its system.

200709032311
Figure 2 - Overview of the Internals of the Sun Java Messaging Server

The above picture (Figure 2) provides the highlights of the Messaging Server. The key components of the Messaging Server are the MTA (discussed in this article), the Message Store, and the Access Services (IMAP, POP3, and WebMail).

200709032101

Figure 3 - Initial state where the MTA's Dispatcher starts SMTP_SERVER Processes

For our discussion, we can consider the initial state of the MTA to look like Figure 3. The Dispatcher (a maintenance process) will start up a number of system processes (SMTP_SERVER) to listen to TCP/IP ports. In this case, the processes are setup to listen to port 25 (SMTP) and port 443 (SMTP w/ SSL).

200709032337
Figure 4 - Incoming SMTP Connections connect to the SMTP_SERVER Processes

As other servers and email programs connect to the MTA using SMTP, the multiple connections are handled by the SMTP_SERVER processes. As a connection is established, the client will attempt to start a SMTP session. This SMTP session includes the author's email address (FROM address), the receiver's address(es) (TO address), and the actual email itself.

200709032337-1

Figure 5 - SMTP Session provides addressing information. This is evaluated by the Mappings Table and Rewrite Rules.

Once the FROM address and the TO address is given, the MTA will then assign channels to each of these addresses. These will be the SOURCE Channel and the DESTINATION Channel. The MTA will also track the SOURCE Channel of the connection's IP Address. This process of Channel assignment is based on the rewrite rules provided in the MTA's configuration files. (imta.cnf)

200709032337-2
Figure 6 - Channel's Architecture. Slave Process (enqueues) messages to a Queue. Master Process (dequeues) is assigned to service (dequeue) a Message Queue.

The above figure 6 shows an example "channel-based" architecture. The slave process is the SMTP_SERVER which enqueues the message into the message queue.

200709032338r
Figure 7 - Evaluation of addresses assign the message to be written to disk on a Message Queue file system.

200709032338-1

Figure 8 - Messages in the Message Queue are then dequeued and processed by a Master Process.

Additional Reading:
1. Sun Java System Messaging Server 6.3 Administration Reference, http://docs.sun.com/app/docs/doc/819-4429
test

Technorati Tags: , , , , ,

( Sep 21 2007, 03:47:28 PM PDT ) Permalink del.icio.us technorati digg
20070920 Thursday September 20, 2007

Mobile Phones Agree on Power/Data Cable Standards

Hopefully this agreement will help end the nightmare of cables to power different cell phones. This agreement makes Micro-USB to be the mobile phone standard for Data and Power connections. I'd give it two years before some of these phones show up.

ZDNet: Micro-USB to be phone-charger standard

Technorati Tags:

( Sep 20 2007, 01:52:48 PM PDT ) Permalink del.icio.us technorati digg
20070910 Monday September 10, 2007

various pictures around Singapore

1353567999 A9Fe5821Fc

After 5 trips to Singapore.. I've finally got a picture in front of the Merlion.

1353556523 C730A24200

Spent a day out at Sentosa Island..

Technorati Tags:

( Sep 10 2007, 12:51:05 AM PDT ) Permalink del.icio.us technorati digg Comments [1]
20070903 Monday September 03, 2007

various pictures around Bangalore

DSCN0275
Travel.. ain't it "fun"

DSCN0286

Want to buy a rug.. "cheap"

DSCN0333

Bangalore Raja Palace? or Wedding/Movie location?

DSCN0283

Another Government Building

DSCN0354

Temple

DSCN0277
My Driver for the Week.. Royal Orchard Hotel

Technorati Tags:

( Sep 03 2007, 07:12:47 PM PDT ) Permalink del.icio.us technorati digg