Previous column

Next column


Harvesting Reusable Assets

Mahesh H. Dodani, IBM Software Group, U.S.A.

space COLUMN

PDF Icon
PDF Version

1 REAPING THE BENEFITS OF LARGE REUSABLE ASSETS

In my previous article, http://www.jot.fm/issues/issue_2004_01/column7, we discussed how large reusable assets could provide the seed to design and build complex solutions. As a quick recap we reused large-grained composite e-business patterns (http://www-106.ibm.com/developerworks/patterns/select-pattern.html) within a methodology that was modified to match customer requirements to an appropriate asset that could provide a significant seed for the solution, and walked through the process of how to modify and extend the seed to derive a solution that handled the complex requirements.

To continue reaping the benefits of the reusable asset, we must ensure that the experiences of reusing the asset to solve classes of problems are themselves harvested and used not only to harden and evolve the asset, but more importantly to derive other large assets that are more appropriate seeds for other classes of solutions. Note that the large assets themselves grew out of experience with deriving solutions for problems and observing patterns that were used repeatedly in the solutions. The cycle of using experience to continuously improve the asset itself and to derive newer assets is key to maintaining a healthy reuse ecosystem.

This article shows an evolution of the Portal composite pattern (http://www-106.ibm.com/developerworks/patterns/portal/index.html) from the experience of applying it to solve a class of problems, and using that experience to derive another large reusable asset.

2 THE EXPERIENCE

To show the experience gained from using the Portal composite pattern, we use it to solve another emerging collaborative problem faced by many organizations – that of boosting worker productivity through e-workplaces. These e-workplaces provide “knowledge workers” in an organization a one-stop online place where they can access typical corporate applications and data via self-service, collaborate with other workers on a project, communicate with other workers, share information and content, and manage their work environment. Figure 1 captures the requirements of a typical e-workplace for employees of a retail company as a use case model.

Figure 1: e-Workplace Requirements Use Case Model

Following the methodology described in the previous article, we match our requirements to the Portal composite pattern as the most promising seed for the solution, and our analysis shows that the seed can handle most of the requirements. The unmatched use cases are shown in Figure 2 below along with their relationship to the business and integration patterns that are part of the Portal composite pattern:

Figure 2: Unmatched Use Cases

Continuing with the process, the design of the e-workplace solution leverages the logical architecture model defined by the Portal composite pattern and extends this to address the unmatched use cases. Figure 3 shows the resulting Logical Architecture model for the e-workplace solution for the retail customer. It highlights (in blue) the extensions that were made to the Portal composite pattern seed to derive the solution that met the requirements. Note that the architecture model exposes the major middleware nodes, their roles and the interfaces between them. These logical nodes can then drive the physical model through best practices, usage guidelines, reference implementations and experience in building such solutions. Note that this short experience report does not show the complexity of creating assets, matching these assets to a set of requirements and customizing and extending assets to build complex solutions. For a more complete coverage of leveraging large reusable assets, please visit http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg247011.html?Open.

Figure 3: The e-workplace Solution

3 HARVESTING THE EXPERIENCE

As we continue to design and develop e-workplaces solutions, our experience shows common patterns emerging. The requirements for these e-workplace solutions can be generalized into the following use cases in addition to the ones defined for the Portal composite pattern: View Syndicated Content, Access from PDA, Do Online Training, Access Help Desk, Access eHR System, View Corporate Information, Manage Customer Accounts, Manage Supplier Accounts, and View Analytic Data. Using these generic use cases, we are able to modify and extend the existing reusable asset to derive a new composite pattern for e-workplace solutions. For example, the “Access from PDA” use case is handled in the e-workplace composite pattern by making the optional Pervasive Device Access application pattern as a required and integral part of the solution. Another extension of the base composite pattern is needed to support the last five generic e-workplaces use cases. These five use cases are all ways of accessing enterprise applications and data, and therefore require extensions to the self-service business pattern. A deeper dive into the application patterns available for the self-service pattern (http://www-106.ibm.com/developerworks/patterns/u2b/select-application-topology.html) results in the following considerations:

Based on this analysis, we choose to extend the base Portal composite pattern with Router as a required application pattern for self-service. The effect of including Router within the e-workplace composite pattern is the addition of an integration server to manage access to enterprise applications and data, as shown in the runtime pattern depicted at http://www-106.ibm.com/developerworks/patterns/u2b/at5-runtime.html.

Going through this process, we derive a new composite pattern for e-workplace solutions that extends the base Portal composite pattern to support the additional requirements posed by these solutions as shown in Figure 4.

Figure 4: Applying the Application Pattern

As shown in the figure, the main extensions to the Portal composite pattern includes making the Pervasive Device Access application pattern mandatory for access integration to support PDAs, adding the Router application pattern as mandatory to self service for the complex multiple applications access needed for e-workplaces, making the Directed Collaboration application pattern mandatory for collaboration to facilitate many users working on projects together, and making Application Integration mandatory to support the integration of application and data needed for the new processes that will be defined within the e-workplaces.

The logical architecture model for e-workplaces is shown in Figure 5. Moving from the external to the internal layers (left to right), the architecture adds support for pervasive device access, introduces both application and information integration servers in the application layer, and provides support for multiple data stores.

Figure 5: Logical Architecture Model for e-Workplace Composite Pattern

In conclusion, a large reusable asset provides the seed for designing solutions for complex problems. The experience of applying these assets to design complex solutions in turn can uncover deeper patterns that can be leveraged to define extended composite patterns that can be a more efficient seed for a specialized class of problems. This iterative evolution of the asset leads to continuous improvement and increases the efficiency and effectiveness of the asset.

Happy harvesting!

 

About the author



space Mahesh Dodani is an e-business architect with IBM Software Group. His primary interests are in enabling individuals and organizations to tackle complex e-business industry solutions. He can be reached at dodani@us.ibm.com.

Cite this column as follows: Mahesh Dodani: “Harvesting Reusable Assets”, in Journal of Object Technology, vol. 3, no. 3, March-April 2004, pp. 43-48. http://www.jot.fm/issues/issue_2004_03/column4


Previous column

Next column