0% found this document useful (0 votes)
24 views

CS Unit 2

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

CS Unit 2

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Client Server and Internet:

Web Client Server

TECHNICAL TERMS:

1. World Wide Web


The WWW project has the potential to do for the Internet what Graphical User Interfaces (GUIs) have done for
personal computers -- make the Net useful to end users.
2. Hypertext
Hypertext provides the links between different documents and different document types. If you have used
Microsoft Windows Win Help system or the Macintosh HyperCard application, you likely know how to use
hypertext. In a hypertext document, links from one place in the document to another are included with the text.
3. Uniform Resource Locators (URLs)
URLs provide the hypertext links between one document and another. These links can access a variety of
protocols (e.g., ftp, gopher, or http) on different machines (or your own machine).
4. Common Gateway Interfaces (CGI)
Servers use the CGI interface to execute local programs. CGIs provide a gateway between the HTTP server
software and the host machine.
5. Hypertext Markup Language (HTML)
In a markup language, the text is mixed with the marks that indicate how formatting is to take place. For
example, Lynx and Mosaic do not insert a blank line before unnumbered user lists, but Netscape does.
6. Forms
One of the most prominent uses of CGI is in processing forms. Forms are a subset of HTML that allows the user
to supply information. The forms interface makes Web browsing an interactive process for the user and the
provider and it shows a simple form.
7. Gateways
Web gateways are programs or scripts used to access information that is not directly readable by the client. CGI
provides a solution to the problem in the form of a gateway.
8. Communication threads are used to handle parts of the communication between the applications and the
database server.
9. Request threads perform the SQL operations requested by the applications. When the Database Server is
requested to perform a SQL operation it allocates one of its Request threads to perform the task.

Introduction about Internet:

The WWW is a new way of viewing information -- and a rather different one. If, for example, you are viewing
this paper as a WWW document, you will view it with a browser, in which case you can immediately access
hypertext links. If you are reading this on paper, you will see the links indicated in parentheses and in a different
font. Keep in mind that the WWW is constantly evolving. We have tried to pick stable links, but sites reorganize
and sometimes they even move. By the time you read the printed version of this paper, some WWW links may
have changed.

World Wide Web

The WWW project has the potential to do for the Internet what Graphical User Interfaces (GUIs) have done
for personal computers -- make the Net useful to end users. The Internet contains vast resources in many fields
of study (not just in computer and technical information). In the past, finding and using these resources has been
difficult.
The Web provides consistency: Servers provide information in a consistent way and clients show information
in a consistent way. To add a further thread of consistency, many users view the Web through graphical
browsers which are like other windows (Microsoft Windows, Macintosh windows, or X-Windows) applications
that they use.

1
A principal feature of the Web is its links between one document and another. These links, described in the
section on hypertext, allow you to move from one document to another. Hypertext links can point to any server
connected to the Internet and to any type of file. These links are what transform the Internet into a web.

History of the Web

The Web project was started by Tim Berners-Lee at the European Particle Physics Laboratory (CERN) in
Geneva, Switzerland. Tim wanted to find a way for scientists doing projects at CERN to collaborate with each
other on-line. He thought of hypertext as one possible method for this collaboration.
Tim started the WWW project at CERN in March 1989. In January 1992, the first versions of WWW
software, known as Hypertext Transfer Protocol (HTTP), appeared on the Internet.
By October 1993, 500 known HTTP servers were active.
When Robelle joined the Internet in June 1994; we were about the 80,000th registered HTTP server.
By the end of 1994, it was estimated that there were over 500,000 HTTP servers. Attempts to keep track of the
number of HTTP servers on the Internet have not been successful. Programs that try to automatically count
HTTP servers never stop -- new servers are being added constantly.

Hypertext
Hypertext provides the links between different documents and different document types. If you have used
Microsoft Windows Win Help system or the Macintosh HyperCard application, you likely know how to use
hypertext. In a hypertext document, links from one place in the document to another are included with the text.
By selecting a link, you are able to jump immediately to another part of the document or even to a different
document. In the WWW, links can go not only from one document to another, but from one computer to another.

Web Client/server

