SlideShare a Scribd company logo
PainSoftware
Web-application
I’ve always dreamt of
@JavaDay Kharkiv
2015
Victor Polischuk
PainSoftware
Programming 26
Overall 32
Java 11
Web 11
Legacy 11
Professional 13
Has something to share
@alkovictor
Prehistoric Era [...-1995]
• Static content only
• Interaction without server:
Impossible
Unthinkable
• Server-side HTML adjustments
PainSoftware
PainSoftware
Medieval Era [1995-2005]
• Static content mostly
• Interaction without server: cached resources
• Server-side HTML+CSS+JS adjustments
• Frames as asynchronous data loading
• Birth of:
Servlet API
JavaScript
DHTML concept
Flash
Browser-compatibility hell
RFC1925
PainSoftware
PainSoftware
Renaissance Era [2005-2010]
• Static content with dynamic “whistles”
• Interaction without server: simple functions
• Server-side HTML+CSS+JS adjustments
• Rising popularity of Rich Internet Applications
• Birth of:
jQuery
DOJO
AJAX and Comet
PainSoftware
PainSoftware
Modern Era [2010-...]
• Internet of Things
• Big Data
• Cloud Computing
• ???
PainSoftware
Overview
PainSoftware
http://zeroturnaround.com/rebellabs/top-4-java-web-frameworks-revealed-real-life-usage-data-of-spring-mvc-vaadin-gwt-and-jsf/
Business Needs
• Integration with anything:
Mobile
Mainframe
Coffee machine
• High availability:
Hard to predict clients behavior
• Data is the TOP priority:
We make money out of it
• Client’s satisfaction:
Should be happier than those of our competitors
PainSoftware
Idea
• “All problems in computer science can be solved by another level of
indirection” © David Wheeler
• “Do One Thing and Do It Well” © Unix community
PainSoftware
Idea
PainSoftware
Client
PainSoftware
Client
PainSoftware
Server
PainSoftware
Server
PainSoftware
Business Needs
• Integration with anything
• High availability
• Data is the TOP priority
• Client’s satisfaction
PainSoftware
Technical Needs
• Scalability
• Security
• Testability
• “Otherity”
PainSoftware
Scalability
• Server is just a bunch of endpoints
• Independent client
• State
Client needs it
Server doesn’t
• SLA
Way to Nine-Nines
You do not want to lose clients, right?
PainSoftware
…We Design
PainSoftware
…We Imagine
PainSoftware
…We Build
PainSoftware
Security
• Do you need it on each request?
• Do you know how it works?
• Do you think it is secure?
PainSoftware
…Of Course
PainSoftware
…Safe JSF
PainSoftware
…Safe Cookies
PainSoftware
…Strong Password
PainSoftware
…$5000 bug
PainSoftware
PainSoftware
Testability
• Server side:
Unit
Integration
Contract
[optional] Load & Performance
• Client side:
Unit
Integration
Contract
[optional] Browser & Sanity
PainSoftware
…Client
PainSoftware
Responsibility
• Client:
Responsive
User-friendly
Pretty
• Server:
Scalable
Fail-proof
Redundant
PainSoftware
Traffic
• Reduce useless to none
• De-increase useful:
Increase volume
Decrease size
PainSoftware
Optimization
• Client
Caching
Pre-fetching
Incremental updates
• Server:
Caching
Pre-fetching
Incremental updates
PainSoftware
Encapsulation
• Both parties can have their own secrets
PainSoftware
Polygamy
• Is it moral if a client has many servers and vice versa?
PainSoftware
Summary
• Effectiveness: you have one job
• Security: you are limiting interaction to minimum
• Testability: test JSF page, I dare you!
• State: -less server, -ful client
• Elasticity/scalability: your data volume is growing
• Network optimizations: you know what you send
• Local optimizations: you know what you do
• Many-to-many connections
• SLA
PainSoftware
Questions
PainSoftware

More Related Content

PPTX
Web application I have always dreamt of (Lviv)
PPTX
ASP.NET MVC 4
PDF
Orchestrator for QlikView: add-on product description
PPTX
Building Modern Web Applications with ASP.NET5
PDF
Single Page Apps
PPTX
How to ease the learning curve
PPTX
Why XAF and XPO?
PDF
Configuration Manager vNext - What to expect
Web application I have always dreamt of (Lviv)
ASP.NET MVC 4
Orchestrator for QlikView: add-on product description
Building Modern Web Applications with ASP.NET5
Single Page Apps
How to ease the learning curve
Why XAF and XPO?
Configuration Manager vNext - What to expect

What's hot (20)

PPTX
Les nouveautés ASP.NET 5 avec Visual Studio 2015
PPTX
Improving Perceived Page Performance with ASP.NET Web API and AJAX
PPTX
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
PPT
Project FiFo - Architecture
PPTX
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
PDF
Next Generation Web Development Techniques with Cloud Foundry
PPTX
How to automate your BizTalk Installations and Deployments with Chef
PPTX
Host, deploy & scale Blazor Server Apps
PPTX
Building solutions with the SharePoint Framework - introduction
PDF
Journey to a multi-tenant e commerce solution in the cloud with Kubernetes - ...
PPTX
Lightswitch
PPTX
AppFx.ServiceBus - Simple Messaging with Windows Azure Service Bus
PPTX
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
PPTX
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
PPTX
Mobilizing Your SAP Data with Kendo UI Mobile
PDF
Monolithic to microservices migration journey with spring cloud
PPTX
Office script labs
PPTX
BizTalk Server Performance Tips
PDF
Introduction to ASP.NET MVC
PDF
Monolithic to Microservices Migration Journey of iyzico with Spring Cloud
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Improving Perceived Page Performance with ASP.NET Web API and AJAX
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
Project FiFo - Architecture
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Next Generation Web Development Techniques with Cloud Foundry
How to automate your BizTalk Installations and Deployments with Chef
Host, deploy & scale Blazor Server Apps
Building solutions with the SharePoint Framework - introduction
Journey to a multi-tenant e commerce solution in the cloud with Kubernetes - ...
Lightswitch
AppFx.ServiceBus - Simple Messaging with Windows Azure Service Bus
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Mobilizing Your SAP Data with Kendo UI Mobile
Monolithic to microservices migration journey with spring cloud
Office script labs
BizTalk Server Performance Tips
Introduction to ASP.NET MVC
Monolithic to Microservices Migration Journey of iyzico with Spring Cloud
Ad

