Adv DB: Web DBMS Tools

Developers need tools to design web-DBMS interfaces for dynamic use of their site for either e-commerce (Amazon storefront), decision making (National Oceanographic and Atmospheric Administration weather forecast products), or forgather information (Survey Monkey), etc.  ADO.NET and Fusion Middleware are two of many tools and middleware that can be used to develop web-to-database interaction (MUSE, 2015).

ADO.NET (Connolly & Begg, 2014)

Microsoft’s approach to a web-centric middleware for the web-database interface, which provides compatibility with .NET class library, support to XML (used excessively as an industry standard), and connection/disconnection data access.  It has two tiers: dataset (data table collection, XML) and .NET Framework Data Provider (connection, command, data reader, data adapter, for the database).

Pros: Built on standards to allow for non-Microsoft products to use it.  Automatically creates XML interfaces for the application to be turned into a Web Operable Service.  Even the .NET classes conform to XML and other standards.  Other development tools for further expanding the GUI set can be added and bound to the Web Service.

Cons: According to the Data Developer Center website (2010),  with connected data access, you must explicitly manage all database resources, and not doing so can cause resource mismanagement (connections are never freed up).  Other functions in certain classes are missing, like mapping to table-valued functions in the Entity Framework.

Fusion Middleware (Connolly & Begg, 2014):

Oracle’s approach to a web-centric middleware for the web-database interface, which provides development tools, business intelligence, content management, etc.  It has three tiers: Web (using Oracle web cache and HTTP Server), Middle Tier (apps, security services, web logic servers, other remote servers, etc.), and data (the database).

Pros: Scalable. It is based on a Java Platform (full Java EE 6 implementation).  Allows Apache modules like those that route HTTP Requests, for store procedures on a database server, for transparent single sign-on, SHTTP, etc. Their Business Intelligence function allows you to extract and analyze data to create reports and charts (statically or dynamically) for decision analysis.

Cons: The complexity of their system along with their new approach creates a steep learning curve, and requires skilled developers.

The best approach for me was Microsoft: If you want to connect to many other Microsoft applications, this is one route to consider.  It has a nice learning curve (from personal experience).  Another aspect, was when I was building apps for the Library at the University of Oklahoma, the DBAs and I didn’t really like the grid view basic functionalities, so we exploited the aforementioned pro of interfacing with third-party codes, to create more interactive table view of our data.  What is also nice is that our data was on an Oracle database, and all we had to do was switch the pointer from SQL to Oracle, without needed to change the GUI code.

Resources

Adv DB: Web-DBMS

With 2.27 billion users of the web in 2012, we are talking about a significant portion of the world population (Connolly & Begg, 2014) and HTTP allows connection to between the web server, browser, and data.  The internet is platform-independent, but GUIs are developed for the end-user to access sites and information that they seek.  The web can be static, as those that present just information of the company (a webpage dedicated to presenting the Vision Statement of Pizza Hut) or can be considered dynamic, where it accepts user input and produces an output (Domino’s pizza form to order and pay for a pizza online and have it delivered 30 minutes from that order).  The latter can be considered as a Web-DBMS integration, which provides access to corporate data, connection to data, ability to connect to a database independently from a web browser, is scalable, allows for growth, allows for changes based on permission levels, etc. (Connolly & Begg, 2014).

Advantages and disadvantages of Web-DBMS

According to Connolly & Begg (2012), the advantages could be:

  • Platform independence: Browsers like Chrome, Firefox, Edge, etc. can be used to interpret basic HTML code and data connections to run without a need to modify the code to meet the needs for each Operating Systems (OS)/platforms that exists.
  • Graphical User Interface (GUI): Traditional access to databases is through command line based entries.  End users expect to see forms for inputting data, not SQL commands or command lines, they also expect to use search terms in their natural language rather than saying “Select * From …”.  Meeting the end user’s expectations and demands can mean high profits.
  • Standardization: It allows for a standard to be adopted in the back end and front end (GUI), since now this data set is visible to the world.  Doing so makes it easier to connect to the data and write code.  Also, using HTML it can allow any machine with connectivity and a browser to access the GUI and the data.
  • Scalable deployment: Separating the server from the client, allows for easy upgrading and managing across multiple OS/platforms
  • Cross-platform support: Safari is available for Macs, Edge is available for Microsoft, Firefox is available for all OS, etc. These browsers provide support for the service they provide, so the coders only need to worry about interfacing with them via HTML.  Thus, connecting to a data source via HTML is possible, with no need for writing code to deal with each OS/platform.

Whereas the disadvantages could be:

  • Security: SQL attacks can be made if there are text fields to be entered for form analysis, feedback, or comment gathering.
  • Cost: High cost of the infrastructure, Facebook collects user data, posts, images, videos, etc. and thus is very vital to have all that data backed up and available readily by all people with the right permissions. Also, the cost of staff to upkeep the database from being exploited from those not permitted to all the data that they have.  On average it can vary from $300K to $3.4M depending on the organization’s needs, market share, the purpose for their site.
  • Limited functionality of HTML or HTML5: Things/transactions that can be done easily in SQL are much harder based on what you can and cannot do in HTML and other code you can tie to HTML like Javascript, PHP, etc., which complicates the code overall. As the internet is moving more to an interactive and dynamic capability could be added to HTML to make the back end coding of Web-DBMS easier and provide a ton of functionality.
  • Bandwidth: If you have millions of people accessing your services online all at once, like Facebook, you must ensure that they can access the data with high Accessibility, Consistency, and Partition Tolerance.
  • Performance: A 100ms delay can significantly reduce an end-user’s future retention and future repeat transactions according to Abadi in 2012. This can be brought on by bandwidth issues, or a security breach, slowing down your resources, creating a high cost.  Also, this interface makes it slower than if it were just directly connecting to a database through a traditional database client.

All these disadvantages that were mentioned are all interconnected, one thing can cause another.

The best approach to integrate Web and DBMS

Let’s take the Domino’s Pizza (ordering online service).  They could use a Microsoft Web Solution Platform (.NET, ASP, and ADO) to connect to their data sources, that is database platform independent (SQL, Oracle, etc.).  For example, the ASP is a programming model for dynamic end-user interaction, but .NET has many more tools, services and technologies for further end-user interaction with data, databases, and the websites (Connolly & Begg, 2014).  Using a web solution platform will give Domino’s a means of receiving inputs through a form, to write to their ordering database (which then can be used in the future for better inventory decision analysis), and taking credit card payments online.  Then once all that data has been taken in, an image/task completion bar can be shown to the customer on where their order is currently at in their process.  They can also save cookies to save end-user preferences for future orders and speeding up the user’s interaction with their page.

Resources

  • Abadi, D. J. (2012). Consistency tradeoffs in modern distributed database system design: CAP is only part of the story. IEEE Computer Society, (2), 37-42.
  • Connolly, T., & Begg, C. (2014). Database Systems: A Practical Approach to Design, Implementation, and Management, 6th Edition. [VitalSource Bookshelf version]. Retrieved from http://online.vitalsource.com/books/9781323135761/epubcfi/6/2