Client/server describes the relationship between two computer programs in which one program, the client, makes
a service request from another program, the server, which fulfills the request. Although the client/server idea can
be used by programs within a single computer, it is a more important idea in a network. In a network, the
client/server model provides a convenient way to interconnect programs that are distributed efficiently across
different locations. Computer transactions using the client/server model are very common.
For example, to check your bank account from your computer,
A client program in your computer forwards your request to a server program at the bank.
That program may in turn forward the request to its own client program that sends a request to a database
server at another bank computer to retrieve your account balance.
The balance is returned back to the bank data client, which in turn serves it back to the client in your personal
computer, which displays the information for you.
The client/server model has become one of the central ideas of network computing. Most business applications
being written today use the client/server model. So does the Internet's main program, TCP/IP. In marketing, the
term has been used to distinguish distributed computing by smaller dispersed computers from the "monolithic"
centralized computing of mainframe computers. But this distinction has largely disappeared as mainframes and
their applications have also turned to the client/server model and become part of network computing.
In the usual client/server model, one server, sometimes called a daemon, is activated and awaits client requests.
Typically, multiple client programs share the services of a common server program. Both client programs and
server programs are often part of a larger program or application.

Relative to the Internet, your Web browser is a client program that requests services (the sending of Web pages
or files) from a Web server (which technically is called a Hypertext Transport Protocol or HTTP server) in
another computer somewhere on the Internet.
Similarly, your computer with TCP/IP installed allows you to make client requests for files from File Transfer
Protocol (FTP) servers in other computers on the Internet.
Other program relationship models included master/slave, with one program being in charge of all other
programs, and peer-to-peer, with either of two programs able to initiate a transaction.
2
A Web Client/Server Interaction:

•You select a target URL


•Browser sends an HTTP request to server.
•Server comes to life and processes the request.
•Browser interprets the HTML commands and displays the page contents

The URL Structure:

Protocol Scheme: Tells the Web browser which Internet Protocol to use when accessing a resource on a server.
Major protocols supported are FTP, News, Mailto and WAIS. HTTP is the web native protocol.
The Server Name: It specify the internet host domain name.
The Port Number: Identifies a program that runs on a particular server. Port numbers are specified by : and port
number. Http port is 80 and FTP port is 21.
The path to a target resource: Starts with the forward slash after the host and port number. Set of directory
paths and related files will be available in server side.

The language of the web:

In order to use the WWW, we must know something about the language used to communicate in the Web. There
are three main components to this language:
a)Uniform Resource Locators (URLs)
URLs provide the hypertext links between one document and another. These links can access a variety of
protocols (e.g., ftp, gopher, or http) on different machines (or your own machine).
b) Hypertext Markup Language (HTML)
WWW documents contain a mixture of directives (markup), and text or graphics. The markup directives do such
things as make a word appear in bold type. For PC users, this is completely different from WYSIWYG (what
you see is what you get) editing. However, a number of tools are now available on the market that hides the
actual HTML.
c) Common Gateway Interfaces (CGI)
Servers use the CGI interface to execute local programs. CGIs provide a gateway between the HTTP server
software and the host machine.

3
Hypertext Transfer Protocol

When you use a WWW client, it communicates with a WWW server using the Hypertext Transfer Protocol.
When you select a WWW link, the following things happen:

The client looks up the hostname and makes a connection with the WWW server.
The HTTP software on the server responds to the client's request.
The client and the server close the connection.

Compare this with traditional terminal/host computing. Users usually logon (connect) to the server and remain
connected until they logoff (disconnect). An HTTP connection, on the other hand, is made only for as long as it
takes for the server to respond to a request. Once the request is completed, the client and the server are no longer
in communication. WWW clients use the same technique for other protocols. For example, if you request a
directory at an, the WWW client makes an FTP connection, logs on as an anonymous user, switches to the
directory, requests the directory contents, and then logs off the FTP server.

HTTP Request:

HTTP Response:

4
We have to remember that each browser in effect has its own HTML style sheet. For example, Lynx and Mosaic
do not insert a blank line before unnumbered user lists, but Netscape does.

Creating HTML

Creating HTML is awkward, but not that difficult. The most common method of creating HTML is to write the
raw mark-up language using a standard text editor. Instead of hiding the HTML tags, HTML Writer provides
menus with all of the HTML elements and inserts these into a text window. To see how your documents look,
you must use a separate Web browser. Microsoft has produced a new add-on to Microsoft Word that produces
HTML is available from Microsoft at no charge. You will need to know the basic concepts of Microsoft Word to
take advantage of the Internet Assistant.

3-Tier Client Server web style

A special type of client/server architecture consisting of three well-defined and separate processes, each running
on a different platform:

▪ The user interface, which runs on the user's computer (the client).
▪ The functional modules that actually process data. This middle tier runs on a server and is often called
the application server.
▪ A database management system (DBMS) that stores the data required by the middle tier. This tier runs
on a second server called the database server.

The three-tier design has many advantages over traditional two-tier or single-tier designs, the chief ones being:

▪ The added modularity makes it easier to modify or replace one tier without affecting the other tiers.
▪ Separating the application functions from the database functions makes it easier to implement load
balancing.

3-Tier Architecture

To overcome the limitations of Two-Tier Architecture


Middle tier between UI and DB
Ways of incorporating Middle-Tier
Transaction processing Monitors

5
3-Tier TP Monitor

Online access through Time sharing or Transaction Processing


Client connects to TP instead of DB
Monitor accepts transaction, queues it and takes responsibility until it is completed
Asynchrony is achieved

Key services provided by the monitor

ability to update multiple different DBMS in a single transaction


connectivity to a variety of data sources, including flat files non relational DBMS
more scalable than a 2-tier approach
ability to attach priorities to transactions
robust security
For large (e.g., 1,000 user) applications, a TP monitor is one of the most effective solutions.
The three-tier design has many advantages over traditional two-tier or single-tier designs, the
chief ones being:
Separating the application functions from the database functions makes it easier to implement

3 Tier Applications

Most of Application’s business logic is moved to Shared host server


PC is used only for presentation services
Approach is similar to X Architecture
Both aim at pulling the main body of application logic off the desktop and running it on a shared
host.

Comparison of 2-tier with 3-tier architecture:

6
CGI: Common Gateway Interface

A HTTP server is often used as a gateway to a legacy information system; for example, an existing body of
documents or an existing database application. The Common Gateway Interface is an agreement between HTTP
server implementers about how to integrate such gateway scripts and programs. It is typically used in
conjunction with HTML forms to build database applications. How is a form’s data passed to a program that
hangs off an HTTP server? It gets passed using an end-to-end client/server protocol that includes both HTTP and
CGI. The So best way to explain the dynamics of the protocol is to walk you through a POST method
invocation.

CGI:

How the client and server programs play together to process a form’s request. Here’s the step-by-step
explanation of this interaction:

1. User clicks on the form’s “submit” button.


This causes the Web browser to collect the data within the form, and then assemble it into one long string of
name/value pairs each separated by an ampersand (&). The browser translates spaces within the data into plus
(+) symbols.
2. The Web Browser invokes a POST HTTP method.
This is an ordinary HTTP request that specifies a POST method, the URL of the target program in the “cgi-bin”
dictionary, and the typical HTTP headers. The message body-HTTP calls it the “entity”- contains the form’s
data. This is the string: name=value &name=value&...
3. The HTTP server receives the method invocation via a socket connection.
The server parses the message and discovers that it’s a POST for the “cgi-bin” program. So it starts a CGI
interaction.
4. The HTTP server sets up the environment variables.
The CGI protocol uses environment variables as a shared bulletin board for communicating information between
the HTTP server and the CGI program. The server typically provides the following environmental information:
server_name, request_method, path_info, script_name, content_type, and content-length.
5. The HTTP server CGI program starts a CGI program.
The HTTP server executes an instance of the CGI program specified in the URL;it’s typically in the “cgi=bin”
directory.
6. The CGI program reads the environment variables.
In this case, the program discovers by reading the environment variables that it is responding to a POST.
7. The CGI program receives the message body via the standard input pipe (stdin).
Remember, the message body contains the famous string of name=value items separated by ampersands (&).
The content length environment variable tells the program how much data is in the string. The CGI program
parses the string contents to retrieve the form data.
8. The CGI program does some work.
Typically, a CGI program interacts with some back-end resource-like a DBMS or transaction program-to service
the other acceptable MIME type. This information goes into the HTTP response to provide all the information
that goes into the HTTP response headers. The HTTP server will then send the reply “as is” to the client.
9. The CGI program returns the results via the standard output pipe (stdout).
The program pipes back the results to the HTTP server via its standard output. The HTTP server receives the
results on its standard input. This concludes the CGI interaction.
10. The HTTP server returns the results to the Web browser.
The HTTP server can either append some response headers to the information it receives from the CGI program,
or it sends back dynamic information to the client. As you can see, a CGI program is executed in real time; it
gets the information and then builds a dynamic Web page to satisfy a client’s request. CGI makes the Web more
dynamic. In contrast, a plain HTML document is static, which means the text file does not change.

7
CGI AND STATE

A CGI program is any program designed to accept and return data that conforms to the CGI specification. CGI
programs are the most common way for Web servers to interact dynamically with users. Many HTML pages that
contain forms, for example, use a CGI program to process the form's data once it's submitted.

The CGI protocol is stateless. It will not maintain information about the client. One client request is independent
of the other requests. The server forgets everything after the request is serviced. State maintenance means
maintaining information from one form to the next. Hidden fields within a form can be used to maintain the
state.

Hidden fields are basically invisible; they contain values that are not displayed within a form. They are used to
store information a user enters and resubmit that information in subsequent forms without having the user reenter
it or even be aware that the information is being passed around. The hidden fields act as variables that maintain
state between form submissions. It gets passed through the CGI program.

