SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Induction Training Program | 2011

 Web Application Development
             By Shibu S R
Web Application | What do you think is most important for building web sites?




                              Security

                              Maintainability

                              Usability

                              Performance

                              Graphic Design
Web Application |    Security




        Three Categories

                - Network
                - Server
                            Installing a quality firewall and hiring a competent system
                            administrator can go a long way towards making you feel
                            comfortable


                - Application
                            Not very easy. Must undergo a series of audits and "trial by fire"
                            before it can be considered anywhere near safe
Web Application |     Security | Some Quick Rules




        Always verify any data sent from a client for size and type.

        Be extra careful with scripts that talk to databases - don't give
        the web server any more permissions that it needs.

        Any file operations done by the web server are high risk. Verify
        that your permission structure does not grant any unnecessary
        permissions which could be exploited to damage the system.

        Avoid executing shell commands at all costs.

        Never send clear-text passwords over the network. Use
        encrypted connections, with SSH or SSL, whenever sending
        important information.
Web Application |     Maintainability




        Traditional systems design

            - Typical lifetime of 2 to 4 years

            - Once the application has reached a stable configuration
            the design effort is all but finished.

            - Majority of expense is in the systems understanding and
            analysis.
Web Application |    Maintainability




        What's the number one cost in web design?

                - Planning the application?

                - Building the application for the first time?

                - Cost of the server or the connectivity?
Web Application |    Maintainability




            “The highest cost in web design will be maintaining the
                                  application”

            - Dynamic aspect of the web
            - Improvements in existing applications are continuous
            - New content is expected
            - New technologies appear on a regular basis
            - User feedback and design demands are much more
            prevalent

        In fact your software must be frequently modified and updated
Web Application |    Maintainability | Build everything for distribution




        Build customization variables into your code

        Separate code and content

        Use templates

        Use style sheets

        Make the language of your site customizable

        Develop a common coding style and stick with it

        Comment your code well
Web Application |      Usability




        Usability is the study of how to make using applications easy
        and intuitive

             - Listen to the geeks
             - Listen to the newbies
             - Just because everyone else does it
             - The need for speed
                Great: < 8 KB/page (text and images)
                      Good: 8 - 20 KB/page
                      Reasonable: 20 - 50 KB/page
                      Poor: 50 - 100 KB/page
                      Don't: > 100 KB/page
Web Application |              Performance




  Performance on the web is straightforward: a relatively small amount of servers
  must be able to support a potentially unlimited number of clients

  Any code running on the server must be clean and fast

  Database optimization
          Number your queries in your code. This will help you keep track of how many queries are involved in a
          certain process, and will save you time when trying to optimize your scripts.

          Create proper indexes. Optimized indexes are key to database speed. Any fields which are routinely
          queried against should have indexes. Don't create too many indexes, as unnecessary indexes will slow
          INSERTs and increase the database size unnecessarily.

          Test, test, and test again. Poorly written queries can kill a database server. Take the time to gauge the
          performance of your queries and understand what the database needs to do in order to execute them.

  Disk reads
          minimal number of included files
Web Application |     Graphic Design




        Changing the graphic design of the site is as easy as changing
        your t-shirt
Web Application |     Architecture




                                                Hosting
                                                 Server
                      Response


                                                 DNS
           Visitors                             Server


                                     Internet
                      Request
                                                Registrar
Web Application |             The Fundamentals of HTTP




        Hypertext Transfer Protocol

        One of the few protocols that bridges the gap between
        networking and application development groups

        HTTP Request Methods
            GET
            POST
            PUT
            DELETE
            HEAD


        HTTP response
            -consists of a header section and a body
            -The header section tells the browser how to treat the body content and
            -Each HTTP response includes a status code, which indicates the status of the request
                      - 200 OK
                     - 304 Not Modified
                     - 404 Not Found
                     - 401 Authorization Required
                     - 500 Internal Error
Web Application |        HTTP Headers




        HTTP headers carry information about behaviour and
        application state between the browser and the server
                HTTP version (HTTP/1.0 or HTTP/1.1)1.
                Accept-Encoding: gzip, deflate2.
                Connection: Keep-Alive3.
                If-* headers4.
                Cache-Control or Pragma no-cache5
Web Application |     Cookies




        Cookies are sent by the web server to the browser as an HTTP
        header and used to store all sorts of information about a user’s
        interaction with the site

        Encrypted cookies will affect the performance of an application
