Any book/information on core architectures of web sites

anshuma
anshuma used Ask the Experts™
on
Hi,

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
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2015
Commented:
Hi


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

https://msdn.microsoft.com/en-us/library/bb727121.aspx

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.
anshumaEngineering

Author

Commented:
Thanks a lot for this

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

Take for example an Amazon.com what will be the components of this site which might be written in c++
Top Expert 2015

Commented:
Hi

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 Problems
Most Valuable Expert 2014
Commented:
Facebook uses a compiler to speed up PHP by a factor of 6 according to this article https://en.wikipedia.org/wiki/HipHop_for_PHP but I believe they are doing better than that now.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial