Slashdot Mirror


JBoss - A Developer's Notebook

Pankaj Kumar writes "Controversies aside, JBoss has emerged as a credible alternative to commercial J2EE App Servers for developing and deploying Java based server applications. Besides the usual advantages of open source and GPL licensing, what sets it apart is its JMX based microkernel, a light-weight framework to run independently developed Java programs within a single JVM. Together, these make it possible for one to pick and choose components and assemble a custom server anywhere between the two extremes (and beyond!) of a simple Servlet Container and a full-fledged J2EE Server. JBoss - A Developer's Notebook by Norman Richards, a JBoss developer at JBoss, Inc., and Sam Griffith, Jr., a software consultant and trainer, is a no-fluff How-To guide on doing stuff with JBoss in O'Reilly's new Developer Notebook format." Read on for Kumar's review of the book. JBoss - A Developer's Notebook author Norman Richards & Sam Griffith, Jr. pages 150 publisher O' Reilly rating 7 reviewer Pankaj Kumar ISBN 0596100078 summary A How To Guide on Working With JBoss

True to the format, this book doesn't waste pages on paeans to architectural elegance, internal design or conceptual deliberations, and limits itself to the basic needs of most professionals -- how do I do this or that with JBoss, where to start, what steps to carry out or what code to write, and what happens behind the curtains.

Books dealing with J2EE products tend to be fat and bulky, but this (note)book doesn't fall in that category. By covering only JBoss specific aspects and avoiding general J2EE topics, this rather thin book has managed to include a good deal of difficult-to-find information about JBoss. In fact, while going through its pages, I got a feeling that the authors have taken care to be different and complementary to the online documentation available in the JBoss Application Server Guide and JBoss Wiki.

In support of the above claim, let me compare the coverage of how to deploy applications under JBoss, an important activity with any J2EE container, in the JBoss Guide, JBoss Wiki, and the book under review. The JBoss Guide covers application deployment as part of the JMX based microkernel architecture and design, describing, in excruciating detail, the internal components responsible for the deployment and and how they interact. The JBoss Wiki takes a more externally focused approach, talking about hot deployment capability, relevant directories and configuration files in an installed system, and steps in a typical deployment process. In contrast, Developer's Notebook goes through the whole process of creating the deployable WAR file for a web application, deploying that to JBoss by copying the created file to JBoss's deploy directory, and verifying successful deployment or looking for errors. It even talks about how to modify a deployed application. Needless to say, the last one is most useful to someone who just wants to deploy his or her application.

True to its lab notebook style, the book makes important, though not integral, observations about specific topics in the page margins. For example, a note in the margin of deployment steps tells you that you can include a deployment package within another deployment package, up to an arbitrary level of nesting, a la Russian doll packaging. I found this informal way of communicating relevant stuff quite effective.

Another noteworthy aspect of this book is that it makes generous use of appropriate tools, such as Ant and XDoclet, to get things done. This can be either good or bad, depending upon your familiarity with these tools. For me, it turned out to be a mixed bag. I know Ant and am happy writing Ant scripts for packaging and deployment. It is different with XDoclet, which I haven't had a chance to use so far. But perhaps the authors know better and one should just get familiar with it before working on any project involving JBoss and Enterprise Java Beans.

It is difficult, if not impossible, to cover each and every aspect of software as feature rich and complex as JBoss in any single book. This leaves the somewhat unpleasant task of choosing topics to the the authors and editors, for the selection may or may not match the needs of a particular reader. At the same time, it increases the responsibility of a reviewer like me who must help a prospective buyer decide for or against making a purchase, based on her needs.

Let me attempt to do that by making two lists: first, what is included and then, what is not.

What is included (paraphrased Table of Contents):
  • How to install, start, examine (through JMX Console) and shutdown JBoss Server.
  • How to package, deploy, observe and undeploy an application.
  • How to create a web application with database access and user authentication.
  • How to use MySQL as database for a JBoss application.
  • How to setup user database, login modules and enable SSL.
  • How to configure logging for various components of JBoss.
  • How to map schema, objects and relations to database tables.
  • How to monitor and manage a JBoss application with MBeans.
  • How to create a custom JBoss with modules that your application needs.


A similar, comprehensive, list of what is not included is simply not possible. Still, I have gone ahead and created the following based on my experience with JBoss. Keep in mind that these reflect the kind of applications I have worked on and may not be representative of your needs.
  • How to use JBoss as a J2SE container.
  • How to develop Web services with JBoss.
  • How to create, package and deploy an application consisting of JBoss services, web applications and web services.
  • How to troubleshoot class loading problems.
  • How to isolate applications within a single JBoss server instance.
  • How to profile for performance bottlenecks.
  • How to run multiple instances of JBoss Server on a single machine.


I can only hope that the authors will take this as a reader feedback and include some of the above in a future edition.

So, what else is there not to like about this book? One thing that caught my attention was the relative absence of insight into why things worked the way they worked: What are the underlying patterns and how can the awareness about these patterns be applied to other similar situations? These are the things I look for in a new product or technology, and have found them to be much more helpful than just a compilation of step-by-step descriptions of doing things. Perhaps the Developer's Notebook format doesn't allow for such digressions, still I think inclusion of such insights would have improved the book.

Overall, I would say that JBoss - A Developer's Notebook is a good introductory book for those who are thinking of getting started or are just getting started with JBoss. If you have already worked on JBoss and are looking for more advanced or esoteric stuff, then this book is perhaps not for you.

You can purchase JBoss - A Developer's Notebook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

