Comment On Bitten by the Enterprise Bug

Aaron Griffin's team is just starting to recover from a bad case of Enterprise Fever. Up until a few months ago, they were responsible for maintaining an ASP/ASP.NET web application. No, their system wasn't the greatest, but it was fairly documented, easy to work with, and, most importantly, did the job. But one thing it lacked, so said upper management, was "enterprise." And that is something that no system should be with out. Unfortunately, Aaron's team also lacked enterprise; if they had it, they sure wouldn't have built a system without any enterprise in it. Thankfully, management knew that there are plenty of consultants with plenty of enterprise. They went and hired a company that was so enterprise, it even had enterprise in its name! Finally, the system would be flowing with enterprise and, therefore, be a much better value to its users. [expand full text]
« PrevPage 1 | Page 2 | Page 3 | Page 4Next »

Re: Bitten by the Enterprise Bug

2006-03-20 14:50 • by sporty
Cue the idiots who are going to slam java because some developers can't develop. 

Re: Bitten by the Enterprise Bug

2006-03-20 14:50 • by jart
fist!

Re: Bitten by the Enterprise Bug

2006-03-20 14:51 • by Rent A Car
First post is most enterprise of all!

Re: Bitten by the Enterprise Bug

2006-03-20 14:52 • by blackfrancis
64601 in reply to 64599

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

Re: Bitten by the Enterprise Bug

2006-03-20 14:53 • by Otto
As we all know, Enterprise means a 5 year mission.

Re: Bitten by the Enterprise Bug

2006-03-20 14:54 • by Ken Nipper
To boldly go where no code has gone before............with good reason.

Re: Bitten by the Enterprise Bug

2006-03-20 14:54 • by R.Flowers
64606 in reply to 64602

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


Which will be cancelled after 3 years.

Re: Bitten by the Enterprise Bug

2006-03-20 14:56 • by DiamondDave
64607 in reply to 64601
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...

Re: Bitten by the Enterprise Bug

2006-03-20 14:56 • by DiamondDave
64608 in reply to 64598
Anonymous:
Cue the idiots who are going to slam java because some developers can't develop. 




you beat me to it :)

Re: Bitten by the Enterprise Bug

2006-03-20 14:56 • by WTFer
64609 in reply to 64606
that db schema is missing the WTF table.

Re: Bitten by the Enterprise Bug

2006-03-20 14:56 • by Volmarias
64610 in reply to 64602
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.

Re: Bitten by the Enterprise Bug

2006-03-20 14:57 • by neuro
64611 in reply to 64602
Otto:
As we all know, Enterprise means a 5 year mission.



Enterprise means a f*ckin spaceship, moron!

Re: Bitten by the Enterprise Bug

2006-03-20 14:59 • by 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

Re: Bitten by the Enterprise Bug

2006-03-20 15:01 • by PostBot

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.


 

Re: Bitten by the Enterprise Bug

2006-03-20 15:02 • by Aaron Griffin
64614 in reply to 64612
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:02 • by blackfrancis
64615 in reply to 64607
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:02 • by Whiskey Tango Foxtrot? Over.
64616 in reply to 64598

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!

Re: Bitten by the Enterprise Bug

2006-03-20 15:04 • by marvin_rabbit
64618 in reply to 64614
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:05 • by Whiskey Tango Foxtrot? Over.
64619 in reply to 64615
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"

Re: Bitten by the Enterprise Bug

2006-03-20 15:05 • by Gene Hackman
64620 in reply to 64609
Anonymous:
that db schema is missing the WTF table.


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

Sincerely

Gene Hackman

Re: Bitten by the Enterprise Bug

2006-03-20 15:06 • by Whiskey Tango Foxtrot? Over.
64621 in reply to 64609

Anonymous:
that db schema is missing the WTF table.


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

Re: Bitten by the Enterprise Bug

2006-03-20 15:07 • by mrsticks1982
sounds like a government project to me, if they have a good system and for cheap it must be crap!!!

Re: Bitten by the Enterprise Bug

2006-03-20 15:09 • by ammoQ
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:09 • by Runtime Error
64624 in reply to 64609
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?

Re: Bitten by the Enterprise Bug

2006-03-20 15:10 • by 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."

Re: Bitten by the Enterprise Bug

2006-03-20 15:12 • by marvin_rabbit
64626 in reply to 64625
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:14 • by kipthegreat
An enterprise can be a very proactive solution to leveraging synergy in your ecosystem.

You should have let Benjamin help you !

2006-03-20 15:14 • by maht

Re: Bitten by the Enterprise Bug

2006-03-20 15:15 • by Andrey
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:15 • by CMG
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:15 • by Matt B
64631 in reply to 64598
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...  

Re: Bitten by the Enterprise Bug

2006-03-20 15:16 • by 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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:19 • by ammoQ
64634 in reply to 64633
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:19 • by coder1
64635 in reply to 64630
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?

Re: Bitten by the Enterprise Bug

2006-03-20 15:20 • by Anonymoose
64636 in reply to 64630
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?

Re: Bitten by the Enterprise Bug

2006-03-20 15:21 • by R.Flowers
64637 in reply to 64614
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?

Re: Bitten by the Enterprise Bug

2006-03-20 15:26 • by Paula Bean
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";
}


Re: Bitten by the Enterprise Bug

2006-03-20 15:27 • by R.Flowers
64640 in reply to 64619
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:29 • by CMG
64641 in reply to 64635
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:30 • by Rain dog
64642 in reply to 64614
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:32 • by Sindri
64643 in reply to 64630
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[]).

Re: Bitten by the Enterprise Bug

2006-03-20 15:33 • by 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!

Re: Bitten by the Enterprise Bug

2006-03-20 15:33 • by GoatCheez
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

Re: Bitten by the Enterprise Bug

2006-03-20 15:33 • by Sindri
64646 in reply to 64636
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:34 • by CMG
64647 in reply to 64636
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).

Re: Bitten by the Enterprise Bug

2006-03-20 15:34 • by jvancil
64648 in reply to 64613
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!"

Re: Bitten by the Enterprise Bug

2006-03-20 15:34 • by aakoch
64649 in reply to 64644
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...

Re: Bitten by the Enterprise Bug

2006-03-20 15:36 • by jimojimo
64650 in reply to 64615

<..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

Re: Bitten by the Enterprise Bug

2006-03-20 15:41 • by cynic
64651 in reply to 64625
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.

Re: Bitten by the Enterprise Bug

2006-03-20 15:44 • by coder1
64652 in reply to 64647
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();

« PrevPage 1 | Page 2 | Page 3 | Page 4Next »

Add Comment