Eike Stepper ES-Computersysteme Berlin, Germany CDO 2.0 Preview Power to the People Appealing to a Broader Community Lighter, Faster and Better
2.0 Themes Power to the People Major improvements in the API and configuration will give clients considerably more control over the behaviour and performance of their repositories and sessions. Appealing to a Broader Community The CDO project has a proven record of robustness and flexibility. However, in the past best results could only be achieved with EMF models specifically generated for the usage with CDO. The upcoming 2.0 release will be less invasive to the client models and applications by being better aligned with EMF and other standards. CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.02
2.0 Themes Lighter, Faster and Better The CDO project has a proven track record of quality, reliability, and extensibility but all these aspects can be continuously improved. Existing and new clients often desire more functionality from the framework while long established clients generally desire mostly improvements in performance. Often these two are at odds since additional extensibility often has a performance cost and any changes, even performance boosting ones, potentially impact reliability. CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.03
2.0 Themes Lighter, Faster and Better (continued) Every effort will be made to introduce new capabilities so that they have negligible impact on established clients based on the guiding principle: If you don't use it, you don't pay for it. Because service and support has and always will take priority over new development work, development commitments and schedules are subject to arbitrary change, slippage, or even deferral. Be sure to establish direct communication to ensure that any hard commitments are seen as that by the development team itself! CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.04
Power to the People : Create save points : Add resource queries : Make remote invalidation configurable : Develop Query mechanism : Automatic attachment of dangling references : CDOTransactionHandler.rollingbackTransaction() : Change Subscriptions : Configurable timeout in Connector.openChannel() : Configurable timeouts in CDO read-access requests : Add caching properties to CDOSessionConfiguration : Export resources to XMI… CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.05
Power to the People : Make MEMStore more configurable (list sizes) : Add detach object handling to CDOTransactionHandler : Prefix for EClass names in DBStore : Override standard Teneo extensions for generating mapping : Provide a CDOSession.setInitialReferenceChunkSize() : Support CDOAudit.setTimeStamp() : Interceptors at the server-side to run validation, filtering, etc : Provide userID for IChannel through IUserAware : Provide userID for CDOProtocolSession through IUserAware : Public view lock to protect clients against remote invalidation : Store resources in a hierarchical structure : CDOPackageRegistryImpl should offer delegation… CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.06
Appealing to a Broader Community : Implement detach : Manage CDOResource.isLoaded : getURIFragment and getEObject : Net4J PostgreSQL DBAdapter : Support containment proxies : Implement Resource.delete() : Support external references : Transparently support legacy models… CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.07
Lighter, Faster and Better : Exception handling : Optional pooling of store accessors : Shortcut for getObject(object.cdoID()) : Decouple Signal from IChannel : Decouple IConnector from IManagedContainer : Provide memory sensitive revision cache : Provide a two level revision cache CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.08
Lighter, Faster and Better : Make TwoLevelRevisionCache the default : Optimize transfer of Package URIs : Optimize CDOTransactionImpl.analyzeNewPackages : Remove uniqueResourceContents : Optimize ModelUtil.getCDOFeature() : Refactor CDOView. setLoadRevisionCollectionChunkSize : Protect closed sessions and their views against illegal usage CDO Model Repository | © 2008 by Eike Stepper, Berlin, Germany | Made available under the EPL v1.09