1. Currenlty, there is no admin-tool for monitoring the engine. Although, all API-calls are available (both JAVA and REST) to get all the data out and act on that data, accordingly.
2. UserTask don't need to have an assignee. ALso, you can use an assignee on a task that is not really a user in the identity-tables. you can, for example, assign a task to "oracle-adf" even if it's not a user. later on, you can easilly query for all tasks assigned to that user and completed them using Java API or the REST-api. If the input you get from ADF is not really done by a "user", it's better modelling-practice (however, not mandatory) to use a receive-task or an event to indicate in your BPMN-model that the process is waiting on an external (non-user) action.
3. Yes, using REST-api or a piece of java-logic running in ADF that uses the Java API (see userguide and javadocs on what you can do with our API's)
4. Yes