Skip to content

4. Introduction to Back End Technology

dinanathsj29 edited this page Feb 10, 2019 · 4 revisions

Section 4. Introduction to Back-End Technology

4.1. Server Side scripting

Any programming/scripting that runs on the web server is referred to as Server Side scripting. It may be:

  • Processing Form data
  • Managing users
  • Booking a Movie Tickets, Travel, Hotel
  • Online purchase

Server Side Scripting languages

  • CGI (Common Gateway Interface)
  • Perl
  • ASP (Active Server Pages)
  • Java
  • JSP (Java Server Pages)
  • PHP (HyperText PreProcessor / Personal Home Page)
  • .NET
  • Cold Fusion CFML
  • NodeJS

4.2. PHP

  • In year 1994 Rasmus Lerdorf has written a set of CGI scripts to track a visitor to his online resume. He opens sources the scripts and named it Personal Home Page (PHP).
  • In 1997 developers named Andi Gutmans and Zeev Suraski rewrote the existing parser and released PHP 3.0, renaming it HyperText PreProcessor.
  • As PHP was free and open source it attracted a wide community of developers
  • PHP paired with other open source tools like Linux, Apache, and MySQL
  • PHP was very easy to learn so it became one of the most important and widely used back end/server side scripting language to build robust/dynamic sites
  • PHP is embedded within HTML but .php, .asp, .cfm pages must process/render on the server before it displays in browser
  • Note - .php, .asp, .cfm or any other server-side scripting files will not run locally, you just need some software like MAMP, WAMP, XAMPP to set/create server environment on local

4.3. Popular Server Side Languages

  • JSP (Java Server Pages)
    • Part of the larger Java framework and used by Java programmers
    • Scripts are combinations of XML and Java scriptlets
    • Used in enterprise level sites but can be used for any sized sites or applications
  • .NET
    • VB .NET is referred as .NET but its part of the larger .NET framework
    • Used in enterprise level sites or applications
  • ColdFusion (Adobe ColdFusion)
    • ColdFusion is added to the page through its own markup language called as CFML much like HTML
  • Python
    • Powerful open source multi-purpose development language
  • Ruby
    • General purpose development language
    • Its popular due to Ruby-on-Rails web framework

4.4. Dealing with Data

  • Data used in websites/applications must stored in Database for future uses and retrievals like User Name, Password, Authentication details, Profile, Product list, Pricing and so on
  • At client side ie in the browser due to security purpose, we can store a very less and limited amount of data
  • DBMS (Database Management System)
    • Store data in tables
  • RDBMS (Relational Database Management System)
    • Store data in tables that relate to each other
    • Allows complex sorting and filtering of data
    • MySQL, Sybase, Oracle, SQLite
  • Non-Relational Database (No SQL database)
    • NoSQL database store data in object driven datasets
    • Faster to index and scale easier than relational databases
    • MongoDB, Cassandra, CouchDB, SimpleDB, HBase

4.5. SQL database (Structured Query Language)

  • The Standard Query Language for managing and retrieving information from databases.
  • SQL syntax is simple and logical, easy to learn
  • select, insert, update, delete such simple keyword-based syntax statement used to manipulate data

4.6. CMS (CMS Content Management System)

  • An application to control creation, management, publishing and archiving sites content
  • A good CMS can speed up creation, updating of content faster, manage user groups, controls content as per roles
  • Web-based CMS assist in the creation, publishing and archiving of site content, also provides advanced control over site functionality such as blogging, community boards, and e-commerce.

How to choose a CMS?

  • Understand site goals and future needs
  • Match site focus to CMS focus
  • Look for quality plug-ins
  • Look for robust support
  • Compare budget to CMS needs
  • Make sure site admin is simple
  • Does the CMS allow custom layouts

Popular CMS

4.7. CDN (Content Delivery Network / Content Distribution Network)

  • A system for delivering content over a distributed network of servers
  • As a developer no need to download all libraries on local and do development, use CDN path to include required libraries, it will be cached and downloaded faster
  • CDNs are largely used to serve static resources such as JavaScript/CSS libraries, videos or other site dependencies

Popular CDNs

  • Google CDN
  • Microsoft CDN

4.8. Cloud services (Cloud Computing)

Usually refers to distributed processes over the internet

  • dropbox (store and share files, projects)
  • youtube
  • google cloud storage
  • amazon web services
  • microsoft cloud services
  • rackspace
  • heroku

4.9. GitHub

  • Github is built around Git an open source version control system
  • GitHub is an online distribution service that allows users to store repositories online that can be version controlled and shared with other users
  • Allows to manage the project, publish files and store revisions, sharing and collaborating