Slashdot Mirror


JBoss Founder Interview

peterdaly writes "The JBoss website has an interview with Marc Fleury, the JBoss founder regarding his vision. In case you have been living under a rock, JBoss is an Open Source Java Application Server (J2EE) which has been picking up tons of steam recently, especially with the recent introduction of features like clustering. Competing products from companies like IBM (WebSphere) and BEA (WebLogic) go for tens of thousands of dollars, which is interesting since JBoss is starting to have features the big boys don't. JBoss had 72,000 downloads in October. This is a project to watch."

18 of 223 comments (clear)

  1. To Watch? by md17 · · Score: 4, Interesting

    This is not just a project to watch... When 3.0 is release, all other Java Middleware will be worthless. It is more than a project to watch, but one to support, use, and contribute to.

    1. Re:To Watch? by iapetus · · Score: 4, Informative

      Bingo. IBM's offerings aren't just about the app server - that's actually a very small part of the Websphere family of products. It's the development tools, the extra features, the integration with other IBM back-end systems that make Websphere so attractive, not just the ability to run EJBs. If that's what appeals to you for a particular project, then JBoss can't come close to matching it right now.

      That said, if you just want the basic J2EE functionality, you could do a lot worse than JBoss, for a lot more money.

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    2. Re:To Watch? by Fnkmaster · · Score: 4, Interesting

      I'm not going to disagree on this entirely - if you are willing and able in a shop to go the pure IBM route, then you can get a lot of benefits from that approach. However, you suffer from SERIOUS vendor tie in. Compared more realistically to a product like Weblogic, however, I think JBoss stands up admirably. You can get integration with IDEs and debuggers via add-on modules to JBuilder, etc. It may not be as easy to get and as smooth as the pure IBM approach, but you can maintain some degree of portability and you can keep your costs drastically lower, and still deploy in non-IBM shops. Anyway, just my experiences as the CTO of a company making J2EE-based apps that we sell to others - we can't afford to be an IBM shop in every sense of that word.

  2. Jakarta Plug & My AppServer Experiences by FortKnox · · Score: 5, Insightful

    ...JBoss article.... must... plug... Jakarta Project.
    Jakarta contains whole bunches of open source tools that work great for Java Projects (I'm using struts and ant on my current project).
    They all work extremely well (and simple to install) with JBoss.

    I don't know the level of people using JBoss, though. The top two app servers are WebSphere and Weblogic. They take 50% of the market. The next is iPlanet (netscape), then I think its JBoss. So, even though its the cheapest (free), doesn't mean its got the market.
    It'll be tough to crack WebSphere & WebLogic.
    What JBoss needs is a certification (with levels) for developers to obtain.
    If I go to a client and say "I have a level 3 WebLogic certification, a level 2 WebSphere certification, and know JBoss", what are they gonna pick?

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    1. Re:Jakarta Plug & My AppServer Experiences by trilucid · · Score: 5, Interesting

      "What JBoss needs is a certification (with levels) for developers to obtain. If I go to a client and say "I have a level 3 WebLogic certification, a level 2 WebSphere certification, and know JBoss", what are they gonna pick?"

      Hmm... makes one think, eh? As a developer, I've seen a lot of "certification wars" in the corporate contracting world. Here's my take.

      The problem with "level-ified" certifications kinda resembles the "megahertz myth [to quote Apple]" issue. If you're assuming the client is a techno-yokel, you run into this problem with such cert programs.

      Imagine, for example, two imaginary Linux certification programs. The first program (call it "EZLinux") sets out their certification map as follows:

      • Level 1: Ability to use rm, ls, cp, and mv commands.
      • Level 2: Understanding how to use RPM and DEB packages to update and modify a system.
      • Level 3: Ability to use fdisk to create and manipulate partitions.
      • Level 4: Actually got Mandrake running with help from the friendly neighbor kidz.
      Okay, so that's an example of a *terribly* useless "certification" program that wouldn't be worth the paper the cert was printed on. Let's look at the other ficticious program, called "UR-Uber-H4x0r Linux":

      • Level 1: Ability to quote verbatim the man pages for all Mandrake 8 standard linux commands (doesn't necessarily require deep understanding, just inhuman memory).
      • Level 2: In-depth knowledge of kernel configuration and compilation, demonstrated by ability to correctly by hand [no Xconfig for you, for added flavor] compile a 2.4.x kernel for every known supported platform in existence.
      • Level 3: Linux Torvalds willingly calls you Daddy, and calls you up for kernel hacking advice. Alan Cox routinely shows up at your pad asking for tree contributions.
      Now, if you were Joe Hiring Manager, you might not actually know the difference between the two programs. Joe might look at them both, and say "wow, that first one has an extra level, so it's gotta be better!" ...

      Companies will always try to use these tactics to make their products/programs/certs seem better than the others out there. Now, here's the real kicker: if Joe Hiring Manager actually understands why a certain cert is better than the others, he also (in all probability) understands why the product the cert is for is better. Hence, the better product wins. The key is education.

      Just my take, that's all :).

      Web hosting by geeks, for geeks. Starting at $4 USD per month.
      If you're gonna email, use the public key!
  3. What about running in production? by Gollo · · Score: 5, Insightful

    Let's face it - JBoss appeals to us Slashdotters because

    (a) It's open source
    (b) It has a whole heap of fantastic development features.

    What I didn't see an emphasis on is running on a daily basis in production. Sure, I think that JBoss is fantastic for development, and most of the leading edge features are great for developers, but what about running a mission critical production system? What benefits does it provide in that arena, given that if I have Weblogic or WebSphere, and it breaks on my 24x7 website, I can scream at the respective vendors?

    Develop with JBoss, deploy with WebSphere/Weblogic. Anyone enlighten me to benefits of JBOSS in production over a commercial offering?

    Gollo.

    1. Re:What about running in production? by DarylBeattie · · Score: 5, Informative

      Ah, I think, since you are unsure of the facts surrounding the reliability of different appservers (as am I), that you are really more concerned with "who to scream at" should your appserver go down.

      One of the great fallacies of application hosting is that if there is somebody to scream at, you are somehow less responsible to your clients for the production screw-up than you would be if there was nobody but open-source developers to be frustrated with. [Yelling at open-source developers seldom helps your cause, no matter what it is.] Let's face it, your clients aren't going to care if you are blaming a commercial entity for the screw-up; it makes you look bad.

      What you should be concerned with are:

      1) Reliability - JBoss is more reliable than all other AppServers in use right now, and introduces cost savings because it is easier to use, and less buggy!

      2) Support (NOT "blame") - I have used purchased appservers (well, admittedly "appserver"), and JBoss, and let me tell you; the JBoss group helped me quickly and easily with any problems I have had, wherewas the commercial product I was using was IMPOSSIBLE to get support for, even though my employers had paid big $$$ for it. [The same actually goes for all open source projects I have used.]

      Daryl.

  4. Re:What exactly is a Java application server? by iapetus · · Score: 5, Informative

    Not strictly right, AIUI.

    The Websphere application family is built up on several layers (described by IBM as the e-business application framework). The Foundation layer contains those tools that provide the fundamental low-level functionality of the system, and this basically comprises WAS and MQ Series.

    On top of this you've got the Foundation Extension layer: tools for optimising the performance of the Foundation tools, and for development and deployment. Here you've got tools like VisualAge for Java, the personalization suite for Websphere, and Edge Server (used to be called the performance pack, IIRC, but clearly that didn't sound cool enough...)

    Finally, over the top of this you have the Application Accelerator layer, consisting of tools for building particular types of application. That's where Commerce Suite lives, along with tools like the Websphere B2B Integrator.

    JBoss itself corresponds to just part of the Websphere Application Server - it's really just an EJB server rather than a full J2EE server. However, combined with Tomcat (and you can download the two as a nicely integrated bundle from the JBoss site) you end up with something comparable in many ways with Websphere Application Server (advanced edition). In some ways it's better, in others it's worse. It's certainly more up-to-date - Websphere is (as with most IBM Java systems) a couple of versions behind the bleeding edge. That gives it the benefit of stability and reliability, but it gives JBoss the advantage in enhanced functionality (such as support for CMP2.0).

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  5. Re:What exactly is a Java application server? by igbrown · · Score: 5, Informative

    A more accurate description is a platform that handles "back-end" functions for distributed or networked applications. This might include accessing databases or performing calculations or functions in a centralized location. It is not limited to web-based applications, though this is a primary use for application servers. The generic model is for various clients (browsers, standalone applications, or some type of service) calling functions that are executed by the application server. Often, information is then passed back to the client. The domain associated with application servers is the execution of "business logic". Servlets are often part of an application server platforms but application servers are not limited to serving up dynamic web content.

  6. Open Source J2EE Stack by adamy · · Score: 5, Informative

    At my office we use JBoss as part of an entirely Open Source and free platform stack:

    OS: Linux
    Web Server: Apache
    Servlet engine: Tomcat
    EJB Container: JBoss
    DB: PostgresQL

    And a great set of middle level libraries such as Struts for form processing, a slew of other jakarta classes, tinySQL fro xBase integration, JUnit, and HttpUnit.

    I came from a company that did oracle/ATG integrations. I can honsetly say as a developer, I have everything I need that I used on thos platforms.Plust I like that fact that it is a little closer to the J2EE standard than ATG.

    --
    Open Source Identity Management: FreeIPA.org
  7. Java Application Server by peterdaly · · Score: 4, Informative

    A java apllication server is a software package that runs the logic of many high end java applications. An application server is where most of the hard work of an application is done. On top of application servers, you may see things like Java Applets, Java Applications, or JSP/Servet containers (ala Tomcat) which act as the interface between the application and the user.

    Usually on a Java Application Server, programs are design as small server side components, which perform independently of each other. By typing the components together, useful applications are born. For instance in e-commerce, a JSP interface may recieve a credit card purchase. It will run your credit card through a credit card component on the JAS, ask a warehouse component to mark the order for picking, notify the shipping component a package will be coming and where to ship the order number to, notify marketing a sale has been made, and tell the purchasing module to order parts which will be needed to replace the unit in inventory.

    All of these are seperate components which can be used in many different applications. By creating a system like this, business login never has to exist in more than one place, which reduces programming time, stabibility, and makes the system as a whole more flexible.

    Hope that made sense.

    -Pete

  8. My JBoss experiences by pHalec · · Score: 4, Interesting

    I've been using JBoss for a little over a year, and my experience has been very good. It's fast, reliable, and seems to keep quite up-to-date with developing standards.

    This kind of project is exactly what the free software world needs - usable, cutting-edge, and easily comparable with competing proprietary products.

    This project has cemented my opinion on Java on Linux as a server platform, and when combined with PostgreSQL, it forms a complete and surprisingly robust setup.

    I wish the JBoss team the best of luck and fully intend to keep using and recommending their software.

  9. Not whoring but... by Fnkmaster · · Score: 5, Informative
    First, it seems like a lot of posters don't know what an "Application Server" in Java parlance is. JBoss and the other mentioned products in the post are really implementations of the J2EE or Java 2 Enterprise Edition API set, as specified by Sun. This is not in any way opposed to J2SE (Standard Edition), which is the baseline Java SDK (VM + API library), but is an addition to that - it includes the EJB (Enterprise Java Bean) API for writing transactionally aware business logic components and connecting them to persistent data sources (usually RDBMSen of various sorts). I'm mixed on EJB, having built several large systems with it - it's just too damned easy to make applications that suck with EJB if you don't know how to use it. The CORBA CCM spec seems a bit better, with some kinds of components that I consider very useful that EJB doesn't support. Oh well. J2EE also envelops JNDI, a very useful and underutilized naming and directory API that solves lots of VERY common problems in building enterprise apps (the old chicken-and-egg resource location/distributed configuration problem can be solved very easily with JNDI though few people correctly use it). JMS is a decent enterprise messaging API, essentially an API for reliable asynchronous communication between distributed components either within or between enterprises that abstracts the details of writing socket level communications, then worrying about bridging firewalls etc. from the application developer. But it has some serious flaws in the way it forces you to do things. Nevertheless people have addressed these in not-fully-compliant add-ons to the spec to make it more like successful, established products such as TIB Rendezvous. (there are other parts of the J2EE spec, like JMX and the Servlet API, and probably a few others I'm forgetting right now).


    Now that J2EE has been briefly explained, and I've stated my position (useful services, with some warts and all, designed to the lowest common denominator, and unfortunately sometimes too easy to build systems that really perform like slugs) I will give JBoss some props for really driving forward the implementations of the standard in several ways. Adoption of JMX is great, JMX is very useful for building custom manageable components that don't fit into the standard J2EE framework (i.e. they need to be stateful and not session coupled so they can't be implemented as reasonably performing, compliant EJBs). Also JBoss provided the first reasonably performing EJB implementation I have seen. Far faster than most of the commercial implementations when it came out for the common case scenarios (the commercial implementations may have improved since, I don't really know). My company moved to JBoss from Weblogic as we discovered we couldn't afford enough Weblogic licenses for every developer to have his own test box. And that the nature of our system makes it really hard to test otherwise (note: this is partially the fault of our system's architectural stupidities, but let's put that aside for the moment). We have generally had great luck with JBoss, and found the JBoss community to be very, very helpful with problems when they sprung up (compared to Weblogic 5.1 where I got some very frustrated engineers on my team stuck with the job of calling Weblogic support bitching at them about weird problems with spontaneous breaking of the EJB standard - anyone who used it knows that SP6, SP7 and SP8 were all released in short succession around the time I'm speaking of).


    The moral of all this is that the JBoss team has done a fabulous job at providing a great, useful product that has saved my company thousands of dollars and many hundreds of man-hours of developer time. While the J2EE spec is, err, deficient in certain ways, for a lot of enterprise software projects it's good enough for the task at hand. And JBoss, with full clustering support coming up now, should be good enough for most if not all of these jobs. If you need a real distributed application with high volume transaction processing, you might need to look at other kinds of systems that give you more access to lower level capabilities (think: Weblogic Enterprise, Tuxedo, etc.). Or roll your own. :)

  10. Another server by Xunker · · Score: 5, Informative

    Another server that is used in the Java arena is the Orion Server. It's very nice and I enjoy working with it on a daily basis, but it's not Open Source which a lot of people consider to be a downside. It's free for development platform and non-profits, but for production it's $1500 USD per host. Cheaper than BEA, but But a lot more expensive than Jboss or TomCat (the Apache JAS).

    --
    Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
  11. Re:Performance? by Fnkmaster · · Score: 4, Informative
    I believe what you are referring to is Servlet performance. If you are using an embedded servlet engine in production for a high volume site and servlet processing seems to be partially responsible for the performance problems, then I would recommend using embedded Jetty rather than Tomcat (I see in Rickard's post that he can't, but that's his problem, and not a usual one).


    Honestly, most of the J2EE apps I've seen, Servlet performance is a MINISCULE problem compared to much, much larger application architecture issues. You can always add more servlet engines on separate boxes, of course, then the RMI invocations are going to be slow. You did pay attention to using _coarse_ grained components, didn't you? Anyway, this is just my opinion.


    In any case, you can't blame the JBoss team for this - you can pretty much embed any servlet engine you want into JBoss - Tomcat and Jetty are pre-done for you, and if some enterprising hackers want to find a better solution and embed that, it isn't that hard to do.

  12. Real Use by peterdaly · · Score: 4, Informative

    from their web page:
    JBOSS SUCCESS STORY OF THE MONTH! NEW

    "Just through you'd like to know that the United States Department of Labor's Office of the Chief Financial Officer uses JBoss to process about $3.0M worth of financial transactions yearly in one application alone. There are several other legacy applications scheduled for migration. By using JBoss, we've saved the taxpayers about $100,000 in BEA Weblogic licensing fee and about $10,000 in annual support fees".
    Michael R. Maraya, OCFO/OFD/DFAD

  13. Re:Server-side Diversity? by Space+cowboy · · Score: 5, Interesting

    Mixed platforms on the server side are the norm rather than the exception, in the market where JBoss is trying to position itself.

    Consider that JBoss is (will be, in some respects) a J2EE-compliant system, in everything except name. The purpose of J2EE is to deploy in large-scale environments... where you potentially have PC/W2K, Solaris, IBM S390, and God knows what else already providing a business solution.

    You will not get a contract to replace the business systems from top to bottom, so take the view that you'll integrate into them instead. Now you're talking multi-tier Facades and Interfaces in order to get these things talking to each other.

    You'll want to design things so that there is as little interdependence on co-operating subsystems as possible. Read 'Design Patterns'. Have a serious *think* about XML. Look at the Java libraries and the J2EE designs. Understand.

    Have you ever noticed that it "just seems easier" to do things in Java than C/C++/VB(spit!) when there's any degree of complexity ? (I'm not talking about a couple of days' hacking, I'm talking about a designed system). There's a good reason why Java works so well - it's been designed well from the bottom up.

    J2EE (and hence JBoss) take that elegance to a higher level of abstraction, but what they're doing is to continue the excellent design principles of the class libraries.

    A happy JBoss user.

    Simon.

    --
    Physicists get Hadrons!
  14. Question about clustering by RelliK · · Score: 4, Interesting

    I hope somebody can answer this. I am wondering how the application-level clustering (i.e. what JBoss, Weblogic, et al have) compares to the IP-level clustering (i.e. something like the Linux virtual server, or the embedded hardware equivalent from Cisco et al). There would be less overhead at the IP level, so, it seems the load balancing would be more efficient. Also, by doing load balancing at this level you can cluster just about any application -- be it a web/ftp/file or, as in this case, application server. What's the advantage of having clustering built in to the app server? How about Apache mod_backhand?

    --
    ___
    If you think big enough, you'll never have to do it.