SENG 42273 — Semantic Web and Ontological Engineering

Search Engine

We use search engines all the time in our day to day life. Some people use them to search for stuff while others use them to check their internet connection. 😅

A Search engine is basically a software system that systematically searches the world wide web for specific information according to a query specified by a user. To do this, a search engine needs to keep organized records about the websites on the internet. Search engines programs called web crawlers to crawl through web pages on the internet to collect information about…


SENG 42273 — Semantic Web and Ontological Engineering

APIs are everywhere. You are making use of them even if you don’t know what an API is. Have you ever wondered how you are able to shop online, order an Uber, or even check the weather on your phone? They are all powered by APIs.

What is an API?

API stands for Application Programming Interface, which is a software-to-software interface that defines the contract for applications to communicate with each other without human interaction. This contract defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the kinds of responses, etc.

What is a Web API?


SENG 41283 — Distributed and Cloud Computing

This article is a requirement of course module SENG 41283 : Distributed and Cloud Computing offered as a part of the Bachelor of Science Honours in Software Engineering degree program.

All the source codes used in this application can be found at the end of the article.

Overview

For this assignment, I developed a simple employee management system where a user can sign in to add and get the details about the employees in an organization. The basic application architecture is as follows.

Image for post
Image for post
Application Architecture

To use the application, the user must be authenticated via the azure active directory. …


SENG 41283 — Distributed and Cloud Computing

Cryptography

The practice and the study of techniques for secure communication in the presence of third parties is known as cryptography. Secure communication means that when two parties communicate, they don’t want third parties to eavesdrop on their communication and/or alter them. confidentiality, data integrity, authentication, and non-repudiation[4] are central components of modern cryptography.

Secrete Key Algorithms

Secrete key algorithms, otherwise known as symmetric key algorithms use a single key for both encryption and decryption of the message. So the both sending party and receiving party should have shared the key beforehand. …


SENG 41283 — Distributed and Cloud Computing

What is RabbitMQ?

RabbitMQ is an open-source message-broker software that supports protocols like Advanced Message Queuing Protocol (AMQP), Streaming Text Oriented Messaging Protocol, and MQ Telemetry Transport. It’s written in Erlang and built on top of the Open Telecom Platform framework for clustering and failover. It’s got client libraries in all major programming languages to interface with the broker.

What is a work queue?

A work queue is a way to avoid executing resource-intensive tasks immediately and having to wait for them to complete. Instead, the tasks can be encapsulated as a message and placed on a queue for later execution. …


SENG 41283 — Distributed and Cloud Computing

What is Java RMI?

Invoking a method on a remote object is typically known as remote method invocation(RMI) and Java RMI is the Java API that lets an object residing in a one JVM to invoke the methods on another object which is running on a different JVM.

Image for post
Image for post
Typical implementation model of Java-RMI using stub and skeleton objects

So, what are stubs, skeletons and remote objects?

Remote Object

An object whose methods can be called from another JVM is known as a remote object. In distributed systems, client programs calls on the methods on a remote object to get the services offered by the remote object.

Stub

A stub is a kind of like a gateway for…


SENG 41283 — Distributed and Cloud Computing

Web Services

In simple terms, a web services are client server applications that communicate over the internet using HTTP. They provide interoperability between different software applications that run on different platforms and frameworks.

According to Oracle, There are two types of web services:

1. “Big” Web Services.

The “Big” web services uses Simple Object Access Protocol (SOAP), an XML language which standardize the message architecture and message formats. These services often contains a machine-readable description of the operations offered by the service, written in the Web Services Description Language(WSDL) which is also an XML language used for syntactically defining interfaces.


Usually, a program represents its data and information as data structures when dealing with them at runtime. For example, a library management system might represent the data about a certain book using a “Book” object which in turn may consist of primitive data items like “title, ISBN” and complex objects like “author”.

However, this library management system cannot represent the information about the book using the said “Book” data structure when sending data to another library management system. For that, the “Book” data structure needs to be flattened (converted to a sequence of bytes) before transmission and rebuilt at the…


Image for post
Image for post

Domain Name System or DNS for short is one of the key components for accessing the internet. In this article, we’ll discuss DNS in simpler terms and dive a bit deeper.

DNS is in its basic form is kind of like the phone book on your mobile phone. Whenever you want to call somebody, you have to either dial their telephone number from your memory or search the contact name in your phone book for their number. And let’s be honest, we almost always use the phone book because it’s far easier to remember a name than a number. (Quick…

Nipun Sampath

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store