This paper briefly describes modern Internet platform architecture technologies, with special considerations in developing databases on the Internet. And how designing and implementing databases in a Web environment might differ from databases developed in a traditional environment. Thus, the Internet platform architecture will be discussed concurrently with web database design and implementation. The modern Internet platform architecture is a very complex systems architecture, which deals with the internal interfaces among the system's components or subsystems, and the interface between the system and its external environment, especially the user. In essence, it consists of a physical network that comprises of components such as servers (Oracle web server, Apache, MS IIS), databases (Oracle, MySQL), proxy services, transactions, and/or web services; clients (fat and thin clients); browsers (MS Explorer, Netscape, Mosaic, Opera); applications (such as, e-commerce, e-mail); and data. Moreover, it should to be emphasized that addressing the data issues of such a system is very important because a poor architecture can lead to difficulty during system enhancements, poor performance, and many other pieces, which can make a good system fail. Evidently, when designing a Web database, the above must be take into consideration but also one must address the issues of data integrity, performance, security, stability, user accessibility, and database connectivity (Web DB and component carts etc.). Sometimes multiple databases are created for the same web site, in such a scenario, it’s always a good idea to create separate databases even-though they might reside on the same machine. This is to reduce the risk of creating problems among such databases, and allow the website databases to be designed and tuned for use with e-commerce. Some Internet platform architectures employ VPN technology to enable grid computer users to share information in a virtual database. The VDB is designed in a way that to the ordinary user, a virtual database (VDB) looks much like a real one. It organizes its data into tables, and data can be inserted and queried using standard SQL constructs. It even supports indexes and views. However there is no central repository holding the data for each table. A virtual database just consists of a list of table definitions (schema), a list of data providers (registry), and a set of rules for deciding which data providers to contact for any given query. Likewise, in Internet platform architecture, most system critical data are stored in COTS (commercial off the-shelf) relational databases for ease in access and modification. These databases mostly reside on dedicated data servers in order to increase the throughput of the data portion of the system. This will also eliminate the physical data storage of the legacy files. The stored data can be backed up and archived according to the DBA scheduling. So when designing a web DB, one has to take such storage concept into consideration. Most of the current Internet systems utilize the n-tier architecture and as such usually contains a data access tier. The n-tiered client/server architecture is the best choice because it prepares an application for load balancing, distributing the processing among multiple servers. Also, a proper n-tier setup enables better integration with other components and ease of development, testing, and management. The data access layer is structured as logical storage definitions, application programming interfaces (APIs), and utility programs that will be used by application. One of the functions of the data access services layer is to isolate application programs from the physical location and structure of data. An example is Oracle’s network computing architecture (NCA) --- a distributed object computing through CORBA object extensions at the client, the application-server middle tier, and the back-end server. As regards to database connectivity, if you’re to design a web database where Extensible Markup Language (XML) documents will be received as continuous streams; then an event-based API could be the only choice. Data Validation is also key in Internet platform architecture as well as in web Db design. The validation of any modified or new data will occur in each Internet layer that the data passes through. Typically, this includes the user interface layer, the appropriate server through which the user interface is accessed, the data access layer, and finally the database itself. This ensures that by the time the data reaches the database it has been verified and is ready for insertion or modification and that the action will not cause any faults to be generated. The databases in such cases can be created (when possible) with constraints and default values in order to allow for simple data modification. Data validation layer can be inserted at the entry point to the application so that all requests are properly validated before being processed. Hence, data validation must always be enforced on the server side. Such an approach is typically implemented by application level intrusion-prevention system (IPS) systems acting as an external validation layer. An example of such a system is the popular and free mod-security tool. The data security technique for Internet platform architecture usually a set of layered security services and cryptographic framework that provide an infrastructure for creating cross-platform, interoperable, and security-enabled applications for all database/server environments for the entire architecture. This security technique provides all the essential components of security capability; equip applications for electronic commerce and other business applications with security services that provide facilities for cryptography, certificate management, trust policy management, and key recovery. Security suites like TouchPass and Symantec Enterprise Security Manager are suitable since they have the capabilities to check multiple systems simultaneously for deviations such as missing OS patches, inappropriate user password settings, unauthorized privileges, incorrect file access, changes to security settings, intrusion detection, and incorrect configurations. Further, this provides integrity checks on data and data access as well as comprehensive management reports and security recommendations. So a web DB designer must be familiar with some of these security techniques in order to effectively design, deploy, and the privacy of its users. Other considerations for web database design may include the number of concurrent users that can access the contents of the DB by a large group if that’s its intended purpose. Hence, a highly scalable DBMS is desirable to provide flexibility to support different size users. XIOtech Corporation, a subsidiary of Seagate Technology and a networked storage pioneer, along with PolyServe and Oracle have partnered to create a proof of concept for a Very Large DataBase (VLDB) running Oracle9i RAC on a Linux/Intel cluster. The database is the world's largest of its kind and entails directly connecting 6,000concurrent users with online access to a VLDB--a 10TB Order Entry and Product Tracking application. In addition, web database performance i.e. download time, stability, and accessibility play a major in design and implementation, and tells how fast the web DB is able to update records, process transactions, and provide feedback in seconds. That’s why most organizations perform DB performance tuning to increase speed and storage efficiency. Better yet, Oracle Database 10g Release 2 rises to the challenge delivering high performance database product to meet today's fast growing data warehousing requirement. New features and enhancements are designed to achieve transparent performance gains in the area of data warehouse and business intelligence. Further, the ability to integrate the web DBMS with other applications is a key determinant as to what operating systems it can run under --- such as Linux, Unix, or Windows. Hence, the ability for a DBMS to import and export data to and from other web DBs and applications is a crucial decision. To help software developers work with XML in conjunction with relational databases, Altova has completely re-designed MLSpy 2006's capabilities for interacting with the most popular relational databases in their native interface language, including: Microsoft Access, Microsoft SQL Server, MySQL, Oracle, Sybase, IBM DB2, and any other database supporting ADO or ODBC connectivity. Using these new features, developers can connect to a relational database, generate an XML Schema based on a relational database, import and export data based on database structures, and generate relational database structures from XML Schemas with ease. The differences between designing and implementing databases in a Web environment compared to a traditional environment are several and these may include: Traditional databases mainly ran or run on large, powerful mainframes for business applications such packages as Oracle 8 or Sybase SQL Server for example. However, currently, Microsoft's Access is a popular PC-based engine for small, powerful personal computers. While a web database can be a virtual database (VDB) as discussed above. The VDB is designed in a way that to the ordinary user, a virtual database (VDB) looks much like a real one but with no central repository holding the data for each table. In addition, Web databases can be deployed as subsets of large databases maintained on the server. There is usually a convenient and logical way to segment portions of the main database into manageable sets for web visitors/users. Subsets may be created by time, geographical region, or alphabetically. So even though you have a big database on the server doesn't mean your users need to search it directly. A web database is a display only system. It is designed to support query and reporting of data. No updating of data is allowed. While traditional databases are designed to support query and reporting of data i.e. data manipulated allowed where feasible. Likewise, traditional DBs like MS Access designed for a specific purpose for use on personal computer may not require DB connectivity tools. While Web DBs require DB connectivity tools like Open Database Connectivity (ODBC) for it to be accessed by different applications. For this to work, both the application and the DBMS must be ODBC-compliant -- that is, the application must be capable of issuing ODBC commands and the DBMS must be capable of responding to them. In relation to the above, web database software vendors have developed specialized browser related techniques to prepare a formatted HTML document for printing. Traditional DBs are designed and implemented using relational modeling while web databases are designed and implemented using network modeling because data access is superior, no need for substantial software or hardware, and can handle more M: N relationship types. However, unlike relational modeling, network modeling lack structural independence. But this can be advantageous in web DBs because updating or removal/deletion of data by users is not allowed. References: Rob, P. & Coronel, C. M. (2004). "Database Systems: Design, Implementation, & Management, 6th Ed." Massachusetts: Thomson Technology Stair R., Reynolds, G. (2006). “Principles of Information Systems, 7th Ed.” Massachusetts: Thomson Technology Greenwald, R., Stackowiak, R., & Stern, J. (2004). Oracle essentials 3rd. Oracle 10 Sebastropol, CA: O'Reilly. Tuning Java Database Performance: Understanding the Role of the Driver http://www.devx.com/Java/Article/7944 SEDA: An Architecture for Well Conditioned, Scalable Internet Services http://www.eecs.harvard.edu/~mdw/papers/seda-sosp01.pdf. 6,000 Concurrent Users Connect With Online Access To A Vldb http://findarticles.com/p/articles/mi_m0BNP/is_11_21/ai_92887361/pg_1 ALTOVA XMLSpy 2006 provides important XML support http://www.altova.com/products/xmlspy/xml_editor.html |
Designing and Implementing Databases in a Web Environment Compared to a Traditional Environment
Tags
Database Technology
Social: