A Model Repository for EMF A Framework for Distributed Shared Models

Slides:



Advertisements
Similar presentations
Introduction to NHibernate By Andrew Smith. The Basics Object Relation Mapper Maps POCOs to database tables Based on Java Hibernate. V stable Generates.
Advertisements

© 2006 IBM Corporation Features of an Enterprise-ready Triple Store Ben Szekely June, 2006.
TCP Monitor and Auto Tuner. Need Analysis Enable monitoring of TCP Connections Enable maximum bandwidth utilization No such utility available in MONALISA.
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
Overview of Database Administrator (DBA) Tools
Oracle9i Database Administrator: Implementation and Administration 1 Chapter 2 Overview of Database Administrator (DBA) Tools.
Eike Stepper Berlin, Germany Now that I've Got a Model EclipseCon Europe ,
CSE 4939 Alex Riordan Brian Pruitt-Goddard Remote Unit Testing.
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.
Storing and Accessing Live Mashup Content in the Cloud Krzysztof Ostrowski, Ken Birman Cornell University
TotalETL:infoServer Chris Fournier Nathan Clark Scott Longley Cyril Shilnikov MQP Project 2005 Sponsored by TotalETL inc.
Coda file system: Disconnected operation By Wallis Chau May 7, 2003.
A Case Study CSCI397c OODBMS Fall ’99 by William Yeo.
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
Seafile - Scalable Cloud Storage System
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
1 Copyright © 2014 Tata Consultancy Services Limited Source Code Management using Rational Team Concert IBM Rational, Alliance & Technology Unit 2 July.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
© JBoss Inc JBoss Clustering An Overview Bela Ban Lead JGroups, Manager Clustering Group.
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.
Apache Chemistry face-to-face meeting April 2010.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Cognos TM1 Satya Mobile:
© 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.
Enabling Embedded Systems to access Internet Resources.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
Xavier Lawrence March X. Lawrence - Synchronization of Calendars with a Calendar Server - 2 / 20 Presentation Overview Introduction Project Objectives.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO EclipseCon.
Introduction to the Adapter Server Rob Mace June, 2008.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
Eike Stepper ES-Computersysteme Berlin, Germany Net4j Signalling Platform Developing Pluggable Client/Server Applications.
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
Introduction to ZooKeeper. Agenda  What is ZooKeeper (ZK)  What ZK can do  How ZK works  ZK interface  What ZK ensures.
Eike Stepper ES-Computersysteme Berlin, Germany CDO Model Repository An Update.
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.
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.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Martin Flügge Berlin, Germany Dawn Rise of the Collaborative UI EclipseCon Santa.
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
Introduction  Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc)  Relations between these elements.
October 2014 HYBRIS ARCHITECTURE & TECHNOLOGY 01 OVERVIEW.
Architecture Review 10/11/2004
Module Overview Installing and Configuring a Network Policy Server
CDO Orthogonal Aspects of Models
Consulting Services JobScheduler Architecture Decision Template
Let the sunshine in! News from the Dawn side of life
Concurrent Version Control
Scale, Share and Store your Models with CDO
Connected Data Objects (CDO)
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
Dawn Rise of the Collaborative UI
Developing and testing enterprise Java applications
Now that I've Got a Model Where's My Application?
Enterprise Java Beans.
Distributed Systems and Concurrency: Distributed Systems
Presentation transcript:

A Model Repository for EMF A Framework for Distributed Shared Models CDO Model Repository A Model Repository for EMF A Framework for Distributed Shared Models

Agenda EMF basics CDO client overview CDO server overview EMF persistence framework XML file persistence CDO client overview Distributed shared models Detailed design review CDO server overview Brief design introduction CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Application Off On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Application On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

File1.xml File2.xml Application On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

File2.xml File1.xml Application On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Application On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

File1.xml File2.xml Application On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

File1.xml File2.xml Application Off On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

File1.xml File2.xml Application Off On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

File1.xml File2.xml Application On CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Recall: With EMF you can… Create Ecore models Configure generator models Generate Java code for Your Ecore model Command framework Eclipse UI Use the EMF persistence framework Save and load XML files Resolve cross references across files CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

With XML files you can NOT… Load single instances lazily Resource size is limited Load collections partially Collection size is limited Unload single instances transparently Bad influence on footprint (garbage collection) Bad influence on model design (containment) Work concurrently No transactions No fine grained locking No remote update notification They just don’t behave like multi-user databases CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Application CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Application Application Application Application CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Multiple Clients Model Repository Database CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Model Repository = Models + Resources + Objects Database Multiple Clients Model Repository CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

With CDO you can… Maintain a central model repository Store models in arbitrary backends Cache models in server memory Connect from multiple clients Manage sessions Manage views and transactions Work with a distributed shared model Distribute change notifications Present hot data CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDO supports… Multiple sessions on a single client TCP connections HTTP connections JVM connections Pluggable connection security Challenge/Response negotiation Pluggable fail-over strategies CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDO supports… Multiple views per session Read-only views Transactions and save points Audit views (time machine) Local sharing across all views Potentially huge object graphs Transparent loading/unloading on demand Partial collections Intelligent prefetching CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

