Saturday, 26 April 2014

The NAS that's more than a NAS

When is a NAS (Network Accessible Storage) device more than a NAS?

When it's a Western Digital DS5100.
I've just finished an evaluation of the WD Sentinel DS5100, courtesy of our colleagues at Western Digital and I'm blown away.

At a Western Digital presentation just prior to Christmas 2013, I got to see a number of WD devices in action. 

Initially, I was just interested in the Linux based My Cloud EX4 units. Great for backup and storage and some very clever applications. 

Normally, a software developer doesn't have a strong interest in NAS devices. However, on this occasion as I read through the specifications of the Windows Server 2012 DS5100 and DS6100 it occurred to me that these NAS devices were much more than storage devices.

After some email discussions with Simon Whitford from Western Digital about the possibilities, Simon sent a DS5100 for us (my colleagues at Brother and myself) to evaluate.

The specifications

The unit tested was the WD Sentinel DS5100 (code : WDBYVE0040KBK ). I'd class this unit as an entry level machine. For greater capacity take a look at the WD Sentinel DS6100.


Operating SystemWindows Server 2012 R2 Essentials
CPUIntel® XeonTM E3-1220LV2 2.3 GHz Dual Core Processor
RAM8 GB (Upgradable to 32gb)
Disk/s - AV HDD320gb - for operating system
Disk/s - iSCSI2 x 2TB (upgradeable to 4 x 2TB)

The DS5100 has the capacity for 2 AV hard disk drives and 4 iSCSI Drives. More information is available on the Western Digital website about the expansion capabilities of the device.

Set-up/Installation
Installation was fairly easy. Using a spare monitor (VGA connection) and a usb keyboard and mouse I set-up the DS5100 with the 2 x 2tb drives configured as RAID 1 (mirrored disks). The Windows Operating System is loaded on the AV HDD drive.

Purpose
The purpose of the evaluation was to see which software packages would work, test that it was possible to install the Brother printer drivers and ascertain as to whether the DS5100 could act as a terminal server.

Obviously not everyone will want  to run the programmes tested within this environment. All of the installed programmes ran and performed with no issues.

Installation Sequence


SoftwareVersionTypeNotes
MicrosoftSQL Server 2012Database EngineInstalled the full suite of (except Local DB) including SQL Management tools. Requires some patience as a number of downloads occur
Thinsoft IncWinConnect Server ES (64-bit)TS Software 5 user trial versionInstallation was straight forward and works as expected. Transforms the DS5100 into a full blown Terminal Server
OracleVirtual BoxVirtual Machine (Windows 8.1 pro 64 bit)Installed and tested using a Virtual Box copied from Ubuntu 13.10.




brotherPOSbrotherPOS POSSingle User VersionNo Issues - runs as expected
brotherPOSbrotherPOS POSNetwork VersionNo Issues - runs as expected
Soft VelocityIP Data ServerIP Data ServerWhen installing make sure that all of your DLLs are provided
Soft VelocityClarion Application Broker SEThe Application Broker features a hi-performance multi-threaded socket engine, built-in SSL support, runs as a Windows Service, and has a remote administration interface. The appbroker allows Clarion Developers to enable and run applications over the web. see www.softvelocity.com for more detailsIn this evaluation the drive I used for applications was the D: drive - the drive letter may vary in other installations To install and configure this service you need to undertake the following. 1. Install to the Raid enabled Drive 2. If using secure login search and edit the registry setting where the drive letter is incorrect. 3. Server Firewall a) Allow the port/s b) Allow the executable (as at writing c60aps.exe in the D:\ClarionAppBroker\ folder). Under 64 bit Windows systems you need to locate and run c60aps.cpl as an administrator to configure the port




PrintersDetailsDevice TypeNotes
BrotherHL2250DNNetworkRecognised and installed via Windows Update
BrotherJ6910 MFCNetworkRecognised and installed via Windows Update
BrotherTD-4000USBDownloaded Windows 8 64 bit driver then installed using the manual printer installation process
OtherPDF CREATORSoftware PrinterDownloaded and installed - no issues

Summary

This is a fantastic device. The performance is superb and the footprint is extremely small. Beyond its use as a NAS, the DS5100 would make a great server for any business requiring a low profile, reliable, quiet and very fast data server.

If your data and business activity doesn't need to rely on reliable, responsive and fast response times then the DS5100 is not a cheap machine. 

However, if your data is valuable to you and you see your investment in IT infrastructure as an investment, then you will find the DS5100 gives value for money performance.

We'll be offering the WD DS5100 (and DS6100) as a server to our clients. 

The performance using Microsoft's SQL Server (I'm thinking very useful for CRM and large accounting systems), was extremely fast for connection and data retrieval. In addition the server software (IP Data Server & Application Broker) from Softvelocity performed extremely well. Although the Clarion Application Broker is relatively old technology the response times from the DS5100 were the fastest I've seen for some time.

Installation of the Thinsoft WinConnect product was very easy and performed exceptionally well.

Virtual Box: I use Virtual Box for development. I can't envisage anyone wanting to use this in a business environment (I'm open to being corrected on this). Needless to say, performance was brilliant.

I know that Western Digital designed the DS5100 to be a high performance NAS. As a NAS it shares files and performs as expected. To be honest, if I was only interested in a NAS I'd look at some of the other Western Digital devices such as the My Cloud EX4. In fact you could actually have a number of WD devices on the network to meet all of your needs.

I really like the idea of "My Cloud". I've written before on the cloud and its over-hyping. Western Digital have come up with a solution that allows you to build your own cloud. The advantage is that you know where your data is and how it's being managed.

Okay, here's a list of where I think the DS5100 as a server may be suitable (you may see additional possibilities).


Business/IndustryNotes
Retail Point Of SaleBecause of its small footprint and low profile, the DS5100 would be ideal in a retail situation as a discrete server. Add in the Thinsoft WinConnect software and you've got a server that's accessible in-house and from off-site. With our brotherPOS point of sale you can have Tablet ordering as well as our standard POS approach.
Database ServerThe insane performance of the DS5100 means that where you need to add a new SQL Database server you'll get real bang for buck out of this device.
WholesalersMost wholesalers have limited office space, need another server for your inventory system? The DS5100 is ideal due to its robust design and small profile.
SupermaketsReliable, fast and small profile. Add in Thinsoft WinConnect and the manager can log in any time to see how the business is performing
Terminal ServerNeed a small departmental terminal server? Then the DS5100 becomes a very low cost device. With Thinsoft's WinConnect you can attach any device that supports RDP.














Wednesday, 26 February 2014

Clarion IP Driver and Multiple Clarion IP Servers



I had a need to attach to two different Clarion IP Servers simultaneously. The documentation refers to the ability to do this. However, the documentation is really discussing how to change file names, not addressing multiple servers at the same time. Not what was needed.

The IP Extender templates will enable a number of powerful IP DRiver/Server functions but not what I needed in this instance.

To do what I wanted I needed to make a minor adjustment to the IPDRV.TPL template file.

Changing the IPDRV.TPL fileclarionipdrvchanges.png

Step 1
Backup it up!

As you can see;  lines 159,160 , 172 & 173 are commented out of the standard Template Code.

The effect :- by commenting out these 4 lines the IPDRV::OWNER Global Variable no longer replaces all Owner Attributes. The beauty of this approach is that if you have no need to access more than one IP Server leaving the Owner Name attributes blank in the dictionary will still result in IPDRV::OWNER as the default variable to enable connection.

Things to know
It’s not possible (as far as I can tell), to have two files with same label open at the same time. No surprise, as it’s not possible in non-IP enable applications either.

The process I went through...
Step 1
Create the Global Variables you’ll use instead of IPDRV::OWNER (The default variable)
In my case I’ve created a separate Group called IPDRV in my dictionary.

clarionipdrvglobalvars.png
As we’re trying to replace the default IPDRV::OWNER variable I suggest that we create the variables with the same attributes.

Leave the “generate last” option unselected as the application will need to have the Global Variables used defined/generated prior to the file declarations.

Step 2

Copy the table structure/s (either to a new dictionary or into an existing) from the second (or third) dictionary that you’re going to use. Since my application is only able to use a single dictionary (I believe this is true of all Clarion applications), I needed to make sure that the data structure matched the structure used in the original dictionary.

Step 3
In the Owner Name  attribute enter the Global Variable to be used preceded by the ! (exclamation mark).

ClarionIpdrvTableProperties.png  
Save and exit.

TIP :-  Leave the Owner Name blank if this table is going to be accessed via the default IP Server.

Step 4
Generate the Data Manager DLL - this will create/update the IPS file for your IP Driver enable application.

Step 5
Open your Application

Step 6
Assign the values required to the Alternate Global Variables. I’ve done this in the Program Setup  after the   “Assigning IPDRV::OWNER” embed.

ClarionIPGlobalEmbeds.png
TIP : - Don’t forget to provide the default IPDRV::OWNER values in the IP Driver Client Global Template extension

You could store the details of the alternate IP Servers in an INI file a local file or even in an IP Server Table.

Summary

These simple changes in the IPDV.TPL  Template file extend the power of the IP Driver/Server combination without changing the more common default single IP Server.

In our case we needed to have two different applications communicate a small subset of their data between one another.

This ability allows you to at the minimum
  • Roll your own registration server using the IP Driver/Server
  • Create Data Connectors between servers where the data resides on different IP Servers


Disclaimer
Please note that I have not yet assessed the full impact of these changes on the other aspects of the IP Driver/Server environment.