\section{Conclusion}
\label{sec:conclusion}

We have presented an overview of the libraries and Prolog language
extensions we have implemented and which we provide to the LP community
as Open Source resources. As the presented libraries cover very
different functionality we have compared our approach with related work
throughout the document. We have demonstrated that Prolog, equipped with
an HTTP server library, libraries for reading and writing markup
documents, multi-threading, Unicode support, unbounded atoms and atom
garbage collection, becomes a flexible component in a multi-tier server
architecture. Automatic memory management and the absence of pointers
and other dangerous language constructs justify the use of Prolog in
security sensitive environments. The middleware, typically dealing with
the application logic is the most obvious tier for exploiting Prolog. In
our case studies we have seen Prolog active as storage component
(\secref{serql}), middleware (\secref{xdig}) and in the presentation
tier (\secref{facetb}).

Development in the near future is expected to concentrate on Semantic
Web reasoning, such as the translation of SWRL rules to logic programs.
Such translations will benefit from tabling to reach at more predictable
response-times and allow for more declarative programs. We plan to add
more support for OWL reasoning, possibly supporting vital relations for
ontology mapping such as \verb|owl:sameAs| in the low-level store. We
also plan to add PSP/PWP-like (\secref{genml}) page-generation
facilities.
