I am building a Dapp that will need to invoke a smart contract and then send funds to another address. Do, I need to be running my own node to accomplish sending a request to the Ethereum network? Is there anyway to broadcast my transaction directly to the broader network?
Easiest way to do this to use infura.io. infura run nodes and provide APIs to interact with those nodes. You could access the mainnet, Ropsten and Rinkeby through infura. The only trick with infura is that you have to submit signed transactions. In other words, you have use sendRawTransaction of web3.js. This involves few steps and could look bit complicated if you are doing it for the first time. But there is a npm package (web3js-raw) which take care of this by wrapping few web3.js functions.