Networking is important. It’s a need to be connected worldwide!
Starting up with our fourth week,today we will be focusing on
Distributed systems which has become a rising topic in the present day.
We all know from the very beginning the computer world used desktop
applications which are also known as standalone applications.
These were very simple to use but when the world starting developing rapidly
the need for distributed computing started rising up.More communication
with other networks needed.Also occurrence of deadlocks(a deadlock
is where computer processes gets locked and neither one can work
until one releases the other..) in desktop applications became a
headache to developers.These facts made that the world needed a
new way of communication.
So lets start with distributed system and distributed computing.
These two terms have a very close connection with them.Often
these two terms has caused havoc and debated in computing
community too.
A Distributed system consists of computers linked together through a
network which allows resources to be shared.Distributed computing
allows communication between the components of this distributed system.
We will now look at distributed systems Vs standalone applications
Distributed systems have proved to be very efficient since,
*they have increased computing speed
*works with low cost being reliable
*run on multiple systems simultaneously
*Doesn't affect the whole system if one component crashes.
The following are the elements of a distributed computer system..
1.Processing components
2.Data networks for computers to communicate.
3.Data stores
4.Configuration of above elements.
Distributed systems uses protocols(rules applicable in computing
world for networking mostly)
For mail services which operate with the protocols like SMTP,
POP3,IMAP
Games and multimedia techniques uses protocols like RTP,SIP.
After the evolution of websites,web apps,web services we have now
a new type of web based application which are called RIAs which are
known as Rich Web Applications.
So what are exactly RIAs?
RIAs are also a type of web based system which uses distributed
computing.
Though RIAs use distributed computing they have desktop application
characteristics too.They offer us better visual experience with
fast performance.
These offer the user direct interaction with page elements through
editing,dragging and dropping tools.
Over traditional HTML pages RIAs have the best use as they do not
take much time to load like HTML pages once they are refreshed
or reloaded.
AJAX,Adobe Flash Player,Microsoft Silverlight are popular tools
which use RIA technology.
We can also find types of distributed systems which are mostly commonly
used terms in the information technology field.
1.Tier architectures
2.Monolithic and micro services
3.MVC architectures (model control view architecture)
Of theses I think that most of my beloved readers have heard about tier architectures.
If not lets have a brief look at them!
Starting the with the basic architecture which is client
server architecture also famously known as Two tier architecture
we will go up-to MVC architectures.
This table will provide you with basic features of the tier architectures.
Next comes the architectures, monolithic and micro services.
This is a comparison between monolithic and micro services architecture
The MVC architecture basically has three components known,
1.Model - represents data and business layer.
2.Control - handles requests made by users.
3.View - displays data.
MVC has become a widely used software in web application development
as it has advantages like ability to work in simultaneous development
environments and code re-usage and so on.Originally this was introduced
to desktop applications and then were converted to use in web
development too.
This is also used to develop user interfaces.
Languages such as Java,C#,Python uses this architecture.
And of course this architecture has drawbacks too.
*Increased complexity
*Need of multiple programmers for the relevant layers
*Requirement of knowledge of multiple technologies as MVC has many
sides to coped with.
Further more MVC architecture can be categorized as
Classic MVC,Client side MVC,Client and server MVC and MVC web version.
Classic MVC has the following model and it is important to note that
in this model only one way communication is present between control
and view.
Only client is present.Spring uses this technique.
Both client and server uses this architecture.Also known as dual MVC
architecture.But this lacks proper configuration.
To end about talking distributed systems we will look into communication
technologies used by these.
Majorly three ways are implemented to communicate in distributed
systems.
1.Functional oriented communication
*RPC/RMI
2.Message oriented communication
*CORBA
3.Resource oriented communication
*REST
The third type of communication will be discussed separately in the near
future.
Basically RPC and RMI has following features..
Overall RMI is better than RPC as it gives a cleaner code.Therefore
errors can be identified easily.
On the other hand CORBA facilitates communication within systems that
are deployed in different platforms.This also supports many languages.
To end the biggest topic we will take a look at XML and JSON
which are used in data storage.
These both are similar in many aspects but have some dissimilarities
too.
To learn more about XML and JSON you can visit these links..
https://www.w3schools.com/js/js_json_intro.asp
https://www.w3schools.com/xml/
Now leaning onto the final topic,we'll take a visit to details
of a Java based open source application server called Tomcat.
Tomcat started as a servlet and now functions a fully functioned server.
Tomcat can be downloaded by the Tomcat official website according
to your user requirements.
This is the link to official site
https://tomcat.apache.org/download-80.cgi
To run Tomcat Java kit must be working well.To find whether this is
okay we can use the windows command prompt and run the simple command
%ECHO JAVA HOME%
If Java has being configured correctly it will give details about Java
tools or otherwise it will say that the PATHS haven't been configured
correctly.Then you can configure them using the standard way(You can
have a look at my first blog article to proceed)
After downloading the executable file by Tomcat site you can run it.
It will give simple options to be filled prior to it's execution.
Tomcat has three ports,namely
1.Server shutdown port
2.HTTP port
3.AJP port
These three ports are connectors and they play a very crucial role
once it comes to web application development using Tomcat server in
deploying them in the server.These ports will be listening to
requests.
HTTP port will be listening to TCP protocol while AJP port will
listen to AJP(Apache JServ Protocol)
Usually by default 8080 is used for server shutdown port.
Sometimes these ports can stop working as they are used by other
programs.Then we can go to Services in our personal computer and
stop the service accordingly.