You can pass anything which is Serializable between client and server in EJB. When marshalling objects for transmitting between such layers, they are are serialized into the communication stream. Just ensure that the sending and receiving class definitions are identical (or have the same serialVersionUID), otherwise it will fail.
Tim