Sunday, December 11, 2011

Basic Web Technology Stack

The following 6 posts will be describing these 6 key concepts of Internet Technology.


Web Services

Web service is a method of communication between two electronic devices over the web. Services are a workflow technique of information transfer of the internet.


I discussed web services in a previous blog post so this time I would just like to share a couple links to explain how there services fit in with Internet Technologies.







Two major classes of Web services are identified, REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources and "Big" Services that uses XML and follow SOAP standards that are popular in Enterprise.

Today, there is another type of webservice that we are seeing more and more of.  That is Web 2.0.  Web API or Web 2.0 includes the read/write web, blogs, wikis, podcast and cloud computing.  The use of web base "office" products (word processing, spreadsheets, etc) and the use of Web Servers like Amazon Web Services.

If you wanted to start a small company, you could potentially do the following:  Buy computers with good internet access and use all web based products.  You could store all of your data on a Web Server like Amazon Web Services without buying your own servers.  You could get all of your company email to go through a web based mail client like GMail.  You would not have to buy MS Office because you could use Google Docs or Zoho for all of your productivity needs.  And you could build your own company website on web based, template based product like Google Sites or Weebly.


Data

Databases are software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). There several different companies who make database software with Microsoft's SQL server and Oracle being the most widely used.  These database products are aimed at different audiences and for different workloads (ranging from small applications that store and retrieve data on the same computer, to millions of users and computers that access huge amounts of data from the Internet at the same time).





Data includes email, web pages, audio files, video files, basically every single bit of information you see on a webpage is data that has to be stored somewhere.



Applications

Web applications use web documents written in a standard format such as HTML and JavaScript, which are supported by a variety of web browsers.


In 1995 Netscape introduced a client-side scripting language called JavaScript allowing programmers to add some dynamic elements to the user interface that ran on the client side.


In 1996, Macromedia introduced Flash, a vector animation player that could be added to browsers as a plug-in to embed animations on the web pages.


In 1999, the "web application" concept was introduced in the Java language.


In 2005, the term Ajax was coined, and applications like Gmail started to make their client sides more and more interactive. A web page script is able to contact the server for storing/retrieving data without downloading an entire web page.


In 2011 HTML 5 was created, which provides graphic and multimedia capabilities without the need of client side plugins.


Through Java, JavaScript, DHTML, Flash, Silverlight and other technologies, application-specific methods such as drawing on the screen, playing audio, and access to the keyboard and mouse are all possible.


As you can see, web applications have moved from a static screen to animation and movement to audio, video and the ability for the user to interact.


The future of web applications is explemfied by online word processing, and "office suites", essentially, "cloud computing". Google Apps, Microsoft Office Live, and WebEx WebOffice are examples of the newest generation of web applications.


http://webtrends.about.com/od/webapplications/a/web_application.htm




http://www.acunetix.com/websitesecurity/web-applications.htm



Web Servers



A web server is a computer that has been set up but a hosting company usually housed in data center.  The purpose of a webserver is to store websites until someone wants to visit them and then to quickly respond to the visitors browser with the sites content.

A server must be able to respond to multiple (sometime hundreds, thousands and even millions of requests).

Most servers use http (to handle websites), FTP (to handle file transfers), and email server and a database server to handle data storage and transfer.







This is also a great resource in understanding how web servers work:  http://www.howstuffworks.com/web-server.htm

Internet Infrastructure




This video is a good illustration of how the Internet works and how information is transferred from one computer to another.


Basically the path of pulling up a webpage is:  Your computer > router > ISP > router > Internet > router > website > router > ISP > router > your computer


A router exists along every intersection and every packet of information is moved via an IP address.  An IP address is how the Internet gives locations of computers and routers.  IP addresses are 4 sets of numbers in a combination between 0.0.0.0 and 255.255.255.255.  


The internet is a  global system of interconnected computer networks.  All the computers connected to the internet are actually connected to each other through the Internet Service Providers (ISPs) which in turn are connected to the bigger routers or the backbone of the internet. The backbone is a large server where the data is exchanged. These backbones are connected to each other through fiber optical cables. The ISPs are connected to these backbones through fiber optic cables in order to minimize the transmission loss. Then the users are connected to ISPs through cables or wireless routers




Client Applications

Examples of Client Applications:
Web browers - clients that allow us to view the internet
MS outlook - mail client that allows you to get your email from an email server
MS messenger, Google talk, Yahoo Chat - online chat clients
Game clients - allow multiplayer games

Web browers are probably the most widely used client applications. A web brower requests services from a web servers and display those web pages for the viewer.  There are currently a variety of browsers being used.


The following video is a very simplistic but great explaination of how the internet works:  http://www.commoncraft.com/video/world-wide-web

Friday, December 9, 2011

Future of the Internet


The Future Internet:
An evolving convergent Internet of things and services that is available anywhere, anytime as part
of an all-pervasive omnipresent socio–economic fabric, made up of
data
advanced services to business and citizens.

This definition comes from "The Future Internet" Report from May 2011 complied by UK, Future of Internet Group.

This article outlines how the Internet is constantly evolving and most issues and concerns related to the Internet fall under 3 main categories:  converged services, shared data and infrastructure.

Converged Services

Companies will want the ability to not only have a web page but for people to directly interact with it.  This is already happening but trends are moving all websites to this direction.  First we had webpages that showed what a store had, then you had the ability to purchase and find store locations.  Going further, stores do and will have blogs for customers to share, places for customers to interact with customer service representatives and move to other websites that offers complimentary goods or services.

Shared Data

Customer data, patient data, shopping data, school related data - all online, all potentially available for customization, ease of data retrieval and ease of personalization.  Technology companies are now moving toward offering cloud computing solutions to help move along all of this data, easier, faster and more efficiently.

These statistics are quite amazing to think about:
In 2006, the amount of digital information created, captured and
replicated was 1,288 × 1018 bits (161 exabytes or 161 billion
gigabytes). This is equivalent to about 3 million times the information in
all the books ever written.
• Between 2006 and 2010, the information added annually to the digital
universe was estimated to increase more than six-fold, from
161 exabytes to 988 exabytes (see Figure 8).
Images and video are
fuelling this growth
• Three major analogue-to-digital conversions are powering this growth:
film-to-digital image capture, analogue-to-digital voice, and analogueto-
digital TV.
• Images, captured by more than 1 billion devices in the world, from
digital cameras and camera phones to medical scanners and security
cameras, comprise the largest component of the digital universe. They
are replicated over the Internet, on private organisational networks, by
PCs and servers, in data centres, in digital TV broadcasts and on
digital projection screens.


Solutions to moving this amount of data has to be ever evolving.

Infrastructure

Connectivity, connectivity, connectivity!  Everyone wants to be connected 24/7 from multiple devices.  But how can a network handle this? At one time, no one thought we could ever run out of IP addresses with IP4 and sure enough we have.  Implementing IPv6 and increasing access to wireless are going to be key.  The number of handhelds has increased by 6 fold over the past 10 years.  That number is believed to increase to  50 million connected devices by 2020.  Will be have the capacity or will it all shut down?

The future....The important concept in this article I think is that of evolution.  The Internet is constantly evolving.  Companies, governments and people are going to have to learn new ways to use the Internet, support the Internet and make it work for the benefit of all.