Netside where knowledge is shared, ideas are spread.

[Notes] CSCI 585 Database Connectivity and Web Technologies

Credit to: Prof. Saty Raghavachary, CSCI 585, Spring 2020

Outline

  • About various database connectivity technologies
  • How Web-to-database middleware is used to integrate databases with the Internet
  • About Web browser plug-ins and extensions
  • What services are provided by Web application servers
  • What Extensible Markup Language (XML) is and why it is important for Web database development
  • About cloud computing and how it enables the database-as-a-service model

Chapter 14

Database Connectivity

  • Database middleware: Provides an interface between the application program and the database
  • Data repository - Data management application used to store data generated by an application program

various connectivity options

  • Native SQL (provided by vendors)
    • Connection interface provided by database vendors, which is unique to each vendor
    • Interfaces are optimized for particular vendor’s DBMS
    • Maintenance is a burden for the programmer
  • M’soft: ODBC, DAO+JET, RDO
    • Open Database Connectivity (ODBC):Microsoft’s implementation of a superset of SQL Access Group Call Level Interface (CLI) standard for database access
      • Widely supported database connectivity interface
      • Allows Windows application to access relational data sources by using SQL via standard application programming interface (API)
      • Too much of a ‘low level’ API, so need something more
      • Components of ODBC Architecture
        • High-level ODBC API through which application programs access ODBC functionality
        • Driver manager that is in charge of managing all database connections
        • ODBC driver that communicates directly to DBMS
    • Data Access Objects (DAO): Object-oriented API used to access MS Access, MS FoxPro, and dBase databases from Visual Basic programs
      • Provides an optimized interface that expose functionality of Jet data engine to programmers
      • DAO interface can be used to access other relational style data sources
    • Remote Data Objects (RDO)
      • Higher-level object-oriented application interface used to access remote database servers
    • Dynamic-link libraries (DLLs)
      • Implements ODBC, DAO, and RDO as shared code that is dynamically linked to the Windows operating environment
  • M’soft: Object Linking and Embedding for Database (OLE-DB)
    • Database middleware that adds object-oriented functionality for access to data
    • Series of COM objects provides low-level database connectivity for applications
    • Types of objects based on functionality
      • Consumers (request data)
      • Providers (produce data -from data sources)
    • Does not provide support for scripting languages
    • ActiveX Data Objects (ADO): Provides:
      • High-level application-oriented interface to interact with OLE-DB, DAO, and RDO
      • Unified interface to access data from any programming language that uses the underlying OLE-DB objects
  • M’soft: ADO.NET
    • Data access component of Microsoft’s .NET application development framework
    • Microsoft’s .NET framework
      • Component-based platform for developing distributed, heterogeneous, interoperable applications
      • Manipulates any type of data using any combination of network, operating system, and programming language
    • Features critical for the development of distributed applications
      • DataSet: Disconnected memory-resident representation of database
      • XML support
        • DataSet is internally stored in XML format
        • Data in DataSet is made persistent as XML documents
  • Java Database Connectivity (JDBC)
    • Java: Object-oriented programming language that runs on top of web browser software
    • Application programming interface that allows a Java program to interact with a wide range of data sources

UDA

Microsoft’s Universal Data Access (UDA): Collection of technologies used to access any type of data source and manage the data through a common interface ODBC, OLE-DB, ADO.NET form the backbone of MS UDA architecture

Database Internet Connectivity

  • Allows new innovative services that:
    • Permit rapid response by bringing new services and products to market quickly
    • Increase customer satisfaction through creation of web-based support services
    • Allow anywhere, anytime data access using mobile smart devices via the Internet
    • Yield fast and effective information dissemination through universal access

Web-to-Database Middleware

  • Web server is the main hub through which Internet services are accessed
  • Server-side extension: Program that interacts directly with the web server
    • Known as web-to-database middleware
    • Provides its services to the web server in a way that is totally transparent to the client browser

Web-to-Database Middleware

WebToDB

Client-Side Extensions

  • Add functionality to Web browser
  • Types
    • Plug-in: external application automatically invoked by the browser when needed
    • Java and JavaScript: Embedded in web page
      • Downloaded with the web page and activated by an event
    • Active X and VBScript: embedded in web page
      • Download with page and activated by event
      • Oriented to Windows applications

Web Application Servers

A ‘web application server’ is a specialized server that interfaces with web services such as databases, search engines. The client (eg browser) can query these data sources and have results generated dynamically.

  • Middleware application that expands the functionality of web servers by linking them to a wide range of services
  • Uses
    • Connect to and query database from web page
    • Create dynamic web search pages
    • Enforce referential integrity
Features of Web Application Servers
  • Security and user authentication
  • Access to multiple services
  • Integrated development environment
  • Computational languages
  • Automation generation of HTML pages
  • Performance and fault - tolerant features
  • Database access with transaction management capabilities

Examples of web application servers: WebLogic, ColdFusion/JRun, WebSphere Application Server, WebObjects, IIS, WildFly (JBoss), Tomcat, Jetty..

Each web application server (WAS) offers its own programming environment. Eg. CFML can be used to consume web services and present results for the end user (likewise for DB result sets).