In 2015, frustrated with application server solutions based on slow stateless HTTP based protocols such as REST and SOAP that use data formats such as JSON and XML, we created our own fast stateful binary protocol stack from the ground up and wrapped it up in a lightning fast, real-time, robust and secure application server framework targeted at Android, iOS, Windows Phone, Windows, Mac and Unix/Linux. Our protocol stack FASTack, short for Fast Access STack, is implemented in our easy to use DotNetCloudServer SDK built on top my open source communication library DotNetOpenServer SDK.
Built on top of our open source DotNetOpenServer SDK, our DotNetCloudServer SDK adds value with our Remote Object Access Protocol in an affordable, lightweight, lightning fast and secure client/server application framework for any smart mobile device or desktop computer.
Unlike most application server frameworks, which are implemented over slow stateless protocols such as HTTP, REST and SOAP that use bulky ASCII data formats such as JSON and XML, DotNetCloudServer has been built from the ground up for speed and efficiency.
|DotNetOpenServer SDK||DotNetCloudServer SDK|
|Android, iOS, Windows Phone, Windows, Mac and Java APIs|
|Persistent stateful connections|
|Interface driven authentication protocol layer|
|Built-in support for Windows Authentication|
|Robust 2-way keep-alive/heartbeat protocol|
|Simple API to create application layer protocols|
|Remote Object Access Protocol|
|Remotely invoke methods, subscribe to variables and receive events|
|Granular read/write/execute authorization for methods, variables and events|
|Redistributable license model|
How does it work?
DotNetCloudServer implements our own open source fast stateful binary protocol stack we call FASTack, short for Fast Access Stack. So what makes FASTack secure and robust?
Remote Object Access Protocol (ROAP)
The core of our DotNetCloudServer if our Remote Object Access Protocol (ROAP). ROAP exposes your server-side component objects, functions, events and variables to your client applications. Developers create their own objects in a stand-alone assembly DLL which are then automatically loaded and started by the DotNetCloudServer. Your applications can not only remotely invoke server-side functions but can also receive immediate event notification and variable updates as they happen without costly polling mechanisms found in our competitors' products based on HTTP, REST and SOAP.
Granular role and user authorization (security access permissions) can be assigned to each function, variable and event enabling systems administrators to regulate who can execute functions, receive event notifications and read as well as write variables. For example, a variable can be configured so users can read the value but only administrators can update the value.
Support is included for the latest security and encryption protocol used on the Internet now, SSL/TLS 1.2, enabling the financial, aerospace and defense industries to implement data sensitive client/server applications with our framework.
Session Layer Protocol
Our session layer protocol has been designed to minimize the amount of damage denial of service (DOS) attacks can impose yet supports large packets.
Authentication Protocol (AUTHP)
We have implemented an Authentication Protocol (AUTHP) layer that is fully extendable. Out of the box, DotNetCloudServer supports Windows Authentication, however; any authentication method can be implemented by simply extending our simple base authentication class.
Keep-Alive Protocol (KAP)
A common problem many stateful client/server applications encounter is the ability to expose network failures in a timely fashion. DotNetCloudServer solves this problem with our Keep-Alive Protocol (KAP) commonly referred to as a heartbeat protocol. Both the client and server send tiny packets back and forth. As soon as the heartbeat stops the framework notifies the application the network has failed enabling server-side component objects to release associated resources and notifies the end user a network failure has occurred.