NAVmoble - the pocket-sized ERP
Optimized for Microsoft Dynamics NAV and Windows Mobile powered devices

Saturday, July 03, 2004

MS Application Block - UIP v.2.0

The artifacts reusability in software development is considered as one of the ways to maximize ROI. One way to utilize this idea is to adopt practices and patterns. That's why .NET developers may benefit from using MS Application Blocks. The one that I recently used was User Interface Process Application Block - Version 2.0. The code block comes with an installer, pdf documentation and quick start samples.
UIP has the following features

  • Web session resume

  • Web session transfer

  • Reuse of code between application types

  • Development of discrete tasks

  • Storage of state in state persistence providers

  • Expanded navigation management

  • Additional state persistence providers

  • Layout managers

  • Enable back-button support

  • Usability enhancements


  • In brief UIP provide functionality to effectively separate the business logic from the user interface. It allows the developers to develop complex user interfaces by reducing the time for writing workflow process management code. There is support for WinForms and Web based applications. However Web User Controls are not supported directly /not considered as a view/. The workflow process and navigation is easily re-configured by changing the settings into the config file without need to refactor your code.

    My first trial was to migrate Web .NET based application to use UIP block. The application / a billing system / was pretty small / 10 Web Forms, about 15 Web User controls/. The application design proposed stated that there are presentation layer and data access layer. However the presentation layer performed different activities, which may not be considered as strict data presentation or user interaction. Actually that was activities which maintained the integrity of the tasks performed by the user, e.g. workflow processing.

    After adopting UIP code block into my application the design appeared to be more abstract and clear. The Presentation layer now performs activities strictly related to data rendering and user interactions. UIP controller stands between the presentation and data access layers. It is the component which performs workflow process management and dealing with the integrity of the user performed tasks. The presentation layer now makes calls to the UIP controller which in turn makes calls to the data access layer.
    After these changes the workflow process and navigation may be reconfigured to meet the user requirements without recompilation
    The time to learn using UIP code block was pretty short and it worthed.


    No comments: