saving and publishing are really the same thing, for both, you need to save the form information to the database.
in order to distinguish between a saved record and a published record, you would need another column added to the table, lets say for example sake we call this column "status"
you would need to have 2 insert record behaviors on the page, one to trigger off the save button being pressed, in this one, set the status column to 0. the other to trigger off the publish button being pressed in, this one set the status column 1.
for the preview option, you would need to hand code a javascripnt function to use the window.open property to preview the form and trigger this on the onClick event of the preview button.