116 comments

  1. JMX Microkernel by AKAImBatman · · Score: 4, Informative
    Besides the usual advantages of open source and GPL licensing, what sets it apart is its JMX based microkernel, a light-weight framework to run independently developed Java programs within a single JVM.

    FYI, JMX is not a JBoss technology, but rather a Sun JSR Specification. Perhaps the most telling point is that JBoss's name doesn't appear anywhere in the working group for the JSR. Claiming or attributing responsibility for such technology is a bit disingenuous. Especially since several other app servers (e.g. WebSphere and Sun J2EE) use the same technology.

    Also, am I the only one who's annoyed at the use of the word "microkernel"? While I'm sure that some similarities exist, a J2EE server is not an operating system. It's a shared environment high above the sysetm management level, and as such cannot be classified in the same manner. Using Operating System terms at that level only serves to confuse potential customers about the purpose of the technology.

    My pet peeve in this area is the 1060 NetKernel. They get so wrapped up in the "kernel" language, that they forget to tell everyone exactly what their product does. I mean, look at this stuff:

    NetKernelTM Microkernel is a REST microkernel. It provides a clean, robust and scalable foundation for the development and delivery of robust, scalable and adaptable systems.


    I'm sure I'm not alone when I say, HUH?
    1. Re:JMX Microkernel by ForsakenRegex · · Score: 2, Insightful

      Your quotation doesn't imply that JBoss has any responsibility for JMX. It simply says their "microkernel" is based on JMX.

      --
      "A man talking sense to himself is no madder than a man talking nonsense not to himself."
    2. Re:JMX Microkernel by AKAImBatman · · Score: 0, Redundant

      My quotation states that "JMX sets JBoss apart". How can JBoss be set apart by a technology used by many (if not all) the major vendors? Perhaps the author meant "JMX sets JBoss apart from the other low cost/free/open source J2EE servers?"

    3. Re:JMX Microkernel by Ryosen · · Score: 1

      JBoss doesn't claim to have invented JMX. They merely utilize it in their implementation.

      "Microkernel" refers to the architectural pattern around which JBoss was designed. You can read up on it in the POSA book by Buschmann et. al.

      --

      Ryosen
      One man's "Troll, +1" is another man's "Insightful, +1".
    4. Re:JMX Microkernel by ForsakenRegex · · Score: 1

      Whether or not JBoss is set apart by it's use of JMX is irrelevant to whether or not the author "attributes responsibility" to JBoss for JMX.

      --
      "A man talking sense to himself is no madder than a man talking nonsense not to himself."
    5. Re:JMX Microkernel by AKAImBatman · · Score: 0, Troll

      JBoss doesn't claim to have invented JMX. They merely utilize it in their implementation.

      The poster implies that JMX is a JBoss technology, or at least that JBoss has a current monopoly on JMX.

      Still, I'm willing to concede the point since no one else seems to be bothered by this. The rest of my point still stands from an informative perspective. JMX is a standard technology used by a variety of J2EE servers.

      "Microkernel" refers to the architectural pattern around which JBoss was designed.

      Irrelevant. My point was that the use of the term "Microkernel" is confusing, and that its ongoing use to describe shared code environments only serves to heavily overload the term. Don't we have enough confusing terminology in the technology sector without reassigning clear-cut terms?

    6. Re:JMX Microkernel by br0k_sams0n · · Score: 3, Informative

      You're sinking fast. Others have already addressed the "JBoss isn't claiming to invent JMX argument" so I won't go there. Most FOSS application servers as well as commercial servers do expose JMX objects so this isn't something that sets them apart. What does set them apart is that they base their architecture on JMX where as others simply expose JMX objects, usually for mundane tasks simply to get the checkbox on feature set. JBoss on the other hand, uses JMX to bootstrap the entier application server, almost every component within the server is configured with a JMX MBean meaning you can use the JMX server infrastructure to easily interrogate and alter the configuration at runtime if desired. This is what sets them apart.

    7. Re:JMX Microkernel by AKAImBatman · · Score: 0, Redundant

      My reading of the post is that the poster is implying either responsibility for or a current monopoly on the technology. Nothing could be further from the truth.

      However, I am willing to concede that others (such as yourself) have not read it this way. Which only leaves the point about being "set apart" based on this technology. I find it hard to accept that JBoss is "set apart" by a technology that is in many competing J2EE servers. In which case, I can only assume that the poster either did not understand this, or intended to say that "the quality of the JMX implementation sets JBoss apart."

    8. Re:JMX Microkernel by AKAImBatman · · Score: 1, Redundant

      You're sinking fast.

      Sinking, nothing. I'm pointing out an oddity in the review, which *seems* to claim that JBoss is somehow superior for its use of JMX. Since JBoss has nothing to do with the development of the technology, nor does it have a monopoly on the use of the technology, I find that statement odd at best, disingenuous at worst. However, I think you answered the argument after this:

      What does set them apart is that they base their architecture on JMX where as others simply expose JMX objects, usually for mundane tasks simply to get the checkbox on feature set. JBoss on the other hand, uses JMX to bootstrap the entier application server, almost every component within the server is configured with a JMX MBean meaning you can use the JMX server infrastructure to easily interrogate and alter the configuration at runtime if desired. This is what sets them apart.

      Or in other words, the quality of the JMX implementation sets JBoss apart. Which I can accept quite readily. Thank you for clarifying. :-)

    9. Re:JMX Microkernel by Trinn · · Score: 1

      Especially when the "kernel" is responsible for handling a "virtual machine", it is fully correct to refer to it as one. One good example would be UML (user-mode linux, not to be confused with..whatever that bizarre prototyping / flowcharting 'language' is). Most here would agree that Linux is a kernel, even when it is abstracted to the level of an application. Another example, based on UML is CoLinux, which allows Linux to run as a privileged application on an NT-based windows system. (It may run on 9x, but I haven't tried that, check their site for more info, google is your friend.)

    10. Re:JMX Microkernel by rca66 · · Score: 2, Insightful
      The poster implies that JMX is a JBoss technology, or at least that JBoss has a current monopoly on JMX.

      I can not find any hint in this direction in the poster's text.

      "Microkernel" refers to the architectural pattern around which JBoss was designed.

      Irrelevant. My point was that the use of the term "Microkernel" is confusing,

      It is relevant. The term Microkernel is in no way reduced the the usage in an OS kernel. That you have only heard it in this context is just your problem. Words have only a meaning in context. And regarding this it is quite clear, that the general pattern is meant, not its special application to OS kernels.

    11. Re:JMX Microkernel by AKAImBatman · · Score: 1, Insightful

      No, it is quite irrelevant.

      The term Microkernel is in no way reduced the the usage in an OS kernel.

      "Kernel" in CompSci refers specifically to the low level, hardware/resource control layer of an Operating System. The definition is very clear and distinct. Using the term in places other than OS design is obviously an attempt to liken the new design to a kernel's design. Yet that doesn't make sense, since the two concepts are very different.

      The result is that the term gets overloaded and the definition starts to become fuzzy. Which then means that a greater context is required to fully explain the subject.

      For example, if I say "Having extensively used DiVX, I must say that I dislike it intensely," it is unclear if I'm referring to DiVX the codec, or DiVX the DVD alternative. And having this statement made in the context of a Video Encoding forum does not necessarily help. Discussing the relative merits of the DVD format vs. the DiVX format is well within the bounds of normal discussion for such a forum. Which means that people often must state, ""Having extensively used DiVX (the disc format, I love the codec), I must say that I dislike it intensely."

      This breaks up the flow of the idea, and makes communication more difficult. Why would we want to *intentionally* muck up our communications like that? Especially when the term "Framework" fits perfectly well, and is intended for this precise situation.

      As I said, the overloading of the term is confusing, highly annoying, and destructive to communication.

    12. Re:JMX Microkernel by arthurs_sidekick · · Score: 3, Informative

      My understanding is that while lots (most? alll?) of J2EE application servers use JMX or provide services based on JMX in some way, the core of JBoss's architecture is JMX, to the extent that if you're running a minimal JBoss configuration, what you've got is an MBeanServer and a few MBeans. Every other service is loaded via the services provided by that JMX 'spine.'

      I want to emphasize that I know SFA about (e.g.) WebLogic and its architecture, so what I said above may well not be a unique feature of JBoss. But when I've heard JMX touted as a 'feature' of JBoss, it's about the architecture of JBoss, and not the inclusion of JMX-based services, that is supposed to be the Big Deal.

      If I'm wrong about that, and as I indicated I may well be, well, then I've been astroturfed into some false beliefs.

      --
      "Oh, I hope he doesn't give us halyatchkies," said Heinrich.
    13. Re:JMX Microkernel by wpoitras · · Score: 1
      FYI, JMX is not a JBoss technology, but rather a Sun JSR Specification. Perhaps the most telling point is that JBoss's name doesn't appear anywhere in the working group [jcp.org] for the JSR. Claiming or attributing responsibility for such technology is a bit disingenuous. Especially since several other app servers (e.g. WebSphere and Sun J2EE) use the same technology.

      I don't see how the statement you quoted implies that JBoss was involved in creation of JMX. Being based on JMX implies only one thing: its based on JMX. I think you are reading more into the statement than is actually there.

    14. Re:JMX Microkernel by rca66 · · Score: 1
      Using the term in places other than OS design is obviously an attempt to liken the new design to a kernel's design.

      Absolutely right, the pattern has been derived from the OS design.

      Yet that doesn't make sense, since the two concepts are very different.

      It's an abstraction, it looks at what is the essence behind the principle of the OS microkernel and transfers it to other areas. That's what patterns are about. And to make it clear: using this term in that general way is in no way an invention by the poster nor by the JBoss group. Naming of this pattern dates back about 10 years and is for instance also often used when talking about the architecture of Eclipse.

      Especially when the term "Framework" fits perfectly well, and is intended for this precise situation.

      No, definetely not. "Framework" is far too general and unspecific. Every J2EE implementation is a framework, but does not necessarly follow the JBoss approach.

    15. Re:JMX Microkernel by yomahz · · Score: 1


      My quotation states that "JMX sets JBoss apart". How can JBoss be set apart by a technology used by many (if not all) the major vendors? Perhaps the author meant "JMX sets JBoss apart from the other low cost/free/open source J2EE servers?"


      Nope, that's not what you quoted in your original response. Here it is for everyone who is too lazy to look it up again (including the OP):

      "what sets it apart is its JMX based microkernel,"

      To me, that simply means they've made an implementation of the JMX standard. It doesn't mean they invented the standard.

      --
      "A mind is a terrible thing to taste."
    16. Re:JMX Microkernel by AKAImBatman · · Score: 0, Redundant

      Absolutely right, the pattern has been derived from the OS design.

      Which is, again, completely screwed up. JBoss, NetKernel, Geronimo, etc., all have zip to do with microkernels. They don't manage anything other than loading shared, executable code. Something which, if I may point out, is precisely what a Microkernel *doesn't* do. That's what the servers are for!

      Not to mention that the concept *still* fails to commmunicate what precisely the software *does*. When we talk about OS Microkernels, we know that we're talking about the interface between the hardware and software in a multiuser system. When we're talking about a Microkernel in the context of App Server software, it is completely unclear what is meant. At best, we can assume that a central control launches "services". The meaning of this is quite ambiguous and highly confusing. Now if we said "JBoss is an application server based on a JMX Framework where everything in the system is a JMX object," then we know what exactly JBoss is.

      It's an abstraction, it looks at what is the essence behind the principle of the OS microkernel and transfers it to other areas.

      No, it's not. A Microkernel is a very specific concept, with very little abstract about it. Redefining it to be an abstraction is a problem.

      And to make it clear: using this term in that general way is in no way an invention by the poster nor by the JBoss group.

      To be clear, I'm merely annoyed at the desire of marketeers to reuse terms like this. It's nothing against JBoss in specific, just the corruption of a perfectly workable dialect.

      No, definetely not. "Framework" is far too general and unspecific.

      Framework is a starting point. Thanks to the power of the English language, we can be more specific without inventing a new term. "J2EE Framework", "JMX Framework", and "Plugable Server Framework" are all perfectly acceptable, and far more informative than "Microkernel."

    17. Re:JMX Microkernel by Doc+Ruby · · Score: 1, Informative

      JBoss obviously didn't invent the GPL or OSS, either, but they're other aspects of JBoss, apart from JMX, that the post claims sets JBoss apart from its competition. Your straw man is your own invention, your own inference, that is not stated in the post you're arguing with. It's your own agenda, neither that of JBoss or the poster to whom you replied.

      --

      --
      make install -not war

    18. Re:JMX Microkernel by rca66 · · Score: 1
      They don't manage anything other than loading shared, executable code. Something which, if I may point out, is precisely what a Microkernel *doesn't* do. That's what the servers are for!

      Well actually, servers are part of the Microkernel pattern. To make things worse, there is also a participant called "microkernel" in the Microkernel pattern... If it was not clear up to now: JBoss at all is not a microkernel, its architecture is based on the Microkernel pattern. JBoss also contains e.g. the servers which do the loading (in Eclipse you have them as well - nobody calls Eclipse a microkernel, it's just that its archtitecture is quite good described by the Microkernel pattern).

      A Microkernel is a very specific concept, with very little abstract about it. Redefining it to be an abstraction is a problem.

      Same holds for blackboards. Yet, up to now nobody complained that there is a pattern called "blackboard", although there is no chalk, or anything you can write on at all. It's not even black.

      I'm merely annoyed at the desire of marketeers to reuse terms like this.

      Why marketeers? The pattern has been described and named by a software engineer, not some marketing guy.

      "J2EE Framework", "JMX Framework", and "Plugable Server Framework" are all perfectly acceptable, and far more informative than "Microkernel."

      Let's have a closer look:

      • "J2EE Framework" - doesn't tell you anything about the inner design of JBoss, not suitable for this purpose at all.
      • "JMX Framework", ok, somewhat closer, but still - just using JMX does not necessarly describe what the architecture of JBoss is all about. You could use JMX in software which is more or less monolithic, just to add some management of resources used by the software.
      • "Pluggable Server Framework" - well this comes a bit closer now, but still without further explanation it is not very clear. On the other hand, by pointing to the Microkernel pattern, it is much preciser, what is meant. It's more than just some plugin facility. Nobody would use the word Microkernel together with Microsoft Word, although it supports plugins.

      And as a remark to the above mentioned "marketeers" - from a marketing point of view something with "plugin" in it would sound much cooler. Everybody knows about the ease and convenience of Plug'n'Play. Whereas much less percentage of the potential users of JBoss know about the specialities of an OS microkernel.

    19. Re:JMX Microkernel by Anonymous Coward · · Score: 0

      JBoss is an abomination. It really is. I don't kwow how the word "lightweight" got in there for the original posting. The JMX framework which they have developed may well be lightweight, but in actual use it is hideous, poorly documented, obscure, and generally unpleasant. I have found Caucho Resin -- now GPL'd! -- http://www.caucho.com/ is far preferable. Good luck with whatever you go with, but remember, less(1) is more(1).

      bc

    20. Re:JMX Microkernel by Doc+Ruby · · Score: 1

      Moderation -1
          100% Overrated

      I point out the clear error a post, but that doesn't rate. More tracks of the sleazy SlashStalker Trollmods. Ew, they're covered in slime!

      --

      --
      make install -not war

    21. Re:JMX Microkernel by tekras · · Score: 1
      While I'm sure that some similarities exist, a J2EE server is not an operating system.

      Ummmmm I'm not so sure about this portion of your comment. When you think of an operating system there are (at least) 2 distinct functions. 1) Abstract hardware resources so that they are easily accessable via an API for developers. Java does this via it virtual machine and the J2EE API. 2) Provide a set of tools to allow an operator to execute applications, monitor performance, diagnose faults, etc, etc. Java provides these services with frameworks like JMX, Servlet,and EJB. The reason I even mention this is because I'm well into my 1st year seriously delving into J2EE (though I've used Java for years to build simple utilities) and it distinctly reminds me of being a young C programmer and discovering the power and utility of learning the Unix API. J2EE is to Java what the Unix API is to C. Having meet these 2 criteria bluring the line between development platform and operating system; what's left that seperates J2EE from a traditional OS? So I guess I'm saying not only do similarities exist, but what's the difference?
    22. Re:JMX Microkernel by Anonymous Coward · · Score: 0

      > JBoss at all is not a microkernel, its architecture is based on the Microkernel pattern.

      But that is what the story/article did _not_ do.

      > Yet, up to now nobody complained that there is a pattern called
      > "blackboard", although there is no chalk, or anything you can write
      > on at all. It's not even black.

      That's because someone didn't write this:
      "Besides the usual advantages of open source and GPL licensing, what sets JBoss apart is its JMX-based blackboard"

    23. Re:JMX Microkernel by rca66 · · Score: 1

      JBoss at all is not a microkernel, its architecture is based on the Microkernel pattern.

      But that is what the story/article did _not_ do.

      Well it didn't use explicitely the term "pattern", but in writing

      as part of the JMX based microkernel architecture and design,
      it is clear that it is addressing the pattern, not the OS microkernel.
      That's because someone didn't write this:
      "Besides the usual advantages of open source and GPL licensing, what sets JBoss apart is its JMX-based blackboard"

      But assume, there is a software using the Blackboard pattern, which happens to have a participant called blackboard, which means a sentence like the above is quite possible. You would seriously rant about the usage of the word blackboard, just because there is definetely nothing like an actual, physical blackboard in it? Come on!

  2. 1060 Market Speak by AKAImBatman · · Score: 4, Funny

    Oh, and besides their Market Speak(TM) being confusing and redundant, their Market Speak(TM) is confusing and redundant.

    1. Re:1060 Market Speak by nacturation · · Score: 1

      And while it may be doubly robust and scalable, it's only singularly clean and adaptable. Given that, I think I'll have to pass.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  3. Commercial != Proprietary by Bistronaut · · Score: 4, Insightful
    "Controversies aside, JBoss has emerged as a credible alternative to commercial J2EE App Servers..."

    JBoss is not an alternative to commercial J2EE App Servers, because it is a commercial J2EE App Server. It's an alternative to proprietary J2EE App Servers.

    Some people might think I'm being pedantic, but I think that the distinction is important.

    1. Re:Commercial != Proprietary by ezweave · · Score: 3, Informative

      It also depends on what you mean by "commercial". If you mean for commercial use, then yes. But if you mean that it is for sale... yes and no. You can use JBoss free (or could) and buy support. So really, the author is correct.

      Proprietary is incorrect, though. It is not an applicable term to a J2EE app server. Or if it is correct, it applies to all of the other big app servers: Weblogic, Websphere, and Oracle. I can run these on many OSs and I can use different databases, different JVMs, etc, etc.

      As to the review, anyone who has used one of the big name app servers for any length of time, would not find a single book to be a sufficient resource. It is good to see the reviewer point this out. Oddly enough, having had to use Oracles app server for a few years (and being dumbfounded at their horrid/incorrect/blatant lies documentation) I have found one of the best general resources to actually be BEA's dev2dev site. It contains good articles and detailed documentation on some of the steps others abstract away (especially concerning deployment descriptors for ejbs and jms).

      Of course, Weblogic and Websphere still have the lion's share of the market... but I would love to see more JBoss (and less Oracle... ick).

    2. Re:Commercial != Proprietary by ChaseTec · · Score: 2, Insightful

      The author obviously meant commercial in the "pay big bucks for" sense. It's not the standard definition of commercial but a google search turned up this definition: "Software developed for and sold to the general public. Generally there are licensing fees associated with the use of such software.".

      JBoss is not an alternative to commercial J2EE App Servers, because it is a commercial J2EE App Server. It's an alternative to proprietary J2EE App Servers.

      Hate to break this to you but EVERY J2EE app server, certified or not, is propietary. Just take a look at deployment on any app server. The J2EE specs are done that way on purpose to allow vendors and companies to add value addons.

      --
      My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
    3. Re:Commercial != Proprietary by Anonymous Coward · · Score: 0

      Pedantic - no ( look up the word in the dictionary, sweetheart ).

      Overly particular ( and desperate to use words whose meaning you don't comprehend ) - yes.

  4. Re:JMX Microkernel whats your beef? by shareme · · Score: 0

    First, In reading the actual org post at no point doe sit give the impression that JBos sinvented JMX.. Second, a microkernel refers to a designb in which the J2ee server is microkerneled meaning there is a bsse setup of MBeans that form the JBOss core and additional MBeans that add configurable stuff oin to the server core.. ..If Geronimo can use micokernel def so can JBoss and in fact they did long bfore other IOC containers started using the term.. In contrast Most complex systems do in fact approach kernel achitecture layouts ..fopr example.. Apache web server, CIsco routers..and etc all use the term kernel..

    --
    Fred Grott(aka shareme) http://mobilebytes.wordpress.com
  5. Not GPL, LGPL by Anonymous Coward · · Score: 1, Insightful

    And JBoss is not non-commercial, either, it's non-proprietary. Given the JBoss Group's penchant for astroturfing, I wouldn't be surprised if this is a cleverly-disguised slashvertisement.

    1. Re:Not GPL, LGPL by $RANDOMLUSER · · Score: 2, Interesting

      Either way, given that WebLogic and WebSphere cost a fortune, JBoss is the only "real" app-server that can be had for no dollars. It's good to have a cookbook out there, so the do-it-yourselfers can learn how to write for an app-server on their own. Plus, the low-budget crowd can put up a real app-server. If JBoss won't scale to the traffic and you have to buy one of the big boys, well, that's a good problem to have.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    2. Re:Not GPL, LGPL by Anonymous Coward · · Score: 2, Interesting

      Either way, given that WebLogic and WebSphere cost a fortune, JBoss is the only "real" app-server that can be had for no dollars.

      No, Sun has had a Real Appserver(tm) available for no cost for some time now (at least two years). They've even gone to the trouble of benchmarking it (both backed by Oracle and by MySQL) against the SPEC Java benchmark AND publishing the results so you can compare it.

      Their next version is even Open Sourced and being developed under GlassFish at java.net.

    3. Re:Not GPL, LGPL by Anonymous Coward · · Score: 1, Informative

      Is JBoss, the only 'real' J2EE App Server out there ? I don't think so.
      There are alternatives opensource projects like JOnAS(http://jonas.objectweb.org/ or Geronimo(not production ready) available.

      JOnAS is J2EE 1.4 certified too, completely free.
      The development team is very reactive on the mailing lists.
      And the most important : a lot of projects are already in production :)

  6. Zonk's blog! by Anonymous Coward · · Score: 0

    This entire story is crap because it WAS NOT POSTED BY ZONK! What's up with Slashdot anyway? Don't they realize it's Zonk's blog?

  7. J2EE is.. by SilentReallySilentUs · · Score: 5, Insightful

    a bloated medley of JCP technologies that very few people actually need. It doesn't matter if it is commercial or non-commercial, JBOSS or something else. The volumes that have been written on J2EE, how to use it, best practises, performance tuning, design patterns is a good sign that people are having difficulties using J2EE to rapidly create fast and easily maintainable applications using J2EE at a reasonable cost and time. OK, the servlets and JSPs are very basic and useful but all the EJBs, MDBs, CMPs, Value Objects, etc.. are seldom useful. I have seen many projects go out of control where unsuspecting developers have spent months on this stuff to produce a bulky unusable system. Lightweight technologies like Hibernate and spring are much better. J2EE is going the CORBA way.

    1. Re:J2EE is.. by Anonymous Coward · · Score: 0
      "Lightweight technologies like Hibernate and spring are much better."

      This is why EJB 3 is based on Hibernate. You no longer need 3000 artifacts to get a POJO from a database. In fact, EJB 3 is even easier to use than Hibernate.

    2. Re:J2EE is.. by Anonymous Coward · · Score: 0, Flamebait

      EJB is good for decentralized data and RPC "stuffs". Think soap-like, but more native to java. Very good stuff for pure java environments.

      CMP and Hibernate are both ORMs. The implementations are different. They do pretty much the same thing.

      Value objects are just simple data structures to move data around. They don't have to look like your OOP business objects. They are tightly bound by some specific business request and don't require more objects than the row data and a super container, like an array.

      JSP allows one to do PHP type crap. If you equate the two, you are prolly using it wrong, mixing data and controlling logic. Write custom tags or use the JSTL if it's there already.

      Lastly, servlets and jsp are PART of the j2ee, as well as XML processing and other things, like JAAS. Don't spout BS if you don't know the tech first.

    3. Re:J2EE is.. by helix_r · · Score: 2, Insightful

      ...I have seen many projects go out of control where unsuspecting developers have spent months on this stuff to produce a bulky unusable system...

      Ahem.... that would describe where I work.

      But anyways, its all water under the bridge. In a few years, those of us that are still employed will laugh at the comically baroque complexity of the bullshit tools we have to work with today.

    4. Re:J2EE is.. by micromuncher · · Score: 1

      J2EE is a specification to which various parties provide some or all of the services. Last I checked, some of these vendors provide different pricing on what you want allowing you to roll-your-own container.

      As for being a bloated medly of seldom used/needed technologies, I strongly disagree with this statement. Like Corba, it defines a set of services vendors provide to build enterprise applications. Last I checked, distributed transactional services, orbs, mail, security, and messaging were all really important parts of any enterprise. Its not just web content delivery.

      If you use your analogy about the number of books, then perhaps you should compare this to the number of books already existing for NET, or historically to VB. You can raise a mountain with those, and I don't think its fair to say those technologies are any more or less difficult.

      I agree SOME people will overspecify and use the wrong tool for the wrong job. But that is often the craftsman's problem (due to lack of experience), not the tool. For example, I know a lot of bright kids outta school (and some managers who love new magic bullet technologies) who think every problem can be solved with 3-tier architectures and EJBs... only to discover that 2-tier archictures with POJOs and/or OR mapping tools are often simpler, easier, cost less, and usually the right solution to many enterprise type development projects.

      I also disagree about J2EE going "the corba way." Corba is a mature specification with many mature vendors. J2EE is there now too. People do use CORBA and J2EE - maybe not every project uses every service - but that's not the point. Use what you need.

      --
      /\/\icro/\/\uncher
    5. Re:J2EE is.. by ezweave · · Score: 2, Interesting

      I have heard this opinion off and on, but I have also heard this from people who either did not fully grasp the entire framework that is J2EE or from people who did and thought it was a waste of time for various reasons.

      No matter how you build your framework, good OO design dictates that you seperate business logic from the presentation, control layers (commonly called MVC and idea as old as Smalltalk 80). If you stick with Servlets and JSPs you should at least have some type of BusinessObject that does the real work...

      Now I don't know anything about what kind of apps you build, but I have worked on banking software, data processing intensive (math, parsing), apps, etc and they NEEDED EJBs. Especially MDBs (because some of those operations are hardcore math, i.e. long and must be done asynchronously with Transaction encapsulation/management).

      EJBs are definitely not a silver bullet, and like anything they can be overused. But on the flipside, I have worked on more PHP styled apps that did everything in JSPs and Servlets, and they were awful to maintain!

      EJBs are not all the same either, CMP Entity beans have more overhead, SLSBs are pretty light weight (especially if you preload the ejb container on deployment). You can make the nasty details pretty transparent, especially if you are smart enough to use SessionFacade and Composite patterns. And using DTOs, factories, and Entity beans can also mean that your real-time app objects can be worlds different than the DB.

      For big systems, this is pretty important. It is well established by both SEI and IEEE that maintenance is 80% of the cost of a software system. So, if you build a multi-tier system correctly it can eb easy to understand and maintain.

      That is all with the caveat that you have used the right set of tools for the job. A system that tracks data for a small company is alot different than banking software that manages billing for subcontractors, customers, accountants involving billions of dollars. Big systems like that will be in service for years, and enough hands touch it that a strong OO design can really help when someone else has to look at it.

      Basically, it is extremely heavy-handed to make claims of J2EE dying. I don't speak for everyone either, but I know there are alot of big systems using EJBs that will be around for a long time. As they say, J2EE is the new COBOL.

      FWIW, JSPs and Servlets are part of J2EE. They may run in the web container vs the ejb container, but they are all part of the same concept. Not all app servers support all J2EE features, but that is another matter (and that is the way it should be). And I do like Hibernate and Spring, but I try to use the right tools for the right job.

    6. Re:J2EE is.. by Decaff · · Score: 1

      This is why EJB 3 is based on Hibernate.

      A common misconception! EJB3 is NOT based on Hibernate. It uses ideas from Hibernate, TopLink, JDO and other APIs.

    7. Re:J2EE is.. by _marshall · · Score: 2, Interesting

      disclaimer: I work for JBoss, but have been a J2EE programmer for as long as I can remember =)

      Most of the enterprise Java community actually agrees with you, hence why the EJB3 specification is highly derived and influenced from Hibernate. Value Objects, Home interfaces, and redundant configurations are just some of the things that have been all but completely removed from the new spec. But "removal of annoying features" isn't the only thing that EJB3 is focusing on. There is also a sharp focus on the Keep It Simple Stupid methodology that made Hibernate so popular to begin with. There are sane/default configurations for practically everything now, and DB->Entity mapping has finally been addressed as a non-vendor specific detail of the spec. Don't forget the fact that EJB3 Entities can also be easily detached and re-attached to the container, as well as used completely outside of the J2EE container.

      I encourage to check out the new annotation/POJO based EJB3 spec here:
      http://java.sun.com/products/ejb/docs.html

      Or, for a walkthrough of EJB3 and how to use it in JBoss, see our (IMO) excellent trailblazer:
      http://trailblazer.demo.jboss.com/EJB3Trail/

      And just for shits and grins, you should also check out JBossIDE's Hibernate & EJB3 Tools (shameless project plug!):
      http://www.jboss.com/products/jbosside

  8. Question for developers: JBoss vs Tomcat by EtherAlchemist · · Score: 1


    I am working a couple of other people on a startup, and we were thinking of going the JBoss route. One of them prefers JBboss, I've never used it, but have used Tomcat. We'll likely be running on multi proc AMD servers.

    Has anyone used both? What are the benefits of one over the other? Do you like the way one does something better? Caveats? Pitfalls? Problems in deployment?

    Thanx in advance.

    --
    R(k)
    1. Re:Question for developers: JBoss vs Tomcat by boomgopher · · Score: 1

      JBoss includes Tomcat AFAIK, so I think you may be comparing apples to oranges. What are you trying to do with the tech?


      --
      Your hybrid is not saving the environment. Its purpose is to make you feel good about buying something.
    2. Re:Question for developers: JBoss vs Tomcat by ChaseTec · · Score: 3, Informative

      Now a days JBoss uses a modified version of Tomcat to provide Servlet and JSP support. The way you delpoy is different and your configuration changes, so in a sense you could say that everything changes. Bugs and performance wise they are going to be the same. Usually the main reason to go with JBoss AS over Tomcat is when you need EJB support.

      --
      My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
    3. Re:Question for developers: JBoss vs Tomcat by gorbachev · · Score: 1

      EJBs: JBoss
      No EJBs: Either will do

      --
      In Soviet Russia, I ruled you
    4. Re:Question for developers: JBoss vs Tomcat by br0k_sams0n · · Score: 2, Interesting

      It depends on what your product is doing. If you simply need a web application, then there isn't much need to introduce all of JBoss into the mix unless you need to cluster it and manage a large number of nodes in a centralized manner. However, it is quite possible to slim JBoss down by stripping out many parts of the app server to make it lightweight and suitable as simply a web application container. I've actually used JBoss as a framework for a product before and it absolutely shined. We didn't need EJB so that was yanked out. We need portability through JCA, that worked beautifully. We implemented most of our functionality as JBoss SAR services and used the velocity-based template service for deployments of new components (see the user's guide and wiki, it's all quite well documented), all worked beautifully.

    5. Re:Question for developers: JBoss vs Tomcat by TrappedByMyself · · Score: 1

      Tomcat

      Don't add complexity you don't need. Only use JBoss when Tomcat doesn't support what you're doing and you understand why.

      --

      Help me take back Slashdot. When did 'News for Nerds' become 'FUD and Conspiracy Theories for Extremist Nutjobs'?
    6. Re:Question for developers: JBoss vs Tomcat by rhedin · · Score: 4, Informative

      I've used both (as well as many other servlet containers, j2ee containers).

      If you just need servlets/jsp, I'd recommend using Tomcat by itself; JBoss adds the rest of the J2EE stack on top of Tomcat, so if you're not using that you're kind of wasting effort.

      On the other hand, if you *need* the full stack, JBoss is not a bad container. I would recommend having a look a Tomcat + Spring + Hibernate as an alternative however, as most apps (aside from a couple of banking apps) I've seen really don't need the added complexity, and Spring makes a very good alternative.

      If you do use JBoss, keep in mind that they have had a tendency to do things their own way, which may have a tendency to bite you if you're assuming compliance to spec. (as an example, google: jboss unified classloader )

      rob.

    7. Re:Question for developers: JBoss vs Tomcat by Anonymous Coward · · Score: 0

      This is a pretty useful comparison matrix of all major app servers IMO:

      http://www.theserverside.com/reviews/matrix.tss

    8. Re:Question for developers: JBoss vs Tomcat by EtherAlchemist · · Score: 1


      Thanks. On the EJB point though, when does it (?) make more sense to use JBoss than Tomcat and OpenEJB?

      I'll take a look at the Tomcat, Spring Hibernate combination. Hibernate is used in JBoss app server as well.

      --
      R(k)
    9. Re:Question for developers: JBoss vs Tomcat by orb · · Score: 1

      It's a common question. Since I work for JBoss, I suppose I'll sound biased here, but I would always opt for running Tomcat under JBoss. If you don't need the full range of features that JBoss ships with, you can run a stripped down version. Even one with just Tomcat. The new JBoss installer let's you easily set up such a configuration.

      Why would you want to do that? First off, you can use the JBoss deployment model. Just drop the WAR file /directory into the deploy directory and you are good to go. You get the benefit of having the microkernel around for remote management and access. You get the ability to use the JBoss connection pools and JBoss security modules. You get JBoss HTTP session replication and clustered single sign on. Etc...

      Finally, I'd suggest that running in Tomcat on the JBoss microkernel buys you the ability to move up easily. Suppose you want to grow the app and have other services you want your application to use. In JBoss, writing a managed service is as easy as writing an mbean. (a pojo + xmbean descriptor if you like) You have easy extensibility to JMS, EJB, Hibernate, etc... JBoss can be as light as you need it to be while still giving you the ability to easily add in additional services if/when your application requires them.

      (disclaimer: JBoss employee and author of the book being reviewed)

    10. Re:Question for developers: JBoss vs Tomcat by EtherAlchemist · · Score: 1


      Awesome, this is what I was after. Even if it's biased ;) and I'll even checkout the book. Thanks!

      --
      R(k)
    11. Re:Question for developers: JBoss vs Tomcat by Anonymous Coward · · Score: 0

      We use springframework within tomcat and hibernate for an excellent ORM (now a jboss project but I wont hold that against them) to much greater effect. Its fast to deploy (4 secs on the dual opteron we use in production). The interfaces and logic are cleaner and do not rely on attending jboss forums (thank god for that).

      We have gone away from jboss in the last year. However we were on the 3.x series so maybe things are better in 4.x. Problems. Much larger memory footprint. Startup time much slower. hotdeploy did not always clean every bit of WAR. No need for ejbs. Much harder to configure. Unhelpful forums. General bad attitude of CEO. Also there is a temptation to write non-pure jboss-specific code which means you are locked in to that environment. We are trying to keep our future as open as possible.

      I hope this helps.

    12. Re:Question for developers: JBoss vs Tomcat by rhedin · · Score: 1

      when does it (?) make more sense to use JBoss than Tomcat and OpenEJB?

      This is generally a matter of preference-- using JBoss (or Jonas, or Geronimo, or WebShere...) gets you the advantage of a single application server providing access to servlets, EJB, MDB, JNDI, blah, blah, blah, blah. There is nothing preventing you from breaking this up into discrete components and using just what you need, where you need it: Tomcat, OpenEJB, ActiveMQ, whatever. While every project should be evaluated on its own merits, my preference tends to be that I'll run a servlet container plus a dedicated MQ if needed, but if I *need* EJB, I'll generally bring in a full application server.

      The issue predominantly comes down to simplicity and support; using one (certified) vendor such as JBoss for everything gives you one place to look for answers on how to put things together, at the possible expense of using less than optimal components (I've never been a fan of any of the JBoss MQ implementations for example). Using serveral tools means you can pick the "best" tool for each job, at the expense of fewer people that have exactly your setup.

      Bear in mind that, due to the way JBoss is architected, components can be swapped out or removed. If you only need Servlets and MDB, you can have only those two things, and even replace JBossMQ with something else if you like.

      I'm not down on JBoss-- I've used it in several projects and will probably use it again in the future. It does come down to using the best tools for the job however, and often a full blown J2EE application server is overkill. I've had to pick up the pieces from development groups who went full-on J2EE (including EJB, MDB, clusterable, etc), for a system that would never be deployed on more than one server, for more than one department, and taking months to deliver an application that should have taken weeks.

      rob.
    13. Re:Question for developers: JBoss vs Tomcat by feNIX77 · · Score: 1

      OpenEJB? I guess it depends on your project. I have yet to hear of anyone that has used an opensource EJB solution in a commercial environment besides JBoss. Geronimo is up and coming, but in my experience, OpenEJB is not even on the map. This is not to say that OpenEJB wont work for you - you just need to decide how demanding your application is and what kind of performance/uptime/scalabily it demands.

  9. I miss JBoss!! by teutonic_leech · · Score: 1, Interesting

    Just started a new gig and am forced to use WebSphere (WAS 5.x/6.x) and RAD. What can I say - it's a huge piece of turd and I miss using Tomcat/JBoss for real. There are great advantages to using commercial application servers - for instance WAS (and Weblogic) allows you to hotdeploy and debug your code while running it in your container right out of the box. Of course you can do that with JBoss as well, just takes a big longer to setup and configure. Some plug-ins like SolarEclipse attempt to address this and they are doing a great job (however they're commercial ;-) Anyway, fact is that JBoss is based on JMX and that modular design is simply superior. Another fact is that JBoss has matured to a level where it frankly can do anything any commercial J2EE container can do. Unless you've already standardized on Websphere or Weblogic, I just don't see a reason not to take a very serious look at JBoss - it runs fast, it's stable, and there is plenty of support (and great books, obviously).

    Just my 2 cents for all it's worth.

    1. Re:I miss JBoss!! by AKAImBatman · · Score: 1, Interesting

      You should try Orion sometime. Everytime I'm forced to work with JBoss, I can't help but wish I was using Orion. ;-)

      Why is Orion cool? Because it combines simplicity in design with all the features you've come to expect in high end commercial app servers. For example, Orion was the first server that I'm aware of that had *working* hot-deploy for EARs, WARs, and EJB JARs. (JBoss supposedly had hot-deploy for EJB in earlier versions, but it never seemed to work *quite* right.)

      No other app server has managed to stay as focused on keeping the essentials working well instead of adding ancillary features out the wazoo. :-)

    2. Re:I miss JBoss!! by AltImage · · Score: 1

      I thought Oracle bought Orion and it became the base for Oracle's J2EE server.

    3. Re:I miss JBoss!! by AKAImBatman · · Score: 1

      Close. Oracle licensed Orion for the basis of Oracle 9i. They didn't actually acquire them, however.

    4. Re:I miss JBoss!! by jsight · · Score: 1

      Unfortunately the pace of development these days is absolutely glacial, and it is rapidly falling behind the specs that it used to be first to implement.

      It was the best a few years ago, though.

    5. Re:I miss JBoss!! by pajama · · Score: 1

      If you miss Orion, you could use Oracle's EJB server... It's Orion inside.

  10. Jboss Documentation by Anonymous Coward · · Score: 1, Insightful

    I've used JBoss for 4 years since it was version 2. It's performed really well but it's not perfect. It has memory leaks when compiling and redeploying web apps which cause the server to have "out of memory errors" while i'm developing numerous times every day. I've upgraded the JDK to the lastest version a number of times so i don't think that's causing it.

    But, for me, the biggest issue has been the lack of quality documentation. That problem has been resolving itself over the years as it gains popularity. I don't what WebSphere and WebLogic, for example, have in terms of documentation, but I wish Jboss has better docs.

    nevertheless, it's solid and free. i recommend it.

    1. Re:Jboss Documentation by gorbachev · · Score: 2, Informative

      I completely agree.

      Having dabbled with WebSphere at work some, I'd say IBM's documentation isn't any better. Trial and error is still the #1 troubleshooting method.

      --
      In Soviet Russia, I ruled you
    2. Re:Jboss Documentation by Anonymous Coward · · Score: 0

      Memory leaks while redeploying web apps is a common J2EE problem when static variables and other gotchas cause classloaders to be not garbage collected. We have had the same problem with Tomcat and Sun App server.

      A good read on what can cause memory leaks and resolving those issues can be found at http://www.szegedi.org/articles/memleak.html

  11. JBoss Tutorial Online by heffel · · Score: 1

    I wrote a JBoss tutorial a while back. It is for an older version of JBoss, but most of the content is still relevant today.

    http://ensode.net/jboss_intro.html

  12. Translation by RelliK · · Score: 4, Funny

    I have no clue what I'm doing, but I'm considering getting some apples. One of my buddies actually likes apples. I've never tried them but I like oranges. Are there any benefits of apples over oranges?

    --
    ___
    If you think big enough, you'll never have to do it.
    1. Re:Translation by EtherAlchemist · · Score: 1

      Actually it goes more like this:

      I'm thinking about using apple boxes to package some goods. A buddy likes apple boxes, but I've only used orange crates. What are the benefits of apple boxes over orange crates?

      Clearly there are differences, and yet they have the same purpose: to hold fruit. Apple boxes may be better for a number of reasons, orange crates may be better for a number of reasons and all I'm asking is what those are.

      So, thanks anyway.

      --
      R(k)
    2. Re:Translation by Marc2k · · Score: 2, Insightful

      Uh, no, your analagy doesn't really fit. The two are not equivalent, did you read any other replies? Tomcat is a servlet container, and JBoss is a full-blown application server, which uses a modified version of Tomcat as it's servlet container. JBoss does a whole lot more than Tomcat, but can be terribly unwieldy to someone that has no experience in it, and especially someone that has no experience, and isn't positive why they're using it. I'd be very, very surprised if Tomcat wasn't suitable to your needs, especially since you mentioned that it's going to be hosted on one machine.

      --
      --- What
    3. Re:Translation by TrappedByMyself · · Score: 1

      Closer:

      You are dealing with apples. So do you need just an apple crate, or a rig which carries apple crates across the country?

      If you don't need the long distance shipping, then the simple crate alone will do the job.

      --

      Help me take back Slashdot. When did 'News for Nerds' become 'FUD and Conspiracy Theories for Extremist Nutjobs'?
    4. Re:Translation by EtherAlchemist · · Score: 1


      Yeah, that's probably it. I can start with a crate and add stuff to it as I need (wheels, handle, linkage for more crates), but maybe the rig is better in the long run if I think I will need things like an engine, cab and bigger load capacity.

      Analogy aside, some have said that JBoss is the way to go if we need EJBs. If we didn't need that right away, we could use Tomcat now and later add in OpenEJB. On the surface at least that means that either would be acceptable. I guess what I wanted to know was if someone had a preference for using one or the other, what was it and why? Usually people have some insight on configuration or deployment woes, ease of use and integration problems with other systems and so forth.

      --
      R(k)
    5. Re:Translation by Anonymous Coward · · Score: 0

      its funny how a few of the parent posts obviously are making fun of your lack of knowledge yet you keep the question going....Noone knowledgable on the subject has a "preference" between tomcat and jboss. They are different tools - a servlet container and a full blown J2EE application (which means more than just EJBs)

      Just a hunch, but I dont see this little startup you guys have going very far unless you hire some talent. good luck.

  13. JBoss-specific code by sbenj · · Score: 2, Interesting
    I've just finished a (small) project, part of which involved some services deployed on jBoss. Part of the development involved figuring out whether to use the built-in jboss MBean and Interceptor architecture. Initially I wanted to use as much of the built-in stuff as possibly, partly because it's silly to write things twice and partly becuase I wanted to learn more about JBoss.

    My personal experience, FWIW, is that taking advantage of the JBoss-specific architecture has its downsides:
    -you lock yourself into jboss (not a horrible thing, really, how often do you want to change the appserver of a running application, but annoying)
    -some of the implementations appear to be version dependant, e.g. your jboss-specific components might break when you upgrade
    -there's are undocumented hurdles-e.g. I spent hours trying to figure out why my mbeans were refusing to load, eventually googled a mail message to learn that it relies on an (undocumented, as far as I can tell) naming convention.

    In the end we just did POJO with MBean access to some basic parameters. But there's definately an (unfriendly) learning curve.

  14. Re:Anyone else gets nauseated... by MemoryDragon · · Score: 4, Interesting

    Simple... php inferior language
    C much longer development time for server side stuff, with not too much performance gain in that area, and to few portable libraries which are really portable (thank Microsoft and the ISO consortium for that)
    Python... much slower, and not really an improvement over java language wise
    Lisp... not as common, you cannot find enough people
    The ideal language for that kind of development probably would be smalltalk, but the Smalltalk vendors killed themselves in the Digital Parcplace fiasko and their inability to extend the common base to something java could deliver out of the box.
    The only contender in the long run I see currently is Ruby, with their excellent rails framework.

  15. the really essential JBoss book nobody's written by acroyear · · Score: 4, Informative

    "How the hell to upgrade my EJB+JSP+MBean+JMS from one version to another when every configuration file i've had to modify to get my app to work right has changed formats on me."

    Seriously, JBoss 321 -> 327 has had major changes outside of the obvious tomcat 4 to 5 one (the reason we had to do this in the first place), and 327 to 402 is even worse. the JMS subsystem is the worst moving target, as its configuration is significantly different in all three releases we're now arguing with.

    JBoss guys, i really do have better things to do with my time than read through and compare 1000 lines of XML between two releases to figure this crap out. A simple "upgrade instructions" document would have been nice.

    the reality is that the *vast* majority of those files are currently undocumented and anything anybody does with them is pure guesswork.

    --
    "But remember, most lynch mobs aren't this nice." (H.Simpson)
    -- Joe
  16. Re:the really essential JBoss book nobody's writte by orasio · · Score: 1

    Don't worry, you can buy support for that.

  17. Re:the really essential JBoss book nobody's writte by lugnuts · · Score: 1

    I'm dealing with the very same problem right now. You might be tempted to use JBoss "Support". Don't bother, you'll get better feedback from a newsgroup.
    JBoss support is the worst in the business.
    And some of the most expensive.

  18. Re:Anyone else gets nauseated... by bmalia · · Score: 2, Interesting

    What is your beef with Java? Java is excellent for server-side applications. Not so much for client-side, I agree, however there are some impressive java applications out there. (Limewire, Open Office, etc). JBoss and J2EE application servers are very good. I prefer a simple Tomcat server over JBoss myself. Not everyone should program in Java. Just web developers ;) Why? Object Orientated Programming language. Very well documented. Code runs on multiple platforms. Interpreted language. (Running applications on a virtual machine gives you an extra layer of security between the application and OS).

    --
    There's no place like ~/
  19. Save $4! by Anonymous Coward · · Score: 0

    Save yourself FOUR BUCKS by buying the book here: JBoss - A Developer's Notebook

  20. Re:Anyone else gets nauseated... by Danuvius · · Score: 1

    My beef with Java? Unpleasant to use.

    I love Azureus... in fact, I cannot stand to use any other linux bittorrent client... but I really dislike using it. Conflicted? Why, yes I am!

    It is slow to start, slow to react while already running, takes up far more processing power than reasonable, takes up far far more memory than reasonable, and the memory usage/processing power requirements grow over time. My computer can keep going for weeks at a time, but I have to restart Azureus every couple of days or else it becomes GUI-unresponsive. (I don't know if it actually stops working... can't tell; the gui is just no longer refreshed.)

    And these annoyances are pretty typical of my other Java (admittedly client-side) experiences.

    I'll take your word of its strengths on the server side (and liking Python, I cannot disagree with your argument). But I really must say client-side Java is probably as much a curse as it is a blessing to more serious and useful Java technologies.

    --
    Akarsz Magyar Gentoo fórumot? Akkor
  21. Re:Anyone else gets nauseated... by $1uck · · Score: 1

    "if(!(new File(name+".lck")delete())) log.debug("couldn't delete: "+name+".lck file.");" Well, I'm currently working on developing a swing-based desktop app. Originally it was to be developed in VB thank god that got changed. What other option is there for doing a full blown desktop application?(sort of rhetorical, but I'm interested.. how many languages have real support for creating gui's? is there a way to do a gui in lisp? seems so improbable to me). I guess we could have gone with C or C++. I would like to do some C, C++ since I haven't really touched it since college, but I wonder what the difference in development time would be (minus the fact I'm more up to speed with java than C). The J2SE library is huge and so easy to use. In my spare time I took a look at the MFC library and some tutorial code for it and wanted to vommit. Still I guess I'm not entirely ready to give up on c, c++ coding for windows, if someone could recommend a free ide/compiler (I loathe what visual studio did to my computer when I installed it some 4 or 5 years ago) for use on windows I'd appreciate it.

  22. Re:the really essential JBoss book nobody's writte by Husgaard · · Score: 1
    I know this problem, and maybe this can help you and others.
    JBoss guys, i really do have better things to do with my time than read through and compare 1000 lines of XML between two releases to figure this crap out. A simple "upgrade instructions" document would have been nice.
    We have over a dozen JBoss configuration files that are tweaked. When we upgrade we:
    • Diff between the original and tweaked version of of old release.
    • Apply diff to original of new release to get new tweaked file.
    In some cases a bit of manual work is needed, but not too often.
    the reality is that the *vast* majority of those files are currently undocumented and anything anybody does with them is pure guesswork.
    There is a lot of information on this in the official JBoss for-buy documentation. If you do not want to buy the official documentation, please have a look at the DTDs for the XML files, as they generally are well commented. As a last resort you can also look at the source, but personally I only had to do that once (in 5-6 upgrades).
  23. Re:Anyone else gets nauseated... by gbjbaanb · · Score: 1

    if someone could recommend a free ide/compiler

    Too bad if you don't like MS, but they still make the best development tools. These are still BETA and will do nasty things to your box, so you might want to wait until the 2005 release is released.

    http://lab.msdn.microsoft.com/express/default.aspx

  24. Re:Anyone else gets nauseated... by Anonymous Coward · · Score: 0

    I prefer a simple Tomcat server over JBoss myself

    HMMM. Tomcat is the web container in JBOSS so what you're saying is: I'm not really familiar with JBOSS but I don't want to pass up this opportunity to look smart. Bravo.

  25. Re:Anyone else gets nauseated... by Elrac · · Score: 4, Interesting
    I like to think of myself as a "the right tools for the job" kind of person. I prefer to do Windows GUI apps in Delphi, I do online game and communications apps in C, and simple CGIs and scripts in Perl. Until recently, I earned a living coding in FORTRAN, on a machine where its performance is unsurpassed by other languages.

    As such, I don't see anything seriously wrong with Java. Thanks to its clean and simple syntax and its rich library, I feel it lets me solve problems faster than many other languages. At least on the server, it runs at compiled speeds, and the base of free code to build on is enormous.

    There are certainly "better" languages, for various flavors of "better". Lisp and Smalltalk come to mind. Look at Structure and Interpretation of Computer Programs for a glimpse at the awesome power of Lisp. Smalltalk programmers never cease to rave about what a joy it is to work with. These two languages suffer from lack of acceptance by the masses, something like why Microsoft and not {*nix|*BSD|BeOS|VMS} is the dominant operating system. I posit that it takes hardly more intellectual prowess to program in Java than in BASIC, but Lisp and Smalltalk are better suited for hardcore geeks.

    The other languages you mentioned each have some glaring flaws:
    • PHP is a haphazardly thrown-together toy language, lacking structure, standards and consistency. It makes some things, mostly Web-related, very easy but doesn't help you not get tangled up in more complicated projects.
    • ASP is not a language, the underlying language is (Visual) BASIC. It runs only on Windows!
    • Python is not a bad language, and from what I hear, Ruby is even better. But it's still (mostly) interpreted and hence too slow for many Enterprise applications. Also, it doesn't have Java's breadth of support. Libraries, utilities, documentation, hype -- Guido/Matz just don't have as deep pockets as Sun.
    • C is a good systems-level language. Because a programmer must micro-manage memory, it and C++ suck as application development languages. The sheer mass of existing C/C++ coding doesn't disprove this; it dates back to a time when programmer productivity wasn't valued as much.


    J2EE is horribly complicated. But because it was backed by Sun, and still much more manageable than CORBA, it was happily accepted by the industry. The standard is improving, the code base is growing -- Java has momentum, and for better or worse it isn't going away anytime soon.
    --
    When one person suffers from a delusion, it is called insanity. When many people suffer from a delusion it is called Rel
  26. JBoss + Hibernate + Spring by cbarcus · · Score: 4, Interesting

    While I didn't find J2EE really compelling for a project I was working on back in 2003, JBoss in combination with both Hibernate and Spring was quite awesome. For those who don't know, Hibernate is a persistence framework for SQL databases; I found it to work very well with PostgreSQL. Spring is an MVC framework meant to make it easier to organize server-side application logic.

    Some nice tools for building Java-based web-applications:

    http://www.hibernate.org/
    http://www.springframework.org/
    http://www.jboss.com/
    http://www.postgresql.org/
    http://ant.apache.org/
    http://www.eclipse.org/

  27. Re:Anyone else gets nauseated... by $1uck · · Score: 1

    wow ok I should actually preview my posts... damn cut and paste... was supposed to start with this quote: "Not everyone should program in Java. Just web developers ;) " //I have no idear how that code got in there I swear I'm not at work.

  28. Re:Anyone else gets nauseated... by $1uck · · Score: 2, Interesting

    Thanks, but no thanks... I've had issues with Visual studio fubarring my box, definitely don't want to play with beta software development tools. Why should software dev tools mess with the OS? Unless they are just as entangled with the kernel as IE? Anyone else has suggestions for C/C++ gui application development on a windows box?

  29. Re:the really essential JBoss book nobody's writte by acroyear · · Score: 1

    that's exactly the process i'm doing, and its tedious as hell and while we're at it, not entirely successful.

    in particular is the hassles that occur when one particular mbean declaration gets moved (or becomes "optional" when before it was required). there are a lot of those to deal with in upgrades that skip release generations.

    --
    "But remember, most lynch mobs aren't this nice." (H.Simpson)
    -- Joe
  30. JOnAS ? by ChristTrekker · · Score: 1

    How many people out there use JOnAS as an alternative to JBoss? I've heard that JBoss now uses Tomcat as a base for the JSP/servlet stuff, just like JOnAS, so it's pretty much an apples-to-apples comparison now.

    How many people are using either of these as compared to more commercialized offerings such as Websphere, WebLogic, JRun, etc?

  31. MOD PARENT DOWN - affiliate link by Anonymous Coward · · Score: 0

    Alright, another kaleidojewel affiliate link. Had to use redirects this time, huh?

  32. kaleidojewel the troll strikes again by Anonymous Coward · · Score: 0
    kaleidojewel is a first class money troll. He spams out his affiliate link once a twice a week. Normally he sets up a /. account and posts but I guess he's getting lazy.

    Fuck you kaleidojewel.

  33. Re:Anyone else gets nauseated... by Decaff · · Score: 2, Interesting

    The only contender in the long run I see currently is Ruby, with their excellent rails framework.

    I would hardly call a framework where the object model has to be defined as database tables, and you then end up locked into a particular database product for the lifetime of your application 'excellent'. Compared to other systems, like Hibernate, where data can be defined as true objects, this is a huge step backwards.

  34. Re:the really essential JBoss book nobody's writte by orb · · Score: 1

    Just say you know, there is no longer "for-buy" documentation. We released all of our documentation for free over a year ago. You can buy a print version of the app server docs, but that is the only form of "pay" documentation we've had for quite some time.

    (disclaimer: JBoss employee and author of the book being reviewed)

  35. JBoss4? by Anonymous Coward · · Score: 1, Informative

    The review mentions XDoclet, which afaict is more or less deprecated by the annotation feature found in Java 1.5 / JBoss4.

    If this book doesn't cover the EJB3.0 stuff, I wouldn't consider picking it up..

  36. Printfu JBoss JBoss Administration and Development by Anonymous Coward · · Score: 0

    Here is a link to get a hard copy of the JBoss Administration and Development manual (150 pages = $8.50) from PrintFu

  37. Re:the really essential JBoss book nobody's writte by orb · · Score: 1

    Spoken like someone who has never used (or priced) JBoss support. On the other hand, people who actually are JBoss support customers
    have a different opinion. (note, that is from people who have used JBoss support AND support from other vendors)

    (disclaimer: JBoss employee and author of the book being reviewed)

  38. Re:Anyone else gets nauseated... by WWWWolf · · Score: 1
    how many languages have real support for creating gui's?

    Surprisingly many. GTK+ website lists, unless I coffeedly counted wrong, 29 supported languages. Can't seem to find the list of languages supported by Tk, but I presume mindboggling number of languages have Tk bindings (not as slick as GTK+, but more cross-platform, for sure). And, a lot of languages have way to mess with C/C++ functions, so you probably could write a wrapper you need yourself...

    is there a way to do a gui in lisp? seems so improbable to me

    Sure there is! Pick any of the dozens of ways! Most are for X11 but some cross-platform ones are there too, like Tk and GTK+ and Qt =)

  39. Exactly by Aphoric · · Score: 1

    Right on, I could not believe the parent response was modded up, but I don't have anymore mod points...

    --
    People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf.
  40. Re:JBoss does the job for us by Anonymous Coward · · Score: 0

    Gee, it really sounds fantastic. Did you notice an increase in the girth of your penis as well, thanks to JBoss ?

  41. Re:Anyone else gets nauseated... by crazyphilman · · Score: 2, Interesting

    Hmm...

    Isn't it nice, though, that you can be a server-side Java programmer during the day at work, and use the same skill set at home to hack together your client-side hobby projects?

    Isn't it nice to be able to focus on a single language and really master it, instead of trying to keep several balls in the air at once?

    Isn't it nice that if you ever wanted to, you could write an applet for your website instead of having to pay five hundred bucks for Flash authoring tools?

    After all, with Java, the difference between web development and client-side development is just the libraries you choose... Isn't it "one stop shopping"?

    Right? ;)

    --
    Farewell! It's been a fine buncha years!
  42. Re:Anyone else gets nauseated... by Anonymous Coward · · Score: 0

    If you think Python apps are slower or worse, that Python is NOT an improvement over Java "language wise", it pretty safe to assume that you have absolutely no clue about Python.

    Since you are clueless, let me explain why...

    Python bytecode may execute slower than Java's but much of performace sensitive code in Python is typically executed through native modules usually written in C. The result is Python apps run faster than Java, take less memory and start faster because Python programmers are not silly about making everything in PURE Python.

    As for as the language, what did you do with Python? Write some "if statements" and decided that it's no different than Java? Python is a dynamically strongly typed language and that is a VAST improvement in productivity, assuming you know how to take advantage of dynamism than just thinking that it is just something so that you don't have to worry about specifing types. If you think classes are cool, you need to look at Python's metaclasses. You can completly change the way classes behave (No! That is not same as inheritance. With metaclasses you reconfigure the very behaviour of the class construct, not just the code in it). And that's just the begining.

  43. Instead Try: Tomcat + Cayenne + Tapestry by CtAhBeAbNoAy · · Score: 2, Interesting

    http://www.objectstyle.org/cayenne/index.html
    http://jakarta.apache.org/tomcat/index.html
    http://jakarta.apache.org/tapestry/

    http://www.eclipse.org/
    http://ant.apache.org/

    Choose any database you want. Tapestry is simply AMAZING!!! Everything is a component. It is like have all of the coolest legos and building sites in not time. Also, if you don't like the block, it is EASY to make custom components. Howard Lewis Ship is a genius.

    Okay, the Java world needs to really wake up and start buying into Cayenne. Get off the Hibernate kick!!! All I see is ways to improve Hibernate and Cayenne already has it all in place. Plus Cayenne and Tapestry were made for each other.

    J2EE was a nice try, but way, WAY too complicated. Both Cayenne and Tapestry are straight-forward and easy to use, IMHO!!!

  44. Re:Anyone else gets nauseated... by bmalia · · Score: 1

    You are right. Very well said.

    --
    There's no place like ~/
  45. Re:the really essential JBoss book nobody's writte by Anonymous Coward · · Score: 0

    Why should I use your companies product instead of suns app server?

  46. You're not complaining about J2EE by Stu+Charlton · · Score: 1

    J2EE consists of Servlets, JSP, JNDI, the new Deployment API, JMS, JCA, JTA, the JAX api's, and EJB. All of the new frameworks like Spring use these core API's to some degree.

    You seem to only be complaining about EJB, and how it's going the CORBA way, which I find tremendously funny because EJB was originally (and still is) a standard runtime model for CORBA objects written in Java, with a difficult object/relational mapping spec bolted on.

    --
    -Stu