Welcome!

Web 2.0 Authors: Elizabeth White, Carmen Gonzalez, Pat Romanski, Liz McMillan, Yeshim Deniz

Related Topics: AJAX & REA, Java

AJAX & REA: Article

Developing Rich Client Applications Using Swing - II

A comparison of available solutions

In Part 1 of this article, I introduced rich client development, available architectures for developing rich client applications based on the Swing toolkit, and technologies that could be used to make development more productive.

In this second part, I'll compare the most popular IDEs and evaluate them with an eye to Swing development for rich client applications.

Swing-based Rich Clients: Support for Java IDEs
There are many development environments available for the Java platform, each of them provides all sorts of features that can be applied in developing various kinds of Java applications - Web applications, desktop applications, mobile applications, SOA, etc. - and use the various Java distributions - Java EE, Java SE, Java ME.

In this article Java IDE evaluation is restricted to rich client application development based on a Swing front-end. Hence in this IDE evaluation, only features connected to Swing-based rich client development are taken into consideration:

  • UI designer availability for visual editing of forms based on the Swing toolkit (JFrame, JInternalFrame, JDialog, JPanel, or other graphical containers); using a visual editor to create and modify forms simplifies and speeds these activities, source code is less error-prone (since code can be auto-generated by the UI designer) when compared to code written by hand.
  • JavaBeans specifications compliance: specification compliance by the IDE UI designer makes it more suitable for the visual development of forms, allowing the adoption in the IDE (in the UI designer of the IDE) of advanced graphics components based on the Swing toolkit, resulting in the ability to visually define graphics component properties in a fast and easy way that is less error-prone.
  • Data binding mechanism support
  • Availability of a rich set of graphics components based on Swing
  • Data retrieval mechanism can "connect" graphics components or data binding layer with the (remote) data access layer.
  • Layers or components that simplify client-side development of Swing-based rich client applications, such as the Swing Application Framework.
  • Server-side libraries for transactions management and data access, such as Spring, EJB 1.x/2.x/3.0, JPA/TopLink Essentials, Hibernate, TopLink, and iBatis.

The IDEs evaluated in this article are Eclipse 3.x combined with some plug-ins, IntelliJ Idea 7.0, JBuilder 2008, Oracle JDeveloper 11g, MyEclipse, NetBeans 6.0, and IBM RAD 7.x.

Besides these IDEs, there are other products, some open source and others commercially licensed, that can be employed for the sole task of GUI construction. Being limited to front-end development, they are not real, complete development environments. But some of them like JFormDesigner, FormLayoutMaker, and Floam are quite valuable. However, they won't be considered here. I am going to concentrate on integrated development environments.

Eclipse 3.x
Eclipse is an open source IDE that can be used to develop both open source and commercial solutions. For this platform some portals are available; they collect plug-ins that extend the Eclipse IDE's capabilities, such as http://www.eclipseplug-incentral.com.

Rich client development in Eclipse is clearly oriented to SWT and RCP technologies. Its native UI designer, called Visual Editor, can be used to develop front-ends based on Swing too. Visual Editor is not fully compliant with JavaBeans specifications so it's not particularly suitable for developing complex GUIs based on Swing, especially if the UI designer is used for visual editing third-party graphics components too.

Window Builder/Swing Designer and the Jigloo plug-in are two valuable plug-ins for Eclipse that provide an excellent UI designer for Swing development. Window Builder is a commercial solution, whereas Jigloo is released under dual licenses: free for open source projects and a non-free commercial licence.

Eclipse assessment is consequently based not only on an Eclipse-based platform but also by taking the use of these two plug-ins into account.

Jigloo Plug-in: UI Designer & JavaBeans Specifications Compliance
Jigloo performs round-tripping of changes between the graphics components and the source code: when developers visually modify graphics components, they can see the modifications reflected in the source code; conversely, when they change the source code, they can see the same changes applied to the graphics components. UI designer quality is excellent. Both standard Swing components and third-party components are correctly rendered and edited by fully supporting the JavaBeans specification.

The versatility of this plug-in is really high. It can optionally generate the .form descriptors used in the NetBeans IDE and its UI designer can recognize and interpret source code included in several alternative methods, such as initGUI, initComponents, initialize, jbInit, open, createPartControl, createContents, createControl, and createDialogArea. This makes Jigloo compatible with GUI source code created in other IDEs.

