Category-defining iPaaS and PaaS hybrid solution
Qworum offers a technology for modularizing the UI layer of web applications. This module system supports both single-origin and distributed multi-origin applications.
In short, Qworum is a platform for composable architectures.
And as soon as a module system can support distributed scenarios, it can be used for application integration as well. In other words, in distributed systems, integration and modularisation are two sides of the same coin. And that's why Qworum is both a PaaS and an iPaaS. Qworum is the only platform able to support interactive integrations involving complex dependency graphs. As a bonus, Qworum makes API calls 10x easier to implement as compared to other API technologies. Developing applications and services with Qworum is 10x easier than with other technologies such as REST, because: Without Qworum, even simple reusable user flows are difficult to implement for web applications, and the main reason for this is the fact that the web was initially conceived as a platform for content, not applications. Here is an example of how hard it is to implement a simple user dialog on the web without Qworum. In a web application, if the user is trying to access his/her account page at Qworum elegantly solves these issues by defining a domain-specific language called the Qworum script, which is used for orchestrating calls to Qworum API endpoints. In Qworum-based applications: The simple fact of the matter is, without Qworum, the integration of interactive processes involving deep dependencies between applications and services is a technical impossibility. For example, in the architecture outlined below, how does In real-world settings such multi-tier integration scenarios will appear more and more often as new specialised SaaS offerings come online. Here is a plausible example: Let's see what would happen without Qworum: For these reasons, today's composable architectures such as the MACH architecture only support one-level deep dependency trees, and they put on the main client application the burden of building all the UIs for all involved services. With Qworum all these limitations are removed: Qworum is the only platform that can support web applications that span multiple websites. Microservices architectures enable rapid software delivery by allowing different parts of a software system to be developed, deployed and updated in parallel by different teams within an organization and also across organizations. Microservices architectures organise developer teams around vertical slices of software systems rather than the horizontal UI, business logic, and data layers. In order words, microservice teams are responsible for all of these 3 layers within the boundaries of a particular slice. For microservices architectures, having a monolithic component at the UI layer represents a bottleneck for the software development lifecycle, because the team responsible for the UI monolith cannot scale with the number of microservices. Today, the only solution that software developers have at their disposal for breaking UI monoliths into smaller parts involves micro frontends. Micro frontends are UI components that are plugged into dashboard-style web pages for building web applications. In this case web applications become simple containers for micro frontends. Micro frontends are implemented using various technologies such as React.js components, web components or iframes, none of which are specific to microservices architectures. Besides being only suitable for dashboard-style applications, other limiting factors for micro frontends include: Qworum is a UI technology that was made specifically for microservices architectures. In contrast to micro frontends, which are parts of web pages, Qworum takes the web-API approach to user interaction. In effect, Qworum defines a new type of web API where each end-point can receive data, interact with the end-user if needed, and then return a result. Note that Qworum services are not components embedded in web pages. Rather, they offer full-page UIs to end-users. Also, in contrast to micro-frontend solutions where there are two types of entities (micro frontends and container applications), with Qworum everything is a Qworum service, including applications. So, while Qworum complements micro frontends rather than making them obsolete, by the same token Qworum does not have many of the limitations that micro frontends are burdened with:The only platform for integrating interactive processes
10x easier integrations
A built-in service orchestration engine
/account
but hasn't signed in yet, then the user is typically redirected to a path similar to /login?returnTo=/account
. But even for a simple login dialog, there are several questions that the current web platform cannot address satisfactorily:/
(this is the widely used option) or do we specify different paths for different error conditions, such as in /login/?returnTo=/account&returnToIfCancelled=/login-cancelled-by-user&returnToIfTooManyBadPasswords=/suspected-account-hijack
?/login/page-2?username=xyz&returnTo=/account&returnToIfCancelled=/login-cancelled-by-user&returnToIfTooManyBadPasswords=/suspected-account-hijack
? This becomes very unwieldy very quickly./oidc/?returnTo=/login/oidc-result%3FreturnTo%3D%2Faccount%26amp%3BreturnToIfCancelled%3D%2Flogin-cancelled-by-user%26amp%3BreturnToIfTooManyBadPasswords%3D%2Fsuspected-account-hijack
? (Hint: yes it does.)Support for complex service dependency graphs
Application 1
authenticate the end-user for Service 2
and Service 3
?Service 2
is possible (because Application 1
knows that Service 2
must be used), although authenticating the user for a 3rd-party service is an overhead that is best avoided. But even for Service 2
there is already a security problem, because now Application 1
can now impersonate the end-user on Service 2
!Service 3
is a technical impossibility. Indeed, Application 1
doesn't even know that Service 2
is using Service 3
behind the scenes, not to mention all the conversation-tunnelling that must happen between the authenticating service and the end-user.A platform for distributed web applications
What are microservices architectures?
What is wrong with monolithic user interfaces?
Are micro frontends the right solution?
Interactive microservices with Qworum