Monday, March 28, 2011

100% Open Source test environment?


With software testing we check the quality of our product. Our software model is Agile which often employ test driven development and place an increased portion of the testing in the hands of the developer, later it can reach a formal team of testers.

Before we used a more traditional model, where most of the test execution occurs after the requirements have been defined and the coding process has been completed.

Our test environment is based on open-source test libraries like JUnit, HtmlUnit, JMeter and others. For traditional functional testing we use Fitnesse and Selenium.

Wednesday, March 23, 2011

What do you use for version control?

Version control lets us track files over time. Nets old standard was CVS, today subversion is the standard. The GIT solution has been evaluated but is not formally approved by the architect forum. It is also important to note that Novell (yes we are using SLES Linux) at this moment does not support GIT packages. It's possible to download GIT packages from kernel.org and from Novell’s build cluster (software.opensuse.org).

CVS has been used longer than subversion, and no new projects are using CVS. Nevertheless you will see that the CVS disk footprint still is the biggest part.

Operation developers use subversion in some projects (where subversion/svn has been installed) running their scripts on the different NFS file servers. The code from the operation developers is also included with common source code tree.

Problems with license mangement?


In practice open-source software is generally free or cheap to acquire, and the licensing regime is not onerous either to administer or to fund. Commercial software, by contrast, does not distribute its source code, and generally requires ongoing payments in respect of licensed software, which must be administered and calculated according to the terms of the licenses. With commercial software you also lose your control over your business code. In most cases support and service is slower than support and service you may get from the open-source communities.

Tuesday, March 22, 2011

Which application server (java) should you use…?

We have seen that companies have based their IT infrastructure around two platform types:

Proprietary middleware stack (IBM, BEA, Microsoft, Oracle etc)
• Open-source software (often Linux, Apache, MySQL and Perl/Python/PHP; referred to as the LAMP).


We have had very negative experience with JAVA EE-application servers, like IBM WAS (WebSphere Application Server) and its ESB implementation (Enterprise Service Bus). JEE has traditionally been a path to vendor lock-in even though specifications are free and open. We feel this has led us to the recommendation to avoid application server dependencies. This, in turn, has led us to a server solution based on the open-source servlet containers Jetty and Tomcat. The idea behind ESB did not fit our demands properly and instead we based our architecture on a simple single database message poll solution, and various other integration techniques.

It has proven difficult to find an open-source project with a level of customization and functionality to match the requirements for this architecture. Therefore Nets has developed an Java library (core-proxy), and will in the future provide this as a contribution to the open-source community as free software.

Open-source code is not only for idealists!

Today we find the environment for open-source code is not only for idealists. A company using open-source also has the possibility to buy support and help using the software better. We see today a lot of wealth creation in connection with services based on open-source. For the different companies using open-source we see better control, less errors and better services

.

Thursday, March 17, 2011

Which IDE (Integrated Development Environments) are you using?


Java developers in Nets today are using Integrated Development Environment (IDE) tools. The main two tools in use are Eclipse and IntelliJ IDEA. Eclipse is a free open-source tool and IDEA is not. Since we use Maven as the build tool, every developer is free to choose which IDE he uses, since Maven will ensure that we have no dependencies on proprietary to build, package or deploy our software. Eclipse is the most used IDE, but IDEA is popular in some departments. We estimate that 80% of the developers use Eclipse, and the rest is mostly using IDEA.

Monday, March 14, 2011

76% of our code is open-source code

Over a six month period we (Nets=old BBS) analyzed usage of open-source (code) by collecting data from 12-14 large development projects based on Java. Most of these projects have been initiated in connection with the Stay project. We have extracted the following vital statistical data from these projects

The source code deployed:

In house developed source code (including libraries)
External open-source code (including libraries)
External closed source code (including libraries)

The result was amazing, data shows that approximately 76% of code is open-source code, less than 7 % is closed external code, and 17% is developed in-house. The external code is reduced day by day as we convert our old code from WAS (WebSphere Application Server, from IBM ) to Jetty.

Search This Blog