A composite application is a software application with functionality drawn from multiple sources to meet a new need on the part of consumers. Such applications can allow for flexible and rapid development as they allow developers to turn functional components into new applications, rather than needing to start from scratch. Some programming architecture and systems lend themselves to this better than others, and in some cases programming may be designed with such applications in mind. In programming and computing, flexibility can be highly beneficial as it allows systems to adapt to their users rather than falling behind user needs.
The needs of computer users can constantly shift as they find new ways to use computers and expand their activities. In a composite application, users can find functions they feel comfortable with packaged together in a way that makes sense. This can allow for more seamless work, as well as more efficient integration of activities. Such applications can also promote branding consistency and familiarity with specific companies and families of products, to cultivate customer loyalty.
Such applications are popular with service-oriented architecture (SOA), an approach to development that stresses flexibility and integration, although this is not the only platform that can be used for a composite application. Developers can work in a number of programming languages and platforms to pull together features and functions that they want for a given activity. The level of difficulty can vary, as some functions lend themselves more easily to the creation of a composite application.
Web developers use composite applications heavily in their work. Users may hop websites and services as they encounter features that appeal to or fulfill their needs. The ability to combine these in a composite application can attract and retain a user base, allowing a website to build over time. These applications may generate outputs that can be downloaded, allowing people to readily share information across platforms and locations through a web-based application.
Software development in this area can be seen at numerous software companies as well as organizations dedicated to robust and flexible computing. Individual users can also create their own composite applications if they have the programming skills. They may release these for use by members of the public, sometimes under open source terms to allow other users to remix, adapt, and modify their applications. These modified versions can also enter the public domain, creating an array of related products for users to choose from.