user78: bitcoinj is a bitcoin library, bitsofproof is a full server (standalone 'exe').
Beyond the above - can anyone elaborate on the difference between them? What problems they were designed to solve, their documentation, maturity level?
Is there an overlap between them (in intended usage)?

user1842: As I understand it, BitsOfProof is an enterprise level implementation of the full bitcoind client, including downloading the full blockchain and supporting a full array of features from the main client.
BitcoinJ is a java library that supports building a thinner client (downloads headers instead of full block chain) allowing for building bitcoin features into a memory or storage restricted environment. 

user5522: There are lots of differences in features supported, but the crucial difference is the architecture: Embedded vs. Client-Server Bitcoin Protocol Node and Wallet.
BitcoinJ is a Java library to embed a Simplified or Full Verifying Bitcoin Node and a Wallet into your application.
The Bits of Proof Enterprise Bitcoin Server is a configurable Full Verifying Bitcoin Node written in Java. The server process is accessible through a message bus for client applications and extensions. Several layers and flavors of client libraries are available, such as: STOMP, Java, REST. The Wallet is implemented in the client library, therefore a server process can serve several unrelated applications and distinct Wallets. Several server instances might run in a load balanced configuration serving clients through a common bus. The company Bits of Proof offers commercial support and hosts server instances.

78: <p>bitcoinj is a bitcoin library, bitsofproof is a full server (standalone 'exe').</p>

<p>Beyond the above - can anyone elaborate on the difference between them? What problems they were designed to solve, their documentation, maturity level?</p>

<p>Is there an overlap between them (in intended usage)?</p>
 1842: <p>As I understand it, BitsOfProof is an enterprise level implementation of the full bitcoind client, including downloading the full blockchain and supporting a full array of features from the main client.</p>

<p>BitcoinJ is a java library that supports building a thinner client (downloads headers instead of full block chain) allowing for building bitcoin features into a memory or storage restricted environment. </p>
 5522: <p>There are lots of differences in features supported, but the crucial difference is the architecture: Embedded vs. Client-Server Bitcoin Protocol Node and Wallet.</p>

<p>BitcoinJ is a Java library to embed a Simplified or Full Verifying Bitcoin Node and a Wallet into your application.</p>

<p>The Bits of Proof Enterprise Bitcoin Server is a configurable Full Verifying Bitcoin Node written in Java. The server process is accessible through a message bus for client applications and extensions. Several layers and flavors of client libraries are available, such as: STOMP, Java, REST. The Wallet is implemented in the client library, therefore a server process can serve several unrelated applications and distinct Wallets. Several server instances might run in a load balanced configuration serving clients through a common bus. The company Bits of Proof offers commercial support and hosts server instances.</p>