Above figure shows an electronic transaction that requires multiple form submissions, which lead to an
electronic payment. The first set of forms lets you pick the merchandise that you place on your electronic
shopping cart. The next form requests a delivery address and time. The last form presents you with the bill and
requests some form of payment.

The CGI program processes a form and then presents us with the next form; this continues until we make our
final payment or abort the transaction. The trick here is that the CGI program uses invisible fields to store
information from the previous forms in the next form. For example, it writes inside the invisible fields the goods
we are selected in the previous forms. We never see the contents of these hidden fields. We never know where
they are unless we view the html document in some editor. When we submit the form, all these hidden fields are
passed right back to the CGI program along with any new data. The CGI program stores the state of the
transaction in the forms it sends back to the client instead of storing it in its own memory.

8
SQL database servers

SQL Database Servers are the dominant model for creating client/server applications. SQL server vendors
including Oracle, Sybase, Informix and Ingres have almost become household names.

The fundamentals of SQL and Relational databases:

The relational model of database management was developed by IBM’s San Jose Research Lab in the early 70’s
by E.F.Codd. SQL stand for Structured Query Language. SQL is developed as a English like front-end query
language to the system R relational database prototype. It mainly based on set theory and predicate calculus.
SQL is having flexible commands that can be used to manipulate information collected in tables. The relational
model calls for a clear separation of the physical aspects of data from their logical representation. Data is made
to appear as simple tables that mask the complexity of the storage access mechanisms. The model frees you from
having to concern yourself with the details of how the data is stored and makes the access data purely logical.
Using SQL one need to specify the tables , columns and conditions to get any data.

Oracle Corporation was the first company to offer a commercial version of SQL with its Oracle Database in
1979. In the early 80’s IBM came out with its own SQL products: SQL/Ds and DB2.

What Does SQL Do?

The SQL language is used to perform complex data operations with a few simple commands in situations that
would have required hundreds of lines of conventional code. Physicists might call SQL "the grand unified theory
of database" because of the multifaceted roles it plays. Here is a partial list of roles:

SQL is an interactive query language for ad hoc database queries.


SQL is a database programming language.
SQL is a data definition and data administration language
SQL is the language of networked database servers.
SQL helps protect the data in a multiuser networked environment.

The ISO Standards:

Standard Properties
SQL-89 Intersection of the SQL implementations
Embedded SQL
Referential Integrity
SQL-92 Connections
BLOBs
Join Operators
Catalogs
Dynamic SQL
Domain Integrity
SQL e Object SQL
Stored Procedures
Triggers
User-Defined types
CLI (Common Language Interface)
Cursors
Multimedia

9
Functionalities of a Database Server:

In database-centric client/server architecture, a client application usually requests data and data-related services
from a database server. The database server or SQL engine responds to the client’s requests and provides
secured access to shared data.
❖ An SQL server manages the control and execution of SQL commands.
❖ It provides the logical and physical views of the data.
❖ Most database servers provide server administration features and utilities that help manage
the data.
❖ A database server also maintains dynamic catalog tables that contain information about the
SQL objects housed within it since an SQL server allows multiple applications to access the
same database at the same time.
❖ The server manages the recovery, concurrency, security and consistency aspects of a database.
❖ The server manages the lock mechanism during the course of executing a transaction and
protecting database objects from unauthorized access.

SQL Database Server Architectures:

There are three server architectures that databases use to handle remote database clients as Process-per-client,
Multithreaded and Hybrid.

1.Process-per-client architecture provides maximum bulletproofing by giving each database


client its own process address space. The database runs in one or more separate background
processes.

EG: DB2/2 V1, INFORMIX, ORACLE6

Advantages:
❖ It protects the users from each other
❖ It protects the database manager from the users
❖ The processes can easily be assigned to different processors on a
multiprocessor SMP machine.

10
Disadvantages:
❖ It consumes more memory and CPU resources.
❖ It can be slower because of process context switches and inter process
communications overhead.

2. Multithreaded architectures provide the best performance by running all the user
connections, applications and the database in the same address space. This architecture
provides its own internal scheduler and does not rely on the local OS’s tasking and address
protection schemes.

EG: Sybase, SQL server

Advantages:
❖ It conserves memory and CPU cycles by not requiring frequent context
switches.
❖ The server implementations tend to be more portable across platforms
because they don’t require as many local OS services.
Disadvantages:
❖ A misbehaved user application can bring down the entire database server
and all its tasks.
❖ User programs that consist of long-duration tasks can hog all the server
resources.
❖ The preemptive scheduling provided by the server tends to be inferior to
the native OS’s scheduler.

