Purpose
Although XPS is a large undertaking and, from some perspective, redundent
with existing technologies, there is some purpose behind our audacity. This
page presents several purposes for XPS and lists the reasons why we think the
system needs to be built.
- Extensibility. Extensibility is such a key feature and
purpose for XPS that we included it in the name. By extensibility we mean
the ability to extend the system to do things that were never originally
designed. The design of XPS is such that it is extensible at many levels,
from the programming language down to the virtual machine. We know that
many languages and systems are extensible to some degree but with XPS we aim
to focus on it.
- Integration. Today's large scale enterprise systems are often a
conglomeration of mismatched components that must be intricately glued
together in order to work seamlessly as one system. If this were not the
case, the multi-billion dollar per year systems integration business would
not exist. Enterprise systems must pay attention to features not typically
found in smaller applications such as:
- platform independence
- internationalization (i18n) and localization (l10n)
- software version management
- software configuration management
- software deployment management
- transaction coordination and management
- robustness of operation (survivability)
- high-availability (continuous operations)
- fault tolerance (recovery from error conditions)
- scalability (10,000+ concurrent users, graceful handling of overloading
conditions)
- accessibility (global access & configurability for needs of special
user communities)
- security (authentication, authorization, non-repudication, encryption)
- efficiency (memory, CPU, disk utilization is minimized)
- application level monitoring
- dynamic application tuning
One of XPS's primary purposes is to efficiently implement all this "plumbing"
into one integrated system in such a way that any application can be endowed
with the above attributes simply by declaring that it is needed.
- Open Source. While many of the features above are available in
large scale commercial applications, middleware, and operating systems.
There is currently no open source equivalent. XPS aims to provide all of the
above functionality, and much more, as open source, for free.
- Programming For Everyone. One of the most motivating purposes
of XPS is its ability to bring computer programming to anyone. We envision a
time when layperson and expert alike can use XPS to quickly produce high
quality applications. We hope this will foster a revolution in computing
where scientist and artisan alike can use computers more effectively than
before.
|