best way to Start ATS using Java ?

I am a newbie and have been researching in this area for a while now. I want to start Algo trading using java.

I have been looking at many open source APIs for Java (you can find comprehensive list on this forum). I think I will start working JbookTrader. Can you answer my two questions :

1. Can you guys tell me what would be the best way to start with ATS, I do not want to re-invent wheel here. All I need is most extensive API and then I can merge my own code/Startegy with that. I do not want to be bounded by some trading platform coding language (e.g. tradestation easylanguage).

2. How extensive I can go with Java and IB Java API ? Can I really write very complex strategy (e.g. optimization, neuralnetwork etc.) ?

3. What do you use ?

I really appreciate your help. Please help me before I go too deep in the code dungeon