Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Choosing server side tech.
1. 0
An essay: The criteria for choosing
A server side technology
4th
Assignmen Web Technology.
Department of Information Technology,
Institute of Graduate Studies and Research,
University of Alexandria,Egypt.
Presented by:
Ahmed Atef Elnaggar
Supervisor:
Prof . Ahmed M. Elfatatry
2. 1
Criteria for choosing a server side technology
Assuming your Web site currently serves up dynamic content, how did you pick
your scripting language from the numerous open source server-side scripting
methodologies available? Did you inherit it or receive it from on high? Or did you
methodically look at the pros and cons of each option, weigh them against your
site’s needs, deadlines, and your own skill set, and choose the one that fit best?
If not, this essay will help you answer these key questions.
Even if you already have a favorite, you can see how the other languages stack up
in terms of usability, functionality, and code readability. Using a server-side
technology opens up a wide range of possibilities: e-commerce, customer
management systems, direct user feedback, and adding a search form to your site.
Which Server-Side technology is best?
Choosing which server-side technology to use is an important decision. Almost of
the technologies have similar capabilities and features, but while switching a
project from one technology to another is possible, it is also time consuming and
often fraught with difficulty. It's impossible to say if one is any better than another,
but there are certain aspects of each technology, such as:
Ease of learning
Availability
Cost
Software support, that can help you make up your mind.
There is no perfect programming language
When it comes to the perfect programming language for the development of your
site, it is imperative that you understand that there is no perfect programming
language. Once you understand this, it is simply a matter of choosing the language
that best serves your needs.
3. 2
Considerations
You should consider the following:
Your server platform
The server software you run
Your budget
Previous experience in programming
The database you have chosen for your backend
The Operating system you are running on your system is your platform and your
choice of OS may play a major part in the language you choose. Be aware that
unforeseen problems may push you to change platforms in the future, and that
some language choices will make this very painful. Microsoft Windows and
POSIX-compliant Unix-like systems will most likely be your two main choices in
technology.
Once you have chosen your OS, the next choice is your server software. On
Windows systems, you have IIS which comes installed for free with windows. It
has a long history of performance and security problems. Many of the web servers
commonly used on POSIX-compliant Unix-like systems are available for Windows
too, including the very popular and well-respected Apache web server.
"POSIX-compliant Unix-like systems" includes a plethora of available O.Ses
including but not limited to Linux, Sun Solaris, BSD, and Mac OS X. Apache is by
far the most common web server for these systems and for web serving in general.
While some of the available programming languages are free under the GNU
Public License or other open-source licenses, others are commercial products and
carry a licensing fee. The commercial products do carry the advantage of
commercial support and tighter integration with the companies' other products, so
if you have a large amount of capital and want to get your site set up quickly with
little configuration, then a commercial solution might be your better option. Some
of us, however, cannot afford the high price tag of the commercial solutions on the
market and may elect to make use of the free yet still very powerful languages
available. The tradeoff is the effort in properly configuring the environment which
may or may not be worth the cost savings.
4. 3
Differences among Server-Side Languages
Embedding: is HTML embedded into the code (using print statements) or is
the code embedded into HTML (using templates)?
Flexibility: are there many ways to achieve a solution?
Usability: how difficult is it to learn and to use the language?
Security: is security built into the language or do programmers have to write
code to ensure security? Are there security holes in the language?
Speed of execution: how fast is a script executed?
Generality: is the language special purpose or general purpose?
So, which server-side technology should you choose?
As we said before, there is no single right answer to this question. Much depends
on your goals and the amount of effort you're willing to expend.
Where to go from here
Choosing which server-side technology to use is not an easy decision, because it's
one you're likely to remain committed to for several years. If you change your
mind at a later date, it's not like changing from one make of car to another. You
can't just get in and drive off. I know this to my own cost, because it took several
months of hard work to migrate an established major project.
References
1- Comparing Server-Side Web Languages Server-Side Web Languages
by Uta Priss, School of Computing, Napier University, Edinburgh, UK.
2- Foundations of Web Technology by Ramesh R. Sarukkai, Sekhar R. Sarukkai
3-http://www.developertutorials.com/tutorials/php/server-side-scripting-language-1411/
by Craig McElwee.
Kindly find the attached softcopy of essay.