Introduction to Net-Centric Computing

Isuruni Rathnayaka
SESA-UOK
Published in
12 min readJun 13, 2021

Net-Centric or network centered computing is an ongoing area in the twenty-first century with a great interest among software engineers as it is an enabling technology for modern distributed computing systems and applications. Today, Net-Centric applications have invaded the lives of people in many ways.

Although the term Net-Centric seems quite confusing, if you dive deep, the content inside the topic will be felt much familiar since you are using modern technology for your day today activities deliberately or not. So, let’s dive through the content for a better understanding.

What is Net-Centric Computing?

Net-Centric Computing (NCC) is a distributed environment where applications and data are downloaded from servers and exchanged with peers across a network. Net-centric Computing focuses on large-scale distributed computing systems and applications that communicate through open, wide-area networks like the Internet. General examples of large-scale network-centric systems are the World-Wide Web and Computational Grids. For several years, major changes are being brought to the world by universal networking capabilities, such as the Internet. Today’s technology solutions represent the convergence of computing power, networking capability and the information, data or knowledge that forms the content of these solutions. At the center these solutions net-centric computing lies. Net-centric computing refers to an emerging technology architecture and an evolutionary stage of client/server computing. It is a common architecture built on open standards that supports in different ways for different people to collaborate and to reach different information sources. The evolutionary nature of net-centric computing links technological capabilities and strategic opportunities, helping people in facing today’s new problems and providing the flexibility to meet tomorrow’s challenges.

What are the subject areas one should specialize in Net-Centric Computing?

Just as other technologies used in the modern world, Net-centric computing also covers a great amount of subject areas related to it. The knowledge on these areas, make you a good candidate for the job market as well as a knowledgeable person compatible with present-day. There is a wide array of subject areas, the most important of which are;

Web Applications

· Introduction

A web application (or web app) is an application software that runs on a web server. Web applications are accessed by the user through a web browser with an active network connection. Some examples of commonly-used web applications can be stated as web-mail, online retail sales, online banking, and online auctions. Web applications can be designed for a wide variety of users and can be used by anyone for numerous reasons.

· Functionality

For proper functioning a web application requires three elements; a web server to handle requests from the client, an application server to execute the tasks requested by the user and a database to store information. Typical web application flow can be described in five steps;

  1. User presents a request to the web server over the Internet, through a web browser or the application’s user interface.
  2. Web server sends this request to the appropriate web application server.
  3. Web application server performs the requested task and then generates the results of the requested data.
  4. Web application server sends results to the web server with the requested information or processed data.
  5. Web server responds to the client with the requested information that then appears on the user’s display.

· Development

Development of a web application has two phases as front-end and back-end development. Front-end development is the client-side development and scripting languages like JavaScript, HTML5, or Cascading Style Sheets (CSS) are commonly used for the process. Back-end development is the server-side development, languages such as Python, Java, and Ruby are commonly used in server-side programming. Some of the web applications are dynamic, requiring server-side processing while others are completely static with no processing required at the server.

· Design

Web application design is an important stage in building a web application. It focuses on the appearance and feel of the web application to the user. This stage encompasses several different aspects, including user interface design (UI), usability design(UX), content production, and graphic design. UI stands for User Interface. UI is the part of the web application with which a user interacts. Simply, it’s everything you see and touch, such as buttons, colors, fonts, navigation, etc. UX stands for User Experience. UX focuses on users’ experience and feeling towards their journey through the web app. Was the web application hard to use, was it slow, was the user disappointed when using it? are the criteria mainly considered by a UX designer.

· Security

Attacks against web apps range from database manipulation to large-scale network disruption. Some of the common methods of attack are;

o Cross site scripting (XSS)

o SQL injection (SQi)

o Denial-of-service (DoS) and distributed denial-of-service (DDoS)

o Buffer overflow

o Cross-site request forgery (CSRF)

o Data breach

General yet some of important steps in ensuring security and gaining the customer trust, can be stated as using up-to-date encryption, requiring proper authentication, continuously patching discovered vulnerabilities, and having good software development hygiene.

Distributed Systems

· Introduction

A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system in order to appear as a single system to the end-user. The computers that are in a distributed system can be physically together and connected by a local network, or they can be geographically distant and connected by a wide area network. A distributed system can consist of any number of possible components, such as mainframes, personal computers, workstations, minicomputers, and so on. Common use cases of a distributed systems are electronic banking systems, massive multiplayer online games, and sensor networks.

· Functionality

There are two general ways that distributed systems function:

  1. Each component of the system works to achieve a common goal and the end-user views results as one combined unit.
  2. Each component has its own end-user and the distributed system facilitates sharing resources or communication services.

· Architectural models

