Enterprise Technologies
Contents
Technologies
UI Frameworks
Play Framework
Play provides a UI framework that has support for HTML5 and JavaScript making it possible to provide a modern web-application feel. The framework provides a developer friendly environment making it easy to develop and test - thus this makes it a suitable choice for a UI framework. Development can be done in both Java and Scala - giving possibility to mix Object Oriented with Functional Programming. All in all it seems like a good UI framework, and is currently the selected choice as UI framework for all web UI applications within the enterprise.
Messaging
RabbitMQ
For a choice of messaging system RabbitMQ is currently selected, primarily due to its robustness. But it must be noted that it provides with a rich set of features for a messaging system, and thus probably can't be surpassed by alternative like ActiveMQ. Only primary drawback is that it is developed in Erlang, but that is one of the reasons for its robustness.
In memory data-grid
Hazzelcast
Caching mechanism have been used in almost any component of a system to hold configuration data used by the component. E.g. a web-application may cache static information to reduce response time. To support clustered caching, in memory data-grid have been developed, providing with the benefits of caching distributed to all members of a cluster.
Datastore
NoSQL
These are mainly "key - value" or "document store". But other forms exist (especially Google has made a few, which are especially well suited for big data and complex searching)
- Key - Value : These represent a persistent form of e.g. the Map collection from java. I.e. a key and associated value, which can be anything. RIAK is a good solution within this domain.
- Document store : These are a persistent form of an object (object in OO terms) usually persisted using JSON. Elasticsearch is a good solution within this domain.
NewSQL
These are trying to get the best from relational and NoSQL, i.e. getting the search capabilities of SQL, but supporting horizontal scaling. This is very new technology, so not many have a good solution. A candidate is NuoDB.