Contents
1. Network Optix Announces Its Acquisition of Scailable BV2. Ten Highlights from 2023
3. New Integration: Gallagher Command Center & Nx Witness VMS
4. Support Article: Exploring the Fundamentals of CRUD and REST APIs with a Focus on the Latest Nx Witness API
1. Network Optix Announces Its Acquisition of Scailable BV
Network Optix is thrilled to announce its acquisition of Scailable BV, an innovative cloud-to-edge AI deployment and fleet management startup based in the Netherlands.
Scailable’s cutting-edge development, deployment, and management tools allow AI developers or data ops teams to seamlessly deploy AI models from the cloud to any edge hardware device, re-train them, and manage an infinite fleet of edge AI pipelines. This not only streamlines operations but does so while minimizing spent time, effort, and cost.
By integrating Scailable’s tools as a component of the Network Optix Video Platform, Network Optix and Scailable aim to supercharge the extraction of actionable intelligence from video, turning it into a powerful data sensor, accessible to anyone.
With the incorporation of Scailable's capabilities into the Network Optix Video Platform, Nx aims to empower developers and organizations to create and deliver customized and ever-evolving solutions, with a fraction of the resources.
See the full announcement here.
2. Ten Highlights from 2023 - Nx Oceania
2023 proved to be an exceptional year for Network Optix and the Oceania team. From securing a spot on the Inc. 5000 Fastest Growing Companies in America list for the seventh consecutive year to hosting the largest show to date organized by Nx at ASIAL 2023, it's been quite a journey. Let's delve into the highlights that made 2023 truly unforgettable:
3. Gallagher Command Centre & Nx Witness VMS
Experience heightened security efficiency with the seamless integration of Gallagher and Nx Witness VMS, allowing for effortless streaming of live video from Nx Witness to Gallagher Command Centre. This integration simplifies control, offering customizable camera tiles, quick response to motion or event-triggered alarms, and seamless access to stored video. Using the combined solution, operators can capture frames in stunning 4K resolution, adjust camera settings, and seamlessly toggle between live and stored footage.
4. Exploring the Fundamentals of CRUD and REST APIs with a Focus on the Latest Nx Witness API
In software development, engineers commonly encounter the terms CRUD, also known as Create, Read, Update, and Delete, and REST or REST API, also known as Representational State Transfer Application Programming Interface. Developing a comprehensive understanding of these concepts and their respective benefits is essential for proficiently developing web applications or leveraging web APIs. This article aims to provide insights into CRUD and REST, using Nx Witness's latest API as an illustrative example of RESTful transformation.
What is CRUD?
CRUD is an acronym that stands for Create, Read, Update, and Delete. It represents the four essential functions to implement a persistent storage application. Here is a brief explanation of each operation:
- Create: This operation refers to the action of allocating a location in storage or adding new data to a database. For instance, when you add a user or a camera to the Nx system.
- Read: The "Read" operation involves retrieving or accessing data from a database or storage. It allows users or applications to view or retrieve existing information. When you log in to an Nx Witness system and view camera details, you are performing a "Read" operation on the database.
- Update: The "Update" operation involves modifying or changing existing data. This task may include changing a user’s password or configuring the recording schedule of a camera, and it is executed through the Update operation.
- Delete: The "Delete" operation is the process of deallocating a location from storage or removing data from a database. For example, when you delete a camera or a user from an Nx Witness system, you are executing a "Delete" operation.
What is REST?
REST is an architectural style rather than a standard or protocol. REST stands for Representational State Transfer Application Programming Interface. This may not be a familiar topic for you, so let us delve deeper into what it is, what it is used for, and what you can do with it. REST APIs are almost always accessed over HTTP or HTTPS. This gives REST one of its greatest strengths – it is ubiquitous. It is one of the standards that drives the Internet. As a result, it is a technology that is understood and utilized by most developers.
Another one of REST API’s greatest strengths is simplicity. Existing integration tools like SOAP, XML-RPC, and others were very flexible and powerful but harder to work with because they weren’t supported in browsers.
Primarily, HTTP-based RESTful APIs are characterized by the following components:
- A base URI, such as http://api.example.com/collection/.
- Standard HTTP methods (e.g., GET, POST, PUT, PATCH, and DELETE).
- A media type that defines state transition data elements. The current representation informs the client on how to compose requests for transitions to all the next available application states. This could range from a simple URI to a more complex entity like a Java applet.
RESTful APIs are web service APIs that adhere to REST constraints. These constraints dictate the methods a server can employ to process and respond to client requests. They were devised to ensure that software developed with a REST architecture exhibits good performance, scalability, simplicity, malleability, portability, and reliability.
- Client-Server Architecture: A client-server architecture segregates the user interface (client) from data processing and storage (server). This enhances system portability, scalability, and malleability, allowing modifications on the fly.
- Statelessness: Statelessness requires no continuous connection between the client and the server. Each client request must contain all the necessary information for execution, ensuring reliability in the interface between clients and servers.
- Cacheability: Caching involves strategically storing information for quick access. For example, web browsers cache data from websites to expedite reloading. When implemented effectively, caching significantly improves the scalability and performance of an application.
- Layered System: A layered system conceals the server's identity from clients. This approach also enables servers to call other servers within a system to generate a response for any connected client. It enhances system scalability through load balancing and shared caches.
- Code On-Demand: Code on Demand allows servers to temporarily enhance or customize client functionality by transferring executable code, such as Java applets or client-side JavaScript. This feature increases the malleability of an application built on a REST API.
-
Uniform Interface: The uniform interface constraint is fundamental to RESTful system design. It simplifies and decouples the architecture, allowing each part of the system (e.g., client or server) to evolve independently. This enhances system flexibility and ease of maintenance.
REST and CRUD: Working in Harmony
The earlier information in this article aimed to give you a basic understanding of REST and CRUD. To recap, CRUD represents four basic operations related to persistent storage or databases, while REST is an architectural style rather than a standard or protocol.
In the realm of web development, developers typically adhere to REST principles when designing API architectures to accomplish CRUD operations on databases. However, it's crucial to note that REST APIs are not confined to CRUD operations exclusively. They extend beyond these fundamentals, enabling clients to execute a diverse array of operations, including tasks like initiating a server reboot or creating a database backup.
Nx Witness Version v5.0 - Refined REST API
To enhance maintainability, several refinements have been implemented in the APIs since the release of Nx Witness v5.0:
- All RESTful endpoints are now in lowercase. For example, replace /ec2/getUsers with /rest/v2/users.
- The RESTful endpoint exclusively contains the target resource (e.g., the user account), and the operation on the targeted resource is mapped to the appropriate HTTP methods. For instance, use HTTP DELETE /rest/v2/users/{id} instead of HTTP POST /ec2/removeUser.
- Version information has been added to the RESTful endpoint. For example, /rest/v1/users or /rest/v2/server.
These improvements enable developers to comprehend the functions and behaviors of a specific API more clearly. Let’s explore the following examples:
CRUD operations |
HTTP Method |
RESTful endpoint |
Purpose |
Create |
POST |
/rest/v2/users |
Create a user |
Read |
GET |
/rest/v2/users |
Get all users |
Update |
PUT |
/rest/v2/users/{id} |
Replace all info for the specific user |
Update |
PATCH |
/rest/v2/users/{id} |
Update partial info for the specific user |
Delete |
DELETE |
/rest/v2/users/{id} |
Remove the specific user |
Nx Witness Version v5.0 introduced significant enhancements to its REST API, aligning with a commitment to continual improvement. The adoption of lowercase RESTful endpoints, resource-specific operations, and version information contributes to a more user-friendly experience for our partners. For further details on optimizing API usage or any inquiries, contact support@networkoptix.com.