Introduction to Server Side Programming
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.
Types of Server Side Programs
- 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).
- Active Server
- Java Servlets
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.