Designing a Client/Server Electronic Messaging Systemby Barry Gerber
Electronic messaging (e-messaging) will be one of the key growth industries of the next decade. Store-and-forward-based e-messaging will complement and, in some cases, compete with interactive technologies like the Internet. From a business perspective, interactive systems are best for one-to-many, product marketing and distribution activities. They are most like newspapers, books, magazines and broadcast media. Store-and-forward systems also can support these sorts of activities, but they are especially suited to one-to-one and many-to-many purchasing, information distribution and decision making processes. They are most like postal mail systems and interoffice memos.
As you track through this article, keep in mind that there is more to e-messaging than e-mail. E-messaging is the use of an underlying addressing and routing infras tructure to deliver anything that can assume an electronic existence. This includes anything from a simple text message to a copy of last night's Letterman show; a budget development spreadsheet to a set of JPEG files of photos you took on last week's vacation; a purchasing request to selected articles on IBM in today's financial journals.
The Internet has received a tremendous amount of attention from all quarters, some of it actually deserved. The hot question for software vendors is: Does it support access to the Web? It's time for serious businesses to shift some of that attention to e-messaging. To that end, this article presents some guidelines for designing and implementing an e-messaging system.
Key to electronic messaging is client/server technology. The older file system-based e-mail systems just can't cut it when it comes to e-messaging. Their lack of clean security, server-based processes and efficient data access capabilities render them nearly useless for modern e-messaging applications. Thus, we will concentrate here on client/server e-messaging systems.
Throughout this article, "organization" will be used to refer to an entire enterprise: a corporation, university, civic organization and so on. "Site" will be used to refer to a subset of the organization: a geographic area, a department and so on. It is also assumed that, no matter what the product, all of the users of an e-messaging system will have a home messaging server where their messages are stored and where they connect to process their messages.
The Importance of Design
Design is important in the implementation of any system. With e-messaging systems it is particularly important because they are especially complex. They involve all of the traditional data processing disciplines: computing and networking hardware, and software infrastructure, application development environments and application design and implementation.
Though e-messagin g products are becoming increasingly open, it's still difficult to find a single e-messaging product that can run on top of the myriad computing platforms and networking systems found in most organizations. This leads to a number of questions:
What to do about the number of e-messaging products currently in place: Integrate, migrate with some deliberation to a single product or simply replace everything with that product right now?
What networking and e-messaging protocols make the best sense for both internal and external links? How do these mesh with protocols currently in use?
Is there enough bandwidth on current networks?
What sorts of new MIS staff, software, hardware and networking capability will be required to make an effective e-messaging system work?
What will it cost to solve existing infrastructure problems?
On the application development front, things aren't much better. Many organizations are still striving mightily to migrate flat-file applications to client/server database management systems. As compelling as it may be from a business perspective, adding e-messaging infrastructure and application development based on it to this mix often seems like the straw that will surely break the camel's back. The question on everyone's lips is, can MIS and the corporate coffers bear yet another demanding and costly major technological upgrade?
MIS and corporate managers find themselves faced with the following set of realities and consequences:
Reality: More exciting application options
Consequence: More systems analysts, programmers and end-user time to develop applications
Reality: More functionality and productivity on the end-user side
Consequence: More end- user training and support
Reality: More complex systems and, consequently, more that can go wrong
Consequence: More technical managers
Careful design, which means careful planning, is the only way to deal effectively with the unknowns and fears that accompany a move to any new system. Getting all of the cards on the table as soon as possible not only makes the initial go or no-go decision easier, it also makes it easier down the road when the inevitable "Why do we need that? Did we plan for that? Can we afford it?" questions arise.
A Twelve-Step Client/Server E-Messaging Design Process
The design process used here is based very loosely on an eleven-step process Microsoft recommends for its Exchange Server product. The Exchange Server-specific components of this process have been removed. The steps have also been modified to reflect a wide range of computing and networking hardware and software options. In addition, a section on e-messaging product selection has been added.
The twelve-step e-messaging design process is:
1. Assess your organization's needs
2. Assess the geographical distribution of users, computers and networks in your organization
3. Assess your organization's existing network
4. Ensure E-messaging System Security
5. Select e-messaging software
6. Establish e-messaging naming conventions
7. Design servers and client connections to them
8. Decide where e-messaging servers will be located
9. Decide how you will link e-messaging servers inside your organization
10. Decide how you will link your organization to external e-messaging systems
11. Validate and optimize your design
12. Roll out your plan
Design is Iterative, Not Linear
As you move through the twelve steps, remember that designing an e-messaging system is not a linear process. It's iterative. You will find yourself coming back to each step to gather new information, to reinterpret information you have already gathered and to gather even more information based on those reinterpretations. New information is likely to lead to design chang es and further iterations. Even after you have fully implemented your e-messaging system, you will come back to steps in the design process as problems arise or your organization changes.
Within reason, the more iterations you go through, the better your final design will be. However, take care not to use iteration as a route to procrastination. Whatever you do, pick an e-messaging system and start running it as soon as you can, if only in a limited test environment.
White PapersMore White Papers