# Platform Purpose

ProcessMIX is a platform for rapid development of decision-rich backend solutions.

Modern business software, especially when designed for use on the Internet, is typically organized into several logical tiers:

1. Frontend: end user interface for interacting with the rest of the system, such as a web-based or mobile application.  It is typically focused on providing best user experience, but does not run core business logic, nor does it directly persist core business data, both for complexity and for security reasons.
2. Backend: server-side software that contains the bulk of the busines logic of the application, including decision-making strategies, integrations with other systems, and logic to persist, load and process customer or business data.
3. Persistence: places where the customer and business data is stored on a long-term basis to be used by applications whenever needed. This includes databases for storing structured data, as well as file or document storage suitable for unstructured content.
4. Integration Layer. No modern application lives in a vacuum anymore. In Software-as-as-Service (SaaS) paradigm, applications act as clients of other applications (services), as well as expose their own services to other clients, using various interfaces and protocols.

ProcessMIX platform is focused on simplifying the last 3 parts of this puzzle—bac kend, storage and integration tiers.



<div data-full-width="false"><figure><img src="https://3477030876-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYK40zKr4ZyVfqCRAUI9t%2Fuploads%2FTZmyZCeIPLtJhwng43rk%2FProcessMix%20Overview%20Diagram.gif?alt=media&#x26;token=4b5fe318-3d7f-468a-b5b6-2ebfe7580c57" alt=""><figcaption></figcaption></figure></div>

* It allows to quickly define backend logic using visual drag-and-drop interface and deploy it as a service that can be be called by the frontend or client apps via online API (REST or SOAP endpoints), or executed on a scheduled basis in a batch mode. \
  \
  You can instantly deploy your project to the cloud without implementing your own complex deployment processes (DevOps). Alternatively, you can export it as a Java package (JAR or WAR file) and embed it into your local application.

{% hint style="info" %}
ProcessMIX can be used for creating any backend services, especially the ones that use complex busines rules, machine learning and predictive analytics to automate business decision strategies and mitigate risk. It comes with numerous specialized components specifically designed for that purpose.
{% endhint %}

* It can be used to instantly provision an internal relational database to serve as a structured data storage for your solution. Document/file persistence in an S3-compatible object store can be added as well.
* It comes with a set of prebuilt connectors to integrate with external services, such as REST or SOAP API endpoints, external databases, message queues (Kafka) and blockchain/smart contract services (Ethereum). Other connectors can be easily added as needed.

All of this functionality, as well as various testing, troubleshooting and version control tools, are made available via ProcessMIX development environment to your internal business users that do not need to be IT experts beyond understanding platform concepts explained in this book.
