Scale, Share and Store your Models with CDO 2.0 Eclipse Live Webinar, January 29, 2009 Eike Stepper

Slides:



Advertisements
Similar presentations
V 6, Mats Strandberg ORM With Hibernate.
Advertisements

Yukon – What is New Rajesh Gala. Yukon – What is new.NET Framework Programming Data Types Exception Handling Batches Databases Database Engine Administration.
TPTP Data Model 1 Database support for TPTP EMF based data models using Elver/Hibernate Guru Nagarajan July 14, 2006.
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Eike Stepper Berlin, Germany CDO Model Repository 4.1 Release Review.
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
ASP.NET Best Practices Dawit Wubshet Park University.
Rapid Persistence Layer Development with Hibernate Rapid Persistence Layer Development with Hibernate Tyler Mendenhall E-gineering,
Execute Stored Procedure having Output Parameter and returning Result Set in Adeptia Server.
Eike Stepper Berlin, Germany Now that I've Got a Model EclipseCon Europe ,
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.
Session-02.
Apache Chemistry face-to-face meeting April 2010.
What’s New in SSIS with SQL 2008 Bret Stateham Training Manager Vortex Learning Solutions blogs.netconnex.com.
© 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.
DBSQL 14-1 Copyright © Genetic Computer School 2009 Chapter 14 Microsoft SQL Server.
© 2009 by Eike Stepper; made available under the EPL v1.0 | The Net4j Signalling Platform Developing Pluggable Client/Server Applications Eike.
Eike Stepper Berlin, Germany Scale, Share and Store your Models with CDO EclipseCon.
6 th Annual Focus Users’ Conference Manage Integrations Presented by: Mike Morris.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
QuikTrac 5.5, a validated Motorola Software Solution, allows you to take your Host ERP screens and extend them out to fixed or mobile devices including.
Selected Topics in Software Engineering - Distributed Software Development.
Eike Stepper ES-Computersysteme Berlin, Germany Net4j Signalling Platform Developing Pluggable Client/Server Applications.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
Ganymede Simultaneous Release | © 2008 by Springsite B.V., The Netherlands made available under the EPL v1.0 Teneo Ganymede Simultaneous Release.
Building High Performance, Robust Server Applications with Internet Information Server 5.0 Van Van IIS - Program Manager Microsoft Corporation.
Eike Stepper ES-Computersysteme Berlin, Germany CDO Model Repository An Update.
Intro to Git presented by Brian K. Vagnini Hosted by.
Transactions, Roles & Privileges Oracle and ANSI Standard SQL Lecture 11.
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.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Making Sense of Service Broker Inside the Black Box.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTEGRATION.
Configuring MQ Connections and Handlers for MQ adapter 6.5 July 2008.
E2G Web Services E2G Scripts and Methods E2G Domain Logic E2G Domain Logic Client Custom Scripts and Methods Client Custom Scripts and Methods E2G Rules.
Martin Flügge Berlin, Germany Dawn Rise of the Collaborative UI EclipseCon Santa.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Redmond Protocols Plugfest 2016 Jinghui Zhang Office Interoperability Test Tools (Test Suites and Open Source Projects) Software Engineer Microsoft Corporation.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Business rules.
Yochay Kiriaty Senior Technical Evangelist Microsoft® Corporation
Source Control Dr. Scott Schaefer.
CDO Orthogonal Aspects of Models
Eike Stepper Berlin, Germany
Let the sunshine in! News from the Dawn side of life
Concurrent Version Control
Scale, Share and Store your Models with CDO
Version Control System
Connected Data Objects (CDO)
iVend Retail Extensibility
CDO Model Repository Where Models Live
Making Sense of Service Broker
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
A Model Repository for EMF A Framework for Distributed Shared Models
Paul S Waters Getting Git.
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?
Server-Side Programming
Presentation transcript:

Scale, Share and Store your Models with CDO 2.0 Eclipse Live Webinar, January 29, 2009 Eike Stepper Berlin, Germany Ed Merks Ballantrae, Ontario, Canada

Agenda Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 2 EikeEd Typical Application answers questionsThe Wonder of EMF EMF Snippet Typical CDO Deployment Typical CDO Applicationanswers questions Typical CDO Server Live Demonstration Live Discussion (CDO Snippets) (Next Steps)

Business Objects Typical Application Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 3 Business Logic Input Persistence Logic.xml RDB.dat Output

Business Objects Cross References by EMF Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 4 Business Logic Input Persistence Logic.xml RDB.dat ResourceSet Output

Business Objects Model View Controller by EMF Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 5 Business Logic Input Persistence Logic.xml RDB.dat ResourceSet Output

Business Objects Business Logic is Yours Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 6 Persistence Logic Resource.xml RDB.dat Business Logic ResourceSet

Persistence Logic Business Objects Models Generated by EMF Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 7.xml RDB.dat ResourceSet

Persistence Handled by EMF Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 8 Persistence Logic.xml RDB.dat ResourceSet

Default Serialization by EMF Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 9 XMLResource BinaryResource.xml.dat ? RDB

EMF Snippet Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v1.0 10

Typical CDO Deployment Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Client 1 Client 2 Client 3 Server RDB Model Repository

Multiple Repositories Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Client 1 Client 2 Client 3 RDB Model Repository Model Repository

View Audit Transaction View Audit Transaction ResourceSet Typical CDO Application Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v CDOResource Session Model Repository Model Repository

View Audit Transaction View Audit Transaction ResourceSet Integration with ResourceSet Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Session Model Repository Model Repository ViewSet XATransaction

