• sporty (unregistered)

    Cue the idiots who are going to slam java because some developers can't develop. 

  • jart (unregistered)

    fist!

  • Rent A Car (unregistered)

    First post is most enterprise of all!

  • blackfrancis (unregistered) in reply to jart

    I don't get the 3-letter table name thing.  Why would anyone do that?

  • Otto (cs)

    As we all know, Enterprise means a 5 year mission.

  • Ken Nipper (cs)

    To boldly go where no code has gone before............with good reason.

  • R.Flowers (cs) in reply to Otto

    Otto:
    As we all know, Enterprise means a 5 year mission.

    Which will be cancelled after 3 years.

  • DiamondDave (cs) in reply to blackfrancis
    Anonymous:

    I don't get the 3-letter table name thing.  Why would anyone do that?



    Probably to make maintenance more difficult for the in-house developers, thus prompting management to bring the consultants back.  Sounds kind of IBM-ish...
  • DiamondDave (cs) in reply to sporty
    Anonymous:
    Cue the idiots who are going to slam java because some developers can't develop. 


    you beat me to it :)
  • WTFer (unregistered) in reply to R.Flowers

    that db schema is missing the WTF table.

  • Volmarias (cs) in reply to Otto

    Enterprise (n.), which comes from the words "enter" (to input), and "price" (to cost)

    What makes a system an Enterprise system? Why, the fact that several digits are added to the end of the price.

  • neuro (unregistered) in reply to Otto
    Otto:
    As we all know, Enterprise means a 5 year mission.



    Enterprise means a f*ckin spaceship, moron!
  • R.Flowers (cs)

    Umm, I just noticed the graphic... 242 items. Is that 242 tables? (Well, that seems to be a screenshot of - heh -'Enterprise Manager'. So is it 242 minus the handful of 'overhead' tables?)

    If so - wow. Two-hundred-plus tables with TLNs*.

     

    *Three Letter Names

  • PostBot (unregistered)

    Fisrt post!

    The goggles, they do nothing.

    One question: why?

    My eyes are bleeding.

     

    - Brought to you by The PostBot.  Posting so you don't have to.

     

  • Aaron Griffin (unregistered) in reply to R.Flowers
    R.Flowers:

    Umm, I just noticed the graphic... 242 items. Is that 242 tables? (Well, that seems to be a screenshot of - heh -'Enterprise Manager'. So is it 242 minus the handful of 'overhead' tables?)

    If so - wow. Two-hundred-plus tables with TLNs*.

     

    *Three Letter Names



    Absolutely.  And it keeps growing.  Every month or so I see an additional 20-ish tables.
  • blackfrancis (unregistered) in reply to DiamondDave
    DiamondDave:
    Anonymous:

    I don't get the 3-letter table name thing.  Why would anyone do that?



    Probably to make maintenance more difficult for the in-house developers, thus prompting management to bring the consultants back.  Sounds kind of IBM-ish...

    Actually that's not as bad an answer as I was dreading: that at some stage there existed an RDBMS system which only allowed 3-letter table names, and some guy who used it in 350AD is now doing J2EE for these guys and doesn't see anything wrong with it.

  • Whiskey Tango Foxtrot? Over. (cs) in reply to sporty

    Anonymous:
    Cue the idiots who are going to slam java because some developers can't develop. 

    Clearly, the real WTF here is that Java sucks ass and .NET Rocks!!!!!!!!11!11!1!!1!one1!1!!1!eleven1!!1!1!1!onehundredeleven!!1!1!

  • marvin_rabbit (cs) in reply to Aaron Griffin
    Anonymous:
    R.Flowers:

    Umm, I just noticed the graphic... 242 items. Is that 242 tables? (Well, that seems to be a screenshot of - heh -'Enterprise Manager'. So is it 242 minus the handful of 'overhead' tables?)

    If so - wow. Two-hundred-plus tables with TLNs*.

     

    *Three Letter Names



    Absolutely.  And it keeps growing.  Every month or so I see an additional 20-ish tables.

    Well that's not too bad.  You won't run outta TLA's for 72 years!

    Some people will find ANYTHING to complain about.
  • Whiskey Tango Foxtrot? Over. (cs) in reply to blackfrancis
    Anonymous:
    DiamondDave:
    Anonymous:

    I don't get the 3-letter table name thing.  Why would anyone do that?



    Probably to make maintenance more difficult for the in-house developers, thus prompting management to bring the consultants back.  Sounds kind of IBM-ish...

    Actually that's not as bad an answer as I was dreading: that at some stage there existed an RDBMS system which only allowed 3-letter table names, and some guy who used it in 350AD is now doing J2EE for these guys and doesn't see anything wrong with it.

    He probably likes also cryptic three-letter variable names like "num", "str" and "sex"

  • Gene Hackman (unregistered) in reply to WTFer
    Anonymous:
    that db schema is missing the WTF table.


    Actually it's not. They just didn't scroll down that far.

    Sincerely

    Gene Hackman
  • Whiskey Tango Foxtrot? Over. (cs) in reply to WTFer

    Anonymous:
    that db schema is missing the WTF table.

    Oh... I have a feeling that it's in there. :)

  • mrsticks1982 (cs)

    sounds like a government project to me, if they have a good system and for cheap it must be crap!!!

  • ammoQ (cs)

    Management asks for a pile of dung, management gets a pile of dung.
    My best guess is that the consultants brought am existing system that could in theory do much more, if it actually worked.

  • Runtime Error (unregistered) in reply to WTFer
    Anonymous:
    that db schema is missing the WTF table.


    Oh I'm sure its there or it soon will be.

    Now this looks really bad, but it can't be an official java abomination unless its using entity EJB's.  Would those happen to be in there too?
  • Dave Nicolette (cs)

    I can relate to this WTF. So, they had a perfectly good .NET solution in place and the staff understood the technology. They brought in consultants who ripped it all apart and replaced it with a crappy solution in J2EE. Guess what's happening where I work. Yep, you guessed it: We had a perfectly good J2EE solution in place and the staff understood the technology. They brought in consultants who ripped it all apart and replaced it with a crappy solution in .NET. Why? To make it "enterprise."

  • marvin_rabbit (cs) in reply to Dave Nicolette
    Dave Nicolette:
    I can relate to this WTF. So, they had a perfectly good .NET solution in place and the staff understood the technology. They brought in consultants who ripped it all apart and replaced it with a crappy solution in J2EE. Guess what's happening where I work. Yep, you guessed it: We had a perfectly good J2EE solution in place and the staff understood the technology. They brought in consultants who ripped it all apart and replaced it with a crappy solution in .NET. Why? To make it "enterprise."

    Couldn't you guys just trade consultants?

    No?  How about everybody quit and you all swap jobs?

    Something has to be able to get worked out.
  • kipthegreat (cs)

    An enterprise can be a very proactive solution to leveraging synergy in your ecosystem.

  • maht (unregistered)
  • Andrey (unregistered)

    And the only winner is the consulting outfit that took a working system (if it ain't broke...), and effectively ran it through an obfuscator along with a dash of bugs in order to create potential for future work.

  • CMG (unregistered)
    Alex Papadimoulis:

    //Loading an ApprovalRequest object
    HashMap objectQuery = new HashMap();
    objectQuery.put("ApprovalRequest","*");
    objectQuery.put("ApprovalRequest.RequestId","11799");

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);



    Call me nit-picky if you must, but one thing that bugs the shit out of me is when people don't code to interfaces that already exist. For the love of Pete, use Map as your variable type.

  • Matt B (cs) in reply to sporty
    Anonymous:
    Cue the idiots who are going to slam java because some developers can't develop. 


    More like applaud the idiots who got some poor victim company to give them money for this...  
  • JBL (cs)

    "Enterprise" == "$$$$", of course. Looks like Paula found another gig... I wonder how their budget compared -- to implement, one assumes, the same functionality. As has been said, those consultants who talk better than they code give the rest a bad name, and are usually the ones we hear about.

    I hope they used SQL Server Enterprise Edition.

  • ammoQ (cs) in reply to JBL
    JBL:
    "Enterprise" == "$$$$", of course. Looks like Paula found another gig... I wonder how their budget compared -- to implement, one assumes, the same functionality. As has been said, those consultants who talk better than they code give the rest a bad name, and are usually the ones we hear about.

    I hope they used SQL Server Enterprise Edition.


    This doesn't look like Paula's work. Paula essentially did nothing, but those guys were hyperactive.
  • coder1 (unregistered) in reply to CMG
    Anonymous:
    Alex Papadimoulis:

    //Loading an ApprovalRequest object
    HashMap objectQuery = new HashMap();
    objectQuery.put("ApprovalRequest","*");
    objectQuery.put("ApprovalRequest.RequestId","11799");

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);



    Call me nit-picky if you must, but one thing that bugs the shit out of me is when people don't code to interfaces that already exist. For the love of Pete, use Map as your variable type.

     

    Why?

  • Anonymoose (cs) in reply to CMG
    Anonymous:
    Alex Papadimoulis:

    //Loading an ApprovalRequest object
    HashMap objectQuery = new HashMap();
    objectQuery.put("ApprovalRequest","*");
    objectQuery.put("ApprovalRequest.RequestId","11799");

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);



    Call me nit-picky if you must, but one thing that bugs the shit out of me is when people don't code to interfaces that already exist. For the love of Pete, use Map as your variable type.


    Are you saying that HashMap doesn't exist?

  • R.Flowers (cs) in reply to Aaron Griffin
    Anonymous:
    R.Flowers:

    Umm, I just noticed the graphic... 242 items. Is that 242 tables?


    Absolutely.  And it keeps growing.  Every month or so I see an additional 20-ish tables.

    Are these new tables being created by the system? Or is the development team adding the tables for whatever reason?

    I know you probably can't give too much away about this, but how did things go from 30-ish tables to 200-ish?

  • Paula Bean (unregistered)

    Enterprise! The guys at the places where I worked used to call me Paula "Enterprise" Bean.

    At my new job today, my manager asked me to make my code more enterprise, so I did this. It almost compiles. I have to add enterprise skills to my cv now. "Senior Java developer with extensive experience in enterprise architecture". Ha! Doubling my daily rate!

    public static final String getEnterprisePaula() { // new enterprise version of getPaula()
        // allocate new empty string
        String brillantString =
     EnterpriseFrameworkFactory.getEnterprise().makeMeANewString(EnterpriseConstant.NULL);
        // initialize to "brillant" using Enterprise Framework Services
        EnterpriseFrameworkServices brillantSvc = EnterpriseFrameworkFactory.getEnterprise().getServices();
        brillantString = brillantString + EnterpriseConstant.b.toLowerCase();
        brillantString = brillantString + EnterpriseConstant.r.toLowerCase();
        brillantString = brillantString + EnterpriseConstant.i.toLowerCase();
        brillantString = brillantString + EnterpriseConstant.l.toLowerCase();
        brillantString = brillantString + EnterpriseConstant.l.toLowerCase();
        brillantString = brillantString + EnterpriseConstant.a.toLowerCase();
        brillantString = brillantString + EnterpriseConstant.n.toLowerCase();
        brillantString = brillantString + EnterpriseConstant.t.toLowerCase();
        String brillantStringOnHeap = brillantSvc.allocateNewEnterpriseStringOnHeap(brillantString);
        try {
          return brillantStringOnHeap;
          throw new Throwable("nothing to do, boss!");
        }
        catch (Throwable t) {} // do nothing hahaha
        finally {
           brillantString = new String("null"); // enterprise optimization for garbage collector
           brillantSvc.deallocateOldEnterpriseStringOnHeap(brillantStringOnHeap);
           brillantStringOnHeap = new String ("null"); // you never know
        } // fucking brillant trick if you ask me
        return (String)"null";
    }


  • R.Flowers (cs) in reply to Whiskey Tango Foxtrot? Over.
    He probably likes also cryptic three-letter variable names like 'num', 'str' and 'sex'

    I'm not too sure about num and str, but I like sex.

  • CMG (unregistered) in reply to coder1
    Anonymous:
    Anonymous:
    Alex Papadimoulis:

    //Loading an ApprovalRequest object
    HashMap objectQuery = new HashMap();
    objectQuery.put("ApprovalRequest","*");
    objectQuery.put("ApprovalRequest.RequestId","11799");

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);



    Call me nit-picky if you must, but one thing that bugs the shit out of me is when people don't code to interfaces that already exist. For the love of Pete, use Map as your variable type.

     

    Why?



    Because if you decide to use a different implementation of the Map interface (for example, if you need your Map to be synchronized or don't want to be able to use null as a key or value), then you have to unnecessarily change the entire stack of methods that are anticipating a HashMap to be passed in (rather than a Map).
    The reason that code change is unnecessary is because the methods that get this variable passed into it most likely don't care about what implementation of the Map interface the caller is passing in. If they do care, then that's a warning sign of bad design.
  • Rain dog (unregistered) in reply to Aaron Griffin

    Wow. I so would have quit.

    btw. Captcha is not colorblind friendly. I'm going to sue soon.

    Anonymous:
    R.Flowers:

    Umm, I just noticed the graphic... 242 items. Is that 242 tables? (Well, that seems to be a screenshot of - heh -'Enterprise Manager'. So is it 242 minus the handful of 'overhead' tables?)

    If so - wow. Two-hundred-plus tables with TLNs*.

     

    *Three Letter Names



    Absolutely.  And it keeps growing.  Every month or so I see an additional 20-ish tables.
  • Sindri (cs) in reply to CMG
    Anonymous:
    Alex Papadimoulis:

    //Loading an ApprovalRequest object
    HashMap objectQuery = new HashMap();
    objectQuery.put("ApprovalRequest","*");
    objectQuery.put("ApprovalRequest.RequestId","11799");

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);



    Call me nit-picky if you must, but one thing that bugs the shit out of me is when people don't code to interfaces that already exist. For the love of Pete, use Map as your variable type.


    I bet that because ApprovalRequestInterface.Query is for (HashMap, String[]).

  • aakoch (cs)
    Alex Papadimoulis:

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates
    

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);


    That's my favorite part.

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, "");

    True, it less code, but should would be faster!

  • GoatCheez (cs)

    Someone tells me this whole ordeal spawned from two company owners bragging to each other.

    a) my company has an enterprise web solution!
    b) we have a web solution also
    a) is an an enterprise solution?
    b) um, no....
    a) then it's not as good! ours has the word enterprise in it!
    b) bah! we'll have an enterprise solution soon! just watch!

    hundreds of thousands of dollars later....

    b) We now have an enterprise solution!
    a) That's nice, does it also have (insert buzzword here)
    b) no, what is (insert buzzword here)
    a) oh, it's a great new technology that lets us do more for less!
    b) oh, of course! i've heard of (insert buzzword here)! We just started implementing it yesterday!

    and so the process continues....


    http://dictionary.reference.com/search?q=enterprise

  • Sindri (cs) in reply to Anonymoose
    Anonymoose:
    Anonymous:
    Alex Papadimoulis:

    //Loading an ApprovalRequest object
    HashMap objectQuery = new HashMap();
    objectQuery.put("ApprovalRequest","*");
    objectQuery.put("ApprovalRequest.RequestId","11799");

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);



    Call me nit-picky if you must, but one thing that bugs the shit out of me is when people don't code to interfaces that already exist. For the love of Pete, use Map as your variable type.


    Are you saying that HashMap doesn't exist?


    No, he's saying HashMap is not an interface.

  • CMG (unregistered) in reply to Anonymoose
    Anonymoose:
    Anonymous:
    Alex Papadimoulis:

    //Loading an ApprovalRequest object
    HashMap objectQuery = new HashMap();
    objectQuery.put("ApprovalRequest","*");
    objectQuery.put("ApprovalRequest.RequestId","11799");

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);



    Call me nit-picky if you must, but one thing that bugs the shit out of me is when people don't code to interfaces that already exist. For the love of Pete, use Map as your variable type.


    Are you saying that HashMap doesn't exist?


    Absolutely not. I'm saying that the objectQuery object should be typed to Map rather than HashMap:
    Map objectQuery = new HashMap();

    Similarly, the ApprovalRequestInterface.Query method should expect a Map as it's first argument, rather than a HashMap (and it very well may: we can't tell what kind of argument it expects from the post).

  • jvancil (cs) in reply to PostBot
    Anonymous:

    Fisrt post!

    The goggles, they do nothing.

    One question: why?

    My eyes are bleeding.

     

    - Brought to you by The PostBot.  Posting so you don't have to.

     

     

    You forgot... "That code was wriiten by an automated code generation system!"

  • aakoch (cs) in reply to aakoch
    aakoch:
    Alex Papadimoulis:

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates
    

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);


    That's my favorite part.

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, "");

    True, it less code, but should would be faster!


    or
    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, new String{""});
    if String[] is needed...

  • jimojimo (unregistered) in reply to blackfrancis

    <..3 character table names...>

    Some code-generators require that because they must attach a 4-or-5 letter random ID tag to the name for the generated programs, or for textbox fieldnames that,  for ease-of-generation, are named with the table and the fieldname concatenated...and either these often have an 8-char limit.

    Also, IBM used to have a limit of 6 char, since in the RPG world of fixed column programming, the column where the table being read was 6-char wide.

    --Jim

  • cynic (unregistered) in reply to Dave Nicolette
    Dave Nicolette:
    I can relate to this WTF. So, they had a perfectly good .NET solution in place and the staff understood the technology. They brought in consultants who ripped it all apart and replaced it with a crappy solution in J2EE. Guess what's happening where I work. Yep, you guessed it: We had a perfectly good J2EE solution in place and the staff understood the technology. They brought in consultants who ripped it all apart and replaced it with a crappy solution in .NET. Why? To make it "enterprise."

    Then submit the WTF code and give Alex an opportunity to show that this site is not biased towards any of the, ahem, enterprise business application platforms.
  • coder1 (unregistered) in reply to CMG
    Anonymous:
    Anonymoose:
    Anonymous:
    Alex Papadimoulis:

    //Loading an ApprovalRequest object
    HashMap objectQuery = new HashMap();
    objectQuery.put("ApprovalRequest","*");
    objectQuery.put("ApprovalRequest.RequestId","11799");

    String[] unused = new String[1];
    unused[0] = ""; //note this is only used for updates

    GenericObject myRequest = ApprovalRequestInterface.Query(objectQuery, unused);



    Call me nit-picky if you must, but one thing that bugs the shit out of me is when people don't code to interfaces that already exist. For the love of Pete, use Map as your variable type.


    Are you saying that HashMap doesn't exist?


    Absolutely not. I'm saying that the objectQuery object should be typed to Map rather than HashMap:
    Map objectQuery = new HashMap();

    Similarly, the ApprovalRequestInterface.Query method should expect a Map as it's first argument, rather than a HashMap (and it very well may: we can't tell what kind of argument it expects from the post).

     

    I see your point, but if ApprovalRequestInterface.Query does indeed accept a Map as the first parameter then your argument about changing code is pretty weak.  He'd only have to change one line regardless, ie: HashMap objectQuery = new HashMap(); becomes TreeMap objectQuery = new TreeMap();

Leave a comment on “Bitten by the Enterprise Bug”

Log In or post as a guest

Replying to comment #:

« Return to Article