An architectural process centered on interfaces has important
capabilities and benefits. The term interfaces relates to one or all
of the graphical user interface, the network interface, and the
application programming interface in the design and development of
interactive network applications. The graphical user interface is
primarily in the domain of Interactive Design (IxD), except to remain
aware that it is an integral component of an interactive system.
Design
and development focused on network interfaces more than software
frameworks and their architecture has the advantage of a crisp
computational problem definition and solution. It has the benefit of
implementation independence and in this way it has both broad
interoperability and long term durability. The computational problems
of network systems, including the issues of interactive applications as
well as the subjects of integration, performance, and data
distribution. The analysis and development in these subjects is
traditionally performed in terms of the interfaces inherent in both
network services and data (payload / transfer / representation)
formats. For example this is the work of the IETF and W3C, as well as
many other organizations.
Design and development focused on
application programming interfaces defines a software system as a
collection of interfaces. This process is not so different from that
of the network interface. It has the same capabilities and advantages,
translated from the network interaction domain to the host interaction
domain. Analysis, design and development in terms of these interfaces
provides crisp problem definition and solution, broad interoperability
and long term durability. For example in multithreading, locking under
each interface will not deadlock unless and then certainly when the
implementation of one interface employs another interface.
Interface
Architecture is a logical razor that cuts problems into solvable
units. In working on interfaces rather than components, the parties to
a project have an efficient and effective subject for communication and
interoperability. The discipline of Interface Architecture demands of
its participants a simple (and singular) logical view of the interface
as the first class citizen of the world of the project, and its various
implementations as relatively second class replications or adaptations
of the design of the interface. An interface has a singular purpose
that must be rationalized among all participants before design work may
commence. An interface may begin simply and include technically
implicit or explicit avenues for its own extension in order to serve
its own subsequent evolution.
Saturday, 19 January 2008
|
|