Reference articles on history, science, culture and more
Encyclopedia

Prova

Programming language

Prova is an open source programming language that combines Prolog with Java.

01Description

Prova is a rule-based scripting system that is used for middleware. The language combines imperative and declarative programming by using a prolog syntax that allows calls to Java functions. In this way a strong Java code base is combined with Prolog features such as backtracking.

Prova is derived from Mandarax, a Java-based inference system developed by Jens Dietrich. Prova extends Mandarax by providing a proper language syntax, native syntax integration with Java, agent messaging and reaction rules. The development of this language was supported by the grant provided within the EU projects GeneStream and BioGRID. In the project, the language is used as a rule-based backbone for distributed web applications in biomedical data integration, in particular, the GoPubMed system.

The design goals of Prova:

Prova aims to provide support for data integration tasks when the following is important:

  • Location transparency (local, remote, mirrors);
  • Format transparency (database, RDF, XML, HTML, flat files, computation resource);
  • Resilience to change (databases and web sites change often);
  • Use of open and open source technologies;
  • Understandability and modifiability by a non-IT specialist;
  • Economical knowledge representation;
  • Extensibility with additional functionality;
  • Leveraging ontologies.

Prova has been used as the key service integration engine in the Xcalia product where it is used for computing efficient global execution plans across multiple data sources such as Web services, TP monitors transactions like CICS or IMS, messages of MOM like MQ-Series, packaged applications with a JCA connector, legacy data sources on mainframes with a JCA connector, remote EJB Java objects considered as data providers or even local Java objects. Prova allows to deliver an innovative software platform for Service-oriented architecture implementations.

Watch videos about ProvaExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Prova, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.