SlideShare a Scribd company logo
1 of 22
Download to read offline
Introduction To Web Application

              Alex
Topic

    No programming detail

    Not for some specific programming
    language

    Focus on what it is

    Focus on how it works
Outline

    Client Server Communication

    HTTP

    Static Web

    Web Server

    Client Side Script

    Dynamic Web

    Application Server

    Beyond This
Client Server Communication

    Server listen

    Client send a request

    Server send a response back

    OSI Stack
      –   Application Layer
      –   Transport Layer
      –   Network Layer
      –   Data Link Layer
      –   Physical Layer
HTTP

    Application Layer Protocol

    URL As Address

    Address Stack
      –   HTTP: URL (domain + path)
      –   TCP: ip + port
      –   IP: ip
      –   802.11x: mac address
      –   Hardware: broadcast
HTTP

    HTTP Request
      –   Header (Key-Value Text)
           •   Address (Host, Get or Post)
           •   Describe Body
           •   Describe Client
           •   Other Stuff
      –   Body
           •   Post Parameters (key=value)
           •   Files
           •   Carry whatever you want
HTTP

    HTTP Response
      – Header (Text Key Value Pairs)
           • Response Status (2xx 3xx 4xx 5xx)
           • Describe Body
           • Other Stuff
      – Body
           • Browser case : HTML js css
           • Download case : anything you downloaded
Static Web

    Document Sharing

    Connection between Documents – Hyper
    Link

    Document is text and more than text

    Hyper Text = text + hyper link

    HTML = Hyper Text + style

    Hyper Text Markup Language
Web Server

    Manage static document files

    Give client what it ask for

    Apache Lighttpd Nginx etc

    How it works
      – Listen on a port (default 80)
      – Accept a http request
      – Locate the document client wants
      – Send that back to client as a http response
Client Side Script

    More than display and link
      – Animation
      – Response user action immediately
      – Some logic can run on client

    Browser can run
      – Javascript
      – Flash
      – Sliver light
      – VB Script, Java Applet, ActiveX, Extensions
Dynamic Web

    Think about a forum
      – User generate content
      – Topics changes all the time

    You can not do this static way
      – We need more then static files
      – We need to run a program when we accept
         a http request to generate response

    How?
Dynamic Web

    New Way
     – Listen to a port (default 80)
     – Accept a http request
     – Processing request
          • If static content, return that stupid file
          • If dynamic run a program return that result
     – Send result back as a http response
Application Server

    More then web server
      – An URL can map to a static file
      – An URL can map to a processing logic

    Ancient Way
      – CGI just run a executable program and
         return the standard output
      – Fast CGI : thread based
Application Server

    Now it works, functionally

    People finally got Web Application

    But it sucks
      – If we write an address which we should not
          write, Crash!
      – Print each line of html
      – Heavy work just for a forum
Application Server

    Most Web Applications do not need
    memory manipulate

    Output html in html way

    Solution
      – Interpret server side script in a html
          template when processing a request
      – Php is short for Php Home Page
      – Asp jsp rhtml
Application Server

    PHP
Application Server

    How it works
      – Listen to a port (default 80)
      – Accept a http request
      – Processing request
           • If static content, return that stupid file
           • If dynamic
                 – Run the interpreter such as php interpreter
                 – The interpreter interpret user program(php file)
                 – Interpreter return the interpret result
      – Send result back as a http response
Application Server

    PHP style language limitation
      – Each interpreter instance for a request
      – No server global context
      – Low performance nature

    JAVA style (JAVA .NET)
      – Virtual machine execution (keep
         programmer from low level memory ops)
      – Compile instead interpret (greatly improve
         performance)
      – Web app and server all run in One VM
Application Server

    How it works (JAVA style)
      – JVM start a JAVA program (that's server)
      – Listen to a port (default 80)(run in VM)
      – Accept a http request (run in VM)
      – Processing request (run in VM)
           • If static content, return that stupid file
           • If dynamic
                 – Parse the http request
                 – Call the user define method which should
                    process this request,
      – Send result back as a http response(run in
         VM)
Application Server

    JAVA program server should be
      – Tomcat (widely used)
      – Jetty (we use in current project)
      – Websphere (widely used in commercial)

    The user define method should be
      – doGet(request, response)
      – doPost(request, response)
Beyond This

    Web Service

    Web Socket

    High Performance Web

    High Availability

    Distribute Web
Q&A
Thank!

More Related Content

What's hot

Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsAchievers Tech
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration PatternsOleg Tsal-Tsalko
 
Content Management With Apache Jackrabbit
Content Management With Apache JackrabbitContent Management With Apache Jackrabbit
Content Management With Apache JackrabbitJukka Zitting
 
lessons from managing a pulsar cluster
 lessons from managing a pulsar cluster lessons from managing a pulsar cluster
lessons from managing a pulsar clusterShivji Kumar Jha
 
21 Www Web Services
21 Www Web Services21 Www Web Services
21 Www Web Servicesroyans
 
Windows Azure Service Bus
Windows Azure Service BusWindows Azure Service Bus
Windows Azure Service BusPavel Revenkov
 
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesApache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesShivji Kumar Jha
 
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]Malin Weiss
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecturejuly mon
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patternsmelbournepatterns
 
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache PulsarPulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache PulsarShivji Kumar Jha
 
