The Eclipse Resource Management defines a set of APIs for managing file-system-based workspace resources. It provides the foundation for various other services of the Eclipse platform ranging from editor support and resource markers to Team support and Mylyn. With the Eclipse File System (EFS) API, it is now possible to plug-in alternative file system implementations e.g. to access network file systems or other content storages. The EFS is a great thing but does the whole world looks like a huge distributed hard drive with a strictly hierachic file/folder structure? There is a lot of resource-oriented content offered over network via a variety of protocols ranging from REST-based HTTP over WS-Transfer/WS-Resource to proprietary/legacy ones. Very often the resource-based content is offered in a way that doesn't really fit to a hierarchic access pattern. There are also resource addressing schemata, from hierarchic URIs to UUIDs, that cann't be directly mapped to a file path. Looks like there is a big gap between the EFS-based access to file system content and the RESTful or REST-like universe of resources. Should we give up Eclipse Resource management and look for something else? Not necessarily.
In this talk, I will describe an add-on to Eclipse Resource Management that tries to bridge the gap and augment the Resource APIs with additional standardized APIs to work with RESTful or REST-like resources. The implementation is based on EFS and requires no changes to Eclipse Resource Management. The add-on introduces a new SPI to be implemented by adapters that handle access to repository via specific communication protocol or a proprietary client library. The talk will provide an outline of the proposed solution as well as a demo showing prototype implementation and sample adapters.
Eduard currently works as software architect at SAP AG in the area of Eclipse-based tools infrastructure and model-driven development. After joining SAP in 1996, he held different positions as developer, software architect and development manager in the areas of Internet programming technologies, OLE/ActiveX, desktop office integration, source code management, build infrastructure and application lifecycle management.