Internet architecture overcomes CGI and enables application development


Third generation Internet architecture

The third generation Internet architecture seeks to overcome the limitations of CGI to enable development and deployment of industrial strength applications. Its key features are Application Program Interfaces (API) and application servers. Third generation Internet architecture introduces application servers that:

Performance

A major performance improvement of the third generation Internet architectures is the use of server APIs to avoid the limitations of CGI programs. Because server APIs are often specific to the particular Web server in use (for example Netscape or Microsoft), they are commonly referred to as proprietary APIs (NSAPI for Netscape, ISAPI for Microsoft and Open Market’s FastCGI for Apache). Although the detailed implementation of these APIs differs, each yields much higher performance than the original CGI programs by enabling separate browser requests to be handled without the need to start up a new program each time.

Privacy and security

While third generation Internet architectures still rely on cookie technology for automatic user recognition, all other session and user profile information can now be stored within the application server and the back end database. This approach addresses the security concern of cookies while reducing the dependency on the user’s machine. For example, if a user connects to the application from one machine today and from a different machine tomorrow, the system can still retrieve that user’s profile. With this approach most of this session and profile information is now stored within the server side architecture components.

Business objects

Application servers will provide many general purpose business objects as standard, as well as provide tools for developers to build their own business objects. Common general purpose objects supported by today’s application servers include:

Both custom and off-the-shelf business objects can access back end business systems that may include databases, file systems, or other off-theshelf applications. While the out-of-the-box functionality provided with many application servers enables developers to build significant applications with little coding. The real power of these application servers is realised when the out-of-the-box functionality is combined with the object oriented, standards based frameworks for custom development. On Microsoft platforms, business objects are known as server-side ActiveX controls. These are special software components, written either in the C++ or Visual Basic programming languages, that can be used within Active Server Pages (see below) to assist in the dynamic generation of Web pages. ActiveX controls use a mechanism known as DCOM (Distributed Component Object Model) to ‘plug into’ the Web server. A benefit provided by DCOM is the fact that the business objects need not run physically on the same computer as the Web server – they may be accessed across a network, typically within an enterprise.

Other application servers use different mechanisms to integrate business objects. One common mechanism is known as CORBA (Common Object Request Broker Architecture). CORBA components, like DCOM components, need not run physically on the same computer as the Web server – they may be accessed across a network.

Dynamic generation of HTML pages

Application servers allow Web pages to be custom created using either Microsoft’s Active Server Pages (ASP) or Sun’s Java Server Pages (JSP) technologies. While these are the basic emerging development standards for third generation Internet architecture application servers, each application server should be carefully examined since their implementation approaches will differ slightly. A brief description of each third generation Internet development technology is given below.

Active Server Pages

ASP pages, typically used on Microsoft Web servers, are a mixture of static HTML (for parts of the page that do not change), ActiveX controls (special program components written to the Microsoft ActiveX standard), VBScript, and JavaScript. ASP pages require a special language processor, defined by Microsoft, to be embedded in the Web server. When an ASP page is requested by a browser, the special language processor in the Web server executes the ActiveX components in the page and runs any server-side VBScript scripts and server-side JavaScript scripts. Each of these actions work together to create HTML pages that are returned for display in the user’s browser.

Java Server Pages

JSP pages are similar in principle to ASP, but use different specific technologies to achieve their results. A JSP page is a mixture of static HTML, Java, and JavaScript. These pages require a special language processor (defined by Sun) to be embedded in the Web server. When a JSP page is requested by a browser, the special language processor executes the Java components in the page and runs any server-side JavaScript scripts. Each of these actions work together to create HTML pages that are returned for display in the user’s browser.

Application servers often support ‘clustering’ to provide the highest levels of scalability, expandability, and high availability. Clustering is the ability for many application servers run at the same time to share the work of a given application. One of the applications servers acts as the ‘master’ to direct new requests to the application server with the lowest load. If one of the application servers should crash, the master application server redirects requests to servers that are still available. When new application servers are started up, the master application server is notified and starts sending it new requests. Performance and scalability are the major benefits to clustering as the master applications server works to balance the traffic load equally across all applications servers. This mechanism allows a business to increase the capacity of their Web application by adding more computers to the back-end architecture.

Complexity

With third generation architectures, development teams are presented with many options for secure, robust, high performance, personalised, object oriented application development. While this is a powerful framework, the sheer number of options available quickly introduces complexity. An important point to note when designing your architecture is to pay attention to the details of application version compliance.

It is common for one version of an application to work well with only a certain version of another application. Tracking all the different applications, their versions, their compatibility requirements, and their system dependencies quickly becomes a Web of its own. It is a wise move to document all your existing applications and their versions before purchasing software. Once this list is documented, submit the list to each of your software vendors for their review. Only once they have provided written confirmation that your environment is sound, should you start building your architecture.

This extra step in the design phase will save you many headaches down the road. While third generation architectures have brought many benefits to businesses setting up on the Internet, their robust, flexible (and often complex) architectures mean that the days of building an Internet site in a day are no more. What was a simple task for one person has become a potentially high-risk, complex and large scale project. For those who are able to deliver these complex projects with good speed, flexibility and reusable assets, the rewards can be huge.

Legal Disclaimer

Our website is not responsible for the information contained by this article. Articleinput.com is a free articles resource thus practically any visitor can submit an article. However if you notice any copyrighted material, please contact us and we will remove the article(s) in discussion right away.

Note: This article was sent to us by: Dean K. Marlowe at 03242010

Related Articles

1. Customers find you easier online and your sales grow
Co-creating The Internet not only makes it possible for customers to find what they want – it even lets customers create what they want. Fiat tested new d...

2. New online business trends for wholesalers and retailers
The old channel logic The traditional channel roles of the wholesaler/distributor and retailer were typically organised on the following assumptions: ...

3. Company transition from traditional to Internet channels
Channel strategy as Internet strategy Beyond choosing a role in the new channel system, companies must still identify how they will compete and on what resource...

4. Electronic channel systems allow companies to try new online strategies
How to leverage an electronic channel system Electronic channel systems are in their infancy, and companies in many industries are successfully undertaking ea...

5. Internet businesses find a supportive social environment in Europe
Supportive infrastructure Telecom issues in Europe are impacted by the decisions of regulators operating at a number of levels: global, European, country by cou...

6. Online businesses with customized products increase their value
Introduce customisation Internet businesses that customise products have the opportunity to add dramatic value to their products. You could, for example, visit ...

7. Online businesses must not allow their customers to consider alternatives
Alternatives are unappealing The appeal of any Internet business is directly linked to the appeal of the next best alternative. In the case of retail Internet b...

8. What is an Internet Brand and how to create your own online brand
The Internet brand landscape So you've got your business idea, the technology is being tested, the funding is on the way, but you still need a marketing and com...