340 likes | 360 Views
Learn about the driving forces, infrastructure, and advantages of distributed information systems. Also, explore the changes in computing technology and business environments. Discover the elements and challenges of managing distributed systems.
E N D
CP3397Network Design and SecurityLecture 1An Introduction to Distributed Information Systems
Contents • The Driving Forces • Elements of Distributed IS • Distributed IS Infrastructure • Transparency • Data Content & Presentation
Changes in Computing Technology • Decline in centralised mainframe systems • Growth of “desktop computing” • Growth of Local & Wide Area Networks • Growth of Client/Server Systems • Relative decline of hardware companies • Increasing dominance of software companies • especially Microsoft (PC & Server software) • Multimedia information requirements • Increasingly interactive user interfaces • Ever cheaper components • Development of middleware • Internet 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 structured • Structure directly reflects function • Multi-level hierarchy • Multiple tiers of management • Centralised authority • Top-down control
Decentralised Organisations • Flatter structure • fewer tiers of “middle management” • Less formalised structures • More local autonomy and accountability • Customer/market oriented • More responsive to changing business environment • more like bottom-up
Advantages of Distributed Systems • Improved Flexibility • Local Autonomy • Increased Reliability & Availability • Improved Performance • Isolation of Security Problems
Improved Flexibility • Resources can be located within the organisation where they will be most effective utilised • Resources can be relocated as required • Components can be added and upgraded independently and incrementally • Provides Scalability • the ability of an infrastructure to grow to meet increasing demand with minimal disruption
Local Autonomy • Allows domains of control to be established • A domain of control covers purchasing, ownership, IT budgets, operating priorities, IS development, IT management, etc • Domains allow decisions about IT resources to be made where they are utilised • Autonomy is recognition of the distributed nature of many organisational activities
Increased Reliability & Availability • Component failure in a centralised system can mean total systems failure • In 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 bottlenecks • Increased transaction processing or volumes of data result in performance degradation • Distributed 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 secure • Reduced reliability and availability • Shortage 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 data • Information Technology (IT) combines computing and communications technology to facilitate IS • Three 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 storage • Organisational data model • Different 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 handled • User 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
PROC DATA PRES PRES PROC DATA PRES Distributed Presentation Services Server Client Presentation Protocol (e.g. X-Windows) Server Client Network
Distributed Processing Services • Co-operating processing objects are distributed across both client and server elements • At 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
PRES PROC PROC DATA Distributed Processing Services Remote Inter-Process Communication Protocol Client Server Network
PRES PROC PROC DATA PRES PROC Client A A Distributed Processing System Server Client B Network
Remote Data Access Services • Presentation and processing are client side • Data 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 level • Minimises network traffic • only processed data is communicated
DBMS DATA Data Base PRES PROC Remote Data Access Service Server Records Request Client Record Set Network
Remote File Access Services • Presentation and processing are client side • Data objects reside on server(s) • server implements some form of file service • Data access is at the file level • When 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
PROC DATA Remote File Access Service Server DBMS File Block DATA Request Client File Block File System Network
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
DBMS PROC DATA DATA DBMS DATA Data Base Distributed Data Management Logically Centralised but Physically Distributed Client Server Network
Distributed Object Management Services • An object (in this context) is an entity with a clearly defined interface and services invoked by sending messages to it • Objects closely couple data and operations • Objects act as both clients and servers • DISs can use objects as a unit of distribution • A Distributed Object Management Service gives the illusion that distributed objects occupy a single “object space” • CORBA is an example DOM service
Developing Distributed IS • 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