Sun 'Calls JBoss bluff' on J2EE compliance 218
joshmccormack writes "According to c|net's news.com Sun has finally responded to JBoss Group's request for J2EE compliance testing.
Simon Phipps, Sun's chief technology evangelist stated in the article he thinks JBoss Group is bluffing, that their code won't pass the tests, and that some of the code is just copied from Sun."
Config files, etc... (Score:5, Informative)
eg, most enterprise applications allow you to connect to a database. J2EE defines a way of naming the database connection ("DataSource") with a logical name. Say "MyBigDB". This is a name bound into a JNDI tree - basically a directory. Give the directory "MyBigDB" and you get back an instance of DataSource that can connect to your database.
At some point these convenient names "MyBigDB" must be mapped to actual parameters (hostname, username, password, port number) of the database.
J2EE doesn't really specify this. Each vendor has their own config file syntax for doing this mapping.
So this is the sort of thing they mean when they say it takes "hours" to port. You find out where JBoss keeps its config files, what the syntax is, and how to map MyBigDB to the hostname etc.
Hopefully none of your code changes, its just a matter of defining mappings in config files. The more complex your application, the more points of contact with "the real world" or "the bare metal" it probably has. J2EE hides a lot, but it can't hide everything.
Hold on one second... (Score:5, Informative)
Phipps' remarks are bizarre since it is obvious that no vendor can pass the J2EE 1.4 test suite, since J2EE 1.4 itself is not in final release yet.
There's something not quite right about all this, so it may be a setup by Sun to put JBoss in a difficult position.
Re:Go get em JBoss! (Score:2, Informative)
Re:Compliant or not? (Score:5, Informative)
Specifically, this is often the case in setting up the JNDI tree for the application and for the individual components (java:/comp/env/) as well as configuring features like EJB 2.0 CMP where you must map database fields to Entity EJB fields, and configuring the specific JMS queues and topics that you want to connect your Message Driven Beans to.
JBoss uses a jboss.xml config file, BEA WebLogic uses a different configuration file, and other application servers use their own file formats and tools. JBoss offers a tool that helps migrate WebLogic configuration files to their XML format. This doesn't cover non-standard extensions, but it does cover converting many of the application-server configuration options.
JBoss and others (Score:5, Informative)
Re:Evangelist? More irony? (Score:4, Informative)
JBoss architecture vs Sun code (Score:4, Informative)
I *really* wonder which code could have been copied from Sun???
As JBoss is open source, I guess Sun could point out which specific parts where copied?
Concerning Jboss's J2EE compliance, it is widely known that Marc Fleury hates Web Services (and RMI too..). So obviously there are chances that JBoss will not be compliant in that field. But that will only matter to the very tiny part of the population that uses SOAP... I mean, as long as my EJBs are running ok, I don't really care if some obscure part of the spec is not respected...
Re:Copied Code?!? (Score:4, Informative)
Re:Sun/Phipps needs to show more class (Score:2, Informative)
Undoubtedly, JBoss will fix the areas where they are not compliant. But by the time they do, a new J2EE spec will probably be out, and they won't be able to pass again. Keep in mind that all the major app server vendors define the specs via JCP... so JBoss is necessarily going to always be playing catch up.
Two things. First, JBoss is part of the JCP defining a variety of specs including those that form J2EE. You too can become a member for free so long as you sign an NDA or two. The folks at the JBoss Group are writing the next version of the JMX spec for the JCP as an example.
Second, Sun is only talking about allowing them a to purchase a license for the J2EE 1.4 compatibity tests, not the current version, 1.3. Therefore, JBoss will be unable to certify itself on the current standard, and since most of the specs composing 1.4 are still in spec, they would probably fail any available tests.
One last point of note around Sun offering up the opporunity to buy the 1.4 tests is that Marc Fleury and many of the other JBoss developers have openly stated their displeasure with the Web Services angle of J2EE 1.4. They have stated that they may not implement all of 1.4 due to the little value they see in it, and their overall displike of "Web Smervices". So, Sun might be granting this opportunity knowing full well that JBoss has little or no intention of being fully compliant with J2EE 1.4
Re:JBoss architecture vs Sun code (Score:5, Informative)
another article that discusses the issue (Score:3, Informative)
Highlights:
Re:Sounds like a setup to me (Score:1, Informative)
So, I agree with your argument that paid software can be worth the cost if you're more productive than when using free software, but the offerings I see from IBM and Oracle (and Borland) are not very good - from my estimate you'd need about 1GB of RAM to run OC4J and JDeveloper so that they respond quickly; I'm runnning OC4J, IDEA, Enterprise Architect, Windows Media Player, browser windows, text editors, etc all on a laptop with 512 MB RAM quite happily. In fact I only requested an upgrade from 256 MB to 512 MB so that I could load JDeveloper occasionally.
Re:Config files, etc... (Score:3, Informative)
[Code] - using logical names
[J2EE Config file] - maps logical name to "physical name"
[Vendor Config file] = maps "physical name" to parameters like hostname/port
So often even your J2EE config file can be used unaltered. What tends to happen is the J2EE config files started out with relatively few features, and the vendors added all of their stuff in the Vendor Condig File (value-added or proprietary features).
As J2EE is revised, the most commonly supported or desired features tend to move up into the J2EE Config File level. So when you upgrade to a new version you might find that things you previously had to configure on a vendor level may now be configured in an abstract portable way.
This is natural evolution. It has a cost though: the extra layer of indirection makes the initial setup more complex. Once you get it down though, its pretty easy to maintain, as a rule.