Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/_main.inc.php on line 123

Strict Standards: Declaration of UserSettings::get() should be compatible with AbstractSettings::get($col_key1, $col_key2 = NULL, $col_key3 = NULL) in /home/pwsconsu/public_html/blog/inc/MODEL/users/_usersettings.class.php on line 202

Strict Standards: Declaration of UserSettings::set() should be compatible with AbstractSettings::set() in /home/pwsconsu/public_html/blog/inc/MODEL/users/_usersettings.class.php on line 202

Warning: Creating default object from empty value in /home/pwsconsu/public_html/blog/inc/MODEL/settings/_abstractsettings.class.php on line 221

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/MODEL/generic/_genericelement.class.php on line 112

Strict Standards: Declaration of Blog::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/collections/_blog.class.php on line 1034

Strict Standards: Declaration of BlogCache::option_list() should be compatible with DataObjectCache::option_list($default = 0, $allow_none = false, $method = 'name') in /home/pwsconsu/public_html/blog/inc/MODEL/collections/_blogcache.class.php on line 272

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/MODEL/collections/_category.funcs.php on line 390

Strict Standards: Declaration of Group::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/users/_group.class.php on line 420

Strict Standards: Declaration of User::dbdelete() should be compatible with DataObject::dbdelete() in /home/pwsconsu/public_html/blog/inc/MODEL/users/_user.class.php on line 1145

Strict Standards: Declaration of User::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/users/_user.class.php on line 1145

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/_misc/_resultsel.class.php on line 549

Strict Standards: Declaration of ResultSel::display_list_start() should be compatible with Results::display_list_start($detect_no_results = true) in /home/pwsconsu/public_html/blog/inc/_misc/_resultsel.class.php on line 48

Strict Standards: Declaration of ResultSel::display_list_end() should be compatible with Results::display_list_end($detect_no_results = true) in /home/pwsconsu/public_html/blog/inc/_misc/_resultsel.class.php on line 48

Strict Standards: Declaration of Filetype::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/files/_filetype.class.php on line 197

Strict Standards: Declaration of UserCache::option_list() should be compatible with DataObjectCache::option_list($default = 0, $allow_none = false, $method = 'name') in /home/pwsconsu/public_html/blog/inc/MODEL/users/_usercache.class.php on line 288

Strict Standards: Declaration of Comment::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/comments/_comment.class.php on line 1164

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/MODEL/items/_itemlist.class.php on line 602

Notice: Array to string conversion in /home/pwsconsu/public_html/blog/inc/_misc/_misc.funcs.php on line 1253

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/_blog_main.inc.php on line 306

Strict Standards: Declaration of ItemList2::query() should be compatible with Results::query($create_default_cols_if_needed = true, $append_limit = true, $append_order_by = true) in /home/pwsconsu/public_html/blog/inc/MODEL/items/_itemlist2.class.php on line 48

Notice: Array to string conversion in /home/pwsconsu/public_html/blog/inc/_misc/_misc.funcs.php on line 1253

Deprecated: Function ereg() is deprecated in /home/pwsconsu/public_html/blog/inc/_blog_main.inc.php on line 413

Warning: Cannot modify header information - headers already sent by (output started at /home/pwsconsu/public_html/blog/inc/MODEL/items/_itemlist.class.php:602) in /home/pwsconsu/public_html/blog/inc/MODEL/skins/_skin.funcs.php on line 71

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 528

Strict Standards: Declaration of code_highlight_plugin::AdminEndHtmlHead() should be compatible with Plugin::AdminEndHtmlHead(&$params) in /home/pwsconsu/public_html/blog/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 559

Strict Standards: Declaration of code_highlight_plugin::SkinBeginHtmlHead() should be compatible with Plugin::SkinBeginHtmlHead(&$params) in /home/pwsconsu/public_html/blog/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 559

Strict Standards: Declaration of code_highlight_plugin::PluginVersionChanged() should be compatible with Plugin::PluginVersionChanged(&$params) in /home/pwsconsu/public_html/blog/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 559
The South East Asia SOA Weblog - Archives for: January 2011

