Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
You can also explain to me what "enterprise" means, I've been a Java developer for over 10 years and I still haven't a clue. – biziclop Feb 22 '11 at 21:16
@biziclop I'm not sure either :). Lets define it as "technologies that are common for business application development", which is probably a very imperfect definition. – overstood Feb 22 '11 at 22:10
up vote 7 down vote accepted

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


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

Web/application servers:

share|improve this answer
Lets assume that they already have a grasp of the basic problems. One of the issues is that they're dealing with a lot of buzzword heavy engineers and want to know where the buzzwords fit in. In an ideal world, you're probably correct that they should be engineers if they want to talk about engineering. However, that's not reasonable to expect of everyone. Most people don't and shouldn't need to understand transaction handling, session handling, etc. – overstood Feb 22 '11 at 19:31
Also, it's somewhat presumptuous for your first answer to be "you're approaching the problem incorrectly" – overstood Feb 22 '11 at 19:45
@overstood, I didn't mean your approach is incorrect, and I apologize if it sounded like that. (Edited my answer to make it clearer.) I simply meant I didn't see what your (or your audience's) aim was. Without knowing the aim, there is no way to judge whether or not an approach is correct. From your added explanation I understand they need some sort of glossary, so that e.g. hearing the acronym JSP, they know it means Java Server Pages. Is this correct? – Péter Török Feb 22 '11 at 21:04
No problem, sorry if I was presumptuous in assuming that you were presumptuous. Basically they would like to know that JSP is Java Server Pages, and a basic explanation of when you would use JSP, what it does, etc. – overstood Feb 22 '11 at 22:08
@overstood, I added a list to my answer, hope it helps. – Péter Török Feb 22 '11 at 22:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.