≡ Menu

Should the BMIDE Stay or Should it Go?

Share the knowledge

The comments section for my earlier post about icon customization in Teamcenter 9.1, kicked off a discussion between me and The Teamcenter Heretic® about the BMIDE. I think a fair summary of Heretic’s position is that the older command line tools from iMan worked very well and that the BMIDE is overcomplicated and unreliable.

Since a discussion of the BMIDE is probably a topic of interest for many of the Dojo’s visitors I thought it should be promoted into its own post. You can review the earlier post’s discussion to catch up. And now I’ll try to lay out my thoughts on the topic.

Was the BMIDE an improvement?

Quoting The Heretic:
[quote style=”boxed”]
The BMIDE is only OK if we accept it as such. The DSA utilities were soooo close to being what we needed but the folks who gave us the BMIDE didn’t take too close a look at it. They came form Enterprise where EVERYTHING is hard. So now we have a tool that is overly complex and unnecessary … the BMIDE works for sure, but is it friendly? Is it suitable to task?
[/quote]
I have to admit that my experience with the command line tools, like dsa_util, is a fraction of The Heretic’s. That said I think there are several things about the BMIDE that are an improvement over what came before:

  1. I like that the data model definition has been separated from the application itself, making it easier for me to design a data model independent of a live instance of TC to work with.
  2. I like that there’s one place to define and manage my entire data model, rather than having several different applications or utilities to jump between to do exports and imports
  3. I like that data model is now stored as simple XML files that I can manage with my source control system (Subversion, for the record). Sure, I could have done exports of various parts of the data model in iMan, but it was something done after the fact and piecemeal.
  4. I like that they’ve done a better job of cross referencing different areas of the application. For example, I can edit a single naming rule and attach it to all the properties it controls, or I can go to an object’s property view and attach multiple naming rules to a single property.

Regarding the interface itself and its complexity, I am a child of the GUI generation I guess (my first PC came with Windows 3.0). I do appreciate command line tools for speed and accuracy, but I also like being able to navigate around a GUI applications and figure out what to click rather than having to remember 27 command line parameters. I also like having the visual layout of the tree structure for the business objects so I can understand the relationship between them and the inheritance model more easily. I don’t know how you could have an application that does all that the BMIDE does that wasn’t complex. It seems to me that only by breaking things out into chunks, like it was before, could you really simplify things — but then you lose the big picture view of what is going on.

Are you sure you want to push that button?

[quote style=”boxed”]
Aren’t you afraid every time you have to deploy a template to your systems? I am.
[/quote]
Yes, absolutely.

But I’m not always sure that that’s the BMIDE’s fault. From what I’ve seen the same template deployed to two different instances of TC could be fine in one and cause problems in another. For example, I learned the hard way to be careful about changing the type signature of an existing Condition definition. However if the same template was deployed to a system where no such Condition was already defined it would have been simply accepted as a new Condition definition. It seems to me that it’s not so much the BMIDE’s fault as TEM’s and the mechanism by which templates are installed.

What else is wrong?

I have to admit that there are significant design flaws in the BMIDE. The most famous of which is probably the initial requirement that updating Naming Rules and Lists of Values (LOVs) necessitated kicking everyone out of the system to update the template. Supposedly that’s now fixed with a supported Live Update mechanism, but I’ll be honest that I haven’t tried that yet and so I don’t trust it.

Refactoring is Hard

One of my biggest complaints is that it’s very hard to refactor or otherwise make large modifications to the the data model. Just try to move a Business object from underneath one base type to another. Or try to factor out common properties and behaviors from two types into one common, abstract (uninstantiable) base type. It’s not readily supported. Granted, those are not the kind of changes you want to deploy to an existing instance, but if you’re still in the early design and development stage, such rework is perfectly normal.

Bugs!

I’d be remiss to not mention the fact that the BMIDE seems overly buggy, at least in the 8.3 version I primarily work with. I’ve filed several PRs against it myself. It is getting better with each patch, but a lot of the ones I’ve seen should have been caught before it was released to the public.

Your Opinions?