Distributed systems generally consist of four different basic architectural models:

  1. Client-server — Clients contact the server for data, then format it and display it to the end-user.
  2. Three-tier — Information about the client is stored in a middle tier rather than on the client, to simplify application deployment.
  3. n-tier — Generally used when the server needs to forward requests to additional enterprise services on the network.
  4. Peer-to-peer — There are no additional nodes used to provide services or manage resources. Responsibilities are uniformly distributed among components in the system, known as peers, which can serve as either client or server.

Cloud Computing

· Introduction

Cloud computing is the delivery of different computing services including servers, storage, databases, networking, software, analytics, and intelligence over the Internet without direct active management by the user. Simply stating, cloud computing means storing and accessing data and programs over the internet instead of ones’ computer’s hard drive. Organizations are using the cloud for a wide variety of use cases, such as data backup, disaster recovery, email, virtual desktops, software development and testing, big data analytics, and customer-facing web applications. As an example, healthcare services use the cloud to develop more personalized treatments for patients. Financial services are using the cloud to power real-time fraud detection and prevention. And video game makers are using the cloud to deliver online games to players around the world.

· Types of clouds

Not all clouds are the same and not one type of cloud computing is compatible with the necessities of everyone. Three main types of clouds are;

Public cloud

A cloud service provider owns and operate public clouds, which distribute their computing resources, like servers and storage, over the Internet. In a public cloud, all hardware, software, and other supporting infrastructure is managed by the cloud provider. Users can access these services and manage their accounts using a web browser. Microsoft Azure is an example of a public cloud.

Private cloud

A private cloud refers to cloud computing resources used exclusively with single authority. In a private cloud the services and infrastructure are maintained on a private network.

Hybrid cloud

Hybrid clouds combine features of public and private clouds, allowing data and applications to be shared between them A hybrid cloud provides greater flexibility, more deployment options, and helps optimize existing infrastructure, security, and compliance.

· Service models

Most cloud computing services fall into four categories;

Infrastructure as a service (IaaS)

This is the most basic category of cloud computing services. With IaaS, you rent IT infrastructure-servers and virtual machines (VMs), storage, networks, operating systems from a cloud provider on a pay-as-you-go basis.

Software as a service (SaaS)

Software as a service is a method for delivering software applications over the Internet, on demand or on a subscription basis. With SaaS, cloud providers host and manage the software applications and underlying infrastructure, and handle any maintenance, like software upgrades and security patching.

Platform as a service (PaaS)

This is considered as the most complex of the three layers of service models. This refers to cloud computing services that supply an on-demand environment for developing, testing, delivering, and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile applications.

· Security

Cloud security is a discipline of cyber security committed to secure cloud computing systems. This includes keeping data private and safe across online-based infrastructure, applications, and platforms. Cloud security is a key concern for cloud storage providers. Major threats to cloud security include data breaches, data loss, account hijacking, service traffic hijacking, insecure application program interfaces (APIs) and Distributed denial of service (DDoS) attacks. Some common methods of providing cloud security include firewalls, penetration testing, obfuscation, tokenization, virtual private networks (VPN), and avoiding public internet connections.

Semantic Web

“The Semantic Web is a webby way to link data” — Dave Beckett

· Introduction

The Semantic Web is an extension of the existing World Wide Web, extended with the goal of the making network data machine-understandable. In other words, the current Web is transformed from being machine-readable to machine understandable. The Semantic Web provides much smarter and more effortless customer experiences by giving content in the forms compatible to a customer’s need. It not only improves traditional search, but is facilitating more seamless, intelligent, and integrated customer experience journeys as well. Semantic Web represents the next vital evolution in connecting information.

· Role of Ontology in Semantic Web Development

In order to structure the information in machine-understandable semantic models, Semantic Web introduced the concept of “Ontology”. Semantic Web was developed based on Ontology, which is considered as the backbone of the Semantic Web. Ontology is a way of representing the properties of a specific domain and how they are related, by defining a set of concepts, logics and categories that represent the domain. The general objective of an ontology is to achieve a common and shared knowledge that can be transmitted between people and application systems. Therefore, ontologies play an important role in achieving interoperability on the Semantic Web.

· Ontology Supporting Languages

The technology stack supporting the Semantic Web is designed to enable computers, software systems, and people to work together in a network. Ontologies are constructed using some ontology supporting languages, the most important of which are;

RDF

RDF stands for Resource Description Framework. It is a method for publishing and linking data, built around the Web standards: XML and URL (URI). RDF uses the model of the “triple”, three elements (a subject, a predicate and an object) bound together, with the relationships between them.

SPARQL

SPARQL stands for Protocol and RDF Query Language. It is the method, data stored in RDF format gets queried, retrieved and manipulated on the Semantic Web. SPARQL allows users to navigate through different databases and discover relationships between data.

