Harvesting Reusable Assets
Mahesh H. Dodani, IBM Software
Group, U.S.A.
|
 |
COLUMN

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

|
 |
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
|