swarley
swarley

Reputation: 365

Alternative to an application server

I'm a Java EE developer and have been part of a project for some time. The application is nothing else but a cache. It loads data via EJBs / RMI from the backend, stores it to a database via JPA and offers SOAP webservices to the frontend applications to access the data in this database. The application itself as well as all the whole backend are Java EE applications run on Websphere servers.

My problem with this setup is that it is heavyweight and in my eyes to hard to maintain. Now, trying to figure out the lessons learnt I would like to know what kind of alternatives there are - for the whole application design or parts of it. I would like to know from you which technologies are used in (working) enterprise solutions solving my problems in 2014:

Thanks for your suggestions. Regards

Upvotes: 1

Views: 2006

Answers (1)

Barend
Barend

Reputation: 17444

I don't think anyone in the consulting company I work for has deployed a new application to a Big Name, shared application server in the last five years or so. Virtualization displaced the app server as the app-to-iron multiplexer, and those VMs are now being displaced by Docker containers. Apps embed their own HTTP stack, which may be Tomcat, but increasingly it's asynchronous stacks because one-thread-per-socket inhibits scalability.

If we were to build an API translator, fetch-and-forward system like you describe today, it would most likely be in Scala with Akka and Spray, optionally sitting behind Nginx. There exist intriguing alternatives, e.g. in Clojure, but this is the stack with which we're most familiar. I don't know if we've used vert.x, but it would fit in this space.

We don't use SOAP much if at all anymore. Same for Spring Framework and Hibernate.

The application's local datastore may not be an RDBMS. I don't know the full requirements of your system. It sounds like it's been around for a while, so while you describe it as "just a cache", I would guess it's more complex than that. Depending on the context, we've deployed memcached, Redis, GemFire, MongoDB, Riak or indeed PostgreSQL.

Upvotes: 4

Related Questions