Web Application |    Meta Tags




        Two types of meta tags
                 - HTTP-EQUIV
                - NAME

        HTTP-EQUIV meta tags are equivalent to HTTP headers
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Improved Integration Agility with Oracle SOA Suite and the Event Delivery Net...
Improved Integration Agility with Oracle SOA Suite and the Event Delivery Net...Improved Integration Agility with Oracle SOA Suite and the Event Delivery Net...
Improved Integration Agility with Oracle SOA Suite and the Event Delivery Net...
Brad Bukacek Jr.
 
Are You Ready For More Visitors Cognizant Gomez Jan20
Are You Ready For More Visitors   Cognizant  Gomez Jan20Are You Ready For More Visitors   Cognizant  Gomez Jan20
Are You Ready For More Visitors Cognizant Gomez Jan20
Compuware APM
 
VIDYA SAGAR_WASADMIN_CV
VIDYA SAGAR_WASADMIN_CVVIDYA SAGAR_WASADMIN_CV
VIDYA SAGAR_WASADMIN_CV
Vidya Sagar
 

Was ist angesagt? (11)

Android secure coding
Android secure codingAndroid secure coding
Android secure coding
 
Improved Integration Agility with Oracle SOA Suite and the Event Delivery Net...
Improved Integration Agility with Oracle SOA Suite and the Event Delivery Net...Improved Integration Agility with Oracle SOA Suite and the Event Delivery Net...
Improved Integration Agility with Oracle SOA Suite and the Event Delivery Net...
 
Isset Presentation @ EECI2009
Isset Presentation @ EECI2009Isset Presentation @ EECI2009
Isset Presentation @ EECI2009
 
CV
CVCV
CV
 
Are You Ready For More Visitors Cognizant Gomez Jan20
Are You Ready For More Visitors   Cognizant  Gomez Jan20Are You Ready For More Visitors   Cognizant  Gomez Jan20
Are You Ready For More Visitors Cognizant Gomez Jan20
 
Basil resume
Basil resumeBasil resume
Basil resume
 
Alfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware TechnologiesAlfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware Technologies
 
Web Fendamentals
Web FendamentalsWeb Fendamentals
Web Fendamentals
 
CICDforModernApplications_Stockholm.pdf
CICDforModernApplications_Stockholm.pdfCICDforModernApplications_Stockholm.pdf
CICDforModernApplications_Stockholm.pdf
 
VIDYA SAGAR_WASADMIN_CV
VIDYA SAGAR_WASADMIN_CVVIDYA SAGAR_WASADMIN_CV
VIDYA SAGAR_WASADMIN_CV
 
InterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easy
InterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easyInterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easy
InterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easy
 

Ähnlich wie Itp web application development

Connect Ops and Security with Flexible Web App and API Protection
Connect Ops and Security with Flexible Web App and API ProtectionConnect Ops and Security with Flexible Web App and API Protection
Connect Ops and Security with Flexible Web App and API Protection
DevOps.com
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
Ganesh Kamath
 

Ähnlich wie Itp web application development (20)

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
 
IT Automation With CFEngine - Business Value and Basic Concepts
IT Automation With CFEngine - Business Value and Basic ConceptsIT Automation With CFEngine - Business Value and Basic Concepts
IT Automation With CFEngine - Business Value and Basic Concepts
 
Node.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontendsNode.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontends
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Webapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh guptaWebapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh gupta
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Connect Ops and Security with Flexible Web App and API Protection
Connect Ops and Security with Flexible Web App and API ProtectionConnect Ops and Security with Flexible Web App and API Protection
Connect Ops and Security with Flexible Web App and API Protection
 
Planning A Web Application
Planning A Web ApplicationPlanning A Web Application
Planning A Web Application
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
 
Web Services Best Practices 072604.ppt
Web Services Best Practices 072604.pptWeb Services Best Practices 072604.ppt
Web Services Best Practices 072604.ppt
 
The Rise of Serverless Architecture in Web Development.docx
The Rise of Serverless Architecture in Web Development.docxThe Rise of Serverless Architecture in Web Development.docx
The Rise of Serverless Architecture in Web Development.docx
 
introduction to Web system
introduction to Web systemintroduction to Web system
introduction to Web system
 
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlability
 
Web server
Web serverWeb server
Web server
 
