Overview Of Technical Architecture

The following architectural overview is intended to introduce some of the technical design principles and component selection criteria, as well as provide you with a high-level understanding of the implementation strategy behind the DigitalAgency™ System.

DigitalAgency™ is a three-tiered solution. Application servers combined with a transaction processing solution provides functionality such as load balancing, failover, a common API for supporting multiple DBMS vendors, replication/distribution of data across multiple application servers, and transaction monitoring.

The application was constructed by integrating commercially available components such as function libraries where possible, fourth generation high productivity "GUI-builders", and custom coding where required. Each of these choices contributes directly to the key technical goals identified above by encouraging flexibility, ease of maintenance, rapid change, and scalability of the solution.

Key Architectural Goals

DigitalAgency™ is an open, scaleable, easily enhanced system which can be used to support its users and which can be extended to incorporate emerging needs in the future. To promote the highest levels of scalability, extensibility and maintainability, the Evero team proposes to emphasize these architectural goals:
  • Relational database to promote maintainability through data independence. Normalization provides greater maintainability, but to meet performance objectives, a database schema must frequently undergo a degree of de-normalization.
  • Object orientation to enable incremental development, encourage re-use, promote consistency, compress development time, manage complexity and to simplify implementation of change. In DigitalAgency™ most of the advantages to be gained from object orientation lie in the user interface components;
  • Layered architecture to separate data, business logic and presentation components, thus limiting the impact of changes required to incorporate different components into the open architecture;
  • Standards and Standard Interfaces: Well-defined ways of interacting between different functional layers of an application promote re-usability, ease of modification and adaptation, and portability. They make it possible to "swap out" and replace piece parts, and generally encourage the longevity of the application. Standards include guidelines and APIs defined by an organization for general use in its systems; de facto standards observed by the industry in general through strength of the vendor's market presence; and formal standards promulgated by industry, national and international standards bodies.

Client Applications

The various modules of DigitalAgency™ consist of robust functionality and restricted views of the data that will be distributed to all participating providers. Designated administrators as well as select operational staff will have a richer variety of functions and controlled access to all non-system data in the database.

The implementation of the user interface will utilize standard features of the Windows graphical user interface (GUI) to present information for easy review and update. In general, the use of Microsoft's Windows graphical environment provides the designers of the user interface with the tools necessary to refine or meet additional navigational and ergonomic requirements gathered during analysis.

Citrix Presentation Server

According to Citrix Systems the Citrix Presentation Server provides organizations of all sizes with the following benefits:

Cost-Effective Application Management: Citrix for Windows Servers lowers administration costs by giving an IS/IT professional central administration of applications such as DigitalAgency™. Without Citrix, upgrading the desktop software requires the IT administrator to manually install or upgrade the user’s software, or hope the user can upgrade their own applications.

Relying on the end user to upgrade or install their own applications can result in uncertain and unreliable results. All these issues can be avoided by deploying Citrix.

It takes substantial time and coordination to administer desktop applications, especially for remotely located desktops or branch office environments. Relying on the end user to upgrade or install their own applications can result in uncertain and unreliable results. All these issues can be avoided by deploying Citrix. The IT administrator only needs to upgrade the application on the server side, resulting in easier, faster and more reliable application management.

DigitalAgency™: With the configuration of DigitalAgency™ on Citrix, the internal staff and remote users will have access to the information they need. Citrix will allow the remote user to have the same functionality as those users at the office. From any location, the remote user will have access to DigitalAgency™ with the capabilities of accessing, editing and updating records, generating reports and printing them at their remote location. Citrix will also allow for remote support of the entire computer network and more importantly the DigitalAgency™ environment.

Reduced Client Hardware Costs: Since all of the processing and storage occurs at the server, the requirements for client devices are minimal. Client devices can be anything from a thin client to a fully configured Personal Computer. The Citrix Secure Access Manager browser plug-in supports thinner client deployments than the full Citrix ICA client. By letting users access current applications on hardware that might otherwise be of little use, Citrix can help organizations extend the useful life of older machines. Using Citrix also gives companies great flexibility if they are planning to upgrade their desktop hardware because it can now be accomplished in easily managed phases.

Better Performance: Users who access applications over the Internet will also benefit greatly from using Citrix. If a remote user is accessing a multi-user database, like DigitalAgency™, over a slow LAN or the Internet, the performance can be very sluggish; all of the data that the client requests (layout, script, data, etc.) needs to transmit through the network and cached on the local machine. In a Citrix environment, the mouse and keyboard commands are the only things that need to transmit through the network, therefore greatly reducing overall bandwidth utilization.