I could write more, but I think it would be better to get more voices in the conversation at this point. If you have any opinions one way or the other please share them. Here are some questions to consider to get you started:

  • Do you use the BMIDE?
    • What do you use it for?
    • What is your overall opinion of it?
    • If there’s anything you like about it, what is it?
    • What are your BMIDE complaints?
    • How can the BMIDE be improved? Or should it be scrapped? What would replace it?
  • Do you use any command line utilities? Which ones?
  • What am I wrong about? What haven’t I considered?
  • What is the Heretic wrong about?
  • Balachandra jois

    Nice … informative… thanks

  • Suyog

    Aren’t you afraid every time you have to deploy a template to your systems?The answer for this question is always YES.

    • http://plmdojo.com/ Scott Pigman

      Suyog, do you feel that the BMIDE creates templates that are corrupt and could never be installed (if so, what version specifically are you using?). Or, is the problem that TEM/hot deploy/Live Update cannot properly handle a request to deploy a template that is validly formed but incompatible with the data model currently deployed?

      • Suyog

        Version I am using is 9.1.The problem in BMIDE is of version conflict for cold deploy and if we define constants it is much more complex to delete the things ,but in 9.1 BMIDE is somewhat stable.In BMIDE if the business objects created are referenced then it is very to delete it.Some good things are like IRDC configuration(Document Management),Condition definitions,Property Renderers and Extensions and Automatic project Backup in 9.1.

        • http://plmdojo.com/ Scott Pigman

          if the business objects created are referenced then it is very [hard] to delete
          Do you mean referenced within the template itself by other objects, or referenced by an instance of TC?

          • pournima

            The BMIDE deployment locking mechanism indicates an offline deployment lock.Another deployment is already in progress on this site/server. Please deploy your template once this other deployment has completed.

          • Pradnya Kulkarni

            can u plz someone rply on this.I am also getting this issue

  • http://plmdojo.com/ Scott Pigman

    From Colin B. at LinkedIn/Teamcenter Engineering:
    What would you replace it with, just interested
    — Personally I’d like to see it improved, not replaced. But I think others would have preferred to have kept the old Business Modeler Application & the command line tools, like dsa_util, that go back to the iMan days.

  • http://plmdojo.com/ Scott Pigman

    From Ameya G. at LinkedIn/Teamcenter Engineering:
    Life use to be good and simple in TC2005 when BMIDE use to be part of TC. No worries of deploy and all. BMIDE has to stay whether it is part of TC or seperate Application. How do we configure diff rules if BMIDE goes ? What replaces it ? Also on a lighter note, if BMIDE goes then many peoples job goes 😉

    — Some of my big complaints about the old way of making the changes directly in the data model are:

    * that the changes were immediate
    * It was difficult or impossible to compare different versions of the data model to understand what exactly was changed and when.
    * It was difficult to impossible to undo a change or get back to the OOTB setup
    * it was difficult to verify if multiple instances of TC were using the same data model, or if not, what exactly was different

  • http://plmdojo.com/ Scott Pigman

    From John N. at LinkedIn/PLM
    It’s a start on the type of tool needed for data modeling, mapping and workflow development. The 9.1 release is better, but there are other vendors who produce better tools for their products for these functions. We need to keep the pressure on the OEM to make it more useful. I like it too, but we need to reduce the amount of manual labor for these efforts.

    — John, Do you have any examples of what other vendors have done better, or specific suggestions to reduce the manual labor needed?

  • http://plmdojo.com/ Scott Pigman

    From Larry C. via LinkedIn:
    I used BMIDE to configure our TcUA rollout back in 2008, and now use it to add live updates like LOVs and am currently using it to test upgrades and making improvements for our Tc2007 to Tc8.3 upgrade coming up. 

    I also like the ability to makes changes and deploy them to a test environment before deploying them to production. I didn’t like the old method of making changes in one system for testing and then having to reproduce those changes in the production system hoping to not make a typo or forget something. 

    — Lary, I feel exactly the same about having to reproduce changes in multiple systems manually.

    • http://hooverm.pip.verisignlabs.com/ Teamcenter Heretic

       I only have one thing to say:  scripts

      • http://plmdojo.com/ Scott Pigman

        I had a hunch you’d say that.

  • http://plmdojo.com/ Scott Pigman

    From Devanga A. via LinkedIn/Siemens PLM Teamcenter
    I think BMIDE should stay. This is one place where we can get complete idea of business data model, extension rules, LOVs, compound properties etc.. Some of the interfaces to create data model may not be clean ( like display rules), but there are ways to get around by handling XML files. I would be interesting to see a list of flaws..

    I too like having a more complete view of the entire data model in one place. I don’t know exactly what you mean about the display rules interface not being clean, but one complaint I have is that you have to remember that certain things are only visible as tabs on the property pages of certain types of objects, such as Type Display Rules for Items and Deep Copy Rules for Item Revisions.

  • http://plmdojo.com/ Scott Pigman

    From Amiran D. via LinkedIn/Siemens PLM Teamcenter
    BMIDE was a good conceptual idea badly implemented. As a TCE/TCU architect and developer I found it much harder to make design changes, object types changes, rule and extension changes. If you compare it to TC 2005 (with the build in schema manager app) it is clear the older tools is much usable and powerful.

    I find myself doing everything I can to avoid BMIDE and ‘inventing’ many kinds of mechanism to support properties, post actions etc.

    — I’ve found that BMIDE is definitely better at the creating a data model than it is in editing one. Refactoring is not at all easy. I’m curious to hear some examples of the mechanisms you invented to work around the BMIDE.

  • http://plmdojo.com/ Scott Pigman

    From Nilesh J. via LinkedIn/Siemens PLM Teamcenter
     I too think is should stay. We are used to it by now and it seems much simpler to work with.

    better the devil you know than the devil you don’t, eh? 😉

  • Stephen Wooding

    BMIDE is an improvement over what existed with Iman, to keep the system sycronised I had to maintain scripts that used more than one commmand line utility to migrate changes across training, dev and production systems. You had to manually maintain these scripts.
    Now configurtion is in onec place (Almost).

    Yes BMIDE is still a little quirky, and not all ‘admin functions’ are contained withing BMIDE, and I to cross fingers when making a BMIDE deployment, knowing what processes are carried out when deploy runs and all satges that can cause failure.  When BMIDE  fails to deploy you can usually work out why and you do have all the deployment history saved automatically – to back track if need be.
     
    I like the ability to have more than one BMIDE Eclipse project to seggregate different developments.

    I don’t like the help and documenation – this is an area that should be improved.

    • http://plmdojo.com/ Scott Pigman

      What you say about scripts is the big problem I saw with them, but not being a script power user myself I was reluctant to make the point.

      Multiple projects is something with which I’ve had mixed results. In particular, once I’ve created a workspace and a project I’ve not had much luck trying to import another project into the same workspace. If I recall correctly, It seems that it wants to create a new workspace just for the new project which made it problematic to colocate both projects in the same place — which hosed the SVN folder structure I had because my workspace was my Trunk dir.

  • Paul Nelson

    The name itself causes confusion: Business Modeler Integrated Development Environment

    Is this admin tool intended for IT or for Engineering?  Much grey area there.  We have IT do data model, but the business does workflow, ACLs, conditions, naming rules, etc. 

    • http://plmdojo.com/ Scott Pigman

      hmm, here IT does all of those things, but engineering controls the servers and does the actual upgrade of TC.

    • Rparinam

      Well I guess the naming is in tandem with the business objects customization that we take care using this system. Most of the stuff that we deal using this, is playing around with business objects and fundamentally not with direct objects of the classes. We are defining the business rules either on the OOTB or custom classes.

  • http://plmdojo.com/ Scott Pigman

    From Steve C. at LinkedIn/Siemens PLM Teamcenter forum
    We make very few (if any) changes to object types and rules, but BMIDE seems like a logical place to do this. However, we do regularly make changes to LOVs, and having to do this from BMIDE rather than directly in Teamcentre is unnecessarily complex. The method for updating LOVs in TCE9.1.x was far simpler and significantly faster. In my view, day-to-day administrative changes (anything that can be changed with users on the system) should be handled within Teamcentre and everything else in BMIDE

    Teamcenter 9.1 introduces the ability to manage LOVs externally via a batch program. IIRC, you define the LOV initially in the BMIDE but then set a flag specifying that it’s externally managed and then you can run a batch to update it as needed. It sounds like that if it works as advertised that should be useful to you. One question though, what kind of LOVs do you have? I ask because our LOVs almost never change. I’m just curious how others are using them.

  • Pingback: BMIDE | Enhancement Request | External Dependencies | The PLM DojoThe PLM Dojo()

  • varun

    I am using BMIDE codefull customization for Teamcenter 9.1 on Windows 7, 64bit SP1

    While using BMIDE, I found it very much unstable… poor performance of BMIDE. I tried to follow the instruction provided by Siemens to improve BMIDE performance but it did not worked out for me. Problem is while doing customization, during loading project, building linking … BMIDE closes frequently without giving any waringin or messages…

    Any idea/thoughts on this problem…???

    • Venkat

      Hi I installed the BMIDE and I have to integrate with Teamcenter Rich-client can you give me any Suggestions………………….

      • Teamcenter Heretic

        Read the BMIDE documentation.
        There is also a “Best Practices” Guide.

        • Venkat

          Thanks, for the reply while deploying the template to 2-tier it saying that set “FMS_HOME” properly……where can I set the path for that one…

          • Venkat

            hi I achieved that one where i modified is in the bmide.bat file I added the FMS_HOME path there.

          • Ravikumar M L

            Thank you Venkat

          • sam

            Hello Ravi

            I am Sam, currently pursuing masters at MichiganUniversity. I just need a small information regarding the integration of autocad and teamcenter. When I try to open dwg files in teamcenter by double-clicking the files, I cannot open it in Autocad (this is my requirement of the project). I am getting the errror message “unable to open dataset: No compatible tool is found”. I have Autocad installed in my system and it’s working fine. I have tried to configure the opening of the file with the AutoCAD from the teamcenter, but couldn’t find where to do that.

            Coulf you please help me in this regard as I am working on this for the past 2 weeks

          • Gumbatron

            Wow! You have no idea how long I’ve been looking for that info. Everything I’ve read in the documentation was pointing me to the “tc_profilevars.bat” file to set the FMS_HOME, but my BMIDE still wasn’t working.

            Looks to be working now. Well, at least not failing in the same way it was :-)

            A belated thank you to you!

Optimization WordPress Plugins & Solutions by W3 EDGE