Unit 05 Flashcards
action-oriented model
A software model in which the actions carried out by processors are central.
As opposed to an object-oriented model where objects are central.
Or a data-oriented model where data is central.
addressing
Identifying a particular computer on the internet using either a symbolic address or a numeric address.
application programming interface (API)
An interface provided by a computer system or program library. Services specified in a computer system/library can be made available to, and called on by, computer programs. The software that provides the functionality described by an API is said to be an implementation of the API.
application server
A server dedicated to running a number of applications.
asynchronous message passing
A form of communication in which the sending and receiving processes do not have to be at their synchronisation points at the same time. This form of message passing requires a buffer in order to store messages in the case of the receiving process not being ready to receive the message.
BitTorrent protocol
A protocol for file sharing among peers (in peer-to-peer systems), where a large data file is divided into smaller parts that are distributed among the peers. The peers cooperate by sharing the parts they have received with other peers, such that eventually all peers have all the parts of the original file.
blocking
When invoking methods, or calling procedures, a process is said to be blocked for the duration of the method call.
business logic
Refers to the logic that embodies business rules rather than the view/presentation or storage of data. Typically, this would be the calculations and processes appropriate for the business.
caching
A technique of temporarily storing frequently accessed data in a special area to reduce the time required to gain access to the data.
client–server
A software architecture style in which asymmetric roles are assigned to two collaborating processes. One process, the server, plays the role of a service provider which waits passively for the arrival of a request. The other, the client, issues specific requests to the server and awaits its response.
component model
Definition of standards for the implementation, documentation and deployment of components. Examples of such models are the Java EE framework, EJB and CORBA.
data partitioning
Dividing the data resources of a system and storing them on several servers which are distributed. Each server is responsible for maintaining its own partition.
data replication
Duplication of data and the storing of data on several servers such that multiple backup copies exist.
data-oriented model
A software model in which the focus is on data, and where actions are triggered as a result of data being exchanged.
See also action-oriented model.
deployment
The placing or installing of software on a target system so that it is ready to run. This process typically involves some configuration steps to tailor the software to the specific organisation, users, or application domain – for example, to specify location-specific information, such as a list of local users permitted to access the software, and the name of the local database.
distributed object paradigm
An extension of the object-oriented paradigm to a distributed setting, in which local objects and remote objects are treated in the same way and have the same capabilities.
distribution transparent
The requirement that users can remain unaware of some of the complexities of operating in a distributed setting.
event/notification model
A model in which an object can generate certain events, and when such an event occurs, it publishes a notification. The notification can be picked up by the objects that subscribed to this event.
fault tolerance
The ability of a system to respond gracefully to an unexpected hardware or software failure. By ‘gracefully’ we mean that if a system’s operating quality decreases at all due to a failure, the decrease is proportional to the severity of the failure. This is in contrast to a naively designed system in which even a small failure can cause total breakdown.
heterogeneity
Programs running on different computers with different operating systems, data representations and programming languages.
heterogeneous middleware
Middleware in which no assumptions are made about a shared language or whether all parties are running on the same platform. CORBA is a heterogeneous form of middleware.
homogeneous middleware
Middleware in which all parties are assumed to be implemented in the same language and running on the same platform. For example, Remote Method Invocation is a homogeneous form of middleware, in that it assumes that the whole system runs within the Java Virtual Machine environment and that one single programming language (Java) is used throughout.
interface (component/system)
Used to refer to the commands or operations (methods), including their syntax and semantics, that a software system or component provides to the clients of the system. Through the interface, the software entity presents methods for external communication, and the interface allows the entity to be internally modified without affecting the way outside entities interact with it.
Internet Protocol (IP) address
The numeric address of a device on the internet.
layer (of software)
A layer of software in which implementation details are hidden and where the functionality of the layer can be invoked through a well-defined interface.