dominoGuru.com

Your Development & Design Resource

The pitfalls of most "Composite Applications"

Lotus Notes Composite Applications The biggest pitfall of most Composite Applications, or CAs, is the developers mindset that the integrated solutions need to communicate directly with the Lotus Notes client. In fact, pretty much any CA that relies on the interoperability between their intended solutions will eventually run into a brick wall in getting their mash-up to work as intended. The fact is, I don't need Lotus Notes to talk to Flash to get Flash to display data from a Lotus Notes application in my Lotus Notes application - well, not directly anyway. I'll give you a real-world example of a methodology that employs the same function that I'm getting at here. Consider if you will a technique that uses the form of a middleware approach to allow the user to interact with an application and receive near realtime information exchange. What I'm hinting to here is good ol' AJAX.

A layman's explanation of AJAX: AJAX acts as a middleware solution when a user, via the application UI, needs to communicate to a back-end data source and have that UI update accordingly.

Simple 
AJAX Diagram

Now, those of us that have been developing web applications more than a year will more than likely have needed such functionality well before AJAX was the new hotness, and have come across their own hacks to get this type of functionality. I might be speaking out of turn, but I'm willing to guess that the majority of those hacks included posting and returning data via a hidden iframe. See, an iframe would act as the middleware layer between the UI and the intended data source - allowing for some pretty slick functionality.

Using either the AJAX or the pre-AJAX-iframe approaches ultimately gave you the same basic outcome - your users got their data without their thinking that they've needed to jump from screen to screen in order to get said data. Now how can we use this knowledge when building a composite application?

Middleware. Let's say I have the following: I want to display information from several database in a consolidated Lotus Notes client UI. I would typically create a frameset-based application that links to said databases.

Simple 
Lotus Notes Diagram

Now since it's not 1993, I want to include some eye-candy in the form of some Flash charts (circa 2003) that details data from our Lotus Notes databases. We want a Composite Dashboard! (Your executives will be so happy!)

Now, this is where most developers, in my opinion, lose their way. Instead of remembering all of their slick-tricks that they've mastered over the months/years, they revert back to those circa-1993 techniques to try to get Flash to communicate directly to a Lotus Notes database on-the-fly. Well, you don't need to do that - really, you don't.

The other day I posted an Lotus Notes Excel Export Database, one could losely call it a "Composite Application" mashing Lotus Notes with Office for data exporting and reporting. The meat of the functionality is this: don't worry about creating/re-creating the Excel spreadsheet, but rather take a template that you have already worked the kinks out of (headers, footers, fonts, cell formatting, charting, etc.), drop it onto the user's machine, and interact with it from there!

Now think about your Flash integration. What's stopping you from using a middleware solution here?

Lotus 
Notes Composite Diagram

See? If we use the user's OS as our middleware, you won't be limited to the interoperability between Lotus Notes, Flash, or any other solution that you're looking to integrate into your CA. I have some pretty slick ideas for putting this technique to the test, and will - hopefully in the next few days - have a Composite Dashboard example application available for download.


About the author: Chris Toohey

Thought Leadership, Web & Mobile Application Development, Solutions Integration, Technical Writing & Mentoring

A published developer and webmaster of dominoGuru.com, Chris Toohey specializes in platform application development, solutions integration, and evangelism of platform capabilities and best practices.



More from dominoGuru.com


dominoGuru.com is powered by IBM Notes Domino XPages & hosted by Prominic.NET

Contact Us

Use our Contact / Feedback form or one of these email addresses:

Creative Commons License

Except where otherwise noted, dominoGuru.com by Chris Toohey is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.