This early morning, I managed to boot my MiNevada Solaris. It says something that recommends you to boot using Solaris failsafe, because it seems that it wasn't restarted gracefully.
Actually there's some terms I need to find out, because Solaris has different terms for disk stuffs some of them are cylinder groups/CG and slices.
Currently it is a high time for our (our and our clients') project, because we are somewhere half way to the completion of the SIT (System Integration Test). There are some problems that dragged our schedule, especially the slow and unstable network connection. Some of the SMSC (Short Messaging System Center) was also reported to fail on bindings/connection. The problems seemed to be irreproducible easily, because there were no changes on the binaries we deployed. It has been working before, now it doesn't work.
Last week I offered myself to present this topic: Apache Xmlbeans for the next Java Meeting Up (JaMU) on June 2007. I will not be able to attend this month's JaMU as I will be here in Cyberjaya until beginning of next month. I was lucky to experience it since I was assigned for the Galaxy customer care application until my latest project. Both WebLogic Platforms (8.1 and 9.2) heavily use the Apache Xmlbeans framework. I think the hardest think to learn at first is the XSD file. For me the XSD structure is obscure. I am not getting used to XML parsing other than using the Apache Commons Digester library. That's the way Struts digest the struts-config.xml file, and I think that was more than enough.
But since I am exposed to a project that heavily uses web services, I need a more sophisticated framework to map XML to Bean and vice versa. That was the time when I found this XML Bean mapping framework. The nice thing about it is that it offers the full functionality of XML while it is easily usable using ordinary Java Bean accessor methods.
Some of my notes other than Java and Python. Mostly about other stuffs I play with such as Linux, Ubuntu, CentOS, Solaris, VirtualBox, VMWare Player, ... or whatever stuffs passing by...
Thursday, May 17, 2007
Nevada and then XmlBeans
Friday, May 11, 2007
Mi Nevada Nueva: Solaris 5.11 x86

I have tried to install Solaris x86 on a Microsoft Virtual PC since 2 months ago, but I almost gave up. The main problem is that: the installer just didn't accept its default disk layout.
I tried to some manual layout myself, but it failed as well.
Last night, I gave some more try, and eventually this did I succed!!!
My Configuration is:
RAM 1MB (they said in the milis at least you need 620MB or so).
16 GB disk.
I use this disk layout:
slice (for 16GB virtual disk)
0 / 4855
1 swap 525
2 overlap 16355
3 /var 1027
4 /usr 9922
Yipee!
Wednesday, March 28, 2007
Oracle Acquired Tangosol
Last year it was TimesTen and SleepyCat (BerkeleyDB).
This year it is Tangosol.
Who will be the next?
This database giant acquired Tangosol (vendor of Coherence data cache which has been used in many large financials), adding to its "Extreme Transaction Processing" initiative.
http://go.techtarget.com/r/1194471/5981609
http://www.oracle.com/tangosol/index.html
This year it is Tangosol.
Who will be the next?
This database giant acquired Tangosol (vendor of Coherence data cache which has been used in many large financials), adding to its "Extreme Transaction Processing" initiative.
http://go.techtarget.com/r/1194471/5981609
http://www.oracle.com/tangosol/index.html
Installing Solaris 10 on SunFire V210
Because most of my time, I have spent in the development, this event is considered a rare occasion: a hands-on experience on plain Sun SPARC based 64-bit machine. This time I have it all in my power: SunFire V210. A machine which you could install, reinstall, configure, reconfigure the way you want it.
In my opinion, it was much easier to install Solaris 10 on Sun's machine, than it was to install one on a virtual machine, or even on an ordinary PCs. The Auto Layout Disk went smoothly, no failure is necessary.
This is actually a rather old machine, used to test the installation script. The client doesn't want to go to their client and install the application only to find out that there's something missing in the installation script. So we fetch out a machine similar to the production platform: a SunFire V245. It is of a bigger size (2U, I think) compared to V210 (1U).
In my opinion, it was much easier to install Solaris 10 on Sun's machine, than it was to install one on a virtual machine, or even on an ordinary PCs. The Auto Layout Disk went smoothly, no failure is necessary.
This is actually a rather old machine, used to test the installation script. The client doesn't want to go to their client and install the application only to find out that there's something missing in the installation script. So we fetch out a machine similar to the production platform: a SunFire V245. It is of a bigger size (2U, I think) compared to V210 (1U).
Powered by ScribeFire.
IEEE ComSoc Indonesia Chapter New Milis
Today I was invited to join the IEEE ComSoc (Communications Society) Indonesia mailing list. Only 10 members in the milis right now. It seems this mailing list is a new one, because everybody seemed to have joined either at March 27 or 28, 2007.
Looking forward for the fast advance in the communication society in Indonesia :D
Looking forward for the fast advance in the communication society in Indonesia :D
Powered by ScribeFire.
Tuesday, March 27, 2007
Ill Behaviored HTTP/1.1 Client
Today I've been message by my campus friend, asking an advice for tuning a SJAS. How many threads should he have for servlets, how many MDBs, and how many database connection in the pool.
He set the number for 1024, 128. Hmm. Very big. I asked him, how much memory and processor resources and app server instances do you have. The answer was shocking:
1 processor, 1 gigabyte, 1 instance
As far as I can remember, on a WebLogic they recommend to use less than that number of threads for best practices on each instances. Wow, and we were talking about WebLogic 8.1 instance in a UltraSPARC-IIIi Solaris 9 boxes with 8 gigs of memory!
I thought there must be something else happening. For just 1 processor, processing many threads is actually a waste of time in the context switching. I think it should not be like that. There something wrong when the system. It is already out of resource and the queue piles up. It must be some kind of resource starvation. Some resource may not be released during the process. Some resources are held for longer than it should be.
Then I remembered that I have had encountered some problems here.
The HTTP/1.1 Protocol has been there for such a long time. But there are some behavior most programmers still don't know.
The HTTP/1.1 differs from HTTP/1.0 that it implements persistent connection by default. The HTTP/1.1 will not be closing its connection after your client application exits. Your browser or client application by default will maintain HTTP connection until time out period elapsed. Before time out period, the connection is still up, and whenever you need to make more requests your browser or your HTTP client application will reuse the HTTP connection when possible, thus eliminating the overhead needed to setup such connections. The browser application makers have been doing their job very well it is transparent for us to such happenings in the protocol.
Remember I said 'by default', because you can explicitly asks the server (by adding a header field) to close the connection once the request has been fulfilled.
This is the thing that you need in your HTTP header.
Connection-Close: close
He set the number for 1024, 128. Hmm. Very big. I asked him, how much memory and processor resources and app server instances do you have. The answer was shocking:
1 processor, 1 gigabyte, 1 instance
As far as I can remember, on a WebLogic they recommend to use less than that number of threads for best practices on each instances. Wow, and we were talking about WebLogic 8.1 instance in a UltraSPARC-IIIi Solaris 9 boxes with 8 gigs of memory!
I thought there must be something else happening. For just 1 processor, processing many threads is actually a waste of time in the context switching. I think it should not be like that. There something wrong when the system. It is already out of resource and the queue piles up. It must be some kind of resource starvation. Some resource may not be released during the process. Some resources are held for longer than it should be.
Then I remembered that I have had encountered some problems here.
The HTTP/1.1 Protocol has been there for such a long time. But there are some behavior most programmers still don't know.
The HTTP/1.1 differs from HTTP/1.0 that it implements persistent connection by default. The HTTP/1.1 will not be closing its connection after your client application exits. Your browser or client application by default will maintain HTTP connection until time out period elapsed. Before time out period, the connection is still up, and whenever you need to make more requests your browser or your HTTP client application will reuse the HTTP connection when possible, thus eliminating the overhead needed to setup such connections. The browser application makers have been doing their job very well it is transparent for us to such happenings in the protocol.
Remember I said 'by default', because you can explicitly asks the server (by adding a header field) to close the connection once the request has been fulfilled.
This is the thing that you need in your HTTP header.
Connection-Close: close
My New ScribeFire!
When I tried to download latest version of Thunderbird mail client, I find this cool tools. I can post my blog through this tool in my Firefox browser.
This is the result of it...
Wow, now it is easier to post something in the blog. This tool will do the rest for me.
This is the result of it...
Wow, now it is easier to post something in the blog. This tool will do the rest for me.
Powered by ScribeFire.
Subscribe to:
Posts (Atom)