what is software embedding and how is it done in java