Step Three

Determine the criteria for choosing a solution and making the build-or-buy decisions for each desired CRM function.

A key consideration in your CRM quest is how each audience or group of users will interact with the systems you build. For example, internal and external clients require different levels of password-protected access to information and different standards for interface or connectivity.

Here are the main customer requirements for architecture that are important to consider:


Uptime is everything. Make sure your provider has adequate provisions for a framework for an IT infrastructure that includes redundancy and failover of Web services to keep your CRM application running, even when individual hardware failures occur. These systems are most important for call centers and other customer-service information applications (such as your Web site) that might be customer-facing on a 24-hour basis.


All companies want to grow. Instead of scaling up by buying bigger and more expensive hardware, you should be able to scale in two ways. The first, called scaling vertically, means simply upgrading the current hardware that's in place by adding additional CPUs, more RAM or adding additional hard-disk space. The second method is called horizontal scaling, which is achieved by adding machines and then distributing processing requirements across all machines. The modular nature of Web-based services creates an environment in which you quickly and cost-effectively can scale up your enterprise application by upgrading existing hardware or adding machines and then distributing the application across multiple servers. Scalability might be the greatest requirement for a phased CRM project.


Companies need access options to support a variety of user types. For example, they may be on a LAN, WAN, or part of a remote office with access to the corporate network via long-distance dial-up lines, frame relay, or VPN. Sales teams often need to connect remotely to the salesforce automation system on the corporate network.. In the case of the remote user, the Internet is usually the easiest way to connect. Other types of users, including field sales and service technicians, need to download information and take it to the field, while continuing to enter additional data. They need to synchronize their mobile machines with the corporate network, in which case client-side processing is probably the most advantageous.


It is preferable to be able to change existing capabilities to support your work flow, changing the business rules to ensure your processes are followed, or vice versa. Ideally, you should be able to create trigger events in the system that automatically notify other applications to run under certain conditions. For example, when a customer orders a particularly large order that changes their status in your system, perhaps moving them into a new category of customer, they should get special rates or other treatment. The ability to build the business rules into the system so that r the new rules can be identified over time is essential to a closed-loop process of collecting and applying prospect and customer information.

Rich user experience

Many of your prospects and customers are looking for advanced functionality with intuitive workflow and simple navigation. You may find that your internal clients are more likely to use a Windows-style interface and the external clients may need a browser-based interface. For customer self-service and partner portals, browser-based interfaces make the most sense because they can be accessed from any HTML compliant browser. Knowing how the intended audience will use your system will influence how you create navigation that fits into their work flow. Knowing how each category of user will connect to the system will affect your decision to serve applications over the Web or to use a smart client with the ability to leverage client-side processing ,thereby reducing the number of server "round trips." This efficient use of bandwidth improves both performance and the user experience.


It might seem obvious, but worth stating: a modular approach typically is an affordable approach. Modularity helps in planning for funding the CRM initiative by budgeting for each phase over time. More importantly, however, is the ability of a modular implementation to shift gears as discoveries are made along the way that require adjustments. Costly mistakes are avoided, and nonessential work is minimized. A key factor in keeping any CRM project affordable is to be able to initially deploy on a single server and then scale by adding inexpensive hardware - rather than replacing the initial server with one that is more expensive. Second, the use of standard Microsoft servers will make finding skilled and experienced administrators easier and less expensive. Microsoft provides easy access to certification programs, and local training centers often offer matching services to track down certified professionals with the skills you need.


The need for secure systems will never go away. The more open your system is to customers and partners, the more vulnerable it is. This is a topic worthy of an entire special report , but here are the highlights of factors to consider:

Infrastructure security

  • Use of a secure facility for all servers.
  • Front- and back-end networks with the "back-end" network completely isolated from the public.
  • Read-only file systems separate from the public server.
  • Careful selection of the applications that will run on the server.
  • Use of only encrypted protocols for maintaining a server.
  • "Signature" checking for system binaries.
  • Port scanning of all open ports on the machine.
  • Firewall.

In addition to the above initial set-up items, there should be a plan in place to maintain and monitor security over time. Here are a few tips :

  • Keeping a system properly patched. It should be noted that routine patching for nonsecurity reasons could open new security holes.
  • Monitoring of security bulletins from a variety of sources - New vulnerabilities are always being discovered and have to be dealt with.
  • Intrusion detection - Monitoring all traffic in stealth mode looking for patterns typical of hacking.

Application security

In keeping data secure, no amount of infrastructure security helps if you don't control access to your application. Application security makes sure that specific users, both within your company and your customers, get to see only the data they are authorized to access. To enforce application security Ceonex uses these techniques:

  • Encrypted communications - all packets containing sensitive data are encrypted.
  • Authentication - an application must be able to trust that it is speaking with an authenticated user.
  • Security integral to the application - once you are sure you can identify a user, you have to control their access to particular features and data. Don't rely on browser authentication when checking to see if a user is authorized for a specific function.
  • Message passing to isolate the database server - this is a common technique used in high security applications such as those employed by banks. It adds a layer of complexity and cost-and security.



PixelBrick (Ceonex, Inc.) stayed on schedule and on budget... to release the project ahead of schedule! We look forward to working with PixelBrick (Ceonex, Inc.) on future projects.

Keith Gill,
Vice President,
Marketel Systems LTD.


...outstanding design work and timely implementation...a fabulous website that accurately captures both our mission and spirit...

W. Michael Draper,
NetworkWorld, Inc.


Ceonex - scalable  business  solutions