Advice/Recommendation please? How to best handle big models with various schemas?

Hi
Using DM 3.3.0.747.
We have several bespoke applications, each using its own data model in separate schemas.  They do share various entities/tables which are made available in a shared schema.  There are references to these shared tables, etc. (e.g. foreign keys)
We want to embark on a process to reverse engineer and then maintain these applications' schemas in Data Modeller.
I would really like your views on how to best approach this.  The main concern is that the bigger the design (or more models/sub-views) the slower actions like saving and loading it becomes.  Once you also have it version controlled more time is added onto saving and synchronising with the sub-version repository and between team members.
The thinking is to primarily have each application (and hence its own schema) in separate designs (projects), but include tables from the shared/core schema as needed.  Would this be a good/recommended approach?
How does one address potential changes made (differences introduced) that may conflict between these separate designs?
e.g. in physical model the schema becomes a user that has permissions, etc.  and that same user may be in multiple designs.  Each design is version controlled, but in the end only exists once in the database.  If each design is synch'ed with the database, DDL generated and executed, this can cause one design to add permissions, etc. that the second DDL from the second design removes or replaces with its own?
I hope my question/scenario is clear enough.  If not, please revert to me for more clarification.
Thank you & Regards

Hi Hans,
I think it's better to use DM 4.0 and have everything in one design.
1) You can import all schemas you need into one design (one relational model). Save that design - important to do it before using "remote objects" approach
2) Use "Create new models based on schema names" wizard available in context menu for relational model in browser. Wizard will create new relational model for each schema in originating model and create there tables and views that
belong to that schema. All objects in originating model become read-only "remote objects".
If table (in new model) has a foreign key that refer table in another schema (now that table is moved to another new model) then "remote object" presentation is created for referred table.
At the end you'll have one large model with read-only remote objects and set of relational models that keep the track of foreign keys between tables in different schemas in database.
You can keep the originating model (the large one) in order to have global picture or delete it.
Properties from physical model are also transferred to new models in DM 4.0.
3) Check "Show 'Select relational models' dialog" in "Preferences>Data Modeler" - upon "open design"  that will bring up dialog allowing to select which model   to be loaded. The choice is persisted and
applied next time you open design (no need to see that dialog again if no change in what to be loaded).
4) For each model you can create "DDL generation" configuration (one or more) and exclude remote object from generation in DDL. Permissions should be maintained in model where table is editable and where DDL for that table will be generated.
The thinking is to primarily have each application (and hence its own schema) in separate designs (projects), but include tables from the shared/core schema as needed.
I won't recommend it. I know it's possible to have remote object in another design but you'll face following problems:
1) You cannot use design level domains and definitions in data types model
2) Remote object from another design are sensible to location of that remote design. You need to maintain the same directory structure everywhere designs (all related) are checked out and they need all to be checked out before dependent design to be open
3) You need to add remote objects manually while wizard described above will do it for you in the scope of one design
The main concern is that the bigger the design (or more models/sub-views) the slower actions like saving and loading it becomes.
The number of models shouldn't be a problem with support of "Select relational models" dialog. Subviews will impact loading if only they are large and are visible when "save" is used.
Total number of objects in model doesn't impact "save' operation - only modified objects are saved.
Yes, there is overhead for versioned designs - one more reason to move to DM 4.0 - SVN client 1.7 is used there.
Philip