Archives for: January 2011

01/20/11

Permalink 12:11:12 am, by david Email , 502 words, 2527 views   English (US)
Categories: SOA Solutions in South East Asia

J2EE Application Servers... a brief perspective from plenty of experience

I remember the very first time I used WebLogic. It was back in around 1998 not long after BEA first acquired it. At the time I was doing a whole lot of work using Tuxedo and C on a Dynix (dinosaur Unix :roll::roll:) in a large government department. During that year BEA set up operations in Australia and the country managing director of the time (Mr. David Moles) offered myself and my team free training on the first WebLogic training course to be run in Queensland Australia. Back in those days I was somewhat of a Linux nut and decided to run the training on Linux so within an our or so I managed to get WebLogic running on Caldera Open Linux 1.3 with the Linux Blackdown JDK (quite an achievement in those days).

Here we are 14 years later with a lot more choice of J2EE application servers at our disposal, the most interesting of these being the open source J2EE containers. Having significant experience with J2EE over many years as a programmer and analyst it is interesting to reflect on the salient characteristics of all these servers. My own experience includes WebLogic, OC4J, Apache JServ, WebSphere, SilverStream, Geronimo and JBoss. Other servers such as Glassfish have built a very credible reputation for themselves also. Not having used Glassfish in anger it is hard for me to include it in my list so I will omit it to be fair. Also since SilverStream has been acquired (by Novell) some years back and may have changed significantly I shall omit it also. The dead products have also been omitted (i.e. JServ and OC4J)… OC4J is somewhat dead even though it is still on Oracle’s price list. Just goes to show what Larry thinks I guess.

Anyway… without going into a horrific amount of detail (actually extremely brief) it is my belief that these servers generally stack up as follows in order of best to worst from a pure usage and deployment standpoint:

1) Developer Productivity: 1:WebLogic, 2:Geronimo, 3:WebSphere, 4:JBoss
2) Implementation of Key J2EE Standards: 1:Geronimo, 2:WebSphere, 3:JBoss, 4:WebLogic
3) Management and Monitoring Features: 1:WebLogic, 2:WebSphere, 3:Geronimo, 4:JBoss
4) Performance and Stability: 1:WebLogic, 2:Geronimo, 3:WebSphere, 4:JBoss
5) Installation and QuickStart: 1:Geronimo, 2:JBoss, 3:WebLogic, 4:WebSphere
6) Tooling and 3rd Party Support: 1:WebLogic, 2:WebSphere, 3:Geronimo, 4:JBoss
7) Overall Happiness 1:WebLogic 2:Geronimo, 3:WebSphere, 4:JBoss

It should be noted that the open source containers (generally) have far less features for management and monitoring etc. than the commercial platforms. Many of these features are also commonly flawed in design or broken in implementation in open source servers. For example the console in the latest production builds of JBoss will not even add data sources properly without problems and developers/admins are forced to resort to the XML configs etc.. These types of features generally work better and are more complete in the commercial products. Anyway, evaluate yourselves and form your own opinion. Feel free to post it here and you are bound to get a response from me.


Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/skins/_feedback.php on line 102

Hosted by:
hosted by PWS Consulting

The South East Asia SOA Weblog

The intention of this blog is to collect thoughts on the issues, paradigms, process, vendors, solutions, project and any other item related service oriented architecture in South East Asia.


Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/plugins/_calendar.plugin.php on line 135
January 2011
Sun Mon Tue Wed Thu Fri Sat
 << < Current> >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Search


Strict Standards: Declaration of ArchiveList::count_total_rows() should be compatible with Results::count_total_rows($sql_count = NULL) in /home/pwsconsu/public_html/blog/plugins/_archives.plugin.php on line 544

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/skins/_linkblog.php on line 46

XML Feeds

What is RSS?

Who's Online?

  • Guest Users: 33

Deprecated: Non-static method Hitlist::dbprune() should not be called statically, assuming $this from incompatible context in /home/pwsconsu/public_html/blog/inc/MODEL/sessions/_hit.class.php on line 483