View Audit Transaction View Audit Transaction ResourceSet Each Repository Once per ViewSet Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Session Model Repository ViewSet XATransaction

View Multiple Views per Session Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Session Model Repository Audit Transaction Each Repository Once per ViewSet ViewSet

View Scalability through Revisions Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Session Object 7 v1: , 263, 94 Cached Revisions 7 v2: 7 v3: 82, ,

View Views are Revision Selectors Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Session Object 7 v1: 13, 263, 94 Cached Revisions 7 v2: 13, v3: 82, 263 Audit Historical Object 7 Transaction Dirty Object 7 7 v-1: 263, 13 Local Revision

Object State Machine Scale, Share and Store your Models with CDO 2.0 © 2009 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 reload attach to view detach from view commit remote invalidate DIRTY PROXY CLEAN CONFLICT TRANSIENT NEW

Typical CDO Server Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Server RDB Model Repository Session Management Revision Caching Package Management DBStore Model Repository HibernateStore RDB Hibernate Model Repository ObjectivityStore ODB TCPAcceptor HTTPAcceptor JVMAcceptor ……

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Live Demonstration

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Opening a Session public CDOSession openSession() { // Create TCP connector through wiring container IConnector connector = (IConnector)IPluginContainer.INSTANCE.getElement("org.eclipse.net4j.connectors", "tcp", "dev.foo.com:2036"); // Create CDO session configuration CDOSessionConfiguration config = CDONet4jUtil.createSessionConfiguration(); config.setConnector(connector); config.setRepositoryName("repo1"); config.setLazyPackageRegistry(); // Open CDO session return config.openSession(); }

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Opening Views, Audits and Transactions CDOSession session = openSession(); // Open multiple views on a session CDOView view = session.openView(); CDOAudit audit = session.openAudit(new Date(" ").getTime()); CDOTransaction transaction= session.openTransaction(); // Use own ResourceSet ResourceSet resourceSet = new ResourceSetImpl(); CDOTransaction transaction2= session.openTransaction(resourceSet); // Associate transactions with a distributed transaction CDOXATransaction xa = CDOUtil.createXATransaction(); xa.add(transaction.getViewSet()); xa.add(transaction2.getViewSet());

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Structured Resources / Queries // Open CDO session and view CDOSession session = openSession(); CDOView view = session.openView(); // Navigate through the resource folder structure for (CDOResourceNode node : view.queryResources(null, "business", false)) { if (node instanceof CDOResourceFolder) { EList subNodes = ((CDOResourceFolder)node).getNodes(); } else { EList contents = ((CDOResource)node).getContents(); } } // Close the session when done session.close();

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Explicit Locking CDOSession session = openSession(); CDOTransaction transaction = session.openTransaction(); transaction.setAutoReleaseLocksEnabled(true); // Lock a single object for writing CDOResource resource = transaction.getResource("/my/resource"); resource.cdoWriteLock().lock(); // Modify that object resource.getContents().add(new Company()); resource.getContents().add(new Company()); resource.getContents().add(new Company()); // Commit atomically and release all locks transaction.commit(); session.close();

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Save Points CDOSession session = openSession(); CDOTransaction transaction = session.openTransaction(); // Create and populate a resource CDOResource resource = transaction.getOrCreateResource("/my/resource"); resource.getContents().add(new Customer()); resource.getContents().add(new Customer()); // Set save point, modify and rollback CDOSavepoint savepoint = transaction.setSavepoint(); resource.getContents().add(new Supplier()); resource.getContents().add(new Supplier()); transaction.rollback(savepoint); // Commit only the first changes (customers) transaction.commit(); session.close();

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Passive Updates CDOSession session = openSession(); CDOView view = session.openView(); CDOResource resource = view.getResource("/my/resource"); // Decouple from passive updates session.options().setPassiveUpdateEnabled(false); for (EObject object : resource.getContents()) { Company company = (Company)object; // Work with local model… } session.refresh(); // Work with refreshed model… // Stay in sync from here session.options().setPassiveUpdateEnabled(true);

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Change Subscriptions CDOSession session = openSession(); CDOView view = session.openView(); // Subscribe to repository for CDO adapters view.options().setChangeSubscriptionPolicy(CDOAdapterPolicy.CDO); // Define your CDO adapter class MyAdapter extends AdapterImpl implements CDOAdapter public void notifyChanged(Notification msg) { System.out.println("Modified remotely: " + msg.getNotifier()); } } // Attach your adapter to any object to trigger a particular subscription CDOResource resource = view.getResource("/my/resource"); resource.eAdapters().add(new MyAdapter());

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Query Framework CDOSession session = openSession(); CDOView view = session.openView(); // Create query CDOQuery query = view.createQuery("SQL", "SELECT cdoid FROM Company WHERE name LIKE ${name}"); query.setParameter("name", "Foo%"); query.setMaxResults(35); // Send query to server and iterate the result asynchronously for (Iterator it = query.getResultAsync(Company.class); it.hasNext()) { Company company = it.next(); System.out.println(company); } // Closing the view closes all open queries session.close();

Scale, Share and Store your Models with CDO 2.0 © 2009 by Eike Stepper, Berlin, Germany. Made available under the EPL v Offline mode Checkout Re-sync Legacy model support Ecore UML 3rd party models OCL server-side As common query language For commit validation Model code server-side Custom data types (persistence) Operations (e.g. in OCL) Integration GMF integration Workspace integration Team integration CDO Explorer