I was given a project of the design of reusable business components for the domain in which I have been working for some time.

Before moving on to any technology I along with my colleague, had designed the components following the complete cookbook object oriented approach.

Then we moved on to deciding the component technology and we decided to go with EJB. But the component we had earlier designed using OO fundas seem to be not getting tuned with the EJB architecture.

EJB requires a complete design orientation towards that specific technology. It requires you to start off completely keeping EJB in mind.

Is this the way it is or I am missing out on something drastically???

As far as I know, the overall intention of design is that we should be able to model our software irrespective of the implementation technology used.

What should be the approach towards designing proper reusable business components???