SlideShare una empresa de Scribd logo
1 de 44
Content-wise categorization

             Portal for Indian Languages


        Heritage                Health
                           www.bimari-jankari.org
Philosophy    Literature

Gita www.gitasupersite.org
Upanishads
Brahmasutra
Ramcharitmanas
Complete works of Adi Sankara
Yogasutra
…
Gita Supersite
 A Case Study
        - Anvita Bajpai
Issues
 Client-side Vs. Server-side Technology
 File System Vs. Databased System
 Fonts
Gita Supersite
 This is an effort to bring the heritage of
 Indian Scriptures to the Internet.

 The Supersite is the repository of Classical
 and Contemporary Commentaries on the
 Bhagavadgita, together with translations in
 Hindi and English, and many more texts are
 on the anvil.
Gita Supersite
 Features
 Current Structure
 Re-engineering the site
   Reasons
 Choices for re-engineering
 Reasons for choosing PHP
 Comparison for GitaSupersite
   Version 1: Business logic on Client
   Re-engineered: Logic on the Server
Features
 Language scripts
   The text can be viewed in any one of ten Indian language
   scripts (Assamese, Bengali, Devanagari, Gujarati, Kannada,
   Malayalam, Oriya, Punjabi, Tamil,Telegu), or in Roman
   (English script).


 Audio
   The chanting of the Bhagavadgita slokas is from the set of 4
   audio cassettes Geeta Chanting by Swami Brahmananda
Version 1: Business logic on
    Client




HTML + JavaScript
Local Font
Re-engineering
 Reasons:
 Speed
 Managements of 17,000 objects (likely to
 be 100,000)
 Fonts must be installed on client’s machine
 Higher network traffic
   7 hits to the web server to display a page with 6
   options.
Choices while re-engineering
the site
 CGI
   Perl
   MySQL
   Apache
 Zope
 ASP
 PHP
   MySQL
   Apache
 Midgard
Re-engineered: Logic on the
     Server

                    PHP Code   MySQL DB




 HTML
  Dynamic Fonts
(PFR)
Reasons for choosing PHP
 Platform independent
 Nice support to MySQL and a no. of databases
 Works well with Windows, Unix and Linux and
 no. of web servers, including IIS and Apache
 Support for PFR
 Reduced network traffic
 Almost no investment (besides site hosting)
 6% of sites worldwide use PHP
 Faster to develop
 Performance very good
Comparison for GitaSupersite
 Version 1 : Business logic on Client
   File System
   Local Fonts
   Frames


 Re-engineered: Logic on the Server
   Databased System
   Dynamic Fonts (PFR)
   Table
Client-side Scripting Vs. Server-side
Scripting
Client- Vs. Server-side Scripting
 Static Vs. Dynamic content
 Client-side Vs. Server-side scripting
 Client-side scripting
    Technology
    Advantages
    Disadvantages
 Server-side scripting
    Technology
    Advantages
    Disadvantages
 Things can be done with server-side scripting only
 Which should I use? Client- or Server-side
 Content generation components
Static Vs. Dynamic Content
Static Content
   Traditional HTML pages
   Simple text, Images, Hyperlinks to other documents
   Change in content requires manual editing


Dynamic Content
   Page content generated “on the fly”
   Content stored in a database
Client-side vs. Server-side
 Client Side Scripting
    Programming that runs on the PC
    Basic input, validation, calculations
    No interaction with database


 Server Side Scripting
    Programming that runs on the server
    Complex algorithms
Client-side Scripting
                   Web Server
   Http Request            Http Response (HTML code with
                                   Script)

Client
   Browser interprets HTML and creates the web page


Browser
Client-side Scripting Technologies
 ActiveX Controls
   VC++ / VB
   Included in HTML code with <OBJECT> tags
   Not supported by Netscape without ActiveX plug-in
 Java Applets
   Java
   Included in HTML in same way as image is included
 Client-side Script and Dynamic HTML
   JavaScript
   VBScript (Microsoft only)
