M-commerce exploits the potential of the globally connected mobile computing environment, consisting of the Internet and mobile devices, to carry out commercial transactions ‚ namely, collecting information, ordering goods, and ensuring payment. In the mobile computing environment, the traditional transaction model needs to be replaced by a more realistic model, called a "workflow model", between several clients and servers that interact, compete , and cooperate, realising an intergalactic client-server program (ICSP). The various types of workflow patterns that arise in m-commerce (e.g., e-checking, shipping goods, purchasing, and market forecasting) require a subjunctive, or "what-if", programming approach consisting of intention and actions for trial-error design, before an actual commitment is made. Eiffel, iContract tool of Java, and UML are powerful languages to implement the intergalactic client-server program (ICSP). They provide for a software contract that captures mutual obligations using program constructs such as "require [else]" for precondition and "ensure [then]" for postcondition, assertions, and invariants needed in the mobile computing environment. Such program constructs are essential to deal with the uncertain nature of connectivity of mobile devices and networks, and the trialerror (subjunctive) nature of the processes and the programs used in M-commerce.