SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Put the client on the client
                       thin servers and rich clients
                       on the Open Web




André Heie Vik
Consultant, Miles AS
Miles and Open Source

 We are 36 consultants in Bergen and Oslo
 Miles is a company driven by its values
  • competence
  • «warmth»
 Open Source fits well with these values
 Quality more important than ideology
 Activities
  • Open Source tools are a part of most of our work
  • develop OpenSSO integration (with Sun)
  • releasing our development tools as OSS
                   2009 CommunityOne Conference: North | no.sun.com/communityone   2
Learn about the advantages of moving logic
  from the server to the client, and why and
  how this can be done using the
  technologies of the Open Web




             2009 CommunityOne Conference: North | no.sun.com/communityone
Where is the client in
your web application?
 The server stores all client state
 The server generates the user interface
 Most user actions result in a page reload
 The application can’t work at all without the server...

 So what is the browser really? Client or viewer?

 What is the alternative?



                 2009 CommunityOne Conference: North | no.sun.com/communityone   4
Thin Server Architecture
http://www.thinserverachitecture.com/


  All functionality that can possibly
  be implemented on the client side
  should be implemented on the client side.
  All communication with the application server
  should be using services.
  No part of the client should be evoked,
  generated or templated from the server-side.
  The logic in the server will only implement
  the following functionality:
      • Security
      • Business logic
      • Proxying
                       2009 CommunityOne Conference: North | no.sun.com/communityone   5
Scalability
Thin Server advantages

 Client state does not consume server resources
 All UI generation is moved to the clients
  • If it can be moved to the client,
     it will scale with the number of clients
 Application download can be separated
 from the application server
 Application server serves data only
 Data is less specific to the user, and can be cached
 more easily

                      2009 CommunityOne Conference: North | no.sun.com/communityone   6
Faster response
Thin Server advantages

 User interaction is handled locally
 No full page reloads
 Server calls are asynchronous, and
 only needed to fetch new data




                 2009 CommunityOne Conference: North | no.sun.com/communityone   7
Service reuse
Thin Server advantages

 Services built for the client
 can be reused for integration
 Existing services can be used by the client
 Reduces duplication, no need to maintain separate
 interfaces for web clients and service clients




                 2009 CommunityOne Conference: North | no.sun.com/communityone   8
Offline use
Thin Server advantages

 User interfaces logic resides on the client
 Client can be used without the server
 Easier to create offline modes
 Can be handled seamlessly by the framework




                 2009 CommunityOne Conference: North | no.sun.com/communityone   9
Clean programming model
Thin Server advantages

 Clear division between client and server
 Less complexity
    • no abstracted client on the server
    • less magic
 Easier to test and debug, both together and separate
 Client side (UI) can be developed
 without server and vice versa
    • designers: pure HTML/CSS
    • front-end developers: pure HTML/JS
    • back-end developers: no UI logic
                 2009 CommunityOne Conference: North | no.sun.com/communityone   10
The Rich Open Web
and why it matters

 The Open Web is the vision of a web based on
 open standards, as opposed to technologies
 controlled by a single company
 Mozilla wants to create a «Open Web Platform»
 In the next generation of browsers, most of the
 applications that currently require proprietary RIA
 runtimes could be implemented in the browser
 Works well on advanced mobile platforms


                 2009 CommunityOne Conference: North | no.sun.com/communityone   11
Why the browser?

 The browser is a mature and evolving platform
 Rock-solid HTTP client
 Huge improvements in JavaScript performance
 HTML 5 adds client storage, canvas, and
 concurrency (web workers)
 Advanced and solid JavaScript frameworks
 Desktop integration is possible too
 Builds on what we already use and know well

                 2009 CommunityOne Conference: North | no.sun.com/communityone   12
What kind of services?

 JSON is JavaScript's native language
 HTTP is the browser’s native language
 REST and JSON is much easier to do in
 JavaScript than SOAP and XML
 But of course, you can do SOAP
 in JavaScript if you really want to!




                  2009 CommunityOne Conference: North | no.sun.com/communityone   13
Challenges

 Deep linking, history and the «back»-button
 Search engines
 Existing services
 Cross Domain AJAX
 Browser support
 Accessibility
 Rich interaction is difficult



                   2009 CommunityOne Conference: North | no.sun.com/communityone   14
