views:

264

answers:

2

We are developing a web application, which will have a database with over 5 millon documents, all of them will be in various languages. The site is planned to have more than 3 million visits per month (hopefully more).

We need a stable and scalable solution.

We are now using JEE over JBoss application server with PGSQL DB, but we would like to know if this fits the problem or there is a better solution, because the project is a the beginning and changes are yet viable.

Also, as many of us, doesn't have a lot of experience with this type of projects, the opinions of the ones who does, will be very useful!

I hope I made myself clear. Please let me know if you need more information.
Thanks in advance.

+1  A: 

I personally would not take responsibility to offer own solution to a team without asking for advice from somewhere else first. Same way as chaKa does. What I would not do is to rely on one source of help making final decision.

You may need to consider following criteria:

  1. How much time do you have? What is development plan? Should you start right away or you will be given time to learn.
  2. Do you need framework? Are you expected to deliver quickly? How many requirements do you have? It all affects will it be framework based solution or from scratch.
  3. Will you support project as well? How many people will do it? You need to know also will project grow slowly or it should be deployed quickly and forgotten.
  4. What skills does your team have? What are they good at?
  5. What would make you excited and want to do your best implementing solution?

I believe there is more to think about...

Din
I have considered some of the points you mention above. We do not have much time, so there isn't very much time to learn. We are 5 people working on this, will the same experience and similar knowledges. We are all good at learning, and we like challenges. We have hell a lot of requirements.
Mg
Deliver was yesterday. We haven't selected an alternative, we now how the business tier will be, but, when we looked into the requirements, we found that maybe jps and servlets would not fulfill our needs. Thats why we are seeking advice from others who have experience with this kind of applications
Mg
+2  A: 

The architectural design considerations of your solution are probably more important than the choice of "platform". In other words, how are you going to make your application scale? Do you need to store distributed session? Do you need real-time database synchronization or something a little less up to date? How will you do request load balancing, or handle fail over? Can the business logic work over a distributed set of nodes/sites or whatever you envisage.

Once you have a design that suits your purposes then the choice of your implementation platform can be a better informed decision. Whether it's java, .net, rails or whatever doesn't really matter. They all have their strength and weaknesses, as do the members of your team. Use their strengths to guide this part of your decision making process. Don't try to learn a new technology in tandem with building what sounds like a fairly serious site.

I've used JBoss on a pretty large distributed ebook delivery system with tens of thousands of page views per day and it never missed a beat. Likewise I think Stack Overflow is a more than adequate example of the capabilities of the ASP.NET platform with regards to the numbers you are mentioning.

Hope that helps.

Stuart Clement