JavaCAPS 6 / OpenESB offers a very flexible toolset when designing SOA projects. Reusable services can be created in BPEL 2.0, XSLT and EJBs.
A very powerful feature of JavaCAPS6 / OpenESB is the "late-wiring" possibilities that the Composite Application Service Assembly editor (CASA) offers, you can design reusable services and wire them up to multiple external systems using CASA, meaning your service is not just bound to a particular external system, for example.....
There are many tutorials and examples of how to do just this with BPEL and XSLT but little information on how to do this with EJBs.
The tutorial is attached below and is also available on http://wikis.sun.com/display/JavaCAPS/Grok+Java+CAPS where you will find many other useful tutorials and references for JavaCAPS6 in particular
Tutorial: Re-usable EJB WS