Integration of third-party business applications and data into Business Process Management (BPM) applications is essential, since very few real world business processes run standalone. Users need to apply their knowledge to information in their line of business system, making decisions and entering data that is reflected in the process. Automated transfer of data between BPM and business systems aids automated processing.
Most BPM Suites offer some level of integration within their capabilities, usually being able to talk SQL to a database or maybe configure a call to a Web Service within a process activity. For UI integration of business applications to avoid swivel chair integration by users, while presenting a seamless user interface for best productivity and experience, developers are called in and API bonding commences.
For a few points of integration at a handful of points in a process this 'in-process" and "in-UI" integration is bearable and maintainable. Once processes or integration requirements become complex the initial integrations may become a larger effort than deploying the process, and maintenance becomes difficult since every change in any component on the system carries dozens of dependencies on the process, data models and hard-coded integrations of multiple other components.
With a pile of separate BPM, content, database and business components I don't know of any real way of avoiding this. If you know of great examples of disparate platforms that really do this well, let me know.
So in my view it makes most sense for IT teams to make things easy on themselves to start off with. Using vendor products that provide as many of the key process, collaboration and content features within a seamless product can avoid the most common and repeatable requirements for integration. Why do unnecessary integration?
Then make use of Web Services or messaging components like JMS and MQSeries messaging to decouple process from application wherever possible. Finally, ensure that the BPMS UI provides components that can be built into custom applications, JSP or portals, and work hard to develop a flexible integration, not a pile of brittle spaghetti code.
It is possible, and I've seen it done. It just takes a strong foundation and pragmatic steps. If you have great examples, case studies or supporting integration approaches, please let me know.