3. Hybrid architectures consists of 3 components:


(1) Multithreaded network listeners that participate in the initial connection task by
assigning the client to a dispatcher.
(2) Dispatcher tasks that place messages on an internal message queue, and then
dequeue the response and send it back to the client
(3) Reusable-shared server worker processes that pick the work off the queue,
execute it, and place the response on an out queue.
EG: Oracle7

11
Advantages:
❖ It provides a protected environment for running user tasks without
assigning a permanent process to each user.

Disadvantages:
❖ Queue latencies.

EXPLAIN THE TERMINOLOGY: Stored Procedures, Triggers and Rules.

1) Stored procedure is a named collection of SQL statements and procedural logic that is
compiled, verified, and stored in the server database. Stored procedure is a database-centric,
RPC-like SQL entity that is persistent, shared, and has a name. They also provide better site
autonomy. It is typically treated like any other database object and registered in the SQL catalog.
Access to the stored procedure is controlled through the server’s security mechanisms.
Stored procedures accept input parameters so that multiple clients using different input data can
use a single procedure over the network. The client invokes a remote procedure and passes it the
parameters required to do a job. A single remote message triggers the execution of a collection of
stored SQL statements. The result is the reduction in network traffic.
The concept of stored procedures is used to enforce business rules and data integrity; to perform
system maintenance and administration functions; and to extend the database server’s functions.
The primary use of stored procedures is to create the server side of an application’s logic.
The encapsulation features of stored procedures are well suited for creating performance-critical
applications known as “On Line Transaction Processing” (OLTP). The applications typically
• Receive a fixed set of inputs from remote clients
• Perform multiple precompiled SQL commands against a local database
• Commit the work
• Return a fixed set of results

Static SQL statements are defined in code and converted into an access plan at program
preparation time. The SQL statement is known before the program is run. The database objects
12
need to exist when precompiling static SQL statements. Static SQL is a performance
enhancement feature. Static SQL is used for writing highly optimized transaction programs.

Dynamic SQL statements are created and issued at run time. They offer maximum flexibility at
the expense of execution speed. Dynamic SQL is an interpretive form of the SQL language. The
database objects need not exist when precompiling static SQL statements. The compilation of
dynamic SQL statements is done at run time and must be repeated every time the same statement
gets executed again. Dynamic SQL is used for writing general database programming utilities. In
general, stored procedures provide better distribution of intelligence than static or dynamic
remote SQL.

Disadvantages:

• Provides less ad hoc flexibility than remote dynamic SQL


• Perform very poorly if their plans are not refreshed
• No transactional synchronization
• Totally non-standard.

2) Triggers are special user-defined actions—usually in the form of stored procedures—that are
automatically invoked by the server based on data-related events. Triggers can perform complex
actions and can use the full power of a procedural language. Triggers are called implicitly by
database-generated events.
3) Rules are special types of trigger that is used to perform simple checks on data.

Triggers and rules are attached to specific operations on specific tables. Triggers and rules are
typically used to perform tasks related to changes in tables, such as auditing, looking for value
thresholds, or setting column defaults. Enabled triggers or rules are executed whenever an SQL
DELETE, INSERT or UPDATE commands update a table. A separate trigger or rule can be
defined for each these commands, or a single trigger may be defined for any updates to a table.

13
Middleware and Federated Databases

Federated database system is a type of meta-database management system (DBMS), which transparently maps
multiple autonomous database systems into a single federated database. The constituent databases are
interconnected via a computer network and may be geographically decentralized.

Middleware software is a layer between two systems that makes it easy for the two to communicate and is
considered the glue that holds together applications, making seamless connectivity possible without requiring the
two applications to communicate directly.

Middleware services can be used for the following purposes:


- Security
- Application Server
- Message Queues
- Web Server
-

To Create the ‘single database illusion’ the middleware must make two sets of customers happy: 1) the
developers of applications and front-end tools who need a single OS-independent SQL API to get to any
database server; and 2) the MIS connectivity people who must make the disparate desktop clients talk to the
‘federated’ database servers on their enterprise networks.

SQL Middleware options:

Middleware starts with the API on the client side that is used to invoke a service, and it covers the transmission
of the request over the network and resulting response. Middleware does not include the software that provides
the actual service.

1) The Single Vendor Options:

A single vendor SQL solution can fulfill all our shared data needs. Below figure shows a typical single-vendor
middleware solution.

Components of single vendor SQL client/server offering:

▪ A vendor-proprietary SQL API that works on a multiplicity of client platforms: Most vendors support
DOS, Windows and OS/2 Clients. Some vendors support Unix also.

14
▪ A vendor-proprietary SQL Driver: This is a thin client run-time element that accepts the API calls,
formats an SQL message, and handles the exchanges with the server. The format of the SQL message is
known as FAP (Format and Protocol).
▪ FAP support for multiple stacks: Support for multiple protocol stacks like IPX/SPX and TCP/IP.
▪ Gateways to other vendor databases: Support for dynamic SQL, simple data extraction and queries and
not for transaction processing.
▪ Client/Server database administration tools: Manage Database from remote location using some
administration tools.
▪ Front-End graphical application development and query tools: These help us to create visual interfaces
to the database server.

2) The SQL Multivendor Database:

The below figure shows the architecture of multivendor environment. The inconsistencies that we will
immediately face are:

▪ Different SQL APIs Make problems to write a common set of applications.


▪ Multiple database drivers eat up precious memory space on the client machines.
▪ Multiple FAPs and no interoperability means that the database protocols from the different
vendors are simply sharing the LAN; they cannot talk to one another.
▪ Multiple administration tools means that database administrators must familiarize themselves with
a set of managing workstations, each of which have their own semantics and user interfaces.

Middleware Solution 1: The Common SQL Interface:

In this model, a common SQL API is used by all the applications, and then let the server differences be handled
by the different database drivers.

15
Problems associated with this model:

- Which SQL API to standardize on? How are stored objects on the server defined and invoked? Will
the common interface be slower than the native vendor implementation?
- Multiple drivers are still required. should the location of driver in the client side or in the server side?
Who provides the drivers to the “common API”? What is the benefit of vendors to support common
driver over their own native driver?
- Multiple managing stations and multiple FAPS are still required. The problems are invisible to the
developer but still exist. The system administration also tedious.

Middleware Solution 2: The Open Gateway:

The main objective of open gateway is to standardize on one or two open industry FAPS, supply a common
client driver for the FAP, and develop a gateway catcher for each server. The gateway catcher will catch the
incoming FAP messages and translate them to the local server’s native SQL interface. The commonly available
FAPs are ISO/SAG RDA, IBM’s DRDA and EDA/SQL FAP.

16
Middleware Solution 3: The Federated FAP:

Assume we have both the common FAP and the common API. A federated environment that provides the same
level of completeness as the single vendor implementation is shown in the below figure. The gateway catchers
are removed to improve the server performance, reduce the cost and simplify maintenance. A single database
admin interface is available. The SQL vendors need to replace their own private FAPs with the common API.
There should be a single admin window available to manage the federated databases as like IBM’s DataHub.

SQL API Type 1 – Embedded SQL (ESQL):

SQL API styles: CLI and ESQL

17
Embedded SQL is an ISO SQL-92 defined standard for embedding SQL statements within ordinary
programming language like C, COBOL and FORTRAN. Each SQL statement is flagged with language-specific
identifiers that mark the beginning and end of the SQL statement. This approach requires running the SQL
source through a precompiler to generate a source code file that the language compiler understands. As an
example, for C, an embedded SQL statement must start with the EXEC SQL keyword pair and end with a
semicolon (;). These bracketed statements will be processed by the precompiler and anything else in your source
code will be passed through unchanged. Precompilers are tied to a particular database product; one must
recompile their code for each vendor’s database server.

SQL API Type 2 - Call Level Interface (CLI):

The alternative to Embedded SQL is to use a callable SQL API for database access. An API does not require a
precompiler to convert SQL statements into code, which is then compiled and bound to a database. Instead, an
API allows us to create and execute SQL statements at run time. In theory, a standard API can help us write
portable applications that are independent of any database product.

Examples: X/Open SAG CLI, Microsoft ODBC CLI.

Data Warehouses

OLTP:

Online transaction processing (OLTP) is a class of systems that supports or facilitates high transaction-oriented
applications. OLTP’s primary system features are immediate client feedback and high individual transaction
volume. OLTP is mainly used in industries that rely heavily on the efficient processing of a large number of
client transactions, e.g., banks, airlines and retailers. Database systems that support OLTP are usually
decentralized to avoid single points of failure and to spread the volume between multiple servers. OLTP
applications also require tight controls over the security and integrity of the database.

In OLTP systems, the client typically interacts with a Transaction Server instead of a Database Server. OLTP
servers are of two types:
- OLTP Lite - provided by stored procedures
- OLTP Heavy – provided by TP Monitors.

OLTP applications require code to be written for both the client component and for the server transactions. The
client interaction with the transaction server is typically limited to short, structured exchanges. The exchange
consists of a single request/reply as opposed to multiple SQL message exchanges.

Decision-Support System:

