View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Contents
The Driving ForcesElements of Distributed ISDistributed IS InfrastructureTransparencyData Content & Presentation
Changes in Computing Technology
Decline in centralised mainframe systemsGrowth of “desktop computing”Growth of Local & Wide Area NetworksGrowth of Client/Server SystemsRelative decline of hardware companies Increasing dominance of software companies especially Microsoft (PC & Server software)
Multimedia information requirementsIncreasingly interactive user interfacesEver cheaper componentsDevelopment of middlewareInternet and Web technology
Changes in Business Environments
Business structures can be characterised in terms of 3 components Complexity
the degree of differentiation of activities Formalisation
the extent to which processes and jobs are standardised and structured
Centralisation the degree to which decision-making is concentrated
at single points
Centralised Organisations
Highly structuredStructure directly reflects functionMulti-level hierarchyMultiple tiers of managementCentralised authorityTop-down control
Decentralised Organisations
Flatter structure fewer tiers of “middle management”
Less formalised structuresMore local autonomy and accountabilityCustomer/market orientedMore responsive to changing business environment more like bottom-up
Advantages of Distributed Systems
Improved FlexibilityLocal AutonomyIncreased Reliability & AvailabilityImproved PerformanceIsolation of Security Problems
Improved Flexibility
Resources can be located within the organisation where they will be most effective utilised Resources can be relocated as requiredComponents can be added and upgraded independently and incrementallyProvides Scalability the ability of an infrastructure to grow to meet
increasing demand with minimal disruption
Local Autonomy
Allows domains of control to be establishedA domain of control covers purchasing, ownership, IT budgets, operating priorities, IS development, IT management, etcDomains allow decisions about IT resources to be made where they are utilisedAutonomy is recognition of the distributed nature of many organisational activities
Increased Reliability & Availability
Component failure in a centralised system can mean total systems failureIn a distributed system, component failure is limited to that component usually means only limited service outage for
limited group of users
Component replication can provide fault tolerance failure modes can be planned for
Improved Performance
Centralised systems can be performance bottlenecksIncreased transaction processing or volumes of data result in performance degradationDistributed systems allow partitioned services
Isolation of Security Problems
A single centralised system provides a focus for security breaches Any breach potentially compromises the whole
system “Denial of service” attacks have maximum effect
In a distributed system security can be addressed via domains of control Limits impact of attacks Each security domain can have varying degrees
of authentication, access control and auditing
Disadvantages of Distributed Systems
More difficult to manage and secureReduced reliability and availabilityShortage of skilled support and development staff
More difficult to manage and secure
Centralised systems are inherently easier to manage because there’s only one of them
Centralised systems are inherently easier to secure Only have to have to worry about one point of
vulnerability
Distributed systems introduce complexity require more resources and cost more to run
Reduced reliability and availability
Centralised systems now benefit from years of experience and development in terms of physical, operational and
environmental conditions usually single vendor systems
Distributed systems, are inherently more complex more to go wrong usually heterogeneous systems unpredictable interoperability
Staff Shortages
Distributed systems suffer from a loss of economies of scale require more staff to achieve same support require higher “skill-mix” in staff
Vendor support not yet comparable to centralised systems support from many vendors required
no one vendor has “big picture” systems integrator support also necessary problems often arise at interfaces between sub-
systems
Elements of a Distributed IS
An Information System (IS) captures, stores, processes and communicates dataInformation Technology (IT) combines computing and communications technology to facilitate ISThree main elements of Distributed IS Distributed IT Infrastructure (Processing) Data Presentation
Distributed IT Infrastructure
The components that make up the “physical” system Primarily concerns processing devices
(e.g., PCs, servers) but includes storage (on and off-line, RAID) Communication & networks Operating systems (usually NOS) DBMSs (e.g., relational, object) Services and utilities Assumes a model for process interaction
e.g., master/slave or client/server
Data
Structures required for data storageOrganisational data modelDifferent levels of representation Data can be represented as objects
data and associated processes an object could be an RDBMS, an audio file, etc
Database model of data is useful Physical - storage and retrievability issues Logical - data model - entities/objects, attributes,
relationships User View - what each user needs to manipulate
Presentation
The way in which data is made visible to the user and interactions are handledUser Interface “look-and-feel” behaviour (consistency and predictability)
Presentation Management User Interface Management
Display Services - e.g., interface devices Dialogue Control - e.g., event handling API - e.g., interface libraries
Distributed Support Services
Much functionality in a DIS can be provided as distributed services that are an integral part of the IT infrastructure: Distributed Presentation Distributed Processing Remote Data Access Remote File Access Distributed Data Management Distributed Object Management
Distributed Presentation Services
Distributed Presentation enables the presentation component of an application to be either:wholly located on the client e.g., Microsoft Windows
split between the client and the server requires a presentation protocol to enable
communication between client and server e.g., X-Windows
Distributed Presentation Services
PRESPROC DATA
Client
Network
Server
PRES
Client
PROC DATAPRES
Presentation Protocol (e.g. X-Windows)
Server
Distributed Processing Services
Co-operating processing objects are distributed across both client and server elementsAt the client side a user agent conceals the complexity of client/server interactions e.g. identifying the required server object and
routing requests
At the server side a server wrapper receives client requests and passes the request to the appropriate server object
PROC DATA
Client
Server
Remote Inter-Process Communication Protocol
Network
Distributed Processing Services
PRES PROC
Remote Data Access Services
Presentation and processing are client sideData components reside on server(s) managed by a DBMS
A data manipulation language is used to retrieve data (e.g., SQL) client submit request server receives it and returns results set
Data access is at the record levelMinimises network traffic only processed data is communicated
PRES
Client
PROC
DATA
DBMS
DataBase
Server
Request
Network
Remote Data Access Service
Records
Record Set
Remote File Access Services
Presentation and processing are client sideData objects reside on server(s) server implements some form of file service
Data access is at the file levelWhen a client requests an object: a user agent (redirector) resolves the location
(i.e., local/remote) if local, request is passed to local OS If remote, initiates communications and issues
appropriate request to server Server wrapper handles request
Client
DATA
DBMS
Server
Request
Network
Remote File Access Service
File Block
File Block
FileSystem
PROC DATA
Distributed Data Management Services
Remote Data Access (RDA) services provide access to remote databases When multiple RDA servers exist each may only manage part of the overall data set Procssing Objects would need to know the location
of all data objects and the server(s) they are on - this is problematic
A Distributed Data Management Service “conceals” this information and provides transparent access data appears to be in one centralised database
DATA
DBMS
DATA
DBMS
Client Logically Centralisedbut
Physically Distributed
Distributed Data Management
Network
Server
DataBase
PROC DATA
Distributed Object Management Services
An object (in this context) is an entity with a clearly defined interface and services invoked by sending messages to itObjects closely couple data and operations Objects act as both clients and serversDISs can use objects as a unit of distributionA Distributed Object Management Service gives the illusion that distributed objects occupy a single “object space”CORBA is an example DOM service
Reusable, generic services simplify DIS development Consistent with RAD, ODP, OO approaches
Service functionality is available via well-defined standard APIs Developers can concentrate on interfacing with
existing services
Services can be selected to meet user requirements e.g., cost, performance, availability, scalability
Developing Distributed IS