❒SummativeFeedback:❒ResubmissionFeedback: Grade:AssessorSignature:Date: Signature&Date: ASSIGNMENT 1 BRIEF QualificationBTEC Level 5 HND Diploma in Computing Unit number10: Website Design & Development Assignment titleWeb Services Presentation and Guidebook Academic Year2018 – 2019 Unit TutorVo Thi Thanh Van Issue dateSubmission date26/2/2020 IV name and date Submission Format: Page2
Format:Two ten-minute Microsoft® PowerPoint® style presentations to be presented to your colleagues SubmissionStudents are compulsory to submit the assignment in due date and in a way requested by the Tutors. The form of submission will be asoft copyposted on http://cms.greenwich.edu.vn/ Note:The Assignmentmustbe your own work, and not copied by or from another student or from books etc. If you use ideas, quotes or data (such as diagrams) from books, journals or other sources, you must reference your sources, using the Harvard style. Make sure that you know how to reference properly, and that understand the guidelines on plagiarism.If you do not, you definitely get failedUnit Learning Outcomes: LO1Explain server technologies and management services associated with hosting and managing websites. LO2Categorise website technologies, tools and software used to develop websites. Assignment Brief and Guidance: You work as a full-stack web team leader for a leading creative web solutions and marketing company. Your team is about to have a big contract to develop an online shopping mall. One of the preparation tasks is to choose appropriate tools and techniques to realise a custom built website. As part of your role, you have been asked to create an engaging presentation to help train junior staf members on basic web technologies including hosting and website management as well as server technologies. Your presentation should not only explain basic knowledge in the domain but also points out the impact of these technologies to website design, functionality, management or performance. You also need to present more technical presentation to senior staf members to discuss about front-end, back-end technologies as well as other tools, techniques and softwares used to develop website from simple (online website creation tools) to complicated (custom built). Your presentation will be used as guidance of choosing suitable tools and techniques for the next project. Page3
Learning Outcomesand Assessment Criteria PassMeritDistinction LO1Explain servertechnologies andmanagement services associated with hosting and managing websites LO1 &2 D1Justify the tools and techniques chosen to realise a custom built website. P1Identify the purpose andtypesof DNS,including explanations on how domain namesare organisedand managed. P2Explain the purposeand relationships between communication protocols,server hardware,operatingsystems and webserversoftware with regards to designing,publishing and accessing a website. M1Evaluate the impact ofcommon web development technologies and frameworks with regards to website design,functionality and management. M2Reviewtheinfluence ofsearch engines onwebsite performance and provide evidence-based support forimproving a site’s index value andrank through search engine optimisation. LO2Categorise website technologies,tools and softwareused to develop websites P3Discuss the capabilities and relationships between front-end and back-end website technologies and explain howthese relateto presentation and application layers. P4Discuss the diferences between online website creation tools and custom-built sites withregards to design flexibility,performance, functionality,UserExperience (UX) andUserInterface(UI). M3Evaluate arange oftools and techniques available to design and develop a custom built website. P1Identify the purpose and types of DNS, including explanations on how domain names are organized and managed. Domain Name System – DNS DNS is a protocol within the set of standards for how computers exchange data on the internet and on many private networks, known as the TCP/IP protocol suite. Its purpose is vital, as it helps Page4
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
convert easy-to-understand domain names like "howstuffworks.com" into an Internet Protocol (IP) address, such as 70.42.251.42 that computers use to identify each other on the network. It is, in short, a system of matching names with numbers. DNS is an essential part of the Internet. It manages to translate all the inquiries into IP addresses, and like this, it can identify different devices that are connected to the network. All DNS servers fall into one of four categories: Recursive resolvers, root nameservers, TLD nameservers, and authoritative nameservers. In a typical DNS lookup (when there is no caching in play), these four DNS servers work together in harmony to complete the task of delivering the IP address for a specified domain to the client (the client is usually a stub resolver - a simple resolver built into an operating system). Step 1: Request information. Step 2: Ask the recursive DNS servers. Step 3: Ask the root name servers. Step 4: Ask the TLD name servers. Step 5: Ask the authoritative DNS servers. Step 6: Retrieve the record. Step 7: Receive the answer. There are three types of queries in the DNS system: Recursive Query In a recursive query, a DNS client provides a hostname, and the DNS Resolver “must” provide an answer— it responds with either a relevant resource record, or an error message if it can't be found. The resolver starts a recursive query process, starting from the DNS Root Server, until it finds the Authoritative Name Server (for more on Authoritative Name Servers see DNS Server Types below) that holds the IP address and other information for the requested hostname. Iterative Query In an iterative query, a DNS client provides a hostname, and the DNS Resolver returns the best answer it can. If the DNS resolver has the relevant DNS records in its cache, it returns them. If not, it refers the DNS client to the Root Server, or another Authoritative Name Server which is nearest to the required DNS zone. The DNS client must then repeat the query directly against the DNS server it was referred to. Non-Recursive Query A non-recursive query is a query in which the DNS Resolver already knows the answer. It either immediately returns a DNS record because it already stores it in local cache or queries a DNS Name Server which is authoritative for the record, meaning it definitely holds the correct IP for that hostname. In both Page5
cases, there is no need for additional rounds of queries (like in recursive or iterative queries). Rather, a response is immediately returned to the client. P2Explain the purpose and relationships between communication protocols, server hardware, operating systems and web server software with regards to designing, publishing and accessing a website HyperText Transfer Protocol (HTTP) is the most widely used web communications protocol. If you look in the Address field of your web browser right now, it's likely you'll see "http://" at the front. HTTP is a classic "client-server" protocol. Users click a link on their web browser (the client), and the browser sends a request over the internet to a web server that houses the site the user requested. The server sends back the content of the site, such as text and images, which display in users' web browsers. HTTP is an unsecure communications protocol because the data it sends back and forth between a browser and a server is unencrypted and can be intercepted by third parties. Telnet Telnet is one of the oldest communication protocols. Like HTTP, a Telnet client is used to access remote servers. However, unlike HTTP, where you only request specific files, Telnet is used to actually log on to the remote server and perform functions as if you were sitting in front of the server terminal. Telnet is rarely used now since it is an unsecure protocol that does not encrypt data sent between remote computers. File Transfer Protocol (FTP) As the name implies, the File Transfer Protocol (FTP) is primarily used to transfer files such as documents, images, music, etc., between remote computers. Users have to log on to an FTP server either through a command line interface or through one of the many FTP graphical client programs available. Once logged on, users can navigate through the remote server's file structure, moving, renaming, deleting, and copying files as if it were their own computer. Hypertext Transfer Protocol Secure (HTTPS) HTTPS is similar to HTTP, but different in that it combines with a security protocol called SSL/TLS to provide secure client-server communications over unsecure networks such as the internet. You're most likely to see HTTPS protocols on ecommerce websites that ask for personal financial information like credit card numbers. You know a website is using HTTPS protocols when you see the "https://" in the web address displayed in your browser's Address field. Page6
IP Security (IPSec) IP Security (IPSec) protocols encrypt packets of data and send them between two computers that share the same cryptographic keys. In other words, the IPSec protocol is like a hallway with no doors linking two rooms. The only place the data can go is between those two rooms. IPSec protocols are used in Virtual Private Networks, which allow employees of a company to log on to their company's secure network through a public network Server Hardware The hardware components that a typical server computer comprises are similar to the components used in less expensive client computers. However, server computers are usually built from higher-grade components than client computers. The following paragraphs describe the typical components of a server computer. Motherboard The motherboard is the computer’s main electronic circuit board to which all the other components of your computer are connected. More than any other component, the motherboard is the computer. All other components attach to the motherboard. The major components on the motherboard include the processor (or CPU), supporting circuitry called the chipset, memory, expansion slots, a standard IDE hard drive controller, and input/output (I/O) ports for devices such as keyboards, mice, and printers. Some motherboards also include additional built-in features such as a graphics adapter, SCSI disk controller, or a network interface. Processor The processor, or CPU, is the brain of the computer. Although the processor isn’t the only component that affects overall system performance, it is the one that most people think of first when deciding what type of server to purchase. At the time of this writing, Intel had four processor models designed for use in server computers: Itanium 2: 1.60GHz clock speed; 1–2 processor cores Xeon: 1.83–2.33GHz clock speed; 1–4 processor cores Pentium D: 2.66-3.6GHz clock speed; 2 processor cores Pentium 4: 2.4-3.6GHz clock speed; 1 processor core Each motherboard is designed to support a particular type of processor. CPUs come in two basic mounting styles: slot or socket. However, you can choose from several types of slots and sockets, so you have to make sure that the motherboard supports the specific slot or socket style used by the CPU. Some server motherboards have two or more slots or sockets to hold two or more CPUs. Page7
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
The term clock speed refers to how fast the basic clock that drives the processor’s operation ticks. In theory, the faster the clock speed, the faster the processor. However, clock speed alone is reliable only for comparing processors within the same family. In fact, the Itanium processors are faster than Xeon processors at the same clock speed. The same holds true for Xeon processors compared with Pentium D processors. That’s because the newer processor models contain more advanced circuitry than the older models, so they can accomplish more work with each tick of the clock. The number of processor cores also has a dramatic effect on performance. Each processor core acts as if it’s a separate processor. Most server computers use dual-core (two processor cores) or quad-core (four cores) chips. Memory Don’t scrimp on memory. People rarely complain about servers having too much memory. Many different types of memory are available, so you have to pick the right type of memory to match the memory supported by your motherboard. The total memory capacity of the server depends on the motherboard. Most new servers can support at least 12GB of memory, and some can handle up to 32GB. Hard drives Most desktop computers use inexpensive hard drives called IDE drives (sometimes also called ATA). These drives are adequate for individual users, but because performance is more important for servers, another type of drive known as SCSI is usually used instead. For the best performance, use the SCSI drives along with a high-performance SCSI controller card. Recently, a new type of inexpensive drive called SATA has been appearing in desktop computers. SATA drives are also being used more and more in server computers as well due to their reliability and performance. Network connection The network connection is one of the most important parts of any server. Many servers have network adapters built into the motherboard. If your server isn’t equipped as such, you’ll need to add a separate network adapter card. Tower servers Towers look very similar to desktop PCs. If you are not concerned about space you can house more drives and more hardware into a single tower. However if you are looking at future expansion and scalability, space can become a constraint with a tower server. Page8
A tower server is intended for use as a server and is built in an upright standalone cabinet. The cabinet called a tower is similar in dimensions to the cabinet of a tower-style desktop computer. Tower servers are different from rack servers or blade servers, which are generally rack-mounted. Tower servers are good as they provide easier cooling as the overall component density is comparatively low. The disadvantages include the fact that a set of tower servers is bulkier and weigh more than a blade server or set of rack servers. Also, the cabling for a big set of tower servers can be difficult and time-consuming. Finally, many air-cooled tower servers all placed in the same location can be noisy since each tower needs a dedicated fan. Rack servers Racks are designed to accommodate multiple servers, and are specially constructed to fit into small spaces. They are usually stacked right on top of one other, which makes cooling the devices difficult but is a big plus point when it comes to scalability. Also the stacked model helps in consolidating network resources and minimizing the floor space requirements. In order to understand the hardware structure a bit better we need to understand what it consists of and how it is installed. A rack server, also known as rack-mounted server, is essentially a computer used as a server and is designed to be installed in a framework called a rack. The rack constitutes of multiple mounting slots known as bays, which are designed to secure a hardware unit held in place with screws. Unlike the tower server, the rack server configuration simplifies cabling among network components. In an equipment rack filled with servers, a special cooling system is necessary to prevent excessive heat build-up that would otherwise occur when many power-dissipating components are confined in a small space. Blade servers Although blade servers are similar to rack servers in design, they are thinner, and also cost more than the latter. A blade server is a server chassis which houses multiple thin, modular EC boards, known as server blades. Each blade is actually a server, often dedicated to a single application. The server blades are literally servers on a card that contain processors, memory, integrated network controllers, and other input/output (IO) ports. Ultimately, the type of server you choose depends on your needs. If space is your main concern, you can go for racks. If space is not a concern but cooling is then you can choose towers. And if money is not a concern and you want state-of-the-art server hardware which is space saving and works efficiently go for blade servers. Page9
Operating system(OS) An operating system (OS) is the program that, after being initially loaded into the computer by a boot program, manages all of the other application programs in a computer. The application programs make use of the operating system by making requests for services through a defined application program interface (API). In addition, users can interact directly with the operating system through a user interface such as a command line or a graphical user interface (GUI). Main functions of Operating system are : Booting : It is the process of load the operating system into the main memory or RAM so that user can run their application. Memory Management : Different programs and applications are run in memory at the same time .operating system control and coordinate this. This is called memory management. Disk Management : It manages the stored files properly. Data Security : Security is an important think. Operating system protect the data from unauthorized access. Device Controlling : OS control all the devices connected to the computer system. Device drivers are the software that control the hardware devices connected to the computer. Process Management : OS can perform one task at a time . Which process is executed is decided by the OS. Loading And Execution : Before execution program must be loaded in to the memory . OS provide a way to loading and execution of a process. Providing Interface : OS provide an interface between Computer hardware and user Common desktop operating systems include: •Windows is Microsoft’s flagship operating system, the de facto standard for home and business computers. Introduced in 1985, the GUI-based OS has been released in many versions since then. The user-friendly Windows 95 was largely responsible for the rapid development of personal computing. •Mac OS is the operating system for Apple's Macintosh line of personal computers and workstations. •Unix is a multi-user operating system designed for flexibility and adaptability. Originally developed in the 1970s, Unix was one of the first operating systems to be written in C language. •Linux is a Unix-like operating system that was designed to provide personal computer users a free or very low-cost alternative. Linux has a reputation as a very efficient and fast-performing system. Page10
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Web server software A web server is server software, or hardware dedicated to running this software, that can satisfy client requests on the World Wide Web. A web server can, in general, contain one or more websites. A web server processes incoming network requests over HTTP and several other related protocols. The primary function of a web server is to store, process and deliver web pages to clients.[1] The communication between client and server takes place using the Hypertext Transfer Protocol (HTTP). Pages delivered are most frequently HTML documents, which may include images, style sheets and scripts in addition to the text content. Some of the more popular Web server softwares •Apache •Apache Tomcat •Microsoft’s Internet Information Server(IIS) •IBM’s family of Lotus Domino servers Web applications are usually coded in browser-supported language such as JavaScript and HTML as these languages rely on the browser to render the program executable. Some of the applications are dynamic, requiring server-side processing. Others are completely static with no processing required at the server. The web application requires a web server to manage requests from the client, an application server to perform the tasks requested, and, sometimes, a database to store the information. Application server technology ranges from ASP.NET, ASP and ColdFusion, to PHP and JSP. Here's what a typical web application flow looks like: User triggers a request to the web server over the Internet, either through a web browser or the application’s user interface Web server forwards this request to the appropriate web application server Page11
Web application server performs the requested task – such as querying the database or processing the data – then generates the results of the requested data Web application server sends results to the web server with the requested information or processed data Web server responds back to the client with the requested information that then appears on the user’s display P3Discuss the capabilities and relationships between front-end and back-end website technologies and explain how these relate to presentation and application layers Front-end Front-end web development, also known as client-side development is the practice of producing HTML, CSS and JavaScript for a website or Web Application so that a user can see and interact with them directly. The challenge associated with front end development is that the tools and techniques used to create the front end of a website change constantly and so the developer needs to constantly be aware of how the field is developing. The objective of designing a site is to ensure that when the users open up the site they see the information in a format that is easy to read and relevant. This is further complicated by the fact that users now use a large variety of devices with varying screen sizes and resolutions thus forcing the designer to take into consideration these aspects when designing the site. They need to ensure that their site comes up correctly in different browsers (cross-browser), different operating systems (cross-platform) and different devices (crossdevice), which requires careful planning on the side of the developer. A front-end developer architects and develops websites and applications using web technologies (i.e., HTML, CSS, DOM, and JavaScript), which run on the Open Web Platform or act as compilation input for non-web platform environments Typically, a person enters into the field of front-end development by learning to develop HTML, CSS, and JavaScript which commonly runs in a web browser but can also run in a headless browser, WebView, or as compilation input for a native runtime environment. Web Browsers (most common) Page12
A web browser is software used to retrieve, present, and traverse information on the WWW. Typically, browsers run on a desktop or laptop computer, tablet, or phone. The most common web browsers are •Chrome •Safari •Internet Explorer •Firefox •Edge Back-end Back-end Development refers to the server-side development. It is the term used for the behind-the-scenes activities that happen when performing any action on a website. It can be logging in to your account or purchasing a watch from an online store. Backend developer focuses on databases, scripting, and the architecture of websites. Code written by backend developers helps to communicate the database information to the browser. Most common example of Backend programming is when you are reading an article on the blog. The fonts, colors, designs, etc. constitute the frontend of this page. While the content of the article is rendered from a server and fetched from a database. This is the backend part of the application. A backend developer works with the following •Web Development Languages •Database and cache •Server •API (REST & SOAP) Development Languages Backend engineer should know at least one server-side programming languages like Java, Python, Ruby. Database and cache Knowledge of various DBMS technology is another important need of backend developer. MySQL, MongoDB, Oracle, SQLServer, Redis are widely used for this purpose. Knowledge of caching mechanisms like varnish, Memcached, Redis is a plus. Page13
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
Server Exposure to handling Apache, Nginx, IIS servers, Microsoft IIS is desirable. A good background in Linux helps tremendously in administering servers. API (REST & SOAP): Knowledge of web services or API is also important for full stack developers. Knowledge of creations and consumption of REST and SOAP services is desirable. Meaning of Frontend verses Backend Frontend is the part of the website users can see and interact with such as the graphical user interface (GUI) and the command line including the design, navigating menus, texts, images, videos, etc. Backend, on the contrary, is the part of the website users cannot see and interact with. It’s all about how everything works. Role of Frontend verses Backend Both play a crucial role in web development and although they have their fair share of differences, they are like two sides of the same coin. Frontend is all about the visual aspects of the website that a user can see and experience. On the contrary, everything that happens on the background can be attributed to the backend web development. It’s more like an enabler for frontend web experience. Developer of Frontend verses Backend Web designer is the most common job title for the frontend web development and the role of a web designer is to design and rebuild websites keeping the visual aspects in mind. Backend developers are the ones who make sure the data and systems requested by the frontend application or software are efficiently delivered. Backend developers handle everything that happens in the background. Essentials of Frontend verses Backend Frontend is also referred to as the “client-side” as opposed to the backend which is basically the “serverside” of the application. The essentials of backend web development include languages such as Java, Ruby, Python, PHP, .Net, etc. The most common frontend languages are HTML, CSS, and JavaScript P4Discuss the diferences between online website creation tools and custom-built sites with regards to design flexibility, performance, functionality, User Experience (UX) and User Interface (UI). Most websites today are developed using a content management system, or CMS–which allows businesses to update their sites easily and quickly without technical support. By far the most common is WordPress, Page14
an open-source blogging platform and CMS which has as much as 50-60 percent of the global CMS market as of 2017 (in this article we will concentrate mostly on WordPress). Some of the other platforms available for content management systems include Joomla, CMS Made Simple, DotNetNuke, and Drupal. What program a developer chooses for a specific site depends on a variety of factors including the server's technical requirements and his / her own level of expertise in the different platforms. Sites built using WordPress or another CMS platform can be custom, where the entire site is built from scratch for a particular company to fit its needs and brand, or using a pre-made template or “theme” bought off the shelf, or even downloaded for free. Both methods have their advantages and disadvantages, depending on your needs, goals and budget — but all sites are not created equal. In this article, we’ll cover the basics of template and custom sites, including how you can tell which is which. THE PROS AND CONS OF TEMPLATE SITES A template site is often a great option if the project is simple – for example, a website that’s basically an online brochure. Advantages of templates include: Template sites are significantly less expensive than custom sites. Using a template means that most of the website coding is in place without your developer lifting a finger. That’s why template sites are much more affordable than custom sites, although your developer will still have to spend time customizing the template and implementing the content. Template sites are quite fast to implement. Again, this is because much of the coding is done. A template site can generally be launched in a matter of weeks, if the content is pretty much ready to go (this is, however, often not the case — and is often a significant barrier to getting a site launched) and your developer’s schedule is clear. Depending on the complexity of what you want, a custom site will take significantly longer. Templates are getting more sophisticated. The best templates are well-designed, robust, and allow for a reasonable amount of customization. There can be significant disadvantages to using templates, especially if your developer isn’t particularly skilled. These can include: Your site may look like everyone else’s. Skilled designers can minimize this problem with creative use of graphics and customization within the template, but the most popular themes have been downloaded thousands of times. You’re limited in your graphics design and navigation capability. A significant degree of customization is possible in templates, especially the more expensive ones, but you are largely stuck with the parameters of the template for your graphics design and navigation. This can be simple design parameters, like limited choices in icons, or more serious issues like the inability to have a functionality you want in the way that you’d like it to work. Page15
Some templates aren’t especially well-made or maintained. This can’t be emphasized enough — template sites are only as good as the template itself! Virtually all templates nowadays (as of May 2017) are designed to be responsive — that is, they respond to the device used to view them and automatically optimize to that device’s screen size. However, WordPress is updated frequently to stay on top of security concerns — major updates occur a few times a year, and security patches can come out as often as needed. Unfortunately, not all template developers update their templates to keep up with the changes. If your template isn’t updated regularly, your template might break when you or your developer install a WordPress update. That puts you in the position of having to run an older version of WordPress, which can make your site more vulnerable to hacking. Down the road this can also lead to problems hosting your site, as quality website hosting plans are not willing to host sites that are running severely out-of-date versions of WordPress. Also, certain external tie-ins that may be featured on your site, such as PayPal integration, will update automatically and may cease to work with older versions of WordPress. Fortunately, more expensive, better-designed templates are less likely to develop this problem — to minimize the risk, you should carefully check reviews and history of both the template and its developer before making a choice. Functionality can be limited in template sites. Adding e-commerce and other kinds of custom applications is difficult or impossible in template sites. Security can be an issue. People who enjoy writing malicious code find template websites especially tempting, because they represent the opportunity to hack multiple sites at once. Developers will sometimes customize a template site using plug-ins (a plug-in is a bit of code that adds a particular functionality) in an attempt to improve WordPress security in particular, but unless your developer really knows what he/she is doing, this can actually make the problem worse. In addition, if you choose a template that isn’t regularly updated to keep up with WordPress, your site will become more vulnerable to hackers. Reference Page16
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Frontendmasters.com. (2020).What Is a Front-End Developer?. [online] Available at: https://frontendmasters.com/books/front-end-handbook/2018/what-is-a-FD.html?q=what%20is%20back%20en %20developer [Accessed 26 Feb. 2020]. Guru99.com. (2020).What is Backend Developer? Skills to become a Web Developer. [online] Available at: https://www.guru99.com/what-is-backend-developer.html [Accessed 26 Feb. 2020]. Differencebetween.net. (2020).Difference Between Frontend and Backend | Difference Between. [online] Available at: http://www.differencebetween.net/technology/difference-between-frontend-and-backend/ [Accessed 26 Feb. 2020]. Eyerys. (2020).The Web Communication Protocols. [online] Available at: https://www.eyerys.com/articles/webcommunication-protocols [Accessed 26 Feb. 2020]. dummies. (2020).Components of a Server Computer - dummies. [online] Available at: https://www.dummies.com/programming/networking/components-of- a-server-computer/ [Accessed 26 Feb. 2020]. Dealna. (2020).Three Types of Server Hardware | Dealna. [online] Available at: https://dealna.com/en/Article/Post/1391/Three-Types-of-Server-Hardware [Accessed 26 Feb. 2020]. WhatIs.com. (2020). What is operating system (OS)? - Definition from WhatIs.com. [online] Available at: https://whatis.techtarget.com/definition/operating-system-OS [Accessed 26 Feb. 2020]. Sandridge, R. (2020). [online] Available at: https://www.quora.com/What-is-the-purpose-of-an-OS-operating-system [Accessed 26 Feb. 2020]. En.wikipedia.org. (2020).Web server. [online] Available at: https://en.wikipedia.org/wiki/Web_server [Accessed 26 Feb. 2020]. Articles for Developers Building High Performance Systems. (2020).What is a Web Application? | How a Web Application Works. [online] Available at: https://blog.stackpath.com/web-application/ [Accessed 26 Feb. 2020]. Page17