What do people mean when they talk about Back-end Java with PHP interface or something?

I have been programming for a while and I am very familiar with Java and PHP and websites. I am confused by how programmers use them together. I've heard about Facebook and Google using all kinds of languages ​​like Python, C, Java, PHP, all for one product, but I'm just confused as to how this would be possible.

Also, another question: What kind of work do software engineers do when working for large online companies like Twitter and Facebook? Most of the code is database and information related, and so what basic tier programming, besides what can be learned online with a few tutorials, should be done on the server side?

+3


source to share


4 answers


It's an incredibly broad question, but here's a shot at a vague answer. Large applications often have a number of components. For example, you might have some sort of reporting engine, business logic, web interface, desktop interface, web service API, mobile interface, etc. Etc. Etc. Each of these could theoretically be written in a different language and communicate through databases or something like a web service.

To your second question. In large companies, there is a lot of work to be done to maintain stability, develop new features, fix bugs as they are discovered, and improve efficiency. Facebook (like Google) uses a large number of software engineers to help them handle the huge volume they receive on a daily basis.

Edit Here's a bit more clarification and a direct answer to your question.



Most of the code is database and information related, and so what basic programming at the tier, besides what can be learned online with a few tutorials, should be done on the server side?

For the most part, though, high-level executives are the same. You could easily create a Facebook clone after following some basic PHP / MySQL tutorials on the web. Here's the difference: your clone will die before it reaches your daily Facebook user share. It will be slow, unreliable, and people will leave because their data will be sequentially compromised through SQL injection and other malicious attacks. And that doesn't even talk about distributed computing. So, yes, from a high level, that's all you need to know. Implementation and reality are much more complicated.

+6


source


this is the actual answer you are looking for
You are confused because you don't see how using C and C ++ applications on websites, but I want to tell you that they are used for many things ... like when you upload an image to Facebook that contains pornography, then PHP wont check this image, what they will do is execute the program, passing the address of this image by parameters, and this application will check the image ... and some data must be saved for future use, so the application uses a common database, site, if we upload an image to googleplus, then it will upload the sugestion tag to some part where people see faces, this is done by this application, it will save the image data to a shared database that Google uses, and php takes this information from there ,this is a technology for developing much more functional websites ... for example, I made a program to shutdown my home computer while working on localhost:

<?php
$command="shutdown -s -f -t 5";
shell_exec($command);
?>

      



this script, after running in apache, will shut down the server just like you can pass parameters to some applications, for example if you want to create an email account on the command line for your own server which does not have cpanel installed ...

and the answer is second part of your question:
actually software developers are hired to develop some applications that can be run on the server to enhance the functionality of a website ... for example if there was only a web scripting language for websites then google could not recognize face neither facebook nor artificial introgenation would be impossible for websites ..

this post may clear your confusion ...

+1


source


As you would expect, larger "websites" are not built in the traditional sense that you have PHP code, a few HTML templates, and a database, as this architecture has serious problems scaling up to thousands of concurrent users.

What you can do to mitigate this is to split the website into several components:

  • Load balancers that propagate requests across multiple application servers
  • Application servers that generate user interface and process user actions.
  • Mid-tier servers that process business logic and distribute it between database servers
  • DB servers that store data in some way.

Each component of this system can be implemented in a different language and you can have different application servers depending on the type of request (eg mobile devices).

This type of system is called Multitier Architectures . You can also find academic books on this topic.

0


source


The most complex products have many pieces. For example, StackExchange has code that runs in your browser that is written in JavaScript so that it can run in your browser. But the code that creates web pages does not run in the browser and therefore is not written in JavaScript. And if complex database queries are required, they will probably be in SQL. And so inside. Each piece of a large puzzle is implemented in the language most appropriate for what that piece does and the environment in which it operates.

Thanks for GMail. There is a portion in the browser written in JavaScript. It also has a web server, database, mail server, bulk storage, indexing, and many, many more.

0


source







All Articles