All of us (or most of us) would have started programming in Java with the ever famous ?Hello World!? program. If you can recollect, we saved this file with a .java extension and later compiled the program using javac and then executed the class file with java. Apart from introducing you to the language basics, the point to be noted about this program is that ? ?It is a client side program?. This means that you write, compile and also execute the program on a client machine (e.g. Your PC). No doubt, this is the easiest and fastest way to write, compile and execute programs. But, it has little practical significance when it comes to real world programming.
Why Server Side Programming?
Though it is technically feasible to implement almost any business logic using client side programs, logically or functionally it carries no ground when it comes to enterprise applications (e.g. banking, air ticketing, e-shopping etc.). To further explain, going by the client side programming logic; a bank having 10,000 customers would mean that each customer should have a copy of the program(s) in his or her PC which translates to 10,000 programs! In addition, there are issues like security, resource pooling, concurrent access and manipulations to the database which simply cannot be handled by client side programs. The answer to most of the issues cited above is ? ?Server Side Programming?. Figure-1 illustrates Server side architecture in the simplest terms.
Advantages of Server Side Programs
The list below highlights some of the important advantages of Server Side programs.
All programs reside in one machine called the Server. Any number of remote machines (called clients) can access the server programs.
New functionalities to existing programs can be added at the server side which the clients? can advantage without having to change anything from their side.
Migrating to newer versions, architectures, design patterns, adding patches, switching to new databases can be done at the server side without having to bother about clients? hardware or software capabilities.
Issues relating to enterprise applications like resource management, concurrency, session management, security and performance are managed by service side applications.
They are portable and possess the capability to generate dynamic and user-based content (e.g. displaying transaction information of credit card or debit card depending on user?s choice).
Types of Server Side Programs
Server Pages (JSPs)
Java Beans (EJBs)
the objective of server side programs is to centrally manage all
programs relating to a particular application (e.g. Banking,
Insurance, e-shopping, etc). Clients with bare minimum requirement
(e.g. Pentium II, Windows XP Professional, MS Internet Explorer and an
internet connection) can experience the power and performance of a
Server (e.g. IBM Mainframe, Unix Server, etc) from a remote location
without having to compromise on security or speed. More importantly,
server programs are not only portable but also possess the capability
to generate dynamic responses based on user?s request.
June 23, 2011
TO START OWN WEB SIDE
I would like to have my own web side from India (Nagaland Kohima) please sugest
August 18, 2011
This site is very useful and I have suggested to many people to learn here.
G ASLAM BASHA
October 16, 2011
its nothing but awesome
October 17, 2011
Nice article which provides understanding on the server side architecture to any user.
shashi bhushan kumar singh
January 29, 2012
March 27, 2012
server side programming.....
what is porpouse of server side programming,.....
November 16, 2012
very nice g..........
Ramlal Prasad Wadekar
November 19, 2012
September 5, 2013
Programmer side project.
Great post. The one thing I would add is you should look for these types of attributes in employers when you are job hunting. Often if an interviewer shows no passion or interest in what they are doing, it probably is not a place you would enjoy working.
In addition, you can apply these same principles to almost any IT job, not just programming.