
Powerful development framework for web applications. Makes it easier for server-side developers to write error-free code faster, in Go and Java. Open source (Apache Licence 2.0)

Technical Details
Web Services
Alya is a framework which helps a developer write the server-side code of web services. Almost all modern applications are built as a set of web services, wiether it is SOA, microservices, or any small and simple applications.
Quick Development
Alya adds tremendous value to the development process by providing a lot of canned code for common operations and standardising on various aspects of handling the web service request and responses.
Validations
Every web service needs to valudate each parameter in its request. Alya provides canned validations for a rich set of data types, tying these into powerful third-party open source validation libraries wherever possible, like Google's libphonenumber library.
i18n
I18n is a vast and vexing topic for the modern application developer. Alya helps standardise one aspect of this matter by standardising how error messages are returned by web services in a language-independent format. The developer does not need to re-invent the convention, and it is completely independent of programming languages.
Go and Java
Alya is available today for server-side development in Go or Java. (No, not both together. Either or.) And the web service request and response conventions are completely standard across these languages. The Go stack is developed on Gin, and Java is on Springboot.
Slow Ops
Some web services are not meant to respond with meaningful data in less than several minutes. Think large and complex MIS reports. In such cases, the developer gets a ready-built framework to queue the request in a queue, tell the caller to come back later, and allow Alya to do all the heavy lifting to do the processing and respond when the report is ready. The developer can sit back, relax and contemplate the meaning of life.
Batch Processing
Modern enterprise applications need to process batches, sometimes with millions of records per batch. Processing each record of a batch must be enclosed in a database transaction, to allow restart capability after failures. Alya provides complete support for this out of the box.
File Transfer Server
We imagine that no one uses batch files in the 21st century, and we would be so wrong. Files full of rows are uploaded, processed in batches, and downloaded all the time in server-to-server integrations. Alya provides a ready-to-use file transfer server which handles uploaded and downloadable files, running in two containers with high security, transferring data over SSH pipelines.
Middlewares
If some common processing steps are needed before the start of each web service function or after it completes and before the response is pushed out, then interceptors may be added. This middleware layer can parse or log each incoming request, do special validation and processing, and extend the power of the overall platform, making application development that much easier.
Distributed load
If a set of servers or containers are running a common Alya based application, they share a single queue for batches and slow ops. The records of a batch are distributed across all the containers in the cluster and the processing load never creates any hotspots. The developer does not need to write a single line of additional code or set a single flag. She can drink her chai tea latte in peace.

Web services are the core of modern applications. Developing large sets of web services is laborious, and there are many building blocks which can be made available through a framework.
Modern web service development frameworks address the basic tasks of abstracting away the HTTP protocol, allowing developers to write their code as functions or handlers which are called by the framework. However, a lot more can be done to allow reliable applications to be developed in a time-bound manner.
Most large web applications for enterprise organisations require file and batch processing. This entire sub-system is left to the developer and designer to build. All web service calls need to validate their inputs and format their responses; these are not supported by any utility library. Developers re-invent these layers for every project. This becomes severe when dozens of developers work on large systems and re-implement these basic functions without code reuse.
One specific question not answered by the web service framework is the issue of supporting multiple languages. Strings and text need to be indexed by language and delivered to the user. There are many libraries and tools to help the developer do this, but requires exploration and evaluation.
Alya provides a comprehensive framework to address all of these areas, building on top of the Gin framework for Go developers and Springboot for Java.
The starting point to read more is on the wiki page of the main repository.
The main repository has the source code for Alya in Go. Alya is a development framework for web service development, and Alya in Go is built on the popular Gin framework.
The Alya Java repository holds the code for the Java version of Alya, built on SpringBoot.
Alya has no UI, therefore there is no UI code.