OWL

OWL stands for the Web Ontology Language. So, OWL is a logic-based language, designed to be interpreted by machines so that they can automatically process through the information it describes.

What are the careers related to Net-Centric Computing?

Net-centric computing is an interesting and remarkable discipline that moves intelligence to the edge of the network. A wide range of careers related to net-centric computing include but are not limited to,

Network Administrator

Network administrators are responsible for keeping computer network up-to-date and operating as intended. It is network administrator who implements, manages and troubleshoots a networks. Other than these responsibilities, duties of a network administrator vary according to organization they work for. Typical job duties include consulting with customers to specify system requirements and design solutions, budgeting for equipment and assembly costs for a new network and monitoring computer networks and systems to identify how performance can be improved. At present almost all industries are computer-dependent, network administrators are needed in most disciplines, including the government, the finance industry, manufacturers, retailers, universities and hospitals. Most of the times a network administrator is required to have an IT related degree with knowledge of network types and functions, competencies in programming languages, software and hardware management, and network security.

Net-centric computing being one of the top paying IT fields, network administrators receive an average salary of $60,414 according to payscale.com. Furthermore, Bureau of Labor Statistics report has stated that the lowest 10% of these professionals earned less than $52,830, while the highest 10% earned more than $134,970. It is clear that the job market for network administrators is solid. So, if you wish to be a part of net-centric computing, Network Administrator can be considered as one of the best careers for you.

Network Engineer

Network Engineer is responsible for the planning, designing and implementing computer networks. Although the job titles “network engineer” and “network administrator” looks similar, a network engineer usually has more responsibilities than a network administrator. Also, the network engineering domain deals more with planning, design and implementation, whereas the administration deals mostly with day-to-day maintenance, management and troubleshooting of the network. And also typically, a network engineer requires more education and earns more than a network administrator. Network engineers often overlap with roles, such as computer network architects or security systems engineers. To be hired as a Network Engineer you’ll usually need a degree in subject areas such as software or computer engineering, computer systems and networks, electrical/electronic engineering, mathematics, network security management and physics. Moreover, being able to understand complex networks, pinpoint problems or suggest ways to improve them and having knowledge about applications and software development, reflecting the growing role of automation and software-defined networking will make you a perfect candidate.

According to salary.com the average Network Engineer salary in the United States is $71,596 as of May 27, 2021, but the range typically falls between $63,713 and $82,804 depending upon skills and experience level. Network engineering is a fast-growing occupation. The best thing is you can work for any organization that you like with IT systems including banks, government departments, schools, hospitals and local authorities and transport providers.

Web Applications Developer

Web Applications Developers are responsible for building, and making improvements to websites and web applications. Generally, a typical web application developer is responsible for both back-end development and front-end development. Web application developers are a type of software developer, specialize in utilizing web technologies, use to create websites and web applications. Although they look alike, web application developers are different from web designers, who focus more on designing the user interface of websites and web applications. Other than that common responsibilities of a web developer include discussing clients’ requirements and proposing solutions, using development tools to write and test code to develop solutions, applying off-page SEO (search engine optimization) and managing and uploading website content.

Graduates with a degree in software development or similar fields are preferred for web developer roles with hands on knowledge about scripting languages like HTML/XHTML, CSS, JavaScript, Server architecture, server-side frameworks such as python, ruby, php, Java, ASP, ASP.NET and database systems such as SQL and Oracle. As of Jun 6, 2021, the average annual pay for a Web Applications Developer in the United States is $81,840 a year according to the reports of ziprecruiter.com. It has further stated that web applications developer salaries currently range between $70,000 to $91,000 with top earners making $108,500 annually across the United States. According to glassdoor.com national average salary for a web application developer is $87,585 in United States. Job opportunities for web application developers are expected to expand by about 13% or the decade ending in 2028, according to the U.S. Bureau of Labor Statistics. So, if you are interested in web application development, you should consider being a web application developer.

Net-Centric Computing itself is the future of computing that brings together the lives of people. The earliest computer systems functioned in isolation from one another; but today it is almost impossible to find a computer system that is not networked in some way to other systems. This includes not only desktop and laptop computers, but also devices such as cell phones, entertainment devices and this will face massive changes in the future with advancing technologies like IoT (Internet of Things) and AI (Artificial Intelligence).

“Net-centric computing is like a box. When you open the box; Inside, there is a technology that seems both familiar and new.”

Hope you enjoy the article and you were able to expand your knowledge on Net-Centric Computing. Thank you for reading !!!!!!!!!!!!!!!!!!!!!

Isuruni Rathnayaka

--

--

Isuruni Rathnayaka
SESA-UOK

Software Engineering Undergraduate - University of Kelaniya Sri Lanka