Scale, Share and Store your Models with CDO

Slides:



Advertisements
Similar presentations
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Advertisements

Eike Stepper Berlin, Germany CDO Model Repository 4.1 Release Review.
Scale, Share and Store your Models with CDO 2.0 Eclipse Live Webinar, January 29, 2009 Eike Stepper
Eike Stepper Berlin, Germany Now that I've Got a Model EclipseCon Europe ,
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO 2.0 EclipseCon.
Martin Flügge Berlin, Germany Let the sunshine in! News from the Dawn side of.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Understanding and Managing WebSphere V5
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
© 2008 by Eike Stepper; made available under the EPL v1.0 | Connected Data Objects (CDO) The EMF Model Repository.
Eike Stepper Berlin, Germany The CDO Model Repository Perfect for the Enterprise.
Version control Using Git Version control, using Git1.
…using Git/Tortoise Git
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO EclipseCon.
Introduction to the Adapter Server Rob Mace June, 2008.
Hibernate Persistence. What is Persistence Persist data to database or other storage.  In OO world, persistence means persist object to external storage.
Jian Gui WANG New Implementation of Agriculture Models APAN19---Jan New Implementations of Agriculture Models Using Mediate Architecture.
Eike Stepper ES-Computersysteme Berlin, Germany CDO Model Repository An Update.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
Eike Stepper Berlin, Germany CDO Orthogonal Aspects of Models EclipseCon Europe,
Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO Eclipse.
Eike Stepper Berlin, Germany CDO Model Repository Where Models Live SAP Modeling.
IPS Infrastructure Technological Overview of Work Done.
Eike Stepper ES-Computersysteme Berlin, Germany CDO 2.0 Preview Power to the People Appealing to a Broader Community.
Eike Stepper ES-Computersysteme Berlin, Germany CDO Model Repository A Model Repository for EMF A Framework for.
EJB Enterprise Java Beans JAVA Enterprise Edition
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Martin Flügge Berlin, Germany Dawn Rise of the Collaborative UI EclipseCon Santa.
Introduction  Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc)  Relations between these elements.
Enterprise E-Commerce and DotNetNuke
The Holmes Platform and Applications
Information Systems and Network Engineering Laboratory II
LAMS 2.0 Architecture. LAMS 2.0 Architecture Agenda LAMS 2.0: Technical Aims Architecture Technologies LAMS Core LAMS Tool Contract External Tools.
Working in the Forms Developer Environment
Netscape Application Server
Goals Give you a feeling of what Eclipse is.
Module Overview Installing and Configuring a Network Policy Server
CDO Orthogonal Aspects of Models
Overall Architecture and Component Model
Version control, using Git
Let the sunshine in! News from the Dawn side of life
Introduction to Triggers
Processes The most important processes used in Web-based systems and their internal organization.
Introduction to J2EE Architecture
#01 Client/Server Computing
Connected Data Objects (CDO)
LECTURE 3: Software Configuration Management
Data, Databases, and DBMSs
CDO Model Repository Where Models Live
Distributed System Using Java 2 Enterprise Edition (J2EE)
Lecture 1: Multi-tier Architecture Overview
A Model Repository for EMF A Framework for Distributed Shared Models
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Teneo Ganymede Simultaneous Release Graduation Review
Dawn Rise of the Collaborative UI
AIMS Equipment & Automation monitoring solution
A Model Repository for EMF A Framework for Distributed Shared Models
Now that I've Got a Model Where's My Application?
Mylar: a Task Focused UI for Eclipse
Mark Quirk Head of Technology Developer & Platform Group
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
#01 Client/Server Computing
Presentation transcript:

Scale, Share and Store your Models with CDO Eike Stepper stepper@esc-net.de http://www.esc-net.de http://thegordian.blogspot.com Berlin, Germany Scale, Share and Store your Models with CDO JAX Modeling Talk, May 3, 2010

SCM EMF Application A.xml A.xml B.xml B.xml C.xml C.xml D.xml D.xml E.xml E.xml SCM Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Huge models require lots of smaller files EMF Application 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 clients Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Does not scale well Not suitable for multi-user EMF Application Does not scale well Not suitable for multi-user Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

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

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

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

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

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

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

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

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

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

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

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

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

Model Repository EMF Application v2 v4 v3 v4 v2 v1 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

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

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

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

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

Model Repository Auditing EMF Application v3 v3 v2 v2 v2 v2 v1 v1 v1 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Model Repository Auditing EMF Application v4 v4 v3 v3 v3 v2 v2 v2 v2 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Model Repository Auditing Branching EMF Application v4 v4 v3 v3 v3 v2 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Model Repository Auditing Branching EMF Application v4 v4 v3 v3 v2 v2 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Model Repository Auditing Branching EMF Application v1 v2 v3 v4 v1 v2 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Model Repository Auditing Branching EMF Application v1 v2 v3 v4 v1 v2 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

