De acuerdo con Howard Lewis Ship, Tapestry fue inicialmente concebido como un intento de implementar en Java algunos conceptos generales y aproximaciones presentes en WebObjects que en su momento estaba escrito en Objective-C y era de código cerrado.