Mindoo Blog - Cutting edge technologies - About Java, Lotus Notes and iPhone

  • Developing a Composite Application from scratch (2)

    Karsten Lehmann  31 May 2009 15:19:25
    Welcome to part 2 of our blog series about the development of the "Mindoo CA Document Management System", a DMS based on Composite Application technology.

    Today, I would like to tell you something about the general idea for the system.
    Here is a draft of the user interface I have in mind:

    Image:Developing a Composite Application from scratch (2)

    That looks pretty simple. The UI consists of three main area:
    The user selects a filing element in the filing tree component in the upper left. Depending on the selection, the upper right component displays a list of all the documents that are stored in the system for that filing.
    The component at the bottom contains a preview of documents selected in the document list.

    Instead of that preview, the document can also be opened in edit mode in a new Composite Application page:

    Image:Developing a Composite Application from scratch (2)

    The page contains a component in the middle with the document in edit mode. Another component is used to display and change the document's filing. Depending on the type of the document, there may be other useful helper components in the layout. We will define such a page layout for every content type to offer an individual component setup.

    Some other thoughts for the system:
    Filing tree
    The available element types and structure constraints of the tree depend on the individual use case of the user. For some users, it may be sufficient to have something like a "folder" node that can be nested in an unlimited depth. That would make the system act like a kind of Windows Explorer. Others need address management elements like a "company", "department" or "person" to e.g. store mail conversation with their customers.
    That's why we need to find a quite generic approach for the filing. Our default filing component should contain a preset of useful elements. But it should also be possible to completely replace the filing component without the need to change the rest of the system.

    Document's filing
    As mentioned in the first posting of this series, we should avoid storing too much information in the documents. That why I prefer to only store an internal ID for the actual filing element in the content documents, not the whole filing structure (up to the top filing element). That reduces the need to update many documents when somebody moves filing tree elements, but we will have to think about a proper presentation of the data. A classic Notes view that is categorized by the filing tree nodes won't help us a lot.

    So far for part 2 of the series. Time to start coding.


    1Patrick Kwinten  19.07.2009 14:29:22  Developing a Composite Application from scratch (2)

    hej, did this serie ever got finalized? too bad..

    2Karsten Lehmann  19.07.2009 14:46:13  Developing a Composite Application from scratch (2)

    Don't worry, it will be finalized. We had an XPages project in between, so I thought I could write about that first.

    In addition, 8.5.1 should be bringing some fixes and new features that are useful for a few of my ideas. So after the XPages topic, I'll see what I can show with 8.5 and what I can only show when 8.5.1 is out.

    3T. Devon Artis  14.11.2011 19:02:57  Developing a Composite Application from scratch (2)

    I was wondering would you be picking back up this series.

    4Karsten Lehmann  15.11.2011 08:27:17  Developing a Composite Application from scratch (2)

    Unfortunately, there are no plans so far to pick it up again. Our focus has moved to web development techniques based on OSGi, even within the Notes Client via XPiNC, so that there is not much time and demand for Composite Application techniques. In addition, we never got satisfied with the quality of the NSF based Composite Application components (e.g. the Java view component). In each release, new issues were introduced while other ones got fixed. It's not a good idea to develop with unreliable components. :-)

    5T. Devon Artis  17.11.2011 17:04:24  Developing a Composite Application from scratch (2)

    I do understand Karsten... I started playing with Websphere Integration Developer, I was hoping to understand how domino really works with SOA and composite applications. I do agree working with unreliable components is not a good idea.