Html/Javascript widget

Sunday, 11 March 2018

Distributed Objects

In distributed systems, components on different platforms can talk with each other over a network. The best known type of distributed system is the client-server model, which forms the base for multi-tier architectures. ALternatives are the broker architecture such as CORBA and Isis' group comunication system, which also hapen to be examples of middleware.

Several technology frameworks support distributed architectures, including .NET, J2EE and CORBA. Middleware is an system layer that supports and simplifies the development and execution of distributed applications, as a buffer between the applications and the network, managing the different components of the distributed system.

Middleware as an intermediator for distributed system.

The basis of a distributed architecture is its transparency, reliability, and availability.


Resource sharing − hardware and software.

Openness − Flexibility for hardware and software from different vendors.

Concurrency − Concurrent processing to enhance performance.

Scalability − Increased throughput by adding new resources.

Fault tolerance − continuous operation after a fault has occurred.


Complexity − more than centralised systems.

Security − More susceptible to external attack.

Manageability − More effort required for system management. Relates the complexity above.

Unpredictability − Unpredictable responses depending on the system organisation and network load.

1- Client-Server

The client-server architecture is the most common distributed system architecture. Major subsystems:

Client − This is the first process that issues a request to the second process: the server.

Server − The second process. Receives the request, carries it out, and sends a reply to the client.

The application is a set of services provided by servers. The servers need not to know about clients, but the clients must know the identity of servers.

There are two models based on the functionality of the client:

     Thin-client model - all the processing and data management by the server. The client only runs the GUI software. Used for legacy systems migrated to client server architectures. Drawback is heavy processing load on both the server and the network.

     Thick/Fat-client model -  server in charge of the data management. The software on the client implements the application logic and the interactions with the system user. It is best when the capabilities of the client system are known before hand.

Problem is its complexity when compared to the thin client model.


1- Separation of responsibilities such as user interface presentation and business logic processing.

2- Reusability of server components and potential for concurrency

3- Design and development of distributed applications made simple.

4- Migraion or integration of existing applications made easy.

5- Effective use of resources when many clients are accessing a high-performance server.


1- Lack of heterogeneous infrastructure to deal with the requirement changes.

2- Security compromised

3- Limited server availability and reliability.

4- Fat clients with presentation and business logic together.

2- Multi-Tier

Multi-Tier is a client–server architecture that physically separates the functions of presentation, application processing and data management. This allows developers to change or add a specific layer, instead of reworking the entire application, enabling the creation of flexible and reusable applications.

The three-tier architecture is the most common instance of the multi-tier model, typically composed of a presentation tier, an application tier, and a data storage tier. It may run on another processor.

     Presentation Tier - the topmost level of the application such as a webpage or a system GUI (graphical user interface), communicating with other tiers. Interaction with the end-user is the primary goal here.

     Application Tier (Business Logic, Logic Tier, or Middle Tier) -manages the application, processes the commands and makes logical decisions, evaluation and calculations, processesing the data between the two surrounding layers.

     Data Tier - information stored and retrieved from the database or file system, for processing and presentation to user. It includes the data persistence mechanisms (database servers, file shares, etc.) and provides API (Application Programming Interface) to the application tier which provides methods of managing the stored data.


1- Better performance and simpler to manage than a thin-client approach.

2- Enhances the reusability and scalability −extra servers are added as demands increase.

3- multi-threading support, reducing network traffic.

4- maintainability and flexibility


More critical server reliability and availability.

3 - Broker Architectural Style 

Middleware architecturecoordinates and enables the communication between servers and clients. Object communication through a middleware system called an object request broker (software bus). Client and the server do not interact directly, but by proxy, which communicates with the mediator-broker. A server provides services by registering and publishing their interfaces with the broker and clients can request the services from the broker statically or dynamically by look-up.

Components of Broker Architectural Style:

     Broker - responsible for coordinating communication, which include forwarding and dispatching the results and exceptions. It can be either an invocation-oriented service, a document or message - oriented broker to which clients send a message. Its functions range from locating a proper server, transmitting requests to sending responses back to clients and providing APIs for clients to request and servers to respond.

     Stub - proxy for the client. Generated at compilation time, it provides additional transparency between them and the client, making  a remote object appear like a local one.

     Skeleton - starts at the service interface compilation on the server side. It is server's proxy. It encapsulates low-level system-specific networking functions and provides high-level APIs to communicate between the server and the broker, receiving the requests, unpacks them, unmarshals the method arguments, calls the suitable service and also marshals the result before sending it back to the client.

Thursday, 1 March 2018

