Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


JavaBean Component Reuse
JavaBean Component Reuse

With industry momentum behind the development of powerful tools and diverse components, the JavaBean component market is growing rapidly. It is important to promote commercial quality JavaBeans components and tools; namely, components that can be used and reused by different users in different tools, can interoperate with other components from other vendors and are robust and functionally complete.

A JavaBean component, or simply a Bean, is a platform-neutral component architecture that extends Java's "Write Once, Run Anywhere"ª capability. With tools like Sun Microsystems' Java Studio, developers can easily create reusable JavaBeans components that can be reassembled to create a wide variety of applications from spreadsheets to chat programs.

Following are some guidelines for Java Beans component developers to help ensure that the maximum level of component reuse is achieved.

New Beans from Old Beans
JavaBean components are intended to be reused. An end-user uses a Bean within a JavaBeans-compliant tool. Some developers may want to create new JavaBeans components by using an already existing Bean. The JavaBean component architecture provides some mechanisms for this purpose that need to be taken into consideration:

  • A new JavaBeans component can be created by customizing a Bean through the manipulation of its properties, or through a Customizer, and then serializing the Bean.
  • The functionality of a Bean can be exposed in new ways by providing a new Customizer targeted to a different audience.
  • A new Bean can be created by subclassing an existing Bean.

    Keeping the Next User in Mind
    When creating Beans, consider how BeanInfo, Bean properties and Customizers will help the next user understand the Bean and how it functions.

    BeanInfo
    Each Bean may have a BeanInfo class which is defined by the creator of the Bean. The BeanInfo class lets the application construction tools uncover information that the creator specifies about the bean, making it possible to hook up bean components through a visual programming paradigm. The creator of the Bean has complete control over how the bean is presented to programmers inside these application builders.

    Tips for creating BeanInfo:

  • Decide whether each feature (method, event or property) should be exposed at all to Bean users, and if so whether it should be marked as hidden or expert. Not everything inherited in implementing a Bean should necessarily be exposed.
  • Provide a display name for the feature. Note that, for localization purposes, this name should be extracted from a resource bundle
  • Provide quality iconic representations. This makes the Bean easier to use and more recognizable within the builder tool.

    Properties
    For some important Bean properties it may be useful for the Bean developer to define events that are fired when that property changes in some specific way. A special example of this is a bound property, but other events may be fired as well. When the value of one Bean's property should be extended to a property on another Bean, that is a bound property. For example, on a slider that is moving between two values, treat the current value as a bound property because turning a slide movement on a slider Bean into a setFoo on a target Bean is a convenient user model.

    Not all properties should be made available as a bound property but consider whether or not some useful properties of the Bean are to be made bound. For example, a button might be made bound for its font size and type and background and foreground colors. Another example of useful bound property for a JavaBeans component is its internationalization locale: Changing the locale is likely to be of interest to other components that are interacting with this component.

    The JavaBean component architecture provides support for both constrained and bound properties. This support is orthogonal so that it is possible to have a property that is constrained but not bound. In practice, Beans that export a property as constrained should also export it as a bound property; then listeners would register for both notifications. This allows a simple two-phase protocol for reacting to changes in one such property. When a property is about to change the listener is invoked through VetoableChangeListener and given an opportunity to veto the proposed change. When the change has actually happened, the (same) listener is invoked through PropertyChangeListener and the listener can react to the change.

    Customizers
    A Bean may need to be represented in a specific manner to users or may need to be configured in a certain sequence. Builder tools have no advance knowledge of this. By providing a Customizer the developer can address these situations. The Customizer has full access to the Bean and is normally packaged with the Bean. The Customizer can be a full-fledged JavaBeans component itself. A Customizer can set a private state of the Bean to which the property sheet and methods and events do not have access. Customizers do not override property editors. By using BeanInfo it is possible to associate property editors with Customizers.

    A Customizer can encapsulate deep expertise on the use of a component, and a Customizer can be delivered independently of the Bean itself. Some JavaBeans components may even want to include different Customizers to address the needs of different customers' backgrounds, markets and level of sophistication.

    Through careful consideration of these Bean characteristics, a JavaBean component developer secures a future in the emerging network software market without losing customers who use proprietary systems. By maximizing component reuse, a developer can also quickly attack new market opportunities and new ways to sell smaller packages of software.

  • In order to post a comment you need to be registered and logged in.

    Register | Sign-in

    Reader Feedback: Page 1 of 1

    Enterprise Open Source Magazine Latest Stories . . .
    Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP). The...
    With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and st...
    AMD said late Tuesday that its chief sales officer Emilio Ghilardi had left the company and that CEO and president Rory Read is going to do his job while a replacement is sought. AMD didn’t say why Ghilardi left but it’s assumed Read wants his own people. Read is relatively new to th...
    During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers. M3 execution procedure was outlined in this previous article. The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocati...
    Red Hat is putting its bought-in Gluster scale-out NAS storage technology, acquired in October, on the Amazon cloud. It’s styled Red Hat Virtual Storage Appliance for Amazon Web Services and other clouds are supposed to follow in short order.
    A new episode of the screencast series is now available at the OpenNebula YouTube Channel. This screencast demonstrates the new easily-customizable self-service portal for cloud consumers. Its aim is to offer a simplified access to shared infrastructure for non-IT end users. The scree...
    Subscribe to the World's Most Powerful Newsletters
    Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


    SYS-CON Featured Whitepapers
    ADS BY GOOGLE