/
Eike Stepper Eike Stepper

Eike Stepper - PowerPoint Presentation

trish-goza
trish-goza . @trish-goza
Follow
376 views
Uploaded On 2017-10-28

Eike Stepper - PPT Presentation

stepperescnetde httpwwwescnetde httpthegordianblogspotcom Berlin Germany Scale Share and Store your Models with CDO EclipseCon Talk March 24 2010 EMF Application Scale Share and Store your Models with CDO ID: 600200

models emf store application emf models application store scale 2010 eike share germany stepper berlin epl repository cdo model

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Eike Stepper" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Eike Stepperstepper@esc-net.dehttp://www.esc-net.dehttp://thegordian.blogspot.comBerlin, Germany

Scale, Share and Store

your Models with CDO

EclipseCon Talk, March 24, 2010Slide2

EMF ApplicationScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.02

A.xml

B.xml

C.xml

D.xml

E.xml

SCM

A.xml

B.xml

C.xml

D.xml

E.xmlSlide3

EMF ApplicationScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.03

Huge models require lots of smaller files

Partitioning must be done at design time

Saving changes is not transactional safe

Loading single objects is still impossible

Garbage collection of objects is impossible

Conflicts must be resolved in text form

No change notifications to other clientsSlide4

EMF ApplicationScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.04

Does not scale well

Not suitable for multi-userSlide5

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

5

EMF Application

EMF Application

EMF Application

Model RepositorySlide6

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

6

EMF Application

EMF Application

EMF Application

Model Repository

ModifySlide7

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

7

EMF Application

EMF Application

EMF Application

Model Repository

CommitSlide8

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

8

EMF Application

EMF Application

EMF Application

Model Repository

InvalidateSlide9

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

9

EMF Application

EMF Application

EMF Application

Model Repository

InvalidateSlide10

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

10

EMF Application

EMF Application

EMF Application

Model Repository

LoadSlide11

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

11

EMF Application

EMF Application

EMF Application

Model Repository

LoadSlide12

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.012

EMF Application

Model RepositorySlide13

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.013

EMF Application

Model Repository

v1

v1

v1Slide14

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.014

EMF Application

Model Repository

v1

v1

v1

v1

v1

v1Slide15

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.015

EMF Application

Model Repository

v2

v1

v1

v1

v2

v1Slide16

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.016

EMF Application

Model Repository

v3

v2

v2

v1

v3

v1Slide17

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.017

EMF Application

Model Repository

v4

v3

v2

v2

v4

v1Slide18

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.018

EMF Application

Model Repository

AuditingSlide19

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.019

EMF Application

Model Repository

v1

v1

v1

AuditingSlide20

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.020

EMF Application

Model Repository

v1

v1

v1

v1

v1

v1

AuditingSlide21

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.021

EMF Application

Model Repository

v2

v1

v1

v1

v2

v1

v1

v1

AuditingSlide22

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.022

EMF Application

Model Repository

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

AuditingSlide23

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.023

EMF Application

Model Repository

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

AuditingSlide24

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.024

EMF Application

Model Repository

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

Auditing

BranchingSlide25

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.025

EMF Application

Model Repository

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

Auditing

Branching

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4Slide26

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.026

EMF Application

Model Repository

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

Auditing

Branching

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4Slide27

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.027

EMF Application

Model Repository

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

Auditing

Branching

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4

v1

v1

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v2

v4

v3

v4Slide28

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.028v4

CDORevision

EClass

CDOID

CDOBranchintlonglong

eClass

idbranchversion

createdrevised

Revision Data

CDOID resourceID

CDOID containerID

int containerFeature

Object[] valuesSlide29

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.029Session

Package Registry

Revision Manager

Package Unit

Package Unit

Package Unit

Package Unit

1

v1

2

3

4

v1

v1

v1

v2

v2

v2

v2

v3

v3

v1

v1

v1

v1

v2

v2

v3

v3

v2

v2

Protocol

View

View

View

Transaction

Transaction

Transaction

Audit

Audit

Audit

1

1

v2

v3

v3

2

3

4

1

1100101001110111010010011110101110101

v4

1

1Slide30

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0301100101001110111010010011110101110101

1

Technical Challenges:

Transfer revisions over the network

Swap revisions on remote invalidationSwap revisions when changing view timeSwap revisions when changing view branchMake objects reclaimable by GCSlide31

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.031BookImpl

Reflective Delegation

String

title

int

pagesCategory category

Writer author

Root Extends Class

String

title

int

pages

Category

category

Writer

author

1Slide32

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.032

BookImpl

EObjectImpl

CDOObjectImplSlide33

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.033

CDOObjectImpl

CDOID

CDORevision

CDOStateCDOView

CDORevision

EClass

CDOID

CDOBranchintlong

long

eClass

id

branch

version

created

revised

Revision Data

CDOID resourceID

CDOID containerID

int containerFeature

Object[] values

CDORevision

EClass

CDOID

CDOBranch

int

long

long

eClass

id

branch

version

created

revised

Revision Data

CDOID resourceID

CDOID containerID

int containerFeature

Object[] values

CDORevision

EClass

CDOID

CDOBranch

int

long

long

eClass

id

branch

version

created

revised

Revision Data

CDOID resourceID

CDOID containerID

int containerFeature

Object[] valuesSlide34

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.034

P E R S I S T E N T

remote

invalidate

write

commit

read

rollback

attach to view

detach from view

commit

remote

invalidate

DIRTY

PROXY

CLEAN

CONFLICT

TRANSIENT

NEWSlide35

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.035

P E R S I S T E N T

remote

