Engr . M.Fahad Khan Lecturer Software Engineering...
Transcript of Engr . M.Fahad Khan Lecturer Software Engineering...
![Page 1: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/1.jpg)
Engr. M. Fahad Khan
Lecturer Software Engineering Department
University Of Engineering & Technology Taxila
![Page 2: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/2.jpg)
Distributed Systems Architectures
![Page 3: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/3.jpg)
Distributed Systems Architectures
Ref:
Chapter 12
Software Engineering
By Ian Sommerville, 7th Edition
![Page 4: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/4.jpg)
Distributed systems• Virtually all large computer-based systems are now distributed
systems.
• Information processing is distributed over several computers rather
than confined to a single machine.
• Distributed software engineering is therefore very important for
enterprise computing systems.
![Page 5: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/5.jpg)
Distributed Systems
• An integration of system services, presenting a transparent view of a multiple
computer system with distributed resources and control
• A collection of independent computers that appear to the users of the system as a
single computer
• Examples
– Personal workstations + a pool of processors + single file system
– Robots on the assembly line + Robots in the parts department
– A large bank with hundreds of branch offices all over the world
![Page 6: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/6.jpg)
System Types
• Personal systems that are not distributed and that are designed to run
on a personal computer or workstation.
• Embedded systems that run on a single processor or on an integrated
group of processors.
• Distributed systems where the system software runs on a loosely
integrated group of cooperating processors linked by a network.
![Page 7: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/7.jpg)
Distributed Systems Types
![Page 8: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/8.jpg)
Advantages of Distributed Systems Over Isolated
Computers
• Resource sharing
– Sharing of hardware and software resources.
• Openness
– Use of equipment and software from different vendors.
• Concurrency
– Concurrent processing to enhance performance.
• Scalability
– Increased throughput by adding new resources.
• Fault tolerance
– The ability to continue in operation after a fault has occurred.
![Page 9: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/9.jpg)
Advantages of Distributed Systems Over Isolated
Computers• Device sharing
• – Allow many users to share expensive peripherals like color printers
• Communication
• – Make human-to-human communication easier
• for example, by E-mail
• Flexibility
• – Spread the workload over the available machines in the most cost
effective way
![Page 10: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/10.jpg)
Distributed System Disadvantages• Complexity
– Typically, distributed systems are more complex than centralised
systems.
• Security
– More susceptible to external attack.
• Manageability
– More effort required for system management.
• Unpredictability
– Unpredictable responses depending on the system organisation and
network load.
![Page 11: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/11.jpg)
Goal(I)
Provide a high-performance and robust computing environment with least
awareness of the management and control of distributed system resources
• Efficiency - difficult due to communication delays
– Propagation delay
– Protocol overhead
• Effective communication primitives, good protocols
– Load distribution – bottleneck or congestions in Network/SW
• Balance and overlap computation and communication
• Distributed processing and load sharing
![Page 12: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/12.jpg)
Goal(II)
• Flexibility
– User view: friendly system and freedom in using the system
• Friendliness: user interface, consistency, reliability
• Freedom:
– No unreasonable restrictions in using systems
– Easy to build additional tools or services
– System view
• Ability to evolve and migrate
• Modularity, scalability, portability and interoperability
![Page 13: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/13.jpg)
Distributed Systems Architectures
• Client-server architectures
– Distributed services which are called on by clients. Servers that provide
services are treated differently from clients that use services.
• Distributed object architectures
– No distinction between clients and servers. Any object on the system may
provide and use services from other objects.
![Page 14: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/14.jpg)
MiddlewareSoftware that manages and supports the different components of a distributed
system. In essence, it sits in the middle of the system.
Middleware is usually off-the-shelf rather than specially written software.
• Examples
– Transaction processing monitors
– Data converters
– Communication controllers
![Page 15: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/15.jpg)
Middleware Cont..• Middleware is computer software that connects software components or applications.
The software consists of a set of services that allows multiple processes running on one
or more machines to interact. This technology evolved to provide for interoperability in
support of the move to coherent distributed architectures, which are used most often to
support and simplify complex, distributed applications. It includes web servers,
application servers, and similar tools that support application development and delivery.
Middleware is especially integral to modern information technology based on XML,
SOAP, Web services, and service-oriented architecture.
• Middleware sits "in the middle" between application software that may be working on
different operating systems. It is similar to the middle layer of a three-tier single system
architecture, except that it is stretched across multiple systems or applications. Examples
include EAI software, telecommunications software, transaction monitors, and
messaging-and-queueing software.
![Page 16: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/16.jpg)
Middleware
![Page 17: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/17.jpg)
Middleware
![Page 18: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/18.jpg)
Multiprocessor Architectures
• Simplest distributed system model.
• System composed of multiple processes which may execute on different processors.
• Architectural model of many large real-time systems.
• Distribution of process to processor may be pre-ordered or may be under the control of a dispatcher.
![Page 19: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/19.jpg)
Multiprocessor architecturesMultiprocessing is the use of two or more central processing units (CPUs) within a single
computer system. The term also refers to the ability of a system to support more than one
processor and/or the ability to allocate tasks between them.There are many variations on
this basic theme, and the definition of multiprocessing can vary with context, mostly as a
function of how CPUs are defined (multiple cores on one die, multiple chips in one
package, multiple packages in one system unit, etc.).
Multiprocessing sometimes refers to the execution of multiple concurrent software processes
in a system as opposed to a single process at any one instant. However, the terms
multitasking or multiprogramming are more appropriate to describe this concept, which is
implemented mostly in software, whereas multiprocessing is more appropriate to describe
the use of multiple hardware CPUs. A system can be both multiprocessing and
multiprogramming, only one of the two, or neither of the two.
![Page 20: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/20.jpg)
Multiprocessor Architectures Based On Checkers
![Page 21: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/21.jpg)
Multiprocessor in Network
![Page 22: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/22.jpg)
Client-server architectures
• The application is modelled as a set of services that are provided
by servers and a set of clients that use these services.
• Clients know of servers but servers need not know of clients.
• Clients and servers are logical processes
• The mapping of processors to processes is not necessarily 1 : 1.
![Page 23: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/23.jpg)
Client-Server ArchitecturesClient-server computing or networking is a distributed application
architecture that partitions tasks or work loads between service
providers (servers) and service requesters, called clients. Often
clients and servers operate over a computer network on separate
hardware. A server machine is a high-performance host that is
running one or more server programs which share its resources
with clients. A client does not share any of its resources, but
requests a server's content or service function. Clients therefore
initiate communication sessions with servers which await (listen
to) incoming requests.
![Page 24: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/24.jpg)
A Client-Server System
![Page 25: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/25.jpg)
Layered Application Architecture
• Presentation layer
– Concerned with presenting the results of a computation to system users
and with collecting user in puts.
• Application processing layer
– Concerned with providing application specific functionality e.g., in a
banking system, banking functions such as open account, close account,
etc.
• Data management layer
– Concerned with managing the system databases.
![Page 26: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/26.jpg)
Layered Application Architecture
![Page 27: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/27.jpg)
Layered Application Architecture
![Page 28: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/28.jpg)
Thin and Fat Clients• Thin-client model
– In a thin-client model, all of the application processing and datamanagement is carried out on the server. The client is simplyresponsible for running the presentation software.
• Fat-client model
– In this model, the server is only responsible for data management. Thesoftware on the client implements the application logic and theinteractions with the system user.
![Page 29: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/29.jpg)
Thin and Fat Clients
![Page 30: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/30.jpg)
Thin and Fat Clients
![Page 31: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/31.jpg)
Thin Client Model• Used when legacy systems are migrated to client server
architectures.
– The legacy system acts as a server in its own right with a
graphical interface implemented on a client.
• A major disadvantage is that it places a heavy processing load on
both the server and the network.
![Page 32: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/32.jpg)
Thin Client Model
A thin client (sometimes also called a lean or slim client) is a client
computer or client software in client-server architecture networks
which depends primarily on the central server for processing
activities, and mainly focuses on conveying input and output
between the user and the remote server. In contrast, a thick or fat
client does as much processing as possible and passes only data for
communications and storage to the server.
![Page 33: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/33.jpg)
Fat Client Model
• More processing is delegated to the client as the application
processing is locally executed.
• Most suitable for new C/S systems where the capabilities of the
client system are known in advance.
• More complex than a thin client model especially for
management. New versions of the application have to be installed
on all clients.
![Page 34: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/34.jpg)
Fat Client Model
• A fat client or rich client is a computer (client) in client-server
architecture networks which typically provides rich functionality
independently of the central server. Originally known as just a 'client' or
'thick client', the name is contrasted to thin client, which describes a
computer heavily dependent on a server's applications.
• A fat client still requires at least periodic connection to a network or
central server, but is often characterized by the ability to perform many
functions without that connection. In contrast, a thin client generally does
as little processing as possible and relies on accessing the server each
time input data needs to be processed or validated.
![Page 35: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/35.jpg)
A Client-Server ATM System
Account server
Customeraccoun tdatabase
Tele-processing
monitor
AT M
AT M
AT M
AT M
![Page 36: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/36.jpg)
Three-Tier Architectures
• In a three-tier architecture, each of the application
architecture layers may execute on a separate processor.
• Allows for better performance than a thin-client approach
and is simpler to manage than a fat-client approach.
• A more scalable architecture - as demands increase, extra
servers can be added.
![Page 37: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/37.jpg)
A 3-Tier C/S Architecture
![Page 38: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/38.jpg)
An Internet Banking System
Database server
Customeraccoun tdatabase
Web serverClient
Client
Account serviceprov ision
SQL
SQL query
HTT P interaction
Client
Client
![Page 39: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/39.jpg)
Distributed Object Architectures
• There is no distinction in a distributed object architectures between clients and servers.
• Each distributable entity is an object that provides services to other objects and receives services from other objects.
• Object communication is through a middleware system called an object request broker.
• However, distributed object architectures are more complex to design than C/S systems.
![Page 40: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/40.jpg)
Distributed Object Architecture
Object request broker
o1 o2 o3 o4
o5 o6
S (o1) S (o2) S (o3) S (o4)
S (o5) S (o6)
![Page 41: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/41.jpg)
Advantages Of Distributed Object Architecture
• It allows the system designer to delay decisions on where
and how services should be provided.
• It is a very open system architecture that allows new
resources to be added to it as required.
• The system is flexible and scaleable.
• It is possible to reconfigure the system dynamically with
objects migrating across the network as required.
![Page 42: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/42.jpg)
Uses Of Distributed Object Architecture
• As a logical model that allows you to structure and organise
the system. In this case, you think about how to provide
application functionality solely in terms of services and
combinations of services.
• As a flexible approach to the implementation of client-server
systems. The logical model of the system is a client-server
model but both clients and servers are realised as distributed
objects communicating through a common communication
framework.
![Page 43: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/43.jpg)
Data MiningData mining is the process of extracting patterns from data.
As more data are gathered, with the amount of data
doubling every three years, data mining is becoming an
increasingly important tool to transform these data into
information. It is commonly used in a wide range of
profiling practices, such as marketing, surveillance, fraud
detection and scientific discovery.
![Page 44: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/44.jpg)
Data Mining
![Page 45: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/45.jpg)
Data mining (knowledge discovery from data)
• Extraction of interesting (non-trivial, implicit, previously unknown and potentially useful)
patterns or
• knowledge from huge amount of data
Alternative names
• Knowledge discovery (mining) in databases (KDD),knowledge extraction, data/pattern
analysis, data archeology, data dredging, information harvesting, business intelligence, etc.
• Watch out: Is everything “data mining”?
Simple search and query processing (Deductive) expert systems
What is Data Mining?
![Page 46: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/46.jpg)
Data Mining System• The logical model of the system is not one of service provision
where there are distinguished data management services.
• It allows the number of databases that are accessed to be
increased without disrupting the system.
• It allows new types of relationship to be mined by adding new
integrator objects.
![Page 47: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/47.jpg)
Common Object Request Broker Architecture
The Common Object Request Broker Architecture (CORBA) is a standard defined
by the Object Management Group (OMG) that enables software components
written in multiple computer languages and running on multiple computers to work
together, i.e. it supports multiple platform.
CORBA uses an interface definition language (IDL) to specify the interfaces that
objects will present to the outside world. CORBA then specifies a “mapping” from
IDL to a specific implementation language like C++ or Java. Standard mappings
exist for C, C++, Lisp, Ruby, Smalltalk, Java, COBOL, PL/I and Python. There
are also non-standard mappings for Perl, Visual Basic, andTC.Implemented by
object request brokers (ORBs) written for those languages.
![Page 48: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/48.jpg)
Common Object Request Broker Architecture
![Page 49: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/49.jpg)
CORBA• CORBA is an international standard for an Object Request Broker -
middleware to manage communications between distributed objects.
• Middleware for distributed computing is required at 2 levels:
– At the logical communication level, the middleware allows objects on
different computers to exchange data and control information;
– At the component level, the middleware provides a basis for developing
compatible components. CORBA component standards have been
defined.
![Page 50: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/50.jpg)
CORBA Application Structure
CORBA services
Domain
facilit ies
Horizontal CORBA
facilit ies
Application
objects
Object request broker
![Page 51: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/51.jpg)
What is CORBA good for?
CORBA is useful in many situations. Because of the easy way that CORBA integrates machines from so
many vendors, with sizes ranging from mainframes through minis and desktops to hand-helds and
embedded systems, it is the middleware of choice for large (and even not-so-large) enterprises. One
of its most important, as well most frequent, uses is in servers that must handle large number of
clients, at high hit rates, with high reliability.
CORBA works behind the scenes in the computer rooms of many of the world's largest websites; ones
that you probably use every day. Specializations for scalability and fault-tolerance support these
systems. But it's not used just for large applications; specialized versions of CORBA run real-time
systems, and small embedded systems.
![Page 52: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/52.jpg)
What is CORBA good for?
![Page 53: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/53.jpg)
CORBA Objects
• CORBA objects are comparable, in principle, to objects in C++ and Java.
• They MUST have a separate interface definition that is expressed using a common language (IDL) similar to C++.
• There is a mapping from this IDL to programming languages (C++, Java, etc.).
• Therefore, objects written in different languages can communicate with each other.
![Page 54: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/54.jpg)
Object Request Broker (ORB)
• The ORB handles object communications. It knows of all
objects in the system and their interfaces.
• Using an ORB, the calling object binds an IDL stub that
defines the interface of the called object.
• Calling this stub results in calls to the ORB which then
calls the required object through a published IDL skeleton
that links the interface to the service implementation.
![Page 55: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/55.jpg)
ORB-Based Object Communications
o1 o2
S (o1) S (o2)
IDLstub
IDLskeleton
Object Request Broker
![Page 56: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/56.jpg)
Inter-ORB Communications
• ORBs are not usually separate programs but are a set of
objects in a library that are linked with an application when it
is developed.
• ORBs handle communications between objects executing on
the sane machine.
• Several ORBS may be available and each computer in a
distributed system will have its own ORB.
• Inter-ORB communications are used for distributed object
calls.
![Page 57: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/57.jpg)
Inter-ORB communications
o1 o2
S (o1) S (o2)
IDLstub
IDLskeleton
Object Request Broker
o3 o4
S (o3) S (o4)
IDLstub
IDLskeleton
Object Request Broker
Network
![Page 58: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/58.jpg)
CORBA Services
• Naming and trading services
– These allow objects to discover and refer to other objects on the
network.
• Notification services
– These allow objects to notify other objects that an event has
occurred.
• Transaction services
– These support atomic transactions and rollback on failure.
![Page 59: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/59.jpg)
Inter- Organisational Computing
• For security and inter-operability reasons, most distributed computing
has been implemented at the enterprise level.
• Local standards, management and operational processes apply.
• Newer models of distributed computing have been designed to
support inter- organisational computing where different nodes are
located in different organisations.
![Page 60: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/60.jpg)
Peer-to-Peer Architectures
• Peer to peer (p2p) systems are decentralised systems where
computations may be carried out by any node in the network.
• The overall system is designed to take advantage of the
computational power and storage of a large number of networked
computers.
• Most p2p systems have been personal systems but there is
increasing business use of this technology.
![Page 61: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/61.jpg)
Peer-to-Peer Architectures
![Page 62: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/62.jpg)
Peer-to-Peer Architectures
A peer-to-peer, commonly abbreviated to P2P, distributed network architecture is
composed of participants that make a portion of their resources (such as
processing power, disk storage or network bandwidth) directly available to other
network participants, without the need for central coordination instances (such as
servers or stable hosts). Peers are both suppliers and consumers of resources, in
contrast to the traditional client-server model where only servers supply, and
clients consume.
Peer-to-peer was popularized by file sharing systems like Napster. Peer-to-peer file
sharing networks have inspired new structures and philosophies in other areas of
human interaction. In such social contexts, peer-to-peer as a meme refers to the
egalitarian social networking that is currently emerging throughout society,
enabled by Internet technologies in general.
![Page 63: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/63.jpg)
Peer-to-Peer
![Page 64: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/64.jpg)
P2P Architectural Models
• The logical network architecture
– Decentralised architectures;
– Semi-centralised architectures.
• Application architecture
– The generic organisation of components making up a p2p
application.
• Focus here on network architectures.
![Page 65: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/65.jpg)
Decentralised P2P Architecture
n1
n2 n3
n4
n5
n6
n7
n8
n9 n10 n11
n1 2
n1 3
n1 3
![Page 66: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/66.jpg)
Semi- Centralised P2P Architecture
Discoveryserver
n1
n2
n3
n4
n5
n6
![Page 67: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/67.jpg)
Service-Oriented Architectures
• Based around the notion of externally provided services
(web services).
• A web service is a standard approach to making a
reusable component available and accessible across the
web
– A tax filing service could provide support for users to fill in
their tax forms and submit these to the tax authorities.
![Page 68: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/68.jpg)
A Generic Service
• An act or performance offered by one party to another.
Although the process may be tied to a physical product,
the performance is essentially intangible and does not
normally result in ownership of any of the factors of
production.
• Service provision is therefore independent of the
application using the service.
![Page 69: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/69.jpg)
Web Services
![Page 70: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/70.jpg)
Services and Distributed Objects
• Provider independence.
• Public advertising of service availability.
• Potentially, run-time service binding.
• Opportunistic construction of new services through composition.
• Pay for use of services.
• Smaller, more compact applications.
• Reactive and adaptive applications.
![Page 71: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/71.jpg)
Services Standards
• Services are based on agreed, XML-based standards so can be
provided on any platform and written in any programming
language.
• Key standards
– SOAP - Simple Object Access Protocol
– WSDL - Web Services Description Language
– UDDI - Universal Description, Discovery and Integration.
![Page 72: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/72.jpg)
Services Scenario
• An in-car information system provides drivers with information on weather, road traffic conditions, local information etc. This is linked to car radio so that information is delivered as a signal on a specific radio channel.
• The car is equipped with GPS receiver to discover its position and, based on that position, the system accesses a range of information services. Information may be delivered in the driver’s specified language.
![Page 73: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/73.jpg)
Automotive System
![Page 74: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/74.jpg)
Key Points
• Distributed systems support resource sharing, openness, concurrency,
scalability, fault tolerance and transparency.
• Client-server architectures involve services being delivered by servers to
programs operating on clients.
• User interface software always runs on the client and data management on the
server. Application functionality may be on the client or the server.
• In a distributed object architecture, there is no distinction between clients and
servers.
![Page 75: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/75.jpg)
Key Points
• Distributed object systems require middleware to handle object communications
and to add and remove system objects.
• The CORBA standards are a set of middleware standards that support
distributed object architectures.
• Peer to peer architectures are decentralised architectures where there is no
distinction between clients and servers.
• Service-oriented systems are created by linking software services provided by
different service suppliers.
![Page 76: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/76.jpg)
![Page 77: Engr . M.Fahad Khan Lecturer Software Engineering ...web.uettaxila.edu.pk/CMS/seSDAbs5sAut09/notes/Lec-02.pdfBy Ian Sommerville, 7th Edition Distributed systems • Virtually all large](https://reader033.fdocuments.net/reader033/viewer/2022041720/5e4e3ace67125431d03eb6bc/html5/thumbnails/77.jpg)
If you have any query please feel free to ask
Phone: +92-51-9047-574
Fax: +92-51-9047-420
Email: [email protected]
University Of Engineering & Technology Taxila Pakistan