30+ TOP Java Beans Questions & Answers
1. What is the relationship between Enterprise JavaBeans and JavaBeans?
Enterprise JavaBeans extends the JavaBeans component model to handle the needs of transactional business applications.
JavaBeans is a component model for visual construction of reusable components for the Java platform. Enterprise JavaBeans extends JavaBeans to middle-tier/server side business applications. The extensions that Enterprise JavaBeans adds to JavaBeans include support for transactions, state management, and deployment time attributes.
Although applications deploying the Enterprise JavaBeans architecture are independent from the underlying communication protocol, the Enterprise JavaBeans architecture specifies how communication among components maps into the underlying communication protocols, such as CORBA/IIOP.
2. How to implement a bound property in your bean application?
To implement a bound property in the application, follow these steps:
? Import the java.beans package. This gives you access to the PropertyChangeSupport class.
? Instantiate a PropertyChangeSupport object. This object maintains the property change listener list and fires property change events. You can also make your class a PropertyChangeSupport subclass.
? Implement methods to maintain the property change listener list. Since a PropertyChangeSupport subclass implements these methods, you merely wrap calls to the property-change support object’s methods.
? Modify a property’s set method to fire a property change event when the property is changed.
3. How and when will the JavaBeans Migration Assistant to ActiveX be available?
IBM plans to ship the JavaBeans Migration Assistant for ActiveX in Taligent’s Visual Age, WebRunner Toolkit, and Visual Age for Java development tools. This will allow developers to utilize a common component model that may be leveraged by a wide range of tools, including the IBM Visual Age for Java family.
4. Why would a developer need the JavaBeans Migration Assistant for ActiveX?
Many of the capabilities that are so exciting to JavaBeans developers are not available on ActiveX, or are incomplete. There is, therefore, a need for a set of conversion conventions and tools designed to convert desktop ActiveX components into JavaBeans components. The resulting Beans will be usable in both in new network savvy e-business applications as well as traditional desktop applications, includingActiveX containers. Developers and customers benefit from the advantages offered by JavaBeans by simply leveraging their current investments in ActiveX.
5. Can JavaBeans use DCOM as its network model?
JavaBeans works with any network model (i.e., to communicate between components across the network), including CORBA, DCOM, etc. JavaBeans integrates well with CORBA IDL, which is an excellent solution for customers in a heterogeneous distributed computing environment with platform independent components. However, we recommend RMI for Java to Java inter-object communication.
6. Can both Java applets and JavaBeans components use the InfoBus?
7. JavaBeans has mechanisms like bound properties for data transfer between components. Why is the InfoBus necessary?
JavaBeans mechanisms, such as bound properties, are very useful in cases where the type of data to be communicated can be hard-coded into the source and target components. The InfoBus adds additional features required for more dynamic data interchange. These can be cases where communication is driven by the content of the data and where the nature of the data to be exchanged is determined at runtime.
8. Is InfoBus easy to use?
Using InfoBus aware components, such as the ESuite components from Lotus, users can easily construct powerful data driven applications. No programming or scripting is required: simple parameters are used to establish connections to databases and to select data for processing. For developers creating InfoBus components, InfoBus offers a straightforward API compatible in style with other features of JavaBeans.
9. Does the InfoBus compete with JavaBeans?
On the contrary, InfoBus extends the power of JavaBeans to a new range of more dynamic applications. InfoBus is fully compatible with JavaBeans, and Lotus enthusiastically supports JavaBeans as the component standard for Java. Wherever possible, InfoBus uses the existing mechanisms of JavaBeans.
10. What is the InfoBus?
The InfoBus is a compact Java API which allows cooperating applets or Beans, on a Web page or in any other Java application, to communicate data to one another. The InfoBus architecture enables Beans to be categorized as “data providers” and “data consumers”. Data providers are Beans whose primary function is to access data from their native store, such as a DBMS, spreadsheet, flat file, Lotus Notes database etc., and to offer data onto the InfoBus.
Data consumers retrieve data from the bus, for analysis or visual display. This segregation of provider from consumer is extremely powerful in that it enables applications to be independent of their data; for example, a charting Bean need not understand SQL or JDBC in order to access DBMS data.
Of course, a Bean can be both a consumer and provider: for example a spreadsheet may accept data from a DBMS and provide data to a chart Bean.
11. What are the properties of java beans?
The JavaBeans specification defines the following types of bean properties:
? Simple: A bean property with a single value whose changes are independent of changes in any other property.
? Indexed: A bean property that supports a range of values instead of a single value.
? Bound: A bean property for which a change to the property results in a notification being sent to some other bean.
? Constrained: A bean property for which a change to the property results in validation by another bean. The other bean may reject the change if it is not appropriate.
Bean properties can also be classified as follows:
? Writable: A bean property that can be changed:
? ? Standard
? ? Expert
? ? Preferred
? Read Only: A bean property that cannot be changed.
? Hidden: A bean property that can be changed. However, these properties are not disclosed with the BeanInfo class
12. What are/is Enterprise JavaBeans?
Enterprise JavaBeans (EJB) is an API specification for building scalable, distributed, component-based, multi-tier applications. It leverages and extends the JavaBeans component model to provide a rich object-oriented transactional environment for developers building enterprise applications.
Enterprise JavaBeans (EJB) technology is the basis of Java 2 Platform, Enterprise Edition (J2EE). EJB technology provides the scalable architecture for executing business logic in a distributed computing environment. J2EE makes the life of an enterprise developer easier by combining the EJB component architecture with other enterprise technologies to solutions on the Java platform for seamless development and deployment of server side applications.
13. Who is developing the JavaBeans Migration Assistant to ActiveX?
IBM and Taligent, its object oriented technology subsidiary, with support from JavaSoft, are developing a set of conversion conventions, a porting guide and tool that will allow developers to easily convert their Windows ActiveX components into JavaBeans.
14. Why is the JavaBeans Bridge for ActiveX only available on Windows/X86?
Sun’s JavaBeans Bridge for ActiveX is platform specific due to the platform specific nature of ActiveX. Currently, ActiveX is essentially a Window/X86 platform specific component architecture.
If Microsoft delivers ActiveX libraries and ActiveX applications on other platforms, Sun will evaluate customer demand and respond accordingly.
15. What is the relation between the InfoBus and RMI?
The InfoBus architecture addresses Beans talking to one in a single JVM not across multiple JVMs; while RMI (Remote Method Invocation) is intended for communication across JVMs (different Java Virtual Machines across the network). As for IIOP, one can envision a JavaBeans component that uses RMI to talk to something on another JVM and then publishes the data on the InfoBus.
Additionally, RMI could be used to allow components in different security classes to communicate within the same JVM.
16. Difference between java Beans and Enterprise Java Beans?
? JavaBeans may be visible or nonvisible at runtime.For example, the visual GUI component may be a button,list box,graphic or a chart.
An EJB is a nonvisual ,remote object.
? JavaBeans are intended to be local to a single process and are primarly intended to run on the client side.Although one can develop server-side JavaBeans,it is far easier to develop them using the EJB specification instead.
EJB’s are remotely executable components or business objects that can be deployed only on the server.
? JavaBeans is a component technology to create generic Java components that can be composed together into applets and applications.
Even though EJB is a component technology,it neither builds upon nor extends the original JavaBean specification.
? JavaBeans have an external interface called the properties interface, which allows a builder tool to interpret the functionality of the bean.
EJBs have a dployement descriptor that describes its functionality to an external builder tool or IDE
? JavaBeans may have BeanInfo classes,property editors or customizers
17. Is the InfoBus client side only?
Yes. InfoBus is typically used to communicate among Beans at the client, and it can also be useful for sharing information among components at a single server site. The initial version of InfoBus is not distributed, and is therefore not intended for transmission of data between clients and servers.
A variety of Java communication services, including JDBC, CORBA, and RMI can be used by InfoBus components for access to distributed data. For example, the ESuite Data Access component is a Bean that connects any JDBC compliant data source to the InfoBus. Once the data is on the bus, it can easily be imported by any InfoBus Data Consumer, such as a spreadsheet, chartingcomponent, word processor or data analysis tool.
18. Will the general public have access to the InfoBus API s?
Yes, under the usual terms of the JDK license. The specification and technology preview are available in our products archive.
19. How does the InfoBus relate to JavaBeans?
The InfoBus specification extends JavaBeans by providing a set of enhanced interfaces to share and exchange dynamic data.
20. What is Glasgow?
Glasgow – the code name for add-ins to the JavaBeans specification. It contains following specifications:
? The Extensible Runtime Containment and Services Protocol
? The Drag and Drop Subsystem for the Java Foundation Classes
? The JavaBeans Activation Framework
21. How to create bound property in bean application?
To create the title property as a bound property for the MyBean component in the NetBeans GUI Builder, perform the following sequence of operations:
? Right-click the Bean Patterns node in the MyBean class hierarchy.
? Select Add|Property from the pop-up menu.
? Fill the New Property Pattern form as shown on the following figure and click OK.
22. What is the serializable class in java beans?
Any class is serializable as long as that class or a parent class implements the java.io.Serializable interface. Examples of serializable classes include Component, String, Date, Vector, and Hashtable.
23. How to control serialization in java beans?
Three ways to control serilization in java beans:
1.Automatic serialization, implemented by the Serializable interface. The Java serialization software serializes the entire object, except transient and static fields.
2.Customized serialization. Selectively exclude fields you do not want serialized by marking with the transient (or static) modifier.
3.Customized file format, implemented by the Externalizable interface and its two methods. Beans are written in a specific file format.
24. What is introspection properties in java beans?
Introspection is the automatic process of analyzing a bean’s design patterns to reveal the bean’s properties, events, and methods.
25. What are introspection API in java beans?
The JavaBeans API architecture supplies a set of classes and interfaces to provide introspection.
The BeanInfo (in the API reference documentation) interface of the java.beans package defines a set of methods that allow bean implementors to provide explicit information about their beans. By specifying BeanInfo for a bean component, a developer can hide methods, specify an icon for the toolbox, provide descriptive names for properties, define which properties are bound properties, and much more.
The getBeanInfo(beanName) (in the API reference documentation) of the Introspector (in the API reference documentation) class can be used by builder tools and other automated environments to provide detailed information about a bean. The getBeanInfo method relies on the naming conventions for the bean’s properties, events, and methods. A call to getBeanInfo results in the introspection process analyzing the bean?s classes and superclasses.
26. What is bean customization?
Customization provides a means for modifying the appearance and behavior of a bean within an application builder so it meets your specific needs. There are several levels of customization available for a bean developer to allow other developers to get maximum benefit from a bean?s potential functionality.
1.By using a property editor. Each bean property has its own property editor. The NetBeans GUI Builder usually displays a bean’s property editors in the Properties window. The property editor that is associated with a particular property type edits that property type.
2. By using customizers. Customizers give you complete GUI control over bean customization. Customizers are used where property editors are not practical or applicable. Unlike a property editor, which is associated with a property, a customizer is associated with a bean.
27. What is EJB container?
A container that implements the EJB component contract of the J2EE architecture. This contract specifies a runtime environment for enterprise beans that includes security, concurrency, life-cycle management, transactions, deployment, naming, and other services. An EJB container is provided by an EJB or J2EE server.
28. What is EJB context?
A vendor that supplies an EJB container. An object that allows an enterprise bean to invoke services provided by the container and to obtain the information about the caller of a client-invoked method.
29. What is EJB Home object?
An object that provides the life-cycle operations (create, remove, find) for an enterprise bean. The class for the EJB Home object is generated by the container’s deployment tools. The EJB Home object implements the enterprise bean’s Home interface. The client references an EJB Home object to perform life-cycle operations on an EJB object. The client uses JNDI to locate an EJB Home object.
30. What is EJB object?
An object whose class implements the enterprise bean’s remote interface. A client never references an enterprise bean instance directly. A client always references an EJB object. The class of an EJB object is generated by a container’s deployment tools.