practice
I
M
A
G
E
B
Y
A
N
D
R
I
J
B
O
R
Y
S
A
S
S
O
C
I
A
T
E
S
/
S
H
U
T
T
E
R
S
T
O
C
K
THE PROLIFERATION OF mobile devices and the
interconnectivity between them has created new
application opportunities. These new applications
are no longer limited to a single system space but
are spread across many system spaces. This shift of
application from single system-spaced, host-based
systems to multisystem-spaced solutions is being
hampered by software toolsets that are stuck in the
older sequential computational models.
This article defines this new requirement as
a network application. It argues how current
programming based on computation is not the right
model and suggests that application development
has to move from software based on a computational
premise to a communication or interaction premise. It
closes with a simple CRUD (create, read, update,
delete)-based application developed
with interactions to illustrate the
point, laying out the challenges and
explaining how such a system will not
have algorithms at its center but will
work by using interactions.
Imagine a patient-doctor encounter in the future, where the patient,
who has a personal electronic medical
records (EMR) device, is identified to
the doctor’s office either by an near-field communication (NFC) wave or a
physical scanning of the EMR device
into a receptacle. The EMR device
talks to the doctor’s office system, providing all the necessary information.
Prescriptions could be sent directly to
the pharmacy, with a sync point given
to the EMR. Thus, when the patient
goes to the pharmacy, the medicine is
delivered promptly.
This is the network era, requiring
new approaches to software. Host-centric programming that limits itself
to single system space will not be sufficient for the multisystem-space needs
of this new digital era.
What Is a Network-Based Application?
Applications are of two types: stand-alone and networked. 2, 9 Applications
such as word processing on PCs,
multiuser programming on a mainframe, or distributed computing using
Simple Object Access Protocol (SOAP)
or object request broker (ORB) are
stand-alone. Stand-alone applications
provide a single machine view9 to the
application programmer by having a
single entry point (that is, the calling
program hands over control to the application and takes back control after
the application is complete). The application accesses data from the environment by executing I/O routines
that runs parallel to the main routine.
The program counter in the machine
controls the program. The stand-alone
application runs on top of the machine
(virtual or real).
In the example EMR application, notice how the programmer does not view
the application as one hierarchical pro-
Network
Applications
Are
Interactive
DOI: 10.1145/3133319
Article development led by
queue.acm.org
The network era requires new models,
with interactions instead of algorithms.
BY ANTONY ALAPPATT