Introduction to Network and Web Application PDF
Document Details
Uploaded by InstructiveNephrite4861
Universiti Utara Malaysia
T. Zalizam T. Muda
Tags
Summary
This document provides an introductory overview of computer programming languages, including machine language, assembly language, algorithmic languages, and more. It also touches on the history of the internet and Web architecture. The document is suitable for undergraduate-level computer science students or those interested in learning about the foundational aspects of software development.
Full Transcript
+ Introduction to Network and Web Application T. Zalizam T. Muda © 2023 + Identify the types of programming languages Explain the history of the Internet and WWW Recognise WWW Consortium Elaborate on the ne...
+ Introduction to Network and Web Application T. Zalizam T. Muda © 2023 + Identify the types of programming languages Explain the history of the Internet and WWW Recognise WWW Consortium Elaborate on the network architecture Introduction to Network & Web Application T. Zalizam T. Muda © 2023 + Introduction Computer Programming Language Any of various languages for expressing a set of detailed instructions for a digital cptr. Such instructions can be executed directly when they are in the cptr manufacturer- specific numerical form known as machine language, after a simple substitution process when expressed in a corresponding assembly language, or after translation from some “high-level” language. Although there are many cptr lang., relatively few are widely used. T. Zalizam T. Muda © 2023 + Language Types Machine Document Formatting Assembly World Wide Web display Algorithmic Business-oriented Education-oriented Object-oriented Declarative Scripting T. Zalizam T. Muda © 2023 + Machine Language A machine lang. consists of the numeric codes for the operations that a particular cptr can execute directly. The codes are strings of 0s and 1s, or binary digits(“bits”), which are frequently converted both from and to hexadecimal(base 16) for human viewing and modification. Machine lang. instructions typically use some bits to represent operations, such as addition, and some to represent operands, or perhaps the location of the next instructions. Machine lang. is difficult to read and write, since it does not resemble conventional mathematical notation or human language, and its codes vary from cptr to cptr. T. Zalizam T. Muda © 2023 + Machine Language Advantages of ML The fast and efficient use of the computer can be done by using machine language. It requires no translator to translate the code. It is directly understood by the computer. T. Zalizam T. Muda © 2023 + Machine Language Disadvantages of ML All operation codes have to be remembered. All memory addresses have to be remembered. Finding errors in a program written in machine language is hard. T. Zalizam T. Muda © 2023 + Machine Language Q T. Zalizam T. Muda © 2023 + Assembly Language Assembly language is one level above machine language. Sometimes called assembly or ASM, an assembly language is a low- level programming language. It uses short mnemonic codes for instructions and allows the programmer to introduce names for blocks of memory that hold data. One might thus write “add pay, total” instead of “0110101100101000” for an instruction that adds two numbers. Assembly lang. is designed to be easily translated into machine language. Programs written in assembly languages are compiled by an assembler. Every assembler has its own assembly language, which is designed for one specific computer architecture. Although blocks of data may be referred to by name instead of by their machine addresses, assembly lang. does not provide more sophisticated means of organizing complex information. T. Zalizam T. Muda © 2023 + Assembly Language(cont.) Like machine lang., assembly lang. requires detailed knowledge of internal computer architecture. It is useful when such details are important, as in programming a computer to interact with input/output devices (printers, scanners, storage devices, and so forth) T. Zalizam T. Muda © 2023 + Assembly Language(cont.) eg https://www.digitalelectronicsdeeds.com/demos/demopage_micro.html T. Zalizam T. Muda © 2023 + Machine & Assembly Languages Example T. Zalizam T. Muda © 2023 + More… Machine language machine dependent, +1300042774 understood by computers, +1400593419 defined by the hardware +1200274027 design of that computer Assembly language After found that machine languages LOAD BASEPAY are too slow and tedious. English- ADD OVERPAY like abbreviations to overcome the STORE GROSSPAY problem with “strings of numbers”. Need assembler (translator) to change to machine language T. Zalizam T. Muda © 2023 + Algorithmic Languages Algorithmic languages are designed to express mathematical or symbolic computations. They can express algebraic operations in notation similar to mathematics and allow the use of subprograms that package commonly used operations for reuse. They were the first high-level languages. Example for algorithmic lang. are: FORTRAN ALGOL LISP C T. Zalizam T. Muda © 2023 + FORTRAN The first important algorithmic language was FORTRAN (formula translation), designed in 1957 by an IBM team led by John Backus. It was intended for scientific computations with real numbers and collections of them organized as one- or multidimensional arrays. Its control structures included conditional IF statements, repetitive loops (so-called DO loops), and a GOTO statement that allowed non-sequential execution of program code. FORTRAN made it convenient to have subprograms for common mathematical operations, and built libraries of them. FORTRAN was also designed to translate into efficient machine language. It was immediately successful and continues to evolve. T. Zalizam T. Muda © 2023 + ALGOL ALGOL (algorithmic language) was designed by a committee of American and European computer scientists during 1958-60 for publishing algorithms, as well as for doing computations. ALGOL had recursive subprograms – procedures that could invoke themselves to solve a problem by reducing it to a smaller problem of the same kind. ALGOL introduced block structure, in which program is composed of blocks that might contain both data and instructions and have the same structure as an entire program. Block structure became a powerful tool for building large programs out of small components. T. Zalizam T. Muda © 2023 + LISP LISP (list processing) was developed about 1960 by John McCarthy at the Massachusetts Institute of Technology (MIT) and was founded on the mathematical theory of recursive functions. A LISP program is a function applied to data, rather than being a sequence of procedural steps as in FORTRAN and ALGOL. LISP uses a very simple notation in which operation are given in a parenthesized list. For example, (+ a (* b c)) stands for a + b * c. LISP became a common language for artificial intelligence (AI) programming T. Zalizam T. Muda © 2023 + C The C programming language was developed in 1972 by Dennis Ritchie and Brian Kernighan at the AT&T Corporation for programming computer operating systems. Its capacity to structure data and programs through the composition of smaller units is comparable to that of ALGOL. It uses a compact notation and provides the programmer with the ability to operate with the addresses of data as well as with their values. This ability is important in systems programming, and C shares with assembly language the power to exploit all the features of a computer’s internal architecture. C, along with its descendant C++, remains one of the most common languages. T. Zalizam T. Muda © 2023 + Business-oriented Languages COBOL COBOL (Common Business Oriented Language) has been heavily used by businesses since its inception 1959. A committee of computer manufactures and users and U.S. government organizations established CODASYL (Committee on Data Systems and Languages) to develop and oversee the language standard in order to ensure its portability across diverse systems. COBOL uses an English-like notation-novel when introduced. Business computations organize and manipulate large quantities of data, and COBOL introduced the record data structure for such tasks. T. Zalizam T. Muda © 2023 + Business-oriented Languages SQL SQL (structured query language) is a language for specifying the organization of databases (collections of records). Databases organized with SQL are called relational because SQL provides the ability to query a database for information that falls in a given relation. For example, a query might be “find all records with both last name Smith and city New York”. Commercial database programs commonly use a SQL- like language for their queries. T. Zalizam T. Muda © 2023 + Education-oriented Languages BASIC BASIC (Beginner’s All-purpose Symbolic Instruction Code) was designed at Dartmouth College in the mid- 1960s by John Kemeny and Thomas Kurtz. It was intended to be easy to learn by novices, particularly non-computer science majors, and to run well on a time-sharing computer with many users. It had simple data structures and notation. Its small size and simplicity also made BASIC a popular language for early personal computers. T. Zalizam T. Muda © 2023 + Education-oriented Languages PASCAL PASCAL is an imperative and procedural programming language, which Niklaus Wirth designed in 1968-69 and published in 1970, as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honor of the French mathematician, philosopher and physicist Blaise Pascal. Pascal was developed on the pattern of the ALGOL language. Pascal, like many programming languages of today, allows most kinds of definitions and declarations inside subroutines. T. Zalizam T. Muda © 2023 + Education-oriented Languages LOGO HYPERTALK More details: https://www.britannica.com/technology/computer- programming-language T. Zalizam T. Muda © 2023 + Types of Programming Languages High-level language Assembly language – increasing comp. use rapidly. HLL – single statement for multi purposes. Need compilers to translate to machine languages. Almost similar to everyday English, mathematical notations Scripting language Scripts were created to shorten the traditional edit-compile-link-run process. Scripting languages can also be compiled, but because interpreters are simpler to write than compilers, they are interpreted more often than T. Zalizam T. Muda © 2023 they are compiled + Types of Programming Languages T. Zalizam T. Muda © 2023 Translator Programs (Assembler vs Compiler vs Interpreter) Assembler Compilers Interpreter Use in assembly Use in High level Use in High level languages. language. language. Convert assembly To speed up Execute high language program programming level language to machine process compared directly without language. to assembly lang. compiling into machine Convert high level language. language to machine Program is language. recompiled as new features are Faster than added & errors Interpreter are corrected T. Zalizam T. Muda © 2023 + Different Programming Languages T. Zalizam T. Muda © 2023 + Properties of Web Languages Compiled languages: Java, C, and C++. These languages are "typed" languages in that every identifier is assigned a fixed data type. The compiler scans the entire program and then writes machine language (or in the case of Java, writes to a virtual machine) to implement the operations. The key feature is that this code is generated before the program sees any data and will fail if the data is not of the expected type. What is Compiled Language? A compiled language is a programming language that is converted into machine code so that the processor can execute it. The compiled languages are usually compiled, not interpreted. For better understanding you can go through the types of compiled language – CLEO, COBOL, C, C++, C#, etc. T. Zalizam T. Muda © 2023 + Properties of Web Languages Interpreted languages: An interpreted language is a language in which the implementations execute instructions directly without earlier compiling a program into machine language. JavaScript, JScript, VBscript, Perl, PHP, Rexx, Python…… These languages are (at least in principle) executed line by line as the data flow in. the Difference between Compiled and Interpreted Language Both compiled and interpreted are programming languages. When it comes to compiled languages, they are usually compiled, not interpreted. While on the other hand, an interpreted language is commonly interpreted. T. Zalizam T. Muda © 2023 + Compiled vs Interpreted languages Compiled Languages Interpreted Languages much faster in execution often easier to write as (except Java which is about 10 you don't have to pre- times slower than C because it specify data types in has the intermediate step of advance and you can virtual machine-to-real machine fling any data at it with. translation) provide very powerful syntax slower and don't provide checking capabilities which let the powerful syntax you detect many errors at checking capabilities of compile time which can be compiler languages much, much easier to debug than runtime errors best for large programs which better suited to small process lots of data, and T. Zalizam T. Muda © 2023 programs created by one especially for programs person where runtime + Compiled vs Interpreted languages . https://byjus.com/gate/difference-between-compiled-and-interpreted-language/ T. Zalizam T. Muda © 2023 + Properties of Web Languages Object Oriented Languages Object-oriented programming (OOP) is a computer programming model that organises software design around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behaviour. OOP focuses on the objects that developers want to manipulate rather than the logic required to manipulate them. This approach to programming is well-suited for programs that are large, complex and actively updated or maintained. This includes programs for manufacturing and design, as well as mobile applications; for example, OOP can be used for manufacturing system simulation software. https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP T. Zalizam T. Muda © 2023 + OOP The structure, or building blocks, of object-oriented programming include the following: Classes are user-defined data types that act as the blueprint for individual objects, attributes and methods. Objects are instances of a class created with specifically defined data. Objects can correspond to real-world objects or an abstract entity. When class is defined initially, the description is the only object that is defined. Methods are functions that are defined inside a class that describe the behaviors of an object. Each method contained in class definitions starts with a reference to an instance object. Additionally, the subroutines contained in an object are called instance methods. Programmers use methods for reusability or keeping functionality encapsulated inside one object at a time. Attributes are defined in the class template and represent the state of an object. Objects will have data stored in the attributes field. Class attributes belong to the class itself. T. Zalizam T. Muda © 2023 + This image shows an example of the structure and naming in OOP. T. Zalizam T. Muda © 2023 +Object-oriented programming is based on the following principles: Encapsulation Abstraction Polymorphism Inheritance T. Zalizam T. Muda © 2023 Object-oriented programming +What are examples of object-oriented programming languages? While Simula is credited as being the first object-oriented programming language, many other programming languages are used with OOP today. But some programming languages pair with OOP better than others. For example, popular pure OOP languages include: Ruby Scala JADE Emerald Programming languages designed primarily for OOP include: Java Python C++ Other programming languages that pair with OOP include: Visual Basic.NET PHP JavaScript + Properties of Web Languages Object Oriented Languages(cont.) JavaScript, JScript, VBscript, Java, and C++ Instead of concentrating on the "processes" that are to be performed, you concentrate on the "classes" and "classes- of-objects" that make up the entities that are manipulated by your program. Procedure oriented programmers may have a difficult time making the transition to OOP, especially as OOP usually takes more time in the design phase, and the solutions are often more general then they need be. But the code is usually much more reusable, robust, and easier to modify and extend. T. Zalizam T. Muda © 2023 + What are the benefits of OOP? Benefits of OOP include: Modularity. Encapsulation enables objects to be self-contained, making troubleshooting and collaborative development easier. Reusability. Code can be reused through inheritance, meaning a team does not have to write the same code multiple times. Productivity. Programmers can construct new programs quicker through the use of multiple libraries and reusable code. Easily upgradable and scalable. Programmers can implement system functionalities independently. Interface descriptions. Descriptions of external systems are simple, due to message passing techniques that are used for objects communication. Security. Using encapsulation and abstraction, complex code is hidden, software maintenance is easier and internet protocols are protected. Flexibility. Polymorphism enables a single function to adapt to the class it is placed in. Different objects can also pass through the same interface. T. Zalizam T. Muda © 2023 + Criticism of OOP The object-oriented programming model has been criticized by developers for multiple reasons. The largest concern is that OOP overemphasizes the data component of software development and does not focus enough on computation or algorithms. Additionally, OOP code may be more complicated to write and take longer to compile. T. Zalizam T. Muda © 2023 + Web languages examples Client-side JavaScript JScript VBScript Tcl Cascading Style Sheets (Designing) HTML(Structure) DHTML AJAX jQuery TypeScript ActionScript React Angular Vue Swift SASS(Syntactically Awesome Style Sheet) Elm … T. Zalizam T. Muda © 2023 + Web languages examples Server-side Active Server Pages (ASP) Java Server Pages (JSP) ColdFusion IPTSCRAE Lasso MIVA Script PHP ASP.NET SMX XSLT Ruby Python Java Node.js PERL C# ... T. Zalizam T. Muda © 2023 + Programming T. Zalizam T. Muda © 2023 + Languages T. Zalizam T. Muda © 2023 + Future of Internet Computing Mobile GSM,2.5G,EDGE,3G, H+,4G, LTE, 5G, 6G WiMax Wireless Mesh Networks Wireless Sensor Networks Interactive/Multimedia 3D Virtual reality Haptic (sense of touch) Smell? Cyber-Physical Systems Telepresence Tele-Medicine/Tele-Surgery Unmanned transportation Robotics Assisted Living Grid computing Internet of Things More? T. Zalizam T. Muda © 2023 + Future of Internet Computing Mobile GSM,2.5G,EDGE,3G, H+,4G, LTE, 5G, 6G WiMax Wireless Mesh Networks Wireless Sensor Networks Interactive/Multimedia 3D Virtual reality Haptic (sense of touch) Smell? Cyber-Physical Systems Telepresence Tele-Medicine/Tele-Surgery Unmanned transportation Robotics Assisted Living Grid computing Internet of Things More? T. Zalizam T. Muda © 2023 + Introduction to the Internet TCP/IP is the communication protocol for the Internet. TCP/IP defines the rule computers must follow to communicate with each other over the internet. Your Browser and Server use TCP/IP Browsers and servers use TCP/IP to connect to the Internet. A browser uses TCP/IP to access a server. A server uses TCP/IP to send HTML back to a browser. Your E-Mail uses TCP/IP Your e-mail program uses TCP/IP to connect to the Internet for sending and receiving e-mails. Your Internet Address is TCP/IP Your Internet address "58.26.136.5" is a part of the standard TCP/IP protocol (and so is your domain name). T. Zalizam T. Muda © 2023 + Internet Protocol The Internet Protocol (IP) is a protocol used for communicating data across a packet-switched internetwork using the Internet Protocol Suite, also referred to as TCP/IP. IP is the primary protocol in the Internet Layer of the Internet Protocol Suite and has the task of delivering distinguished protocol datagrams (packets) from the source host to the destination host solely based on their addresses. IP address Same as a person name. Assigned as numeric address. IPv4 – 32-bit number Example: 131.123.35.92 128-bit address in IPv6. T. Zalizam T. Muda © 2023 + Internet Protocol IP : T. Zalizam T. Muda © 2023 + Internet Protocol IP : T. Zalizam T. Muda © 2023 + Internet Protocol The Internet Protocol (IP) T. Zalizam T. Muda © 2023 + Domain Names Textual names for machines on the Internet. Name of host machine called domain. They may be two, three or more domain names. The last domain name identifies the type of organisation. Example: www.uum.edu.my | www.nyu.edu | www.msn.com.sg www.yahoo.com | www.lancs.ac.uk | www.hu.ac.th www.jpa.gov.my | www.yahoo.co.uk | www.ugm.ac.id T. Zalizam T. Muda © 2023 + Domain Names T. Zalizam T. Muda © 2023 Domain Names Conversion from IP address (number) to domain name (textual) is done by name server. This implement Domain Name Server (DNS). Domain Name Internet Client System IP IP Name Internet Web Server Server T. Zalizam T. Muda © 2023 + World Wide Web Created by group led by Tim Berners Lee at CERN (Conseil European pour la Recherce Nucleaire) To allow scientists around the world to use the Internet to exchange documents and search and retrieve documents from database. Form of documents– hypertext. Which is text with embedded links to text in other documents. WWW simply known “The Web”. “the Web” – vast collection of documents some of which are connected by links. This documents accessed by Web Browsers and are provided Web Servers. T. Zalizam T. Muda © 2023 + Internet vs Web Bear in mind, a collection of computers and other devices connected by equipment that allows them to communicate with each other. collection of software and protocols that has been installed on most, if not all, of the computers on the Internet. Therefore;Internet and Web is not the same thing!!! WEB >are the pages you see when you're at a device and you're online. T. Zalizam T. Muda © 2023 + Terminologies Client Server Web Browser Web Server URL HTTP T. Zalizam T. Muda © 2023 + Client & Server Client: initiates communication Server: send information's back to client. Browser Program running at client. Allow users to browse the resources available at servers. Text browser (no graphic) – 1993 Mosaic: The first browser with GUI. Common protocols is HTTP (Hypertext Transfer Protocol) HTTP provide standard form of communications between browsers and Web servers. Example: ???? T. Zalizam T. Muda © 2023 + Web Servers Programs that provide documents to requesting browsers. Most common Web servers: Apache and IIS. 2 separate directories: Document root: stores web page. Server root: stores the server and support software. Web server can interact with database system through CGI (Common Gateway Interface) and server-side script. Other protocols supported by Web servers FTP, Gopher, News and mail T. Zalizam T. Muda © 2023 Web Server & Web Browser In Action 1. Type the URL in Web Browser 5. Close the connection www.uum.edu.my 4. Send the information's 2. Sending URL (documents or program) to initiate a connection. Internet Browser Server 2. Sending URL (documents or program) to initiate a connection 4. Send the information's 3. Accept incoming connection through specific port. T. Zalizam T. Muda © 2023 + URL – Uniform Resource Locators To identify documents (resources) on the Internet. URL format Scheme: object address Scheme is a communication protocols. http, ftp, gopher, telnet, file, mailto and news. Default web server port number is 80. URL paths: http://www.uum.edu.my http://www.google.com http://www.nytimes.com T. Zalizam T. Muda © 2023 + Uniform Resource Locater (URL) Domain Name http://www.uum.edu.my Location Indicates the protocol the browser will use to Function retrieve the page Host Computer T. Zalizam T. Muda © 2023 + HTTP (Hypertext Transfer Protocol) As communication transactions Formally defined as RFC 2616 Consists 2 phases: Request Response Each HTTP communication (request & response between browser and web server consist 2 parts: Header: information about the communication Body: the data of the communication T. Zalizam T. Muda © 2023 + Markup languages Markup languages, such as HTML, DHTML, HTML4.0, HTML5 XML, XSL, and CSS (Cascading Style Sheets) have a major effect on the role of web languages As these markup languages develop they give more and more power to the client side web languages, such as JavaScript. T. Zalizam T. Muda © 2023 + Markup languages characterization Hypertext Markup Language (HTML) Specifies How a document shall be presented How documents cross-reference each other (hyperlinks) Why HTML succeeds? Open and free standard Simple tag markups for hyperlinks. Simple, standard, and platform independent ASCII characters. Only needs open, free, and simple text editors for editing and publishing. Platform independent for publishing and presentation. Simple and easy to learn. T. Zalizam T. Muda © 2023 + Markup languages characterization HTML 5.0: https://en.wikipedia.org/wiki/HTML 5 T. Zalizam T. Muda © 2023 + Markup languages characterization CSS: Cascading Style Sheets make possible the "D" in "Dynamic" HTML Style sheets let user define a set of characteristics for a group of HTML elements, such as color, font, position, and visibility. T. Zalizam T. Muda © 2023 + Markup languages characterisation eXtensible Markup Language (XML): the newest markup language. Unlike HTML which is concerned with appearances only, XML is concerned almost wholly with content as opposed to form. Thus the tags identify information that is relevant to a particular discipline Tagging information this way has many advantages: client side languages will have much more information that they can manipulate in meaningful ways The combination of this tagging information and a client language should greatly enhance interaction, reduce the load on the Internet (since most interactions take place on the client) and make information much more retrievable XML is available in most browsers. T. Zalizam T. Muda © 2023 + Markup languages characterisation Extensible Stylesheet Language (XSL) XSL is mostly concerned with the appearance of XML documents. By separating the content and the appearance, XSL makes it easy to render the XML document in many different formats, such as text, images, speech, or control over equipment. T. Zalizam T. Muda © 2023 + Markup languages characterisation XHTML XHTML is essentially HTML 4 which conforms to the very strict syntax required by XML. For example, all beginning tags must have ending tags, so that must be balanced by an tag, and all tags must be lower case. Following such rules greatly increasing the portability of HTML code. T. Zalizam T. Muda © 2023 + World Wide Web Consortium (W3C) Founded: October 1994 – Tim Berners-Lee Organisation called W3C Goal: to make the Web universally accessible- regardless of disability, language or culture Standardisation organisation for Web tech. Recommendations – doc. That specifies tech’s role, syntax, rules etc. E.g: XHTML, CSS, HTML, XML T. Zalizam T. Muda © 2023 + Network Architecture Network architecture is the design of a communication network. It is a framework for the specification of a network's physical components and their functional organization and configuration, its operational principles and procedures, as well as data formats used. In telecommunication, the specification of a network architecture may also include a detailed description of products and services delivered via a communications network, as well as detailed rate and billing structures under which services are compensated. T. Zalizam T. Muda © 2023 + OSI Network Model Open Systems Interconnection Model PDNTSPA http://en.wikipedia.org/wiki/Network_architecture T. Zalizam T. Muda © 2023 + Summary Programming language: Machine, assembly & high-level The Internet began in 1960s as the Arpanet. The Web began in 1980s as CERN Two kind of addresses: IP address & DNS Browser: to browse resources at server Web Server: provide resources to browser URL: identify resources on the Internet HTTP: communication protocol Network Architecture T. Zalizam T. Muda © 2023 + T. Zalizam T. Muda © 2023