deephacks / westty

Westty is a NIO server engine built on a foundation of Weld and Netty, enabling a lightweight CDI programming model for building highly optimized web applications.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My image

Westty is a NIO server engine built on a foundation of Weld and Netty, enabling a lightweight CDI programming model for building optimized web applications productively.

The mission is to enable modular and extendable application designs that keep the underlying server runtime process clean from irrevelant dependencies, encouraging frontend technologies such as angular.js or ember.js maybe with some Twitter Bootstrap sprayed ontop. No servlets, jsp, jsf, jstl or other shenanigans incorporated. Static resources and HTTPS/SSL are preferably delegated to a web proxy; such as nginx which works really well with westty.

Websockets is real simple in Westty, just deploy the server engine with westty-sockjs and you're good to go. Westty use Vert.x internally and enable applications to inject and use the EventBus.

Cluster-awareness is provided through Hazelcast using westty-cluster and can be deployed as such on private networks or amazon ec2 using the provided Apache Whirr recipe. Clustering goes hand in hand with the EventBus although clustering is not needed to use it.

Westty is programmatic and give users the freedom to implement any mechanism to configure it. The server engine starts in around 3 seconds spent mostly on jar/class scanning and consumes less than 10mb of JVM heap space in its most basic form.

The following CDI drop-in modules are provided. All modules are optional and self-sustained with clearly separated concerns and does not pollute classpath. If you dont need clustering, datasources, job scheduling, protobuf or websockets then remove it from classpath. Westty is modular like that, only take what you need.

About

Westty is a NIO server engine built on a foundation of Weld and Netty, enabling a lightweight CDI programming model for building highly optimized web applications.

License:Apache License 2.0


Languages

Language:Java 98.1%Language:Shell 1.9%