68 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Internet Applications
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								## Internet Applications
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Overview
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Internet Applications are applications that are enabled by connecting a local device to a remote application server or cloud services.
							 | 
						||
| 
								 | 
							
								Internet applications run on desktops and thin clients such as smart devices and other internet appliances.
							 | 
						||
| 
								 | 
							
								Desktops commonly use web browsers to facilitate a connection.
							 | 
						||
| 
								 | 
							
								Smart devices use either a web browser or a dedicated 'app' or Rich Internet Application.
							 | 
						||
| 
								 | 
							
								Web applications are a kind of internet application.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Full Stack
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Internet applications consist of a full stack of layers.
							 | 
						||
| 
								 | 
							
								The stack is sometimes divided into two parts or layers: The Front End and the Back End.
							 | 
						||
| 
								 | 
							
								However the stack is divided, an application consists of software unique to itself, and a bunch of dependent software.
							 | 
						||
| 
								 | 
							
								Dependent software consists of libraries and other software that provide services.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Full Stack as system of subsystems
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A useful way to view each component is as a part of a system of subsystems, where each subsystem is a system of subsystems.
							 | 
						||
| 
								 | 
							
								As an analogy, the human body is a system of subsystems.
							 | 
						||
| 
								 | 
							
								The body has an immune subsystem, a digestive subsystem, a nervous subsystem, a skeletal subsystem, a muscular subsystem and the like.
							 | 
						||
| 
								 | 
							
								The digestive system includes the liver subsystem aka "liver" for example.
							 | 
						||
| 
								 | 
							
								Each subsystem is a system in its own area of activity or function.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Front End of Stack
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The 'Front End' is the software unique to the application that performs work on a local device.
							 | 
						||
| 
								 | 
							
								A local device has all the functional components of a computer.  software applications installed in an operating system running on hardware (or virtual hardware running on hardware or other virtual hardware.)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Back end of Stack
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The 'Back End' is the software unique to the application that performs work on a remote server.
							 | 
						||
| 
								 | 
							
								A remote server has all the functional components of a computer: software applications installed in an operating system running on hardware (or virtual hardware running on hardware or other virtual hardware.)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Application Bias to Front or Back End
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Applications seeking to work consistently across devices or requiring security in data storage and access will tend to have most business logic in the back end.
							 | 
						||
| 
								 | 
							
								This is because software at the Front End is subject to many more modes of attack from malicious agents such as viruses, malware, and insider threats aka "inside hackers".
							 | 
						||
| 
								 | 
							
								Also, web browsers standardize rendering of web content sent to the Front End.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Applications seeking speed and efficient use of project resources move as much software as possible into the Front End.
							 | 
						||
| 
								 | 
							
								By moving resources to the Front End, a project can share its limited Back End resources with more end-users.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Application Server
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								An application server or software framework provides the core required dependencies for an internet application.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### More Information:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[FreeCodeCamp Full Stack Development Certification](https://guide.freecodecamp.org/meta/free-code-camp-full-stack-development-certification)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Rich Internet Application (Wikipedia.org)](https://en.wikipedia.org/wiki/Rich_Internet_application)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Software Framework (Wikipeida.org)](https://en.wikipedia.org/wiki/Software_framework)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Web Application Framework (Wikipedia.org)](https://en.wikipedia.org/wiki/Web_framework)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Application Server (Wikipedia.org)](https://en.wikipedia.org/wiki/Application_server)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |