From Hard Drive to RESTful Universe: An Add On To Eclipse Resource Management

2,681 views

Published on

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 look like a huge distributed hard drive with strictly hierarchic 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 addressing schemata for resources, like hierarchic URIs and UUIDs that can’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.
This presentation briefly describes a proposal for an add-on to the Eclipse Resource Management that tries to bridge the gap and augment the Resource Management 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 via their specific communication protocol or proprietary client library.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,681
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

From Hard Drive to RESTful Universe: An Add On To Eclipse Resource Management

  1. 1. From Hard Drive to RESTful Universe: An Add-on to Eclipse Resource Management Eduard Bartsch SAP AG © SAP AG 2009, Licensed under EPL 1.0 1
  2. 2. Agenda Background Proposed Solution Demo Next Steps © SAP AG 2009 An Add-on to Eclipse Resource Management 2
  3. 3. Vision: Combine the Power of Two Worlds Project ERP Explorer & Co Editors Service Eclipse Eclipse Remote Remote Repository Workspace Workspace Resource Resource Compare Resource Resource ! & Merge Content Management Problems … View © SAP AG 2009 An Add-on to Eclipse Resource Management 3
  4. 4. Eclipse Workspace Resources vs. REST: Commonalities Both cases are about Resources as key abstraction: –Resource is any information that can be named –Resources have state (that may change over time) –Resources expose uniform interface Eclipse Eclipse Remote Remote Workspace Workspace Resource Resource Resource Resource © SAP AG 2009 An Add-on to Eclipse Resource Management 4
  5. 5. Eclipse Workspace Resources vs. REST: Differences Hierarchic Content Structuring Flat Content Structuring –Rather balanced and deep –E.g. with big amount of file/folder trees resources beneath a root URL Content-independent Storage (Often) Content-aware Storage Concrete Well-defined APIs REST is Architectural Style and Collaboration Built-in not even a Network Protocol –Team Provider Collaboration out of Scope –Merge/Compare –Mylyn –Has to be solved on top Eclipse Eclipse Remote Remote Workspace Workspace Resource Resource Resource Resource © SAP AG 2009 An Add-on to Eclipse Resource Management 5
  6. 6. How to Bridge the Divide? Project ERP Explorer & Co Editors Service Eclipse Eclipse Remote Remote Repository Workspace Workspace Semantic Resource Resource Resource Resource File System Compare & Merge Content Management Problems … View © SAP AG 2009 An Add-on to Eclipse Resource Management 6
  7. 7. Major Idea: Consequently Bridge Differences Decouple Eclipse Resource Hierarchy from REST URL hierarchy Sparsely mount REST resources into Eclipse Workspace Introduce an SPI and additional Content Provider in order to handle –Differences between repository-specific REST implementations –Repository-specific and content-specific semantics –Team & Collaboration support © SAP AG 2009 An Add-on to Eclipse Resource Management 7
  8. 8. File System vs. Semantic File System Normal Folder Source Repository Resource File Subfolder Subfolder Semantic Folder REST Repository Resource Resource Subfolder Resource Resource Resource Resource Subfolder © SAP AG 2009 An Add-on to Eclipse Resource Management 8
  9. 9. Content Providers as Adapters for Different REST Repositories <<works with>> <<works with>> Developer Eclipse Eclipse Content REST Semantic Editor/ Resource Repository Tool Management File System Providers Codelines/ «represents a» Branches/ Baselines etc Project/ «output» «input» ... Folder/ Resource Hierarchy F( ) Resources Variants Versions/ Revisions © SAP AG 2009 An Add-on to Eclipse Resource Management 9
  10. 10. Semantic Content Provider Hierarchy Content Providers Default Content Provider may Project – be nested – have own Content File Provider 1 semantics Content Folder Provider 2 Folder Folder Content File Provider 3 Folder File File File File File © SAP AG '09, EPL An Add-on to Eclipse Resource Management 10 1.0
  11. 11. Demo © SAP AG 2009 An Add-on to Eclipse Resource Management 11
  12. 12. Next Steps Further Discussions via Feature Request in Eclipse Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=29 2197 Concept Document uploaded into above Bug Report: https://bugs.eclipse.org/bugs/attachment.cgi?id=15 0474 Prototype Implementation will be published soon after ESE © SAP AG 2009 An Add-on to Eclipse Resource Management 12

×