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

88 of 223 comments (clear)

  1. What exactly is a Java application server? by svara · · Score: 2, Funny

    I'm not really following JAVA as I'm more interested in "traditional" programming languages - but this sounds interesting? What's a Java application server? And it has clustering? So it's some kind of physical server computer running Java apps?

    1. Re:What exactly is a Java application server? by spackled42 · · Score: 2, Informative

      A Java application server is a platform written primarily in Java that serves web content through Servlets. For example, IBM has WebSphere Application Server (WAS) that is the core to most of their web products. It is a servlet manager with a DB API all combined with a modified version of Apache. You can develop with this directly, or you can purchase the next step up of IBM Websphere Commerce Suite which has tools and a DB schema for web (especially e-commerce) development.

      An app server is not a physical computer, merely a server package akin to a web server or ftp server. The clustering capabilities refer to the capability to share the load across several machines and having been programmed with parallel computing in mind.

      --Dave

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

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

      IBM has WebSphere Application Server (WAS) that is the core to most of their web products. It is a servlet manager with a DB API all combined with a modified version of Apache

      Just a small correction: even though WAS provides its own version of apache, it also provides a plug-in to be used with the original apache

      Most of the servlet engines out there (like Tomcat, JRun and WebSphere) offer the option to integrate with an external web server, mainly because they don't perform as well as the "regular" web servers on static pages.

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

      I believe it's actually the same plugin for the IBM HTTP Server and Apache - the differences between them don't affect the interaction with WAS. There are also plug-ins for a range of other servers, including IIS, Netscape Enterprise Server, Domino, and Domino Go Webserver.

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

      JBoss is definitely not just an EJB server. It provides a JMX managed component framework with components that wrap around the various services that comprise a J2EE app. It provides JNDI, JMS, EJB 2.0, JMX, etc. I uses third party implementations of the Servlet/JSP subsystem which is appropriate, there's really no need to have anything more tightly integrated than that. JBoss also has a JCA implementation, obviously a JTA/JTS implementation, JAAS implementation, and is SOAP capable. So I think it is pretty complete. :)

    7. Re:What exactly is a Java application server? by iapetus · · Score: 2

      True - I was oversimplifying horribly there. :) Just trying to separate the functionality in JBoss proper (EJB, but also, as you point out, JNDI, JMS, and other related services) from the Servlet/JSP functionality provided by external apps (Jetty/Tomcat) which are required for a full J2EE solution.

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
  2. Ohh my Hemos.. by Count · · Score: 2, Funny

    "..picking up steam"

    ..Yeah It is also a real boost for the Open Source movemnet. This project has been brewing and is sure to mug the competition.

    heheh

    1. Re:Ohh my Hemos.. by British · · Score: 2

      Don't look at me. Apparently I have been living under a rock for not knowing this java dude's name.

  3. Tomcat by RazzleFrog · · Score: 3, Interesting

    How does this compare with Apache's Tomcat (Jakarta) project?

    1. Re:Tomcat by Zach+Garner · · Score: 3, Informative

      Tomcat is only a basic application server (if it can be considered one at all) and does not support J2EE.

    2. Re:Tomcat by felipeal · · Score: 2, Informative

      He doesn't compete with Tomcat, it actually even uses it.

      Tomcat is not a J2EE application server, it's basically a jsp/servlet engine.

      An appserver has many more features, like JNDI, transaction, connection pooling, EJB, etc...

    3. Re:Tomcat by snoopdave · · Score: 2, Insightful

      Actually, Tomcat is a J2EE compliant "Web Container" so it must support Servlets and JSP, but it does not have to support EJB, JNDI, JMS, etc. etc.

    4. Re:Tomcat by GrayArea · · Score: 2, Informative

      Actually, Tomcat 4.0 has its own JNDI provider, so it does support looking up resources (JDBC datasources, etc.) in a standard way. It is also possible to extend its JNDI provider to support your custom resources, they have an example where you can register an arbitrary Java Bean in your web app, and then look it up from a servlet.

      --
      "The deluded are always filled with absolutes. The rest of us have to live with ambiguity." - Aristoi, Walter Jon Willia
    5. Re:Tomcat by MSBob · · Score: 2

      Cool. So once you've built your first web application and discovered the headaches of implementing your own persistence, transactions, messaging etc. you'll be able to understand the value JBoss brings to the table :).

      --
      Your pizza just the way you ought to have it.
  4. 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.

    3. Re:To Watch? by iapetus · · Score: 2

      And you wouldn't want to be an IBM shop in that sort of situation: firstly you've got to be able to sell to people who don't have a 100% IBM infrastructure, and secondly it's not always the right tool for the job. I'm just saying that there are extra features available with the commercial tools and that JBoss isn't currently a complete replacement for them. It's concentrating on its core functionality, and as far as I'm concerned (from a selfish point of view) that's great - it fits perfectly with what I want to use it for.

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

      The real benefits of the pure IBM solution are going to be in one (well two) main area: financial and insurance companies using IBM big iron.

      That's what my company has. While normally I would have fought for JBoss/Tomcat for our Ebusiness the Websphere application setup just adds too many useful things to integrate into our legacy systems. One thing is the ability to roll IMS transactions into a bundle with DB2 and Oracle transactions as a single supertransaction. To understand how powerful this is, if IMS transaction two requires transaction one to commit before running and Oracle transaction A requires IMS one/two to commit running you can still run all three and then rollback ALL of them when the last one fails (if you're wondering why they weren't written that way, remember these were written for step by step 3270 usage, not one webform). That alone makes paying for Websphere worthwhile for IBM big iron shops.

      Those who use a server network and RDMS for the majority of their processing, though, are better off with JBoss (usually).

      --
      Herb
      Again, feel free to sentence me to death if my questions annoy you. I'll come back in 5 minutes anyway. -Sythi
  5. The Apache of Java servers? by imrdkl · · Score: 3, Interesting
    This sounds pretty nice. We've already sold our souls to BEA, but having used Resin and Tomcat for production deployment before BEA, we are not afraid to try something new. BEA is still not doing for us what we expected, especially in it's loadbalancing and proxying capabilities. The Apache integration for BEA requires a new vhost for every single cluster, and the "load balancing" is simple round-robin. It sounds like this JBoss has that beat already.

    An apache integration is important for us, however, since apache is our frontline proxy. Anyone know if JBoss has an apache module yet?

    1. Re:The Apache of Java servers? by aim4min · · Score: 2, Informative

      Quick answer to your question -- JBoss runs within an APP server. So you run JBoss within Resin or Tomcat. You don't need anything to connect JBoss with your Webserver.

    2. Re:The Apache of Java servers? by peterdaly · · Score: 3, Informative

      JBoss has a version which include a version of Tomcat, which runs inside the same JVM as the app server, which improves the performance greatly in many cases. That means no network connection, even locally, for RMI calls. Tomcat itself (Jakarta really), Apache's JSP/Servlet container, even as a seperate product integrates very well into Apache since they are made to work together.

      Don't know if that answers your question or not.

      -Pete

    3. Re:The Apache of Java servers? by Brummund · · Score: 2, Informative

      Yes, JBoss integrates with both Jetty and Tomcat.
      Jetty is full-fledged http server, and Tomcat has an Apache module.

      You can download JBoss/[Tomcat|Jetty] bundles, and lo and behold, they run "out of the box" on both Linux and Windows.

      JBoss is extremely convenient for development since it doesn't require any special compilers, converters or whatever BEA call their ejbc-tools; just jar it up, drop it in the 'jboss/deploy' directory and watch the log file.

      With the new versions of Ant supporting ear and war in addition to ordinary jars, the build.xml (ie. the Makefile) for for a JBoss project is dead easy to write.

      Several IDEs are now supporting JBoss as well, providing support for those "corporate developers" stuck in "tool hell" :)

      (I use Emacs and Ant and would only swap those for a very fat paycheck :)

  6. Performance? by betis70 · · Score: 3, Interesting

    I have heard a number of negative things about JBoss's performance under heavy loads. Anyone with experience using it care to comment? It seems like the clustering would really help such situations, and I am excited to see it advancing as well as it is. ..

    --
    I forget...are we at war with Eurasia or East Asia?
    1. 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.

    2. Re:Performance? by waveclaw · · Score: 3, Informative
      During a two semester introductory course in software engineering I participated in a group that refractored a J2EE application (improved underlying code yet left it bug-for-bug compatible) and then completely reimplementation another J2EE application concept. Throughout both experiences, the rich support of architectures and patterns, on which JBoss (and Tomcat) are designed, made the projects simpler and more effective at achieving the goals of writing maintainable code.

      More importantly for this point-of-view is these (like many other programming techniques) allowed the group to implement solutions with widely varying performance: from slow but explicit code to hand-tooled solutions that utilize aspects of the problem domain. While it is a common conception that systems with as rich a feature set as JBoss are performance hogs, it should be noted that most enterprise scale systems don't have very attractive small-scale performance (some Oracle DBs can have a +1GB footprint before any user data or DBs are added which ain't exactly embedded.) JBoss is both small and fast enough to run from student/school-lab quality development systems (real budget machines IHMO) but has sufficient performance to match wits with a full-blown ecommerce application. I helped implement a complete on-line store (liquor store, that is) that held under our test loads (page view/transactions per sec) without relying on clustering.

      The onjava.com article does bring up a valid point: like many complex software packages (tcsh, ant, Java) does have a complex environment to setup and maintain. A large part of this however (much like with tcshrc config files) it is a matter of how much you want to custom tailor YOUR system. Much like makefiles and easy builds, a little bit o' work goes a long way (I've seen a factor of ten improvement with some cases.) I think though you will find the best improvement in performance not from hoping between J2EE systems but from good ol' fashion Data Structures and Algorithm Analysis appropriate to you application.

      Happy coding.

      --

      "You cannot have a General Will unless you have shared experiences. You cannot be fair to people you don't know."
  7. 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 Kerg · · Score: 2
      Do notice though, that many of the "analysts" measure the market by direct license revenue

      Independent research by Gartner Dataquest shows that BEA holds 41% of the new direct license revenue in the application server software market in 2000, a figure that is 10 share points higher than its closest competitor.

      The Gartner market analysis revealed the following market share results: BEA - 41% IBM - 31% iPlanet - 13% Oracle - 4% HP Bluestone - 4%

      JBoss does not show up here because the server code itself does not generate any revenues.
    2. Re:Jakarta Plug & My AppServer Experiences by Kingpin · · Score: 2, Informative


      Why would a client pick you to deliver an application because of your sysadm skills for application server Random vX.Y? If you make your application correctly (possibly with a few work arounds), your application should deploy equally well on all three.

      Weblogic and Websphere have one thing that JBoss will never get directly - a corporation that backs the product and promptly deals with support. And that is what you pay for.

      --
      Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
      Geocrawler error message.
    3. 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!
    4. Re:Jakarta Plug & My AppServer Experiences by lqd · · Score: 2

      Weblogic and Websphere have one thing that JBoss will never get directly - a corporation that backs the product and promptly deals with support. And what is what you pay for.

      um, i've had the "pleasure" to deal with IBM WebSphere support in Europe. The guy on the phone said: you'll get the answer within 4 working days, we have to contact the guys in the US for this particular problem. i solved it 2 hours later by myself ... and it wasn't a problem with the support contract, I called with our customers support number and he has about 60 AS/400 boxen and various AIX machines sprinkled in between.

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

    2. Re:What about running in production? by jeet_means_win · · Score: 2, Informative

      I think if you have a mission critical application then it is not right time to move to JBoss straight away, You should wait for 3.5 or 4 to be released. What Jboss really needs is backing from Big gaint like IBM etc.. this is what Marc, JBoss Founder/President, is trying to do create awareness, gain popularity. Once that is done application server market will be like HTTP server market... Who pays for Http server nowadays???

    3. Re:What about running in production? by StandardDeviant · · Score: 2

      I seriously doubt that, unless IBM is astoundingly stupid, that they will advocate JBoss unless and until WebSphere (you know, that thing their banner ads on slashdot are always talking about, their $$$$$$$$$ java thingie) is not being sold anymore. IBM doesn't make any bucks off of AIX really (compared to the bucks they make on the hw anyway; c.f. solaris and sun), so they have no problems "replacing" it with Linux. Now, I can very much see Sun doing this, as they already support Tomcat as the official reference implementation of Servlet API foo and JSP API bar, and further they don't sell a java app server product that I'm aware of (if they do have one they're not exactly trumpeting it). [If sun started pushing JBoss with Tomcat, I imagine it wouldn't be much of a leap to advocate PostgreSQL as part of that solution. Yes, I am a hopelessly rabid Pg fan. ;-)]

      IBM is a hardware and consulting company with occasional delusions of being a sw company, so sometimes they will have incentives to push open source and sometimes they will not (e.g. notice that they don't support any open source database projects, hmmm, db2?). Sun OTOH is much more of a pure-play hw company (which is why their stock is pretty hammered right now IMHO), so they have a greater incentive to push open source software.

  9. Evangelist? Say it ain't so! by tswinzig · · Score: 3, Funny

    was working at SUN on Java since the early days, mostly as an evangelist in the beginning.

    After reading his responses, you can really tell he had a job as an evangelist. For you Quake/id fans out there, it's like Paul Steed started coding in Java!

    --

    "And like that ... he's gone."
  10. hmmmm by Anonymous Coward · · Score: 2, Funny

    Damn.

    I guess I must live under a rock. I thought JBoss was some "urban" clothing conglomerate, formed when J. Crew and Hugo Boss merged to oust Tommy in the Phat Ghetto Style Stankfinga razmadaza hootchie combo platta market.

    Y'knowumsay'n? Yomesain?

  11. 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
    1. Re:Open Source J2EE Stack by MSBob · · Score: 2
      Wow. Where do I apply :). In fairnass though it's nice to see that OSS stuff is already reaching the point where you can put together a very decent enterprise app purely out of OSS components. I betcha the performance is ten times better than if you went with a hog like WebSphere.

      Good Stuff.

      --
      Your pizza just the way you ought to have it.
  12. 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

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

  14. 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. :)

  15. 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.
    1. Re:Another server by Fnkmaster · · Score: 2

      Orion is a fabulous product - its weakness used to be terrible documentation (the last time I did a thorough J2EE server overview). I mean, really weak. I couldn't figure out how to do even relatively basic stuff - a lot of their documentation appeared to be written by non-native english speakers. Some of this applies to JBoss too, but JBoss has enough documentation to get you "close enough" for most things you need to do, and when that isn't enough it's got a great community, user forums, old mailing list archives, etc. which have proven very useful to me for cases where the obvious stuff didn't work and the documentation was poor or out of date.

    2. Re:Another server by nettdata · · Score: 2

      It should be noted that the Orion Server has been licensed by Oracle as the main J2EE component of their 9i Application Server, and does a great job in both performance and fault-tolerance.

      --



      $0.02 (CDN)
  16. # downloads mean little by jeffy124 · · Score: 2

    The number of downloads means little here. I bet that many of those downloads were people looking to evaluate the various J2EE app servers. I know from experience that the vendors like BEA and Oracle do make free trial licenses available for people in the process of picking their app server.

    The interview points to a survey among the sales of various J2EE app servers, and correctly points out that JBoss has no sales to contribute, making the survey be the data among commercial app servers.

    clearly the best way to find the JBoss market share is to survey those who use J2EE, not just the companies that make them.

    --
    The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
    1. Re:# downloads mean little by Delirium+Tremens · · Score: 2
      The number of downloads means little here.

      Dude, you are out of your element here. 70,000 downloads per month means little? Or you mean, this is happening because there is one single dialup user who keeps retrying the download because his 56k modem has a baud fart? Yeah... right.

    2. Re:# downloads mean little by Delirium+Tremens · · Score: 2

      You should actually recommend the one from Borland. It has the best CMP, IIOP and security support I have seen so far.

  17. Subset of JBoss capabilities... by sterno · · Score: 2

    Actually JBOSS includes Tomcat within it's framework for serving up Java Servlets, JSP's, etc. Tomcat is purely a server for Web Applications where as JBOSS does EJB's, and a whole slew of other things.

    --
    This sig has been temporarily disconnected or is no longer in service
  18. 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

  19. Re:Java - the perverse language by jeffy124 · · Score: 3, Informative

    difference between JDk and SDK: Prior to Java 1.1 (inclusive) the developer kits were called "Java Developer Kit" (or JDK). From Java 1.2 on, it's been called the "Software Development Kit."

    The SDK contains what you need to compile and run programs. The JRE (Java RunTime Environment) is just the run part of the SDK. The JRE comes with the JDK.

    The concept of having source files match the class name within is required for classes that are 'public.' It's also good development practice to do it that way.

    As for the download problem - check your browser settings. You might need javascript/cookies or something.

    Dont worry too much about the over-acronyming and over-buzzwording of all the Java stuff out there. It's nearly impossible to keep it all straight. (for example, I dont bother with about 95% of the java stuff out there) But to learn what you need just takes the usual: practice and experience.

    --
    The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
  20. 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!
  21. Re:Java - the perverse language by iapetus · · Score: 2

    I disagree with you on virtually every front here: Java is far from perverse, and a lot of things you're criticising it for make sense if you think about them. Let's take it one point at a time:

    Do I need the JRE and the JDK?

    No. The JRE (Java Runtime Environment) is for running Java applications only. The JSDK (Java Software Developers Kit), also known as the JDK or occasionally by the more generic term SDK, provides the same functionality but also the ability to compile Java code.

    And let's not even start on variable names like "The_Longest_Yet_Least_Descriptive_Method_Name_I n_The_World."

    Let's not, unless we can give examples. Most Java variable names in Sun's own code are fairly self explanatory once you know the basic structure they're working in.

    And don't dare drop the capital "t" in "the" in your call, or you'll get an error message in Sanskrit pointing to nine lines before your call. Oh, and you know what else is a great idea? Make everything sensitive to the freaking filenames of the source files.

    Actually, in that case the compilation error would be on the line where the error occurred, as with most error reporting in Java programs.

    As for case sensitivity, it's pretty much required for a platform-independent system that's going to be running on Unix-like systems.

    (If you want to be really frightened, be aware that Java source code is actually UTF rather than ASCII, so you could create a file where all variables are called 'bob', just in different character sets...)

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  22. You missed a layer by sab39 · · Score: 3, Insightful

    You missed the most important layer, and I'm betting that that's because that layer actually isn't open source.

    Are you running this on Kaffe? gcj? ORP? Kissme?

    Didn't think so. (If you actually are, I'm dead impressed - please let me know how you managed it)

    You're using Sun's J2SDK. Which isn't open source.

    I'll be very happy when it really is possible to put together an open source J2EE stack. But that day isn't today, because the VM/classlib layer has no open source alternative that's up to running these enterprise-level apps.

  23. Socialist Marginal Characters by JamesOfTheDesert · · Score: 3
    I'm all for people feeling good about their work, but Mr. Fleury is a bit bombastic abut his product. Makes it kind of hard to really believe what he's saying (and oddly similar to MSFT sales pitches).

    If he really is planning on something called JBoss.net, I think he'll find that 1) people expect it to run MSFT .net code, and 2) MSFT will expres an unpleasant interest.

    And just what are "socialist marginal characters"? Are they for or against "WebOS" monopolies?

    And why is SUN in all caps? Is that to remind people that it was started from publicly-funded research (Stanford University Network )?

    --

    Java is the blue pill
    Choose the red pill
  24. Re:Java - the perverse language by pete-classic · · Score: 2

    Well, I expected to be modded down, but I am sincere, so I guess it depends on what, exactly, you mean by trolling. I do "hardly know Java" but hardly for lack of trying.

    As to "swallow[ing] the whole thing at once." I did, in fact, expect to be able to get to "hello world" within the first day or two. Since I had gotten at least this far with several other languages I didn't think that this was unreasonable.

    I am consciously biased against Java, but I am pretty sure that I'm not so sick that I burned hours of my life to prove to myself that I don't like it. I was trying to learn it for my own amusement, and would still like to.

    Bruce's site (with the flash intro with the background that almost matches the background of the rest of the site) has, sadly, made my mental state worse. I hope that you, AC, aren't Bruce. (I suspect you aren't, since you can't spell subconsciously :-P )

    [time passes . . .]

    I'm back from the site, and I have to say that Bruce kicks ass. I downloaded the Java book (and the C++ books) and am looking forward to curling up with my laptop and checking them out.

    -Peter

  25. We're switching to JBoss by under_score · · Score: 3, Interesting

    This isn't a big deal, but I've been very wary of J2EE app servers. I've been working with server-side Java for about 4 years now, and previously with EOF (Nextstep/Webobjects). EJB is incredibly broken compared to EOF/WebObjects. But my online educational system Oomind is running on Tomcat right now, and needs a more complete platform. So we are moving. And after some careful analysis and real world experience, we're choosing JBoss. Frankly, it being open-source is a very significant factor. Kudos to JBoss and its developers!

  26. Re:Java - the perverse language by pete-classic · · Score: 2
    No. The JRE (Java Runtime Environment) is for running Java applications only. The JSDK (Java Software Developers Kit), also known as the JDK or occasionally by the more generic term SDK, provides the same functionality but also the ability to compile Java code.

    I understand this, now. But (at the time) there was no good way to figure this out form Sun's Java site. Now there are actually some pretty good walk-throughs.

    Let's not, unless we can give examples.

    Well, I don't have any Java code handy, but the stuff my wife has had to use for her Java classes (as in school) has been pretty bad. Weird capitalization, way to long without being particularly descriptive, etc.

    I think we can at least agree that typical method and variable names in typical Java programs are longer (and therefore more subject to typos) than most programs. It is my opinion that in the general case there is little (if any) useful information embedded in this baggage.

    Actually, here is an example from "The Practice of Programming" (Kernighan & Pike):


    ? class UserQueue {
    ? int noOfItemsInQ, frontOfTheQueue, queue Capacity;
    ? public int noOfUsersInQueue() {...}
    ? }

    [comments on style]

    class UserQueue {
    int nitems, front, capacity;
    public int nusers() {...}
    }

    since it leads to statments like

    queue.capicty++;
    n = queue.nusers();

    No clarity is lost.


    This quote looks pretty bad. I have the trade paperback version, and this appears on page 4.

    Anyway, to my eye, the first looks distincly "Javaish" whereas the second looks like C++. I'm not sure, but I think that this code is valid in either language. That's my point about perverse, typo prone method and variable names.

    I fully expect case sensitivity. I don't, however, expect 20+ character labels with "funny" caps.

    Actually, in that case the compilation error would be on the line where the error occurred, as with most error reporting in Java programs.

    Well, of course this isn't true. It isn't true for any language. Any compiler gives an error where the compilation error is encountered. So, if you forget to uncomment a declaration you get the error where the variable is used.

    OTOH, I get the sense (after debuging my own bad syntax on C++ and Perl) that "javac" (ask me how long it took me to figure that out) encounters errors in places less inutitive, and further from the mistake than others. Again, this is a sense, I don't have examples handy.

    Anyway, this is pretty far off of my core complaint, which is that Java seems to be more about buzwords and barriers to entry than about technology.

    I do have one more question: is there an assembler for the JVM?

    Okay, one more: is there some documentation for the JVM in terms of things like registers, service calls, etc.

    -Peter
  27. Horizontal scaling? by MSBob · · Score: 2

    One of the huge drawbacks of the current JBoss package is the lack of the ability to distribute your beans across multiple phisical hosts. That makes JBoss applicable to only small production environments. I wonder if this is something that 3.0 is planning to address... If not then JBoss will not be able to compete in the same space as WebSphere and WebLogic.

    --
    Your pizza just the way you ought to have it.
    1. Re:Horizontal scaling? by xnuandax · · Score: 2, Informative

      JBoss 3.0 supports entity and session clustering...

  28. Re:Christ's sake... by jilles · · Score: 3, Insightful

    That applies to most languages. Just understanding the syntax is about an hour or so of work for most programmers (shorter if they are experienced, longer if they haven't seen a real language yet).

    However, whether you are dealing with the STL, MFC or the Java API, it takes time to get productive with that. The Java API is simply huge and covers an enormous amount of functionality that you don't have to invent yourself. Luckily, there is JavaDoc that helps to browse through APIs. In addition, most APIs are well designed and have been through extensive review processess (unlike the crap Microsoft pours out over you) so if you know your design patterns, you won't have trouble understanding how everything fits together.

    If other languages appear to be simpler, maybe that is because they don't include so much functionality and require you to do more work reinventing the wheel.

    --

    Jilles
  29. Re:Java - the perverse language by iapetus · · Score: 2
    I think we can at least agree that typical method and variable names in typical Java programs are longer (and therefore more subject to typos) than most programs. It is my opinion that in the general case there is little (if any) useful information embedded in this baggage.

    That's the general style, yes: meaningful method and variable names. If you prefer to take other approaches in your own code then there's nothing stopping you from doing so.

    I don't, however, expect 20+ character labels with "funny" caps.

    You're confusing 'funny' caps with a well-defined style for capitalisation. Java variable names, if you're following Sun's style guide, begin with a lower case letter, and new words are identified with a capital letter, an approach sometimes referred to as IniCaps. Method names use the same style, class names the same but with an initial capital letter. Once you're used to that style, it makes perfect sense, and you're a lot less likely to drop caps. It's preferable to some of the overly abbreviated variable names you get in some C code as far as I'm concerned - particularly for maintenance purposes. I know what the variable userCount contains, or can make a good guess. I have no idea what nusr means.

    It's all down to style, of course. There's no reason a C program couldn't be the one with a variable userCount and a Java program the one with nusr, and I've seen both.

    Anyway, this is pretty far off of my core complaint, which is that Java seems to be more about buzwords and barriers to entry than about technology.

    It's true of all languages that until you know the jargon, you will find it confusing. That's the case with Java to the same extent as other languages.

    I do have one more question: is there an assembler for the JVM?

    A somewhat unhelpful answer here: yes, but I don't know where you'd go to find it.

    Okay, one more: is there some documentation for the JVM in terms of things like registers, service calls, etc.

    I guess this is what you want.

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  30. Environemnts by SuperKendall · · Score: 2

    Sadly, WebSphere is the one area where I have no experience. But I have used iPlanet (up to 6.1) and WebLogic 6 for a good deal of time, migrating an app from iPlanet to WebLogic...

    Basically, the code ports really well and with few modifications. But where the differences come in are development environments and deployments, which would probably be different from one company to another anyway even using the same app server.

    Another area where you can find differences is in frameworks used - what people actually do on top of the EJB standard can vary quite a bit while still being compliant. Then you have add on frameworks for front end, things like Struts, which aren't really part of the spec but are widely used.

    What I would do in an interview situation is describe how the websphere deployemnt you worked with was set up - what you used to develop, how you deployed, etc. Then ask them questions about thier deployment and see how it compares.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  31. Re:Java - the perverse language by pete-classic · · Score: 2

    The IDE advice sounds like an admission of guilt to me. I'm not saying that a piece of software that watches you for mistakes in inherently bad, but a language that makes it that important is.

    Wow, no registers. I'm not saying you are wrong, but I can't imagine how this can be . . . how do you keep track of the top of the stack!

    [read, read, read]

    Oh, there is a "pc" register which seems to be equivalent to IP on intel. I can't find anything on a stack pointer register. Weird.

    -Peter

  32. I love this quote... by TFloore · · Score: 2, Funny
    Odds are the product with the greatest market penetration will always have the greatest stability.

    (From the last paragraph of question 3.)

    Microsoft would be the exception that proves the rule?

    I tried to resist saying that, really I did...

    --
    This is my sig. There are many like it but this one is... Oops. Frank, I've got your sig again! Where's mine?
  33. 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.
    1. Re:Question about clustering by Marsh+Jedi · · Score: 2, Informative

      Session-state peristence.

      2 Scenarios:
      1. w/o clustered persistence:
      You have two appservers. One dies. You fail over, the app server has no idea who you are. Log in again. What state was your transaction in again? Did you buy that widget or not?

      2. w/ clustered persistence:
      You have two app servers, replicating session between the two. App1 fails. App2 knows about your session, picks up where the other left off.

    2. Re:Question about clustering by RelliK · · Score: 2

      OK, so is app-server load balancing a substitute for IP-level load balancing or is it supposed to be used in conjunction? (i.e. something like balancing the web servers with a IP-level load balancer and replicating the application state with app server load balancing?)

      --
      ___
      If you think big enough, you'll never have to do it.
  34. Re:Java - the perverse language by ameoba · · Score: 2

    Uhh... Hrmm, "hello world" in Java..

    import javax.swing.*;

    public class HWorld
    {
    public static void main(String args[])
    {
    JOptionPane.showMessageDialog(null, "Hello World");
    // alternately, you can print to console
    // System.out.println("Hello World");
    // either of which makes a lot more sense than
    // C++'s "cout

    --
    my sig's at the bottom of the page.
  35. Re:Java - the perverse language by pete-classic · · Score: 2

    Thanks for that link. I found that via the general link provided by the other guy that replied.

    I find the name "IniCaps" to describe this laugh out loud funny (since it doesn't comply with itself).

    As to variable names, you seem to have ignored two key points in my post. First, in my opinion, the longer names don't actually carry additional info in practice. If you are just saying that in your experience they do, well, that's fine then.

    The other is that, as illustrated by the example, the full name (I'm sure there is some cool computer science name for this) can be made to look very good, and it doesn't matter if the name looks vague out of context. This isn't my point, it is K&P's point.

    It's true of all languages that until you know the jargon, you will find it confusing. That's the case with Java to the same extent as other languages.

    You must be trying to miss my point here. Yes, of course every technical field has its jargon. And every language its own set of jargon. My point is that Java (I guess really Sun) goes way, way beyond what is normal.

    One prime example: EJB. You seem to have a personal affinity for meaningful labels. Let's expand EJB. AFAIK it is Enterprise Java Beans. To me that is a buzzword followed by a (maybe) cute but meaningless bit of wordplay. NO INFORMATION. I heard a rumor this is an API. IMO this is going as far as to be deliberately evasive in naming a technology.

    -Peter

  36. Re:Java - the perverse language by ameoba · · Score: 2

    please disregard... the left-shift operator got eaten by the HTML parser, and I lost the 2nd half of the post.. +)

    See... Java's simpler than HTML. +)

    --
    my sig's at the bottom of the page.
  37. Re:Changing to JBoss from other App Servers by Kerg · · Score: 2

    To get some idea where things are going currently, you can check this article from JavaWorld:
    The Art of EJB Deployment

  38. Same discussion on serverside.com by jeet_means_win · · Score: 3, Informative

    There are some better post at http://theserverside.com ... a few interesting comments from Rickard Oberg http://www.theserverside.com/home/thread.jsp?threa d_id=10469

  39. Many banks use multiple server platforms by beroul · · Score: 2, Informative

    I work at one of the largest vendors of software for banks, and diversity of server platforms is a fact of life for our clients. Many banks are quite happy to continue using applications that were written 20 years ago, in RPG, for the IBM AS/400 platform. And it makes sense; those applications work quite well, and they represent millions of lines of code, which can't be thrown away just because RPG isn't a modern language.

    Many of those same banks also have applications running on all sorts of Unix systems. And of course, Windows is widely used for front-office applications. Oh, and they all use different RDBMSs, too.

    If you think it's easy to write, say, C++ applications that are portable across all those environments, I suspect that you've never really tried.

    We've written our in-house middleware in Java; we develop on Windows desktop machines (alas!), and the code works out of the box on AS/400, Solaris and Linux, as well as with every RDBMS we've come across. It's an easy sell to our customers, many of whom have strict requirements about which operating systems they're willing to use for which projects. And we haven't spent any time porting our software.

  40. Re:IIOP by Kerg · · Score: 2

    RMI/IIOP is in the works... not sure if it will make it into 3.0 but shouldn't be too far off.

  41. Overly optomistic? by gss · · Score: 2, Insightful

    While I am a big fan of JBoss (ever since EJBoss), it does have a long way to go to gain market share in the industry. People who make the decisions would rather put their neck on the line for big companies like BEA or IBM, be it right or wrong. Does this guy really think that BEA and IBM aren't working on their next versions as well? It's a tough market, I just hope JBoss doesn't get too confident.

  42. Re:Java - the perverse language by pete-classic · · Score: 2

    Actually, the complaint about EJB had nothing to do with the technology. I can't criticize it, because I don't know anything about it. Except that it has a non-descriptive name. If it has to do with "containers" why not call it JavaCan (or would that be javaCan?) or numberTenCan (NTC, sounds nice) or whatever?

    And my complaint isn't that I am too dumb to learn Java, it is that I seem to be having a significantly higher level of difficulty getting started with Java than I have with other languages in the past. (Of course, I grouse almost as loudly about Perl being too easy in some ways . . .) So, maybe I'm dumber than dirt, but that doesn't appear to be the only issue involved.

    Actually, the things I have learned in the course of this thread lead me to believe that the "problem" (maybe it is aesthetic, maybe it is just me, whatever) is due to over-marketing and over-committeizing. IOW, I'm not sure any sane person would arrive at "IniCaps" but a committee of sane people might end up converging on it. No language designer would come up with Enterprise Java Beans, but marketing department sure would. I guess the fact that it doesn't have a "father" (like Wall or K&R) shows.

    Maybe we mean different things by jargon? Your message could be read as you are under the impression that since I call EJB "jargon" I don't think it is a real technology. Is that what you meant? Anything technical has jargon. It has to. I'm just saying that I find Java (in the larger sense of Java) to be jargonistic to the extreme, and for its own sake.

    -Peter

    PS: It is, of course, the only slightly less perverse language, Perl.

  43. Re:Java - the perverse language by iapetus · · Score: 2

    JavaBeans is the component model for Java. Java - coffee. Beans - coffee beans. Isn't it cute?

    Enterprise JavaBeans is the *enterprise* component model for Java.

    There, that was fairly painless, yes?

    As for your comments on IniCaps not conforming to itself, it's used to describe the process of capitalising new words (short for initial capitals) - both the variable and class name conventions can be described as IniCaps.

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  44. Re:Java - the perverse language by pete-classic · · Score: 2

    Yeah, except that the problem was that I couldn't figure out what PACKAGE I needed. (JDK, SDK, JRE, LMNOP, etc) I mean, I'm pretty competent, but this was kept like some state secret.

    None of the human beings that I knew at the time seemed to get this either, and all the "cool guy" Java guys and docs just assume you know this.

    As I said before, there are some pretty useful walkthroughs for first-timers now.

    But since you brought up how much more sense System.out.println() makes vs. cout . . .

    Since Java is all logical and stuff, I can get input by just doing System.in.getln() right?

    Wah-wah-wah-waaaaah*

    Anyway, how do you do the equivalent of "cin >> some_string;" in Java?

    -Peter

    * the sound on "Let's Make a Deal" when someone gets the donkey

  45. Want a performance tip? by tgd · · Score: 2

    Try JBoss+Jetty in place of JBoss+Tomcat running through Apache. Unless your application is a very simple one, you'll get a 2-4x increase in performance under load.

    Tomcat is nice, in theory, but its dog slow.

  46. Re:Java - the perverse language by pete-classic · · Score: 2

    And for heavens sake: don't forget to preview - or else the trolls will kill you.

    It looks really nice when I do "view source" though.

    Anyway, thanks!

    So the key here is "new BufferedReader". Am I correct in the belief that there is no "free br" allowed/needed?

    -Peter

  47. Re:Java - the perverse language by pete-classic · · Score: 2

    You are clearly illustrating my point.

    Yes, java beans is cute, and I get it, but it doesn't tell me squat about the technology.

    What does enterprise mean? I'm keeping a running list:

    Supports files >2gb
    Supports RAM >4gb
    Supports fibre channel
    We charge you really, really a lot more because you are a big company and we think you can afford it.
    Supports LDAP
    Has even more proprietary extensions than the "workgroup" version.

    I'm not sure if any of these fit.

    I think that the IniCaps thing might be even funnier now. Maybe it should be iniCapsCptIniWrd (Initial Capitals exCept Initial Word)!

    Okay, I'm just being silly now.

    -Peter

  48. Any ``prominent'' sites running Jakarta/JBoss? by cygnusx · · Score: 2

    Some questions from a guy who has played around with Jakarta a lot, but never quite used it at work:

    Are there people who are using Jakarta/Tomcat for high-volume sites? I use Tomcat for development all the time (primarily because I can use it on some really low end hardware). But in production use, it's always been a different story.

    I mean, I can point to /. when people say MySQL cannot handle loads -- would any of you know a similar highly-trafficked, prominent site that runs Jakarta software?

    For that matter, how 'bout the same question applied to JBoss? or are they used quietly in departmental intranets, anonymous because they didn't require a big-ticket purchase order to acquire?

    I want to know if you consider Jakarta/JBoss ready from 'prime-time' in the same way (say) Websphere is.

  49. I've screamed at IBM (and BEA) by Guppie · · Score: 2, Interesting

    In Norway, IBM is by far the most arrogant and useless company you can buy software from. My company have used Websphere and DB2, and the help from IBM (after hours of phone-screaming) was worth next to nothing.

    We used Websphere 2.x and 3.0, IIRC, and they were CRAP, i know DB2 is a decent database, but we were not able to configure it to run any faster than mySQL, thanks to lousy support from IBM.

    In the end, we dropped Websphere for Weblogic, no great support from BEA either, but at least the appserver ran 24x7 w/o great problems...

  50. Re:72,000 whole servers??? by Kerg · · Score: 2
    AFAIK, jboss is not a packaged product but more of a composite server (the container itself, JMX, messaging, queuing...) I guess that you'd need 10s, possibly 100s of downloads in order to have a production-ready framework.

    Uhh, no you don't. You'd find out this yourself if you ever actually downloaded the product. It's one download, two if you want to have both servlet engines prepackaged.

  51. Re:Java - the perverse language by pete-classic · · Score: 2

    You mean Java doesn't magically close the stream when it goes out of scope?

    (I say this not as a lazy programmer, but as someone who feels that Java breeds lazy programmers.)

    -Peter