buffer underrun

     In computing, buffer underrun or buffer underflow is a common problem when burning data into a CD. It happens when a buffer used to communicate between two devices or processes is fed with data at a lower speed than the data is being read from it, resulting in a process being fed data at a lower speed than the data is being read from it. Recording data to a CD-R is a real-time process that must run nonstop without interruption of the signal. This requires the program or device reading from the buffer to pause its processing while the buffer refills.

Tuesday, 20 February 2018

Types of operating systems

Types of operating systems:

a- Real-time- a multitasking operating system that executes real-time applications through specialised scheduling algorithms to determine their performance, aiming at quick and predictable response to events. They incorporate traits of both time sharing and event-driven properties. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.

b- Multi-user - allows multiple users to access a computer system at the same time e.g.: time-sharing systems and Internet servers. Single-user operating systems can only have one user at a time although they can still be multitask systems,meaning multiple programs running concurrently.

c- Multi-tasking vs. single-tasking
The former allows more than one program to be running at the same time, while the latter has only one running program. There are 2 types of multi-tasking system: pre-emptive (the operating system slices the CPU time and dedicates one slot to each of the programs) and cooperative (each process gives time to the other processes). 

d- Distributed - a group of independent computers behave like one single entity, similar to a network cluster. The processing is distributed across the participating machines.

e- Embedded - for use in embedded computer systems (small machines like PDAs). As they run on limited resources, their design is usually efficient considering the reduced autonomy with which they operate.

Friday, 16 February 2018


Ethnography is the study of people and cultures, analysing the latter from the former's viewpoint, documenting the cultural development of a group.

Originally an area of anthropologist interests, it has also become popular in the social sciences, communication studies and history. Ethnography is relevant for the understanding of ethnic differences, compositions and materialism/spirituality among the observed populations. A holistic study, it usually includes history and terrain and climate features. Its purpose is to provide a basic understanding of the varied styles in human social life.

The field of anthropology originated from Europe in late 19th century, arriving in the United States at the beginning of the 20th century. The founders of ethnography are considered to be EB Tylor (1832-1917) from Britain and Lewis H Morgan (1818-1881), from the us. Franz Boas (1858-1942), Bronislaw Malinowski (1858—1942), Ruth Benedict and Margaret Mead (1901-1978), were researchers who contributed the idea of cultural relativism to the literature, focusing on the use of documents and informants, including experiencing life as one of them.

Friday, 29 December 2017

Function Point

A function point measures how business-worthy an information system component is to the end user. As a single unit, the cost of a function point is based on previous projects. Although there is no widely recognised method in the sizing result, there have been many approaches to bring it closer to a standardising convention

As of 2013, these are −

ISO Standards
COSMIC − ISO/IEC 19761:2011 Software engineering. A functional size measurement method.

FiSMA − ISO/IEC 29881:2008 Information technology - Software and systems engineering - FiSMA 1.1 functional size measurement method.

IFPUG − ISO/IEC 20926:2009 Software and systems engineering - Software measurement - IFPUG functional size measurement method.

Mark-II − ISO/IEC 20968:2002 Software engineering - Ml II Function Point Analysis - Counting Practices Manual.

NESMA − ISO/IEC 24570:2005 Software engineering - NESMA function size measurement method version 2.1 - Definitions and counting guidelines for the application of Function Point Analysis.

Object Management Group (OMG), an open membership and not-for-profit computer industry standards consortium, has adopted the Automated Function Point (AFP) specification led by the Consortium for IT Software Quality.

Function Point Analysis (FPA) technique quantifies the functions within software that are meaningful to the users. The functions are based on the requirements specification.

Sunday, 12 November 2017

TCL commands

Transaction Control Language(TCL) commands manage transactions in database, usually the changes rbought about by DML statements (update, delete, insert).

Commit - used to permanently save any transaction into the database.

Rollback - undoes all changes, returning to the last committed stage. It can also be used in conjunction with the savepoint command when regression to an earlier state is desirable if savepoints were used rather than commit.

Savepoint - temporarily saves a transaction, thus allowing for a rollback operation to reverse back to this saved state. Savepoint is the only TCL command that needs to be named in order to be identified by a rollback operation.

The Weasel War Dance

In colloquial language, the weasel war dance is a set of moves done by a ferret to indicate playful behaviour. It consists of a frenzied series of hops sideways and backwards, often accompanied by an arched back, and a frizzed-out tail. Ferrets exhibit a pointed lack of spatial awareness when in this state,  often bumping into or falling over objects and furniture.  The dance includes a clucking vocalization, known as "dooking".