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

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
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

    Latest Cloud Developer Stories
    Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
    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)....
    In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
    Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
    Wyse Technology, the global leader in cloud client computing, on Thursday announced it's working with Microsoft to market school IT labs and one-to-one computing solutions that allow a cost effective delivery of innovative IT enabled education. These solutions are available throu...
    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

    Breaking Cloud Computing News

    Aruba Networks, Inc. (NASDAQ:ARUN), a global leader in distributed enterprise netwo...