Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions
 Discussion Forums
 HTML, XML, JavaScript...
 Software Reviews
 Editors,Others...
 Top100
 JavaScript Tutorials, ...
 Tutorials
 ASP, CSS, Databases...
 Discussion List
 FAQ, Roundup, Configure ...
 Authoring
 HTML, JavaScript, CSS...
 Design
 Layout, Navigation,...
 Graphics
 Tools, Colors, Images...
 Software
 Browsers, Editors, XML...
 Internet
 Domains, E-Commerce, ...
 WDVL Resources
  Intermdiate, Tutorials,...
 WDVL
 Discussion Lists, Top 100,...
 Technology Jobs


WDVL Newsletter

Active Server Pages
JSP/Java Servlets
Microsoft SQL Server
Daily Backup
Dedicated Servers
Streaming Audio/Video
24-hour Support    

jobs.webdeveloper.com

Hiermenus


e-commerce
Partner With Us
Online Shopping
Laptops
Domain registration
Shop Online
Baby Photo Contest
Televisions
Web Design
Online Education
Auto Insurance Quote
Home Improvement
Promotional Products
KVM Switches
Hurricane Shutters
Dental Insurance

Developer Channel
FlashKit.com
JavaScript.com
JavaScriptSource
Developer Jobs
ScriptSearch
StreamingMediaWorld
Web Developer's Journal
Web Developer's Virtual Library
WebDeveloper.com
Webreference
Web Hosts
XMLfiles.com

internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Storage Networking , Part 1
eBook: A storage network is any network that's designed to transport block-level storage protocols. But understanding the ins and outs of networked storage takes you deep into several of protocols. This guide covers SANs, Fibre Channels, Disk Arrays, Fabric, and IP Storage. »

Storage Networking 2, Configuration and Planning
eBook: Picking up where Part 1 left off, Part 2 of our look at storage networking examines configurations for SAN-attached servers and disk arrays, and also includes a look at the future of IP storage. »

Storage Management Costs in the Enterprise: A Comparison of Mid-Range Array Solutions
Whitepaper: Many factors contribute to the ownership cost for enterprise storage. These include (but are not limited to): physical capacity relative to physical space requirements, performance capacity for data transfer and system reaction time, software maintenance and updates, expandability and flexibility, and much more. »

Storage Is Changing Fast  Be Ready or Be Left Behind
PDF: The storage landscape is headed for dramatic change, thanks to new technologies like Fibre Channel over Ethernet (FCoE), pNFS, object-based storage and SAS that will affect everything from NAS and SANs to disk drives. Get the knowledge you need to make the most of your storage environment, now and in the future. »

HP StorageWorks EVA4400
Demo: Dont settle for an expensive and complex array that lacks functionality. The HP StorageWorks EVA4400 delivers virtual storage with enterprise class functionality at an affordable price. »

Top 10 Articles
  1. Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions
  2. JavaScript Tutorial for Programmers
  3. Design
  4. JavaScript Tutorial for Programmers - Objects
  5. JavaScript Tutorial for Programmers - JavaScript Grammar
  6. JavaScript Tutorial for Programmers - Versions of JavaScript
  7. Cascading Style Sheets
  8. JavaScript Tutorial for Programmers - Embedding JavaScript
  9. JavaScript Tutorial for Programmers - Functions
  10. Authoring JavaScript
Domain Name Lookup
Search to find the availability of a domain name. Just enter the complete domain name with extension (.com, .net, .edu)

The Existing Perl Modules

January 25, 1999

Soon after the release of Perl 5, the community was blessed with a flood of excellent objects (Perl Modules) that could be used in support of web-based applications. Among these modules were the CGI, LWP and DBI modules.

The CGI module takes care of organizing form name/value pairs and HTML output, as well as other useful features such as file uploading, error handling, and manipulation of the environment variables.

The LWP (Library for Web Programming) module made networking simple. A standard API could be utilized to make your stand-alone CGI application networked with all the services available to any HTTP client including FTP, GOPHER ,HTTP, local files, and HTTPS (SSL) connections.

Finally, the DBI module gives your CGI application access to almost any commercial, shareware, or freeware database that is used in support of web applications. Without knowing anything about database technology, a developer can use the simple interface to access and manipulate the most complex of databases. Further, since the DBI module was an interface, if the backend database suddenly was changed from one database to another such as from Oracle to Sybase, no modification would be necessary in the client code. You would just need to import a different DBD (Database Dependent) module.

We will cover more regarding interface modules a little later.

Proposed Extropia Extensions

The CGI, LWP, and DBI modules are all fantastic tools for web-application development. However, they are not enough. In fact, for the most part, these three modules are more useful at a deep infrastructure level. Most real-world application code deals with higher order issues.

With 5 years of experience designing generic, open source applications behind us, we are in a unique position to know what other black boxes must be developed for truly efficient web application development. In addition, because of the valuable feedback of over 5 years of gathering users and developer ideas from all types of businesses, we are able to leverage that knowledge in creating a framework that is likely to be extensible to any type of business these components will be used in.

Coding of several modules began in November 1998 and will continue thru December 1998 with expected release dates in January 1999.

The new modules include:

Extropia Modules
          DataSource
                   FlatFile
                   DBI
                   HTTP
                   CGI
                   FTP
                   FileSystem
                   DBM
                   XML
          Mail 
                   SendMail
                   SMTP
                   Blat
                   Postie
          Encryption
                   PGP
                   Crypt
                   MD5
          Authentication
                   Server
                   CGI
          Session
                   Cookie
                   HiddenField
          Search
                   Dynamic
                   Indexed
          DataValidation
          Application

All of these modules take advantage of the concept of "interfaces".

It is especially important to note that not all these modules will be written by us. The Comprehensive Perl Archive Network (CPAN) contains a rich set of modules. Where applicable, we will be interfacing with these modules rather than building our own entirely from scratch.

Interfaces

An interface presents a single independent API to client code yet has the ability to dynamically call dependent backend code depending on what the client code asks for. This is a little bit hard to see without an example, so let's look at how the DBI module implements the interface architecture.

The DBI interface provides a single database connectivity API but no database connectivity implementation code. Instead, it relies on a library of DBD (database dependent driver) modules to implement the connection. Thus, the hierarchy of code looks like:


Client Code ---> DBI --> DBD (Oracle)
                     --> DBD (Sybase)
                     --> DBD (Postgres)

When implemented this way, you can see that regardless of what backend database package is being used, the Client Code remains the same. The client code need only talk to the standard DBI API.

The DBI module relies on the DBD modules for the implementation of the requests. What is more, to add a new backend database, the user need only code a new DBD module and add it to the list of other DBDs.


Client Code ---> DBI --> DBD (Oracle)

                     --> DBD (Sybase)

                     --> DBD (Postgres)

                     --> DBD (New Database)

The benefit to the user is that she need only know the DBI API in order to access the myriad of DBD support modules. Furthermore, anyone who writes a DBD module can make it available to everyone without forcing them to modify their code in any way.

Moving to Object Oriented Design with Perl 5 and Java Servlets
Extropia WebWare Suite 2.0: Towards a New Application Development Framework for Server-Side Web-Based Applications in Perl and Java
The Existing Perl Modules (Cont.)


Up to => Home / Software / Open / WhitePaper




Jupiter Online Media: internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and Jupiter Online Media

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers