Hosting / Cloud SolutionI have been looking at different kind of Cloud solutions such as:
Since MongoDB that makes the life of database administrators quite easy however I have decided to go for Virtual Linux Servers with Rackspace or Amazon. My current environment is hosted on Rackspace, since I like the support they provide.
Editor: Intellij IdeaIntelliJ IDEA Community Edition is the open source version of IntelliJ IDEA, a premier IDE for Java, Groovy and other programming languages.
Why Intellij Idea
- Fast and reliable
- Integrated Subversion
- Spend time coding rather then to bug resolve and configure the IDE
- Many plugins that actually work as intended
Web Framework environment
Development Language: JavaJava has an active community (also commercial community) and has been around for a long time. Many Enterprises like Banks, Insurance Companies and other Companies rely on it.
- Well established in all kinds of businesses especially also large corporations
- Scalable in different kind of ways
- One of the most secure and long lasting development languages
- Commercial Support available
Build Tool: MavenApache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
- License (Apache 2.0)
- De-facto build tool for Java
Web Framework (Server Side): Spring (MVC)Spring is the most popular application development framework for enterprise Java™. Millions of developers use Spring to create high performing, easily testable, reusable code without any lock-in.
- License (Apache 2.0)
- Well known stable and robust framework
- Used by many Enterprises
- Adapters for most popular databases
- J2EE compatible
- REST Support
- License (MIT License)
- Extends HTML rather then manipulating DOM
- Relatively low learning curve
- Makes use of dependency injection
- Full featured client with support for i18n, templates and REST
- Unit tests and e2e testing
Database: MongodbMongoDB (from "humongous") is a scalable, high-performance, open source NoSQL database. Written in C++, MongoDB features:
- Licensing (AGPL) Reference 1, Reference 2 The license can be used for free also for commercial projects.
- Well documented
- Low learning curve
- Provides solution for general data and large data (GridFS) in a distributed environment
- Supported by Spring
- Includes large file support with GridFS
Java Application Server: JettyJetty provides an HTTP server, HTTP client, and javax.servlet container. These components are open source and available for commercial use and distribution.
- Dual Licensed (Apache, Eclipse)
- Lightweight and fast
- Used by Google and Yahoo for their Cloud solutions
- Enterprise scalable