Advantages of Client-side Scripting
 Move Processing Tasks back to the Client
 Extensibility Using ActiveX Controls
 Creating Interactive Web Pages
 Manipulating the User Interface
 Creating Dynamic Forms
 Instant Feedback to Users
Disadvantages of Client-side Scripting
 Browser-Dependent Client-Side Scripts
 Secure Source Code of Client-Side Scripts.
 Pages Take Longer to Download
 Program Scope Is Limited to a Single HTML
 Page
 ActiveX Objects Must Be Downloaded by
 Client
 You Must Digitally Sign Your Own ActiveX
 Controls
Limited Debugging Ability
No Way Accurately to Determine the Users
Screen Mode
No Direct Access to System Objects
Server-side Scripting
                  Web Server                      Script
                                      Gets page
   Http Request                           Interprets script


Client                      Server Response


   Browser creates the web page


Browser
Server-side Scripting Technologies
 CGI
   Programming can be done in any language (mainly in Perl)
   Biggest disadvantage – doesn’t scale well
   Separate process for each request
       Solutions:
       FastCGI
       Apache’s mod_perl


 Proprietary Web Servers API (ISAPI, NSAPI)
   Platform specific
   Need to be thread safe
   Potential of crashing web server
Java Servlets and JSP
  Java
  Servlets:
  Very similar to CGI
  Like a non-visual applet that runs on web server
  Runs inside JVM
  JSP:
  Like ASP
  HTML, Java code and JavaBean components

Active Server Pages (ASP)
  HTML, Jscript, VBScript
  Stuck with Microsoft web server (IIS, PWS) & OS (Win9x,
  WinNT)
Server-Side Java Script (SSJS)
  Netscape’s answer to ASP
  JavaScript
  Must be compiled before run
  Supported only by Netscape’s Enterprise Server

PHP
  Works in similar way to JSP and ASP
  Platform independent
  Nice support to a no of databases
  Works well with Windows, Unix and Linux and
  A no of web servers, including IIS and Apache
Other Server-side Scripting
 ColdFusion
 ASP
 PHP
 ZOPE
 MySQL
 MivaScript
 Perl
 C++
 SSI/XSSI
Advantages of Server-side Scripting
 Server-Side Scripts are Browser-Independent
 Global Variables are Available with Server-
 Side Scripting.
 Dynamically Building HTML Pages Based on
 User Input
 Provide improved security measures, since we
 can code the things that can never viewed by
 the client
 Server-Side Scripts Interface with Server
 Databases
HTTP Server Variables with Server-Side
scripts.
Identify Browser Properties
Can provide the client with the data that
doesn’t resides at the client
Reduces network traffic
Quicker loading
Disadvantages of Server-side
Scripting
 No Direct Control over the User Interface
 No Debugging Tools Available
 All Server Script Processing is Done Before
 Anything is Sent to the Browser.
 Its Hard to Know when a Session Ends
Things can be done with server side
scripting only
 Editing the contents of web page, by keeping
 it in DB
 Pages can be displayed as per demand
 Displaying and Updating of DB contents
 Creating page that rotate through a series of
 different graphics.
 Getting user feedback / returning information
 to user as per feedback
Which Should I Use? Client- or
Server-Side?
Use client-side scripting if you want:

  dynamic client forms with client-side validation
  your site to have highly interactive pages
  provide your client with advanced functionality that
  can be created only using ActiveX controls
  to control the user's browser
Use server-side scripting if you want:

  Web site must work with every browser on the
  market
  to protect your source code
  need to track user information across several Web
  pages to create a quot;Web applicationquot;
  need to interact with server-side databases
  need to use HTTP server variables or check the
  capabilities of the user's browser
Content Generation Components
 Application generator/Programming language

 Database engine
   ODBC
   Native drivers

 Web server

 Operating System
Web Content Management
      From File System to Databased System
                 Biggest problem with file system:
                   Management as contents grow rapidly (say 100
Thorny problem




                   thousand or so)
                      Concurrency
                      Version
                   Access control
                   Search       S-L-O-W-E-R applications
File System vs. Databased
System
                  Flat File System     Databased
                                        System
