What is esProc?

But what on earth is esProc? Can it be described in a few words?

Marketing stresses that it’s important to get product positioning and features quickly understood by potential customers. Many times we were asked by friends and customers if esProc can be fully clarified in a matter of one minute.

We do take it seriously, but the answer has been NO.

People generally try to explain or understand new things by comparing them to familiar ones. For example, electric cars are vehicles powered by electric instead of gasoline. When there isn’t a reference concept, explanation becomes difficult. Before smart phones were invented, it’s hard to explain what iPhone is. Is it a telephone, a portable media player, a digital camera, a game console, or a handheld work device? They are all right but incomplete. It has too many functions to be classified into a familiar thing.

That’s the situation esProc finds it in now. It is capable of many things: preparing report data source, handling ETL, performing big data computing and text analysis, manipulating Excel file, acting as computing middleware for Java and data gateway, etc. Ten minutes to half an hour is needed to expound each capability. If one of the capabilities happens to hit the pain point of a user, they will take an interest; otherwise, the response may be lukewarm.


Yet it’s necessary to have a try, difficult though this may be.

Simply put, esProc is the software for computing (semi)structured data, mainly. Technologically, it constitutes the triad of three things:

A programming language: esProc develops its own programming language (SPL, which stands for Structured Process Language) and data objects to facilitate the programming process for structured data computing, and is proved to have excellent performance in handling most computing scenarios. It is particularly suitable for dealing with complicated procedural computations. SQL, Java and Python are the languages that can handle the similar thing.

A data computing middleware : esProc provides a computing ability independent of databases. It can perform various types of structured data computations independently, and is very integration-friendly as it can be easily embedded into an application. It is suitable for dealing with computing scenarios where databases are absent or that involve multiple databases. Databases and ETL tools are now generally used to handle those computations.

A big data computing platform: esProc has its own cluster computing system for processing large amounts of data. The system offers a distributed computing environment where programmers are able to control the task distribution to implement the most appropriate and efficient algorithm. The two rivals in this field are Hadoop and MPP database.

The technicalities in describing esProc are evidence of a technically-strong product catering to programmers, or at least data analysts who can develop program, not the ordinary employees who cannot code.


The most important thing to learn about a product is to know what it can do, that is, the application scenarios. esProc has many application scenarios, as listed in the above, and each cannot be fully elucidated without going into every detail. We’ll specifically write articles about these scenarios.

It’s equally important to know what it isn’t or what it cannot do.

esProc is neither a reporting tool nor a BI tool: Report building issues inspired the idea of esProc, but the software didn’t come out as a reporting tool or a BI tool. It almost doesn’t provide the ability to present data in a certain format, and, when used as a data analytics tool, it requires program writing rather than drag and drop to create a report. Instead of rivals, esProc and a reporting tool can make a great team.

esProc can’t replace databases: As a pure computing middleware , esProc has all, even better, computing capabilities databases have, but it doesn’t emphasize data storage as databases do. Its data file formats are mainly designed for high-speed cache, but it doesn’t have the data schema as databases have. esProc can replace certain functionalities of databases, but the latter still has reasons to thrive.

esProc doesn’t offer data mining and AI algorithms: esProc is intended for structured data computations, mainly including grouping, aggregate and associative operations. It doesn’t provide data mining and machine learning algorithm libraries, so it can’t be used for the two types of scenarios at present. But in the future we might equip esProc with those capabilities.