Welcome!

Agile Computing Authors: Ferhat Hatay, Charlotte Spencer-Smith, Elizabeth White, Pat Romanski, SmartBear Blog

Related Topics: IoT User Interface, Java IoT

IoT User Interface: 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
Companies can harness IoT and predictive analytics to sustain business continuity; predict and manage site performance during emergencies; minimize expensive reactive maintenance; and forecast equipment and maintenance budgets and expenditures. Providing cost-effective, uninterrupted service is challenging, particularly for organizations with geographically dispersed operations.
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 ad...
Join us at Cloud Expo | @ThingsExpo 2016 – June 7-9 at the Javits Center in New York City and November 1-3 at the Santa Clara Convention Center in Santa Clara, CA – and deliver your unique message in a way that is striking and unforgettable by taking advantage of SYS-CON's unmatched high-impact, result-driven event / media packages.
There will be new vendors providing applications, middleware, and connected devices to support the thriving IoT ecosystem. This essentially means that electronic device manufacturers will also be in the software business. Many will be new to building embedded software or robust software. This creates an increased importance on software quality, particularly within the Industrial Internet of Things where business-critical applications are becoming dependent on products controlled by software. Qua...
SYS-CON Events announced today that Commvault, a global leader in enterprise data protection and information management, has been named “Bronze Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Commvault is a leading provider of data protection and information management...
With an estimated 50 billion devices connected to the Internet by 2020, several industries will begin to expand their capabilities for retaining end point data at the edge to better utilize the range of data types and sheer volume of M2M data generated by the Internet of Things. In his session at @ThingsExpo, Don DeLoach, CEO and President of Infobright, will discuss the infrastructures businesses will need to implement to handle this explosion of data by providing specific use cases for filte...
SYS-CON Events announced today that Pythian, a global IT services company specializing in helping companies adopt disruptive technologies to optimize revenue-generating systems, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Founded in 1997, Pythian is a global IT services company that helps companies compete by adopting disruptive technologies such as cloud, Big Data, advanced analytics, and DevO...
SYS-CON Events announced today that Avere Systems, a leading provider of enterprise storage for the hybrid cloud, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Avere delivers a more modern architectural approach to storage that doesn’t require the overprovisioning of storage capacity to achieve performance, overspending on expensive storage media for inactive data or the overbuilding of data centers ...
SYS-CON Events announced today that Alert Logic, Inc., the leading provider of Security-as-a-Service solutions for the cloud, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Alert Logic, Inc., provides Security-as-a-Service for on-premises, cloud, and hybrid infrastructures, delivering deep security insight and continuous protection for customers at a lower cost than traditional security solutions. Ful...
Fortunately, meaningful and tangible business cases for IoT are plentiful in a broad array of industries and vertical markets. These range from simple warranty cost reduction for capital intensive assets, to minimizing downtime for vital business tools, to creating feedback loops improving product design, to improving and enhancing enterprise customer experiences. All of these business cases, which will be briefly explored in this session, hinge on cost effectively extracting relevant data from ...
SYS-CON Events announced today that iDevices®, the preeminent brand in the connected home industry, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. iDevices, the preeminent brand in the connected home industry, has a growing line of HomeKit-enabled products available at the largest retailers worldwide. Through the “Designed with iDevices” co-development program and its custom-built IoT Cloud Infrastruc...
As enterprises work to take advantage of Big Data technologies, they frequently become distracted by product-level decisions. In most new Big Data builds this approach is completely counter-productive: it presupposes tools that may not be a fit for development teams, forces IT to take on the burden of evaluating and maintaining unfamiliar technology, and represents a major up-front expense. In his session at @BigDataExpo at @ThingsExpo, Andrew Warfield, CTO and Co-Founder of Coho Data, will dis...
The Quantified Economy represents the total global addressable market (TAM) for IoT that, according to a recent IDC report, will grow to an unprecedented $1.3 trillion by 2019. With this the third wave of the Internet-global proliferation of connected devices, appliances and sensors is poised to take off in 2016. In his session at @ThingsExpo, David McLauchlan, CEO and co-founder of Buddy Platform, will discuss how the ability to access and analyze the massive volume of streaming data from mil...
WebSocket is effectively a persistent and fat pipe that is compatible with a standard web infrastructure; a "TCP for the Web." If you think of WebSocket in this light, there are other more hugely interesting applications of WebSocket than just simply sending data to a browser. In his session at 18th Cloud Expo, Frank Greco, Director of Technology for Kaazing Corporation, will compare other modern web connectivity methods such as HTTP/2, HTTP Streaming, Server-Sent Events and new W3C event APIs ...
SYS-CON Events announced today that Men & Mice, the leading global provider of DNS, DHCP and IP address management overlay solutions, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. The Men & Mice Suite overlay solution is already known for its powerful application in heterogeneous operating environments, enabling enterprises to scale without fuss. Building on a solid range of diverse platform support,...
Eighty percent of a data scientist’s time is spent gathering and cleaning up data, and 80% of all data is unstructured and almost never analyzed. Cognitive computing, in combination with Big Data, is changing the equation by creating data reservoirs and using natural language processing to enable analysis of unstructured data sources. This is impacting every aspect of the analytics profession from how data is mined (and by whom) to how it is delivered. This is not some futuristic vision: it's ha...
Silver Spring Networks, Inc. (NYSE: SSNI) extended its Internet of Things technology platform with performance enhancements to Gen5 – its fifth generation critical infrastructure networking platform. Already delivering nearly 23 million devices on five continents as one of the leading networking providers in the market, Silver Spring announced it is doubling the maximum speed of its Gen5 network to up to 2.4 Mbps, increasing computational performance by 10x, supporting simultaneous mesh communic...
The cloud promises new levels of agility and cost-savings for Big Data, data warehousing and analytics. But it’s challenging to understand all the options – from IaaS and PaaS to newer services like HaaS (Hadoop as a Service) and BDaaS (Big Data as a Service). In her session at @BigDataExpo at @ThingsExpo, Hannah Smalltree, a director at Cazena, will provide an educational overview of emerging “as-a-service” options for Big Data in the cloud. This is critical background for IT and data profes...
With the Apple Watch making its way onto wrists all over the world, it’s only a matter of time before it becomes a staple in the workplace. In fact, Forrester reported that 68 percent of technology and business decision-makers characterize wearables as a top priority for 2015. Recognizing their business value early on, FinancialForce.com was the first to bring ERP to wearables, helping streamline communication across front and back office functions. In his session at @ThingsExpo, Kevin Roberts...
Cognitive Computing is becoming the foundation for a new generation of solutions that have the potential to transform business. Unlike traditional approaches to building solutions, a cognitive computing approach allows the data to help determine the way applications are designed. This contrasts with conventional software development that begins with defining logic based on the current way a business operates. In her session at 18th Cloud Expo, Judith S. Hurwitz, President and CEO of Hurwitz & ...