An important issue for the success of a database application is the effecti
veness of its interface. Frequently a relevant part of the programming effo
rt is devoted to the generation of interfaces. The visual programming envir
onments reduce only partly this effort, and in particular, things become mo
re complicated when data coming from different sources (different views in
the same database or even views from different databases or systems) are to
be related and must cooperate in the data navigation and manipulation task
. To overcome this problem we present a new database access paradigm based
on an algebra on the domain of computational abstractions called "services"
which include both dimensions: the data access computation and the user in
teraction. This means that the interaction is not implemented by using sepa
rated constructs as happens for traditional computational models; on the co
ntrary, as the interaction is an integral part of the service paradigm, the
user interaction is computed starting from the declarative specification o
f the data access itself. The combination of services in a service expressi
on through the operators defined by the service algebra makes it possible t
o generate cooperating user interfaces for complex data navigation and mani
pulation. Through algebraic properties, which hold both from the data and u
ser interface point of view, the service expressions can be simplified and
optimized guaranteeing their initial semantics. The paper shows the applica
tion of the service algebra to the relational environment by means of a sim
ple extension to SQL. Finally, the paper describes a tool based on a three
tier architecture and on lava technology for developing and distributing se
rvices in Web environment. Services and combination of services expressed w
ith the service algebra are automatically translated into Java objects, all
owing the rapid development of platform independent data access services. (
C) 2000 Published by Elsevier Science Ltd.