How do you get started?

 Client: The Dojo framework is a good starting point
     • easily bind services to UI controls as data stores
     • comet support for live updates, seamless offline mode
     • ExtJs has similar features
     • JQuery is good at what is does
 Server: Keep It Simple, Stupid
    • Persevere is interesting (RESTful JSON database)
    • CouchDB as an application server?
    • or use or build your own services
    • Just keep it simple and thin!
                   2009 CommunityOne Conference: North | no.sun.com/communityone   15
Summary

 Thinner servers can make web development
 less complex, so you can build better applications
 The Open Web is a great platform – do you really
 need to use a proprietary RIA technology?


 It’s easy to get started!
      • http://www.dojotoolkit.org/
      • http://www.persvr.org/
      • http://www.sitepen.org/blog/
                    2009 CommunityOne Conference: North | no.sun.com/communityone   16
Put the client on the client
                     thin servers and rich clients
                     on the Open Web




André Heie Vik
andre.vik@miles.no

Mais conteúdo relacionado

Mais procurados

Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsAkshay Sharma
 
Save 90% with Alfresco compared to Microsoft
Save 90% with Alfresco compared to MicrosoftSave 90% with Alfresco compared to Microsoft
Save 90% with Alfresco compared to Microsoftjontranaes
 
Core Web Vitals - The Modern Web Experience
Core Web Vitals - The Modern Web ExperienceCore Web Vitals - The Modern Web Experience
Core Web Vitals - The Modern Web ExperienceCakra Danu Sedayu
 
Openbiz Cubi Case Study - Cymap
Openbiz Cubi Case Study - CymapOpenbiz Cubi Case Study - Cymap
Openbiz Cubi Case Study - CymapZhaoyang Sun
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxldominion
 
High Availability & Web Publishing for Skype for Business
High Availability & Web Publishing for Skype for BusinessHigh Availability & Web Publishing for Skype for Business
High Availability & Web Publishing for Skype for BusinessKemp
 
Performance testing of mobile apps
Performance testing of mobile appsPerformance testing of mobile apps
Performance testing of mobile appsvodQA
 

Mais procurados (9)

Microsoft Silverlight
Microsoft SilverlightMicrosoft Silverlight
Microsoft Silverlight
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
PAUG: MBAAS Overview
PAUG: MBAAS OverviewPAUG: MBAAS Overview
PAUG: MBAAS Overview
 
Save 90% with Alfresco compared to Microsoft
Save 90% with Alfresco compared to MicrosoftSave 90% with Alfresco compared to Microsoft
Save 90% with Alfresco compared to Microsoft
 
Core Web Vitals - The Modern Web Experience
Core Web Vitals - The Modern Web ExperienceCore Web Vitals - The Modern Web Experience
Core Web Vitals - The Modern Web Experience
 
Openbiz Cubi Case Study - Cymap
Openbiz Cubi Case Study - CymapOpenbiz Cubi Case Study - Cymap
Openbiz Cubi Case Study - Cymap
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
 
High Availability & Web Publishing for Skype for Business
High Availability & Web Publishing for Skype for BusinessHigh Availability & Web Publishing for Skype for Business
High Availability & Web Publishing for Skype for Business
 
Performance testing of mobile apps
Performance testing of mobile appsPerformance testing of mobile apps
Performance testing of mobile apps
 

Destaque

Turkish Airlines Africa Flights
Turkish Airlines Africa FlightsTurkish Airlines Africa Flights
Turkish Airlines Africa Flightsaefe
 
Intellectual consumerism maria_droujkova
Intellectual consumerism maria_droujkovaIntellectual consumerism maria_droujkova
Intellectual consumerism maria_droujkovaMaria Droujkova
 
Heather Locklear
Heather LocklearHeather Locklear
Heather LocklearElisa Sousa
 
Hvem sin tavle er det egentlig?
Hvem sin tavle er det egentlig?Hvem sin tavle er det egentlig?
Hvem sin tavle er det egentlig?André Heie Vik
 
Slide Show Presentation
Slide Show PresentationSlide Show Presentation
Slide Show Presentationseanmshields
 
Saying "no" is agile (Agile Tour Riga 2012)
Saying "no" is agile (Agile Tour Riga 2012)Saying "no" is agile (Agile Tour Riga 2012)
Saying "no" is agile (Agile Tour Riga 2012)André Heie Vik
 

Destaque (6)

Turkish Airlines Africa Flights
Turkish Airlines Africa FlightsTurkish Airlines Africa Flights
Turkish Airlines Africa Flights
 
Intellectual consumerism maria_droujkova
Intellectual consumerism maria_droujkovaIntellectual consumerism maria_droujkova
Intellectual consumerism maria_droujkova
 