Jigloo's UI designer automatically generates source code related to events handling for input controls and simplifies layout definition. Several recent layout managers are recognized: the GroupLayout included in Java 1.6, the FormLayout included in the JGoodies suite, and the ad hoc layout manager, AnchorLayout, that can freely arrange a graphics control by specifying its anchor as in other non-Java IDEs.

Jigloo Plug-in: Layers or Components That Simplify Client-side Development
Starting from the Eclipse menu, it is possible to use Jigloo's wizards to create all the graphics objects provided with Swing: JApplet, JFrame, JInternalFrame, JDialog, and JPanel or create a generic class that extends a graphics container and see it in the UI designer.

Jigloo supports the Swing Application Framework to create the skeleton of a Swing application fast and customize an application main frame in terms of a menu bar and toolbar.

It also includes a wizard to generate source code for a grid component of the OpenSwing suite, starting from a value object definition to use as a container for the grid's row, instead of using classic TableModel and JTable objects.

Window Builder Plug-in/Swing Designer: UI Designer and JavaBeans Specifications Compliance
Swing Designer is as good as the Jigloo plug-in. It round-trips changes between the graphics components and the source code, fully supports JavaBeans specifications, and recognizes source code related to the GUI created using other Java IDEs. It automatically generates source code related to events handling for input controls and simplifies layout definition. GroupLayout and FormLayout layout managers are supported too.

Its UI designer can visually define the menu bar content of the form in edit.

Window Builder Plug-in/Swing Designer: Layers or Components That Simplify Client-side Development
As for the Jigloo plug-in, Swing Designer extends the Eclipse menu by providing wizards for creating all graphics Swing containers: JApplet, JFrame, JInternalFrame, JDialog, JPanel, or creating a generic class extending a base Swing container.

Data Binding Mechanism Support
Eclipse does not provide any data binding mechanism for the Swing toolkit as well as Jigloo and Window Builder plug-ins. However it's possible to include in Eclipse's project and external data binding library, such as Beans Binding or JGoodies Bindings, but this IDE doesn't support them directly: there's no wizard to automate code generation related to binding, so using data binding libraries means writing code by hand, with the exception of the OpenSwing suite that embeds a data binding mechanism directly in its graphics components and in this way the UI designer of two plug-ins described above can be used to visually bind components to the data model without manually writing code.

Availability and Support of a Rich Set of Graphics Components Based on Swing and Data Retrieval Mechanisms
Both plug-ins seem to supply complete compliance with JavaBeans specifications and this lets us include graphics components from third-party libraries: JGoodies Swing Suite, JIDE, Kiwi, L2FProd.com Common Components, and OpenSwing are all operable inside the UI designer provided with Jigloo and Window Builder plug-ins.

In the Eclipse base platform or the plug-ins described above there is no data retrieval mechanism that could simplify remote data retrieval, except for the OpenSwing graphics components library, that can be used in combination with the two plug-ins and retrieves a list of JavaBeans or a single JavaBean from server-side layers like Spring or a Java servlet via HTTP.

Server-side Libraries for Transactions Management and Data Access
One of the strongest points of Eclipse platform is the availability of a rich set of open source and commercial Eclipse plug-ins, tools, and products that enhance the entire software development life-cycle for this platform. A lot of these plug-ins are oriented to server-side facets, such as:

  • HiberObjects - define a data model or import it from database tables and relations and manage the entity persistence layer based on JPA or Hibernate
  • Dali JPA Tools - these components (embedded in WTP 2.0 - Eclipse Web Tools Platform) build extensible frameworks and exemplary tools for defining and editing object-relational (O/R) mappings for EJB 3.0 Java Persistence API (JPA) Entities. JPA mapping support focuses on minimizing the complexity of mapping by creating and automating initial mapping wizards.
    It's interesting to note that the Eclipse Persistence Services Project (EclipseLink) provides the reference implementation for the JPA 2.0 (JSR 317) specification. This project is based on TopLink ORM, a tool originally created by Oracle and donated to the EclipseLink project.
  • SpringIDE - supports a list of Spring bean config files and sets of bean config files by providing an XML editor for Spring bean configuration files, a wizard for creating a new Spring project, and support for Spring AOP.
  • Hibernate Tools for Eclipse and Ant - a suite of Eclipse plug-ins for Hibernate 3.0 combined with a unified Ant task for integration into the build cycle. Hibernate Tools is a core component of JBoss Tools and hence part of JBoss Developer Studio. The following features are available in Eclipse:
    -Mapping Editor:
    an editor for Hibernate XML mapping files, supporting auto-completion and syntax highlighting. The editor supports semantic auto-completion for class names, property/field names, table names, and column names.
    -Console:
    configures database connections, provides visualization of classes and their relationships, and lets you execute HQL queries interactively against your database and browse the query results.
    -Reverse Engineering:
    a database reverse-engineering tool that can generate domain model classes and Hibernate mapping files, annotated EJB3 entity beans, or HTML documentation.
    -Several wizards are provided, including wizards to generate Hibernate configuration (cfg.xml) files and Hibernate console configurations quickly.
    -Ant task: a unified Ant task that runs schema generation, mapping generation, or Java code generation as part of the build.

