The AquaJS framework for Node.js looks to speed up app dev by streamlining integration processes. In development at enterprise connectivity services provider Equinix, AquaJS moved to public beta stage this week with a general release, available as an Npm, expected in a month.
"You define a contract. AquaJS will read those contracts, and it automatically generates the scaffolding end-to-end," said Venkatachalam Rangasamy, senior software architect at Equinix.
Microservices developed via AquaJS are based on services definitions in the YAML data serialization standard. Socket.io, for bidirectional event-based communication, manages WebSockets connections, and workflow is defined for each API contract request. Orchestration capabilities, meanwhile, enable development of customized endpoints, setting up a request-response model.
In AquaJS, connectors are plug-in modules. "Any external system interaction and integration is via connector," Rangasamy said. "Examples of connectors are database connectors, API connectors, and MQ connectors. By default, all these mentioned connectors are available with AquaJS, and developers need to just configure them. AquaJS also supports new connector development to accommodate specific needs."
The inventor of Npm, Isaac Schlueter, had mixed views on the project based on his cursory view of AquaJS documentation. "It's focused on microservices, which is Node’s sweet spot so that's nice." But the project's emphasis on specific convention in how the framework is used could be an issue with some developers. "They mention in their documentation in a few places that they favor convention over configuration, which is great if the convention is something that works for you," he said. "And if not, then it can be a little bit frustrating." AquaJS documentation does provide for some degree of customization, however.