16
Eduard Bartsch SAP AG © SAP AG 2009 Licensed under EPL v1.0

ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

Embed Size (px)

Citation preview

Page 1: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

Eduard BartschSAP AG

© SAP AG 2009 Licensed under EPL v1.0

Page 2: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

BackgroundProposed SolutionDemoNext Steps

2© SAP AG 2009 Licensed under EPL v1.0

Page 3: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 3

EditorsEditors

ProjectExplorerProjectExplorer

ProblemsViewProblemsView

Compare& MergeCompare& Merge

ERPERP& Co& CoERPERP& Co& Co

ServiceRepositoryServiceRepository

ContentManagementContentManagement

……

Page 4: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

Both cases are about Resources as keyabstraction:

Resource is any information that can be namedResources have state (that may change over time)Resources expose uniform interface

© SAP AG 2009 Licensed under EPL v1.0 4

Page 5: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

Hierarchic Content StructuringRather balanced and deep file/foldertrees

Content-independent StorageConcrete Well-defined APIsCollaboration Built-in

Team ProviderMerge/CompareMylyn

© SAP AG 2009 Licensed under EPL v1.0 5

Flat Content StructuringE.g. with big amount ofresources beneath a root URL

(Often) Content-aware StorageREST is Architectural Style andnot even a Network ProtocolCollaboration out of Scope

Has to be solved on top

Page 6: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 6

EditorsEditors

ProjectExplorerProjectExplorer

ProblemsViewProblemsView

Compare& MergeCompare& Merge

ERPERP& Co& CoERPERP& Co& Co

ServiceRepositoryServiceRepository

ContentManagementContentManagement

……

SemanticFile

System

Page 7: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

Decouple Eclipse Resource Hierarchy fromREST URL hierarchySparsely mount REST resources into EclipseWorkspaceIntroduce an SPI and additional ContentProvider in order to handle

Differences between repository-specific RESTimplementationsRepository-specific and content-specific semanticsTeam & Collaboration support

© SAP AG 2009 Licensed under EPL v1.0 7

Page 8: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 8

Normal Folder Source Repository

REST RepositorySemantic Folder

Resource

Subfolder

File

Subfolder

Resource

Subfolder

Resource

Resource

Resource

Resource

Resource

Subfolder

Page 9: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 9

Developer

EclipseEditor/Tool

EclipseResource

Management

ContentProviders

RESTRepository

<<works with>> <<works with>>

Resources

Codelines/Branches/Baselines

etc

Versions/Revisions

F( )«output» «input»

«represents a»

Project/Folder/

ResourceHierarchy

...Variants

SemanticFile System

Page 10: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

Content Providers maybe nestedhave own semantics

© SAP AG 2009 Licensed under EPL v1.0 10

Default Content Provider

ContentProvider 2

ContentProvider 3

ContentProvider 1

File

Project

Folder

File

FileFile

File

File

File

Folder

Folder

Folder

Page 11: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 11

Page 12: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

Further Discussions via Feature Request inEclipse Bugzilla:https://bugs.eclipse.org/bugs/show_bug.cgi?id=292197Prototype implementation is uploaded intoabove Bug Report.Futrther details can be found in Eclipse Wiki:http://wiki.eclipse.org/E4/Resources/Semantic_File_System

© SAP AG 2009 Licensed under EPL v1.0 12

Page 13: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 13

Page 14: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 14

Page 15: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 15

Page 16: ECON2010 Proposal - "E4 Flexible Resources: From Local File System To REST"

© SAP AG 2009 Licensed under EPL v1.0 16

IWorkspaceRunnable myRunnable = new IWorkspaceRunnable() {

public void run(IProgressMonitor monitor) throws CoreException {

IFolder folder = …

ISemanticFolder sfolder = (ISemanticFolder)folder.getAdapter(ISemanticFolder.class);

if ( sfolder != null ) {

sfolder.addFile(fileName, uri, 0, monitor);

}

}

};

workspace.run(myRunnable,workspace.getRoot(),0,null);