IntelliJ Idea 7.0
This commercial IDE is available with several licences and can be freely used when developing open source projects. Upfront, this IDE provides a set of integrated re-factoring tools that let programmers quickly redesign their code and a number of features intended to accelerate development.

UI Designer Availability & JavaBeans Specifications Compliance
IntelliJ Idea includes an UI designer for Swing. Its JavaBeans specifications support seems to be rather limited: some properties of the BeanDescriptor class are not recognized by the UI designer (e.g., "containerDelegate" and "layoutManager") and this narrows the possibility of including third-party libraries of graphics components and using them directly with the visual editor.

Its UI designer automatically generates source code related to events management for input controls and simplifies layout definition; FormLayout layout manager is also recognized. And the UI designer can work with GUI source code created in other IDEs.

There is a portal that collects plug-ins for IntelliJ Idea that extend its capabilities. One of them is JFormDesigner, a powerful UI designer that can be used to design forms based on Swing.

A feature of the native IntelliJ Idea UI designer not always appreciated is that the source code generated starting from the visual form is neither accessible nor visible as Java source code (as in other non-Java IDEs, such as Visual Basic). Since it is written in an external .form descriptor file, the GUIs developed are only good inside this IDE, because .form-generated files are usually not recognized in other IDEs.

Data Binding Mechanism Support
IntelliJ Idea does not provide real support for data binding mechanisms. It is still possible to include some third-party libraries related to data binding (e.g., Beans Binding or JGoodies Bindings) in projects created with the IDE, but the IDE doesn't recognize them directly, so their use involves writing code. As an alternative, IntelliJ Idea offers a template to realize a sort of binding between input controls and a specific JavaBean by automatically generating source code related to getter and setter methods that store data from input controls to the JavaBean and from the JavaBean to the input controls. This is not real data binding since there is no real-time synchronization between view and data model, or data validation or events firing when the data model changes.

Availability and Support for a Rich Set of Graphics Components Based on Swing and Data Retrieval Mechanisms
The JMatter framework, previously touched on when describing advanced graphics components, can be used to develop two-tier rich client applications. It includes a visual editor for IntelliJ Idea named UltraViolet for defining a data model, which is required before creating the front-end layer.

Since its JavaBean specifications support is not complete, not all third-party graphics components can be included and used directly in its UI designer. Only suites that do not make close use of these specifications can be employed in the designer: JGoodies Swing Suite, JIDE, Kiwi, and L2FProd.com Common Components.

No data retrieval mechanism is available for IntelliJ Idea model.

Layers or Components That Simplify Client-side Development
Starting from the IntelliJ Idea menu, it's possible to create only one visual object, the form. This visual object can then be nested in other forms.

Server-side Libraries for Transactions Management and Data Access
IntelliJ Idea release 7 provides an almost complete set of wizards concerned with the most popular server-side layers and tools, such as Web Services, Hibernate, Java EE Persistence, and Spring 2.0.7. With these wizards the configuration phase of these tools/layers is substantially simplified and faster (mapping, XML file creation, and source code generation).

JBuilder 2008
Starting with the 2007 release, JBuilder has been based on the Eclipse 3.3 development platform and on the Web Tool Platform (WTP) 2.0 layer.

This IDE is available in three editions: Turbo, Professional, and Enterprise. The Turbo edition is free, but lacks a worthy UI designer for Swing and other wizards that could simplify and raise the productivity of rich client application development. The other editions aren't free and include an excellent plug-in for Swing-based development named Swing Designer, previously mentioned when describing the Eclipse platform.

