Friday, March 8, 2019

Tute_04

Distributed systems


distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another.
➤The components are distributed and executed in multiple devices




   distributed systems and distributed computing 

➧Distributed system: a collection of independent computers that are connected with an interconnection network.
➧Distributed computing: a method of computer processing in which different parts of a computer program are run on two or more computers that are communicating with each other over a network.


Compare and contrast the standalone systems with distributed systems



standalone system Advantages

➽One advantage of a standalone computer is damage control. For example, if something goes wrong, only the standalone will be affected.

➽it takes a lot less expertise to manage one computer than it does to setup or troubleshoot several.

➽Standalone computers can also be more convenient. 
Distributed system Advantages

 o Economics
 o Speed
 o Inherent distribution
 o Reliability
 o Incremental growth


 elements of distributed systems 





•Processing components 
•Data networks for components
•Data stores (data bases) and Data
•The configuration of the above elements


Identify different types of services


➯Mail service (SMTP, POP3, IMAP) 
➯File transferring and sharing (FTP) 
➯Remote logging (telnet) 
➯Games and multimedia (RTP, SIP,H.26x) 
➯Web (HTTP)


specifying the protocols

➯Layered Protocols

➯Lower-Level Protocols

➯Transport Protocols

➯Higher-Level Protocols

➯Middleware Protocols



Identify examples for both browser-based and non-browser-based clients of distributed systems 



browser-based

Many companies assume that developing business applications"inside the browser" is their only option.

while browsers provide an excellent,fast way to deploy simple application,for more complex business application needs,a browser based approach is very expensive and often fall short of usability needs.

non-browser-based

Anything that's not a browser that goes online.
Currently, the most popular non-browser web clients are robots that index the web for search engines and link checkers that find broken links,but there is an infinite number of possible client programs and devices.



Discuss the characteristics of different types of Web-based systems, including the RiWAs 


Web sites 
➜Web applications 
➜Web services and client apps 
➜Rich Internet Applications (RIAs)/Rich     Web based       Applications (RiWAs)


Explain different architectures for distributed systems, explaining special features of each 

client-server (or two-tier) architecture



➤The basic architecture of the distributed systems
➤client (user) sends a request asking the server for some               service and the server responses with the resources

3-tier architecture 



➤is used, when there is a need for data persistence and                  also to separate the application logic from the data
➤This can be seen as an extension of 2-tier architecture


n-tier architecture


When there is a need for further separation and distribution of the components, more tiers can be added and extend the 2-tier or 3-tier architecture into an n-tier architecture


Service Oriented Architecture (SOA)



➤When different types of distributed systems want to communicate and share their services forming enterprise level systems, the Service Oriented Architecture (SOA)is used.


Compare and contrast the micro-service architecture from monolithic architecture 



Microservices Architecture. The idea is to split your application into a set of smaller, interconnected services instead of building a single monolithic application.

Each microservice is a small application that has its own hexagonal architecture consisting of business logic along with various adapters.


Benefits of Monolithic Architecture
  • ➧Simple to develop.
  • ➧Simple to test. For example you can implement end-to-end testing by simply launching the application and testing the UI with Selenium.
  • ➧Simple to deploy. You just have to copy the packaged application to a server.
  • ➧Simple to scale horizontally by running multiple copies behind a load balancer.

Benefits of Microservices Architecture
  • ➧It enables each service to be developed independently by a team that is focused on that service.
  • ➧Microservice architecture enables each microservice to be deployed independently. As a result, it makes continuous deployment possible for complex applications.
  • ➧Microservice architecture enables each service to be scaled independently.


Explain the MVC style, indicating the limitations of it in the context of web-based systems 

MVC Pattern stands for Model-View-Controller Pattern. This pattern is used to separate application's concerns.
  • Model - Model represents an object or JAVA POJO carrying data. It can also have logic to update controller if its data changes.
  • View - View represents the visualization of the data that model contains.
  • Controller - Controller acts on both model and view. It controls the data flow into model object and updates the view whenever data changes. It keeps view and model separate.


Identify different approaches of use of MVC for web-based systems and discuss their strengths and weaknesses 

strengths of MVC
1) Faster development process
2) Ability to provide multiple views
3) Support for asynchronous technique
4) Modification does not affect the entire model
5) MVC model returns the data without formatting
6) SEO friendly Development platform

weaknesses  of MVC
1) Increased complexity
2) Inefficiency of data access in view
3) Difficulty of using MVC with modern user interface.
4) Need multiple programmers
5) Knowledge on multiple technologies is required.
6) Developer have knowledge of client side code and html code.

Discuss the need for very specific type of communication technologies/techniques for the distributed/web-based systems 
Information and communication technologies for development (ICT4D) refers to the application of information and communication technologies (ICT) toward social, economic, and political development, with a particular emphasis on helping poor and marginalized people and communities. It aims to help in international development by bridging the digital divide and providing equitable access to technologies. ICT4D is grounded in the notions of "development", "growth", "progress" and "globalization" and is often interpreted as the use of technology to deliver a greater good. Another similar term used in the literature is "digital development". ICT4D draws on theories and frameworks from many disciplines, including sociology, economics, development studies, library, information science, and communication studies. 
Compare and contrast RPC with RMI


The common difference between RPC and RMI is that RPC only supports procedural programming whereas RMI supports object-oriented programming. Another major difference between the two is that the parameters passed to remote procedures call consist of ordinary data structures. 





Explain the need for CORBA, indicating it’s use in web-based systems 


Functional oriented communication 

Common Object Request Broker Architecture (CORBA)




➤is a specification developed by the Object Management Group (OMG). CORBA describes a messaging mechanism by which objects distributed over a network can communicate with each other irrespective of the platform and language used to develop those objects.


Discuss the XML specification, highlighting the important sections such as element naming conventions 

The main and the only component of XML is called an element. 

•An element has 3 components
      1.Start tag
      2.Body
      3.End tag
•There are special type of element with a single self closing tag
An element has a name 

•Element names are case-sensitive 
•Element names must start with a letter or underscore •Element names cannot start with the letters xml (or XML, or Xml, etc) 
•Element names can contain letters, digits, hyphens, underscores, and periods 
•Element names cannot contain spaces
•Any name can be used, no words are reserved 




Compare and contrast XML and JSON, indicating the pros and cons of both 



XML is a meta-language/markup language and JSON is a lightweight data-interchange. That is, XML syntax is designed specifically to have no inherent semantics. 
JSON parser, therefore, knows exactly what every JSON document means.





Identify other data formatting/structuring techniques available for the communication of web-based systems 

In a web-based learning environment communication can be either:  

Synchronous-communication takes place at the same time.This requires that all participants are present at the same time.This type of communication is used fairly rarely for specific purposes such as getting acquainted.

Asynchronous- communication takes place at different times or over a certain period of time.This allows more time to work on messages and to react to other student's message.


communication can vary also depending on the amount of people it involves. Communication on the web can be divided into types,involves a different amount of participants at a time 



No comments:

Post a Comment