Concurrency              No               Yes
Management
Version Control     Very difficult         Yes
                     (manual)
Consistent L&F    Have to edit code Provides template
                                      based system
Access control        Manual         Access Privilege

Fast, effective      Not always           Yes
searches
Some other Points..
 Moving content into the database also makes it
 easier to add features:
   Interactivity
   Personalized presentation
 CMS enables you to:
   Save time and money
   Improve communications
   Strengthen business relationship
   Increase revenues
   Scalability
   Flexibility
   Enterprise system Interoperability (necessary to meet
   future site requirements)
Comparison for GitaSupersite
 Version 1 : Business logic on Client
   File System
   Local Fonts
   Frames


 Re-engineered: Logic on the Server
   Databased System
   Dynamic Fonts (PFR)
   Table
Version 1 : Business logic on
    Client




HTML + JavaScript
                                              Total size of
         85 KB      Code for
                                            data objects is
         2148 LOC                           around 24 MB
                    text display (frames)

Local Font
Re-engineered: Logic on the
     Server

                             PHP Code          MySQL DB




 HTML
                     21 KB       Code for
  Dynamic Fonts
                     814 LOC     text display (table)
(PFR)

                  Total size of DB files is around 25 MB
Major functions in both the
scripts (for text display)
                           PHP
 JavaScript
                             get_max($chap)
   get_max(chap)
                             validity()
   detect_options()
                             count_m()
   selected_options()
   collect_information()
                             code_for_proceeding($ch
   show_window()             ap, $sloka)
   display()                 text($ch, $slk, $txt)
   change(code,c,s)          change($code, $c, $s)
   go(c,s)                   go($c, $s)
                             play_audio($c, $s)
   play_audio(tc,ts)
                             stop_audio()
   stop_audio()
Lang_frame_generation(fram   open_db_connection()
e_no,chap,slk)               close_db_connection()
                             table_h()
                             table_m()
                             table_b()
                             navigation()
Future Plans
 On the fly Font Conversion (transliteration)

 Adding more audio
   Choice to select the audio


 Integration of this Supersite with the ISCII
 Search Engine, developed at IIT Kanpur
On the fly Transliteration
                                           Query
                PHP Code                           MySQL DB
                                          ISCII Data




                ISFOC Data



                             ISCII Data
                Font
                Conversion
Next stage…
 Many more major commentaries on Gita
 Upanishads
 Brahmasutra
 Ramcharitmanas
 Complete Works of Adi Sankara
 Yogasutra
 Cultural site
   Hindi literature

Más contenido relacionado

La actualidad más candente

Web Performance First Aid
Web Performance First AidWeb Performance First Aid
Web Performance First AidAlan Seiden
 
WebSphere Portal Business Overview
WebSphere Portal Business OverviewWebSphere Portal Business Overview
WebSphere Portal Business OverviewJoel Demay
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & WebHimanshu Jindal
 
Introduction to Force.com
Introduction to Force.comIntroduction to Force.com
Introduction to Force.comIMC Institute
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013Dragan Panjkov
 
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Dragan Panjkov
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai vibrantuser
 
Lesson1-How to migrate your Forms code and build HTM5 APP
Lesson1-How to migrate your Forms code and build HTM5 APPLesson1-How to migrate your Forms code and build HTM5 APP
Lesson1-How to migrate your Forms code and build HTM5 APPAntonio Bartolozzi
 
Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portaldominion
 
MIX11アップデート ~Windows Phone 7, Silverlight 5, IE9, HTML5~ 前編
MIX11アップデート ~Windows Phone 7, Silverlight 5, IE9, HTML5~ 前編MIX11アップデート ~Windows Phone 7, Silverlight 5, IE9, HTML5~ 前編
MIX11アップデート ~Windows Phone 7, Silverlight 5, IE9, HTML5~ 前編Microsoft
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceBrian Culver
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business OverviewNick Davis
 
Webdev battacherjee
Webdev battacherjeeWebdev battacherjee
Webdev battacherjeeRavingTiger
 

La actualidad más candente (18)

