KDDML (KDD Markup Language) is a middleware language and system designed to support the development of final applications or higher level systems which deploy a mixture of data access, data preprocessing, data mining models extraction and deployment. The KDDML language is XML-based, both for query syntax and data/model representation. A KDDML query is an XML-document where XML tags corresponds to operations on data/models, XML attributes corresponds to parameters of those operations and XML sub-elements define arguments passed to the operators. We will survey operators on data access and preprocessing, model extraction and deployment, and control flow ones. The core of the KDDML system is a KDDML language interpreter with modularity and extensibility requirements as the main goals. Additional data sources, and preprocessing and mining algorithms can be easily plugged-in the system. The KDDML system is implemented in Java and includes of a graphical user interface for editing queries.