Viewers also liked (13)

PPTX
Yrityksen tarpeista lähtevä työterveydenhuolto - Tanja Rokkanen
PDF
Challenges in altmetric data collection
PDF
Modern Trends in Development of Large Distributed Information Systems
PPTX
Session 1 Emarketing - 13 Aug 10
DOCX
Semana de la pyme programa
PDF
Kimberly_Robinson
PDF
The Relevance Imperative - TECHconnect Bangalore 2015
PDF
review article
PDF
Innovative Technologies of 3D-Modelling in Medicine
PPTX
Fast and Instant Payday Loans in Canada
PPTX
Colaboration with Alfresco Share
PPTX
Танец. Вероника Проскурская
PPT
Деньги без процентов и инфляции. Маргрит Кеннеди. Николай Панчишин
Yrityksen tarpeista lähtevä työterveydenhuolto - Tanja Rokkanen
Challenges in altmetric data collection
Modern Trends in Development of Large Distributed Information Systems
Session 1 Emarketing - 13 Aug 10
Semana de la pyme programa
Kimberly_Robinson
The Relevance Imperative - TECHconnect Bangalore 2015
review article
Innovative Technologies of 3D-Modelling in Medicine
Fast and Instant Payday Loans in Canada
Colaboration with Alfresco Share
Танец. Вероника Проскурская
Деньги без процентов и инфляции. Маргрит Кеннеди. Николай Панчишин
Ad

Similar to Web-application I’ve always dreamt of (Kharkiv) (20)

PPTX
Web application I have always dreamt of
PDF
Building a serverless app
PDF
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
PPT
Webapplication ppt prepared by krishna ballabh gupta
PPTX
Html5 phillycc
PDF
Tech Talk on Cloud Computing
PPTX
SignalR for ASP.NET Developers
PPTX
Micro Service Architecture
PPTX
Architecture evolution
PPT
Basic fundamentals of web application development
PPTX
Code first in the cloud: going serverless with Azure
PPTX
Scaling wix to over 50 m users
PPTX
Azure Functions Real World Examples
PDF
Real time web
PPTX
[PHP SW] Software vs Web: What sets them apart?
PDF
Microservices
PPTX
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
PPTX
Creating your own private Download Center with Bintray
PPTX
How to consolidate Citrix Monitoring in a Single Pane of Glass
PPTX
Scaling wix to over 70 m users
Web application I have always dreamt of
Building a serverless app
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Webapplication ppt prepared by krishna ballabh gupta
Html5 phillycc
Tech Talk on Cloud Computing
SignalR for ASP.NET Developers
Micro Service Architecture
Architecture evolution
Basic fundamentals of web application development
Code first in the cloud: going serverless with Azure
Scaling wix to over 50 m users
Azure Functions Real World Examples
Real time web
[PHP SW] Software vs Web: What sets them apart?
Microservices
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
Creating your own private Download Center with Bintray
How to consolidate Citrix Monitoring in a Single Pane of Glass
Scaling wix to over 70 m users

More from Victor_Cr (14)

PPTX
Data Wars: The Bloody Enterprise strikes back
PPTX
Data Wars: The Bloody Enterprise strikes back
PPTX
Type War: Weak vs Strong [JEEConf 2016]
PPTX
Types: Weak/Duck/Optional vs Strong/Strict. Let the War Begin!
PPTX
Types: Weak/Duck/Optional vs Strong/Strict. Let the War Begin!
PPTX
Legacy: как победить в гонке (Joker)
PPTX
Legacy projects: how to win the race
PPTX
Legacy projects: how to win the race
PPTX
Jboss drools expert (ru)
PPTX
JEEConf WEB
PPTX
JEEConf JBoss Drools
ODP
JBoss Drools
PPTX
XPDays Ukraine: Legacy
PPTX
Club of anonimous developers "Refactoring: Legacy code"
Data Wars: The Bloody Enterprise strikes back
Data Wars: The Bloody Enterprise strikes back
Type War: Weak vs Strong [JEEConf 2016]
Types: Weak/Duck/Optional vs Strong/Strict. Let the War Begin!
Types: Weak/Duck/Optional vs Strong/Strict. Let the War Begin!
Legacy: как победить в гонке (Joker)
Legacy projects: how to win the race
Legacy projects: how to win the race
Jboss drools expert (ru)
JEEConf WEB
JEEConf JBoss Drools
JBoss Drools
XPDays Ukraine: Legacy
Club of anonimous developers "Refactoring: Legacy code"

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
cuic standard and advanced reporting.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
A Presentation on Artificial Intelligence
PDF
Encapsulation theory and applications.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Empathic Computing: Creating Shared Understanding
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Monthly Chronicles - July 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
cuic standard and advanced reporting.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
A Presentation on Artificial Intelligence
Encapsulation theory and applications.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Understanding_Digital_Forensics_Presentation.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Empathic Computing: Creating Shared Understanding
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

Web-application I’ve always dreamt of (Kharkiv)