Any book/information on core architectures of web sites


I recently learnt that the kernel of sites like ebay, google , amazon is built in C++ and that made me thinking why so ? With my limited understanding I thought that ecommerce sites can be built using php, python or perl and they can do all kinds of operations like adding to cart, completing a purchase etc

Why would someone need C++ code for that.

Then I was told that site has lot of components and the presentation layer can be built using java script and php and then they make service calls to a business application server layer which could be written in c++

Can the experts talk about all this and explain to me how very scalable, secure ecommerce sites are built and the role of C and C++ in them and what is the architecture of these sites and also point me to a book or some notes on this.

It still is a news to me that C++ / C# programming is required to design very large websites
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Kanti PrasadCommented:

Please read the below link and you will understand it better.

C++ is used generally at the component level as it gives great performance due to its light weight.

The general architectures are designed in Three-Tier to N-Tier to reap the benefit of loose coupling.

Say you can break the Web app to

Presentation \ Front Tier ( Deployed or run on Web Servers)
      HTML and Page Design ( non-tech guy can do this)
      XML & XSLT will give you a HTML page output. ( The style sheets can be changed quickly and also learning curve is less)
      Java scripts, PHP , JSP , Servlets etc

Middle \ Business Tier ( deployed or run on Application Servers)
       Component Services ( C++ , Java EJB, VB, COBOL etc)
       Message Services

DataBase Tier ( back end)
      DB ( SQL, Stored procedure, Triggers, views etc~)
All the above need different skills sets so having them layered will help you get the specialized skills and also code can be better managed.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
anshumaEngineeringAuthor Commented:
Thanks a lot for this

can you please give specific example of components where c++ and Java are used

Take for example an what will be the components of this site which might be written in c++
Kanti PrasadCommented:

I can say most companies use C++ and most of the databases are written in C++ and many operating systems are written in C and C++.
So in general most real-time  applications, image processing, audio processing, etc use c/c++.

Java, C# and C++ are all Object-oriented languages and the language won't enhance performance but the infrastructure ( Servers, CPU, OS, Network etc) that it in on and the way the developer writes his code will enhance the performance.

All the above can more or less do everything that a language can do to deal the business requirements. Thier selection will be based on a companies resource skills sets, familiarity, Infrastructure etc.
Dave BaldwinFixer of ProblemsCommented:
Facebook uses a compiler to speed up PHP by a factor of 6 according to this article but I believe they are doing better than that now.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Development

From novice to tech pro — start learning today.