Visuality Systems

YNQ vs. jNQ: What are the Differences and Which SMB Solution is Right for You?

What is YNQ and How Does it Enable SMB Connectivity for Embedded Systems?

Visuality Systems offers YNQ, a revolutionary SMB solution designed to enable seamless connectivity between non-Windows-based systems and machines based on Microsoft's operating system. Written in pure C (ANSI C), YNQ stands out as a hardware-independent solution, a feature that ensures exceptional portability. This means you can implement YNQ on any processor and platform, providing you with maximum flexibility in development and deployment.

YNQ is not just a single solution, but a family of four distinct products, each addressing specific needs: There is a standalone client providing full SMB functionality, as well as an enterprise client that allows registration to the corporate Active Directory. On the server side, you will find a standalone server with full SMB server functionality, alongside an enterprise server that includes the ability to register to Active Directory and pass-through authentication. This variety allows you to choose the most accurate solution for your unique requirements.

YNQ's primary use case is in Embedded Systems and IoT applications, where it serves as a vital bridge between dedicated devices and Windows-based environments. Imagine advanced printers, medical equipment, smart car systems, or industrial robots – all can communicate securely and efficiently with file servers and other resources on the corporate network, thanks to YNQ's advanced technology.

Visuality Systems is a leading global developer and supplier of Server Message Block (SMB) protocol solutions for over two decades. We provide robust, secure, and flexible Microsoft SMB client and server solutions for embedded products, Java-based applications, and storage systems. Visuality Systems' products, and YNQ in particular, ensure that you receive not only an advanced technological solution, but also peace of mind regarding security, compatibility, and stability.

What is jNQ and Why is it the Preferred Solution for Java Applications?

For Java developers, Visuality Systems' jNQ library offers a top-notch SMB solution, specifically tailored to the JVM environment. jNQ is an advanced SMB client library written entirely in Java, and it is a high-quality and powerful replacement for existing libraries like JCIFS, especially when you need support for innovative protocols like SMB2 and SMB3. In fact, jNQ is the only commercial solution in Java that provides full and up-to-date support for SMB3.1.1, ensuring maximum compatibility with the most modern Microsoft systems.

One of the outstanding advantages of jNQ lies in the legal protection it provides you. The library comes with a license to Microsoft SMB patents, under a direct license agreement with Microsoft. This fact protects you from exposure to intellectual property and patent risks, and allows you to develop with complete confidence. Beyond that, jNQ supports SMB 3.1.1 encryption, allowing you to share files in a highly secure manner, with end-to-end encryption, critical in sensitive organizational environments.

jNQ's flexibility is also reflected in its broad support for a variety of Java environments. Whether you are working with Oracle Java, OpenJDK, or IBM Java, the jNQ library will integrate seamlessly into your applications. It allows you to develop Java applications that require fast, secure, and reliable access to SMB-based network resources, such as file servers, virtual servers, and more.

We provide robust, secure, and flexible Microsoft SMB client and server solutions for embedded products, Java-based applications, and storage systems. With jNQ, you get not only a technical library, but a strategic partner that ensures you a modern, secure, and worry-free SMB solution for your Java applications.

What are the Main Technical Differences Between YNQ and jNQ?

Now that you understand the purpose of each of the solutions, let's dive into the main technical differences between YNQ and jNQ so you can make an informed decision about which solution is best for your project.

The most basic and fundamental difference lies in the development language and target environment. YNQ is written entirely in C (ANSI C), making it ideal for Embedded Systems and Real-Time Operating Systems (RTOS) where there are stringent requirements for performance, low memory utilization, and tight control over resources. In contrast, jNQ is a library written entirely in Java, and it is designed to run on the Java Virtual Machine (JVM). This means that jNQ is perfectly suited for various Java applications, from desktop and server applications to complex enterprise applications.

Another critical difference concerns the scope of functionality that each solution offers. YNQ provides full functionality as both an SMB client and an SMB server. This allows you to turn an embedded device (such as a printer, industrial controller, or medical device) not only into a client that can access resources on the network, but also into a file server in its own right, accessible to Windows computers. In contrast, jNQ is an SMB client library only. Its role is to allow Java applications to access file shares and other resources on existing SMB servers.

In terms of use cases, YNQ is the natural choice when you are developing edge hardware or operating system-level software for physical devices that need to communicate using the SMB protocol. For example, if you are building a smart printer that needs to save files directly to a network server, or an industrial HMI (Human Machine Interface) system that needs to read data from an SMB server, YNQ is the solution. On the other hand, jNQ is the preferred solution when you are developing a software application (written in Java) that needs to access files, folders, or other resources on an SMB server. For example, an enterprise document management system in Java that needs to store and retrieve files from network shares would use jNQ.

All Visuality Systems products undergo comprehensive quality assurance, are fully compatible with all operating systems, and meet Microsoft's intellectual property requirements for small and medium-sized businesses. A thorough understanding of these differences will help you choose the right tool to bring your project to success.

How to Choose Between YNQ and jNQ for Your Project?

The choice between YNQ and jNQ depends entirely on your development environment and the specific project requirements. If you are involved in developing embedded systems, hardware devices, or applications that require operating system-level control, and use the C language, then YNQ is the natural and preferred choice for you. It will provide you with the performance and flexibility required in resource-constrained environments.

On the other hand, if you are developing software applications in a Java environment and need the ability to securely and reliably access SMB shares, jNQ is the library that will meet all your needs. It will allow you to easily integrate advanced SMB functionality into your Java applications, while maintaining full compatibility and security. Visuality System customers, serving over 150 leading customers worldwide, benefit from 24/7 professional support from experienced small and medium-sized business engineers, so you can be sure you will receive the advice and support needed to make the right choice.