Upgrade to remove ads
Terms in this set (29)
Open Database Connectivity (ODBC)
A standard application programming interface (API) for accessing database management systems (DBMS)
A web server that fulfills web server request - how can it connect to the database?
a. middleware as a part of that Web server process, act like some kind of a database connector.
b. The second option is you can have a dedicated database server down in the middle is called a middleware (like web application server WAS). It can communicate with the database and send results back to the Web server
c. A dangerous option - place connectivity right on the database machine itself. But someone could hack all the data.
Also, database and web-server should never be the same thing. Crash, low security, run out of memory.
Provides and interface between the application program and the database. Exists as a separate machine (down the middle) or as part of the Web server.
Data management application (e.g. Oracle RDBMS) that is used to store data generated by an application program.
These days we call it a data source, which does data generation at run time.
These days, how would Grubhub fulfill your order?
Uses something called micro services. Now there is not one middleware machine, there are multiple, and also there are multiple databases
A long time ago! No one uses this anymore
- A connection interface where each vendor provided their own API
- They are highly incompatible. They might all be called SQL, but they're very different things. So the SQL used for one company won't work for another.
In the 80's. Open Database Connectivity (ODBC): Microsoft's implementation of a superset of SQL Access Group Call Level Interface (CLI) standard for database access.
Allows Windows application to access relational data sources by using SQL via an API. Knew what kind of backend to install (e.g. Access, MS SQL, Oracle) Then the API would translate the calls appropriately and then get results back to you.
Too low-level, C++
ODBC was too low-level so over the years Microsoft made these
Microsoft RDO (remote data objects) DAO (data access objects), Jet Engine
Microsoft Jet Engine 'Joint Engine Technology'
Another API. Like a wrapper, Jet calls to ODBC which gets data access.
Microsoft DAO (data access objects)
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
You can make a DAO call which calls to Jet which calls to ODBC which gets data access. C++ layer
Microsoft RDO (remote data objects)
Higher-level object-oriented API used to access remote database servers
Dynamic Link Libraries (DLL)
Implements ODBC, DAO, and RDO as shared code that is dynamically linked to the Windows operating environment. Responsible for everything running on a PC that eventually makes a database call. Deleting one of the odbc.dll would mess up data access.
High-level and low-level ODBC
High-level is what the user programs. API through which application programs access ODBC functionality.
High-level gets translated to lower level driver that communicates directly with the DBMS, knows what database is installed.
Object Linking and Embedding Database
Database middleware that adds object-oriented functionality for access to data.
Series of COM objects (application independent - one app can send an object to another app) provides low-level database connectivity for applications.
e.g. in PowerPoint, a dynamic slide has some query that can run against a database and update the graph you have.
- consumers request data
- providers (produce data - from data sources)
Unix. Provides a standardized way for objects within different platforms, languages and environments to communicate.
Like COM. COM, COM+ DCOM were modeled after CORBA
Microsoft ActiveX Data Objects (ADO)
OLE-DB, DAO, RDO don't provide support for scripting languages. Provides high-level application-oriented interface to interact with OLE-DB, DAO, and RDO. Created to complete with Flash. Unified interface to access data from any programming language that uses underlying OLE-DB objects. Visual Basic API.
C# API. A data access component that is part of Microsoft's .NET framework (improves on the ADO + OLE-DB functionality). .Net has a common language interface (CLI) so clients can be programmed in things like Python, Java, Ruby, etc.
Component-based platform for developing distributed, heterogeneous, interoperable applications. Manipulates any type of data using any combination of network, operating system and programming language
DataSet: disconnected memory-resident representation of database. Going to legacy databases and getting data out in XML format by column collection, data row collection or constraint collection.
JDBC (Java Database connectivity)
Can run on ANY machine. Application programming interface that allows a Java program to interact with a wide range of data sources. A simple URL is all is needed to connect to a db. On a window it'd call ODBC, on a Mac it'd call the Mac operating system, or it could go to middleware or directly to a database, but it hides this from the user.
*Java: Object-oriented programming language that runs on top of web browser software, on smartphones, on the desktop and on servers
-Company can leverage existing technology and don't need to retrain staff
-Allows direct access to database server (using URL) or access via database middleware
-Allows use of SQL to manipulate data in databases
-Provides a way to connect to databases through an ODBC driver
So first, get a connection DriverManager.getConnection(), from the connection create a statement
Statement myStmt = myConn.createStatement();
then run SQL
ResultSet myRslt =myStmt.executeQuery("...");
myRslt is a set of rows (a table) that you can iterate through
Modern day micro services
Database internet connectivity
You are sending application calls (requests), function calls, all over the Internet. And each service is like a function, it expects function parameters and it's going to return your result. Loosely coupled.
Permit rapid response by bringing new services and products to market quickly, increases customer satisfaction through the creation of web-based support services, allow anywhere, anytime data access using mobile smart devices via the internet.
Web server is the main hub through which Internet services are accessed.
: Program that interacts directly with the web server - also known as a web-to-database middleware. We don't do it like this these days for security purposes. Instead use a dedicated database server down in the middle
In the old days, database connectivity was done by having a part of the Web server run programs in a special language called ___
Web Server CGI and API interfaces
Client computer connects to a TCP/IP network then to a server computer. You can write Perl CGI programs or you can write Visual Basic for API. You can use CORBA to interface a webserver with a DB. You can use Server Side Includes (SSIs) also for DB connectivity (templates that look like HTML but have extra comments which can be read by a parser that can then talk to a database and get results and use those extra HTML comments and put data in them) - one of the most famous is cold fusion markup language (CFML).
Java has many ways to connect a client to a DB via a webserver
applets, sockets (you can directly program at the TCAP IP level if you want to get in and actually get actual packets of data from a database), servlets (Or you can write something called a servlet that runs on servers and then your client can run one of these servlet.), RMI (So this is the danger where you take this middleware and actually put it on the database itself, remote method invocation), COBRA, agents (API where you can run a process and you can log out, and the process keep running on multiple servers)...
plug-in, java (applets don't work everywhere), activeX, VBscript
PHP can run on the server and the client can make a PHP call. But PHP is not maintained by some large international organization, so it can go away.
web application server WAS
A type of middleware application that expands the functionality of web servers by linking them to a wide range of services (databases, search engines, services)
It is used to:
- connect to and query database from web page
- create dynamic web search pages
- enforce referential integrity
^ some database functionality is built into it. The only thing this does not have is actual table rows of data --> that's in the RDBMS
features of web application server WAS
- security and user authentication
- access to multiple services
- integrated development environment (IDE)
- computational languages
- automation generation of HTML pages
- performance and fault-tolerant features
- database access with transaction management capabilities (if half fail and half succeed, it would kill all of them)
examples of web application servers WAS
WebLogic, ColdFusion/JRun, WebSphere Application Server, IIS, WildFly, Tomcat, Jetty...
YOU MIGHT ALSO LIKE...
Database Management System Chapter 15, Chapter 14:…
Chapter 15 Final Study
Quiz 15 Questions
OTHER SETS BY THIS CREATOR
585 Lecture 3