How could I test this app for
scalability, how can I simulate client
connections to the server.
For the scalability testing, I'd recommend Apache JMeter. It's an excellent, free, and fairly straightforward tool for creating and measuring load on your application. You can get information about response times, transactions per second, server load, etc.
I've used it quite a bit with HTTP applications. For your TCP application, it has a TCP Sampler, but it would probably be easier to create an implementation for its Java Sampler using connectivity code you've already written. I'd also recommend combining it with the rstatd sampler plugin so you can measure server CPU/memory during the test.
It may take a couple days to get familiar with the tool, but it has served me pretty well.
Does a Server side need to have a GUI,
to report status, connectivity and
exceptions.
Honestly, a GUI for the server side is probably overkill. Sure, it'd be neat to have some sort of console that has a bunch of flashing red and green lights and scrolling logs, but when it comes down to it, those are all just YAGNI items.
As long as your server is writing logs and audit information for the transactions and events you want to follow, that's sufficient. Having a GUI will just add to the complexity of the server, likely yielding more bugs. Plus, if you're using logs effectively, you can plug into other monitoring/alerting mechanisms (SNMP, for example).
how do I handle the database(MySQL)?
The other answers have some good suggestions; this is a topic probably better-covered on its own, and there have been many questions asked about it. I'd recommend doing some searches for ORM+Java to get some good opinions on it. Here are a few decent links:
You can find varying opinions on all of the different ORMs, as well as advocates of not using them at all. I don't have an opinion, per se - just use what you feel is appropriate for the job after researching the options.
Is there any framework that can do all
of the above or do I have to handle
each aspect.
Doubtful, and if there is, it's probably so generic you'll end up writing a bunch of code for it anyway. For the ORM + GUI (if you do go with the GUI), there are out-of-the-box MVC+database web solutions that run on the JVM like Grails. But most of your questions involve different problem domains, each needing its own separate solution.