Wikipedia defines software design pattern as a general reusable solution to a commonly occurring problem within a given context in software design. Over the last two decades, there has been a lot of advancement in software design patterns including books, frameworks and tools. Collectively they cover many aspects of the software lifecycle from architecture to design and implementation as well as domain specific patterns.
With IBM PureApplication System and IBM SmartCloud Application Services, software design pattern has reached the deployment level. The virtual patterns on these systems can be used to implement the deployment topologies of your environment. Each virtual pattern is like a puzzle piece that can be used to compose a bigger and more complex topology.
For example, one customer may be interested in using WebSphere Portal, BPM and Operational Decision Manager pattern to create a custom CRM solution that is multi-channel with flexible business processes for customer interactions and rules to manage customization based on user profiles. Another customer may want to use BPM and WebSphere Message Broker patterns to create a redemption application with long running processes to the mainframe. In both cases, it is a matter of selecting the middleware patterns and deploying them.
Patterns capture IBM recommended highly available golden topology and significantly simplify the provisioning and management of your development, test, or production environments. Deploying a pattern is pretty easy; simply select the pattern, enter some parameters (e.g. passwords, # of CPUs, memory sizes), click deploy, and wait for it to finish. After that you can start using your middleware.
Patterns also enable repeatable deployment, with the ability to customize and extend based on your own requirements. If you mess up the instances, or entered some wrong configurations, it is easy to delete the virtual machines and restart from scratch again. Maintenance can also be streamlined because you can apply fixes at the pattern level instead of individual server instances.
As a result, patterns allow you to focus your resources on your own business activities, and not on the installation, configuration and tuning of the IBM products. IBM products typically take 1-3 weeks to install and configure manually. With virtual patterns, one can now deploy each product in 30 minutes reliably. Multiply this with 5 or 6 products in a typical solution and the saving becomes substantial – it can go from a few months to a few days.