A decision support system (DSS) is a computer-based application that collects, organizes and analyzes business
data to facilitate quality business decision-making for management, operations and planning. A well-designed
DSS aids decision makers in compiling a variety of data from many sources: raw data, documents, personal
knowledge from employees, management, executives and business models. DSS analysis helps companies to
identify and solve problems, and make decisions.
Decision Support Systems are not generally time-critical and can tolerate slower response times. Client/Server
decision support systems are typically not suitable for mission-critical production environments. They have poor
integrity controls and limited multitable access capabilities. Finding information may involve large quantities of
data, which means that the level of concurrency control is not very granular.

18
Executive Information System:

Executive Information System (EIS) are even more powerful, each-to-use, and business-specific than DSS tools.
They are more expensive. The EIS tools have recently expanded their scope and offer a broader range of
functions at the enterprise level. It can be called as Enterprise Information System as these systems now have
hundreds of users with many roles such as executive, manager and business analyst. The DSS/EIS system
referred to as Online Analytical Processing (OLAP) or Multidimensional Analysis (MDA) tools.

Production Data : Data collected from OLTP applications.


Decision Support/Informational Data: Data collected from multiple sources.

Data Warehouse:

A data warehouse is a relational database that is designed for query and analysis rather than for transaction
processing. It usually contains historical data derived from transaction data, but it can include data from other
sources. It separates analysis workload from transaction workload and enables an organization to consolidate
data from several sources.

Elements of Data warehousing:

1. The data replication manager manages the copying and distribution of data across databases as
defined by the information hound. The hound defines the data that needs to be copied, the source and
destination platforms, the frequency of updates, and the data transforms. Refresh involves coping over
the entire data source; update only propagates the changes.

2. The informational database is a relational database that organizes and stores copies of data from
multiple data sources in a format that meets the needs of information hounds. It also stores metadata that
describes the contents of the informational database. System level metadata describes the tables, indexes
etc; semantic-level metadata describes the contents of the data to an information hound. The information
database can be a personal database on a PC, a medium-sized database on a local server, or a massively
parallel database on a enterprise server.

19
3. The information directory combines the functions of a technical directory, business director, and
information navigator. Its primary purpose is to help the information hound find out what data is
available on the different databases, what format it’s in, and how to access it.
4. EIS/DSS tool support is provided via SQL. Most vendors support ODBC and some other protocol.
Some tools provide sequential access of large data quantities than access to a single record.

Warehouse Hierarchies: The Datamarts:

Define-Data marts: Data warehousing is too ad hoc and customer-specific to be provided as a


single shrink-wrapped solution. Once the data gets into the enterprise warehouse, it can then be
distributed to individual departments as needed is called as data marts.

We can create almost any type of topology with data warehouses. Below figure shows a multilevel topology that
is currently very popular.

The Top-Down approach to Data Warehousing

All data extracts from production databases are first applied against an enterprise data warehouse. Once the data
gets into the enterprise warehouse, it can then be distributed, as needed, to departmental warehouses, also known
as Datamarts. These Datamarts are organized by subjects that are of interest to a department; for example, sales
data and customers for the West Region. There is also a growing interest in mobile Datamarts. These are
personal warehouses that we can load in a laptop and take with us on the road.

20
GroupWare Server

GROUPWARE

Client/server groupware is a collection of technologies that allow us to represent complex processes that center
around collaborative human activities. The components of the groupware are:

1. Multimedia document management


2. Workflow
3. E-mail
4. Conferencing
5. Scheduling
6. Calendaring

Multimedia
Workflow E-mail Conferencing Scheduling
Documents

Groupware used to automate customer service and make a company more responsive. Groupware also has the
potential to flatten organizations and remove layers of bureaucracy. It allows direct contributors-wherever they
may be-to collaborate on a job using client/server networks. It helps manage the product through its various
phases; it also allows the contributors to exchange ideas and synchronize their work. It keeps track of the
collective memory of the group. The other names for groupware are collaborative computing, workgroup
computing.

“Groupware is the software that supports the creation, flow and tracking of non-
structured information in direct support of collaborative group activity”.

21
1. Scheduling: It is a native groupware technology. There is extensive innovation behind the
electronic scheduling of meetings, sharing calendars and “to do” lists. The client front-ends make
excellent use of GUI facilities; the servers use background tasks, shared data and triggers to manage
and schedule group events. If the scheduling and calendaring technologies are grouped together, a
workflow manager would be able to automatically add a meeting to the calendars of all the
participants, schedule a meeting room, and send them reminder notices or a workflow manager
could consult group calendars to discover who is on vacation and route work accordingly. EG:
Calendaring and scheduling API (CSA).