In the rest of this section, the free (useless) edition is ignored.

UI Designer Availability and JavaBeans Specifications Compliance, Layers or Components That Simplify Client-side Development
JBuilder 2008 Professional/Enterprise includes a Window Builder plug-in for visually editing forms: remarks made in the Eclipse section about this plug-in are valid for these JBuilder editions too.

Data Binding Mechanism Support, Availability and Support of a Rich Set of Graphics Components Based on Swing and Data Retrieval Mechanisms
Assessments about data binding and data retrieval and components support reported in the Eclipse section are valid for JBuilder too.

Server-side Libraries for Transactions Management and Data Access
Besides what offered by the Eclipse IDE, JBuilder provides additional wizards to simplify server-side development when working with EJB 2/3, JPA (Hibernate/TopLink), Web Services, and Spring MVC. These technologies can be managed in JBuilder using both visual editors and managing XML/source files.

Oracle JDeveloper 11g
JDeveloper is a free IDE, having a user interface akin to the user interface of past versions of JBuilder (prior to 2007 release), as it was born starting from an old version of JBuilder.

UI Designer Availability and JavaBeans Specifications Compliance
JDeveloper inherits from past versions of JBuilder a high-quality UI designer that seems to be faithful to JavaBeans specifications and this aids the development of rich client applications that use third-party components that depend on these specifications.

JDeveloper's UI designer automatically generates source code related to events handling of input controls and simplifies layout definition in the visual editor.

Layers or Components That Simplify Client-side Development and Data Binding/Data Retrieval Mechanisms
Starting from the JDeveloper menu, it's possible to create graphics objects provided with Swing: frames, internal frames, dialogs, and panels. It is also possible to create from scratch a frame supplied with a menu bar, toolbar, status bar and about window.

One of the most important features provided in JDeveloper is ADF. ADF Business Components can be used to define a data model to bind to forms or grids through a collection of wizards and visual editors that abstract the E/R model and map it to a set of XML descriptors and from them create the front-end layer based on ADF Swing that provides a suite of graphics components based on Swing toolkit. These components can connect to data model layer. ADF includes its own data binding and data retrieval mechanism placed between the front-end and data access layer. ADF Swing creates MDI-based front-ends and provides many graphics components: form, grid, tree+grid, master-detail frames, navigation bars to connect to forms or grids, status bar, combo-box, radio button, image panels, and charts panes.

Availability and Support of a Rich Set of Graphics Components Based on Swing
JDeveloper is highly compliant with JavaBeans specifications and can use graphics components from third-party libraries. JGoodies Swing Suite, JIDE, Kiwi, L2FProd.com Common Components and OpenSwing are all operable inside its UI designer. Apart from that, JDeveloper provides its own solution based on ADF technology.

Server-side Libraries for Transactions Management and Data Access
JDeveloper speeds up the server-side development of applications through ADF. Moreover it offers various wizards to develop server-side components based on EJB 2/3, JPA (Oracle TopLink 11g), and Web Services. An interesting feature of this IDE is Oracle Business Rules, which defines business rules that rules engines can use to bind combinations of facts, variables, and functions to the execution of actions in the application.

MyEclipse 6.0
MyEclipse is a non-free distribution of Eclipse (with a low license price of less than $100) that embeds both open source solutions available also with standard Eclipse platform and distinct solutions.

There are two editions of this IDE, a standard edition and a professional edition.

UI Designer Availability and JavaBeans Specifications Compliance, Layers or Components That Simplify Client-side Development
Remarks made in the Eclipse section about the need for plug-in adoption to improve the UI designer are equally valid for this IDE. The professional edition of MyEclipse includes the Matisse Plug-in, an Eclipse version of the UI designer in NetBeans. This plug-in gives Eclipse the same capabilities as NetBeans's Matisse visual editor (visual editing of forms, round-tripping of changes between the graphics components and the source code, the layout manager's visual support, the simplification of events handling, etc.).

Starting from the IDE menu, it is possible to create graphics objects provided with Swing and AWT, JApplet, JFrame, JDialog, and JPanel, or create the skeleton of an MDI application.

