If you want to understand Java-Beans, you first have to understand software-components.
Software components
A software-component is a part of an application that runs a specific operation. A software component can also be part of a service.
A component is:
- Coupled (has dependencies)
- Statefull (it saves the states of instance variables)
- Not standarised, it is designed for a specific use case (main difference between Java-EE Beans)
- Runs in client machine
Java Beans (Enterprise Beans)
- Standarised components that run in a Java EE-server
- Including different business logics to complete a specific service
- Simplify development of complex multilayer distributed systems
Java Beans are more of a concept to manage big systems. Thats why they need standarization.