0% found this document useful (0 votes)
17 views1 page

Distributed System Design for ERCA

The document discusses designing a distributed information system for the Ethiopian Revenue and Customs Authority (ERCA) that will be accessed by federal, regional, and zonal offices. It asks the software engineer to consider which distributed system concepts to use from start to finish in implementing the system. It also asks questions about different distributed communication mechanisms like RPC and RMI, and writing JSP and servlet code to implement an inventory request system for the WCU Employees. Finally, it asks about Google's enterprise application integration and use of proxy servers and distributed communication mechanisms.

Uploaded by

Hiziki Tare
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views1 page

Distributed System Design for ERCA

The document discusses designing a distributed information system for the Ethiopian Revenue and Customs Authority (ERCA) that will be accessed by federal, regional, and zonal offices. It asks the software engineer to consider which distributed system concepts to use from start to finish in implementing the system. It also asks questions about different distributed communication mechanisms like RPC and RMI, and writing JSP and servlet code to implement an inventory request system for the WCU Employees. Finally, it asks about Google's enterprise application integration and use of proxy servers and distributed communication mechanisms.

Uploaded by

Hiziki Tare
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Department of Software Engineering

Distributed System Worksheet


1. Ethiopian Revenue and Custom Authority is federal institution collecting tax from different
tax payers. The institution have regional branch office and zonal branch office and need an
information system which will be accessed by all offices federals, regional and zonal. The
institution going to have distributed information system. You’re the software engineer
assigned to design and implement distributed information system for ERCA. Which
concept you will concern from first to last.
2. Show the difference of distributed communication mechanism
a. Remote Procedure Call
b. Remote Machine Invoke
c. Message Oriented Communication
d. Stream Oriented Communication
3. Write JSP code which describes all JSP tags for implementing WCU Employees Inventory
request System
4. Write Servlet code tags for implementing WCU Employees Inventory request System
5. Write JSP and Servlet code tags for implementing WCU Employees Inventory request
System
6. Google Enterprise Application Integration and proxy server’s (YouTube, Gmail, GDrive,
GMap and GSearch service) implementation with distributed system communication
mechanism (i.e. RPC, RMI, TCP Socket and UDP Socket).

1|Page Prepared by Mesay A. February 10, 2019

Common questions

Powered by AI

Developing a JSP codebase involves structuring pages using JSP syntax for dynamic content rendering. Incorporate session management to maintain state across distributed sessions. Use custom tags for reusability and clarity. Link JSP pages with Servlets to handle business logic and data operations. Ensure application security with input validation and data encryption .

The primary considerations include ensuring robust communication and data consistency across federal, regional, and zonal offices. The system must handle distributed data storage and ensure real-time data availability and accuracy. Security, scalability, and fault tolerance are crucial for handling large amounts of data and users from various branches. A distributed architecture needs to seamlessly integrate with existing infrastructure and comply with governmental regulations .

Proxy servers act as intermediaries between clients and target services, like GSearch and GDrive, balancing the load by distributing incoming requests among multiple servers. They enhance security by masking client IP addresses, caching content to reduce latency, and enabling centralized access control and logging, crucial for managing large-scale distributed services .

Stream-oriented communication provides continuous data flow, crucial for real-time applications such as audio and video transmissions, offering low latency and high throughput. It requires a stable, synchronized connection, unlike message-oriented communication, which allows discrete, asynchronous message exchanges that introduce higher latency but more flexibility in network conditions .

Ensure scalability through microservices architecture, allowing independent scaling of components. Implement load balancers to efficiently distribute requests. Utilize caching mechanisms at regional nodes to reduce latency and server load. Opt for cloud infrastructure for elastic scalability, dynamically adjusting resources as needed. Monitor system performance with distributed tracing and optimize query processing using indexing and query optimization techniques .

JSP tags are used to create dynamic web pages and manage the presentation layer by embedding Java code in HTML. They interact with Servlet tags, which handle request and response lifecycle management, business logic, and database interactions. Together, they facilitate dynamic user interaction and resource management across a distributed system .

RMI provides object-oriented communication that allows methods to be invoked on remote objects, easing the complexity of sharing distributed objects with built-in serialization. However, it is tied to Java, limiting language interoperability. TCP Sockets offer low-level, language-agnostic communication that is highly efficient for streaming data but demands more manual management of data flow and error handling .

UDP Sockets are optimal for applications needing fast, low-latency communication, such as online gaming or live video streaming. They allow rapid data transmission without handshake, reducing overhead. However, they lack built-in reliability, requiring additional application-level protocols to handle packet loss and data sequencing, affecting their suitability for mission-critical applications that require guaranteed delivery .

RPC enables a program to execute procedures on a remote server as if they were local, providing a higher level of abstraction but requiring tighter coupling between systems. In contrast, Message Oriented Communication decouples senders and receivers, allowing asynchronous communication where messages can be stored and forwarded, increasing flexibility and scalability .

First, determine the required functions and data to be exposed by Google services like YouTube, Gmail, etc. Develop a middleware or interface using RPC methods to facilitate communication. Implement APIs to encapsulate RPC calls, allowing seamless access and response handling. Ensure secure data transmission through encryption and implement error handling to address possible interoperability issues .

You might also like