How can data be encapsulated in an Ethereum transaction so that the block chain can record state of external system? Am I limited to using JavaScript type protocols?
Are tools provided for storing this sort of data?
You can put any arbitrary hexadecimal data in a transaction, in geth or web3.js just use
eth.sendTransaction({from: eth.accounts[0], to: recipientAddress, data: "0xabcd1234", gas: 100000})
You'll need to increase the gas as you increae the amount of data.