Symfony - A Bird's Eye View
Symfony - A Bird's Eye ViewSymfony - A Bird's Eye View
Symfony - A Bird's Eye View
 
Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...
 
Client & server side scripting
Client & server side scriptingClient & server side scripting
Client & server side scripting
 

Itp web application development

  • 1. Induction Training Program | 2011 Web Application Development By Shibu S R
  • 2. Web Application | What do you think is most important for building web sites? Security Maintainability Usability Performance Graphic Design
  • 3. Web Application | Security Three Categories - Network - Server Installing a quality firewall and hiring a competent system administrator can go a long way towards making you feel comfortable - Application Not very easy. Must undergo a series of audits and "trial by fire" before it can be considered anywhere near safe
  • 4. Web Application | Security | Some Quick Rules Always verify any data sent from a client for size and type. Be extra careful with scripts that talk to databases - don't give the web server any more permissions that it needs. Any file operations done by the web server are high risk. Verify that your permission structure does not grant any unnecessary permissions which could be exploited to damage the system. Avoid executing shell commands at all costs. Never send clear-text passwords over the network. Use encrypted connections, with SSH or SSL, whenever sending important information.
  • 5. Web Application | Maintainability Traditional systems design - Typical lifetime of 2 to 4 years - Once the application has reached a stable configuration the design effort is all but finished. - Majority of expense is in the systems understanding and analysis.
  • 6. Web Application | Maintainability What's the number one cost in web design? - Planning the application? - Building the application for the first time? - Cost of the server or the connectivity?
  • 7. Web Application | Maintainability “The highest cost in web design will be maintaining the application” - Dynamic aspect of the web - Improvements in existing applications are continuous - New content is expected - New technologies appear on a regular basis - User feedback and design demands are much more prevalent In fact your software must be frequently modified and updated
  • 8. Web Application | Maintainability | Build everything for distribution Build customization variables into your code Separate code and content Use templates Use style sheets Make the language of your site customizable Develop a common coding style and stick with it Comment your code well
  • 9. Web Application | Usability Usability is the study of how to make using applications easy and intuitive - Listen to the geeks - Listen to the newbies - Just because everyone else does it - The need for speed Great: < 8 KB/page (text and images) Good: 8 - 20 KB/page Reasonable: 20 - 50 KB/page Poor: 50 - 100 KB/page Don't: > 100 KB/page
  • 10. Web Application | Performance Performance on the web is straightforward: a relatively small amount of servers must be able to support a potentially unlimited number of clients Any code running on the server must be clean and fast Database optimization Number your queries in your code. This will help you keep track of how many queries are involved in a certain process, and will save you time when trying to optimize your scripts. Create proper indexes. Optimized indexes are key to database speed. Any fields which are routinely queried against should have indexes. Don't create too many indexes, as unnecessary indexes will slow INSERTs and increase the database size unnecessarily. Test, test, and test again. Poorly written queries can kill a database server. Take the time to gauge the performance of your queries and understand what the database needs to do in order to execute them. Disk reads minimal number of included files
  • 11. Web Application | Graphic Design Changing the graphic design of the site is as easy as changing your t-shirt
  • 12. Web Application | Architecture Hosting Server Response DNS Visitors Server Internet Request Registrar
  • 13. Web Application | The Fundamentals of HTTP Hypertext Transfer Protocol One of the few protocols that bridges the gap between networking and application development groups HTTP Request Methods GET POST PUT DELETE HEAD HTTP response -consists of a header section and a body -The header section tells the browser how to treat the body content and -Each HTTP response includes a status code, which indicates the status of the request - 200 OK - 304 Not Modified - 404 Not Found - 401 Authorization Required - 500 Internal Error
  • 14. Web Application | HTTP Headers HTTP headers carry information about behaviour and application state between the browser and the server HTTP version (HTTP/1.0 or HTTP/1.1)1. Accept-Encoding: gzip, deflate2. Connection: Keep-Alive3. If-* headers4. Cache-Control or Pragma no-cache5
  • 15. Web Application | Cookies Cookies are sent by the web server to the browser as an HTTP header and used to store all sorts of information about a user’s interaction with the site Encrypted cookies will affect the performance of an application
  • 16. Web Application | Meta Tags Two types of meta tags - HTTP-EQUIV - NAME HTTP-EQUIV meta tags are equivalent to HTTP headers