I am currently working with an ERP System into which we need to integrate several different processes. This is normally accomplished by using common integration tools like SSIS and Service Connect; but many of these require you to skip the logic of the system and just write directly to the database. This is not only messy, but dangerous since it forces you to bypass all the checks and balances that are built into the system. Most times you end up stuck developing a mini version of the software just to handle all that logic.
This particular system I am working with makes things really simple. It exposes all business object methods as secured web services. This enables you to quickly and seamlessly integrate as many functions as you need while still being held accountable to the Business Logic of the program.
This is the first time I’ve seen this implemented and it has made my life so much easier. It does not only cut the amount of code I have to write but it ensures that everything we send through is valid in the system. I plan on making this a practice of my own. After all exposing logic methods as web services is very simple (especially if using .NET) and it significantly increases the value of your product. The possibilities are endless; you could add your own UI or merge several applications and accomplish all this, while still leveraging the full potential of the commercial software. I don’t know about everyone else, but this is likely to become a standard in my book.