Data Binding Mechanism Support, Availability and Support of a Rich Set of Graphics Components Based on Swing and Data Retrieval Mechanisms
Assessments about data binding, data retrieval, and components support reported in Eclipse section are valid for MyEclipse too. In Professional edition of MyEclipse, the availability of Matisse Plug-in and its high compatibility with JavaBeans specifications assures the adoption and use of third parties graphics components directly inside the UI designer.

Server-side Libraries for Transactions Management and Data Access
MyEclipse provides a suite of tools named Java Persistence Tools that can used with TopLink and Hibernate ORM tools and manage persistence based on JPA, EJB 3, Xdoclet, and the configuration of projects based on Spring. Visual support for database access is also provided (connectors for Oracle, SQL Server, MySQL, and Sybase). These tools extend what is already supplied by other plug-ins available for the Eclipse base platform.

NetBeans 6.x
NetBeans is an open source IDE that can be used to develop both open source and commercial applications. As with Eclipse, there exists a portal dedicated to plug-ins that extend the NetBeans base platform.

UI Designer and JavaBeans Specifications Compliance
NetBeans 6.x provides an UI designer called Matisse that updates source code when visual editing graphics components in the UI designer. The quality of the UI designer is excellent: both standard Swing and third-party components are correctly rendered and edited, thanks to its full support of JavaBeans specifications. Matisse automatically generates source code related to events handling for input controls and simplifies layout definition, included GroupLayout.

A questionable choice regards the use of .form XML files to describe the form content: Matisse does not directly change source code related to form content (i.e., code contained in initComponents method) except for single parts of generated code that can be customized via UI designer commands.

Another issue could be the layout manager automatically set by the UI designer for each graphics component dropped on the edited form: this setting overrides the previously set layout that the component just added could have set; this behavior does not encourage the adoption of third-party components libraries, if these components require specific layouts auto-set to operate correctly (anyway this behavior can be disabled from the NetBeans menu bar).

Layers or Components That Simplify Client-side Development
Starting from the NetBeans menu, it is possible to create graphics objects provided with Swing and AWT - JFrame, JInternalFrame, JDialog, JPanel - or create a generic class that extends a graphics container and see it in the UI designer.

The NetBeans menu creates SDI or MDI applications from scratch; it supports the Swing Application Framework and sets up the skeleton of a Swing application, including some base widgets, such as progress bar, status bar, menu bar, about window and optionally the creation of Master-Detail functionality.

Data Binding Mechanism Support
NetBeans provides wizards to create Master-Detail functionalities (grid+detail form) with support for CRUD operations (create, retrieve, update, delete), starting from a database connection, to realize two-tier client/server applications. With regard to client-side code generation, an editable JTable + detail panel is created; both components are then bound to POJO entities through the Beans Binding data binding mechanism that can be used with input fields (JTextField, etc.) or columns of JTable. Type conversion and data validation are also managed by the same mechanism. As regards data access code generation, JPA technology is exploited. Some objects are recognized (and updated using visual editors), including persistence.xml file, EntityManager initialization, the content of methods related to CRUD operations, and the code related to the data binding mechanism.

It is possible to manage the data binding mechanism for single input fields (JTextField) too by operating directly in the UI designer.

Availability and Support of a Rich Set of Graphics Components Based on Swing and Data Retrieval Mechanisms
The Matisse UI designer ensures high compatibility with JavaBeans specifications and the use of third-party graphics components directly inside the NetBeans UI designer. No data retrieval mechanism is provided.

Server-side Libraries for Transactions Management and Data Access
NetBeans embeds data persistence through JPA. Its menu provides wizards to create a data access and persistence layer. It configures database connections, PersistenceUnit objects, and Entity classes. Moreover, a context menu is available directly in the source code to insert the Persistence Unit and EntityManager objects and manage them through these wizards.

NetBeans 6.x is compliant with EJB 3.0/JPA specifications. Hence EJB and data persistence objects development is supported inside the IDE. Optionally GlassFish 2.x Application Server can be installed and connected to NetBeans to run EJB 3.0/JPA objects in the IDE by means of the TopLink Essentials reference implementation.

Web Services development is also supported and wizards for WSDL and Web Service client management are provided.

Starting with NetBeans 5.5, a plug-in called Spring NetBeans Module has been available to use with the Spring 2.0.x framework for visually editing Spring's XML configuration files and define controllers, bean names, and properties. In NetBeans 6.1 2.5 release of Spring is supported too.

