360 likes | 503 Views
Internet application & architecture. Novanto Yudistira. Bagaimana Internet Bekerja?.
E N D
Internet application & architecture Novanto Yudistira
Bagaimana Internet Bekerja? The World Wide Web is the most popular part of the Internet so far. Web enabled communications with rich and varied display of text, graphics, animation, images, sound and video. Web physically consists of a personal computer, web browser software, connection to the Internet Service Provider, computer servers that host digital data, and routers and switches to direct the flow of information.
Komponen Internet Internet consists of many components such as email, FTP and Usenet News. The World Wide Web is only one of these components. • World Wide Web (World Wide Web is like an Internet Library with millions of books) • FTP (File Transfer Protocol) • E-mail & Grup diskusi e-mail • Telnet • Usenet News • HTTP • Chat & Instant Messenging
What is the World Wide Web? • One simple definition of the WWW is: • The WWW is a Hypertext Information System • Hypertext browsing: • Non-Linear structure (not a book) • You read what you want next • Click on Hypertext links to navigate the WWW • Features of the WWW are: • Graphical • Easy to use • Cross Platform • Distributed • Dynamic • Interactive (forms, Java)
What is Hypertext? Hypertext is a method of presenting information, where selected words in text can be expanded at any time to provide other information about the word. Those words are links to other documents which may be text, file, pictures etc., Links can be identified by highlighted (underlined) and coloured text. HTML (Hypertext Markup Languageadalahbahasayangdigunakanuntukmembuathalaman WWW dan link terkait.
URLs (Uniform Resource Locators) are the addresses of the WWW pages http://www.computing.dcu.ie/~cgreene/index.html To view / read the WWW pages you must have a special application i.e. a web browser A Web browser is an application program that provides a way to look at and interact with all the information on the World Wide Web. Technically, a Web browser is a client program that uses the Hypertext Transfer Protocol (HTTP) to make requests of Web servers throughout the Internet on behalf of the browser user and then displays web pages by interpreting the HTML that is used to build thses pages on the web. To publish and deliver information on the web you need a web Server A web server is a program that runs on web sites and is responsible for replying to a web browsers request for files
The Web works on a client / server model in which client software (Browser) runs on a local computer. The Server software runs on a web host. To use the web you must make an Internet connection and then launch your web browser. • Type the URL you want to visit • Browser makes a connection to a server using HTTP protocol • The Server then • Accepts the connection • Sends the file contents back to browser, and • Closes the connection • Web browsers interpret the html pages and display them on screen, they can also display programs, animation, graphics, video-conferencing, download files etc., Browsers also allow you to create and publish web pages. • Entire suites built around browsers including modules for reading newgroups, for sending/receiving e-mail • Multimedia files – helper applications (plug-ins)
Web Browsers Common Web Browsers • Mosaic – first graphical browser • Netscape Navigator (First commercial browser, originally known as Mosaic Navigator as originated from Mosaic) • Internet Explorer (Microsoft’s browser) • Lynx – text only browser • Google chrome • Mozilla Firefox Common Errors with Browsers • Server Does Not Have A DNS Entry • 503 Service Unavailable • 403.9 Access Forbidden – Too Many Users are Connected • Spinning Hourglass • 404 Not Found • 401 Unauthorised and 402 Forbidden
Search Engine • Lycos & Alta Vista (index based engines) • Yahoo (directory based search engine) • Google (index based) • Ask Jeeves (natural language search engine) Index based search Engines • built by computer robot programs (“Spiders") -- not by human selection • NOT organized by subject categories -- all pages are ranked by a computer algorithm • contain full-text (every word) of the web pages they link to -- you find pages by matching words in the pages you want • huge and often retrieve a lot of information -- for complex searches use ones that allow you to search within results (sub searching)
Meta Search Engines • Metacrawler • copernic Utilities that search more than one search engine and/or subject directory at once and then compile the results in a consolidating uniform format and listing. Some offer added value features like the ability to refine searches, customize which search engines or directories are queried.
File Transfer Protocol (FTP) One of the most popular uses of the internet is to download / upload files to transfer files from a computer on the internet to your computer and vice versa Various types of files (executable programs, graphics, audio, text) • Different types of FTP Sites all use Logon & Password • anonymous FTP sites (anonymous & email address as passwords) or automatic logon • Private FTP Sites (account number & password)
Electronic Mail (E-mail) • Email uses the TCP/IP protocol • SMTP (Simple Mail Transfer Protocol) • File attachments (binary Files) • MIME (Multipurpose Internet Mail Extension) • Uuencode (Unix to unix encoding) • How e-mail is delivered • TCP/IP • Gateways translate email formats from one network to the next • Routers internal / external (firewall) • E-mail Software • Mail Clients – Eudora, MS Exchange • Create folders, search through messages, address books, mailing lists • Most e-mail software reads HTML- based pages (links) • Mail Server
Encryption for E-Mail Privacy • Public & Private Keys most common form of encryption • How E-Mail Spam Works • Spam is Unsolicitied Junk E-mail • Blocking Spam • Write back to Spammer and asked to be removed • E-mail Software filters e-mail addresses • ISP like AOL block spammers from sending bulk mail to subscribers • Ensure that your email address isn’t added to spam list • Notify e-mail directories to remove your e-mail address • When posting to usenet newsgroups edit your header so that it doesn’t contain your e-mail address
Email: Advantages and Disadvantages • Disadvantages • Misdirection • Interception • Forgery • Overload • Junk • No response Advantages • Convenience • Speed • Inexpensive • Printable • Reliable • Global • Generality Email Addresses Basic form of an email address is username@hostname.subdomain.domain
E-Mail Discussion Groups Mailing Lists are a way for groups of people to have public Discussions via e-mail. Mailing lists can be moderated or unmoderated. • Moderated (screened by the list moderator) • Unmoderated (wide open list) Users must subscribe to a mailing list to join, this is achieved by sending a subscribe message to the computer known as a list server (Listserv). It reads your e-mail and automatically subscribes you to the list. You can unsubscribe from the list in the same way. The Mailing List is a database of e-mail addresses who have subscribed.
HTTP (Hypertext Transfer Protocol) HTTP is a set of rules, or protocols which governs the transfer of hypertext between two or more computers. The World Wide Web encompasses the universe of information that is available via HTTP. • HTTP is based on the client/server principle. • HTTP allows "computer A" (the client) to establish a connection to "computer B" (the server) and make a request. The server accepts the connection initiated by the client and sends back a response. • An HTTP request identifies the resource that the client is interested in and tells the server what "action" to take on the resource.
When a user selects a hypertext link, the client program on their computer uses HTTP to contact the server, identify a resource, and ask the server to respond with an action. The server accepts the request, and then uses HTTP to respond to or perform the action. For example, when you select a hypertext link, you are identifying a particular resource, and asking the server to send it back to your computer in a format that your computer can display.
Chat & Instant Messenging There are three commonly used types of chat. They are Instant Messaging, ICQ, and IRC. • Instant Messaging Instant messaging (IM) is one of the most popular forms of chat. Most of the time, instant messaging is just between two people, although most IM software can handle group chats (with 3 or more people.) Users must choose a nickname. The most popular form of IM is AOL Instant Messenger. AOL IM allows anyone who downloads their free software to choose a nick(name) (AOL calls their nicks Screen names) and 'chat' with anyone else with AOL IM or the America Online Service itself. Nearly everyone with America Online is reachable by AOL IM. If you see an AOL e-mail address, you can often cut off the @aol.com to get the IM screen name to contact the person directly.
Server Applications (Software) • Management and maintenance of Data including • User login data • Application data • Data processing • Centralized • Access via Login
Client Applications (Software) • Provides user interface • Stores some settings • Can do some data processing • Little to no application data storage • Same view of data no matter where you login
Client-Server Advantages • Centralized Data Storage • No data redundancy (no duplication of data) • Reduces data dependencies • If data is stored on each user’s system and each system is different than data depends on how the user system is designed • Data can not be shared easily if such dependencies exist
Classic Example: Early Banking Systems • Network: Local Area Network (LAN) covering local office branch. • Server: Mainframe-like server “in the back” running custom banking system • Client: Windows PC with client interface for each bank teller. • Data is the same no matter what teller you go to. • Data is NOT the same if you go to another branch unless servers exchanged some data at night.
Classic Example: Early Banking Systems The Obvious Future: • Change the LAN to a wide area network covering all the branches. • Get rid of the individual servers at each branch • Have clients connect to central server where ALL the banking data is stored.
Classic Example: Early Banking Systems The Obvious Problems: • Large banks could have thousands of tellers connecting to the central server. • Combining data from all branches requires severs with lots of storage capacity. • Branch data could be stored in different formats. • Lack of Standardization.
3-Tiered System • Database Tier (Database Server) • Data storage and low level data manipulation • Server Tier (Application Server) • Manage client connections and data processing • Client Tier (Client Software installed locally) • User interface and some data processing
Advantage of 3-Tier Systems • Central Database Server accessed by multiple Application Servers • In turn, each Application Server could independently manage thousands of users • Database Server is specially designed to do its job • Database Operations: Update, Insert, Remove, etc. • Lots of disk storage and memory needed • Application Servers can be added to support more users or DIFFERENT APPLICATIONS • Server Operations: Complex application-dependent computations • Lots of processor power needed
Internet is the infrastructure that makes the WWW work. Packet Switching TCP/IP Protocol Physical Infrastructure Fiber-optics lines, wires Satellites, Cable Modems Routers, Hubs, Network Cards, WiFi systems, etc. WWW is just one of many “virtual networks” built on the Internet. Websites: http, https, etc. Email: pop, imap, etc. Other systems: ftp, instant messaging, etc. Note: Even to this day companies have “private virtual networks” that use the Internet, but are proprietary, locked-down. Internet vs. WWW
WWW – Ultimate Client-Server System • Already Standardized • Built on the Widest Area Network you could imagine, i.e., The Internet • Standardized Clients that are free to use • IE, Firefox, Safari, etc. • Lots of Servers already in place • Apache, Windows Server (IIS), etc. • Database Servers • Umm, this was initially missing
First Web Applications • 1993 – Rob McCool proposed a framework called • CGI (Common Gateway Interface) • Data passed from a web browser to the server • GET - passed via URL variables • POST - passed via HTML forms • Web server daemon (httpd) could then make remote system calls • Example • Web server could run a C++ program and write the output to public HTML folder • Web server would send response back with location of the output.
First Web Applications • Using CGI, web server could run • C++ programs • Perl Programs • Fortran Programs • PHP Program • C++ has library functions that allow you to connect to a number of different databases: • Oracle • Sybase • DB2
First Web Applications Problem: • To develop web applications you need to know • Exactly how your server is configured • HTML forms • GET and POST conventions • C++ database libraries • SQL language • Getting all these things to work together is a pain in the ***.
First Major Improvement • 1995 – JJ Allaire developed “a hack” that allowed a web servers to communicate with other systems, namely a database system. • Key: • Instead of using “a middle-man” C++, Perl, Java, etc. • Developer could directly add code to the their web pages • Using a special Markup Language, this code could be embedded in any web page. • Worked seamlessly with HTML forms • Server process code directly
WWW – Ultimate Client-Server System • Already Standardized • Built on the Widest Area Network you could imagine, i.e., The Internet • Standardized Clients that are free to use • IE, Firefox, Safari, etc. • Lots of Servers already in place • Apache, Windows Server (IIS), etc. • Database Servers • ColdFusion, ASP, JSP, and PHP all have built-in support to connect to databases.