...
Channel adapter is a portlet that create and manage lifecycle of IChannel instances. Components of the channel adaptor are shown in the diagram below (PDF).
ChannelAdapterPortlet bean implements the main container and exposes standard JSR168 potlet interface. To drive IChannel lifecycle, ChannelAdapter creates modified versions of ChannelStaticData, BrowserInfo and ChannelRuntimeData which inherit from the standard uP2 implementations from the BCL.
Channels are instantiated using ChannelFactory. Current implementation is local (i.e. in uP3 code, not derived from uP2 implementation, mostly because of the CarResources initiation problems). The implementation uses standard channel adaptor classes from BCL to support IChannel variants (i.e. multithreaded, cacheable, etc.).
ChannelAdaptor implements uP2 caching contract. The implementaiton is configured with channelInstanceCache and channelSystemCache, which are standard uP3 ICache objects which are used to maintain instance-scoped and system-scoped cache key entries.