Restful web services rule financial
Restful web services   rule financialRestful web services   rule financial
Restful web services rule financialRule_Financial
 
Apache Content Technologies
Apache Content TechnologiesApache Content Technologies
Apache Content Technologiesgagravarr
 
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)Shivji Kumar Jha
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions Alfresco Software
 

What's hot (20)

ApacheCon09: Avro
ApacheCon09: AvroApacheCon09: Avro
ApacheCon09: Avro
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
Apache Jackrabbit
Apache JackrabbitApache Jackrabbit
Apache Jackrabbit
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
 
Content Management With Apache Jackrabbit
Content Management With Apache JackrabbitContent Management With Apache Jackrabbit
Content Management With Apache Jackrabbit
 
lessons from managing a pulsar cluster
 lessons from managing a pulsar cluster lessons from managing a pulsar cluster
lessons from managing a pulsar cluster
 
21 Www Web Services
21 Www Web Services21 Www Web Services
21 Www Web Services
 
SPDY Talk
SPDY TalkSPDY Talk
SPDY Talk
 
Windows Azure Service Bus
Windows Azure Service BusWindows Azure Service Bus
Windows Azure Service Bus
 
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesApache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
 
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
 
Crawl
CrawlCrawl
Crawl
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
 
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache PulsarPulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
 
Restful web services rule financial
Restful web services   rule financialRestful web services   rule financial
Restful web services rule financial
 
Apache Content Technologies
Apache Content TechnologiesApache Content Technologies
Apache Content Technologies
 
Nodeconf npm 2011
Nodeconf npm 2011Nodeconf npm 2011
Nodeconf npm 2011
 
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions
 

Viewers also liked

Viewers also liked (8)

Project Allusion
Project AllusionProject Allusion
Project Allusion
 
Definition of allusion
Definition of allusionDefinition of allusion
Definition of allusion
 
Allusion
AllusionAllusion
Allusion
 
Allusions
AllusionsAllusions
Allusions
 
Allusion
Allusion Allusion
Allusion
 
Allusions
AllusionsAllusions
Allusions
 
Types of allusion
Types of allusionTypes of allusion
Types of allusion
 
Allusions powerpoint
Allusions powerpointAllusions powerpoint
Allusions powerpoint
 

Similar to Indroduction to Web Application

PHP Training: Module 1
PHP Training: Module 1PHP Training: Module 1
PHP Training: Module 1hussulinux
 
Interactive web. O rly?
Interactive web. O rly?Interactive web. O rly?
Interactive web. O rly?timbc
 
6 3 tier architecture php
6 3 tier architecture php6 3 tier architecture php
6 3 tier architecture phpcefour
 
2. application layer
2. application layer2. application layer
2. application layerTageleBerihun
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1nhepner
 
4th Lecture: JSP and such
4th Lecture:  JSP and such4th Lecture:  JSP and such
4th Lecture: JSP and suchManolis Vavalis
 
Woo: Writing a fast web server @ ELS2015
Woo: Writing a fast web server @ ELS2015Woo: Writing a fast web server @ ELS2015
Woo: Writing a fast web server @ ELS2015fukamachi
 
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010 Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010 Matt Gauger
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postvamsitricks
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)NYversity
 
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical informationZarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical informationZarafa
 
Advanced java
Advanced java Advanced java
Advanced java NA
 
spray: REST on Akka (Scala Days)
spray: REST on Akka (Scala Days)spray: REST on Akka (Scala Days)
spray: REST on Akka (Scala Days)sirthias
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postvamsitricks
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postvamsi krishna
 
JavaScript Service Worker Design Patterns for Better User Experience
JavaScript Service Worker Design Patterns for Better User ExperienceJavaScript Service Worker Design Patterns for Better User Experience
JavaScript Service Worker Design Patterns for Better User Experiencereeder29
 

Similar to Indroduction to Web Application (20)

PHP Training: Module 1
PHP Training: Module 1PHP Training: Module 1
PHP Training: Module 1
 
Interactive web. O rly?
Interactive web. O rly?Interactive web. O rly?
Interactive web. O rly?
 
6 3 tier architecture php
6 3 tier architecture php6 3 tier architecture php
6 3 tier architecture php
 
2. application layer
2. application layer2. application layer
2. application layer
 
Web technologies: HTTP
Web technologies: HTTPWeb technologies: HTTP
Web technologies: HTTP
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1
 
4th Lecture: JSP and such
4th Lecture:  JSP and such4th Lecture:  JSP and such
4th Lecture: JSP and such
 
