The two main components that enable the share-app mode are SessionLocal and URLLocal because they are values that are external to a particular instance of the swingweb application. Below are the descriptions on the components.
A SessionLocal is an object referencing a value in swingweb session. The implementation detail of accessing swingweb session is encapsulated inside SessionLocal so the developer does not need to know how it is done. The session local can be declared anywhere in the application - be it in a component, in the business class, etc. One of the uses of SessionLocal is to implement share-app mode components. For example, to implement a JLabel that display different text set to each user, you can do the following
public class SharedJLabel extends JLabel
{
  private SessionLocal _text;
  public SharedJLabel(String text)
  {
    super(text); //nothing special since constructor uses setText
  }
  private synchronized SessionLocal _getTextLocal()
  {
    if (_text == null)
    {
      _text = new SessionLocal();
    }
    return _text;
  }
  public void setText(String text)
  {
    _getTextLocal().setValue(text);
    super.setText(text);
  }
  public String getText()
  {
    return (String) _getTextLocal().getValue();
  }
}
  
URLLocal is a way for swingweb to support URL manipulation/customization and bookmarkable URL to a swingweb (share-app mode) application. The two main uses of URLLocal are:
  ... somewhere in your code ....
  URLLocal section = new URLLocal("section", "sect1", true); //name="section", default="sect1", alwaysShow=true
  SwingWebUtils.registerURLLocal(section);