The measurements will largely arbitrary if you have not yet run any performance tests. Pick a common production setup (which a hardware vendor or Oracle may be able to help you with), run your test and adjust accordingly.
You will know what your application does and a little profiling will give you a rough idea what to expect. Profile for one user done common operations, subtract any common cached data or one off operations, multiply by 50 and start form there.
Its very hard to tell what hardware / specs you need without knowing what those 50 users are going to do. If you have some statistics for low user strength such as 5-10 that should give you an idea of how your app/hardware should scale.
The profiling option as Paul suggests is also a good starting point. You should also simulate your users with a tool like JMeter before you actually invite them over to your test environment.