Quality is our top business priority
Vilia delivers top-quality IIoT solutions based on PTC ThingWorx and AWS technology. We are based in Monaco and employ Top-5% of worldwide talent. Since 2017 we have successfully delivered 13 customer projects in Air & Defense, Medical Devices, Pharmaceuticals, Chemicals, and Finance.

IoT Solutions
Every project is different, yet they have a lot in common. We reuse as much as we can, so that YOU can create truly innovative products.
Base package
We start with a base package, which is 80% standard and includes the most common set of functions, that we find in most of the IoT projects.
Common functionality
This is where we usually spend most of our time. “Common functionality” is what we’ve already done few times in the past, so it seems to be relatively widespread. However we couldn’t “standardize” it because we always find significant differences, varying from project to project.
Advanced functionality
This is our favorite part, where real innovation begins and our experience shines. We implemented each of those in the past, but every time it was a learn-something-new type of experience. There are no one-size-fits-all solutions here and specifying each of those typically requires dedicated workshops.
Open Source projects
We invest into building Open Source ecosystem around ThingWorx
Lack of static typing in ThingWorx provides great productivity benefits for small projects, but becomes somewhat of an issue as soon as the code base grows beyond some limit. Unit testing is essential to addressing this problem. Unfortunately PTC hasn't included any unit testing facility into the core platform (yet). This project is here to try filling this gap.
TwxUnit is an Apache 2.0-licensed unit testing framework for PTC ThingWorx platform, compatible with JUnit semantics and existing tooling for JUnit 2+. It is the first such solution that we are aware of, and as such it is actively developed. It allows you to do this:
// -- QueryTestSuite.TestWithFilters()
// Tests that QueryUtility.Query() returns exactly three rows
// The rows are added in me.Before() and deleted in me.After()
var things = Things["QueryUtility"].Query({ filters: { tag: "testdata" } });
assertNotNull(things, "Query returned null");
assertEquals(3, things.rows.count, "Count is not 3");
Amazon Managed Streaming for Apache Kafka extension package.
Tested with ThingWorx 9.3.5 and AWS MSK with public access enabled. Authenticates via plain username + password over SASL / SCRAM. This extension can be used for implementing prototypes and demos.
A trivial extension (33 lines of JavaScript code!) permitting you to use Expression and Validator widgets for INFOTABLEs.
Using it is trivial too -- just drop it on your mashup and bind it like this:
(Sertice) --[INFOTABLE]--> [Data](InfotableToJson)[Output] --[JSON]--> (Expression)
This extension can serve as an example of a truly trivial, yet functional example. It's a good starting point if you are new to authoring ThingWorx extensions.
This is a simple ThingWorx extension wrapping sc
command-line utility from Windows SDK (see details
in Windows Dev Center).
Currently it supports only querying Windows services, allowing you to
get the list and state of all configured services on the Windows box where ThingWorx is running. Usage is trivial:
try {
var windowsServices = Resources["WindowsServicesFunctions"].QueryServices();
} catch (ex) {
// Unsupported platform (Linux, Docker, no SDK, etc.)
}
This returns an INFOTABLE of WindowsService
shape like this:
name | description | type | state |
---|---|---|---|
AdobeARMservice | Adobe Acrobat Update Service | WIN32OWNPROCESS | RUNNING |
Appinfo | Application Information | WIN32 | RUNNING |
AppMgmt | Application Management | WIN32 | RUNNING |