I am working in a private bank, a leading mid size bank in local market. We are going to create our core banking solution. Existing solution has been developed on Java using IBM Visual Age 4.0.

It is very important to discuss architecture first, we have currently more than 350 branches working in standalone mode, and it means they are working in self contained environment. They have their own database server (IBM DB2 9.7) and they are communicating with other branches via sockets to send and receive data.

Having experience of .NET for more than 5 years I am trying to convince my superiors to choose .NET platform, but they are reluctant and unwilling. It is my job to encourage them for choosing best available platform to create large scale enterprise application.

In simple word, we are going to create a very large scale enterprise financial application, a centralize and integrated which connects all branch networks plus having scalable, solid architecture that easily evolve over time.

I want professional people to comment on above scenarios. Which platform to choose .NET or Java? Our all resource is currently working in Java, we have homogeneous environment (no Linux, no Mac and no UNIX).

Any idea, any thoughts, any points technical or non-technical i.e. administrative or management point of view will be really appreciated.

  • 9
    Avoid Putting Capitals Everywhere. Too many consecutive ????? is not cool neither. Aug 27, 2011 at 8:19

6 Answers 6


Let's talk about costs:

You state that everything has been done in Java so far? Why change then? You might use parts of the old system or create a reusable domain model. Integration will be easier. The developers are probably used to Java, so why would you spend money to train them on .NET? There's no reason for this, as .NET has no outstanding advantage over Java in your scenario. Development costs are most likely the biggest lot, followed by maintenance costs. Why would you want to increase these for a personal preference and little to no infrastructural/architectural gain?

So if I was your boss, you'd better prove that in the long run it's cheaper (while maintaining quality) to migrate to .NET. But I doubt you can prove that.

Let's talk about the strategic decisions:

So I have a java environment, I don't have to pay huge license fees. Most of the software I use is open source and Java's portability is great. Why should I lock myself into sort of an unportable one vendor system? There'd better be a reason for this! Better support for the systems? Better scalability and distribution? Not really.

Please take my advice:

In your situtation I wouldn't dare switching from Java to .NET. There'e no obvious reasons to do it. The primary strength of .NET is still rich GUIs, quite in contrast to Java. Maybe frontend/client software can be written in .NET, but for your backend, I'd stick with Java and I wouldn't try to start the grand rewrite in .NET.

Please note that as a developer, I, too, prefer .NET to Java. But as always such decisions depend on various other factors. From a manager's perpective, I can see no reason to change to platforms. Quite the contrary.

  • 3
    +1 For the best, most concise answer to any question I've read in a long while. Oct 5, 2011 at 0:53
  • 8
    +1 for avoiding Microsoft-bashing and sticking to the principal reasons to keep Java.
    – JasonFruit
    Oct 5, 2011 at 4:54
  • 2
    Nitpick about costs. The biggest single cost of these kind of implementations is manpower. Licensing costs for VS even if you are forking out for MSDN universal will be a small fraction of the overall cost, and while it is a consideration its not a major cost driver. The place where licensing is a big driver is enterprise services whether database or ESB. Here .Net is in pretty much the same position as Java.
    – CdMnky
    Oct 5, 2011 at 8:39

Your attachment to .Net is scary for someone responsibe for architecture, perhaps you are best surrendering to a lead programming role. Given that a lot of the code base is already in Java, there will be years of business logic, refinements and bug fixes, the appetite to 'rewrite' from scratch is very dangerous.

  • 1
    +1 for warning about getting "attached" to languages - business decision should be made on business value, not personal preferences.....
    – mikera
    Jan 9, 2012 at 22:30
  • 1
    What's scary is when someone isn't aware of their attachments. At least the author is aware of it and can at least try to account for it. After all we are not robots and we all have attachments whether we like it or not.
    – Kuberchaun
    Dec 28, 2012 at 15:26

I'll refer you to https://softwareengineering.stackexchange.com/questions/39371/what-are-the-factors-that-have-made-java-a-success-as-a-programming-language-in-e and What would you choose for your project between .NET and Java at this point in time?

But in short, you don't find many financial institutions going with .NET for the core platform after its well publicised failure at the London Stock Exchange. Java and *nix (despite some of their drawbacks) are a proven backbone.

.NET for front end layers? Or some business apps that run on top of the core? Sure thing! Lots of successful business cases of that at financials.

  • Perhaps you would edit in a link to said failure at LSE?
    – user1249
    Oct 4, 2011 at 17:10
  • Done (picked one at random) Oct 4, 2011 at 23:32

For a bank of your size, I am surprised you are thinking of building software like this from scratch - I would suggest that you buy a proven solution and there are several ones for banks.


First you need to convince yourself in support of .NET. If you need samples, you wont find .NET surpassing the Java in this department. Most of the Core Banking Solutions are developed in Java

You might find .Net vs. Java: Five Factors to Consider helpful


In my Opinion .NET Platform is the best one because by using Java Platform it will take more time to learn and code the program


Java Platform is treated as a"Sea" while the .NET Platform is treated as a "River".

  • 2
    Could you please provide references showing that .NET is easier to learn? Nov 3, 2012 at 14:15

Not the answer you're looking for? Browse other questions tagged or ask your own question.