Introduction The Internet was designed to transmit raw text data (encoded in a markup language called HTML) because of the varying operating system environments in which the data may be viewed. A browser (a computer software application) is then designed and built in each operating system to interpret and present the text information for browsing. The Internet browsers were not designed to display binary data, which are mostly operating system dependent. To extend the Internet browsers to do more, some specialized applications are created and deployed alongside a Web Browser. In the Internet context, these applications are called helper or plug-in applications. To display formatted text documents, another application called Adobe Acrobat was designed for this specialized task. To play videos on the web, specialized applications like RealPlayer are employed. One of the reasons the Internet has such a profound effect on companies is the ease with which business information such as product lists and other product and service related information can be sent to and accessed from remote locations. Most business database applications can be easily redesigned for the Internet because in most cases, company databases have already been designed, deployed, and operational. The process of taking your business database to the Web can be easy, fast, and painless, or it can be quite difficult and expensive depending on the tools you choose to use. Unlike the problems solved by RealPlayer and Adobe Acrobat, the database problem is more complex. Not only do we need a helper application on the browser side to handle the user interactions with the browser; we also need a helper on the server side to interface with the database and the Web server. Therefore, for databases, a good solution must provide Server-side and Client-side logic. This poses a real problem for the computer software engineer. THE PROBLEM
In answer to the question, some completely new database vendor companies were founded to provide “THE ULTIMATE” solution. What we ended up with is even more choices with an overwhelming array of solutions. In designing a solution, the most important problems are: - How to implement state management. - Security over the open World Wide Web. - Database Integrity. STATE MANAGEMENT In the Web environment, connections are on an as-need basis. The client requests data from the server, and the server responds to the request. Once the server sends its response, the connection is terminated. This relationship presents no serious issue for standard HTML pages but becomes problematic when databases are involved. The issue is primarily one of storing the user’s location within the database. The user’s state must be maintained so that data flows smoothly and without error, as if it were local with a persistent connection. Persistent vs. Stateless Connections Most Web database tools employ persistent connections to ensure proper management of the user’s state in the database at all times. Note that “Persistent connection” in this context, does not have the same meaning as in the W3s HTTP/1.1 implementation of pipelining browser requests. (See http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html) In this context, a persistent connection is accomplished by setting up an open channel between server and client computers throughout the time a user is surfing the site. While it solves the problem of state management, persistent connections result in very high network traffic as new HTML pages are created to refresh the browser with the new data. High traffic often leads to broken connections and poor performance. Other problems with the method include its inability to reflect data relationships—master to detail relationships between a customer and his orders, or a department and its employees. SECURITY AND DATABASE INTEGRITY In the LAN and desktop environments, the security and integrity of the database is not half the issue it becomes when data has to be transmitted over long distances. When we talk about security and data integrity, the following questions must be answered: - Has the data been copied, or altered along the way? - Is the data coming from the source we think it is coming from? - How current is the data? - How are conflicting changes to data handled? Answers
1) HTML PAGE BASED: Use HTML
and its extensions such as Java, JavaScript, CGI, PERL,
2) WEBIFIED LAN APPLICATION:
Webify a LAN application so that it communicates
3) HYBRID WEBIFIED LAN PAGES:
Create a marriage of the two by taking the best of each, using a
specialized browser to create the look and feel of a locally run application
with Internet flexibility.
HTML PAGE BASED This is the most common solution. Using this method, the entire database application logic is built into an application server, or in the form of an array of CGI scripts using any of the many scripting languages already invented and those being invented, including Perl, VBScript, JavaScript and many more. It seems that each vendor has come up with a proprietary scripting language. The common configuration steps of tools in this category are: - Setup the Internet server computer to run a Web server and the CGI script or Application Server. - Setup the database server. - Create a proprietary communication structure for transferring database data between the browser and the Application Server. Setting up the Internet Server - Web Server software is installed on a computer (called Internet Server computer) running an Internet capable operating system such as Unix or Windows NT. The web server software is designed to pass information stored in HTML files on the Internet Server to an HTML browser. - A database server is installed either on the same physical computer or separate computer on the same subnet as the Web Server software. The database server is software capable of holding structured information and the relationships between these structures. There are two categories of database servers: desktop databases (such as Paradox or MS-Access) and encapsulated databases (such as Oracle, Sybase, Informix, etc.). The major difference is the amount of outside code required to manipulate objects in the database. - Experienced software programmers first design CGI scripts written in C, Perl, VBScript, or Java. This is installed in a directory where the Web Server can reach it. Application Servers contain far more complex and many more logic blocks than a single script and are designed to extend the capabilities of the Web Server they support. - Query files containing SQL commands for retrieving, deleting, and storing data in a database are created and stored on the server computer. - A URL referencing the CGI and the query file names is encoded into an HTML file, which is also copied to the server computer where the Web Server software can reach it. Sending data from the Server to a Browser: - When a browser request (in the form of a URL) comes to the Web Server for the HTML page, it simply sends a copy of the HTML file to the browser. - If a browser request includes a reference to the CGI, the Web Server executes the URL. It makes all the references in the URL, and activates the CGI script, passing it the appropriate query file. - The CGI creates a connection to the database. Depending on the nature of the CGI, it may use an ODBC driver. Others may use proprietary drivers to interface their database. Examples include Oracle’s Application Server or Active Server Pages (ASP) from Microsoft. See http://www.webreview.com/pub/1999/02/26/webdb/index3.html for a comparison chart on some of these Application Servers and the databases supported. Note that the chart only contains eight servers. - Once the connection is established to the database, the query file is read and the results are formatted into HTML and written to a file. Typically, the file is the Standard Output (the computer screen). - The Web Server immediately scoops up the contents of the file and sends it to the browser. Sending data from a Browser to the Server: Assuming a data entry page, the user enters new data or deletes or modifies existing data on the page. The data has to be collected and transmitted to the Web Server so that the database is updated. The process of gathering the data and updating a database on the server side is quite complex. Each vendor employs different techniques. Some tools base much of the work on the database itself, as many database vendors have done. (Ex: Informix, Oracle, Microsoft’s SQL Server, Sybase). Others situate the code close to the Web Server (Ex. Delphi and Cold Fusion) while some distribute the work between the database server, Web Server, and the browser. (Ex: Oracles’ Application server, Database, and client side JavaScript enablement.) Some of the tools in this category include: Active Server Pages
The problem with ASP is that the FileSystem Object (FSO) allows anyone to access any directory on the hard drive, including the root level. It also allows modification of files in virtual Webs. The majority of hosts that support ASP have not taken precautions to limit clients. (See Sharing Too Much: The Dangers of Hosting on Windows NT, Chuck Newman, Web Techniques) OTHER TOOLS
Cold Fusion
LiveWire
Tango
WebDBC
WEBIFIED LAN APPLICATIONS They include those solutions built from the ground up to be executed over the Internet. Single, highly specialized applications are designed to enable Internet database access. Most popular applications in this category include Charles Schwab, and most Day trader interfaces. Many companies have taken advantage of this type of Internet enablement. How it works
The application is distributed
to users all over the world. The database server is deployed on the
Internet Server side. Once a user activates the application, a persistent
Internet connection is immediately established to the URL of the Internet
database server. The built-in components initiate database requests
to the server, and the server responds with data.
HYBRID WEBIFIED LAN PAGES There seems to be only one tool in this category. AstroMark is a late comer into the Web tools market although its research and development started as far back as late 1996. The creators and users of AstroMark believe the AstroMark approach was worth waiting for. AstroMark takes a totally different non-HTML approach to solving the database to Web problem. It successfully separates database data from HTML and provides a means for a symbiotic relationship between HTML and database data. AstroMark suite has three major applications, the AstroDesigner for creating database web pages, AstroServer, which is the application server Middleware/ WebServer, and AstroMark, the database page browser. Solves Browser Incompatibility
Issues
AstroMark supports all versions of Web browsers, because it does not attempt to display database data in the HTML browser. This means that the Web database programmer does not have to worry about browser incompatibility issues any more. Transparent support for
most database types
Supports all Web Servers
Point and Click User Interface
All code is client side
Built in Report Engine
How it works
Setting up the Internet Server - A Web Server software (AstroServer only or AstroServer and another third party Web Server such as IIS) is installed on an Internet Server computer. No server-side scripts are necessary. - A database server is installed either on the same physical computer or separate computer on the same subnet as the Web Server software. Depending on the database type, much of your business rules can be enforced in the database using stored procedures. Sending data from Server to Browser: - When a browser request (in the form of a URL) comes to the Web Server for an HTML or GTI page, it simply sends a copy of the file to the browser. - If an AstroMark browser requests database data, AstroServer automatically performs the operation and returns the data to the browser. Sending data from a browser to the server. Assuming a data entry page, the user enters new data or deletes or modifies existing data on the page. The data has to be collected and transmitted to the Web Server so that the database is updated. AstroMark sends a data packet to AstroServer which interprets the instructions and makes the changes to the database. AstroMark combines the ease of use of a visual development environment with the flexibility of a scaleable data access architecture to deliver a robust development suite for true WYSIWYG database-driven Web pages. Great things come in small packages. There’s so much functionality built so compactly, you’ll wonder how the file sizes can be so small yet provide such robust functionalities. Each tool in the AstroMark suite is no larger than 2 MB. Plus, because there is no Java or any of its derivatives, no ActiveX, no COM or DCOM, no OLE Automation Objects AstroMark has none of their security breaches. AstroMark is designed to be your Internet Mission Control Center in the new millenium. AstroMark is a suite of three applications: AstroDesigner, AstroServer, and AstroMark Universal.
AstroMark versus Dynamic HTML Web Pages Traditional database-driven Web applications would require scripts or code such as JavaScript, ActiveX, CGI, Perl, C++, or VBScript. State management mechanism would be programmed, possibly with another tool or set of tools. Although some Web development tools encapsulate these features, they all generate dynamic HTML code and may encapsulate active features designed to execute on the user's CPU. Let’s examine the following HTML scenario: A user wishes to find product availability and price for a particular product category. Using a HTML browser, the user submits the query, the relevant product information is extracted from the database, the browser formats the data dynamically as HTML, and displays ten products per page. Each time the user wishes to see more products that match his category, the browser must load a new HTML page. All browsers do not support all functionalities you may wish to add to your application, depending on how much your scripting language deviates from standard HTML. These browser differences are not only from one vendor to another, but from version to version under the same vendor. For example, a JavaScript command may work perfectly well in Netscape Navigator but not in MSIE, and the reverse may also be true for ActiveX controls. Because AstroMark does not attempt to display database information on HTML pages, the data changes—not the page. Each component stays where it was designed. The user submits the query, the relevant product information is extracted from the database, and the data is displayed on the page. Scrolling forward to next records
Scrolling back to previously viewed
records
Database Flexibility:
Security Most Web development tools which create dynamic HTML require a browser that accepts Java, JavaScript or supports ActiveX. However, much controversy surrounds using these approaches because of potential security risks they pose to the end user: "ActiveX-aware web pages can exploit a Norton Utilities component to reformat a visitor’s hard drive." Source: Windows Sources
In addition, the AstroMark suite has several levels of data protection integrated within the Designer, Server, and Browser. Caching Restriction The application designer need only set a property at design time to notify the AstroMark Browser not to allow caching of private data and to be sure the user can only view the data through the pages. User Authentication AstroMark now uses American banking industry standard SSL. Code view restrictions The application designer can use a
single AstroScript code line to notify the AstroMark Browser that only
valid users having the correct password and user name will be allowed
access to certain pages. Even within authorized pages, users can be further
restricted to view and/or modify only limited pieces of data.
Bi-directional Protection Data protection is bi-directional. AstroServer encrypts all database data transmitted to AstroMark Universal. When the AstroMark communicates a request to the AstroServer, that is also encrypted. Encryption algorithms used include our proprietary symmetric encryption algorithms for all data transfer to and from the AstroServer. SSL and other industry standard algorithms can also be used with database data. Hacker Resistant Code Unlike HTML browsers, there is no way for anyone else to see your source code through AstroMark Universal. Because all AstroScript code is encrypted with our symmetric encryption algorithms any part of your code intercepted in transit is not useful to the interceptor. On the browser side, your code has no specific memory address, so code hackers will find your code more difficult to break. Existing solutions often introduce new and unfamiliar programming languages and extensions to both Java, and HTML that requires extensive training. The underlying programming languages
of AstroMark are versions of the Object Oriented languages called AstroScript.
AstroScript
About PasScript
The Designer is the development environment for building true WYSIWYG (What You See Is What You Get) database and non-database enabled applications that can be executed locally on a desktop computer, on a LAN, on a WAN or over the Internet. While the Designer is a superior tool for Web developers, its ease of use means that even non-programmers can use AstroDesigner’s visual integrated development environment to quickly create AstroMark pages. Developers can create Web pages which include static text or images. The Designer has a point and click interface with drag and drop components. Developers create pages by placing components on the design page, setting their properties at either design time or runtime, and adding events which execute at run time. Creating data-driven pages is easy using built-in wizards and handy shortcuts. Add a database table, select the columns to be added, and AstroMark can automatically place the appropriate components on the page. At the click of the mouse, data displayed in edit boxes can easily be turned into a grid or vice-versa. See our online page design demo for how quick and easy it is to create a page. Master detail forms are particularly a snap to create using the data linker wizard. For static information, select the components to add, position them on the form, modify properties, and the page is ready to run. No compilation is required. A property editor allows developers to change component characteristics such as color, font, and size at design time. Events and methods can also be added to each component through AstroScript. The AstroMark pages are text-based code. This code is processed by the Browser to display the pages using data extracted from the database. All server-side events are already written. Only client-side events need to be added, when appropriate, because the Browser displays pages that embed the source code. Your code can sense and react to user keystrokes at the client side. In addition, component properties, events, or methods can also be programmatically changed at run time. Once pages are created, they can be tested, debugged, and run from the development machine using the Local Server. Supported Databases AstroMark Designer supports most popular databases, including Oracle, Sybase, Informix, InterBase, IBM DB2, MS-SQL Server, Paradox, dBASE, Access, Fox Pro, ASCII data and other ODBC compliant databases. Database Components AstroMark Designer provides 30 components as standard and database components, including labels, buttons, grids, memos, list boxes, images, edit boxes, and radio groups. AstroMark also includes a rich text editor that can contain URL links to other pages or any server anywhere. The rich text editor is a great resource for publishing books and periodicals. You can also add sound, AVI, images, and video clips to your AstroMark Web applications. Application developers can access server-specific business rules, including constraints, triggers, and stored procedures. Binary Large Objects (BLObs) such as database images and memos are also supported. Database Access Users can use queries or stored procedures created by the developer or enter their own criteria to extract records from databases. Whether a database is housed on the same server or half-way across the world, the AstroMark Server can access its data. Once the developer creates the path and access rights, AstroMark can navigate through the records. Unlike other tools which require special database access components, AstroMark pages have built-in data access capabilities to ensure proper connections. No additional components are required to access a database once an alias and path are configured on the Server and development computer. Through the Data Manipulation Editor or the DataSet Properties Dialog, tables can be quickly added and automatically formatted. The developer selects the alias and its related tables, selects table columns, chooses from several format types, adds stored procedures (if any), and the database fields can be automatically displayed as components on the page. Developers can also select database components individually and manually set their table and field links. Error Handling/Debugging AstroMark contains support for exception handling of client-side code. Developers are able to test their code, step through it, and set breakpoints to catch the error. Reports AstroMark requires no special components for creating reports. Reports are created in the same manner as other web pages. Simply set properties of existing components on any page at design time to turn that page into a report page. On the client side, the page will print like a report, not a screen dump. Flexibility and Scaleability AstroMark affords incredible flexibility when it comes to database connectivity. Developers can establish database references using alias names, which enables portability. The alias path can be changed any time by using the configuration utility on the Server. For example, an application developed using local Paradox tables could easily be changed to a SQL server database. Assuming field names remain the same, the only change is modifying the alias path. No coding is required. A single AstroMark page can contain references to data from several different database types. As long as the AstroServer is configured to access those databases, the result is a seamless view of your data on the client side. The AstroServer is the middle tier of AstroMark’s multi-tier architecture. Applications and reports built with AstroMark Designer are deployed with AstroMark Server. It is the engine that monitors, manages, and serves concurrent user accesses to the deployed applications and/or databases. Application designers can use the AstroMark Designer to create a single application that simultaneously connects to several database types and instances. Each database can be located anywhere in the world. Just configure the AstroMark Application Server to let it know where to look. Data Reconciliation and Conflict Resolution AstroMark Server also manages concurrent user access to databases and database components, such as tables and stored procedures. It performs automatic reconciliation and conflict resolution of user changes to the data, thus ensuring data integrity and data reliability. AstroMark Server manager can specify further conflict resolution rules using the server configuration tool or within the database server itself. Access Control List (ACL) Manager AstroMark Server also manages user accesses to pages, databases and database components such as tables and stored procedures, using a programmable access control list which includes user profiles and access rights to tables and table columns. 24/7 Fail-over Support AstroMark provides support both at the Browser level and Server side. Using the Server configuration tool, several mirrored databases can be chained through an ID field. The Server automatically determines which Server is available to use when data changes are requested or posted by the Browser. Application developers can also link to pages located at other AstroMark Servers by providing the URL to the other Servers. This feature can be used to implement cooperative advertisements among companies or branches of a franchise organization to search for product availability. No Persistent Database Connection AstroMark can serve more users at reduced
network traffic because the Server does not keep a persistent database
connection.
Although records can be received and posted one at a time, AstroMark allows a batch alternative. Multiple records can be sent to the user simultaneously. Because data is batched, this creates less network and server traffic and more efficient band use. Users can view data stored in their AstroMark cache and upload all changes in one posting. AstroMark automatically reconciles records before posting to the database. The Browser is the user interface layer of AstroMark’s multi-tier architecture. The AstroMark Browser loads, creates, and displays application pages by communicating with the AstroMark Server. The pages appear exactly as you designed them. Download a version of the browser now to see for yourself how it works. On the client side, the AstroMark Browser comes with a 150k DLL for managing data sets. This DLL gives the user the same speed, look, and feel as if running an executable and accessing local data. The combined size of the Browser and DLL is less than 2 MB. Contrast its size with traditional browser sizes that require from 10 to 20 MB. Session Oriented Page Caching Because pages are created once during a session, only the actual data flows thereafter. Page information is created and stored in memory on a session-by-session basis, so that during a given session, a user may open and close a given page multiple times without having to revisit the server each time. Plus, the user does not have to wait for the page to be loaded and created again. This caching method saves connection time and reduces traffic to the server. No Persistent Connection Because AstroMark Browser does not maintain a persistent connection to the server, it can save money when it comes to toll telephone lines. It also reduces traffic to and from a busy server. Our patent-pending process allows users to download data, work off line for as long as they wish, then reconnect and apply changes to the Server any time. The Server reconciles changes and resolves any conflicts to ensure data integrity and data reliability. This is sometimes called the Briefcase model. Simultaneous Viewing The AstroMark Browser lets clients view several pages at once, without launching another instance of the Browser. This feature allows application developers to create master-detail linked pages. Each AstroMark Browser page is self-adjusting, meaning that AstroMark can be run at virtually any screen resolution without distorting or cutting off pages. When resized, the page continues to show all of its contents, even at very small sizes. The Disappearing Act If the user is running AstroMark in single-document interface (SDI) mode, AstroMark Browser bar can be closed programmatically. This allows the user to see only the application pages on their screen and to interactively service user needs directly from your application. Browser Pages Our AstroMark GTI files carry all the power of a regular application—but they are easily deployed and run over the Web. Once the GTI files are registered with Netscape Navigator or Microsoft Internet Explorer, you can access our pages from within the browsers. AstroMark’s pages appear as if they are running locally or over a LAN. If the user launches only the AstroMark Browser, they enter the application’s path or URL, and view the application pages. Resolution and resizing is built-in. Most traditional development tools require that developers add code to adjust for user resolutions—or worse—change their design resolution to the lowest common resolution (640x480) to compile applications. At high resolutions, it becomes difficult to read those applications and small pages practically become pin head size. Using our unique sizing and resolution capabilities, AstroMark Browser can force pages to appear virtually the same regardless of the runtime resolution or standard monitor sizes. For example, an AstroMark page that fills ¾ of the monitor’s screen at design time can fill ¾ of the end user’s screen at any resolution. Each page also has the ability to shrink or expand in size. When the user resizes a page, components automatically shrink to fit or stretch to fit the space available in the corresponding new page size. Stretch the page, and the contents get bigger and easier to see. Conversely, if you need more room to view other applications or pages, shrink the page, and the contents will also shrink. SDI versus MDI A user can set his or her preference of Single Document Interface (SDI) or Multiple Document Interface (MDI) viewing using the Unit Pages or Separate Pages commands on the Browser main menu. The Unite Pages option causes AstroMark Browser to change its appearance and increase its size to fill the user’s screen. It then loads all pages within its viewing area. No page can overlap AstroMark in this mode. The Separate Pages option is the default
appearance for AstroMark Browser. The browser bar is unattached to the
viewing area. The Browser loads all pages on the desktop. All pages can
overlap AstroMark in this mode. AstroMark Browser can also be hidden while
the user interacts directly with application web pages.
AstroMark Browser and an evaluation
version of AstroDesigner are available for download. When you download
our Browser, use it to visit our test site and browse through our sample
applications.
SUMMARY
HTML PAGE SOLUTIONS Server-side database connectivity involves letting clients invoke a CGI, NSAPI, or ISAPI process on the Web server to link the database via Dynamic HTML. Client side scripts allows users to download an applet, control, or script that connects to a database. Scripts could be JavaScript, JScript, VBScript, or Perl. Java and ActiveX are gaining ground because they allow a download-once/run-many-times (DORMANT) approach. They can respond to the user without having to first talk to the web site. However, not all browsers support Java, or ActiveX, or both. If they do, the user may have disabled that option. (See Site Building: Hooking Your Site up to a Database, David Linthicum, ZDNet) Browser incompatibility:
up to 50% of a developer’s time is spent on browser compatibility issues.
These are primarily JavaScript and Dynamic HTML issues but also includes
Cascading Style Sheet (CSS) rendering, font rendering and sizes. (See Q&A
with Glenn Davis: The High Cost of Browser Incompatibility, David Sims,
WebTools)
Pros:
Pro:
Pros:
Like all Helper applications, each user needs to download AstroMark, but its size is relatively small and downloads in a few minutes. Architecture | White Paper | Tour | Downloads | FAQs| Web Database Intro telephone: 800-GENOTEX or 602-438-8647 (USA) Copyright ©1996-2000 by GenoTechs, Inc. - ALL RIGHTS RESERVED Last Update: 10/19/2002 All GenoTechs product names are trademarks or registered trademarks of GenoTechs, Inc. Other brand and product names are trademarks or registered trademarks of their respective holders. |
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||