Para acompanhar o ritmo acelerado das mudanças e inovações tecnológicas, o desenvolvimento de sistemas deve ser baseado em padrões e fazer intenso uso de componentes de software prontos e interdependentes. Isso possibilita mais agilidade no desenvolvimento de novas aplicações e o conseqüente atendimento à dinâmica dos negócios, a partir da fácil incorporação, adaptação e combinação de componentes de software reusáveis.