tion platform. This white paper examines the common requirements for Web application servers, and discusses the advantages offered by the 4th Dimension product line.
WEB APPLICATION SERVERS
Web applications are usually comprised of three com-ponents: the Web server, which handles the HTTP requests from Web browsers, the application server, which executes the programming logic and business rules which define the application, and the database server, which performs all queries, modifications, and other data management tasks. The most important item for the successful deployment of a Web application is the integration of these three components. In addition to integration, other important factors are scalability, openness, and security. Scalability is an extremely important feature. As the data throughput needs increase, scalability guarantees that the solution can always be expanded to provide consistently high per-formance. Linked to scalability is openness, or having an Open Solution to allow the use of "best of breed" tech-nology at each tier, since a particular solution that best fits your needs today does not necessarily mean that it will optimally serve your needs in the future. Think of the Web as a shop window to the world, and as such, it is open to anyone who wishes to throw a "virtual brick." Of course, as the Web world is one that demands imme-diate change, the application environment must be one that is flexible, allowing developers to create and main-tain applications at lightning speed. In addition, all of these features must be possible at a cost that fits your budget, not just for the up-front implementation costs, but also throughout many years of use.
"From day one PowerSchool has used 4D extensively, and we consider it a uniquely powerful tool for both develop-ment and deploydevelop-ment that has given us a tremendously huge competitive advantage in our market. Frankly, we've pulled far ahead of our competitors on many fronts and
tool set."
— Greg Porter, President and CEO of PowerSchool, Inc.
SCALABILITY
4D’s Web platform is one of the most scalable platforms on the market today.
4D Web solutions can start with all three tiers (Web server, application server, database server) in one soft-ware application on one machine (Figure 1). Not only is this an inexpensive solution for small businesses or workgroups, but it is also extremely convenient for developers to test their solution at their home offices or on their laptops without the need for hardware config-urations that are expensive and difficult to configure.
As data throughput needs increase, extra performance can be garnered by offloading the Web server to a dif-ferent machine (Figure 2). For example, by using 4D WebSTAR on one machine and 4D on the second, the processing of all static pages such as images, is isolated from the processing required for application and data-base tasks. As 4D WebSTAR V’s current WebBench test-ing results show that it can handle over 1000 connec-tions per second, a significant gain in performance can be achieved by moving this processing onto a separate machine. No changes in the application are necessary to make this transition from a single machine to dual machine architecture.
4D T E C H N O L O G Y W H I T E P A P E R
4D as a Web Application Platform
For larger sites, further throughput can be gained by also splitting the application and database processing onto separate machines (Figure 3). Once again, thanks to 4D’s flexible architecture, this can be achieved with no changes to the application programming.
As site traffic grows, fault tolerance and load balancing become necessary to ensure consistent throughput. Again, the 4D platform provides this capability, allowing the addition of both Web servers and application servers. Because of 4D’s unique application program-ming push mechanism, changes made to the application are distributed to all the application servers automati-cally, ensuring that the same application is installed on
all of the application servers (Figure 4).
INTEGRATION
4D’s unique integrated architecture allows the building of Web applications that scale from one tier to three tier architectures without any change in application coding. In addition, we have seen that because of the integra-tion between the applicaintegra-tion server and the database server, the most recent version of the application is automatically distributed. As the application server and the database server’s stored procedures are pro-grammed using the same language, code can be parti-tioned between the database server and the application server when the developer sees fit. ( This can be
Figure 2
Figure 3
achieved by adding a single command to the application) (Figure 5).
4D’s integrated architecture not only supports the parti-tioning code between the application server and the database server, but it also supports code that can be partitioned across application servers (Figure 6). This is convenient for setting up application servers for specific tasks, such as a report server.
OPEN
A critical factor for all Web platforms is whether the architecture supports the addition of other vendors’ products. The 4D Web platform allows for the substitu-tion of each tier by a third-party product. Some exam-ples are shown here.
In Figure 7, we see that Microsoft’s IIS can be substituted for 4D WebSTAR as the Web server.
In Figure 8, we see that we can substitute TomCat (the
Figure 6
Figure 7
4D T E C H N O L O G Y W H I T E P A P E R
4D as a Web Application Platform
Open Source JSP Server) for the 4D application server. In Figure 9, we see that with some additional coding, 4D’s application server can use Oracle via native Oracle API drivers or any ODBC data source as the
server.
SECURITY
Security on the Web is an extremely important topic. There has been considerable publicity about companies who have had their Web server security breached. 4D and WebSTAR are extremely secure Web servers, and this has been further validated by the US Army’s choice of 4D WebSTAR for www.army.mil. In 4D’s Web platform, all communications (between all three tiers) can be trans-mitted securely using the standard 128-bit SSL protocol. However, even more impressive is the fact that sensitive data such as medical information, credit cards, financial transactions, etc. can be stored using the same strong encryption system. Even if hackers break into the serv-er’s hard disk, they cannot utilize the data.
DEVELOPMENT ENVIRONMENT
Today, Web development tools are actually divided into two camps: the scripting side, notably led by Microsoft with their ASP architecture, and the tag side, led by Allaire with Cold Fusion.
Scripting architectures allow developers to write script in the HTML pages which is then processed by a server-side parser. This architecture can be very flexible, as developers can write script to do almost anything. However, there are a number of disadvantages to this approach. Since scripting is done within HTML code, it does not really support the separation of Web page design tasks from application development activity. Changes to the way the applications look and feel almost invariably require involvement from a member of the programming team. Another major disadvantage is that scripts are usually stored as text files on the hard disk and can be easily changed or removed by the cus-tomer. In the case of vertical market developers with hundreds of sites, this can lead to severe support issues. An additional problem is that scripts are subject to
run-time interpretation, and are invariably much slower than compiled environments. The final issue is that the devel-opment environments for scripts are similar to the development tools environments from fifteen years ago, lacking an IDE and integrated debugger, and conse-quently making development expensive and unproduc-tive.
Another popular development environment is one based on extending the HTML tag language. Custom Tags are used to extend HTML. These custom tags are preprocessed on the server side before being sent back to the Web server. Tag architecture supports the separa-tion of the labor between the Web designer and the application developer. This allows people to focus on the work that they are trained to do. The Web designer can simply make changes to the design by moving the tags around the page, requiring no input from the appli-cation developer. A limitation of the tag architecture, however, is that the developer may be limited to the tags that the vendor has provided. This reduces a lot of the flexibility and can restrict the type of application being developed. Some tag architectures allow you to add tags, but they require you to do this in a low-level language such as C++ or Java.
4D’s architecture melds the flexibility of the scripting architecture with the design simplicity of the tag archi-tecture. An application developer can develop the appli-cation logic within 4D’s advanced IDE, which allows access to the integrated debugger and other useful tools. When the scripts are completed and debugged, they can be compiled to run in native, optimized machine code. In addition to maximizing performance, this ensures that no one can tamper with the scripts. At the discretion of the application developer, each script can be made available as a tag for the designer to place on the HTML page. 4D supports add-ons to both
Macromedia’s Dreamweaver and Adobe’s GoLive, which automatically add the 4D Tags (the available scripts) as objects within their respective palettes. Web page design is then as simple as placing a tag on the page, allowing the creation of very sophisticated interfaces in a very short time.
business benefits. A recent study by Ventera (Figure 10) shows that 4D had the fastest implementation of all the products tested. According to the study:
"The 4D Product Line provides end-to-end software includ-ing a Database, Web Server, Application Server, and
Integrated Development Environment (IDE). You can pro-duce an entire Web site without purchasing any additional software. I also found the ability to change from a Single-User application to a Client-Server application and from a Client-Server application to a Web-based application very interesting. I cannot think of any other tool that enables a developer to do this."
These results are even more amazing when one considers that some of the other products analyzed cost more than twenty times the cost of 4D.
Similarly, initial development costs count for nothing if the product is difficult and costly to maintain. A recent
Aberdeen Group study (Figure 11) shows that solutions deployed with 4D’s Web architecture cost about 70% per-cent less than the industry average throughout the lifetime of the project.
In a recent report, the Gartner Group estimates that organi-zations have wasted approximately one billion dollars in the
purchasing of products that are either too difficult to imple-ment, or are based on requiring support for millions of users that never actually materialize. As we have seen, 4D is regarded as the quickest to implement and allows an oper-ation to scale for growth as usage grows. Using technolo-gies such as 4D’s could save organizations millions of dollars.
CONCLUSIONS
4D’s Web architecture was designed expressly because scal-ability, integration, openness, and security are the key fea-tures for serious Web sites. We have shown that 4D not only leads in terms of development flexibility, but provides a solution at about 30% of the lifetime cost of other solutions. All of these features contribute to 4D as a flexible, powerful product family that deserves consideration for your Web application projects.