0% found this document useful (0 votes)
8 views24 pages

Roth

Productive Edge is a software engineering firm founded in 2008, specializing in web and mobile application development using agile processes and open-source technologies. The company offers end-to-end solutions, including strategy, design, development, and support, while adapting to modern development practices like continuous delivery and service-based architecture. The document also outlines the evolution of applications, development processes, and various technologies used in modern web application development.

Uploaded by

Thanh Son Le
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views24 pages

Roth

Productive Edge is a software engineering firm founded in 2008, specializing in web and mobile application development using agile processes and open-source technologies. The company offers end-to-end solutions, including strategy, design, development, and support, while adapting to modern development practices like continuous delivery and service-based architecture. The document also outlines the evolution of applications, development processes, and various technologies used in modern web application development.

Uploaded by

Thanh Son Le
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Building Modern

Web Applications

Evan Roth
Affinity Director
Software Architecture
Productive Edge
Productive Edge
At-a-Glance
2008
Founded as a soft-
Office in 4 contries
ware engineering firm
focused on Web Headquarters in Chicago
application devel-
opment with agile
processes and open
source technologies
Service
offerings
“Enterprise Boutique” 150+ resources 2013/2014 now span:
Built on quality
WEB
and personal 45% 80%
touchtechnologies onshore employees MOBILE

55% 20% DIGITAL


offshore contractors MANAGED
What we do
We provide end-to-end, full
stack, high quality web and
mobile solutions.

end-to-end solutions
strategy, visual design, business outcomes realized
user experience, business & measured
analysis, development, testing,
analytics, support

full stack high quality


front end, back end, web, user validated, thoroughly
mobile, integration, data tested
Brief History of the
Evolution of Apps

Pre
1990’s 2000’s NOW
1990’s

Shared systems

Console-based
Applications

In-house infrastructure

Birth of the internet


Brief History of the
Evolution of Apps

Pre
1990’s 2000’s NOW
1990’s

Client-Server Apps

CSS allows for quick


improvements beyond
simple text

Enterprise embraces
frameworks: Java &
Microsoft’s ASP
Brief History of the
Evolution of Apps

Pre
1990’s 2000’s NOW
1990’s

PHP released-now 80% Bring on the Javascript


of web sites run it frameworks

Co-location facilities Browsing on phones


becomes commonplace
AJAX allows for building
rich web applications

Browsers become the


de facto client
Brief History of the
Evolution of Apps

NOW

Modern development
requires modern processes

Focus on performance
and quality

Applications require
a mixed skillset
Development
Processes

Waterfall Agile

Requirements up front Embrace change


VS
Rigid budget and timeline

Project phases for


Iterative development

Continuous delivery
Development and testing
Hybrid –
Practical Agile

Productive Edge’s Established deadline and budget


model for working with Iterative development
our clients
Continuous delivery
Early Discovery phase to
understand requirements

Early technical spikes


to mitigate risk
Continuous
Delivery
Working towards: Automated builds
• Reacting faster • Test builds triggered by
• Reducing risk & cost code check-ins
• Flexible releases • Contain automated quality gates
• Build success
Separate environments • Unit tests Code that tests
• Test other code
• Staging • Other rules available
• Production
Cloud
Services

Infrastructure-as-a-Service Usable On-Demand


• Servers • Scriptable, burstable
• Databases configuration
• Caches • Redundancy
• Specific services • Geographical shortest hop
• Notifications such as • Leading providers
Email or mobile messaging • Amazon Web Services
• Message Queueing • Microsoft Azure
• OpenStack - RackSpace /
NASA project open-sourced
with wide support
Anatomy of a
Simple Application
Server “Back End” Server
Computation
Persistence Application Framework

Database

Browser “Front End” Browser


Rendering
Interaction CSS HTML

Javascript
Common Back-End
Frameworks

Java Microsoft .Net PHP


Runs anywhere, Windows-based Commonly with
but typically ASP.NET MVC widely the LAMP stack
Linux popular (Linux, Apache,
MySQL & PHP)
All open source
Huge adaptation
Service-based
Architecture

Applications become a mash-up Services focus on


of multiple services RESTful design
• Enable multiple clients, • Representational State Transfer
whether web or mobile – the architecture of the web
• Semantic use of endpoints
Microservice
• Independently deployable
applications
• Focus on specific domain
Client

200 OK
GET /authors/Wilczek {
count: 48,
publications: [
{ id:1, title:” Superheavy Light
Quarks and the Strong P, T
Problem” },
{ id:2, title:”Oscillatory
Attractors: A New Cosmological Phase” },

{ id:48, title:”Asymptotically Free
Gauge Theories. 1” }
]
}

High-Energy Physics
Publications Service
What’s a
Database Today?

Relational most common


understanding, row oriented
• Ex: MySql or SQL Server • Graph - Nodes with relationships
[Neo4J]
“NoSQL” various non-relation- • Solves problem queries like
al databases that solve certain “Show me pizza restaurants
problems well in Chicago that my
• Document - most common NoSQL, friends like”
store objects as documents • Key-Value store - Highly efficient
[MongoDB] retrieval of objects by key
• Column - highly efficient [memcached]
aggregation of data (ex: avg
height of users) [Cassandra]
Search

Providing near Apache Solr & Elasticsearch


real-time results • Lucene-based search engines
• Offer updated integration and
Solve problems where ease of use
databases struggle: • Cutting-edge scalability
• Geospatial searching • Elasticsearch completely
• Faceting controlled by modern service
• Spellcheck

Lucene
• Java-based indexing
of documents
Javascript:
Language of the Web
jQuery AngularJS
• Cross-platform library for • Web application framework for
manipulating a web page single page applications
• Most popular Javascript • Enables two-way data-binding
library by a wide margin between HTML and back-end
• Included in many frameworks services
and platforms
React
Backbone.js • Latest framework
• Lightweight templating engine gaining popularity
for binding data models to HTML • Renderings beyond HTML allow
for HTML5 elements and
Simplifying
Design Execution
Frameworks for streamlining
HTML, CSS and JS components

Most popular:
Bootstrap & Foundation

Responsive
Grid system
Stylized, themeable
CSS components
Optional Javascript extensions
Ex: Pop-up modal or
fixed sidebar
Javascript from Client

Front to Back
Node.js
Runtime environment for
writing Javascript applications Server
Fast execution using Google
V8 engine
Enables full-stack development
in Javascript
Built in package manager
Database
MEAN stack
Trending Javascript-based
development stack
Compare to LAMP stack
Caching

Client-side cache Distributed application caches


• Browser does not request • Distributed cache consists
resource from server of multiple nodes across
• Commonly used for static infrastructure
resources • Eliminate redundant calls to
long running processes
Server-side cache • Database queries
• Web server caches • Intense calculations
outgoing requests • Typically NoSql Key-Value store
• Does not re-process • Various patterns for loading
upon further request data into the cache
The Result

Service One
SQL .NET

HTML CSS
Service Two
Oracle Java Angular JS

Service Three
MongoDB .Net

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy