Chapter01 IntroductionToWebDevelopment
Chapter01 IntroductionToWebDevelopment
Web Development
Chapter 1
In practice, web development requires people with complementary but distinct expertise working
together toward a single goal.
With so many different classes of user and meanings for the term, it's no wonder that web
development is often poorly understood.
All of these seemingly independent perspectives are interrelated and therefore a web developer (of
any type) should have a foundational understanding of all aspects, even if they only possess expertise
in a handful of areas.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Chapter 1
1 A Complicated
Ecosystem 2 Definitions and
History
3 The Client-
Server Model 4 Where is the
Internet?
5 Working in Web
Development 6 Summary
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Chapter 1
1 A Complicated
Ecosystem 2 Definitions and
History
3 The Client-
Server Model 4 Where is the
Internet?
5 Working in Web
Development 6 Summary
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
A Complicated Ecosystem
In Figure, web development can be understood as
an ecosystem, or is visualized as a three-story
building in this image, is the idea that one can
understand web development as an activity with
three broad levels.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Chapter 1
1 A Complicated
Ecosystem 2 Definitions and
History
3 The Client-
Server Model 4 Where is the
Internet?
5 Working in Web
Development 6 Summary
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Definitions and History
The Internet and WWW are different (but related) things
• Internet = Web?
The answer is no
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Definitions and History
A Short History of the Internet
• Telephone Network
• Packet Networks
• ARPANET (1969)
• X.25 (1974)
• USENET (1979)
• TCP/IP (1983) INTERNET
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Communication Definitions
We will begin with the telephone
Earlier technologies like radio, telegraph, and the telephone provided the
same speed of communication, albeit(though) in an analog form.
• Telephone networks provide a good starting place to learn about
modern digital communications.
• In the early days of telephone networks, calls were routed
through operators who physically connected caller and receiver
by connecting a wire to a switchboard to complete the circuit.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 9
Circuit Switching
• A circuit switching establishes an actual physical
connection between two people through a series of
physical switches.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 10
ARPANET
The beginnings of the Internet
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 12
Packet Switching
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 13
Short History of the Internet
Perhaps not short enough
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 14
TCP/IP
Rides to the rescue
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 15
Definitions and History
The Birth of the Web (1990)
1. URLS
2. HTTP
3. SERVERS
4. BROWSERS
5. HTML
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Core Features of the Web
The Birth of the Web (1990)
The invention of the WWW is usually attributed to the British Tim Berners-Lee, who, along with the Belgian
Robert Cailliau, published a proposal in 1990 for a hypertext system while both were working at CERN in
Switzerland.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Definitions and History
Web Applications in Comparison to Desktop Applications
Advantages:
• Accessible from any Internet-enabled computer.
• Usable with different operating systems and browser
applications.
• Easier to roll out program updates since only software on the
server needs to be updated as opposed to every computer in
the organization using the software.
• Centralized storage on the server means fewer security
concerns about local storage (which is important for sensitive
information such as health care data).
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Definitions and History
Web Applications in Comparison to Desktop Applications
Disadvantages:
• Requirement to have an active Internet connection (the Internet is not
always available everywhere at all times).
• Security concerns about sensitive private data being transmitted over
the Internet.
• Concerns over the storage, licensing, and use of uploaded data.
• Problems with certain websites not having an identical appearance
across all browsers.
• Restrictions on access to operating system resources can prevent
additional software from being installed and hardware from being
accessed (like Adobe Flash on iOS).
• Clients or their IT staff may have additional plugins added to their
browsers, which provide added control over their browsing experience,
but which might interfere with JavaScript, cookies, or advertisements.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
What is an “Intranet”? A short digression
• One of the more common terms you might encounter in web development is the term “intranet” (with an “a”),
which refers to an internet network that is local to an organization or business.
• Intranet resources are often private, meaning that only employees (or authorized external parties such as
customers or suppliers) have access to those resources.
• Thus Internet (with an “e”) is a broader term that encompasses both private (intranet) and public networked
resources.
• Intranets are typically protected from unauthorized external access via security features such as firewalls or private
IP ranges.
• Because intranets are private, search engines such as Google have limited or no access to content within a private
intranet.
• Due to this private nature, it is difficult to accurately gauge, for instance, how many web pages exist within
intranets, and what technologies are more common in them.
• Some especially expansive estimates guess that almost half of all web resources are hidden in private intranets.
• Being aware of intranets is also important when one considers the job market and market usage of different web
technologies.
• If one focuses just on the public internet, it will appear that, for instance, PHP, MySQL, and WordPress, are
absolutely dominant in their market share.
• But when one adds in the private world of corporate intranets, other technologies such as ASP.NET, JSP, SharePoint,
Oracle, SAP, and IBM WebSphere, are just as important.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 21
Intranet versus Internet
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 22
Definitions and History
Static Websites versus Dynamic Websites
Within a few years of the invention of the web, sites began to get more
complicated as more and more sites began to use programs running on web
servers to generate content dynamically.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Definitions and History
Static Websites versus Dynamic Websites
The illustration shows six steps of interaction between an
user and a dynamic website depicted as:
1. User at a terminal says, “I want to see vacation.php"”
2. Server recognizes that it must run a dynamic script that
is on its hard drive.
3. Server executes or interprets the script. (page titled
“vacation.php”).
4. Scripts “outputs” HTML (html script).
5. Server “sends” generated HTML and the image file to
user.
6. Browser executes the Javascript.
7. Javascript may make additional requests (back and forth
arrows between the user terminal and the server).
8. Browser displays HTML as modified by the Javascript
(An assembled webpage is displayed on the user's
terminal).
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Definitions and History
Web 2.0 and Beyond
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Web 2.0 and Beyond
In the mid-2000s, a new buzzword entered the computer lexicon: Web 2.0.
This term had two meanings, one for users and one for developers:
For the users, Web 2.0 referred to an interactive experience where users could contribute
and consume web content, thus creating a more user-driven web experience. Some of the
most popular websites today fall into this category: Facebook, YouTube, and Wikipedia. This
shift to allow feedback from the user, such as comments on a story, threads in a message
board, or a profile on a social networking site has revolutionized what it means to use a web
application.
For software developers, Web 2.0 also referred to a change in the paradigm of how dynamic
websites are created. Programming logic, which previously existed only on the server, began
to migrate to the browser (see Figure 1.9 ). This required learning JavaScript, a rather tricky
programming language that runs in the browser, as well as mastering the rather difficult
programming techniques involved in asynchronous communication.
Web development in the Web 2.0 world is significantly more complicated today than it was
even a decade ago. The skills to create a good-looking static web page are not the same as
those required to write software that facilitates user interactions. Many programmers are
poor visual user interface designers, and many designers can't program. This separation of
software creation and visual user interface design is essential for any complex Web 2.0
application.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Sociotechnological Integration —Web Science
In recent years, researchers have begun studying the impact of the web on society. Consider for a moment how we
manage and share our photos, videos, and messages with one another; think how we would have done these things
only a decade or two ago.
If there will be a Web 3.0, what it will look like is uncertain. Some people have, however, argued that Web 3.0 will be
something called the semantic web. Semantic means, quite literally, “meaning.”
The semantic web thus adds context and meaning to web pages in the form of special markup. These semantic
elements would allow search engines and other data-mining agents to make sense of the content.
Currently, a block of text on the web could be anything: a poem, an article, or a copyright notice. Search engines at
present mainly just match the text you are searching for with text in the page. Currently, these search engines have to
use sophisticated algorithms to try to figure out what the page is all about. While we humans can easily (and quickly)
determine the broad essence of a page's content, it is much harder for a computer algorithm to do the same.
The goal of the semantic web is to make it easier to figure out those meanings, thereby dramatically improving the
nature of search on the web.
Currently, there are a number of semistandardized, but complicated, approaches for adding semantic qualifiers to
HTML; some examples include RDF (Resource Description Framework), OWL (Web Ontology Language), and SKOS
(Simple Knowledge Organization System). In recent years, a simplified approach for adding semantic information to web
pages, known as schema.org, has become popular.
If you look at each interaction on the web as more than just a technical exchange using protocols and file transmission,
there is often an underlying social need motivating each exchange. The technical system facilitates a social interaction
and social interactions span nearly the entire human experience, so there is now an entire area of study looking at the
web as a sociotechnical system.
Web Science, as it is known, studies the sociotechnical systems that apply the web in areas as diverse as finance,
politics, activism, romance, and hate speech. This is just another example of how the web can facilitate entirely new
areas of study.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Chapter 1
1 A Complicated
Ecosystem 2 Definitions and
History
3 The Client-
Server Model 4 Where is the
Internet?
5 Working in Web
Development 6 Summary
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
The Client-Server Model
The web is sometimes referred to as a client-server model of communications.
In the client-server model, there are two types of actors: clients and servers.
Server:
The server is a computer agent that is normally active 24/7, listening for
requests from clients.
The server in this model is the central repository, the command center, and the
central hub of the client-server model. It hosts web applications, stores user
and program data, and performs security authorization tasks. Since one server
may serve many thousands, or millions of client requests, the demands on
servers can be high.
Client:
A client is a computer agent that makes requests and receives responses from
the server, in the form of response codes, images, text files, and other data.
Client machines are the desktops, laptops, smart phones, and tablets. These
machines have a broad range of specifications regarding operating system,
processing speed, screen size, available memory, and storage.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 30
The Client-Server Model
Request-Response Loop
• Within the client-server model, the request-response loop is
the most basic mechanism on the server for receiving requests
and transmitting data in response.
• The client initiates a request to a server and gets a response
that could include some resource like an HTML file, an image or
some other data.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 31
The Client-Server Model
The Peer-to-Peer Alternative
• In the peer-to-peer model where each
computer is functionally identical, each
node is able to send and receive directly
with one another.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
The Client-Server Model Server Types
A server is rarely just a single computer
• Earlier, the server was shown as a single machine, which is fine from a conceptual standpoint.
• The client views the server as a single machine ready to serve a resources requested through a URL.
• However, most real-world web sites are typically not served from a single server machine, but by
many servers.
• It is common to split the functionality of a web site between several different types of servers.
• Web Servers
• Application Servers
• Database Servers
• Mail Servers
• Media Servers
• Authentication Servers
• …
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Server Types
Web servers: A computer servicing HTTP requests. This typically refers to a computer running web
server software, such as Apache or Microsoft IIS (Internet Information Services).
Application servers: A server that hosts and executes web applications which may be created in
PHP, ASP.NET, Ruby on Rails, or some other web development technology..
Database servers: A computer that is devoted to running a Database Management System (DBMS)
such as MySQL, Oracle, or MongoDB, that is being used by web applications.
Mail servers: A computer creating and satisfying mail requests, typically using the Simple Mail
Transfer Protocol (SMTP) for sending mail.
Media servers (streaming server): is a special type of server dedicated to servicing requests for
images and videos.
Authentication servers: An authentication server handles the most common security needs of
web applications. This may involve interacting with local networking resources, such as LDAP
(Lightweight Directory Access Protocol) or Active Directory.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 34
Real-World Server Installations
Server Farms
• There is often replication of each of the different server types
• A busy site can receive thousands or even tens of thousands of requests a second;
globally popular sites such as Facebook receive millions of requests a second.
• A single web server that is also acting as an application or database server will be hard-
pressed to handle more than a few hundred requests a second, so the usual strategy for
busier sites is to use a server farm.
• Even if a site can handle its load via a single server, it is not uncommon to still use a
server farm because it provides failover redundancy.
• That is, if the hardware fails in a single server, one of the replicated servers in the
farm will maintain the site’s availability.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed. 35
The Client-Server Model
Real-World Server Installations – Server Farm
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
The Client-Server Model
Real-World Server Installations – Server Rack
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
The Client-Server Model
Real-World Server Installations – Data Center
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Chapter 1
1 A Complicated
Ecosystem 2 Definitions and
History
3 The Client-
Server Model 4 Where is the
Internet?
5 Working in Web
Development 6 Summary
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
But it is important to recognize that our global network of networks does not work
using magical water vapor, but is implemented via millions of miles of copper wires
and fiber-optic cables connecting millions of server computers and probably an
equal number of routers, switches, and other networked devices, along with
thousands of air conditioning units and specially constructed server rooms and
buildings.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
From the Computer to the Local Provider
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
From the Computer to the Local Provider
Broadband modem, also called a cable modem or DSL (digital subscriber line) modem, is a bridge between
the network hardware outside the house (typically controlled by a phone or cable company) and the
network hardware inside the house. These devices are often supplied by the ISP.
Wireless Router is the most visible manifestation of the Internet in one's home, in that it is a device we
typically need to purchase and install (although many companies will provide and install these as part of the
setup process).
Routers are one of the most important and ubiquitous hardware devices that make the Internet work. At its
simplest, a router is a hardware device that forwards data packets from one network to another network.
When the router receives a data packet, it examines the packet's destination address and then forwards it to
another destination.
A router uses a Routing Table to help determine where a packet should be sent. It is a table of connections
between target addresses and the destination (typically another router) to which the router can deliver the
packet.
In Figure 1.17 , the different routing tables use Next-Hop Routing, in which the router only knows the
address of the next step of the path to the destination; it leaves it to that next step to continue the routing
process. The packet thus makes a variety of successive hops until it reaches its destination.
There are a lot of details that have been left out of this particular illustration.
Routers will make use of submasks, timestamps, distance metrics, and routing algorithms to supplement or
even replace routing tables; but those are all topics for a network architecture course.
Submasks: A Subnet mask is a 32-bit number that masks an IP address and divides the IP address into
network address and host address.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
(Simplified) Routing Tables
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
(Simplified) Routing Tables
Once we leave the confines of our own homes, the hardware of the Internet becomes
much murkier (dark and gloomy). In Figure 1.16 , the various neighborhood broadband
cables (which are typically using copper, aluminum, or other metals) are aggregated
and connected to fiber optic cable via fiber connection boxes.
Fiber optic cable (or simply optical fiber) is a glass-based wire that transmits light and
has significantly greater bandwidth and speed in comparison to metal wires. In some
cities (or large buildings), you may have fiber optic cable going directly into individual
buildings; in such a case, the fiber junction box will reside in the building.
These fiber optic cables eventually make their way to an ISP's head-end, which is a
facility that may contain a cable modem termination system (CMTS) or a digital
subscriber line access multiplexer (DSLAM) in a DSLbased system. This is a special type
of very large router that connects and aggregates subscriber connections to the larger
Internet.
These different head-ends may connect directly to the wider Internet, or instead be
connected to a master head-end, which provides the connection to the rest of the
Internet.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
From the Local Provider to the Ocean’s Edge
Eventually your ISP has to pass on your requests for Internet packets to other
networks.
This intermediate step typically involves one or more regional network hubs.
Your ISP may have a large national network with optical fiber connecting most of the
main cities in the country.
Some countries have multiple national or regional networks, each with their own
optical network.
A general principle in network design is that the fewer the router hops (and thus the more
direct the path), the quicker the response.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
From the Local Provider to the Ocean’s Edge
The networks in Country A are all interconnected, but rely on Network A2 to connect them to the
networks in Country B and C. Network B1 has many connections to other countries' networks. The
networks within Country C and D are not interconnected, and thus rely on connections to international
networks in order to transfer information between the two domestic networks. For instance, even
though the actual distance between a node in Network C1 and a node in C2 might only be a few miles,
those packets might have to travel many hundreds or even thousands of miles between networks A2
and/or B1.
A general principle in network design is that the fewer the router hops (and thus the more direct the
path), the quicker the response. Figure 1.18 illustrates some hypothetical connections between several
different networks spread across four countries. As you can see, just like in the real world, the countries
in the illustration differ in their degree of internal and external interconnectedness.
Clearly, this is an inefficient system, but is a reasonable approximation of the state of the Internet in the
late 1990s (and in some regions of the world, this is still the case), when almost all Internet traffic went
through a few Network Access Points (NAP), most of which were in the United States.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
From the Local Provider to the Ocean’s Edge
This type of network configuration began to change in the 2000s, as more and more networks began to
interconnect with each other using an Internet exchange point (IX or IXP). These IXPs allow different ISPs
to peer (that is, interconnect) with one another in a shared facility, thereby improving performance for
each partner in the peer relationship.
As you can see, IXPs provide a way for networks within a country to interconnect. Now networks in
Countries C and D no longer need to make hops out of their country for domestic communications.
Notice as well that for each of the IXPs, there are connections not only with networks within their
country, but also with other countries' networks as well.
Multiple paths between IXPs provide a powerful way to handle outages and keep packets flowing.
Another key strength of IXPs is that they provide an easy way for networks to connect to many other
networks at a single location.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
From the Local Provider to the Ocean’s Edge –IXP and Data Centers
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
From the Local Provider to the Ocean’s Edge –IXP and Data Centers
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Where Is the Internet?
Across the Oceans
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Chapter 1
1 A Complicated
Ecosystem 2 Definitions and
History
3 The Client-
Server Model 4 Where is the
Internet?
5 Working in Web
Development 6 Summary
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Working in Web Development
Fifteen years ago, this would have been a much simpler section. Back then, there were web
developers, web designers, and webmasters. However, as the web has evolved and
expanded in complexity, the range of roles (and the names used to describe them) has also
expanded.
Furthermore, the terminology to describe web development activities keeps changing. Ten
years ago, a web programmer was someone who did server-side development, perhaps in
PHP or ASP.NET. As JavaScript became more important to web development, a distinction
between front-end development (JavaScript) and back-end development (PHP/ASP.NET/etc)
made its way into high-tech job ads. As you can see in the following list, today there are
even more distinctions in the web development job world.
With so many distinct areas that one can become an expert in, it's comforting to realize that
web development is a team effort. Building and maintaining a web presence requires more
than technical ability, and many brilliant developers are not also brilliant artists, designers,
managers, and marketing experts. Working in the world of web development therefore
usually requires a team of people with various complementary (matching) skill sets as well
as some areas of overlap and cooperation.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Working in Web Development
Roles and Skills
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Working in Web Development
Roles and Skills
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Working in Web Development
Roles and Skills (III)
Two new terms are becoming increasingly popular in regards to web development
employment.
Full-Stack Developer:
In the list of web roles, specialization of skills is the main focus.
A full-stack developer is the opposite. In Figure 1.23, the full-stack developer
appears multiple times, roaming up and down the stairs between different job roles.
This was our way of visualizing the unique (some say impossible) nature of the full-
stack developer.
Rather than specializing in server-side development, or client-side user experience
construction, or database administration, a full-stack developer ideally has
competency and experience in all of these domains. Many companies even expect
full-stack developers to be knowledgeable about various system administration
tasks, such as setting up a web server and handling security issues.
DevOps (Development and Operations):
Like the above full-stack developer, DevOps refers to integration rather than
specialization. For most people who use the term, DevOps refers to a development
methodology in which developers, testers, and others on the operations or
hardware side work together right from the beginning of the development process.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Working in Web Development
Types of Web Development Companies
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Working in Web Development
Types of Web Development Companies
Hosting Companies
There are companies that will manage servers on your behalf. These hosting companies or data centers offer many
employment opportunities, especially related to hardware, networking, and system administration roles.
Design Companies
Design companies are at the opposite end of the spectrum, with few technical positions available. These firms will provide
professional artistic and design services that might go beyond the web and include logos and branding in general. Some
companies produce mockups in Photoshop, for example, which a web developer (at another company) can then turn into
a website.
Website Solution Companies
Website solution companies focus on the programming and deployment of websites for their clients. There are technical
positions to help manage the existing sites (working in conjunction with hosting companies) as well as development jobs
to build the latest custom site.
Vertically Integrated Companies
Vertically integrated companies are increasingly becoming the one-stop shop for web development. They are called
vertically integrated because these companies combine hosting, design, and application solutions into one company. This
allows these companies to achieve economies of scale and appeal to nontechnical clients who can go there for all their
web-related needs, large or small.
Start-Up Companies
Start-up ventures in web development have been some of the biggest success stories in the business world. Start-ups are
often attractive places for new graduates to work, with less competition from experienced candidates and potentially lots
of jobs available from developers to designers and system administrators. The smaller start-ups companies often require
full-stack developers, who can take on any role from system administrator through to lead developer.
Internal Web Development
Although many companies outsource their web presence, others assign the work to an internal division, normally under
the umbrella of IT or marketing. Although many of these roles are simple caretaker positions, others can be quite
engaging, requiring real programming expertise. Many companies have lots of internal data they would not share with
outsiders and thus prefer inhouse expertise for the development of web interfaces and systems to manage and display
that confidential data. Often these websites exist only with an organization's Intranet rather than as public websites on
the Internet.
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Chapter 1
1 A Complicated
Ecosystem 2 Definitions and
History
3 The Client-
Server Model 4 Where is the
Internet?
5 Working in Web
Development 6 Summary
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Summary
Key Terms
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.
Questions?
Randy Connolly and Ricardo Hoar Modified by Mohammed Siddiqui Fundamentals of Web Development - 2nd Ed.