We have been developing Web Based (n) Tier Client Server applications for Fortune 100 corporations for well over 10 years. Utilizing the following technologies, we have been able to produce sophisticated applications supporting a broad spectrum of business needs:
| GUI | |
| Java: | With Java applets at the user interface, we have been able to product high performance, data aware applications supporting sophisticated data processing capabilities at the user end. One of our guiding principles is to put usable data in the hands of the user. This frequently means that the application has to be able to directly generate Excel(tm) spreadsheets, Presentation quality graphics, etc. as an integral function of the user interface. |
| (D)HTML | For applications, or elements of applications, with less functionality required at the user interface we will develop with standard HTML with JavaScript supporting whatever dynamic functionality is required for logic flow, data verification, etc. This, coupled with appropriate Middle Tier services can support a wide variety of functional needs. |
| Middle Tier | |
| ASP.Net, | Any of these three technologies pairs well with Java Applets or (D)HTML for development of web based services. We select from among these applications for the middle tier based on a variety of factors, primary among them being the customers existing infrastructure. |
| J2EE, | |
| Cold Fusion | |
| Data Tier | |
|
MS SQL, Oracle, MySQL |
Each of these is in itself a perfectly acceptable database server. Here again the prime factor in the selection of the database server lies in the customer's current infrastructure. All things being equal, we are likely to recommend MS SQL Server. It has been our experience that this option offers a lower total cost of ownership when all items are factored in. |
Case Studies
A Fortune 25 company had extensive quality control measures on all aspects of their customer facing processes: Sales, Provisioning, Maintenance and Billing. Unfortunately, these were all 'Smoke Stack' views of the individual processes with no method available to address a customers overall experience with the company. We were brought in to devise and implement a method whereby we could produce a more holistic view of any customers experience with our client. To this end, we developed an application whereby all these various aspects of the Customer/Client interface were brought into one Data Warehouse, and the user could dynamically produce reports quantifying the customers total experience.
| Key design criteria included: | ||
|
Customer Definition |
Our clients definition of a 'Customer' varied at several levels. In some cases different subsidiaries of some companies were listed as individual companies, in some cases not. In some cases we wanted to preserve this differentiation, in some cases we wanted to be able to combine across subsidiaries. | |
|
Solution |
We introduced the notion of a 'virtual company'. Part of the application enabled the user to combine distinct entries from the raw customer list into a virtual company. This virtual company could be all subsidiaries of a conglomerate, or as it was later used, all companies of a certain size or in a certain industry segment. All of this information was stored in the database at the user level | |
| Disparate Data Sources | Data for the individual processes came from different sources. Some were available in external databases for ad-hoc querying, others resided on legacy systems where extraction was required. | |
|
Solution
|
We implemented a mixed solution where some of the data resided on our application server and others were dynamically queried from their native systems. We ultimately ended up with data provided via e-mail, some were provided via FTP, and others required the sneaker net. These were all processed locally, with extensive inter-database consistency checks implemented | |
|
Data Intensive End User requirements |
As the utilization of this system expanded, the requirements on the data accessibility at the user's end increased. With Java applets we enabled the end users to locally create and store Excel spreadsheets containing the dynamically generated results, Presentation quality graphics could be stored in a variety of formats, and automated email of results was also enabled | |