Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO Eclipse.

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

The Holmes Platform and Applications Irisel Consulting Madrid, 2008.
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Database System Concepts and Architecture
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
October Dyalog File Server Version 2.0 Morten Kromberg CTO, Dyalog LTD Dyalog’13.
DEV-2: Getting Started with OpenEdge® Architect – Part I
For Eclipse users Integrates task management Automates context management For developers and integrators Provides framework for tasks and contexts Mik.
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
© 2009 IBM Corporation 1 RTC ClearQuest Importer and Synchronizer Lorelei Ngooi – RTC ClearQuest Synchronizer Lead.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
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.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
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.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
© 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.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Fundamentals of Database Chapter 7 Database Technologies.
Version control Using Git Version control, using Git1.
© 2009 by Eike Stepper; made available under the EPL v1.0 | The Net4j Signalling Platform Developing Pluggable Client/Server Applications Eike.
…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.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Introduction to the Adapter Server Rob Mace June, 2008.
Eike Stepper ES-Computersysteme Berlin, Germany Net4j Signalling Platform Developing Pluggable Client/Server Applications.
Jian Gui WANG New Implementation of Agriculture Models APAN19---Jan New Implementations of Agriculture Models Using Mediate Architecture.
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,
A Technical Overview Bill Branan DuraCloud Technical Lead.
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.
Eclipse Debug Views Update Policy. 2 Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Exploring Networked Data and Data Stores Lesson 3.
Martin Flügge Berlin, Germany Dawn Rise of the Collaborative UI EclipseCon Santa.
Redmond Protocols Plugfest 2016 Jinghui Zhang Office Interoperability Test Tools (Test Suites and Open Source Projects) Software Engineer Microsoft Corporation.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Introduction  Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc)  Relations between these elements.
The Holmes Platform and Applications
CDO Orthogonal Aspects of Models
Overall Architecture and Component Model
Let the sunshine in! News from the Dawn side of life
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)
A Model Repository for EMF A Framework for Distributed Shared Models
Dawn Rise of the Collaborative UI
A Model Repository for EMF A Framework for Distributed Shared Models
Now that I've Got a Model Where's My Application?
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO Eclipse Summit Europe, November 3, 2010 Martin Flügge Berlin, Germany

EMF Application Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 2  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

EMF Application Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 3 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 4 EMF Application Model Repository

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

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

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

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

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

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

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v EMF Application Model Repository Branching Auditing Non Auditing Storage Backend Storage Backend

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

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

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

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

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

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

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

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v But what about your user interfaces? ? ? ? ? ? ? CDO ?

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v ? ? ? ? ? ? ? CDO But what about your user interfaces?

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

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Dawn GenModel my.diagram.dawnmy.editor.dawnWeb Project my.gmfgenmy.genmodel my.diagrammy.editor Generate your extension

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

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Server Client Application IStore CDOSessionISession IRepository DB Client / Server

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Client Application IStore CDOSessionISession IRepository DB Embedded Repository

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Server Logic IStore CDOSessionISession IRepository DB Embedded Session

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Client Application IStore CDOSessionISession OfflineClone DB Server IStore ISession MasterRepository DB Synchronizer CDOSession Offline Clone (Embedded)

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Clone Server Client Application IStore CDOSessionISession OfflineClone DB Master Server IStore ISession MasterRepository DB Synchronizer CDOSession Offline Clone (Group Server)

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v ??? Server IStore FO-Monitor Repository DB FO-Agent CDOSession Fail-Over Monitor (1) ??? Server IStore Repository DB FO-Agent CDOSession

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Master Server IStore FO-Monitor Repository DB FO-Agent CDOSession Fail-Over Monitor (2) Backup Server IStore Repository DB FO-Agent CDOSession

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Master Server IStore FO-Monitor Repository DB FO-Agent CDOSession Fail-Over Session Backup Server IStore Repository DB FO-Agent CDOSession Client Application FO-Session

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Client Application Offline Workspace (Checkout) CDOWorkspace

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Client Application IStore Local Session Local Repository DB Offline Workspace (Checkout) CDOWorkspace

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Client Application IStore Local Session Local Repository DB Server IStore ISession Remote Repository DB Remote Session Offline Workspace (Checkout) CDOWorkspace

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v CDO is a runtime technology. People embed it into their products. 1.Persistent data must be kept safe and consistent. 2.All functionality must scale well with model size. 3.All components must be customizeable. 4.All default implementations should perform well.

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

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v CDO - On the Road to Indigo EObjects on the Server OCL on the Server XRefs on the Server Referential Integrity Large Object Streaming Text and Binary Resources Model Evolution Support … HeliosIndigo

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v Dawn - On the Road to Indigo Integration of GMF editor Integration of EMF (tree) editors Web Viewer/Editor for Diagram editors Integration Graphiti UI Locking Support UI Access Control Support Property View Integration... HeliosIndigo

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

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  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 40

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 41

Resources  A CDOResource is an EObject  A repository contains CDOResourceNodes  CDOResourceFolders  CDOResources  CDOTextResource (coming soon)  CDOBinaryResource (coming soon)  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 42

Versioning  CDO supports record temporality  Must be supported by IStore  Can be configured per IRepository  CDO supports branching  Must be supported by IStore  Can be configured per IRepository  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 43

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

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  implemented by an IStore (SQL, HQL, custom, …)  Handlers provided for OCL and XRefs Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 45

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 46

Collaboration  Passive Updates  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/adapter  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 47

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 mode)  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 48

Scale, Share and Store your Models with CDO © 2010 by Eike Stepper, Berlin, Germany. Made available under the EPL v 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 50

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 51