The graphic jpsdg_matrix_prodarch.gif shows the producer architecture. The browser sends a page request to the application, which in turn contacts the producers that provide portlets for the page. The producers initialize the portlets and send them back to the application over the relevant protocol. JSR 286 portlets are initialized by WSRP producers, which communicate using the WSRP 1.0 or 2.0 protocol. PDK-Java portlets are initialized by PDK-Java producers, which communicate using a SOAP over HTTP protocol. This architecture is described more fully in the text that follows.