Heather Locklear
Heather LocklearHeather Locklear
Heather Locklear
 
Hvem sin tavle er det egentlig?
Hvem sin tavle er det egentlig?Hvem sin tavle er det egentlig?
Hvem sin tavle er det egentlig?
 
Slide Show Presentation
Slide Show PresentationSlide Show Presentation
Slide Show Presentation
 
Saying "no" is agile (Agile Tour Riga 2012)
Saying "no" is agile (Agile Tour Riga 2012)Saying "no" is agile (Agile Tour Riga 2012)
Saying "no" is agile (Agile Tour Riga 2012)
 

Semelhante a Put the client on the client

Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Abdelrahman Omran
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Paris Android User Group
 
Website development & it's trends
Website development & it's trendsWebsite development & it's trends
Website development & it's trendsSunCart Store
 
Web Development Trends That Boom In 2024.pdf
Web Development Trends That Boom In 2024.pdfWeb Development Trends That Boom In 2024.pdf
Web Development Trends That Boom In 2024.pdfSolviosTechnology
 
Web Based Vs Cloud Based Apps Complete Comparison (2).pdf
Web Based Vs Cloud Based Apps Complete Comparison (2).pdfWeb Based Vs Cloud Based Apps Complete Comparison (2).pdf
Web Based Vs Cloud Based Apps Complete Comparison (2).pdfchristiemarie4
 
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...ddrschiw
 
Web application development full & detailed guide for 2022
Web application development  full & detailed guide for 2022Web application development  full & detailed guide for 2022
Web application development full & detailed guide for 2022Metricoid Technology
 
Resume Partha Roy
Resume Partha RoyResume Partha Roy
Resume Partha RoyPartha Roy
 
Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023Netizens Technologies
 
Cloud description
Cloud descriptionCloud description
Cloud descriptionthanuambika
 
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014IBM France Lab
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web FrameworksSarika Jadhav
 
Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Daniel Zivkovic
 
B3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentB3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentDr. Wilfred Lin (Ph.D.)
 
The Power of Single-Page Applications (SPAs) - Volga Tigris
The Power of Single-Page Applications (SPAs)  - Volga TigrisThe Power of Single-Page Applications (SPAs)  - Volga Tigris
The Power of Single-Page Applications (SPAs) - Volga TigrisClaraM27
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)TIMETOACT GROUP
 

Semelhante a Put the client on the client (20)

Food borne human diseases
Food borne human diseasesFood borne human diseases
Food borne human diseases
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013
 
Website development & it's trends
Website development & it's trendsWebsite development & it's trends
Website development & it's trends
 
Build A Scalable Mobile App
Build A Scalable Mobile App Build A Scalable Mobile App
Build A Scalable Mobile App
 
Web Development Trends That Boom In 2024.pdf
Web Development Trends That Boom In 2024.pdfWeb Development Trends That Boom In 2024.pdf
Web Development Trends That Boom In 2024.pdf
 
Web Based Vs Cloud Based Apps Complete Comparison (2).pdf
Web Based Vs Cloud Based Apps Complete Comparison (2).pdfWeb Based Vs Cloud Based Apps Complete Comparison (2).pdf
Web Based Vs Cloud Based Apps Complete Comparison (2).pdf
 
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
 
Web application development full & detailed guide for 2022
Web application development  full & detailed guide for 2022Web application development  full & detailed guide for 2022
Web application development full & detailed guide for 2022
 
Resume Partha Roy
Resume Partha RoyResume Partha Roy
Resume Partha Roy
 
Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023
 
Web Applications: Dominance and Drawbacks
Web Applications: Dominance and DrawbacksWeb Applications: Dominance and Drawbacks
Web Applications: Dominance and Drawbacks
 
Cloud description
Cloud descriptionCloud description
Cloud description
 
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web Frameworks
 
Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!
 
B3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentB3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_development
 
