Managing Information Technology

(Frankie) #1

52 Part I • Information Technology


today, applications use AJAX (Asynchronous JavaScript
and XML) to create dynamic applications that do not
require the browser to reload the page as it gets additional
information from the server. Gmail and Google Maps are
two examples with which you may be familiar.
All Web application development technologies or
server-side programming environments operate using a
similar model in that they all provide mechanisms for
generating dynamic Web pages, encoding complex
business logic on the server side as well as reading and
writing to a variety of database management systems.
Common examples of server-side programming environ-
ments are PHP, Java Servlets and Java Server Pages (JSP),
Microsoft’s Active Server Pages (ASP, ASP.NET),
and Adobe’s ColdFusion. Currently, Java Servlets/JSP
(for all platforms, especially UNIX and Linux) and
ASP/ASP.NET (primarily for Windows) are the preferred
technologies for developing large e-business solutions. For
small and medium-sized applications, developers prefer
the flexibility and ease of development in languages such
as PHP and ColdFusion.


Database Management Systems


Adatabase management system (DBMS)—our third
type of support software—is software that is used to cre-
ate, manage, and protect organizational data. A database


management system works with the operating system to
store and modify data and to make data accessible in a
variety of meaningful and authorized ways.
A DBMS adds significant data management capabili-
ties to those provided by the operating system. The goal is to
allow a computer programmer to select data from disk files
by referring to the content of records, not their physical
location. This makes programming easier, more productive,
and less error-prone. Also, this allows systems professionals
responsible for database design to reorganize the physical
organization of data without affecting the logic of programs,
which significantly reduces maintenance requirements.
These objectives are given the umbrella term data independ-
ence. For example, a DBMS would allow a programmer to
specify retrieval of a customer record based only on knowl-
edge of the customer’s name or number. Furthermore, once
the customer record is retrieved, a DBMS would allow
direct reference to any of the customer’s related order
or shipment records (even if these records are relocated or
changed). Thus, a DBMS allows access to data based on
content (e.g., customer number) as well as by association
(e.g., orders for a given customer).
Adatabaseis a shared collection of logically related
data that is organized to meet the needs of an organization.
A related term is a data warehouse,a very large database or
collection of databases, to be considered in Chapter 5.
A DBMS is the software that manages a database. A DBMS

Why is Object Technology Valuable?
One reason that the term “object oriented,” or “OO,” is often confusing is that it is applied so widely.
We hear about object-oriented user interfaces, object-oriented programming languages, object-oriented
design methodologies, object-oriented databases, even object-oriented business modeling. A reasonable
question might be: Is this term used because OO has become a synonym for “modern and good,” or is
there really some substantial common thread across all these object-oriented things?
I believe that there is such a common thread, and that it makes the object paradigm useful in all
of these diverse areas. Essentially it is a focus on the “thing” first and the action second. It has been
described as a noun-verb way of looking at things, rather than verb-noun. At the user interface, first the
object is selected, then the action to be performed on the object. At the programming language level,
an object is asked to perform some action, rather than a procedure called to “do its thing” on a set of
parameters. At the design level, the “things” in the application are defined, then the behavior (actions)
of these things is described.
Object technology provides significant potential value in three areas, all closely related: productiv-
ity, maintainability, and paradigm consistency. We must change application development from a people-
intensive discipline to an asset-intensive discipline. That is, we must encourage and make feasible the
widespread reuse of software components. It is exactly in this “reusable component” arena that object
technology can contribute significantly. The aspects of object technology that help in reuse are encap-
sulation (which allows the developer to see a component as a “black box” with specified behavior) and
inheritance (which encourages the reuse of code to implement identical behavior among different kinds
of objects).
[Radin, 1996]
Free download pdf