2. Conferencing: Conferencing or “electronic meetings” is another groupware technology, which can


be divided into two types:

• Real time conferencing: Real time conferences allow groups to interactively collaborate
on a joint project using instantly refreshed document replicas, electronic whiteboards,
different colored cursors with the initials of each participant and a designated chairperson
that controls access to the shared document. Participants can speak on their microphones
and see each other in video windows. Lotus makes the Real time Notes conferencing
package available at no cost in Notes clients.
• Anytime conferencing: Anytime conferences allow people to participate in-group
discussions when and where they want. People can join the discussion, add their own two
cents and leave at anytime. This flexible environment helps articulate spontaneous groups
around a topic of interest—customer support, OS advocacy, shared problems and project
tracking. The medium is open and democratic. Everyone gets the opportunity to express
him or herself—ideas are never lost. As these conferences flourish and multiply, tools are
provided for viewing and navigating through the mazes of information they contain.
Conferences provide one more technology that helps articulate the “group” in groupware.

3. Multimedia Document Management: The groupware document management paradigm is a


generalization of the electronic imaging file cabinet.

EG: The basic unit of storage in groupware such as Lotus Notes is the document. A notes
document has an extremely flexible structure; it can be tagged with properties such as client,
region and subject. A notes document can have any number of BLOB-like attachments. Notes
supports a multimedia document architecture, which means that it can handle multiple data types
like text, images, graphics, voice clips and video.

Related collections of Notes documents are stored in databases that can then be indexed and
retrieved by any of the documents’ properties, or by the actual contents of the documents. A note
also supports full-text indexing. In addition, Notes created its own document database technology
from scratch; unlike the image vendors, it does not build on top of existing file and SQL database
servers.

22
Image
Server
scanner

1. Workflow
1. Capture
2. Document
2. Compress
management
3. Display
3. Image
4. Index
storage

4. Workflows: Workflow is the “up and coming” client/server technology that can be used to
automatically route events from one program to the next in structured or unstructured client/server
environments. The “classical” workflow paradigm is a river that carries the flow of work from port
to port and along the way value gets added. Workflow defines the operations that must be visited
along the way and what needs to be done when exceptions occur. Workflows can be fuzzy,
deterministic or highly repetitive.

Approval

Credit Answer
Loan request Appraisal Tile company
Analysis customer

Approval

Workflow River

Groupware introduces a new breed of client/server workflow software for the masses. The new
workflow packages will have the counterparts in the following areas:
❖ Support for ad hoc user needs
❖ Low-cost
❖ Integration with other applications
❖ Programming with visual metaphors
❖ Integrations with e-mail, MOM or RPC
❖ Provide facilities for tracking work-in-progress
❖ Provide users with tools to complete an action
❖ Provide APIs that let developers customize workflow services

Workflow model must take into account of three R’s as


❖ Routes define the paths along which the object moves.
❖ Rules define what information is routed and to whom
❖ Roles define job functions independently of the people who do it.

23
There are two types of workflow models as

❖ Process-oriented workflows are used to automate business systems that have


definable, repetitive and well-understood policies and procedures. This type of
workflow is a natural candidate for TP monitor or long-lived transactions.
❖ Ad hoc workflow deals with short-lived and unstructured work processes. It is used
for incremental automation—leaving anything the system can’t handle to humans.

Workflow routes use splits and joins which can be categorized as And-Splits (explode an object
into many parts), Or-Splits (peel off a few parts from a group) and Or-Joins (allow certain
members to rejoin the group). Every action in the workflow consists of four phases as
Preparation, Negotiation, Performance and Acceptance. The workflow client API consists of 56
function calls divided into 4 broad categories as Connection functions, Process control and status
functions, Activity control and status functions and Administration and work list control
functions.

5. The Electronic mail Component: E-mail is so important to groupware because it matches the
way people work A E-mail is used to send something to others without making a real-time
connection; the recipients don’t have to respond to sends until they are ready to do so. Most
electronic mailboxes will soon be globally interconnected through mail backbones and gateways.
Mail-enabled groupware applications can take advantage of very extensive mail infrastructure to
send and receive information and communicate directly with users—electronic mail is one of the
most hassle-free forms of distributed interactions. Mail-enabled applications still need to access
mail services. Electronic Data Interchange (EDI) is becoming an important source of mail-enabled
business transactions. A common mail API will have simple messaging services, message store
manipulation, address book and directory services, mail object manipulation, authentication and
security services and service provider interface.

6. Group Calendaring: Electronic scheduling of meeting sharing calendar to do lists : Lotus


Organizer, Meeting Maker,MS schedule, Ms outlook

24

You might also like