The Power of Single-Page Applications (SPAs) - Volga Tigris
The Power of Single-Page Applications (SPAs)  - Volga TigrisThe Power of Single-Page Applications (SPAs)  - Volga Tigris
The Power of Single-Page Applications (SPAs) - Volga Tigris
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Put the client on the client

  • 1. Put the client on the client thin servers and rich clients on the Open Web André Heie Vik Consultant, Miles AS
  • 2. Miles and Open Source We are 36 consultants in Bergen and Oslo Miles is a company driven by its values • competence • «warmth» Open Source fits well with these values Quality more important than ideology Activities • Open Source tools are a part of most of our work • develop OpenSSO integration (with Sun) • releasing our development tools as OSS 2009 CommunityOne Conference: North | no.sun.com/communityone 2
  • 3. Learn about the advantages of moving logic from the server to the client, and why and how this can be done using the technologies of the Open Web 2009 CommunityOne Conference: North | no.sun.com/communityone
  • 4. Where is the client in your web application? The server stores all client state The server generates the user interface Most user actions result in a page reload The application can’t work at all without the server... So what is the browser really? Client or viewer? What is the alternative? 2009 CommunityOne Conference: North | no.sun.com/communityone 4
  • 5. Thin Server Architecture http://www.thinserverachitecture.com/ All functionality that can possibly be implemented on the client side should be implemented on the client side. All communication with the application server should be using services. No part of the client should be evoked, generated or templated from the server-side. The logic in the server will only implement the following functionality: • Security • Business logic • Proxying 2009 CommunityOne Conference: North | no.sun.com/communityone 5
  • 6. Scalability Thin Server advantages Client state does not consume server resources All UI generation is moved to the clients • If it can be moved to the client, it will scale with the number of clients Application download can be separated from the application server Application server serves data only Data is less specific to the user, and can be cached more easily 2009 CommunityOne Conference: North | no.sun.com/communityone 6
  • 7. Faster response Thin Server advantages User interaction is handled locally No full page reloads Server calls are asynchronous, and only needed to fetch new data 2009 CommunityOne Conference: North | no.sun.com/communityone 7
  • 8. Service reuse Thin Server advantages Services built for the client can be reused for integration Existing services can be used by the client Reduces duplication, no need to maintain separate interfaces for web clients and service clients 2009 CommunityOne Conference: North | no.sun.com/communityone 8
  • 9. Offline use Thin Server advantages User interfaces logic resides on the client Client can be used without the server Easier to create offline modes Can be handled seamlessly by the framework 2009 CommunityOne Conference: North | no.sun.com/communityone 9
  • 10. Clean programming model Thin Server advantages Clear division between client and server Less complexity • no abstracted client on the server • less magic Easier to test and debug, both together and separate Client side (UI) can be developed without server and vice versa • designers: pure HTML/CSS • front-end developers: pure HTML/JS • back-end developers: no UI logic 2009 CommunityOne Conference: North | no.sun.com/communityone 10
  • 11. The Rich Open Web and why it matters The Open Web is the vision of a web based on open standards, as opposed to technologies controlled by a single company Mozilla wants to create a «Open Web Platform» In the next generation of browsers, most of the applications that currently require proprietary RIA runtimes could be implemented in the browser Works well on advanced mobile platforms 2009 CommunityOne Conference: North | no.sun.com/communityone 11
  • 12. Why the browser? The browser is a mature and evolving platform Rock-solid HTTP client Huge improvements in JavaScript performance HTML 5 adds client storage, canvas, and concurrency (web workers) Advanced and solid JavaScript frameworks Desktop integration is possible too Builds on what we already use and know well 2009 CommunityOne Conference: North | no.sun.com/communityone 12
  • 13. What kind of services? JSON is JavaScript's native language HTTP is the browser’s native language REST and JSON is much easier to do in JavaScript than SOAP and XML But of course, you can do SOAP in JavaScript if you really want to! 2009 CommunityOne Conference: North | no.sun.com/communityone 13
  • 14. Challenges Deep linking, history and the «back»-button Search engines Existing services Cross Domain AJAX Browser support Accessibility Rich interaction is difficult 2009 CommunityOne Conference: North | no.sun.com/communityone 14
  • 15. How do you get started? Client: The Dojo framework is a good starting point • easily bind services to UI controls as data stores • comet support for live updates, seamless offline mode • ExtJs has similar features • JQuery is good at what is does Server: Keep It Simple, Stupid • Persevere is interesting (RESTful JSON database) • CouchDB as an application server? • or use or build your own services • Just keep it simple and thin! 2009 CommunityOne Conference: North | no.sun.com/communityone 15
  • 16. Summary Thinner servers can make web development less complex, so you can build better applications The Open Web is a great platform – do you really need to use a proprietary RIA technology? It’s easy to get started! • http://www.dojotoolkit.org/ • http://www.persvr.org/ • http://www.sitepen.org/blog/ 2009 CommunityOne Conference: North | no.sun.com/communityone 16
  • 17. Put the client on the client thin servers and rich clients on the Open Web André Heie Vik andre.vik@miles.no