Woo: Writing a fast web server @ ELS2015
Woo: Writing a fast web server @ ELS2015Woo: Writing a fast web server @ ELS2015
Woo: Writing a fast web server @ ELS2015
 
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010 Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)
 
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical informationZarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
 
Advanced java
Advanced java Advanced java
Advanced java
 
spray: REST on Akka (Scala Days)
spray: REST on Akka (Scala Days)spray: REST on Akka (Scala Days)
spray: REST on Akka (Scala Days)
 
HTTP
HTTPHTTP
HTTP
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
 
JavaScript Service Worker Design Patterns for Better User Experience
JavaScript Service Worker Design Patterns for Better User ExperienceJavaScript Service Worker Design Patterns for Better User Experience
JavaScript Service Worker Design Patterns for Better User Experience
 
WebSocket
WebSocketWebSocket
WebSocket
 
Webtechnologies
Webtechnologies Webtechnologies
Webtechnologies
 

Recently uploaded

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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Indroduction to Web Application

  • 1. Introduction To Web Application Alex
  • 2. Topic  No programming detail  Not for some specific programming language  Focus on what it is  Focus on how it works
  • 3. Outline  Client Server Communication  HTTP  Static Web  Web Server  Client Side Script  Dynamic Web  Application Server  Beyond This
  • 4. Client Server Communication  Server listen  Client send a request  Server send a response back  OSI Stack – Application Layer – Transport Layer – Network Layer – Data Link Layer – Physical Layer
  • 5. HTTP  Application Layer Protocol  URL As Address  Address Stack – HTTP: URL (domain + path) – TCP: ip + port – IP: ip – 802.11x: mac address – Hardware: broadcast
  • 6. HTTP  HTTP Request – Header (Key-Value Text) • Address (Host, Get or Post) • Describe Body • Describe Client • Other Stuff – Body • Post Parameters (key=value) • Files • Carry whatever you want
  • 7. HTTP  HTTP Response – Header (Text Key Value Pairs) • Response Status (2xx 3xx 4xx 5xx) • Describe Body • Other Stuff – Body • Browser case : HTML js css • Download case : anything you downloaded
  • 8. Static Web  Document Sharing  Connection between Documents – Hyper Link  Document is text and more than text  Hyper Text = text + hyper link  HTML = Hyper Text + style  Hyper Text Markup Language
  • 9. Web Server  Manage static document files  Give client what it ask for  Apache Lighttpd Nginx etc  How it works – Listen on a port (default 80) – Accept a http request – Locate the document client wants – Send that back to client as a http response
  • 10. Client Side Script  More than display and link – Animation – Response user action immediately – Some logic can run on client  Browser can run – Javascript – Flash – Sliver light – VB Script, Java Applet, ActiveX, Extensions
  • 11. Dynamic Web  Think about a forum – User generate content – Topics changes all the time  You can not do this static way – We need more then static files – We need to run a program when we accept a http request to generate response  How?
  • 12. Dynamic Web  New Way – Listen to a port (default 80) – Accept a http request – Processing request • If static content, return that stupid file • If dynamic run a program return that result – Send result back as a http response
  • 13. Application Server  More then web server – An URL can map to a static file – An URL can map to a processing logic  Ancient Way – CGI just run a executable program and return the standard output – Fast CGI : thread based
  • 14. Application Server  Now it works, functionally  People finally got Web Application  But it sucks – If we write an address which we should not write, Crash! – Print each line of html – Heavy work just for a forum
  • 15. Application Server  Most Web Applications do not need memory manipulate  Output html in html way  Solution – Interpret server side script in a html template when processing a request – Php is short for Php Home Page – Asp jsp rhtml
  • 17. Application Server  How it works – Listen to a port (default 80) – Accept a http request – Processing request • If static content, return that stupid file • If dynamic – Run the interpreter such as php interpreter – The interpreter interpret user program(php file) – Interpreter return the interpret result – Send result back as a http response
  • 18. Application Server  PHP style language limitation – Each interpreter instance for a request – No server global context – Low performance nature  JAVA style (JAVA .NET) – Virtual machine execution (keep programmer from low level memory ops) – Compile instead interpret (greatly improve performance) – Web app and server all run in One VM
  • 19. Application Server  How it works (JAVA style) – JVM start a JAVA program (that's server) – Listen to a port (default 80)(run in VM) – Accept a http request (run in VM) – Processing request (run in VM) • If static content, return that stupid file • If dynamic – Parse the http request – Call the user define method which should process this request, – Send result back as a http response(run in VM)
  • 20. Application Server  JAVA program server should be – Tomcat (widely used) – Jetty (we use in current project) – Websphere (widely used in commercial)  The user define method should be – doGet(request, response) – doPost(request, response)
  • 21. Beyond This  Web Service  Web Socket  High Performance Web  High Availability  Distribute Web