invalidate

write

commit

read

rollback

attach to view

detach from view

commit

remote

invalidate

DIRTY

PROXY

CLEAN

CONFLICT

TRANSIENT

NEW

InternalEObject

InternalCDOObject

CDOObjectImpl

DynamicCDOObject

Generated Classes

CDOLegacyAdapter

Generated ClassesSlide36

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.036CDOObjectImpl

Generated Classes

CDOResourceNode

CDOResource

CDOResourceFolderSlide37

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.037

EMF Application

EMF Application

EMF Application

Model Repository

EMF Application

EMF Application

EMF Application

Clone Repository

Master RepositorySlide38

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.038

EMF Application

EMF Application

EMF Application

Clone Repository

Master Repository

ONLINESlide39

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.039

EMF Application

EMF Application

EMF Application

Clone Repository

Master Repository

ONLINE

OFFLINESlide40

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.040

EMF Application

EMF Application

EMF Application

Clone Repository

Master Repository

OFFLINE

SYNCINGSlide41

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.041

EMF Application

EMF Application

EMF Application

Clone Repository

Master Repository

ONLINESlide42

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.042

Model Repository

Database

Package Registry

Revision Manager

Store

Commit Manager

Notifcation Manager

Query Manager / Handlers

Lock Manager

Read / Write Access Handlers

Session Manager

Session 1

Session 2

Session 3

Branch ManagerSlide43

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.043

Model Repository

Database

DBStore

MEMStore

HibernateStore

DB4OStore

ObjectivityStore

????Slide44

CDO Core FeaturesScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.044Slide45

DistributionVarious ways to set up an IRepositoryXML config file, programmatically, Spring, …OSGi, stand-alone, …All components customizeableVarious ways to open a CDOSessionNet4j: TCP, HTTP, embedded, …CDO: embeddedOther transports possibleOffline mode coming soonsCloned and sync’ed repository, normal sessionsScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.045Slide46

PersistencePluggable storage backend adapters (IStores)DBStore (CDO’s own O/R mapper)HibernateStore / TeneoObjectivityStoreDB4OStoreMEMStoreChanging the store type does not affectclient applications!Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.046Slide47

ResourcesA CDOResource is an EObjectA repository contains CDOResourceNodesCDOResourceFoldersCDOResourcesThe resource tree isNavigable through EMFQueryable through CDOScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.047Slide48

VersioningCDO supports record temporalityMust be supported by IStoreCan be configured per IRepositoryCDO supports branchingMust be supported by IStoreCan be configured per IRepositoryA CDOView provides consistent graphsFrom a particular branchFrom a particular point in timeScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.048Slide49

ScalabilityLazy loading at object granuleLazy loading without container objectPartial collection loading, chunkingAdaptive prefetchingManual prefetchingAutomatic unloading at object granuleScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.049Slide50

QueriesCDO includes a generic query frameworkSupports any query languageSupports named parametersSupports synchronous executionSupports asynchronous executionQuery language handlers can beplugged into an IRepository (OCL?, EMF-Q?, …)implemented by an IStore (SQL, HQL, custom, …)Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.050Slide51

TransactionalityStrong transactional safety at model-levelMultiple transactions per sessionMultiple save points per transactionRollback to any save pointCommit with progress monitoringHooks for custom transaction handlersConflict detection and fail-early-transactionsPluggable conflict resolversExplicit read/write locking on object granuleXA transactions to multiple repositoriesScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.051Slide52

CollaborationPassive UpdatesAsynchronous commit notificationsInvalidation of objects, lazy reload if neededCan be switched off per sessionChange subscriptionsAsynchronous change delta deliveryRegistration with repository per objectAutomated through pluggable adapter policiesRemote session managerNotifies about state of other sessionsSupports sending/receiving of arbitrary messagesScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.052Slide53

IntegrationIntegrates with EMF at the model level,not at the edit- or UI-level.Uninvasive to the .ecore file.Best results with regenerated models (native)Regeneration not needed (legacy)Dynamic models supportedMultiple repositories per ResourceSetExternal referencesScale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.053Slide54

Scale, Share and Store your Models with CDO© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.054Dawn – Rise of Graphical CollaborationSlide55

Dawn – Rise of Graphical CollaborationConflict handlingDawn provides detection and handling mechanisms for conflictsIt will build on the CDO conflict mechanisms and provide flexible and intuitive UI to handle conflictsConflicts are displayed inside the diagram editor. Conflicts that cannot be visualized inside the editor will be show in a special view (Dawn Conflict View)LockingDawn will support locking on different hierarchy levels in the GMF diagramLocked objects are marked with special visualisationsWebViewer/WebEditorDawn provides a web viewer to view changes in the diagram while they are processed in EclipseIt also will support changing the diagram (adding/deleting/manipulating) in a browserAllows editing GMF-diagrams on mobile devices even if no Java platform is installed

Scale, Share and Store your Models with CDO

© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

55Slide56

Dawn – Rise of Graphical CollaborationDo not change existing codeA dynamic design and a flexible generator will make it possible to “collaborate” existing GMF editors even if the source isExisting editor do not need to modifiedFirewall transparency modeAllows to operate from within restricted networksThis mode will use a web-based protocol on CDONetwork independence (Offline Mode)Using one of the latest CDO features (offline support) Dawn will allow modifying GMF diagrams without a repository connection.Authentication/AuthorizationProviding access rights on diagram level will allow to protect your model dataAdditionally the use of the diagram (show, modify, view) will be restrictable. Locking behaviour can also be influenced.

Scale, Share and Store your Models with CDO

© 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

56