Web Performance First Aid
Web Performance First AidWeb Performance First Aid
Web Performance First Aid
 
Lecture 7: Server side programming
Lecture 7: Server side programmingLecture 7: Server side programming
Lecture 7: Server side programming
 
WebSphere Portal Business Overview
WebSphere Portal Business OverviewWebSphere Portal Business Overview
WebSphere Portal Business Overview
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
Web 101
Web 101Web 101
Web 101
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & Web
 
Qcon
QconQcon
Qcon
 
Introduction to Force.com
Introduction to Force.comIntroduction to Force.com
Introduction to Force.com
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013
 
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai
 
Lesson1-How to migrate your Forms code and build HTM5 APP
Lesson1-How to migrate your Forms code and build HTM5 APPLesson1-How to migrate your Forms code and build HTM5 APP
Lesson1-How to migrate your Forms code and build HTM5 APP
 
Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portal
 
MIX11アップデート ~Windows Phone 7, Silverlight 5, IE9, HTML5~ 前編
MIX11アップデート ~Windows Phone 7, Silverlight 5, IE9, HTML5~ 前編MIX11アップデート ~Windows Phone 7, Silverlight 5, IE9, HTML5~ 前編
MIX11アップデート ~Windows Phone 7, Silverlight 5, IE9, HTML5~ 前編
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 Performance
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business Overview
 
Webdev battacherjee
Webdev battacherjeeWebdev battacherjee
Webdev battacherjee
 

Similar a Server-Side Scripting Case Study of Gita Supersite

HTTP and Website Architecture and Middleware
HTTP and Website Architecture and MiddlewareHTTP and Website Architecture and Middleware
HTTP and Website Architecture and MiddlewareAbdul Jalil Tamjid
 
Week one presentation principles of web server scripting
Week one presentation   principles of web server scriptingWeek one presentation   principles of web server scripting
Week one presentation principles of web server scriptingJohn Robinson
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)amelinaahmeti
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)amelinaahmeti
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web applicationRahul Bansal
 
Web Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server MaintenanceWeb Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server MaintenancePort80 Software
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
Introduction to Development for the Internet
Introduction to Development for the InternetIntroduction to Development for the Internet
Introduction to Development for the InternetMike Crabb
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1nhepner
 
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Joonas Lehtinen
 
9781423903055 ppt ch08
9781423903055 ppt ch089781423903055 ppt ch08
9781423903055 ppt ch08临枫 盖
 
01 - Web Programming Intro.pptx
01 - Web Programming Intro.pptx01 - Web Programming Intro.pptx
01 - Web Programming Intro.pptxKarina González
 
WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentRandy Connolly
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQLbmani
 

Similar a Server-Side Scripting Case Study of Gita Supersite (20)

Asp dot net long
Asp dot net longAsp dot net long
Asp dot net long
 
HTTP and Website Architecture and Middleware
HTTP and Website Architecture and MiddlewareHTTP and Website Architecture and Middleware
HTTP and Website Architecture and Middleware
 
Week one presentation principles of web server scripting
Week one presentation   principles of web server scriptingWeek one presentation   principles of web server scripting
Week one presentation principles of web server scripting
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
 
Asp dot net final (2)
Asp dot net   final (2)Asp dot net   final (2)
Asp dot net final (2)
 
Rutgers - Active Server Pages
Rutgers - Active Server PagesRutgers - Active Server Pages
Rutgers - Active Server Pages
 
Web Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server MaintenanceWeb Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server Maintenance
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Introduction to Development for the Internet
Introduction to Development for the InternetIntroduction to Development for the Internet
Introduction to Development for the Internet
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1
 
ASP
ASPASP
ASP
 
Asp.net
Asp.netAsp.net
Asp.net
 
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
 
9781423903055 ppt ch08
9781423903055 ppt ch089781423903055 ppt ch08
9781423903055 ppt ch08
 
01 - Web Programming Intro.pptx
01 - Web Programming Intro.pptx01 - Web Programming Intro.pptx
01 - Web Programming Intro.pptx
 
WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web Development
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
 

Más de guest6e7a1b1

