1 / 66

Advance Internet Technique s

Advance Internet Technique s. Present by: Ms.Azza Zeinelabdin Karrar. 1. Introduction to Computers and the Internet. OBJECTIVES. In this Lecture you will learn: Basic computing concepts. The different types of programming languages. The evolution of the Internet and the World Wide Web.

chi
Télécharger la présentation

Advance Internet Technique s

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advance Internet Techniques Present by: Ms.Azza Zeinelabdin Karrar

  2. 1 Introduction to Computers and the Internet

  3. OBJECTIVES In this Lecture you will learn: • Basic computing concepts. • The different types of programming languages. • The evolution of the Internet and the World Wide Web. • What Web 2.0 is and why it’s having such an impact among Internet-based and traditional businesses. • What Rich Internet Applications (RIAs) are and the key software technologies used to build RIAs.

  4. 1.1 Introduction 1.2    What Is a Computer? 1.3    Computer Organization 1.4    Machine Languages, Assembly Languages and High-Level Languages 1.5    History of the Internet and World Wide Web 1.6    World Wide Web Consortium (W3C) 1.7    Web 2.0 1.8    Personal, Distributed and Client/Server Computing 1.9    Hardware Trends 1.10    Key Software Trend: Object Technology 1.11    JavaScript: Object-Based Scripting for the Web 1.12    Browser Portability 1.13    C, C++ and Java 1.14    BASIC, Visual Basic, Visual C++, C# and .NET 1.15    Software Technologies

  5. 1.1 Introduction • Software • Instructions to command the computer to perform actions and make decisions. • JavaScript and PHP are popular software development languages for web-based applications. • Computer development • Computer use increasing in most fields • Computer costs and size decreasing

  6. 1.1 Introduction (Cont.) • Applications • Prepares for higher learning in C++, Java, C#, Visual Basic.NET as well as object-oriented programming • Allows development of applications with graphical user interfaces (GUIs) • Multimedia capabilities • Integration with the Internet and World Wide Web • Apply database technologies • Applications that are not limited to the desktop • Portability • Multiple platforms (i.e., different types of computers running different operating systems).

  7. 1.2 What is a Computer? • Computer • Device capable of • Performing computations • Making logical decisions • Works billions of times faster than human beings • Fastest supercomputers today • Perform hundreds of billions of additions per second

  8. 1.2 What is a Computer? (Cont.) • Programs • Sets of instructions that process data • Guide computer through orderly sets of actions specified by computer programmers • Computer system • Comprised of various hardware devices • Keyboard • Screen • Disks • Memory • DVD drives • Processing Units

  9. 1.3 Computer Organization • Every computer divided into six units 1. Input unit • “Receiving” section of computer • Obtains data from input devices Usually a keyboard, mouse, disk, scanner, uploads (photos and videos) and networks (Internet) • Places data at disposal of other units 2. Output unit • “Shipping” section of computer • Puts processed info on various output devices Screens, paper printouts, speakers • Makes info available outside the computer (e.g., Internet)

  10. 1.3 Computer Organization (Cont.) 3. Memory unit • Rapid access, low capacity “warehouse” • Retains information entered through input unit • Retains info that has already been processed until can be sent to output unit • Often called memory, primary memory, or random access memory (RAM) 4.Arithmetic and Logic Unit • “Manufacturing” section of computer • Performs calculations (addition, subtraction, multiplication and division) • Contains decision mechanisms and can make comparisons

  11. 1.3 Computer Organization (Cont.) 5. Central Processing Unit (CPU) • “Administrative” section of computer • Coordinates and supervises other sections • Multiple CPUs (multiprocessors) 6. Secondary storage unit • Long-term, high-capacity “warehouse” • Stores programs or data not currently being used by other units on secondary storage devices (like CDs and DVDs) • Takes longer to access than primary memory

  12. 1.4 Machine Languages, Assembly Languages and High-Level Languages • Three general types of programming languages • Machine languages • Assembly languages • High-level languages

  13. 1.4 Machine Languages … (Cont.) • Machine languages • “Natural language” of a computer • Defined by hardware design of computer • Generally consists of strings of numbers • Are machine dependent • Cumbersome for humans • Example: Adding overtime pay to base pay and storing the result in gross pay +1300042774 +1400593419 +1200274027 • Slow and tedious for most programmers

  14. 1.4 … Assembly Languages…(Cont.) • Assembly languages • Programmers began using English-like abbreviations to substitute for machine languages • Represents elementary operations of computer • Translator programs called assemblers convert assembly-language to machine-language • Example: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY

  15. 1.4 Machine Languages, Assembly Languages and High-Level Languages (Cont.) • High-level languages • Developed as computer usage increased, assembly language proved inadequate and time-consuming • Single statements can be written to accomplish substantial tasks • Translator programs called compilers • Allow programmers to write instructions almost like every-day English • Example: grossPay = basePay + overTimePay

  16. 1.4 Machine Languages, Assembly Languages and High-Level Languages (Cont.) • High-level languages (II) • Much more desirable from programmer’s standpoint • Specific languages include • C, C++, Visual Basic.NET, C# and Java • Among most powerful and widely used languages today • Interpreter programs developed to execute high-level programs without compiling • Popular in program development environments

  17. 1.4 Machine Languages, Assembly Languages and High-Level Languages (Cont.) • High-level languages (III) • Once program developed, compiled version made • several key programming languages • JavaScript, ActionScript, PHP and Ruby on Rails—each of these scripting languages is processed by interpreters • Study markup languages • XHTML and XML, which can be processed by interpreted scripting languages • Achieve their goal of portability across a variety of platforms

  18. Performance Tip 1.1 Interpreters have an advantage over compilers in scripting. An interpreted program can begin executing as soon as it is downloaded to the client’s machine, without the need to be compiled before it can execute. On the downside, scripts generally run much slower than compiled code.

  19. Portability Tip 1.1 Interpreted languages are more portable than compiled languages. Interpreters can be implemented for each platform on which the interpreted languages need to execute.

  20. Software Engineering Observation 1.1 Interpreted languages are more dynamic than compiled languages. For example, server-side applications can generate code in response to user interactions, and that code can then be interpreted in a browser.

  21. 1.5 History of the Internet and World Wide Web • ARPANET • Implemented in late 1960’s by ARPA (Advanced Research Projects Agency of DOD) • Networked computer systems of a dozen universities and institutions with 56KB communications lines • Grandparent of today’s Internet • Intended to allow computers to be shared • Became clear that key benefit was allowing fast communication between researchers – electronic-mail (email)

  22. 1.5 History of the Internet and World Wide Web • ARPA’s goals • Allow multiple users to send and receive info at same time • Network operated packet switching technique • Digital data sent in small packages called packets • Packets contained data, address info, error-control info and sequencing info • Greatly reduced transmission costs of dedicated communications lines • Network designed to be operated without centralized control • If portion of network fails, remaining portions still able to route packets

  23. 1.5 History of the Internet and World Wide Web • Transmission Control Protocol (TCP) • Name of protocols for communicating over ARPAnet • Ensured that messages were properly routed and that they arrived intact • Organizations implemented own networks • Used both for intra-organization and communication

  24. 1.5 History of the Internet and World Wide Web • Huge variety of networking hardware and software appeared • ARPA achieved inter-communication between all platforms with development of the IP • Internetworking Protocol • Current architecture of Internet • Combined set of protocols called TCP/IP • The Internet • Limited to universities and research institutions • Military became big user • Next, government decided to access Internet for commercial purposes

  25. 1.5 History of the Internet and World Wide Web • Internet traffic grew (I) • Businesses spent heavily to improve Internet • Better service their clients • Fierce competition among communications carriers and hardware and software suppliers • Resulted in massive bandwidth increase and plummeting costs

  26. 1.5 History of the Internet and World Wide Web • Internet traffic grew(II) • Tim Berners-Lee invents HyperText Markup Language (HTML) • Also writes communication protocols to form the backbone new information system = World Wide Web • Hypertext Transfer Protocol (HTTP): • a communications protocol used to send information over the web • Web use exploded with availability in 1993 of the Mosaic browser • Marc Andreessen founds Netscape • Company many credit with initiating the explosive Internet of late 1990s.

  27. 1.6 World Wide Web Consortium (W3C) • W3C Founded in 1994 by Tim Berners-Lee • Homepage at www.w3.org • Goals • Internet universally accessible • Standardization • W3C Recommendations: Technologies standardized by W3C include the Extensible HyperText Markup Language (XHTML), Cascading Style Sheets (CSS), HyperText Markup Language (HTML—now considered a “legacy” technology) and the Extensible Markup Language (XML). not an actual software product, but a document that specifies a technology’s role, syntax rules and so forth.

  28. 1.7 Web 2.0 • 2003 noticeable shift in how people and businesses were using the web and developing web-based applications • The term Web 2.0 was coined by Dale Dougherty of O’Reilly • Web 2.0 definition = companies use the web as a platform to create collaborative, community-based sites (e.g., social networking sites, blogs, wikis, etc.). • Web 1.0 (1990s and early 2000s) focused on a small number of companies and advertisers producing content for users to access • “brochure web”) • Web 2.0 involves the • Web 1.0 is as a lecture, • Web 2.0 is a conversation • Websites like MySpace , Facebook , Flickr , YouTube, eBay and Wikipedia , users create the content, companies provide the platforms.

  29. 1.7 Web 2.0 (Cont.) • Architecture of participation • Open source software • Collective • Rich Internet Applications (RIAs) • Software as a Service (SaaS) • Web services incorporate functionality from existing applications and websites into own web applications • Amazon Web Services • Maps web services with eBay web services

  30. 1.7 Web 2.0 (Cont.) • Future computers learn to understand the meaning of the data on the web = Semantic Web • Deitel Web 2.0 Resource Center at www.deitel.com/web2.0/ for more information.

  31. 1.8 Personal, Distributed and Client/Server Computing • 1977 Apple Computer popularized personal computing • Computers became economical for personal or business use • Machines could be linked together in computer networks • Local area networks (LANs) • Distributed computing • Workstations • Servers offer data storage and other capabilities that may be used by client computers distributed throughout the network, • Client/server computing • Popular operating systems • UNIX, Linux, Mac OS X and Microsoft’s Windows

  32. 1.9 Hardware Trends • Improving technologies (I) • Internet community thrives on improvements of • Hardware, Software and Communications • Cost of products and services • Consistently dropping over the decades • Computer capacity and speed • Doubles every two years (on average) = Moore’s Law

  33. 1.9 Hardware Trends • Improving technologies (II) • Microprocessor chip • Laid groundwork in late 1970s and 1980s for productivity improvements of the 1990s • Hardware moving toward mobile, wireless technology. • Hand-held devices more powerful than early supercomputers • Portability • Wireless data-transfer speeds

  34. 1.10 The Key Software Trend: Object Technology • Objects • Reusable software components that model items in the real world (classes) • Makes software developers more productive • Object-oriented programs often easier to understand, correct and modify than older types of programs

  35. 1.11 JavaScript: Object-BasedScripting for the Web • JavaScript • Attractive package for advancing level of programming language education • Object-based language • Supports proper software engineering techniques • Free as part of today’s most popular Web browsers • Powerful scripting language • Portable • Programs execute interpretively on client machines • Universal client scripting language, simplifying web application development

  36. Portability Tip 1.2 Although it is easier to write portable programs in JavaScript than in many other programming languages, differences among interpreters and browsers make portability difficult to achieve. Simply writing programs in JavaScript does not guarantee portability. Programmers occasionally need to research platform variations and write their code accordingly.

  37. 1.12 Browser Portability • Browser portability • Great challenge • Great diversity of client browsers in use • Many different platforms also in use • Difficult to • Know capabilities and features of all browsers and platforms in use • Find correct mix between absolute portability, complexity and usability of features

  38. Portability Tip 1.4 The web is populated with many different browsers, which makes it difficult for authors and web application developers to create universal solutions. The W3C is working toward the goal of a universal client-side platform.

  39. 1.13 C, C++ and Java • C • developed by Dennis Ritchie at Bell Laboratories • development language of the UNIX operating system • virtually all new major operating systems are written in C and/or C++ • C++ • developed by Bjarne Stroustrup in early 1980s • “spruce up” the C language and provides capabilities for object-oriented programming • Java • developed by Sun Microsystems in 1991 • Sun saw the immediate potential of using Java to add dynamic content (e.g., interactivity, animations and the like) to web pages • Sun formally announced Java at an industry conference in May 1995 • Java is now used to • develop large-scale enterprise applications • enhance the functionality of web servers • provide applications for consumer devices

  40. 1.14 BASIC, Visual Basic, Visual C++, C# and .NET • BASIC • Developed in the mid-1960s at Dartmouth College • Primary purpose was to familiarize novices with programming techniques • Microsoft’s Visual Basic language • Based on Basic • Has become one of the most popular programming languages in the world • Microsoft’s .NET platform • Provides the capabilities developers need to create computer applications that can execute on computers distributed across the Internet • Visual Basic (based on the original BASIC) • Visual C++ (based on C++) • Visual C# (based on C++ and Java)

  41. 1.15 Software Technologies • Agile Software Development • Set of methodologies that try to get software implemented quickly • Agile Alliance (www.agilealliance.org) • Agile Manifesto (www.agilemanifesto.org) • Refactoring • Reworking code to make it clearer and easier to maintain while preserving its • Design patterns • Proven architectures for constructing flexible and maintainable object-oriented software • Open source code

  42. 1.15 Software Technologies (Cont.) • Linux • Open source operating system • Apache • Most popular open source web server • MySQL , PostgreSQL • Open source database management system • PHP • Most popular open source server-side “scripting” language for developing Internet-based applications • LAMP • Linux, Apache, MySQL and PHP (or Perl or Python) • Game programming • Software techniques used in game programming Adobe Flash CS3 • Software as a Service (SaaS) • Software runs on servers elsewhere on the Internet • Salesforce.com, Google, Microsoft and 37Signals all offer SaaS

  43. 2 Developing Web Applications Overview

  44. OBJECTIVES • Describe the Web development process • Describe a typical server-side application • Using TCP / IP and HTTP protocols • Including GET, POST and Form Header methods • Describe the contemporary server-side technologies • CGI • Server-side Java Scripts (SSJS) • Servlet • JSP • ASP • PHP

  45. places an order Order is processed here Client Client-Server Architecture Front end Back end Client-Server Architecture two-tier systems

  46. Two-tier systems • Drawbacks of two-tier systems: • Servers must be multi-lingual, as different clients may speak different languages • Clients have to decide which queue is the shortest, to get their order quickly • People may have to wait in long queues at the server • If the queues are too long, then a client may decide to leave

  47. A waiter accepts the order and then serves food A customer enters the restaurant Bill Exit The customer asks for the bill, pays the money and leaves the restaurant A day in a typical restaurant

  48. A day in a typical restaurant – (1) • Advantages of this system: • The customer does not have to stand in a queue. He can comfortably sit at a table and wait for his order to be taken. • The client has to interact only with a waiter. Thus, the waiter alone needs to understand more than two languages. • There is a separate counter for paying bills. So clients need not wait for the others to clear their bills first.

  49. Process Database The Web based solution He places the order (request) based on the available menu, which is received by the Web server The request is processed here, by the JSP or servlet engine The results are sent back to the client The database is checked for any required information – like stock of items A customer browses the restaurant site on the Web,located at a particular URL

  50. The Web based solution – (1) • The process of placing an order and being served by the waiter can be explained as follows: • Placing an order, which is accepted by the waiter, is comparable to an HTTP request • Being served by the waiter is similar to receiving an HTTP response • The entire mode of communication, that is sending and receiving HTTP requests and responses is based on the TCP/ IP suite

More Related