Wednesday, November 24, 2010

Problem supporting all the different versions of Java and libraries?

The Java language has undergone several changes. In addition to the language changes, much more dramatic changes have been made to the Java class library over the years, which have grown from a few hundred classes in JDK 1.0 to over three thousand in J2SE 6.0. We have also seen entire new APIs, such as Swing and Java2D, have been introduced. Many of the original JDK 1.0 classes and methods have been deprecated. A consequence of this is that companies have to support different versions of java. I in some organization this is becoming a problem. The result may be that an application server is supporting many different versions of Java from JDK 1.4 to 1.x. Each application may have different standard for use of Java, libraries, deployment etc.

Thursday, November 18, 2010

Which distribution of Linux should you use?

Today there are many distributions of Linux to choose from, picking one that is right for you can be straightforward as long as you know your needs, stable server environment, just a simple Linux client? The marked leader today is: Ubuntu Linux, Red Hat and Fedora Linux, Mandriva Linux, and SuSE Linux offer reliability, flexibility, and user-friendliness. They are the most popular Linux distributions. If your want a simple and easy Linux for desktop environment you have: Mint, Xandros Linux, Linspire and Ubunto are good first-time. Are your running critical server applications you best solution are Red Hat and SuSE Linux. In north of Europa you will find that SuSE Linux has a big marked share. We have chosen SuSE Linux because it's great history on stability (also on security).
In our environment the SLES11 Linux is deployed with standard operating mechanism like autoyast + PXE (tftp + dhcp). The Linux installation is done by http. Preferred hardware platform is based on PC/Intel. All new application code is written in Java and runs under the Linux application environment. Our supported list of SLES packages from Novell change over time.

Sunday, November 14, 2010

What about your toolbox?

For many companies doing development under Java is Maven a success factor in the development process. Maven gives you control of external dependencies and gives us freedom when it comes to IDE, test frameworks, build-servers, environment and deployment strategy.

From statistical material you will find that many Java projects are based on:

Linuxservers
Different GNU tools (development, deployment and production)
Maven as build tool as a standard
Eclipse as IDE
Subversion as version control (or Git)
Hudson as build server
The test environment is based on JUnit and Fitnesse

The different companies establishes a best practice for obtaining and use of open-source libraries.

Do you have automatic build in your company?

You can today used free software to set up a complete build factory from development to production. That way you will save time. The build factory can be run locally from a workstation with only Open Source dependencies in java, maven and subversion. Most projects use this setup to have continuous builds, where Hudson is used as a continuous build server. With Hudson the projects run all the tests and deploy the software to software repository. The software repositories can be administrated with for example Sonatype Nexus repository manager, also an Open Source software tool.

Hudson is a practical approach for easily managing integration and it enables teams to successfully turn out builds. Hudson first start by integrating and publishing builds. This approach is well known from test driven development – you write test cases before you write the code. One side effect of having Hudson is that it forces you to think about a qualified release not as the final abrupt end product of a traditional development cycle but as an artifact that builds incrementally as your project progresses. And that could mean the difference between making a release and being just 1 week away from it for almost 6 month

Why your company should use Open Source?

I have listed my most important arguments for using Open Source:

Deliver faster and better service for your customer
Controlling
the business code
all the dependencies
Easier to
share internally
improve quality for your company
Reduce amount of
special knowledge needed internally
documentation needed
Free from
the high cost
inflexible software
vendor lock-in risks of traditional enterprise software (read: reduce software cost)
Free to outsource
Most outsourcing partners use open source
Easier for outsourcing partners to implement open-source solutions

Over the years companies has experienced that Open Source software seems more stable and easier to check than closed code. Especially when we have technical problems it is much easier to find and fix errors them before they create problems for our customer. This argument has been more important than saving money on different software license programs.

Thursday, November 11, 2010

Beneficial business rules in your application, what about Open Source?

Beneficial business rules in your application, what about Open Source?If you have beneficial business rules in your applicationcode and you would like to keep your code for yourself. You have can’t chose license models that have specific mutual conditions.

The list below gives you some guidelines:

Small products with APL , MIT , BSD licenses can be used if the software following these licenses does not require any legal evaluation from your company. Popular software using these license models is Spring framework and Apache web server.

Large products or GPL , LGPL you should formally evaluated these if you are thinking of embedding the code (in your own code).

When possible, consider open sourcing code that is meant to be shared internally
Improve quality
Reduce amount of special knowledge needed internally
Reduce amount of documentation needed


In different part of a organization you should also consider complete Open Source applications. If you are choosing a complete application for a specific department (sales, internal, IT) there will always be special requirements depending on the department.

Wednesday, November 10, 2010

Important factors before choosing Open Source?

One important factor to consider before choosing Open Source components or applications is the activity around the product (homepage). It is vital that your development projects check the following:

Does the product have an active developer base?
Is there an active community around the product?
Is the product backed by a company?
Is the product backed by Open Source organizations such as apache or external code house?


Only products which have a minimum of activity should be chosen. When evaluating a new Open Source product/library we always have the risk that the community behind it will die, and offer no more bug fix and new features. Many projects today are backed by big companies offering support, and other projects are considered so popular with a big user and developer base so the risk is considered small. When using smaller projects without company support or large user base you need to accept the risk to take over the project yourself to fix bugs and add new features.

Tuesday, November 9, 2010

Why you should use Open Source?

Open Source software is gaining more and more visibility and has for many companies shown to give low cost of ownership and has a generally better level of security and interoperability. It offers a possible solution to some fundamental problems that have vexed commercial software like Microsoft Office, IBM WebSphere Application Server (WAS) and Oracle with their specific license politics.

Monday, November 8, 2010

Open-source is growing within all market!

In the Norwegian market we see that Open Source is growing within all market segments including the bank and financial area. Well known Norwegian companies who are using Open Source in critical applications are Telenor, EDB, A-pressen (Zett), The University of Oslo. Also a well known example is the Norwegian “Forbrukerportalen” with their website . It is interesting to note that this government institution also is promoting Open Source software. In 2008 about 65% of all Norwegian government institutions where using Open Source application or libraries.

Search This Blog