Suns Java 2 Enterprise Edition (J2EE) 
provides excellent support for distributed 
components and component reuse through the Enterprise JavaBeans technology (EJB). 
Using this architecture, services can be implemented using a combination of Entity 
Beans and Session Beans, with the service interfaces exposed through a Session 
Bean. 
To allow a service delivered via J2EE 
to be accessed by non-J2EE compliant software, 
each service may also provide a servlet to allow access via Web Services. (This servlet 
could be written using a standardised agent code base that could be adapted to serve 
multiple services.)