I'm starting to dig into the architecture of migrating/architecting workflow apps from Lotus to Microsoft. What used to be considered a major benefit of a notes app is now a hinderence in my opinion. When you think of a notes app, typically it contains all of the following in one single platform, and sometimes even within a single notes database (or a few of them):
- Views (Reports)
- Workflow "Inbox"
- Framesets or "Dashboards"
Now having this all self-contained makes it really easy when building apps and workflows on the notes platform, but it does not make it condusive to easily build composite applications and realize long term benefits from it. After a while, having these isolated silos becomes a burden to maintain and upgrade.
Transferring over to the Microsoft stack, if you look at now taking all of these functional areas, they can be split up into seperate components:
- Forms (Infopath / Forms Services / ASPX / Web Forms)
- Reports (SQL Server Reporting Services (SSRS) surfaced inside Sharepoint)
- Data (SQL Server and/or Sharepoint Lists/Doc Libraries)
- Workflow (Workflow Foundation, Sharepoint Designer, or third party BPM)
- Email (Outlook/Exchange)
- Workflow "Inbox" (Sharepoint Web Parts)
- Dashboards (Sharepoint Sites and/or Pages)
The benefit of this approach is that each one of those components easily becomes reuseable as your business expands and it becomes easy to maintain, while putting the "power" of many capabilities in the hands of your user base. Granted, there is definitely more time and cost involved in getting all of these components first set up. However, you realize the longer term benefits after you do.