NEW JavaScript / JSON Interface to CREO?!
Good Day All...
We have been developing a highly optimized interface to Pro/ENGINEER / CREO that uses JLINK (and can also support Pro/TOOLKIT) for many years - it is the core library of our commercial offerings like Nitro-CELL, Nitro-PROGRAM, and Nitro-BOM.
The current code base is a Java Library that can be included in a Java application to directly communicate with Pro/E / CREO asynchronously (control Pro/E / CREO externally - not as a registered application on startup - connects on the fly). While we have some specialized applications running headless automations for some of our customers using the library directly, most of our code uses a micro-server to handle all the bi-directional traffic to/from CREO for us.
The micro-server basically internet/network-enables an interface to Pro/E / CREO - but is often used on the same machine as the application talking to it.
We have been thinking about implementing a NEW "JSON" layer to the micro-server that would allow ANY language to communicate and run our optimized JLINK interface remotely.
The simplest implementation would be JavaScript in my view. For a couple of reasons.
1 - tight, efficient and readable code
2 - easy to learn for people new to programming or seasoned pros
3 - LOTs of code out there as examples
4 - active community for help
5 - Node.js as an application framework and service is very popular and easy to use (stand alone applications, web and socket applications and services)
6 - Office 2016/365 is embracing javascript more every day.
7 - There are a lot of libraries and packages available for it...
8 - it is fast, flexible, extensible and cool.
An example of this could be as simple as this:
var requestObj = {
action : "open",
parameters : {
name : "box.prt",
display : true
}
}
creoClient(requestObj);
But -- IF (big IF) we build a JSON interface, this would be able to be used by ANY language that supports JSON.... Visual Basic, .NET, C#, Java, etc, etc. etc. So we feel this would be a good option for anyone - regardless of development preferences
Please respond with any thoughts or interests in this. Not looking to "sell" this -- it is an interesting idea as a starting point.
Thanks in advance.

