Download What is Java?

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
JavaBeans Components
To understand JavaBeans…
 Proficient experience with the Java language
required
 Knowledge of classes and interfaces
 Object-Oriented development and design
 Simple Java GUI application programming
using AWT
 Exposure to Java’s Delegation Event-Handling
Model
JavaBeans Overview
 Software Components
 JavaBeans Definition
 The JavaBeans API
 Applying JavaBeans
 The Basic Structure of a Bean
Software Components
 Discrete, Reusable Software standard
 Microsoft’s ActiveX
 Distributed Network Environment
 Cross-platform
 Must be controlled dynamically
 Assembled to form applications
 Interoperablility standards
The Component Model
 Introspection - Discovery and Registration
 Event Handling
 Persistence
 Visual Presentation - Layout
 Application Builder Support
Introspection
 Discovery of Component at Run Time
 Late Binding
 Expose Component Functionality
 Component is Isolated, yet Usable
Event Handling
 Alert to Internal Change
 Component Interactivity
 Listeners
Persistence
 Saving State
 Storage and Retrieval
 Uniform Persistence Mechanism needed
Visual Presentation - Layout
 Dynamic Property Control
 Physical Layout
 Component Interaction and Spatial
Requirement
 Container/Component Behavior
Application Builder Support
 Graphical application builders
 Toolboxes and Palettes
 Editing Properties
 Components must Expose properties and
behaviors
JavaBean Definition
 What is a Bean?
 The JavaBeans specification states:
A JavaBean is a reusable software
component that can be manipulated visually
in a builder tool.
JavaBeans Benefits and
Features
 Simple and Compact
 Portable
 Leverage Strengths of Java Platform
 Application Builder Support
 Flexible Build-Time Component Editors
 Distributed Computing Support
JavaBeans and Java
 Java: “Write once, Run Anywhere”
 JavaBeans mission statement: “….Reuse
Everywhere”
 Java provides no component model
 JavaBeans specifies framework for reusability
and interoperability for components
 Java integration requires code-level knowledge
 JavaBeans integration requires visual editor
JavaBeans API
 Property Management
 Event Handling
 Introspection
 Persistence
 Application Builder Support
 Customization
 Multithreading
Property Management
 Accessor Methods
 Indexed Properties
 Bound Properties
 Constrained Properties
Event Handling
 Event Sources
 Unicast
 Multicast
 Event Listeners
 Event Objects
 Event Adapters
Introspection
 Reflection
 Design Patterns
 Explicit Bean Information
 Introspector
Persistence
 Storage and Retrieval
 Java Object Serialization
 Bean controlled persistence
Application Builder Support
 Edit and Manipulate Beans
 Bundled with Bean Separately
 Property Sheets
 Property Editors
 Customizers
Multithreading
 Relies on conventional Java Programming
techniques
 synchronized keyword
 Make sure Beans are thread-safe
Where and How Beans are
Used
 Web Pages
 Liven up static HTML
 Interactivity
 Applications
 Application Builder Tool
 Handwritten Code
 Bridge Technology
Structure of a JavaBean
 Data
 Methods
 Events
JavaBean
Data
Methods
Events
JavaBeans and the Interface
JavaBean
Interface A
Data
Public
Methods
Interface B
What Constitutes a Bean?
 Class must be instantiable
 Class must have a default constructor (not
officially required by spec, but by most builder
tools)
 Class must be serializable
 Implement Serializable, Externalizable
 Class must follow JavaBeans naming
conventions (sometimes called design patterns)
 Class must use delegation event model
Constructing a Bean
 “Must be instantiable” requirement
 Not abstract
 Not an interface
 “Default constructor” requirement
 Application builder tools
 Persistence
Serialization
 Representation as a series of bytes
 Storage to non-volatile location
 Implement Serializable Interface
 Implement Externalizable Interface
JavaBeans Design
Patterns
 Naming conventions for automatic
Introspection
 Example: Property named Height
public int getHeight();
public void setHeight(int h);
 Patterns for Event Registration
Delegation Event Model
 Introduced in Java 1.1 AWT
 Most Java AWT Components are Beans
 Simple
 Graphical
 Reusable
 JFC Swing Components are JavaBean
compliant
A Simple Bean
public class FirstBean implements java.io.Serializable
{
protected int theValue;
public FirstBean()
{
}
public void setMyValue( int n )
{
theValue = n;
}
public int getMyValue()
{
return theValue;
}
}
Visual Development
Environments
 Developer can focus on Business Application
 Connect Components Visually
 Code-Generation Engine
 Stability
 Ease of Generation
 Knowledge of Underlying Language Helpful
Visual Programming
 NetBeans
 JBuilder
 VisualAge for Java
 Eclipse
 JDeveloper
Security and JavaBeans
 Same security model as Java
 Beans are treated like applets
 Untrusted applet -> Untrusted Bean
 Trusted applet -> Trusted Bean
 Program for Untrusted Environments
Summary
 JavaBeans satisfies the requirements of a
discrete, reusable component model
 Visual and Non-Visual JavaBeans can be
developed and used in diverse development
environments
 Java Classes can become JavaBeans by
adhering to some minimum standards
 Java’s Security Model transfers directly to
JavaBeans