Similar Messages

  • TS3694 Please how do I handle this. I downloaded a higher version of my Iphone 3 but during the installation it always hangs and show an error message that it cannot be downloaded with code1015.

    Please how do I handle this?
    I downloaded a higher version of my Iphone 3 but during the installation it always hangs and show an unknown error message that it cannot be downloaded and the code of the message 1015.

    This is usually a result of the iPhone being hacked with the cutsie term for that "jailbroken".
    http://support.apple.com/kb/TS3694#error1015
    Error 1015: This error is typically caused by attempts to downgrade the iPhone, iPad, or iPod touch's software. This can occur when you attempt to restore using an older .ipsw file. Downgrading to a previous version is not supported. To resolve this issue, attempt to restore with the latest iPhone, iPad, or iPod touch software available from Apple. This error can also occur when an unauthorized modification of the iOS has occurred and you are now trying to restore to an authorized, default state.

  • How to use Adaptive WebService Model with CAF WebService and Complex Type

    Hi All,
    I am trying to use the Adaptive Web Service Model and call a WebService generated by the CAF. The return type of the WebService is a Complex Type.. I receive an exception when trying to instantiate the Model Node.
    Does anybody know how to use the Adpative Web Service Model with CAF WebServices and Complex Types as return type?
    Help is appreciated..
    Thanks, Johannes

    Thanks Mukesh.
    It is not possible to apply the Service Controller Template on Enterprise Java Bean Models as described in the Document. When I try to aply the template on the EJB Model, NWDS says: Only Webservice Models and RFC Models are supported...???
    I did not find any information about how to return complex types in AWS.. in this document???
    Is there such information available? Has anybody ever done that? There must be a way to do that.. Is is the standard approach, isn't it...? Please help me out there.. I need to get this running..
    Thanks, Johannes

  • How to manage different instrument models with one driver?

    Hi,
    I have a driver already developed for an instrument and want to incorporate another model into it. These instruments have the nearly the same instruction set except one is a subset of the other. I would like to know the standard way or the NI way of combining these drivers. Is there a way of storing global data? I'm using LabView 6.0.
    Thanks in advance.

    There are various techniques used when creating a driver that supports multiple models or models with different installed options, where there are slight functional differences between the models and options.
    If there are VIs that only pertain to a specific model or option, then modify the VI prefix to associate that VI with the particular model/option. For example, a function general family driver might use "ag33xxx" as the general prefix, but VIs that only operate on the ag33250 might use the prefix "ag33250".
    It sounds as if you need to remember this model/option to modify functionality within a common VI. For example, the commands might differ between two different models. To handle this situation, you store model information in the User Data V
    ISA property. At initialization time, you can detect which model you are connected with and either store the model number directly or some ID to represent the model.
    Both these techniques are used in the Agilent 33xxx function generator driver . You will see how User Data is set in the Initialize VI and the retrieved in the Configure Burst Modulation VI.

  • How to validate an XML file with XSD Schema on JDK 1.4

    Hi
    I'm looking for samples how to validate xml files with xsd schema using jsdk 1.4
    Thank you.

    This is how.
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.dom.DOMResult;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.validation.Schema;
    import javax.xml.validation.SchemaFactory;
    import javax.xml.validation.Validator;
    DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
    dbfac.setNamespaceAware(true);
    SchemaFactory factory1 = SchemaFactory
                        .newInstance("http://www.w3.org/2001/XMLSchema");
    Schema schema = factory1.newSchema(new File("person.xsd"));
    dbfac.setSchema(schema);
    DocumentBuilder dbparser1 = dbfac.newDocumentBuilder();
    Document doc1 = dbparser1.parse(new File("person.xml"));
    Validator validator1 = schema.newValidator();
    DOMSource dm1 = new DOMSource(doc1);
    DOMResult domresult1 = new DOMResult();
    validator1.validate(dm1, domresult1);

  • How to best handle RemoteExceptions

    Hi I'm writing some code and would like get some suggestions.
    The application is a remote control software to control server. Sort of remote control panel over TCP/IP.
    I've got a prototype running based on RMI which works nicely.
    The RMI communication between the remote control and the server software is implemented as a set of interfaces that extend the Remote interface and thus every method is declared to throw RemoteException. There are hundreds of little methods, basically one method for each actionPerformed() method in each swing JButton/Action component in the remote control.
    My 'problem' is as follows.
    Now because the RemoteException is checked exception I need to try/catch this in each and every place where I do call a remote method. And like I said there are hundreds of these. And there is realy only one course of action the remote control application can do when it gets a RemoteException, it must restart from scratch and establish a new RMI connection.
    So my code is littered with hundreds of try/catch block that all call one function to re-establish the connection.
    This seems patently silly, is there a better way to do this?
    More on the philosophical side, why is RemoteException checked? Or more to the point, why every remote method needs to throw RemoteException?
    The golden rule is if the caller can take some corrective action make the exception checked otherwise unchecked.
    The RMI underlying TCP/IP protocol is so robust that a RemoteException is 99.9% of the time and indication of broken socket connection. So what can my code do about this, except to catch it and report it? And more to the point, this really depends on the application. Most of the time my code can do little about this so it should be unchecked, ie I handle it if I care but can leave it to the system level catch all be handled if I so desire. Otherwise my code is full of those useless try/catches.
    br Kusti
    PS
    (A related side note here that many RMI programmers might want to consider and think about how to handle is this rather common case. In Windows if you connect a network cable to a laptop with WLAN, all sockets gets reset even though the WLAN over which an RMI connection is running is just fine but RMI connection gets broken. So this is fairly common real life situation in from which I would like to gracefully and silently recover, after all, from users point of view everything is and should appear to be ok, just a cable was inserted. Now I can of course handle this but the code is not very elegant.)

    The RMI underlying TCP/IP protocol is so robust that a RemoteException is 99.9% of the time and indication of broken socket connection.This is untrue. The remote server could be down, the remote JVM could be down, or the remote application could have thrown an exception, including a RemoteException. There are lots of reasons for a RemoteException. And if it is a broken socket connection there is still the question of whether or not the remote call has completed, i.e. whether the connection broke while sending the request or receiving the reply. And if it broke receiving the reply there is the further question of whether the remote call succeeded or not, which you cannot establish without receiving the reply.
    So what can my code do about this, except to catch it and report it?Your code needs to make an attempt to figure out which of those conditions above has occurred. If your transactions are idempotent and you can establish that the exception occurred either while sending the request or receiving the reply, you can just retry the call.
    Basically in RMI and networked applications generally you have to deal with the possibility of partial failure. Correct exception handling is of the essence of RMI programming. It can't be just treated as some kind of a nuisance. The concept of RemoteException as an unchecked exception doesn't hold water for a moment, unless you are prepared to advocate the same for IOException.

  • How to best handle 2 ipods on one computer?

    Hi there,
    After having my "own" itunes set up on my PC (running XP), my son is now getting his own ipod.
    What's the best way to run 2 ipods off of a single computer? Create a separate Library for my son, or set up a wholly new instance of itunes under my son's login?
    TIA,
    Menop

    If your son has a seperate CPU account, all he has to do is log into his side of the CPU and open iTunes. That will take it to a blank iTunes screen, where he can put in his music, and not have to worry about your music (and vice versa).
    Different user accounts are the easiest way to manage 2 iPods on one CPU.

  • Expert advice sought please: How do I change my child's default primary email address to another address?

    Hello
    I've just set up a child's Family sharing account.
    I now want to change address ([email protected]) to an email account of my own choice. I have added the email address but there is no link to make this the primary address. How is this achieved?
    Thanks

    Thanks for the reply.
    This is just another reason why I detest the Apple ecosphere. I'm now forced to use an iCloud address for a minor. Steve Jobs has an awful lot to answer for. Most of it bad.
    Disgraceful.

  • How to build a BIG TREE with Tree-Form layout

    Hi,
    I do have a self-referenced table with our org structure - 15 000 positions.
    I do want to create a tree with this structure.
    Requirements :
    a, to have a tree-form layout
    b, to have search capabilities
    I have tried to use several combinations (maybe all)
    - from using only one View object and create recursive tree - doesn't even run
    - to use two View objects, first as top level nodes, the other as the rest - it runs
    but I can search only top level, and what is worse, by clicking on the node for showing additional information (tree-form layout) I'm waiting for ages for seeing the info
    (it seems that all records are loaded one by one into AS)
    Could you provide some ideas how to deal with this ?
    Thanks.

    I am sorry, this is beyond the scope of this forum.
    As with any functionality not directly provided by JHeadstart, you can build it yourself using the ADF design time tools in JDeveloper. Please use the JDeveloper forum for help on this first step.
    Then, to keep your pages generatable you can move these customizations to custom templates. We are happy to help you with this last step, should you have problems there.
    Steven Davelaar,
    JHeadstart Team.

  • How do companies handle Apple IDs with the new iOS7 features?

    My company has a number of iOS devices that it has purchased for employees to use.  Traditionally we have let employees use their personal Apple IDs on their company phones/tablets so they can have access to their personal purchases, etc.  It is not really feasible for us to force employees to use a corporate Apple ID as that would prevent them from accessing their personal content and there would be a revolt if we tried to implement that policy.
    Now that the new iOS7 and Find my iPhone enhancements prevent you from restoring an iOS device to factory defaults without the associated Apple ID credentials, what is the recommended path for businesses to take if they are not large enough to warranty an MDM solution?  If an employee leaves the company and turns in an iOS device that is password protected, how can the company restore it if they don't have the employee's Apple ID?  Normally this is not a problem, but occassionally an employee leaves on bad terms and won't cooperate.
    Is there a way to register a device to a corporate Apple ID, or otherwise "flag" the device as a corporate-owned device so the corporate Apple ID can restore the device to defaults while still allowing the employee to use their personal Apple ID on the device?

    You can't rely on just Yelp. Apple Maps pulls data from a variety of business listings vendors. Here's some more detail:  How To Add a Business To Apple Maps

  • How to best change shoulder shape with pen tool: cut graphic in half and reflect?

    Hi,
    I'm working with a .eps file of a mannequin. I need to make the shoulders more square and more rounded to show variations on body type. I'm not an illustrator whiz, but I thought that it would be best to slice the graphic down the middle, alter one shoulder, and then reflect it so that they are even. But how do I do cut it in half?
    I've been playing with the convert anchor point tool to change the should shape and while it works, it's very hard for me to replicate the exact same effect on the opposite side. I've uploaded the file so that you can see what I'm talking about. If anyone could suggest the best route, I would very much appreciate it. Thanks!

    For the scissors, you need to insert extra anchor points at the cutting point.
    It is not necessary to insert an anchorPoint before cutting a segment with the Scissor.
    Also, assuming we're talking about closed or filled path(s) here:
    1. Knife Tool.
    2. Press and hold Alt.
    3. Drag the Knife all the way across the Path(s). Add Shift to constrain to vertical/horizontal/45 diagonal angles.
    If the paths are open and unfilled, the Knife tool is useless. It also does not abide by SmartGuides. (Illustrator has three cutting tools and they are all pathetic.)
    JET

  • How does Labview handle 16bit images with the VI "ImagetoAr​ray"?

    Hi...
    The ImagetoArray function in labview 6.1 handles 16 bit images as an I16 data. This seems to cause memory overflow when I have intensities past 32k. How do I change this to an unsigned 16 bit array or is there a different function that I can use? Thanks much

    Ivan,
    At first I wasn't sure what you were asking.  Now I think I understand.
    If you have a 16 bit image, it doesn't matter if it is signed or unsigned.  Both the U16 and I16 have 65,000 different intensity values, the numbers are just represented differently.  In order to convert a 2-Dimensional I16 array to a 2-Dimensional U16 array, you will need to do some simple bit manipulation.
    Basically you need to first cast the I16 into a U16 and then XOR each element in the I16 2D Array with a 0b1000000000000000.  I have attached an example VI which shows how to do this.  This basically changes the flips the left most bit.
    I hope I answered your question,
    Lorne Hengst
    Application Engineer
    National Instruments
    Attachments:
    IMAQ Signed Unsigned Example.vi ‏51 KB

  • How to best share PP files with a FCP editor?

    I'm working with an editor who has FCP but not PP. I'm doing the preliminary edits in PP and then he steps in and does the more intricate work but again, using FCP. What is the best way to make this work?
    Thank you!!
    Larry
    [email protected]

    I've asked a similar question before, with no better options.  so let me ask a couple follow-ups.
    Kurt, if his goal is just to trim clips (with or without some length handles), will the EDL handle that?
    My issue has been a client who does much of her own basic editing of DV footage in iMovie, and we couldn't find a file type that PP (CS3) liked.  And she'd like a file back at times.  The resolution has been for her to output to DV tape and for me to recapture.  Works fine for our purpose, but there ought to be a better way.
    Also re CS4 sharing files with mac/non PP users, did 4.1 fix the QT AME/export issues?

  • How to parse a big file with Regex/Patternthan

    I would parse a big file by using matcher/pattern so i have thought to use a BufferedReader.
    The problem is that a BufferedReader constraints to read
    the file line by line and my patterns are not only inside a line but also at the end and at the beginning of each one.
    For example this class:
    import java.util.regex.*;
    import java.io.*;
    public class Reg2 {
      public static void main (String [] args) throws IOException {
        File in = new File(args[1]);
        BufferedReader get = new BufferedReader(new FileReader( in ));
        Pattern hunter = Pattern.compile(args[0]);
        String line;
        int lines = 0;
        int matches = 0;
        System.out.print("Looking for "+args[0]);
        System.out.println(" in "+args[1]);
        while ((line = get.readLine()) != null) {
          lines++;
          Matcher fit = hunter.matcher(line);
          //if (fit.matches()) {
          if (fit.find()) {
         System.out.println ("" + lines +": "+line);
         matches++;
        if (matches == 0) {
          System.out.println("No matches in "+lines+" lines");
      }used with the pattern "ERTA" and this file (genomic sequence) :
    AAAAAAAAAAAERTAAAAAAAAAERT [end of line]
    ABBBBBBBBBBBBBBBBBBBBBBERT [end of line]
    ACCCCCCCCCCCCCCCCCCCCCCERT [end of line]
    returns it has found the pattern only in this line
    "1: AAAAAAAAAAAERTAAAAAAAAAERT"
    while my pattern is present 4 times.
    Is really a good idea to use a BufferedReader ?
    Has someone an idea ?
    thanx
    Edited by: jfact on Dec 21, 2007 4:39 PM
    Edited by: jfact on Dec 21, 2007 4:43 PM

    Quick and dirty demo:
    import java.io.*;
    import java.util.regex.*;
    public class LineDemo {
        public static void main (String[] args) throws IOException {
            File in = new File("test.txt");
            BufferedReader get = new BufferedReader(new FileReader(in));
            int found = 0;
            String previous = "", next = "", lookingFor = "ERTA";
            Pattern p = Pattern.compile(lookingFor);
            while((next = get.readLine()) != null) {
                String toInspect = previous+next;
                Matcher m = p.matcher(toInspect);
                while(m.find()) found++;
                previous = next.substring(next.length()-lookingFor.length());
            System.out.println("Found '"+lookingFor+"' "+found+" times.");
    /* test.txt contains these four lines:
    AAAAAAAAAAAERTAAAAAAAAAERT
    ABBBBBBBBBBBBBBBBBBBBBBERT
    ACCCCCCCCCCCCCCCCCCCCCCERT
    ACCCCCCCCCCCCCCCCCCCCCCBBB
    */

  • Help Please: How to make a connection pool with mySQL

    Hi,
    I am learning the example codes shipped with weblogic server, which is under ...samples\examples\ejb20\basic\beanManaged. The original connection pool was on cloudscape. I was trying to modify it and make it connect to mySQL.
    In ejb-jar.xml and weblogic-ejb-jar.xml, I replaced "demopool" (which was the original pool name) with "demopool1".
    After starting the server, I tried to configure a new connection pool as following:
    Name: demopool1
    URL: jdbc:mysql:///test
    Driver Classname: org.gjt.mm.mysql.Driver
    Properties
    (key=value): user=none
    server=none
    But I got the following errors:
    <2007-10-5 ??06?30?09?> <Error> <JDBC> <Cannot startup connection pool "demopool1" Cannot load driver class: org.gjt.mm.mysql.Driver>
    What should I do to let the server find the Driver?
    Thanks a lot.

    Hong Qu wrote:
    Thank you Joe,
    I added the jar file location to the startExampleServer script. But when I tried to configure the Tx Data Sources from the console, I got the following error:
    <2007-10-5 ??08?35?17?> <Notice> <WebLogicServer> <Started WebLogic Admin Server "examplesServer" for domain "examples" running in Development Mode>
    setEntityContext called
    ejbFindByPrimaryKey (ID: 0)
    Failed to lookup JDBC Datasource. Please double check that
    the JNDI name defined in the resource-description of the
    EJB's weblogic-ejb-jar.xml file is the same as the JNDI name
    for the Datasource defined in your config.xml.
    <2007-10-5 ??08?38?16?> <Error> <JDBC> <Error during Data Source creation:
    weblogic.common.ResourceException: DataSource(examples-dataSource-demoPool1)
    can't be created with non-existent Pool (connection or multi) (demoPool1)>>
    Do you know where is wrong?
    Another problem is the connection method in AccountBean.java:
    private Connection getConnection()
    throws SQLException
    InitialContext initCtx = null;
    try {
    initCtx = new InitialContext();
    DataSource ds = (javax.sql.DataSource)
    initCtx.lookup("java:comp/env/jdbc/demoPool");First verify from the console that a pool 'demoPool1' exists and
    that you can test it from the console. Then find the DataSource
    you associated with that pool. For an EJB I would suggest a
    TxDataSource. You defined some JNDI name for the DataSource. Use
    that name in the lookup. For instance, if your DataSource's
    JNDI name is 'MyDataSource', the code should do this:
    DataSource ds = (javax.sql.DataSource)
    initCtx.lookup("MyDataSource");
    return ds.getConnection();
    } catch(NamingException ne) {
    log("Failed to lookup JDBC Datasource. Please double check that");
    log("the JNDI name defined in the resource-description of the ");
    log("EJB's weblogic-ejb-jar.xml file is the same as the JNDI name ");
    log("for the Datasource defined in your config.xml.");
    throw new EJBException(ne);
    } finally {
    try {
    if(initCtx != null) initCtx.close();
    } catch(NamingException ne) {
    log("Error closing context: " + ne);
    throw new EJBException(ne);
    I couldn't figure out what "java:comp/env/jdbc/demoPool" was related, so I just replaced "demopool" with "demopool1". Do you konw what "comp/env/jdbc" mean? Is it a location?
    Thank you so much.
    Iris

Maybe you are looking for

  • Unwanted hor-scroll bars in IE

    Hello all, I have designed a web page in Dreamweaver MX using frames (3-T,L,C) when I view it in Firefox scroll bars appear on the right side, which is correct, but when I view it in IE scroll bars appear on the right AND the bottom, even thow there

  • "No Access" privelage on external drive?

    I purchased a SMARTDISK 250gig USB2 drive for my iMac G4 and MacBook Pro. Unfortunately, playing around with permissions for the drive (via Get Info), I set all to "No Acceess" and logged out. When logging back in, the drive does not appear. Firing u

  • Is My Hard Disk Dead?

    So today I tried to reboot my powerbook running Tiger, and my computer will not go past the gray start up screen. I tried resetting the PRAM and NVRAM but neither worked. I't won't allow me to run in safe move. When I reboot in verbose mode it gives

  • Update statistics for database

    I'm needing to update stats on all tables in the database, and an unsure how to do so, and haven't been able to find any documentation for it. Could someone help me in this, show me the code on how to make this happen. Thanks

  • WLC cannot see 1252 LWAP

    I have a 64 AP with WLC install, 56 APs we can see in the WLC, 8 we cannot, the 8 APs were visible and hour ago, WLC can ping APs. Reboot APs, same results, What could be the cause.