Patent ID: 9729677
Date: 2017-08-08
CPC Classifications: G06F,H04L

Claim:
1. A method for creating a process of human computer programming without mandatorily distinguishing client side programming and server side programming, said process includes an execution environment and a preprocessor; said preprocessor generates client side code and server side code from human programming which is coded without distinguishing between client side coding and server side coding; while generating client code and server code the preprocessor creates execution scopes at the server and at a client by imitating execution scopes coded by the human programming as a single execution scope, the execution scope is imitated by the preprocessor by values visible by the client code and the server code within the scope, including server states included into upload and download values by the preprocessor, where the server states are the server values from previous server connections and needed by code to be executed at the server for subsequent server connections; the preprocessor identifies and generates a client server connection with the following criteria: if human programming statement is a server operation and current execution context is the client, then a client to server execution context switching point is identified to be before the human programming statement, if the human programming statement is the client operation involving server side values and the human programming statement has not already been arranged into a callback function by the preprocessor for the client server connection then the client to server execution context switching point is identified to be before the human programming statement, if the human programming statement is the client operation and the current execution context is the server then the server to client execution context switching point is identified to be before the human programming statement; said execution environment supports multiple server technologies and, from a point of view of a human programmer, human programming can be done without mandatorily distinguishing server technologies to be actually used; said process uses a server-technology-independent Application Programming Interface (API) for server side code programming and code generation by the preprocessor, the server-technology-independent API is implemented by supported server technologies, a server side dispatcher executes the server code using corresponding implementation of the server-technology-independent API with corresponding server technology, at a time of making the client server connection, among upload values and the server code for the client server connection, there is information identifying server side libraries implementing server-technology-independent API, said information is referred to as server implement information, for server technology using Active Server Page Extended (ASPX) the server implement information can include type information and Dynamic Library Link (DLL) path so that a software framework can dynamically load assemblies needed by the parts of implementation of the server-technology-independent API referenced by the server code, for server technology using PHP the server implement information can include PHP file names for the parts of implementation of the server-technology-independent API referenced by the server code, for server technology using server side JavaScript the server implement information includes JavaScript file names for the parts of implementation of the server-technology-independent API referenced by the server code.