Having discussed some of the challenges and solutions we have encountered, we have distilled these learnings into a product that we're launching. We've decided to call this project µFabric.
How do I pronounce that?
It's pronounced "micro fabric". We chose the name µFabric as it conveys the minimalist nature of the product. At Adaptive, we're not a fan of huge frameworks that constrain you into doing everything in a specific way. This is the minimal application fabric that you need to bring together a set of distributed real-time services across many clients. The choice of Middleware, Platform, Serialization is entirely up to you.
What does it do?
At the start of this series, we introduced a number of attributes that are typical of the sorts of systems we build. These recap, these were:
- Distributed
- Multi-Platform
- Event-Driven
- Use Middleware
- Worked on by Large teams
µFabric addresses each of these attributes in the following ways.
Distributed
µFabric supports the development of distributed applications by means of a Service Oriented Architecture. It also offers distributed Session Management, Service Discovery and Fault Tolerance. These combined, greatly simplifies the development of distributed applications.
Multi-Platform
µFabric offers Server-side components target .Net and Java and Client-side components to target HTML5, iOS, Android, .Net, Java and C++. The automatic code generation allows Services and Clients to interoperate across different platforms and greatly accelerates development by removing the need to write most of the boilerplate code.
Event-Driven
µFabric Services and Proxies follow a Reactive methodology and have a completely asynchronous signature. This results in applications that are performant and scale well. This approach encourages developers to adopt modern programming practices.
Use Middleware
µFabric introduces a set of Messaging Abstractions and supports the market leading Web Push gateways. This results in greatly accelerated time-to-market and reduces coupling of the end-product with a particular vendor.
Currently, we support Universal Messaging, Kaazing and Push Technology out of the box. Adding additional Middlewares is simple and quick to do.
Worked on by Large Teams
µFabric allows large teams to quickly write Service Definitions and automatically update code on multiple platforms. It has built-in service discovery and version tolerance which enables development teams to release independently of each other.
How do we use it?
At Adaptive, we use µFabric in a number of different ways. Firstly, as an accelerator for our Consultancy: the use of µFabric means that we can start writing Business functionality from the get-go rather than spending months building out technical infrastructure. Secondly, we are marketing µFabric as a turn-key product: customers get the full source code along with comprehensive documentation and first-class support.
Whichever model our customers adopt, the result is the same. They end-up with an application built upon the same, proven architecture that powers some of the leading Trading and eCommerce platforms with world-class performance and reliability at a fraction of the cost and with reduced time-to-market of building equivalent infrastructure in-house.
If you're interested in discussing further, please email us to arrange a demonstration of the full capabilities of µFabric.
Written by an Adaptive Consultant.