The Hibernate Plug-in for NetBeans is another plug-in for NetBeans that can be used to define properties and relations visually for Hibernate-based development, simplify database schema generation, and generate mapping .hbm descriptor files.

RAD 7.x
IBM's Rational Application Developer for WebSphere Software (RAD) is a commercial IDE based on the Eclipse development platform.

UI Designer Availability and JavaBeans Specifications Compliance
RAD includes an UI designer named Rational Developer Visual Editor for Java that can be used to develop front-ends based on Swing. It round-trips changes between the graphics components and source code. Compliance with JavaBeans specifications is not complete. For instance, the "containerDelegate" property of the BeanDescriptor class is not recognized and this can limit the use of third-party graphics libraries directly inside the visual editor.

RAD's UI designer automatically generates source code related to events management for input controls and simplifies layout definition.

Data Binding Mechanism Support and Data Retrieval Mechanisms
RAD includes a data binding mechanism that can be managed directly from the UI designer by selecting an input control in the form currently in edit and by visually connecting it to one of the data sources supported by RAD: EJB, Web Services, or JavaBeans factory. The data binding mechanism can be used with text input fields, tables, and buttons or can be extended to custom input controls by defining custom "binders"; the binding mechanism distinguishes among: Swing Binders, Data Source, and Data Object; a Swing Binder connects a graphics component to a Data Object, a Data Object represents a set of basic data; the same Data Object can then be connected through Data Binders to more input controls; finally a Data Source represents a generator of Data Objects, based on Session Beans, Web Services, or JavaBeans.

Availability and Support of a Rich Set of Graphics Components Based on Swing
Since JavaBeans specifications support is not complete, not all third-party graphics components can be included and used directly in the UI designer of this IDE: only suites that do not make severe use of these specifications can be employed in the designer: JGoodies Swing Suite, JIDE, Kiwi, and L2FProd.com Common Components.

Layers or Components That Simplify Client-side Development
Starting from RAD menu, it is possible to create graphics objects provided with Swing and AWT: JFrame, JDialog, JPanel, and JApplet.

Server-side Libraries for Transactions Management and Data Access
Rational Application Developer includes visual editors for database connection handling, Web Services, and EJB construction to define Data Sources that can be connected to the data binding mechanism that binds Data Objects with Swing input controls.

Table 1 compares the main Java IDEs that support Swing.

For completeness, another popular IDE should be mentioned, JBoss Developer Studio, based on the Eclipse platform; however this IDE has not been compared to the others because it does not include features helpful for rich client application development based on Swing.

Conclusion
This comparison table lets us draw certain conclusions about the IDEs and their possible extensions relaying to the development of rich client applications based on Swing.

There aren't important differences among the IDEs selected, so perhaps ranking them is meaningless, since each one could give different weights to the criteria used to assess IDEs, according to one's own needs: one could give priority to the cost of the adopted solution (IDE + extensions, plug-ins, third-party libraries, etc.) or put productivity first and consider the investment in the development environment incidental or judge some of criteria examined here as trivial, such as the availability of a remote data retrieval mechanism in developing two-tier client/server applications.

Anyway, it's possible to group these IDEs in categories by distinguishing between open source products (or near open source, i.e., low licence costs) and commercial products. An organization should ask oneself why choose a commercial solution if the same features are available in open source solutions too: what added value does a commercial IDE provide? Greater productivity? Greater support or documentation? Superior development tools?

From our analysis it seems commercial solutions are not particularly superior to open source ones.

A features of the J2EE development platform is the availability of development environments that are more or less alike, which some people think has a positive effect, since it leads to greater competition, quality, and continuous improvement. On the other hand, it also scatters investment among alternative environments; a situation that doesn't happen with other non-Java IDEs, such as .NET, where Visual Studio.NET plays a dominant role.

The object of this article was to introduce the main IDEs for Swing development and offer a way to assess them and select the right product or set of products.

Resources

More Stories By Mauro Carniel

Mauro Carniel is a Software Architect at Sinesy. He has more than 10 years of enterprise software development experience utilizing JEE technologies, including JSP, JSF, Swing, EJB, JPA. He started focusing more on GUI-based client/server Java applications since 1998, then moved to web rich applications, including Sencha ExtJS and recently Mobile applications and Data Integration. He has a MSc in Information Technology from Udine University, Italy.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
The Internet of Things (IoT) is making everything it touches smarter – smart devices, smart cars and smart cities. And lucky us, we’re just beginning to reap the benefits as we work toward a networked society. However, this technology-driven innovation is impacting more than just individuals. The IoT has an environmental impact as well, which brings us to the theme of this month’s #IoTuesday Twitter chat. The ability to remove inefficiencies through connected objects is driving change throughout every sector, including waste management. BigBelly Solar, located just outside of Boston, is trans...
SYS-CON Events announced today that Matrix.org has been named “Silver Sponsor” of Internet of @ThingsExpo, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Matrix is an ambitious new open standard for open, distributed, real-time communication over IP. It defines a new approach for interoperable Instant Messaging and VoIP based on pragmatic HTTP APIs and WebRTC, and provides open source reference implementations to showcase and bootstrap the new standard. Our focus is on simplicity, security, and supporting the fullest feature set.
Predicted by Gartner to add $1.9 trillion to the global economy by 2020, the Internet of Everything (IoE) is based on the idea that devices, systems and services will connect in simple, transparent ways, enabling seamless interactions among devices across brands and sectors. As this vision unfolds, it is clear that no single company can accomplish the level of interoperability required to support the horizontal aspects of the IoE. The AllSeen Alliance, announced in December 2013, was formed with the goal to advance IoE adoption and innovation in the connected home, healthcare, education, aut...
SYS-CON Events announced today that Red Hat, the world's leading provider of open source solutions, will exhibit at Internet of @ThingsExpo, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Red Hat is the world's leading provider of open source software solutions, using a community-powered approach to reliable and high-performing cloud, Linux, middleware, storage and virtualization technologies. Red Hat also offers award-winning support, training, and consulting services. As the connective hub in a global network of enterprises, partners, a...

SUNNYVALE, Calif., Oct. 20, 2014 /PRNewswire/ -- Spansion Inc. (NYSE: CODE), a global leader in embedded systems, today added 96 new products to the Spansion® FM4 Family of flexible microcontrollers (MCUs). Based on the ARM® Cortex®-M4F core, the new MCUs boast a 200 MHz operating frequency and support a diverse set of on-chip peripherals for enhanced human machine interfaces (HMIs) and machine-to-machine (M2M) communications. The rich set of periphera...

The only place to be June 9-11 is Cloud Expo & @ThingsExpo 2015 East at the Javits Center in New York City. Join us there as delegates from all over the world come to listen to and engage with speakers & sponsors from the leading Cloud Computing, IoT & Big Data companies. Cloud Expo & @ThingsExpo are the leading events covering the booming market of Cloud Computing, IoT & Big Data for the enterprise. Speakers from all over the world will be hand-picked for their ability to explore the economic strategies that utility/cloud computing provides. Whether public, private, or in a hybrid form, clo...
Software AG helps organizations transform into Digital Enterprises, so they can differentiate from competitors and better engage customers, partners and employees. Using the Software AG Suite, companies can close the gap between business and IT to create digital systems of differentiation that drive front-line agility. We offer four on-ramps to the Digital Enterprise: alignment through collaborative process analysis; transformation through portfolio management; agility through process automation and integration; and visibility through intelligent business operations and big data.
The Transparent Cloud-computing Consortium (abbreviation: T-Cloud Consortium) will conduct research activities into changes in the computing model as a result of collaboration between "device" and "cloud" and the creation of new value and markets through organic data processing High speed and high quality networks, and dramatic improvements in computer processing capabilities, have greatly changed the nature of applications and made the storing and processing of data on the network commonplace.
Be Among the First 100 to Attend & Receive a Smart Beacon. The Physical Web is an open web project within the Chrome team at Google. Scott Jenson leads a team that is working to leverage the scalability and openness of the web to talk to smart devices. The Physical Web uses bluetooth low energy beacons to broadcast an URL wirelessly using an open protocol. Nearby devices can find all URLs in the room, rank them and let the user pick one from a list. Each device is, in effect, a gateway to a web page. This unlocks entirely new use cases so devices can offer tiny bits of information or simple i...
Things are being built upon cloud foundations to transform organizations. This CEO Power Panel at 15th Cloud Expo, moderated by Roger Strukhoff, Cloud Expo and @ThingsExpo conference chair, will address the big issues involving these technologies and, more important, the results they will achieve. How important are public, private, and hybrid cloud to the enterprise? How does one define Big Data? And how is the IoT tying all this together?
The Internet of Things (IoT) is going to require a new way of thinking and of developing software for speed, security and innovation. This requires IT leaders to balance business as usual while anticipating for the next market and technology trends. Cloud provides the right IT asset portfolio to help today’s IT leaders manage the old and prepare for the new. Today the cloud conversation is evolving from private and public to hybrid. This session will provide use cases and insights to reinforce the value of the network in helping organizations to maximize their company’s cloud experience.
TechCrunch reported that "Berlin-based relayr, maker of the WunderBar, an Internet of Things (IoT) hardware dev kit which resembles a chunky chocolate bar, has closed a $2.3 million seed round, from unnamed U.S. and Switzerland-based investors. The startup had previously raised a €250,000 friend and family round, and had been on track to close a €500,000 seed earlier this year — but received a higher funding offer from a different set of investors, which is the $2.3M round it’s reporting."
The Industrial Internet revolution is now underway, enabled by connected machines and billions of devices that communicate and collaborate. The massive amounts of Big Data requiring real-time analysis is flooding legacy IT systems and giving way to cloud environments that can handle the unpredictable workloads. Yet many barriers remain until we can fully realize the opportunities and benefits from the convergence of machines and devices with Big Data and the cloud, including interoperability, data security and privacy.
All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades. Over the summer Gartner released its much anticipated annual Hype Cycle report and the big news is that Internet of Things has now replaced Big Data as the most hyped technology. Indeed, we're hearing more and more about this fascinating new technological paradigm. Every other IT news item seems to be about IoT and its implications on the future of digital busines...
Cultural, regulatory, environmental, political and economic (CREPE) conditions over the past decade are creating cross-industry solution spaces that require processes and technologies from both the Internet of Things (IoT), and Data Management and Analytics (DMA). These solution spaces are evolving into Sensor Analytics Ecosystems (SAE) that represent significant new opportunities for organizations of all types. Public Utilities throughout the world, providing electricity, natural gas and water, are pursuing SmartGrid initiatives that represent one of the more mature examples of SAE. We have s...
The Internet of Things needs an entirely new security model, or does it? Can we save some old and tested controls for the latest emerging and different technology environments? In his session at Internet of @ThingsExpo, Davi Ottenheimer, EMC Senior Director of Trust, will review hands-on lessons with IoT devices and reveal privacy options and a new risk balance you might not expect.
IoT is still a vague buzzword for many people. In his session at Internet of @ThingsExpo, Mike Kavis, Vice President & Principal Cloud Architect at Cloud Technology Partners, will discuss the business value of IoT that goes far beyond the general public's perception that IoT is all about wearables and home consumer services. The presentation will also discuss how IoT is perceived by investors and how venture capitalist access this space. Other topics to discuss are barriers to success, what is new, what is old, and what the future may hold.
Swiss innovators dizmo Inc. launches its ground-breaking software, which turns any digital surface into an immersive platform. The dizmo platform seamlessly connects digital and physical objects in the home and at the workplace. Dizmo breaks down traditional boundaries between device, operating systems, apps and software, transforming the way users work, play and live. It supports orchestration and collaboration in an unparalleled way enabling any data to instantaneously be accessed on any surface, anywhere and made interactive. Dizmo brings fantasies as seen in Sci-fi movies such as Iro...
There’s Big Data, then there’s really Big Data from the Internet of Things. IoT is evolving to include many data possibilities like new types of event, log and network data. The volumes are enormous, generating tens of billions of logs per day, which raise data challenges. Early IoT deployments are relying heavily on both the cloud and managed service providers to navigate these challenges. In her session at 6th Big Data Expo®, Hannah Smalltree, Director at Treasure Data, to discuss how IoT, Big Data and deployments are processing massive data volumes from wearables, utilities and other mach...
This Internet of Nouns trend is still in the early stages and many of our already connected gadgets do provide human benefits over the typical infotainment. Internet of Things or IoT. You know, where everyday objects have software, chips, and sensors to capture data and report back. Household items like refrigerators, toilets and thermostats along with clothing, cars and soon, the entire home will be connected. Many of these devices provide actionable data - or just fun entertainment - so people can make decisions about whatever is being monitored. It can also help save lives.