Java – What are the most commonly used enterprise Java technologies, and what would you want a non technical audience to understand about them

enterprise-architectureenterprise-developmentjava

I have been asked to give a presentation to a non-technical audience on what Java technologies are currently being used in the enterprise world. The goal is to give this non-technical audience the background they need to understand what engineers are talking about.

It's part of a broader series of talks that I'm giving. I'm primarily a .NET and C++ dev, so I thought I'd try to get some input from some Java devs.

What technologies do you use? What Java related acronyms would you like to be able to use around non-coders? What would you like non-coders to understand about them?

Best Answer

The goal is to give this non-technical audience the background they need to understand what engineers are talking about.

It is not clear to me what you (or your audience) are trying to achieve with this. I mean, fully understanding what engineers are talking about obviously requires training to become an engineer proper. OTOH learning only the direct meaning of specific buzzwords gives only superficial knowledge (which can in fact be more dangerous than no knowledge at all).

If, however, you want to let your audience understand the technical problems and challenges behind building an enterprise app, I suggest you minimize the mention of concrete acronyms and frameworks, and focus on describing the problems and solutions in a platform-neutral way. E.g. what happens (what pieces of data are coming and going from where to where, and a little bit of the how) between the user typing in http://www.amazon.com/ and getting to see his/her personal intro page. Then what happens in the background when she puts some books into his basket, and checks them out. Etc.

IMHO you don't necessarily need to go into details of "in .NET you use this-and-that for Object Relational Mapping while in Java you use that-other and their differences are ...". The fundamental problems are the same regardless of language / platform, and the logic of the solutions is similar enough.

Note also that technologies and acronyms come and go, but the nature of the basic problems doesn't change - in fact many of these (such as authentication & authorization, concurrency, transaction isolation, session handling etc.) has been around since the dawn of computing.

Update

Some of the well known current Java Enterprise technologies worth mentioning are:

Web/application servers:

Related Topic