module-1-introduction-to-distributed-net-centric-s_250203_025051
module-1-introduction-to-distributed-net-centric-s_250203_025051
Learning Outcomes
By the end of this lecture, students will:
1. Gain a clear understanding of distributed systems and net-centric computing,
including their definitions, roles, architectures, and applications.
2. Explain the key characteristics of distributed systems, such as transparency,
scalability, reliability, concurrency, and fault tolerance.
3. Articulate the motivations and benefits of distributed computing, including
resource sharing, flexibility, modularity, scalability, and performance
enhancements.
4. Identify and discuss examples of distributed systems and net-centric computing
applications in domains like cloud computing, peer-to-peer networks, and IoT.
5. Explore career opportunities and the skills required for roles in net-centric
computing, including security solutions and architectural design.
1
Motivations for Distributed Computing
1. Resource Sharing: Enables access to shared resources, such as files, databases,
and printers, across multiple systems.
2. Flexibility: Allows seamless integration of heterogeneous systems and adaptability
to changing requirements.
3. Modularity: Promotes breaking down large systems into smaller, manageable
components that can be developed and maintained independently.
4. Scalability: Facilitates the growth of applications and systems to accommodate
increasing user demands.
5. Performance: Distributed systems often provide faster processing by dividing
tasks across multiple machines, enabling parallel execution.
Peer-to-Peer
Cloud Internet of
(P2P)
Computing: Things (IoT):
Networks:
Provides on-demand
Systems where nodes A network of
access to computing
act as both clients and interconnected
resources, such as
servers, sharing devices that collect
servers and storage,
resources directly. and exchange data.
over the Internet.
2
A. Web Applications
• Definition: Application software running on a web server accessed via a browser
with an active network connection.
• Components: Web server, application server, and database.
• Typical Workflow:
1. User sends a request through a browser.
2. Web server forwards the request to the application server.
3. Application server processes the request and interacts with the database.
4. Results are sent back to the web server.
5. Browser displays the response.
Development
• Front-End: Client-side development using HTML, CSS, and JavaScript.
• Back-End: Server-side programming with Python, Java, or Ruby.
Design
• User Interface (UI): Focuses on the look and feel.
• User Experience (UX): Enhances ease of use and satisfaction.
Security
Common threats include:
• SQL Injection (SQLi)
• Cross-Site Scripting (XSS)
• Denial of Service (DoS/DDoS)
Mitigation strategies: Encryption, authentication, and vulnerability patches
B. Cloud Computing
Introduction
Cloud computing provides services like storage, processing, and applications over the
Internet without user management of underlying infrastructure.
Types of Clouds
1. Public Cloud: Shared services like Microsoft Azure.
2. Private Cloud: Exclusive use within an organization.
3. Hybrid Cloud: Combines public and private features.
Service Models
1. Infrastructure as a Service (IaaS): On-demand access to hardware resources.
2. Software as a Service (SaaS): Access to software over the Internet.
3
3. Platform as a Service (PaaS): Tools for software development.
C. Semantic Web
Introduction
The Semantic Web enhances the existing Web by making data machine-understandable.
Role of Ontology
Ontologies structure data to make it interoperable and reusable across systems.
Supporting Languages
1. RDF: Resource Description Framework for data linking.
2. SPARQL: Query language for RDF data.
3. OWL: Web Ontology Language for logic-based descriptions.
4
Discussion Questions
1. What is Net-Centric Computing, and how does it differ from traditional
client/server computing?
2. Describe the roles of web servers, application servers, and databases in a web
application.
3. Compare and contrast the architectural models of distributed systems.
4. Discuss the advantages and disadvantages of public, private, and hybrid clouds.
5. What is the significance of ontologies in the Semantic Web?
6. How do distributed systems differ from traditional centralized systems?
7. What is the role of transparency in the usability of distributed systems?
8. Discuss the impact of fault tolerance on the reliability of distributed systems.
9. Provide examples of how scalability is achieved in distributed systems.
10. Identify real-world scenarios where distributed computing provides a clear
advantage over centralized computing.
Assessment Questions
Multiple Choice Questions
1. Which of the following is NOT a component of a web application?
a) Web server
b) Application server
c) Compiler
d) Database
Answer: c) Compiler
2. What is the main purpose of the Semantic Web?
a) Improve hardware communication.
b) Make network data machine-readable.
c) Transform web content into a machine-understandable format.
d) Reduce server load.
Answer: c) Transform web content into a machine-understandable format.
5
o DDoS: Implement load balancers and rate-limiting.
Essay Question
1. Discuss the role of Net-Centric Computing in modern distributed systems and its
impact on industries such as healthcare and finance.
Key Takeaways
• Security and efficient design are critical for ensuring the reliability of Net-Centric
systems.
• Characteristics like transparency, scalability, and fault tolerance are essential for
the efficient functioning of distributed systems.
• Examples like cloud computing, peer-to-peer networks, and IoT showcase the
practical applications of distributed systems in modern technology.
Further Reading
• Books:
o "Distributed Systems: Principles and Paradigms" by Andrew S.
Tanenbaum.
o "Cloud Computing: Concepts, Technology & Architecture" by Thomas Erl.
• Web Resources:
o www.w3.org for Semantic Web technologies.
o www.coursera.org for courses on Cloud Computing and Distributed
Systems.