Basically, there 3 types of patterns on the IBM PureApplication System: Virtual Appliance, Virtual System and Virtual Application:
Virtual Appliance is basically images, Virtual System patterns are set of image and scripts which automate the deployment, Virtual application patterns is a pattern at the application view level, you can have an Enterprise Application and a database application, it contains also scaling policies…. Creating a Virtual Application will ask more work because it contains more know-how but will be easier to use for end-user.
ICCT can be used to build images which will participate to the elaboration of Virtual Application Pattern. ICCT can be download from the PureApplication portal or deployed on SmartCloud Enterprise. It allows you to build image which you can upload in the PureApplication. (See DeveloperWorks article: Establish a system to build custom virtual cloud images)
The basics of Virtual Systems patterns are to use the provided UI to drag and drop images, in each image drag/drop scripts which you can upload in the UI, then you order the creation of the instances and the order of the scripts.
The scripts are composed of multiple files one of them is the script itself another is a descriptor, the descriptor has a json form and describe among others the parameter of the scripts. These parameters can be open or locked, if locked the value has to be defined while creating the pattern, if open the value can be provided at deployment time. Parameters value can be also expression allowing you to reference other objects of your patterns. To know more about designing virtual system pattern read Design a virtual system pattern.
To create new Virtual Application Pattern you can use the IBM Workload Plug-in Development Kit via Eclipse, two very interesting articles can be bound on developerWorks: