Oracle is an enterprise database server so you shouldnt need any strange setup to get it working, just the correct configuration on the DB server or client will be enough.
When you get connection errors, i suggest first ensuring that the client machine can ping the database server where is the name or ip address - try both as it's possible the name may not be configured in the hosts file of the client machine. (Note that ping may be disabled due to security but if you get a reply back, you know the connection is good.A non reply may not mean the network is missing but you can try to ssh or telnet to the dbhost from the client machine as an alternative)
unix> ping <dbhost>
Once you have confirmed the client machine can see the db server, you can check the configuration on the DB server.
On the DB server, if you connect with the following, you are connecting directly to the database without using TNS.
unix> sqlplus user/pass
If you connect instead with
unix> sqlplus user/pass@ORACLE_SID
where ORACLE_SID is the identifier of the database, you will be using TNS, the same as your client machine. If this doesnt work locally, then it's also not going to work on the remote machine.
Check the listener is running
unix> lsnrctl status
and if it's not, start it as the oracle user
unix> lsnrctl start
and try again to connect using user/pass@ORACLE_SID
If this connects OK, then check your JDBC configuration to ensure you have specified the connection string correctly.
see http://javaeesupportpatterns.blogspot.de/2011/08/network-adapter-could-not-establish.html for assistance with the correct jdbc connection string.