One of the issues across some of the major Eclipse projects is the issue of cross-project integration. This is especially evident in terms of connection frameworks.
The Eclipse ecosystem has many different types of "connection" frameworks. The CVS (Eclipse Platform), Remote Systems Explorer (DSDP-TM), Web (WTP), Communications (ECF), and Database Development (DTP) perspectives all have their own server/system connection management user interfaces and connection frameworks. WTP has been working with DTP to handle management of database connections, which is great, but it's just the tip of the iceberg.
Within e4, we have a chance to settle on a common framework for connection management and its associated UI. This would not only help out the user with a common look and feel across the Eclipse ecosystem for connecting to various systems, but it would allow adopters and extenders to take advantage of this common framework so they too would fit into the Eclipse-iverse more seamlessly to their own users.
The connection framework within DTP, though used primarily for JDBC database connections at this point, has been used with great success in many other ways by Sybase products to connect to file systems, application servers, UDDI and LDAP repositories, and so on. I think it has great potential to fill the need for a common connection framework in e4.
However, integrating will the other projects in Eclipse will be tricky at best and require a great deal of collaboration from many interested parties.
Call for Action
I (Brian Fitzpatrick, Sybase) would like to see some of these various projects, including the Platform, DSDP, WTP, ECF, and DTP, come together to discuss a common set of requirements and UI components for creating and managing connections. DTP has much of this in place, so a subset may be able to move to the Platform for use across projects as a start.
At a minimum, I think we'd need the following:
- The ability to manage different connection types via connection factories and API
- The ability to manage these different connection types via a common user interface (similar to the Data Source Explorer in DTP, but broader in scope) that could leverage existing frameworks (like the Common Navigator Framework) yet be consumed in many different ways (such as in wizards, property pages, dialogs, hosted UI components on web pages, and so on)
Once the basic frameworks and components were in place, we could extend them for various types of connections, such as JDBC databases, application servers, LDAP or UDDI repositories, e-mail or FTP servers, and so on.
By having a common, consistent UI for access of these managed connections, it would be easier not only for users, but for adopters and extenders as well to take the bits and pieces and consume connections created all across the Eclipse ecosystem.
A pipe dream? Perhaps. :) But it's something to shoot for.
E4 represents a great opportunity for change and much better integration across projects. We should take advantage of the opportunity.