Click here to close now.




















Welcome!

Agile Computing Authors: Liz McMillan, Greg Dickinson, Eric Aarrestad, Pat Romanski, Dana Gardner

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
For IoT to grow as quickly as analyst firms’ project, a lot is going to fall on developers to quickly bring applications to market. But the lack of a standard development platform threatens to slow growth and make application development more time consuming and costly, much like we’ve seen in the mobile space. In his session at @ThingsExpo, Mike Weiner, Product Manager of the Omega DevCloud with KORE Telematics Inc., discussed the evolving requirements for developers as IoT matures and conducted a live demonstration of how quickly application development can happen when the need to comply wit...
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Architect for the Internet of Things and Intelligent Systems, described how to revolutionize your archit...
SYS-CON Events announced today that HPM Networks will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. For 20 years, HPM Networks has been integrating technology solutions that solve complex business challenges. HPM Networks has designed solutions for both SMB and enterprise customers throughout the San Francisco Bay Area.
MuleSoft has announced the findings of its 2015 Connectivity Benchmark Report on the adoption and business impact of APIs. The findings suggest traditional businesses are quickly evolving into "composable enterprises" built out of hundreds of connected software services, applications and devices. Most are embracing the Internet of Things (IoT) and microservices technologies like Docker. A majority are integrating wearables, like smart watches, and more than half plan to generate revenue with APIs within the next year.
The Internet of Everything (IoE) brings together people, process, data and things to make networked connections more relevant and valuable than ever before – transforming information into knowledge and knowledge into wisdom. IoE creates new capabilities, richer experiences, and unprecedented opportunities to improve business and government operations, decision making and mission support capabilities.
Growth hacking is common for startups to make unheard-of progress in building their business. Career Hacks can help Geek Girls and those who support them (yes, that's you too, Dad!) to excel in this typically male-dominated world. Get ready to learn the facts: Is there a bias against women in the tech / developer communities? Why are women 50% of the workforce, but hold only 24% of the STEM or IT positions? Some beginnings of what to do about it! In her Opening Keynote at 16th Cloud Expo, Sandy Carter, IBM General Manager Cloud Ecosystem and Developers, and a Social Business Evangelist, d...
In his keynote at 16th Cloud Expo, Rodney Rogers, CEO of Virtustream, discussed the evolution of the company from inception to its recent acquisition by EMC – including personal insights, lessons learned (and some WTF moments) along the way. Learn how Virtustream’s unique approach of combining the economics and elasticity of the consumer cloud model with proper performance, application automation and security into a platform became a breakout success with enterprise customers and a natural fit for the EMC Federation.
The Internet of Things is not only adding billions of sensors and billions of terabytes to the Internet. It is also forcing a fundamental change in the way we envision Information Technology. For the first time, more data is being created by devices at the edge of the Internet rather than from centralized systems. What does this mean for today's IT professional? In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists addressed this very serious issue of profound change in the industry.
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect their organization.
It is one thing to build single industrial IoT applications, but what will it take to build the Smart Cities and truly society-changing applications of the future? The technology won’t be the problem, it will be the number of parties that need to work together and be aligned in their motivation to succeed. In his session at @ThingsExpo, Jason Mondanaro, Director, Product Management at Metanga, discussed how you can plan to cooperate, partner, and form lasting all-star teams to change the world and it starts with business models and monetization strategies.
Converging digital disruptions is creating a major sea change - Cisco calls this the Internet of Everything (IoE). IoE is the network connection of People, Process, Data and Things, fueled by Cloud, Mobile, Social, Analytics and Security, and it represents a $19Trillion value-at-stake over the next 10 years. In her keynote at @ThingsExpo, Manjula Talreja, VP of Cisco Consulting Services, discussed IoE and the enormous opportunities it provides to public and private firms alike. She will share what businesses must do to thrive in the IoE economy, citing examples from several industry sectors.
There will be 150 billion connected devices by 2020. New digital businesses have already disrupted value chains across every industry. APIs are at the center of the digital business. You need to understand what assets you have that can be exposed digitally, what their digital value chain is, and how to create an effective business model around that value chain to compete in this economy. No enterprise can be complacent and not engage in the digital economy. Learn how to be the disruptor and not the disruptee.
Akana has released Envision, an enhanced API analytics platform that helps enterprises mine critical insights across their digital eco-systems, understand their customers and partners and offer value-added personalized services. “In today’s digital economy, data-driven insights are proving to be a key differentiator for businesses. Understanding the data that is being tunneled through their APIs and how it can be used to optimize their business and operations is of paramount importance,” said Alistair Farquharson, CTO of Akana.
Business as usual for IT is evolving into a "Make or Buy" decision on a service-by-service conversation with input from the LOBs. How does your organization move forward with cloud? In his general session at 16th Cloud Expo, Paul Maravei, Regional Sales Manager, Hybrid Cloud and Managed Services at Cisco, discusses how Cisco and its partners offer a market-leading portfolio and ecosystem of cloud infrastructure and application services that allow you to uniquely and securely combine cloud business applications and services across multiple cloud delivery models.
The enterprise market will drive IoT device adoption over the next five years. In his session at @ThingsExpo, John Greenough, an analyst at BI Intelligence, division of Business Insider, analyzed how companies will adopt IoT products and the associated cost of adopting those products. John Greenough is the lead analyst covering the Internet of Things for BI Intelligence- Business Insider’s paid research service. Numerous IoT companies have cited his analysis of the IoT. Prior to joining BI Intelligence, he worked analyzing bank technology for Corporate Insight and The Clearing House Payment...
"Optimal Design is a technology integration and product development firm that specializes in connecting devices to the cloud," stated Joe Wascow, Co-Founder & CMO of Optimal Design, in this SYS-CON.tv interview at @ThingsExpo, held June 9-11, 2015, at the Javits Center in New York City.
SYS-CON Events announced today that CommVault has been named “Bronze Sponsor” of SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. A singular vision – a belief in a better way to address current and future data management needs – guides CommVault in the development of Singular Information Management® solutions for high-performance data protection, universal availability and simplified management of data on complex storage networks. CommVault's exclusive single-platform architecture gives companies unp...
Electric Cloud and Arynga have announced a product integration partnership that will bring Continuous Delivery solutions to the automotive Internet-of-Things (IoT) market. The joint solution will help automotive manufacturers, OEMs and system integrators adopt DevOps automation and Continuous Delivery practices that reduce software build and release cycle times within the complex and specific parameters of embedded and IoT software systems.
"ciqada is a combined platform of hardware modules and server products that lets people take their existing devices or new devices and lets them be accessible over the Internet for their users," noted Geoff Engelstein of ciqada, a division of Mars International, in this SYS-CON.tv interview at @ThingsExpo, held June 9-11, 2015, at the Javits Center in New York City.
Internet of Things is moving from being a hype to a reality. Experts estimate that internet connected cars will grow to 152 million, while over 100 million internet connected wireless light bulbs and lamps will be operational by 2020. These and many other intriguing statistics highlight the importance of Internet powered devices and how market penetration is going to multiply many times over in the next few years.