? How does all this work? CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Application CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Title Pages Authors PERSISTENT TRANSIENT NEW DIRTY CLEAN commit commit TRANSIENT attach NEW DIRTY detach CLEAN write Book read invalidate PROXY CONFLICT invalidate State reset ID Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Title Pages Authors Revision PERSISTENT DIRTY PROXY CLEAN CONFLICT invalidate write commit read reset detach TRANSIENT attach NEW Book State ID Title Pages Authors Revision CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Revision Title Pages Authors ID Version Title Pages TRANSIENT attach NEW Book State ID Revision ID Version Title Pages Authors Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Revision Revision ID Version Temporary ID Version -1 TRANSIENT attach NEW commit CLEAN Book State ID Revision Revision ID Version Temporary ID Version -1 Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Revision Revision Temporary ID Version -1 Persistent ID NEW commit DIRTY CLEAN write Book State ID Revision Revision Temporary ID Version -1 Persistent ID Version 1 Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Revision Revision Persistent ID Version 1 Title Pages DIRTY CLEAN write Book State ID Revision Revision Title Pages Authors Persistent ID Version 1 CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Revision Revision Revision Persistent ID Version -1 DIRTY CLEAN write Book State ID Revision Revision Revision Persistent ID Version -1 Persistent ID Version 1 Title Pages Authors Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Revision Revision Revision Persistent ID Version -1 commit DIRTY CLEAN write Book State ID Revision Revision Revision Persistent ID Version -1 Persistent ID Version 2 Persistent ID Version 1 Title Pages Authors Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Revision Revision Title Pages Authors Persistent ID commit DIRTY CLEAN Book State ID Revision Revision Title Pages Authors Persistent ID Version 1 Version 2 CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

Book State ID Revision Revision Revision Revision Title Pages Authors Persistent ID Version 3 Revision Revision Persistent ID Version 2 Persistent ID Version 1 Title Pages Authors Title Pages Authors CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDOStateMachine PERSISTENT TRANSIENT NEW DIRTY CLEAN PROXY CONFLICT attach NEW commit DIRTY detach CLEAN write read invalidate PROXY CONFLICT reload CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDORevision id: version: class: created: revised: resourceID: containerID: containingFeatureID: values: CDOID int CDOClass long Object[] CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDORevision id: version: class: created: revised: resourceID: Repository id: version: class: created: revised: resourceID: containerID: containingFeatureID: values: CDOID int CDOClass long Object[] CDOSession CDORevisionManager id: version: class: created: revised: resourceID: containerID: containingFeatureID: values: CDOID int CDOClass long Object[] id: version: class: created: revised: resourceID: containerID: containingFeatureID: values: CDOID int CDOClass long Object[] id: version: class: created: revised: resourceID: containerID: containingFeatureID: values: CDOID int CDOClass long Object[] CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDOObject id: state: resource: revision: view: CDOID CDOState CDOResource CDORevision CDOView CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDOObject id: state: resource: revision: view: CDOID CDOState CDOResource CDORevision CDOView id: version: class: created: revised: resourceID: containerID: containingFeatureID: values: CDOID int CDOClass long Object[] CDORevisionManager CDOSession id: state: resource: revision: view: CDOID CDOState CDOResource CDORevision CDOView id: state: resource: revision: view: CDOID CDOState CDOResource CDORevision CDOView id: state: resource: revision: view: CDOID CDOState CDOResource CDORevision CDOView CDOView CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

How does it integrate with EMF? CDOObject id: state: resource: revision: view: CDOID CDOState CDOResource CDORevision CDOView id: version: class: created: revised: resourceID: containerID: containingFeatureID: values: CDOID int CDOClass long Object[] CDORevisionManager CDOSession state: resource: revision: view: CDOState CDOResource CDORevision CDOView How does it integrate with EMF? CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

How does it integrate with EMF? CDOObject Application id: state: resource: revision: view: CDOID CDOState CDOResource CDORevision CDOView How does it integrate with EMF? CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDOSession CDOView CDOStore CDOStateMachine Application CDOSession CDOView CDOStore CDOStateMachine CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDOSession CDOView CDOStore CDOStateMachine Application CDOSession CDOView CDOStore CDOStateMachine CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDOObjectImpl CDOStateMachine Application CDOObject EObject InternalCDOObject CDOStateMachine CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

? Net4j Protocol CDOSession Application CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDO Server-Side IRepository IStore IStoreAccessor IPackageManager creates IStoreAccessor IPackageManager CDOPackage IRevisionManager CDORevision IResourceManager Path Mappings ISessionManager ISession CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

CDO Server-Side IRepository IStore IStoreAccessor IStoreReader creates IStoreAccessor IStoreReader MEMStore DBStore HibernateStore IStoreWriter ObjectivityStore MEMStoreReader creates DBStoreReader creates HibernateStoreReader creates ObjectivityStoreReader creates MEMStoreWriter DBStoreWriter HibernateStoreWriter ObjectivityStoreWriter CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0

How to continue the tutorial? Questions regarding the slides Switch desktop sharing to Eike Live Demonstration CDO server application CDO user interface Open discussion + code walk-through CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.0