Web Servers and Workflow

发布于 2013/07/24 18:08
字数 1201
阅读 24
收藏 0

Working with a large site, with lots of people and pages maintaining it, you will come across various workflows to get from a web design paper prototype to the actual pages live on the internet. The workflow for a complex site can include many separate web servers and server locations. And each of these servers has a different purpose. This article will describe some of the more common servers in a complex website and how they are used.

Production Web Servers

This is the type of web server that most web designers are familiar with. A production server is a web server that hosts web pages and content that is ready for production. In other words, the content on a production web server is live to the internet or is ready to be delivered to the internet.

In a small company, the production server is where all the web pages live. Designers and developers test the pages either on their local machines or in hidden or password protected areas on the live server. When a page is ready to go live it is simply moved into place on the production server, either by FTP from the local hard drive or by moving the files from the hidden directory to the live directory.

The workflow would be:

  1. Designer builds site on local machine
  2. Designer tests site on local machine
  3. Designer uploads site to hidden directory on production server for more testing
  4. Approved designs are moved into the live (non-hidden) areas of the website

For a small site, this is a perfectly acceptable workflow. And in fact, you can often see what a small site is doing by looking at files named things like index2.html and inside directories named things like /new. As long as you remember that non-password protected areas like that can be found by search engines, posting updates to the production server is a good way to test new designs in a live environment without needing extra servers.

Testing Server or QA Server

Testing servers are a useful addition to a website workflow because they provide you with a way to test new pages and designs on a web server that is not visible to customers (and competitors). Testing servers are set up to be identical to the live site and usually have some sort of version control set up on them to make sure that any changes are recorded. Most testing servers are set up behind a corporate firewall so that only employees can see them. But they can also be set up with password protection outside a firewall.

A testing server is very useful for sites that use a lot of dynamic content, programming, or CGIs. This is because unless you have a server and database set up on your local computer, it is very difficult to test these pages offline. With a testing server, you can post your changes to the site and then see if the programs, scripts, or database still works as you intended.

Companies that have a testing server typically add it to the workflow like this:

  1. Desginer builds the site locally and tests locally, just like above
  2. Designer or developer uploads changes to the testing server to test dynamic elements (PHP or other server-side scripts, CGI, and Ajax)
  3. Approved designs are moved to the production server

Development Servers

Development servers are very useful for sites that have a large development component, such as complex ecommerce sites and web applications. Development servers are used by the web development team to work on programming the back end of the website. They almost always have version or source code control systems for multiple team members to use and they provide a server environment for testing new scripts and programs.

A development server is different from a testing server because most developers work directly on the server. The purporse of this server is typically to try new things in programs. While testing does happen on a development server, it is for the purpose of making a piece of code work, not testing it against specific criteria. This allows developers to worry about the nuts and bolts of the website without worrying about how it's going to look.

When a company has a development server, they often have separate teams working on design and development. When this is the case, the testing server becomes even more important, as that is where the designs meet with the developed scripts. The workflow with a development server is typically:

  1. Designers work on the designs on their local machines
    At the same time, developers work on scripts and programs on the development server
  2. The code and designs are merged onto the testing server for testing
  3. Approved designs and code are moved to the production server

Content Sever

For sites with a lot of content, there may be another server that houses the content management system. This allows the content developers a place to add their content without it being affected by the design or programs being built alongside. Content servers are a lot like development servers except for writers and graphic artists.

Staging Server

A staging server is often the last stop for a website before it is put into production. Staging servers are designed to be as much like production as possible. So, the hardware and software are often mirrored for the staging and production web servers. Many companies use a testing server as a staging server, but if the site is extremely complex, a staging server gives designers and developers one last chance to verify that proposed changes work as designed and don't have a negative impact to the site overall, without having other tests being performed on the testing server causing confusion.

Staging servers are often used as a form of "waiting period" for website changes. At some companies, the staging server deploys new content posted there automatically, while other companies use the server as a final testing and approval area for people outside the web team like management, marketing, and affected groups. The staging server is typically put in the workflow like this:

  1. Designers work on the designs on their local machines or the testing server
    Content authors create the content in the CMS
    Developers write code on the development server
  2. Design and code are brought together on the testing server for testing (sometimes content is included here, but it is often validated in the CMS outside of the design workflow)
  3. Content is added to the designs and code on the staging server
  4. Final approvals are received and the entire site is pushed to the production server

Your Company's Workflow May Be Different

One thing I have learned is that the workflow at one company may be completely different from that at another company. I have built websites writing HTML straight on the production server using Emacs and vi and I have built websites where I have had no access to anything but a small section of the page I'm working on and I did all my work inside a CMS. By understanding the purpose of the various servers you might come across, you can do your design and development work more effectively.

© 著作权归作者所有

粉丝 6
博文 73
码字总数 57845
作品 0
私信 提问

原生Mac下的mongodb图形客户端 Features MongoHub is an application used to manage mongodb databases (locally or over the internet). It lets you add and remove databases and collec......

JavaScript 测试工具--testem

Test'em 是一个 JavaScript 运行测试器,而且它让 JavaScript 的单元测试更方便更好玩,会让你爱上测试。 特性: 独立的测试框架,支持: Jasmine QUnit Mocha Buster.js 其他,需要通过自定...


Freefluo 是一个使用Web Service的工作流协同工具,可以处理WSDL的Web Service调用。支持两种XML格式的工作流语言:IBM的WSFL和XScufl。Freefluo非常灵活,它的核心是不与任何工作流语言或执...

Bigbross Bossa

速度非常快、轻量级的引擎,使用富有表达能力的Petri网定义工作流,不要求关系数据库,使用简单,能和Java应用集成。事实上,它是按嵌入式设计的。 Bossa is a workflow engine written in ...

综合应用WPF/WCF/WF/LINQ之一:DEV-WOW 作品源代码公布

 Eallies OA 使用说明 1、本程序在Windows 2003、SQL Server 2005、Visual Studio 2008环境下测试通过。 2、请将项目解压缩至某一目录下,如D:Eallies下。 3、请附加数据库。   A) 请更改...





Taro 兼容 h5 踩坑指南

最近一周在做 Taro 适配 h5 端,过程中改改补补,好不酸爽。 本文记录📝遇到的问题,希望为有相同需求的哥们👬节约点时间。 Taro 版本:1.3.9。 解决跨域问题 h5 发请求会报跨域问题,需...

Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...


基本类型: 整型:Byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用类型: 类类型: 接口类型: 数组类型: Byte 1字节 八位 -128 -------- 127 short 2字节...