EClass CDOID CDOBranch int long eClass id branch version created CDORevision EClass CDOID CDOBranch int long eClass id branch version created revised Revision Data CDOID resourceID CDOID containerID int containerFeature Object[] values v4 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Session Package Registry Revision Manager View Audit Transaction 1 1 1 v4 Package Registry Revision Manager 1 Package Unit 1 1 2 2 3 3 4 4 v3 v3 v3 v3 v3 v3 Package Unit v2 v2 v2 v2 v2 v2 v2 v2 v2 Package Unit v1 v1 v1 v1 v1 v1 v1 v1 Package Unit Protocol 1100101001110111010010011110101110101 Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Reflective Delegation BookImpl 1 Root Extends Class Reflective Delegation String title int pages Category category Writer author String title int pages Category category Writer author Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

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

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

P E R S I S T E N T NEW DIRTY TRANSIENT CLEAN PROXY CONFLICT attach to view NEW commit commit DIRTY TRANSIENT remote invalidate CLEAN write detach from view remote invalidate read PROXY CONFLICT rollback Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

P E R S I S T E N T InternalEObject DIRTY PROXY CLEAN CONFLICT remote invalidate write commit read rollback attach to view detach from view DIRTY PROXY CLEAN CONFLICT TRANSIENT NEW InternalCDOObject CDOObjectImpl CDOLegacyAdapter DynamicCDOObject Generated Classes Generated Classes Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

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

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

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

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

Clone Repository Master Repository EMF Application EMF Application EMF Application Clone Repository OFFLINE ONLINE Master Repository Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Clone Repository Master Repository EMF Application EMF Application EMF Application Clone Repository OFFLINE SYNCING Master Repository Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

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

Database Model Repository Branch Manager Session Manager Session 1 Notifcation Manager Commit Manager Read / Write Access Handlers Lock Manager Query Manager / Handlers Package Registry Revision Manager Store Database Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

???? ObjectivityStore DB4OStore HibernateStore MEMStore DBStore Model Repository ???? ObjectivityStore DB4OStore HibernateStore MEMStore DBStore Database Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

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

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

Distribution Various ways to set up an IRepository XML config file, programmatically, Spring, … OSGi, stand-alone, … All components customizeable Various ways to open a CDOSession Net4j: TCP, HTTP, embedded, … CDO: embedded Other transports possible Offline mode coming soons Cloned and sync’ed repository, normal sessions Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Persistence Pluggable storage backend adapters (IStores) DBStore (CDO’s own O/R mapper) HibernateStore / Teneo ObjectivityStore DB4OStore MEMStore Changing the store type does not affect client applications! Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Resources A CDOResource is an EObject A repository contains CDOResourceNodes CDOResourceFolders CDOResources The resource tree is Navigable through EMF Queryable through CDO Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Versioning CDO supports record temporality CDO supports branching Must be supported by IStore Can be configured per IRepository CDO supports branching A CDOView provides consistent graphs From a particular branch From a particular point in time Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Scalability Lazy loading at object granule Lazy loading without container object Partial collection loading, chunking Adaptive prefetching Manual prefetching Automatic unloading at object granule Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Queries CDO includes a generic query framework Supports any query language Supports named parameters Supports synchronous execution Supports asynchronous execution Query language handlers can be plugged 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.0

Transactionality Strong transactional safety at model-level Multiple transactions per session Multiple save points per transaction Rollback to any save point Commit with progress monitoring Hooks for custom transaction handlers Conflict detection and fail-early-transactions Pluggable conflict resolvers Explicit read/write locking on object granule XA transactions to multiple repositories Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Collaboration Passive Updates Change subscriptions Asynchronous commit notifications Invalidation of objects, lazy reload if needed Can be switched off per session Change subscriptions Asynchronous change delta delivery Registration with repository per object Automated through pluggable adapter policies Remote session manager Notifies about state of other sessions Supports sending/receiving of arbitrary messages Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

Integration Integrates 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 supported Multiple repositories per ResourceSet External references Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0

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

Dawn – Rise of Graphical Collaboration Conflict handling Dawn provides detection and handling mechanisms for conflicts It will build on the CDO conflict mechanisms and provide flexible and intuitive UI to handle conflicts Conflicts are displayed inside the diagram editor. Conflicts that cannot be visualized inside the editor will be show in a special view (Dawn Conflict View) Locking Dawn will support locking on different hierarchy levels in the GMF diagram Locked objects are marked with special visualisations WebViewer/WebEditor Dawn provides a web viewer to view changes in the diagram while they are processed in Eclipse It also will support changing the diagram (adding/deleting/manipulating) in a browser Allows 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

Dawn – Rise of Graphical Collaboration Do not change existing code A dynamic design and a flexible generator will make it possible to “collaborate” existing GMF editors even if the source is Existing editor do not need to modified Firewall transparency mode Allows to operate from within restricted networks This mode will use a web-based protocol on CDO Network independence (Offline Mode) Using one of the latest CDO features (offline support) Dawn will allow modifying GMF diagrams without a repository connection. Authentication/Authorization Providing access rights on diagram level will allow to protect your model data Additionally 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