Some details
Develop and install a Java application directly onto a SIM card on a cell phone. The application changes the current mobile operator by rewriting a secure identifier on the SIM card.
The switching process is managed remotely by a web service where a user can change a mobile operator through web interface.
Read more
http://byndyusoft.com/casestudies/programmingvirtualsimcards