codecentric

Best development tools in the cloud

Two years ago we decided at codecentric to move as many applications as possible to the cloud. We wanted to focus on consulting and not on server administration. Google Apps was the first step which replaced our own Exchange Server. As we are doing software development for our customers the question raised up, which development tools/infrastructure could be moved to the cloud? With this article I want to give an overview which tools are available either as software-as-a-service (SAAS) or platform-as-a-service (PAAS) model. Naturally this is only a small selection of tools that I am convinced are  among the best cloud services on this planet – especially if your are doing agile projects with agile practices. I would like to get your feedback on these tools and your experience with cloud services for software development projects – naturally also about tools I do not mention as there are so many cloud applications available that I cannot know all of them.

Source Control – GitHub

One of the most important tools for software developers is a version control system for the sources, documents and other artifacts of the software.  After CVS and Subversion were kind of a standard for years, distributed version control systems (DVCS) have become mainstream in the last two years. Git and Mercurial seem to be the two tools that have the biggest community. GitHub is a service that provides Git in the Cloud. More and more companies and Open Source projects are moving to GitHub – more than 3,500,000 project were managed with GitHub when this article was written. There is also an Enterprise Edition of GitHub so you can install a GitHub service inside your company network – this can be interesting for companies that have legal issues with having its sources in a Cloud. (e.g. it has to be in the European Union for some German companies)

(read more…)

Mirko Novakovic

 

Java EE vs Spring. Or: What is a standard?

It is always entertaining to read articles with a “Java EE vs Spring” topic, as the discussions are normally very emotional and quite funny. So I always told my self: “Don’t write another Java EE vs Spring article” – BUT: Here it is.

The reason is that I read an article in the current issue of German Java Magazin (4.2011). In the series “EnterpriseTales” the authors give this reommendation:

Generally we recommend to use the standard in new projects, if there are no reasons to not chose the standard.

With standard the authors mean “Java EE 6″, as the article is about a comparison of Java EE 6′s CDI and Spring.

(read more…)

Mirko Novakovic

 

Java Memory Leaks et al. (2. Act)

The first act of this blog-series Java OutOfMemoryError – A tragedy in seven acts described the architecture of JVM memory and discussed where a java.lang.OutOfMemoryError could occur.

So let’s have a detailed look on how this error can actually happen in a Java application.

In the previous post, we saw multiple possible types of the OutOfMemoryError. But the one happening most of the time is this one:

Exception in thread "main": java.lang.OutOfMemoryError: Java heap space

The error indicates that there has not been enough free heap to fulfill an allocation request for a new object. In other words: there is no room for the object on the heap. Since, according to the JVM specification, every heap has to have a garbage collector, this also means that no memory was freeable by it. So the whole memory is filled with “live” objects.
(read more…)

Mirko Novakovic