2015/05/22 Matreshka 0.7.0 Released
2015/01/22 Web-application server with Servlet API
Welcome to Matreshka project
Matreshka is Ada framework to develop information systems. It includes:
- League - a rich set of reusable core components to develop Ada applications. Its main purpose is to provide a high level abstraction tool for localization, internationalization and globalization of applications, as well as a portable interface to different operating systems. It contains many other useful features, among them advanced calendrical calculations, regular expressions, and JSON support to process and generate data in JSON format;
- XML processor - provides the capability of manipulating XML streams and documents; including:
- SAX reader to read XML streams and documents; it supports XML1.0 (Fifth Edition), XML1.1 (Second Edition), Namespaces in XML and XML Base specifications;
- SAX writer to generate XML streams and documents from application;
- DOM API to process XML documents 0.8;
- XML Catalogs resolver;
- Markup Templates Engine to process XML templates and generates XML or HTML/XHTML output 0.6.
- Web framework
- standalone application server - SpikeDog implemented over AWS (Ada Web Server) with Servlet API 0.7
- the FastCGI module assists with developing server side applications completely in Ada and using them with standard HTTP servers. (demo).
- the SOAP module provides implementation of SOAP 1.2 protocol specification and assists in developing Web Services in Ada. This module includes implementation of standard security services: The WS-Security module provides SOAP message Security 1.1 (WS-Security 2004) and Web Service security: Username Token Profile 1.1.
- WSDL to Ada translator.
- SQL database access provides a simple generic API for accessing SQL databases. Supported databases include:
- MySQL is the world's most popular open source database software;
- Oracle is a well known commercial database management system;
- PostgreSQL is a powerful, open source object-relational database system;
- SQLite3 is a in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine;
- Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
- Ada Modeling Framework provides implementation of OMG's Meta Object Facility (MOF) written completely in Ada. Extension modules are provided to assist in the analysis and modification of:
- UML models and their extensions:
- MOF Extensions to support metamodeling
- OCL models
- UML Testing Profile to support Model-Driven Testing
- Diagram Definition
- UML models and their extensions:
Large number of specifications are used and are supported, see Specifications for complete information about conformance to specifications.
Matreshka is distributed under three-clause BSD license.
Matreshka is available in both source code and binary packages form for some operating system. See Download for more information.
There are several articles at Ada-Ru Community site available, they are written in Russian and translated to English automatically.
Commercial support of Matreshka is provided by Vadim Godunko, IE. Please contact us email@example.com if you have questions.
Developers of open source software can use several community based support channels:
- Matreshka Community Forum is most recommended channel
- Matreshka-Users mailing list
Matreshka Community Forum is the best source to find answers and to discuss Matreshka.
You can ask questions on #ada channel on FreeNode network. Russian speaking people can use XMPP conference room firstname.lastname@example.org.
Applications using Matreshka
- ActForex, Inc. uses Matreshka to develop server side software of next generation of ActForex Trading Platform.
Open Source Projects
- Ada XMPP implementation of XMPP protocol in Ada
- AXE next generation of web-engine for Ada-Ru site
- QtAda 4 generation of QtAda binding uses Ada Modeling Framework of Matreshka
Modules below are in development or waiting for volunteers. Don't hesitate to contact us if you want to participate!
- Ada Web Framework
- input/output support
- network support