Anvita Ncvpripg 2008 Presentation
Anvita Ncvpripg 2008 PresentationAnvita Ncvpripg 2008 Presentation
Anvita Ncvpripg 2008 Presentationguest6e7a1b1
 
Anvita Eusipco 2004
Anvita Eusipco 2004Anvita Eusipco 2004
Anvita Eusipco 2004guest6e7a1b1
 
Anvita Dynamic Fontson Web Feb2001
Anvita Dynamic Fontson Web Feb2001Anvita Dynamic Fontson Web Feb2001
Anvita Dynamic Fontson Web Feb2001guest6e7a1b1
 
Anvita Web Contentfor Indian Language 15mar2001
Anvita   Web Contentfor Indian Language 15mar2001Anvita   Web Contentfor Indian Language 15mar2001
Anvita Web Contentfor Indian Language 15mar2001guest6e7a1b1
 
Anvita Audio Classification Presentation
Anvita Audio Classification PresentationAnvita Audio Classification Presentation
Anvita Audio Classification Presentationguest6e7a1b1
 
Anvita Intro Of Sites Jan2001
Anvita   Intro Of Sites Jan2001Anvita   Intro Of Sites Jan2001
Anvita Intro Of Sites Jan2001guest6e7a1b1
 
Anvita Wisp 2007 Presentation
Anvita Wisp 2007 PresentationAnvita Wisp 2007 Presentation
Anvita Wisp 2007 Presentationguest6e7a1b1
 

Más de guest6e7a1b1 (7)

Anvita Ncvpripg 2008 Presentation
Anvita Ncvpripg 2008 PresentationAnvita Ncvpripg 2008 Presentation
Anvita Ncvpripg 2008 Presentation
 
Anvita Eusipco 2004
Anvita Eusipco 2004Anvita Eusipco 2004
Anvita Eusipco 2004
 
Anvita Dynamic Fontson Web Feb2001
Anvita Dynamic Fontson Web Feb2001Anvita Dynamic Fontson Web Feb2001
Anvita Dynamic Fontson Web Feb2001
 
Anvita Web Contentfor Indian Language 15mar2001
Anvita   Web Contentfor Indian Language 15mar2001Anvita   Web Contentfor Indian Language 15mar2001
Anvita Web Contentfor Indian Language 15mar2001
 
Anvita Audio Classification Presentation
Anvita Audio Classification PresentationAnvita Audio Classification Presentation
Anvita Audio Classification Presentation
 
Anvita Intro Of Sites Jan2001
Anvita   Intro Of Sites Jan2001Anvita   Intro Of Sites Jan2001
Anvita Intro Of Sites Jan2001
 
Anvita Wisp 2007 Presentation
Anvita Wisp 2007 PresentationAnvita Wisp 2007 Presentation
Anvita Wisp 2007 Presentation
 

