Challenges faced when building componentized projects

Using pluggable componentized model to add up features to a project has many advantages. But it sure does introduce many challenges at every aspect of development,marketing,pricing,etc... I have been closly associated with new componentized model(OSGi based) we recently announced @ WSO2. While there can be many, here are some of the evident challenges we faced when creating the distributions.

1. Assembling/packaging different components together

Functionality comes from components located under different svn paths. We need to identify the set of components needed by a product, their dependencies & pack them together.

2. Creating a full source distribution

Since functionality is coming from different components, source from each of these component needs to be included in the full source distribution.

3. Creating a documentation distribution

Each component has a documentation of its own. This documentation need to be included & there should be product specific master documentation which glues together these component specific documentation. The images inside these components should come with minimal UI theming effects, as UI theming can be drastically different in two projects using the same component.

Although the documentation is coming from different components written by different authors, the ultimate user/reader of this full documentation pack should not feel that difference when moving between documentation of multiple components.

A consistent UI theming should be applied to all documentation coming from different components.

4. Packaging License together

Each component can contain dependencies to third party libraries having compatible licenses. We should be cable of providing this full license list, if an end user requests.

5. Keeping final product size under control

Maintaining the self sustainability & avoiding duplication is an art to master. Too much duplication will send the size of the final distribution sky-high.

library project main code
Learn Cloud
Learn
Cloud

The WSO2 Application Server is a reliable application server that can host your enterprise web applications. The WSO2 Application Server as a Service is offered in StratosLive, the WSO2 Platform as a Service. This article explains how a simple web application can be developed and deployed from Carbon Studio to the WSO2 Application Server...

Latest Webinar
Different groups within an organization need to monitor different Key Performance Indicators (KPIs) - An operations team will be interested in the response times of business services and loads of each service,..
Thursday, February 9th 2012, 09.00 AM (PST)

Thursday, February 9th 2012, 10.00 AM (GMT)