C++ Programs can be embedded within HTML

CODE:NEO allows the programmer to directly embed traditional C/C++ code (including library calls and object instantiation) directly into HTML pages. Web-enabling an application in C/C++ becomes a very quick and easy task, with a cleaner separation of the presentation layer and the business logic. The CODE:NEO system operates in an analogous way to JSP and Java in that the pages are preprocessed and converted into a machine-readable format before execution. However, unlike JSP and Java, the code is written entirely in C/C++, allowing companies to leverage their existing code bases, saving both time and money. Additionally, as code is often reused from existing and tested libraries, CODE:NEO can allow application development with fewer errors, because less recoding is required in order to web-enable an application. Finally, code can execute over ten times more quickly under CODE:NEO as the code is compiled, not interpreted.

To create a CODE:NEO-based web solution, a programmer needs to create instructions for the processor to handle an incoming request. This is accomplished by directly embedding C/C++ code into an HTML page. Once this HTML/C++ page (which we call a Rivet) is translated into pure C++, it may be compiled and linked against developer libraries, third party libraries, system libraries and the CODE:NEO library. Through this linkage CODE:NEO can accomplish significant cost savings by reusing existing software for web development.

After this CODE:NEO binary object is created, it can be placed on a CODE:NEO-enabled web server. When such a file is requested (for example, by an HTTP GET statement) the web server passes control to CODE:NEO Application Server, which performs the function of interfacing CODE:NEO applications to the web server. This server is offered in two basic forms: as an ISAPI extension for Microsoft IIS (or any other ISAPI compliant server) and as a module for Apache web server. The application server also provides other service functionality, such as logging and debugs systems, in order to aid development and increase product quality. The call to the application server occurs very quickly within the web server. Once execution is within the binary file (known as the “Joint”) the programmer is free to call any C++ or inline assembler instructions they wish, even printf, which will have the effect or printing to the console. If the programmer wishes, he can output data back to the web browser with the simple interface swritef, which uses the familiar ANSI C format string specification.