blogging california england firefox glassfish google hacking j2ee java openid opensource roller skype soccer sun sunray thewaronliquid travel treo ubuntu vaio voip web2 work yahoo
Sep
18

David's canned history of App Servers at Sun prompted me to fill in some of the gaps.

There are a handful of us at Sun who've been around long enough to see the entire history of Sun's App Server product line. I joined in 1999 (as part of the Forte Acquisition). At that time Sun had at least 3 Application Servers.

Over the years - in internal presentations I've tried to capture the full genealogy of the App Server at Sun but I've only really ever done a half-assed job - through this blog entry I hope I've captured it correctly. Once and for all. If I haven't - and you know better leave a comment. The picture is supposed to illustrate the code heritage - again, this is mostly from memory - corrections welcome.

I haven't tried the latest version of GlassFish yet - but I will when time permits. Even though I'm not directly associated with the App Server team anymore - I can't help noticing the attention that GlassFish is getting - it's enjoying a success that all the previous versions never did. The reasons - firstly I think the product has come on leaps and bounds - starting with a new code base in 2004 was pretty painful but it paid off - for example performance has improved significantly with every release since. And open sourcing in 2006 made an enourmous difference - it allowed Sun to connect to people we hadn't been able to before.

 

 

 

Note - the big red crosses indicate end of code line - not official EOL date.




Significant Events (mostly from the Wayback Machine or Wikipedia)

1995 NetDynamics Founded
         Kiva Software Founded
1997 Kiva wins PCWeek's Best of Comdex award for "Best Internet Software" (sells Kiva App Server for $35k / CPU)
         Netscape Acquires KivaSoft
1998 Sun acquires i-Planet (marketed a Secure Remote Access Product which found it's way into Sun's Portal Server) [more]
         Sun acquires NetDynamics
1999 AOL acquires Netscape
         J2EE 1.2 SDK Released by Sun
         Sun and AOL form the Sun | Netscape Alliance
         Sun acquires Forte Software Inc. (cross platform IDE and run-time) [more]
         Sun acquires NetBeans (Java IDE) [more]
2001 J2EE 1.3 SDK released by Sun
2002 Sun Netscape Alliance ends, Sun continues to market iPlanet products alone. AOL Continues to market subset of products.
2004 J2EE 1.4 SDK released by Sun
2005 GlassFish project launched (I seem to remember Eduardo favored ZebraFish, Jim got his way though)
2006 J2EE 1.5 SDK released by Sun

 

 

 

 

Dec
7

As of yesterday, you now have the chance to get involved and contribute content to the J2EE SDK java.net project - if you want your J2EE based tool, plugin, extension etc. to be seen and potentially used by literally millions of J2EE developers join and contribute today.

This project will be worth watching.

Sep
22

We've been busy in the app server group getting the bugs down and quality up so we can release our beta for field testing - this is the first beta release of an enterprise capable J2EE 1.4 platform product.

Meanwhile I have been playing with J2SE 5.0 & the App Server together - the combination is great - I'll blog some details when I get more time.

More info on the beta ...

Aug
11

Clusters, Configs and Node Agents

I found myself with some spare cycles this week so I have been delving into the admin console of the next revision of the Sun Java System Application Server – 2004Q4 (or 8.1 as we call it internally). Today I'm going to write a little about clusters, configurations and node agents – the fundamental concepts necessary to understand the administration model. I'm doing all of this via the admin GUI, not because I can't deal with command lines but because I hope the screens will be self explanatory; I also believe in this case the GUI really does add some value – ie. it really does make some operations much, much easier. Though some of the steps here seem trivial – there is a lot going on behind the scenes. Of course everything I do in the following steps via the GUI I could just as well script / automate via the command line interface (or even the JMX API) – but that is the subject of a future blog.

Task Oriented GUI

If you don't want to go rummaging around the admin console (or aren't familiar with it) there is list of common tasks on the initial screen of the admin console – so you have a more natural entry point for the uninitiated – ie. What do I want to do; not what do I want to do it to.




Create a Cluster

I'm going to create a new cluster, click, ...




I simply give the cluster a name, select a config. (or create a new copy of the default config), add some instances c1-i1 and c1-i2, for each select a node agent (essentially selects the machine the instances will run on). Each machine in the domain will have a node agent – it is basically the local proxy for administration purposes. That's it, I'm done. Though I should note that this is not a 'HA' cluster – ie. I haven't installed or configured HADB – it is essentially a cluster supporting service continuity rather than full session continuity and seamless failover (these terms I will describe in another blog)




I now have a new cluster with 2 instances and a new config. Let's take a closer look at the config (which I can access from anywhere it is referenced or use the navigation tree on the left):






What is a configuration ?

Basically a config is a template used for the configuration of one or more standalone server instances, clustered instances or clusters. Though instances within a cluster would typically be homogeneous; strict enforcement of that would be way too inflexible so we allow the configuration (template) to be parameterized – the screen above shows those parameters. For example, in my case, I'm running everything on the same machine so if strict homogeneity were enforced I would end up with port clashes (as I'm running 5 server instances) – out of the box the wizard knows to parameterize all the port numbers; if I click “Instance Values” I can see the properties (and edit the values) :




So now I have my cluster I need to do something with it (ie. deploy and configure an application) – unfortunately that will have to wait ...


Note : this blog entry refers to a future product therefore the usual caveats apply - everything could change significantly between now and when it is released.

Aug
6

Where did the week go ?

By now I was hoping to have spent a fair amount of time kicking the tires of our next major rev. of our J2EE 1.4 application server - Sun Java System Application Server 2004Q4; as it is, all I managed to do was install it and create a cluster - which only took about 10 minutes. Most of that time was waiting for the installer; creating the cluster was click, click, done (more on the ease-of-use later).

So in the absence of anything informative and useful here's a screenshot of the web based admin console (click to get a bigger picture):

admin console

If you are familiar with 8 PE you can see the navigation tree on the left hand side has been changed to include clusters, node agents and configurations. I'll spend some time investigating these (and blogging) later. But basically they are an attempt to make management easier by separating physical deployment (machines) from logical configuration (cluster and instance definitions, etc.)

In general we have enhanced the UI across the board compared to previous versions and the look and feel will be consistent with other Java ES products.

The other thing that you might notice is that the admin console uses https - this is the default out of the box setting - part of our push to make things secure by default.

Note : this blog entry refers to a future product therefore the usual caveats apply - everything could change significantly between now and when it is released.

Find it

Subscribe

Contact Me

My status

follow pixelfodder at http://twitter.com

Links

The Aquarium (from the source)

Images

sharps. Get yours at flagrantdisregard.com/flickr