Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1: Add a contribution to the SCA domain

1. An SCA application is developed and packaged as a jar or another archive format

...

Info
titleIntrospection of a contribution

In general the result of that introspection would be invariant so it can be cached and replicated in many places. Introspection will be intensive and so we should do it as little as possible and caching the results is good. Of course, we'd need invalidation too.

The caching is about storing the introspection results for 
"production" artifacts that are basically versioned and immutable. 
This is similar in concept to the way Maven caches artifacts locally 
and never needs to go back to an online repo once they have been 
downloaded. Given some introspections are likely to be expensive 
(e.g. scanning an EAR to look for EJBs and then processsing the class 
files for annotations) it would be good to avoid redoing that when 
its not necessary.

3. The ContributionProcessor introspects the contribution to create a list of artifacts of interest for SCA. Each artifact is classified by ContentTypes.

...

5. The interesting definitions are added to the contribution store and that is the end of the contribution operation. We keep the contribution and cache the introspection results.

...

2: Apply Changes to the Assembly

1. User calls "addToDomainComosite" or "applyChanges" aginst the AssemblyService. There is a changeSet which represents an atomic modification to the domain, for example, adding an "include" to the domain composite.

...