Último

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Último (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Server-Side Scripting Case Study of Gita Supersite

  • 1. Content-wise categorization Portal for Indian Languages Heritage Health www.bimari-jankari.org Philosophy Literature Gita www.gitasupersite.org Upanishads Brahmasutra Ramcharitmanas Complete works of Adi Sankara Yogasutra …
  • 2. Gita Supersite A Case Study - Anvita Bajpai
  • 3. Issues Client-side Vs. Server-side Technology File System Vs. Databased System Fonts
  • 4. Gita Supersite This is an effort to bring the heritage of Indian Scriptures to the Internet. The Supersite is the repository of Classical and Contemporary Commentaries on the Bhagavadgita, together with translations in Hindi and English, and many more texts are on the anvil.
  • 5. Gita Supersite Features Current Structure Re-engineering the site Reasons Choices for re-engineering Reasons for choosing PHP Comparison for GitaSupersite Version 1: Business logic on Client Re-engineered: Logic on the Server
  • 6. Features Language scripts The text can be viewed in any one of ten Indian language scripts (Assamese, Bengali, Devanagari, Gujarati, Kannada, Malayalam, Oriya, Punjabi, Tamil,Telegu), or in Roman (English script). Audio The chanting of the Bhagavadgita slokas is from the set of 4 audio cassettes Geeta Chanting by Swami Brahmananda
  • 7. Version 1: Business logic on Client HTML + JavaScript Local Font
  • 8. Re-engineering Reasons: Speed Managements of 17,000 objects (likely to be 100,000) Fonts must be installed on client’s machine Higher network traffic 7 hits to the web server to display a page with 6 options.
  • 9. Choices while re-engineering the site CGI Perl MySQL Apache Zope ASP PHP MySQL Apache Midgard
  • 10. Re-engineered: Logic on the Server PHP Code MySQL DB HTML Dynamic Fonts (PFR)
  • 11. Reasons for choosing PHP Platform independent Nice support to MySQL and a no. of databases Works well with Windows, Unix and Linux and no. of web servers, including IIS and Apache Support for PFR Reduced network traffic Almost no investment (besides site hosting) 6% of sites worldwide use PHP Faster to develop Performance very good
  • 12. Comparison for GitaSupersite Version 1 : Business logic on Client File System Local Fonts Frames Re-engineered: Logic on the Server Databased System Dynamic Fonts (PFR) Table
  • 13. Client-side Scripting Vs. Server-side Scripting
  • 14. Client- Vs. Server-side Scripting Static Vs. Dynamic content Client-side Vs. Server-side scripting Client-side scripting Technology Advantages Disadvantages Server-side scripting Technology Advantages Disadvantages Things can be done with server-side scripting only Which should I use? Client- or Server-side Content generation components
  • 15. Static Vs. Dynamic Content Static Content Traditional HTML pages Simple text, Images, Hyperlinks to other documents Change in content requires manual editing Dynamic Content Page content generated “on the fly” Content stored in a database
  • 16. Client-side vs. Server-side Client Side Scripting Programming that runs on the PC Basic input, validation, calculations No interaction with database Server Side Scripting Programming that runs on the server Complex algorithms
  • 17. Client-side Scripting Web Server Http Request Http Response (HTML code with Script) Client Browser interprets HTML and creates the web page Browser
  • 18. Client-side Scripting Technologies ActiveX Controls VC++ / VB Included in HTML code with <OBJECT> tags Not supported by Netscape without ActiveX plug-in Java Applets Java Included in HTML in same way as image is included Client-side Script and Dynamic HTML JavaScript VBScript (Microsoft only)
  • 19. Advantages of Client-side Scripting Move Processing Tasks back to the Client Extensibility Using ActiveX Controls Creating Interactive Web Pages Manipulating the User Interface Creating Dynamic Forms Instant Feedback to Users
  • 20. Disadvantages of Client-side Scripting Browser-Dependent Client-Side Scripts Secure Source Code of Client-Side Scripts. Pages Take Longer to Download Program Scope Is Limited to a Single HTML Page ActiveX Objects Must Be Downloaded by Client You Must Digitally Sign Your Own ActiveX Controls
  • 21. Limited Debugging Ability No Way Accurately to Determine the Users Screen Mode No Direct Access to System Objects
  • 22. Server-side Scripting Web Server Script Gets page Http Request Interprets script Client Server Response Browser creates the web page Browser
  • 23. Server-side Scripting Technologies CGI Programming can be done in any language (mainly in Perl) Biggest disadvantage – doesn’t scale well Separate process for each request Solutions: FastCGI Apache’s mod_perl Proprietary Web Servers API (ISAPI, NSAPI) Platform specific Need to be thread safe Potential of crashing web server
  • 24. Java Servlets and JSP Java Servlets: Very similar to CGI Like a non-visual applet that runs on web server Runs inside JVM JSP: Like ASP HTML, Java code and JavaBean components Active Server Pages (ASP) HTML, Jscript, VBScript Stuck with Microsoft web server (IIS, PWS) & OS (Win9x, WinNT)
  • 25. Server-Side Java Script (SSJS) Netscape’s answer to ASP JavaScript Must be compiled before run Supported only by Netscape’s Enterprise Server PHP Works in similar way to JSP and ASP Platform independent Nice support to a no of databases Works well with Windows, Unix and Linux and A no of web servers, including IIS and Apache
  • 26. Other Server-side Scripting ColdFusion ASP PHP ZOPE MySQL MivaScript Perl C++ SSI/XSSI
  • 27. Advantages of Server-side Scripting Server-Side Scripts are Browser-Independent Global Variables are Available with Server- Side Scripting. Dynamically Building HTML Pages Based on User Input Provide improved security measures, since we can code the things that can never viewed by the client Server-Side Scripts Interface with Server Databases
  • 28. HTTP Server Variables with Server-Side scripts. Identify Browser Properties Can provide the client with the data that doesn’t resides at the client Reduces network traffic Quicker loading
  • 29. Disadvantages of Server-side Scripting No Direct Control over the User Interface No Debugging Tools Available All Server Script Processing is Done Before Anything is Sent to the Browser. Its Hard to Know when a Session Ends
  • 30. Things can be done with server side scripting only Editing the contents of web page, by keeping it in DB Pages can be displayed as per demand Displaying and Updating of DB contents Creating page that rotate through a series of different graphics. Getting user feedback / returning information to user as per feedback
  • 31. Which Should I Use? Client- or Server-Side? Use client-side scripting if you want: dynamic client forms with client-side validation your site to have highly interactive pages provide your client with advanced functionality that can be created only using ActiveX controls to control the user's browser
  • 32. Use server-side scripting if you want: Web site must work with every browser on the market to protect your source code need to track user information across several Web pages to create a quot;Web applicationquot; need to interact with server-side databases need to use HTTP server variables or check the capabilities of the user's browser
  • 33. Content Generation Components Application generator/Programming language Database engine ODBC Native drivers Web server Operating System
  • 34. Web Content Management From File System to Databased System Biggest problem with file system: Management as contents grow rapidly (say 100 Thorny problem thousand or so) Concurrency Version Access control Search S-L-O-W-E-R applications
  • 35. File System vs. Databased System Flat File System Databased System Concurrency No Yes Management Version Control Very difficult Yes (manual) Consistent L&F Have to edit code Provides template based system Access control Manual Access Privilege Fast, effective Not always Yes searches
  • 36. Some other Points.. Moving content into the database also makes it easier to add features: Interactivity Personalized presentation CMS enables you to: Save time and money Improve communications Strengthen business relationship Increase revenues Scalability Flexibility Enterprise system Interoperability (necessary to meet future site requirements)
  • 37. Comparison for GitaSupersite Version 1 : Business logic on Client File System Local Fonts Frames Re-engineered: Logic on the Server Databased System Dynamic Fonts (PFR) Table
  • 38. Version 1 : Business logic on Client HTML + JavaScript Total size of 85 KB Code for data objects is 2148 LOC around 24 MB text display (frames) Local Font
  • 39. Re-engineered: Logic on the Server PHP Code MySQL DB HTML 21 KB Code for Dynamic Fonts 814 LOC text display (table) (PFR) Total size of DB files is around 25 MB
  • 40. Major functions in both the scripts (for text display) PHP JavaScript get_max($chap) get_max(chap) validity() detect_options() count_m() selected_options() collect_information() code_for_proceeding($ch show_window() ap, $sloka) display() text($ch, $slk, $txt) change(code,c,s) change($code, $c, $s) go(c,s) go($c, $s) play_audio($c, $s) play_audio(tc,ts) stop_audio() stop_audio()
  • 41. Lang_frame_generation(fram open_db_connection() e_no,chap,slk) close_db_connection() table_h() table_m() table_b() navigation()
  • 42. Future Plans On the fly Font Conversion (transliteration) Adding more audio Choice to select the audio Integration of this Supersite with the ISCII Search Engine, developed at IIT Kanpur
  • 43. On the fly Transliteration Query PHP Code MySQL DB ISCII Data ISFOC Data ISCII Data Font Conversion
  • 44. Next stage… Many more major commentaries on Gita Upanishads Brahmasutra Ramcharitmanas Complete Works of Adi Sankara Yogasutra Cultural site Hindi literature