How to correctly apply the same data transformation , used on the training dataset , on real data in a webservice?
I just noticed that none of the answers contained the most important instruction. So here is how it's done since i already resolved this a long time ago.
from sklearn.pipeline import Pipeline
from sklearn.externals import joblib

pipeline = Pipeline([
                ('normalization', MinMaxScaler()),
                ('classifier', RandomForestClassifier())
            ])
pipeline.fit(X)

The pipeline.fit() was missing from other answers which is very important. Once scikit function has learned the parameters of your training data X , you can dump that pipeline into a file and do the rest like this.
joblib.dump(pipeline, 'transform_predict.joblib')
pipeline = load('transform_predict.joblib') 
transformed_data = pipeline.transform(new_data)

This will apply the same transformations to a dataset (even if containing 1 sample) that was done on your training dataset.
Update
for newer version, I believe one has to read. I hit the memory limit and the following change helped.
with open(conf['le_embedder_file'], 'rb') as f:
    pipe_le = joblib.load(f)  

and write
with open(conf['tecv_embedder_file'], 'wb') as f:
    joblib.dump(pipe_tecv, f, compress='zlib')

I had to read