Monday, November 28, 2005

Bir fincan kahve içer misiniz?

Bir fincan kahve icer misiniz?...
Is yasaminda önemli yerlere gelmis bir grup eski mezun arkadas grubu üniversitedeki hocalarindan birini ziyarete gitmis.Cesitli konular konusulduktan sonra sohbet, isin yarattigi strese ve hayatin zorluklarina gelmis.
Yasli üniversite hocasi ziyaretcilerine kahve ikram etmek üzere mutfaga gitmis ve degisik boy, renk ve kalitede bir cok fincanin bulundugu bir tepsiyle geri dönmüs.Kimi porselen, kimi seramik, kimi cam, kimi plastik olan fincanlari ve kahve termosunu masaya koyup kahvelerini oradan almalarini söylemis.
Tüm eski ögrenciler kahvelerini alip koltuklarina döndügünde hocalari onlara sunu söylemis:
"Farkina vardiniz mi bilmem, zarif görünümlü, güzel, pahali fincanlarin hepsi alindi, masada yalnizca ucuz ve basit görünümlü fincanlar kaldi.Elbette ki kendiniz için en güzelini istemek ve onu almak çok normal ama iste bu demin bahsettiginiz problemlerinizin ve stresin nedeni.Hepinizin istedigi fincan degil, kahve iken, bilinçli olarak herbiriniz birbirinizin aldigi fincanlari gözleyerek daha iyi olan fincanlari almaya ugrastiniz. Yasam kahveyse, is, para ve mevki fincandir.Bunlar yalnizca Yasam'i tutmaya yarayan araçlardir, ama Yasam'inkalitesi bunlara göre degismez. Bazen yalnizca fincana odaklanarak, içindeki kahvenin zevkini çikarmayi unutabiliyoruz."

Tuesday, November 22, 2005

JavaBeans versus Enterprise JavaBeans

Yeah, my new distrubuted objects course project is about EJB. I have already started to study it. I will talk about it later. But for now I want to mention difference between JavaBeans and Enterprise JavaBeans. There are two kinds of javabeans in java and if you are new in this subject you can easily get confused.
Here is a short definition from Mastering EJB book(3th edition pg:16) :

"You may have heard of another standard called JavaBeans. JavaBeans are
completely different from Enterprise JavaBeans.
In a nutshell, JavaBeans are Java classes that have get/set methods on them.
They are reusable Java components with properties, events, and methods
(similar to Microsoft ActiveX controls) that can be easily wired together to
create (often visual) Java applications.
The JavaBeans framework is lightweight compared to Enterprise JavaBeans.
You can use JavaBeans to assemble larger components or to build entire
applications. JavaBeans, however, are development components and are not
deployable components. You typically do not deploy a JavaBean; rather,
JavaBeans help you construct larger software that is deployable. And because
they cannot be deployed, JavaBeans do not need to live in a runtime
environment and hence, in a container. Since JavaBeans are just Java classes,
they do not need an application server to instantiate them, to destroy them,
and to provide other services to them. An EJB application can use JavaBeans,
especially when marshalling data from EJB layer to another, say to components
belonging to a presentation tier or to a non-J2EE application written in Java."

train once, code anywhere; write once, run anywhere...

ACE-TAO open source hell

Last month I had to study on TAO which is a open source version of CORBA for C++.
I choosed it since it is free and advised by my instructor. (I am a master student :) ).
For the first week I only tried to install and build it on my notebook. It was like a hell. Whenever I want to build it I took hundereds errors. On the fourth day I did it. It took about 6 or 7 hours to build!.
It was not all. After I build it, I started my project but I couldn't do anything because there is no API! or a user guide. How can I learn more than ten thousands classes and all methods of these classes' functionality without an API.
After I fought with TAO for two weeks, I gave up. I installed MiddCor which is a third party ORB for .NET environment. I installed it in just a few minutes!. I used it for server side. For client side java orb which comes with JDK seems more suitable to me. I gave my project by using these ORBs.
What I learned from this is that, open source is not always best choice. Documentation is at least as important as product itself. Otherwise this product becomes a limited thing that only a few people can use.
Days with more open and more documented :)