Dale's profileDale Churchward's SpacePhotosBlogListsMore Tools Help

Blog


    July 12

    Flexible Model for Data Integration

    I just read an interesting article on creating a flexible model for data integration. The idea is to make the model flexible enough so that as new schemas are released each system can adopt on their own timeline and not all at once. As a former operations person I like that idea quite a bit. To me it creates the following benefits:

     

    1. Each system can stay on its own release schedule, no getting stuck, because one application is in yellow or red status.
    2. Deployment becomes much simpler since code for each application can be pushed individually.
    3. Troubleshooting after the release is much easier. You have to look at a much smaller set of applications to find the root of a problem.
    4. Allows for smaller scale release which can be completed in a much quicker timeframe and with much less risk. This allows a business to be much more responsive to changing market conditions.

     

    Where I see the only real disadvantage is in testing. When you are dealing with multiple systems all on different release cycles, and some potentially risking not making dates it requires a larger testing effort to ensure that code is compliant with the versions of applications it will interact with and is backwards compatible. Depending on the flexibility of your testing system this could increase the number of resources and amount of hardware needed in test.

     

    As I read the article, there are basically 3 main points the authors make.

     

    1. Look for places where schema elements can be optional.

     

    The point here is clear. The more elements that are optional, the easier it is to create a schema that not only can be used by all systems, but doesn’t require all systems to upgrade at once when the schema changes.

     

    1. Design each system so that it can publish data according to a specific schema version, but consume more openly.

     

    Basically the more open you can make each application in terms of what it can accept the easier it is to allow for schema changes. At the same time, publishing much follow the version of the schema that the application is set to use so that all boundary systems will be able to consume the data.

     

    1. Allow systems to extend the common schema and utilize some system specific data elements.

     

    What this allows is for an application to upgrade prior to a schema update and map application specific data to its own data model and not have to wait for a common schema upgrade. You would design your application to look and see if the required data is provided in the common schema and if not gather and store it in the application specific equivalent.

     

    I admit that I need to think this point through a bit more. It is a very interesting concept, but I want to work through some real-life situations to determine how it would work in a production system.

     

    Overall I found the article to be quite educational. Like many architectural articles it was pretty conceptual, which is the point of course, but I like to think in more concrete terms. What I will likely do is run through some specific situations and apply the principles to individual cases to work out how they would work and see if I can poke holes in the ideas.

    Comments (4)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    No namewrote:


    http://www.akkuliste.com/acer/aspire-5030.htm acer aspire 5030 akku
    http://www.akkuliste.com/dell/latitude-d820.htm dell latitude d820 akku
    http://www.akkuliste.com/acer/aspire-5050.htm acer aspire 5050 akku
    http://www.akkuliste.com/acer/aspire-5550.htm acer aspire 5550 akku
    http://www.akkuliste.com/acer/aspire-5570.htm acer aspire 5570 akku
    http://www.akkuliste.com/acer/aspire-5580.htm acer aspire 5580 akku
    http://www.akkuliste.com/acer/squ-401.htm acer squ-401 akku
    http://www.akkuliste.com/acer/travelmate-4000.htm acer travelmate 4000 akku
    http://www.akkuliste.com/acer/aspire-5000.htm acer aspire 5000 akku
    http://www.akkuliste.com/acer/black-aspire-one-zg5.htm acer black aspire one zg5 akku
    http://www.akkuliste.com/apple/a1079.htm apple a1079 akku
    http://www.akkuliste.com/compaq/presario-2100.htm compaq presario 2100 akku
    http://www.akkuliste.com/dell/inspiron-3800.htm dell inspiron 3800 akku
    http://www.akkuliste.com/dell/w953g.htm dell w953g akku
    http://www.akkuliste.com/apple/a1185-white.htm apple a1185 white akku
    http://www.akkuliste.com/apple/a1185-black.htm apple a1185 black akku
    http://www.akkuliste.com/dell/original-inspiron-1525.htm dell original inspiron 1525 akku
    http://www.akkuliste.com/hp/dv6000.htm hp dv6000 akku
    http://www.akkuliste.com/dell/original-inspiron-1526.htm dell original inspiron 1526 akku
    http://www.akkuliste.com/dell/inspiron-6400.htm dell inspiron 6400 akku
    http://www.akkuliste.com/dell/1501.htm dell 1501 akku
    http://www.akkuliste.com/dell/e1505.htm dell e1505 akku
    http://www.akkuliste.com/dell/kd476.htm dell kd476 akku
    http://www.akkuliste.com/dell/d620.htm dell d620 akku
    http://www.akkuliste.com/dell/d630.htm dell d630 akku
    http://www.akkuliste.com/dell/312-038.htm dell 312-038 akku
    http://www.akkuliste.com/dell/latitude-d620.htm dell latitude d620 akku
    http://www.akkuliste.com/dell/latitude-d820.htm dell latitude d820 akku
    http://www.akkuliste.com/dell/latitude-d830.htm dell latitude d830 akku
    http://www.akkuliste.com/dell/inspiron-1520.htm dell inspiron 1520 akku
    http://www.akkuliste.com/dell/inspiron-1720.htm dell inspiron 1720 akku
    http://www.akkuliste.com/dell/vostro-1500.htm dell vostro 1500 akku
    http://www.akkuliste.com/gateway/8msbg.htm gateway 8msbg akku
    http://www.akkuliste.com/gateway/m680.htm gateway m680 akku
    http://www.akkuliste.com/gateway/m360.htm gateway m360 akku
    http://www.akkuliste.com/gateway/m460.htm gateway m460 akku
    http://www.akkuliste.com/hp/nc8430.htm hp nc8430 akku
    http://www.akkuliste.com/hp/dv6000.htm hp dv6000 akku
    http://www.akkuliste.com/hp/hstnn-db42.htm hp hstnn-db42 akku
    http://www.akkuliste.com/hp/dv9000.htm hp dv9000 akku
    http://www.akkuliste.com/hp/dv9700.htm hp dv9700 akku
    http://www.akkuliste.com/hp/hstnn-ib44.htm hp hstnn-ib44 akku
    http://www.akkuliste.com/hp/510.htm hp 510 akku
    http://www.akkuliste.com/hp/530.htm hp 530 akku
    http://www.akkuliste.com/sony/vgp-bps2a.htm sony vgp-bps2a akku

    Nov. 8
    No namewrote:

    http://www.akkuliste.com/laptop-ac-adapter/samsung/samsung-19V-3.16A-60w-5.5mm-3.4mm-pin-inside.php
    http://www.akkuliste.com/laptop-ac-adapter/liteon/liteon-19V-3.95A-75w-5.5mm-2.5mm.php
    http://www.akkuliste.com/laptop-ac-adapter/liteon/liteon-19V-4.74A-90w-5.5mm-2.5mm.php
    http://www.akkuliste.com/laptop-ac-adapter/liteon/liteon-19V-6.3A-120w-5.5mm-2.5mm.php
    http://www.akkuliste.com/laptop-ac-adapter/liteon/liteon-19V-6.3A-120w-4pin-round.php
    http://www.akkuliste.com/laptop-ac-adapter/liteon/liteon-19V-3.42A-65w-5.5mm-2.5mm-white.php
    http://www.akkuliste.com/laptop-ac-adapter/toshiba/toshiba-15V-8A-120w-special-4-hole.php
    http://www.akkuliste.com/laptop-ac-adapter/liteon/liteon-19V-4.74A-90w-5.5mm-1.7mm.php
    http://www.akkuliste.com/laptop-ac-adapter/hp/hp-19V-4.74A-90w-5.5mm-2.5mm.php
    http://www.akkuliste.com/laptop-ac-adapter/hp/hp-18.5V-3.5A-65w-4.8mm-1.7mm.php
    http://www.akkuliste.com/laptop-ac-adapter/hp/hp-19V-4.74A-90w-4.8mm-1.7mm.php
    http://www.akkuliste.com/laptop-ac-adapter/acer/acer-19V-3.42A-65w-5.5mm-2.5mm-big-head.php
    http://www.akkuliste.com/laptop-ac-adapter/acer/acer-19V-3.42A-65w-5.5mm-1.5mm-small-head.php
    http://www.akkuliste.com/laptop-ac-adapter/fujitsu/fujitsu-19V-4.74A-90w-5.5mm-2.5mm.php
    http://www.akkuliste.com/laptop-ac-adapter/dell/dell-19V-3.16A-60w-5.5mm-2.5mm.php
    http://www.akkuliste.com/laptop-ac-adapter/dell/dell-20V-3.5A-70w-horseshoe-style-special-for-dell-pa-6.php
    http://www.akkuliste.com/laptop-ac-adapter/compaq/compaq-19V-4.74A-90w-5.5mm-2.5mm.php
    http://www.akkuliste.com/laptop-ac-adapter/dell/dell-19.5V-3.34A-65w-7.4mm-5.0mm-with-pin-pa-12.php
    http://www.akkuliste.com/laptop-ac-adapter/asus/asus-19v-3.42A-65w-5.5mm-2.5mm.php
    http://www.akkuliste.com/dell/latitude-d620.htm dell latitude d620 akku
    http://www.akkuliste.com/acer/as07b41.htm acer as07b41 akku
    http://www.akkuliste.com/dell/xps-1330.htm dell xps 1330 akku
    http://www.akkuliste.com/dell/xps-m1330.htm dell xps m1330 akku
    http://www.akkuliste.com/acer/as07b42.htm acer as07b42 akku
    http://www.akkuliste.com/acer/as07b72.htm acer as07b72 akku
    http://www.akkuliste.com/acer/as07b52.htm acer as07b52 akku
    http://www.akkuliste.com/acer/travelmate-4200.htm acer travelmate 4200 akku
    http://www.akkuliste.com/acer/aspire-5100.htm acer aspire 5100 akku
    http://www.akkuliste.com/dell/inspiron-6000.htm dell inspiron 6000 akku
    http://www.akkuliste.com/dell/inspiron-9300.htm dell inspiron 9300 akku
    http://www.akkuliste.com/toshiba/satellite-a100.htm toshiba satellite a100 akku
    http://www.akkuliste.com/toshiba/satellite-m100.htm toshiba satellite m100 akku
    http://www.akkuliste.com/toshiba/pa3534u-1bas.htm toshiba pa3534u-1bas akku
    http://www.akkuliste.com/toshiba/PA3533U-1BAS.htm toshiba PA3533U-1BAS akku
    http://www.akkuliste.com/acer/as07b32.htm acer as07b32 akku
    http://www.akkuliste.com/acer/aspire-5500.htm acer aspire 5500 akku
    Nov. 8
    Picture of Anonymous
    Chris Brown wrote:
    I can relate to the thought process behind your suggestion for a 'design language', although this is not a new concept.  However, there are already other options - such as UML, which has been widely accepted for years, and more recently several DSLs, which Microsoft are into in a big way and have built VS.NET architect version on.  Yes - the majority of these 'languages' are pictorial but there is a good reason for that.  A design language is used primarily to *communicate* the design to the dev team, but also to aid the analysis process and post-implementation to document the system.  A whole load of code-like text does not really provide an effective communication medium, and makes the idea of levels of abstraction difficult to represent.  Hence this has not taken off before.
     
    That said, I wholeheartedly agree that keeping the design up to date post release is a real nightmare and anything automated in this space is a bonus.  Options as I see it are to a) use VS.NET as the modelling tool - this keeps the code as the master and the detailed design diagrams evolve with the code, or b) [my choice] to create a tool which updates your UML model as part of the build process.  This still only works at the low level, although if you are modifying the architecture of the system (high-level) by directly changing the code rather than going through the A&D process, an up to date model is the least of your problems.
    July 18
    July 18

    Trackbacks

    The trackback URL for this entry is:
    http://halfmybrain.spaces.live.com/blog/cns!DF6CA820250998D2!127.trak
    Weblogs that reference this entry
    • None