tag:blogger.com,1999:blog-108756452024-03-07T00:08:17.284-08:00Java and J2EE technology blogThis is my Java/J2EE technology blog covering news, view and other information about Java, J2EE and all related content.Unknownnoreply@blogger.comBlogger11125tag:blogger.com,1999:blog-10875645.post-57644942257828776732006-12-23T11:08:00.000-08:002006-12-23T11:11:58.395-08:00Spaghetti CodeOne always guesses every one knows what a Spaghetti code is - a code which is hard to understand and maintain, a code which everyone is so scared to touch that bug fixes are always quick and dirty, and which makes code further spaghettier.<br /><br />I wonder has anyone thought about spagetti products. It may not consist of Spaghetti code, but uses myriad of technologies, frameworks, and solves variety of domain problems that its very difficult to add a new component in it. Hence, it becomes difficult to adding a new component in a consistent way, due to lack of consistent architecture and implementation.<br /><br />Given a product which uses a range of technologies and has evolved over period of time, the team responsible for adding a new component has a wide variety of technological choices to make. And sometimes, team pick the technology which they are comfortable with.<br /><br />And, we have something, what I would like to call, a Spaghetti product.<br /><br />Add to this, the changes in team over period of time, transitioning of product from one team to another team, outsourcing to partners, the product also runs the risk of developing spaghetti code. Over a period of time, it not only becomes difficult to maintain the product, but it also becomes equally difficult to enhance the product features or to add new components.<br /><br />Such products are typically a good candidate for re-architecture and re-design.<br /><br />Re-architecture and re-design do not guarantee that new product wont evolve to become spaghetti product over a period of time. It just adds a new life to the product.<br /><br />It seems that every code ultimately becomes spaghetti code at some point, and every product becomes spaghetti product.<br /><br />I also wonder whether Frameworks too will become spaghetti framework one day. Take Spring for example. It started as IoC container and light weight alternative to EJBs, but it has now lot of extensions such as Web Flow, Acegi security, and others which make it more spaghettier. Even though I am yet to read the whole of Spring 2.0 documentation, I sometimes feel that there is just too much being offered in one place, and probably its the pressure to keep adding value to the framework which forces teams to extend it release after release. Extensions may make sense in some cases, and in some cases it may be just an overkill and something which is added to level with competing frameworks.<br /><br />Sometimes, the technological advancements also forces extension. For instance, addition of annotations in Java 5.0 has pretty much lead to a wave of augmenting XML based configuration with annotation based configuration.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10875645.post-7339884456114726512006-12-18T19:03:00.000-08:002006-12-18T19:12:07.468-08:00Testing your java codeIt cannot be said enough that testing is the most important part of the development cycle. Even though I am not a tester (and not trying to push an agenda), I have seen that well written code without adequate test cases is not really something that any developer or team should strive for.<br /><br />And in the J2EE world, the best way you could possibly test code is by using Junits.<br /><br />Junit is simple testing framework designed around two key design patterns: the Command pattern and the Composite pattern. They are simple to write and check their own results and provide immediate feedback and they are relatively inexpensive to write (oh yeah - they are free in terms of cost).<br /><br />A TestCase is a command object. Any class that contains test methods should subclass the TestCase class. A TestCase can define any number of public testXXX() methods. When you want to check the expected and actual test results, you invoke a variation of the assert() method.<br /><br />TestCase subclasses that contain multiple testXXX() methods can use the setUp() and tearDown() methods to initialize and release any common objects under test, referred to as the test fixture. Each test runs in the context of its own fixture, calling setUp() before and tearDown() after each test method to ensure there can be no side effects among test runs.<br /><br />TestCase instances can be composed into TestSuite hierarchies that automatically invoke all the testXXX() methods defined in each TestCase instance. A TestSuite is a composite of other tests, either TestCase instances or other TestSuite instances. The composite behavior exhibited by the TestSuite allows you to assemble test suites of test suites of tests, to an arbitrary depth, and run all the tests automatically and uniformly to yield a single pass or fail status. <br /><br />Here is an FAQ on Junits:<br /><br /><a href="http://junit.sourceforge.net/doc/faq/faq.htm">http://junit.sourceforge.net/doc/faq/faq.htm</a><br /><br />and here is an excellent introduction to Junits<br /><br /><a href="http://today.java.net/pub/a/today/2004/01/22/DozenWays.html">http://today.java.net/pub/a/today/2004/01/22/DozenWays.html</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10875645.post-1148922155417173062006-05-29T10:02:00.000-07:002006-05-29T10:02:35.453-07:00Google Gapminder - Good Tool<P>This seems to be a very promising application. Any one tried to experiment with it.</P><br /><P><A href="http://blog.outer-court.com/archive/2006-05-29.html#n43"><B>Google Gapminder</B></A></P><br /><P><br /><P><A href="http://blog.outer-court.com/files/gapminder.png"><IMG alt="" src="http://blog.outer-court.com/files/gapminder.jpg"></A></P><br /><P>With <A href="http://tools.google.com/gapminder/">Gapminder</A>, as <A href="http://googlesystem.blogspot.com/2006/05/google-gapminder-visualize-world.html">Ionut writes</A>, “you can visualize World Development Indicators from The World Bank. You will see a scatterplot where each bubble represents a country. The position of the bubble is determined by the indicators on the axes. The size of the bubble represents the population of the country.” <SPAN class=via>[Thanks Justin Flavin and Ionut Alex. Chitu.]</SPAN></P><br /><P><STRONG>[<A href="http://blog.outer-court.com/archive/2006-05-29.html#n43">Original post</A> | <A href="http://blog.outer-court.com/forum/find/?postId=3057">Comments</A>]</STRONG></P><br /><P></P><br /><DIV align=right>[via <A href="http://blog.outer-court.com/">Google Blogoscoped</A>]</DIV>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10875645.post-1148445975314535532006-05-23T21:46:00.000-07:002006-05-23T21:46:15.353-07:00<a href="http://www.oreillynet.com/onjava/blog/2006/05/google_web_kit.html?CMP=OTC-FP2116136014&ATT=Google+Web+kit">Google Web 'kit</a><br /><br/ ><br /><br />Google released a tool kit to create light weight web applications called Google Web Toolkit.<br />You can find it at <a href="http://code.google.com/webtoolkit/">http://code.google.com/webtoolkit/</a><br /><p>Basically the GWT takes Java code and does a 1:1 translation to JavaScript with a kind fo cross-compiler. It is optimized and shrank and all that good stuff. This is a pretty cool idea to start with, however, when you add in their mock browser development system, and their hooks into the native browser on Win and Lin (sorry Mac), you get to step through and debug your *Java* code before it gets atomagically turned into the JavaScript. </p><br /><p>They include a JavaBean -> JavaScript serialization system, a completely runtime bound RPC system that calls back into a standard servlet, extended with your business method, The “JavaScript Native Interface”, which means basically you put additional direct JavaScript you want executed in a comment inside your “Will become JavaScript” classes and it gets inserted directly.</p><br /><p>As one person said, this was the presentation that made the show. it is both a technical tour de force and an amazingly useful tool at the same time. I will try and come back and cover this a little more later, and also get my JavaOne Day One roundup posted.<br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10875645.post-1138339040660351212006-01-26T21:17:00.000-08:002006-01-26T21:17:20.686-08:00Macromedia FLEX and Java<p>I was just skimming through Macromedia Flex and I should admit, it"s very impressive. </p><br /><p>It seems to be a pretty good way to create Rich Internet Applications (RIA). Since the flash player is already available in millions of computers, it is fast becoming a standard to deliver RIAs and it might even replace quicktime and other media applications. And Flex provides the perfect server side component for Macromedia to take advantage of all those computers with flash.</p><br /><p>Macromedia Flex is a presentation server that developers are using to build a new generation of Rich Internet Applications (RIAs). Rich Internet Applications combine the usability of desktop applications with the administrative advantages of the web.</p><br /><p>The Flex language capitalizes on the strengths of two popular development paradigms: markup languages and object-oriented programming languages.</p><br /><p>Check out a HelloWorld.mxml (Classic Hello World example, this time in flex). You define the user interface declaratively using MXML and write the copy logic in ActionScript in the click event handler for the Button component.</p><pre><font face="Times New Roman"><?xml version="1.0" encoding="utf-8"?><br /><br /><mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml"><br /><br /> <mx:TextInput id="source" width="100"/><br /> <mx:Button label="Copy" click="destination.text=source.text"/><br /> <mx:TextInput id="destination" width="100"/><br /><br /></mx:Application></font></pre><br /><p>The first time a user requests HelloWorld.mxml, the server compiles the MXML code into Flash bytecode (a SWF file). The server then sends the generated SWF file to the client where it executes in Flash Player. Subsequent requests to the same MXML document bypass the compilation process</p><br /><p>Now, where does this fit in with J2EE?</p><br /><p>Flex is a presentation server installed on top of a J2EE application server or servlet container, a rich library of user interface components, an XML-based markup language used to declaratively lay out these components, and an object-oriented programming language which handles user interactions with the application. The result is a Rich Internet Application rendered using Flash Player and developed using industry standards and a development paradigm familiar to developers.</p><span name="intelliTxt" id="intelliTxt"><br /><p>Developers use two core languages to create Flex applications. The first core language is MXML, the Macromedia Flex Markup Language, which includes a rich set of XML tags that allows developers to layout user interfaces. MXML can also be referred to as an <a href="http://xul.sourceforge.net/">XUL</a>, or XML UI Language. These tags can be extended, unlike HTML, with additional capabilities that the application requires. Other MXML constructs allow you to call remote objects, store data returned in a model, and customize your own look and feel to MXML components. </p><br /><p>The second core language for Flex development is ActionScript 2.0, which is an ECMA-compliant language similar to JavaScript. ActionScript elements are coded inside MXML pages. This is a strongly typed object-oriented language that should be familiar to Java developers. ActionScript also has robust event handling capabilities to allow the application to respond to dynamic user interactions. Because ActionScript runs inside the Flash plug-in, there is no need to rewrite several versions of the same code to support different browsers. This may not be the case with JavaScript code in a browser. Both MXML and ActionScript are text-based languages and can be written in a simple text editor, an IDE tool such as Eclipse, or a more sophisticated tool like the Flex Builder from Macromedia. If you have experience with Java, XML, and a scripting language such as JavaScript, you will experience a small learning curve to Flex development. </p><br /><p>The Flex server is responsible for translating the MXML and ActionScript components into Flash bytecode in the form of .SWF files. This process is similar to compiling JSP files into servlets by a Java web application container. The SWF file is executed on the client in the Flash runtime environment. The Flex server provides other services such as caching, concurrency, and handling remote object requests. </p><br /><p>For a great example check out <a href="http://maps.yahoo.com/beta/index.php">http://maps.yahoo.com/beta/index.php</a> which is all Flex based. Wow!</p><br /><p>Talkbacks and comments always welcome.</p></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10875645.post-1138141817194541032006-01-24T14:30:00.000-08:002006-11-12T12:04:01.796-08:00You've got EPP - Yea you know me!!<p style="font-family:times new roman;"><span style="font-size:130%;">EPP is a protocol that is used for various DNS registries talk to each other.</span></p> <p style="font-family:times new roman;"><span style="font-size:130%;">So, for example when you want to register a domain or transfer a domain from one provider to another, EPP provides an easy way to do this and to manage the work flows associated with these transactions.</span></p> <p style="font-family:times new roman;"><span style="font-size:130%;">EPP stands for Extensible Provisioning Protocol.</span></p> <p style="font-family:times new roman;"><span style="font-size:130%;">The EPP core protocol specificationprovides a complete description of EPP command and response structures. A thorough understanding of the base protocol specification is necessary to understand the mapping described in this document. </span></p> <div style="font-family:times new roman;"><span style="font-size:130%;">EPP is a connection-oriented, application </span><span style="font-size:130%;">layer client-server protocol for the provisioning and management of objects stored in a </span><span style="font-size:130%;">shared central repository. Specified in the schema notation of the Extensible Markup Language (XML), the protocol defines generic object management operations and an </span><span style="font-size:130%;">extensible framework that maps protocol operations to objects. A complete set of </span><span style="font-size:130%;">protocol specifications was recently published with the Internet Engineering Task Force </span><span style="font-size:130%;">(IETF) as Internet-Draft documents.<br /><br /></span></div><span style=";font-family:TimesNewRomanPSMT;font-size:130%;" >The EPP protocol suite currently contains a base protocol specification and mappings for </span><span style=";font-family:TimesNewRomanPSMT;font-size:130%;" >three different objects: Internet domain names, Internet host names, and “contact” </span><span style=";font-family:TimesNewRomanPSMT;font-size:130%;" >identifiers associated with humans and organizations. </span> <p style="font-family:times new roman;"><span style="font-size:130%;">Specifications for other objects </span><span style="font-size:130%;">may be developed as needs are identified.</span></p> <div style="font-family:times new roman;"><span style="font-size:130%;">EPP is connection oriented, but transport independent. A specification for transport using </span><span style="font-size:130%;">the Transmission Control Protocol (TCP) exists; specifications for transport using </span><span style="font-size:130%;">other protocols or applications frameworks may be produced in the future.</span></div><span style=";font-family:times new roman;font-size:130%;" ><epp xmlns="urn:iana:xmlns:epp" xsi="http://www.w3.org/1999/XMLSchema-instance" schemalocation="urn:iana:xmlns:epp epp.xsd"><response><trans-id></trans-id></response></epp></span><link style="font-family: times new roman;" href="http://www.enom.com/css/e3style-ext.css" type="text/css" rel="STYLESHEET"><!-- End Nav --><!-- Start Page content --><!-- Page Content Begin --> <span style="font-size:130%;"><img alt="blank02" src="http://img219.imageshack.us/img219/1728/blank027zt.gif" border="`" height="19" width="1" />A great matrix that outlines the details of various TLDs and their properties (Courtesy: <a href="http://www.enom.com/">http://www.enom.com/</a>)</span><span style=";font-family:Courier;font-size:100%;" ><span style=";font-family:Courier;font-size:100%;" ><span style=";font-family:Courier;font-size:100%;" ><span style=";font-family:times new roman;font-size:130%;" ><br /></span><link style="font-family: times new roman;" href="http://www.enom.com/css/e3style.css" type="text/css" rel="STYLESHEET"><link style="font-family: times new roman;" media="print" href="http://www.enom.com/css/print.css" type="text/css" rel="stylesheet"><link style="font-family: times new roman;" href="http://www.enom.com/css/e3style-ext.css" type="text/css" rel="STYLESHEET"><span style=";font-family:times new roman;font-size:130%;" ><br /></span><div style="font-family:times new roman;"><span style="font-size:130%;">As you may know there are multiple Top Level Domains also known by it"s shorthand TLDs ( like .com, .net etc.). And there are also a bunch of Country Code TLDs (ccTLDs).<br /><br /></span></div><div> <table style="width: 493px; height: 3743px;" bgcolor="red" border="0" cellpadding="3" cellspacing="1"> <tbody> <tr class="blueBack"> <th align="left"><b class="lgray">TLD</b></th> <th><b class="lgray">Reg.<br />Lock</b></th> <th><b class="lgray">Auto<br />Renew</b></th> <th><b class="lgray">Transfer</b></th> <th align="left"><b class="lgray">Additional<br />Info</b></th></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="biz"></a>.AC</b></td> <td><br /></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td align="left">Registrant must have obtained a professional or academic qualification or hold a valid membership of an Institute or Trade Assocation.</td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="biz"></a>.BIZ</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td>EPP</td> <td align="left">gTLD dedicated exclusively to the business community. The .BIZ domain can only be used for a "bona fide business or commercial use". </td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="bz"></a>.BZ</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td> <td align="left">The country-coded Top Level Domain (ccTLD) for the country of Belize. Anyone in the world can register a .bz name.</td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="ca"></a>.CA</b></td> <td><br /></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td align="left">Canada's ccTLD. There are additional contact attributes required for the Canadian ccTLD.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="cc"></a>.CC</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td>Auto or Fax</td> <td align="left">Top level domain for the Cocos (Keeling) Islands. Anyone in the world can register a .cc domain for any purpose.</td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="cn"></a>.CN</b></td> <td rowspan="4"><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td rowspan="4"><br /></td> <td rowspan="4">EPP</td> <td rowspan="4" align="left">China's ccTLD.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="comcn"></a>.COM.CN</b></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="netcn"></a>.NET.CN</b></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="orgcn"></a>.ORG.CN</b></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="com"></a>.COM</b></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><nobr>Auto or Fax</nobr></td> <td align="left">Short for .commercial. Domain names with the .com extension are by far the most popular, and can be purchased by any individual or business.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="brcom"></a>.BR.COM</b></td> <td rowspan="14"><br /></td> <td rowspan="14"><br /></td> <td rowspan="14"><br /></td> <td align="left">2nd Level Domain for Brazil.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="cncom"></a>.CN.COM</b></td> <td align="left">2nd Level Domain for China.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="decom"></a>.DE.COM</b></td> <td align="left">2nd Level Domain for Germany.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="eucom"></a>.EU.COM</b></td> <td align="left">2nd Level Domain for Europe.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="hucom"></a>.HU.COM</b></td> <td align="left">2nd Level Domain for Hungary.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="nocom"></a>.NO.COM</b></td> <td align="left">2nd Level Domain for Norway.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="qccom"></a>.QC.COM</b></td> <td align="left">2nd Level Domain for Quebec.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="rucom"></a>.RU.COM</b></td> <td align="left">2nd Level Domain for the Russian Federation.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="sacom"></a>.SA.COM</b></td> <td align="left">2nd Level Domain for Saudi Arabia.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="secom"></a>.SE.COM</b></td> <td align="left">2nd Level Domain for Sweden.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="ukcom"></a>.UK.COM</b></td> <td align="left">2nd Level Domain for the United Kingdom.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="uscom"></a>.US.COM</b></td> <td align="left">2nd Level Domain for the United States.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="uycom"></a>.UY.COM</b></td> <td align="left">2nd Level Domain for Uruguay.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="zacom"></a>.ZA.COM</b></td> <td align="left">2nd Level Domain for South Africa.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="de"></a>.DE</b></td> <td><br /></td> <td><br /></td> <td><br /></td> <td align="left">Germany's ccTLD The administrative contact must have a street address or P.O. box within Germany. .DE names require a minimum of 2 name servers.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"><!-- TLD --> <td align="left"><b><a name="gs"></a>.GS</b></td><!-- Reg Lock --> <td><br /></td><!-- Auto Renew --> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td><!-- Transfer --> <td><br /></td><!-- ID Protect --> <!-- Reg period --> <!-- Pre configure --> <!-- note --> <td align="left">WHOIS changes must be made at the Registry.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="in"></a>.IN</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td>EPP</td> <td align="left">Top level domain for India. Anyone in the world can register a .in name.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="info"></a>.INFO</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td>EPP</td> <td align="left">The first unrestricted top-level domain since .com, .info domains are available to the general public.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="biz"></a>.IO</b></td> <td><br /></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td align="left"><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="jp"></a>.JP</b></td> <td><br /></td> <td><br /></td> <td><br /></td> <td align="left">Japanese address requirements. Multilingual names will not be supported.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="ms"></a>.MS</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td> <td align="left">WHOIS changes must be made at the Registry. </td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="name"></a>.NAME</b></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td> <td align="left">Available to the general public, .name email addresses are listed as firstname@lastname.name or lastname@firstname.name, while Web sites are listed as www.firstname.lastname.name.<br /><br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="net"></a>.NET</b></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td>Auto or Fax</td> <td align="left">Short for .network, this domain extension was originally designed to be used by technical Web sites. However, domains using this extension can be registered by anyone.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="uknet"></a>.UK.NET</b></td> <td rowspan="2"><br /></td> <td rowspan="2"><br /></td> <td rowspan="2"><br /></td> <td align="left">2nd Level Domain for the United Kingdom.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="senet"></a>.SE.NET</b></td> <td align="left">2nd Level Domain for Sweden.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="nu"></a>.NU</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td> <td align="left">The ccTLD for the country of Niue. There are no residency restrictions, these domains can be registered by anyone. </td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="org"></a>.ORG</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td>EPP</td> <td align="left">Short for .organization. Originally designated for non-profit firms and any other organizations that did not fit under the .com or .net extension, any individual or business may now register a .org domain name.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="biz"></a>.SH</b></td> <td><br /></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td align="left">Registrant must have obtained a professional or academic qualification or hold a valid membership of an Institute or Trade Assocation.</td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="ms"></a>.TC</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td> <td align="left">WHOIS changes must be made at the Registry.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="tm"></a>.TM</b></td> <td><br /></td> <td><br /></td> <td><br /></td> <td><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="tv"></a>.TV</b></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="comtw"></a>.COM.TW</b></td> <td rowspan="3"><br /></td> <td rowspan="3"><br /></td> <td rowspan="3"><br /></td> <td rowspan="3" align="left">Taiwan's ccTLD<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="orgtw"></a>.ORG.TW</b></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="idvtw"></a>.IDV.TW</b></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="us"></a>.US</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td>EPP</td> <td align="left">Note: You must meet all the .US Nexus registration requirements to register a name in the .US TLD.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="couk"></a>.CO.UK</b></td> <td rowspan="2"><br /></td> <td rowspan="2"><br /></td> <td rowspan="2">Auto</td> <td rowspan="2" align="left">Currently, contact information modifications are not immediate. .UK names require a minimum of 2 name servers. Name servers changes/updates may take up to half an hour. A renewal cannot be issued until at least five (5) months prior to the domain's expiration date and effects of a renewal do not occur instantly.<br /><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="orguk"></a>.ORG.UK</b></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="kidsus"></a>.KIDS.US</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td> <td><br /></td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="ms"></a>.VG</b></td> <td><br /></td> <td><img src="http://img219.imageshack.us/img219/6111/tldche026cl.gif" border="0" height="19" width="20" /></td> <td><br /></td> <td align="left">WHOIS changes must be made at the Registry. </td></tr> <tr class="lgrayBack" align="center" valign="top"> <td align="left"><b><a name="ws"></a>.WS</b></td> <td><br /></td> <td><br /></td> <td><br /></td> <td><br /></td></tr> <tr class="grayBack"> <td colspan="5"><img src="/images/blank.gif" border="0" height="1" width="1" /></td></tr></tbody></table></div></span></span></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10875645.post-1137725706896424112006-01-19T18:50:00.000-08:002006-01-20T19:03:30.903-08:00Why do JDBC drivers always create problemsI'm not sure if the readers of this blog have seen this problem but I've always seen driver issues (especially JDBC drivers) when deploying applications. Why does every vendor have tens of jdbc driver versions and why does every database vendor create a bunch of drivers for every release out there.<br /><br />This kind of incompatiblity between application servers, database vendors and third party API developers is causing serious productivity problems and is causing costs to jump through the roof for major J2EE implementation and most seriously causing a serious fragmentation of the market. This allows alternate frameworks (like Spring, Hibernate etc.) and competing technologies (like .NET etc.) to hit J2EE where it hurts!!<br /><br />Talkbacks welcome.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-10875645.post-1137520595224089132006-01-17T09:56:00.000-08:002006-01-17T15:25:34.703-08:00How many of you are going to the AJAX Seminar?AJAX seems to have a lot of momenutm going for it (at least it seems so or maybe there are a lot of people ready to exploit it to make a few bucks..only time shalt tell!)<br /><br />But in any case, looks like we are already having the FIRST Ajax Seminar in NYC on March 13 and San Jose on April 24.<br /><br />Here is a list of some of the speakers that are scheduled to speak at the seminar:<br /><br /><strong>Jesse James GarrettFather of AJAX</strong><br />Jesse James Garrett is the Director of User Experience Strategy and a founding partner of Adaptive Path, the world's premier user experience consulting company. He is author of The Elements of User Experience (New Riders), and is recognized as a pioneer in the field of information architecture. Jesse's clients include AT&T, Intel, Crayola, Hewlett-Packard, Motorola, and National Public Radio. Since starting in the Internet industry in 1995, Jesse has had a hands-on role in almost every aspect of Web development, from interface design and programming to content development and high-level strategy. Today, information architects around the world depend on the tools and concepts he has developed, including the widely acclaimed "Elements of User Experience" model. He is co-founder of the Information Architecture Institute, the only professional organization dedicated to information architecture. He is also a frequent speaker and writer whose work has appeared in numerous publications, including New Architect, Digital Web, and Boxes and Arrows.<br /><br /><br /><strong>Scott DietzenOne of the Fathers of WebLogic and J2EEPh.D.,</strong><br /><br />President and CTO, Zimbra Prior to Zimbra, Scott was CTO of BEA Systems where he was the principal architect of the technology strategy for the WebLogic, which drove the company from $61 million in revenue for the year prior to WebLogic's acquisition to over $1 billion. He was also one of BEA's top spokespersons. He is widely credited with helping put together the J2EE standard, launching the Web application server category, launching the Java Community Process, and driving the web services collaboration with Microsoft and IBM. Prior to WebLogic, Scott was Principal Technologist for Transarc (acquired by IBM), a developer of distributed transaction and information sharing systems. In addition to working on Internet infrastructure since 1991, Scott has managed teams focused on sales, marketing, product management, and standards. He earned his Ph.D. and M.S. in Computer Science and B.S. in Applied Mathematics and Computer Science from Carnegie Mellon University.<br /><br /><strong>Bill Scott AJAX Evangelist of Yahoo!:</strong> Bill Scott, one of the top AJAX experts in the country, is an Interaction Designer and Ajax Evangelist at Yahoo! He is part of the newly formed Design and Practices Team working with teams throughout Yahoo! to create a rich experience on the web. Before joining Yahoo! Bill founded the User Experience Team at Sabre Airline Solutions, part of Sabre Holdings. During that stint he also co-founded Rico, an open source JavaScript framework for creating Ajax & DHTML web applications. Over the past 20 years Bill has been involved in designing and creating user interfaces for video games, military war games, 3d graphics, oil and gas research, software development environments, supply chain planning, and various other scientific and business domains. He posts his musings about user experience on his blog.<br /><br /><strong>David Heinemeier HanssonCreator of Ruby on Rails</strong><br />US-based since November, David Heinemeier Hansson is the development lead of Rails, also known as Ruby on Rails, which the official Ruby on Rails website irreverently describes as "a full-stack, open-source web framework in Ruby for writing real-world applications with joy and less code than most frameworks spend doing XML sit-ups." He has had help from a lot of contributors. David is the creator of applications like Instiki, Basecamp, and Ta-da, and has now joined the Chicago-based team of 37signals.com, a privately-held company founded in 1999 and committed to building the best web-based software products possible with the least number of features necessary. David will give his first presentation on “AJAX in Rails” at the “Real-World AJAX” one-day seminar.<br /><br />There are plenty of other speakers as well and the list looks impressive.<br /><br />The cost varies from about $1000 to about $1300 (a bit expensive considering it's only for 1 day)Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-10875645.post-1132801968004660922006-01-16T19:12:00.000-08:002006-09-06T21:40:46.406-07:00AJAX - Hype or Real?<span style="font-weight: bold; color: rgb(204, 0, 0);"> What is AJAX. </span><br /><br /><span style="color: rgb(0, 0, 0);"><span style="color: rgb(204, 0, 0);">AJAX </span>is nothing more than a nice acronym for Asynchronous JavaScript And XML.</span><br /><br /><span style="color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">AJAX </span>is a web development technique for creating interactive web applications using a combination of:</span><br /><br /><span style="color: rgb(0, 0, 0);">• XHTML, HTML and CSS for marking up and styling information.</span><br /><span style="color: rgb(0, 0, 0);">• The DOM (Document Object Model) manipulated through JavaScript to dynamically display and interact with the information presented</span><br /><span style="color: rgb(0, 0, 0);">• The XMLHttpRequest object to exchange data asynchronously with the web server. </span><br /><span style="color: rgb(0, 0, 0);">• And finally XML for transfering data, although any format will work, including preformatted HTML, plain text.</span><br /><br /><br /><span style="color: rgb(0, 0, 0);">Ajax's prime advantage over other Rich Internet Application technologies is seamless integration with HTML so it can be used incrementally without the need to change existing Web content. </span><br /><br /><span style="color: rgb(0, 0, 0);">However, the AJAX technology is still immature, and tools and frameworks have not gained a lot of traction yet. It involves a lot of work with toolkits and libraries.</span><br /><br /><span style="color: rgb(0, 0, 0);"><span style="color: rgb(255, 0, 0);">Rich Internet Applications</span> are those applications that offer functionality beyond standard HTML frames and hyperlinks. A well-noted example of Ajax functionality is Google Maps. </span><br /><br /><span style="color: rgb(0, 0, 0);">While Ajax is a recently coined termed, it has been around since the introduction of JavaScript. It is based on JavaScript/ECMAScript, Cascading Style Sheets, Document Object Model and XML HTTP Request. Initially, it was difficult to design Ajax-style applications that ran across different browsers but now the mainstream browsers have migrated to support the Microsoft implementation of these technologies as a lowest common denominator.</span><br /><br /><span style="color: rgb(0, 0, 0);">The dominant RIA technology in use today is Macromedia Flash/Flex. Other RIA technologies include the user interface markup language for the Microsoft Windows Presentation Foundation called XAML (Extensible Application Markup Language), Mozilla's XML-based user interface language XUL, droplets and Java applets, and Microsoft's upcoming Windows Presentation Foundation/Everywhere (WPF/E). </span><br /><span style="color: rgb(0, 0, 0);">Microsoft is planning to roll out an Ajax framework extension, code-named Atlas, which looks very promising.</span><br /><br /><span style="color: rgb(0, 0, 0);">One of the big problems with AJAX used to be that there was not too much support for it in industry standard IDEs. Over the recent months, slowly but effectively other integrated development environments (IDEs) are being made available for Ajax although many are not yet mainstream. These include Javascript Synthsis Technology (JST) from Morfik Technology, IntelliJ IDEA 5.0 from JetBrains, Tibco General Interface (GI) from Tibco Software, Visual GUI Builder from JackBe, Backbase from Backbase B.V. and the open source Ruby on Rails framework. </span><br /><span style="color: rgb(0, 0, 0);">The Tibco tool for writing Ajax applications looks quite good. </span><br /><br /><span style="color: rgb(0, 0, 0);">In addition to IDEs or framework extensions, there are also Ajax UI tools and remoting tools available -- more than four dozen in all, including both proprietary and open source offerings. </span><br /><br /><span style="color: rgb(0, 0, 0);">According to a recent Burton Group survey of 488 Ajax developers, the most popular tool kits, libraries and framework extensions are Prototype, a JavaScript framework with an MIT-style license; Script.aclo.us, a JavaScript library with an MIT-style license; Direct Web Remoting, which has an Apache 2.0 license; the Dojo UI tool kit with Academic Free License v 2.1; and Ruby on Rails. </span><br /><br /><span style="color: rgb(0, 0, 0);">To date, much of the Ajax attention has been focused on business-to consumer Web sites, but Ajax does have some synergy with Web services and SOA, and it could impact enterprise portals. </span><br /><br /><span style="color: rgb(0, 0, 0);">Some people believe Ajax will be a major comeback factor in portal solutions. Portals came out with a lot of hype, but in reality they're not a quite a silver bullet. But the ability to combine Ajax presentation with portal functionally will enhance the corporate user experience.</span><br /><span style="color: rgb(0, 0, 0);">One of the problems with Ajax is that it can be easily abused. If developers don't understand usability theory, they will apply it in a way that will be a nuisance and people will turn off JavaScript. </span><br /><span style="color: rgb(0, 0, 0);">The analogy I use is the browser popup window, which was originally a usability feature, but it was so abused it became a pariah of the Web and people disabled them.</span><br /><span style="color: rgb(0, 0, 0);">So as of now, there is no clear data whether AJAX is just hype or a reality that will make its way into enterprises. </span><br /><br /><span style="color: rgb(0, 0, 0);">My personal suggestion is to wait and watch to see how the industry embraces AJAX but in the meantime, do prepare yourself with at least the basics of AJAX so when enterprises are ready to embrace AJAX, you already are!!</span><br /><br /><span style="color: rgb(0, 0, 0);">Here are some nice links for you to get started:</span><br /><br /><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">•</span> <a href="http://en.wikipedia.org/wiki/AJAX">http://en.wikipedia.org/wiki/AJAX</a></span><br /><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">•</span> <a href="http://www.javalobby.org/articles/ajax/">http://www.javalobby.org/articles/ajax/</a></span><br /><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">• </span><a href="http://dhtmlnirvana.com/ajax/ajax_tutorial/">http://dhtmlnirvana.com/ajax/ajax_tutorial/</a></span><br /><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">•</span> <a href="http://dhtmlnirvana.com/ajax/ajax_tutorial/">http://www-128.ibm.com/developerworks/library/j-ajax1/</a></span><br /><br /><br /><span style="color: rgb(0, 0, 0);">Talkbacks and comments are always welcome.</span>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-10875645.post-1132801832255421982006-01-16T18:45:00.000-08:002006-01-17T10:00:03.800-08:00So what's up with Geronimo?<p class="MsoNormal"><b style="">What is <span class="articletitle">Geronimo?</span></b><span class="articletitle"> <o:p></o:p></span></p> <p class="MsoNormal"><span class="articletitle">Another open source application server? Haven’t we already had enough of open source application sources - JBoss, JonAs, going back all the way to Tomcat? (Agreed Tomcat has always been more of a web container than a J2EE container).<o:p></o:p></span></p> <p class="MsoNormal"><span class="articletitle">But seriously, Geronimo, is the new application server built by Apache (widely considered as the best and most superior open source groups out there) and they built the Apache web server that is still running the majority of internet. So coming from Apache, a J2EE container is a big deal. <o:p></o:p></span></p> <p class="MsoNormal"><span class="articletitle">According to the official Geronimo website:<o:p></o:p></span></p> <p>The Geronimo project is an open source application server developed by the <a href="http://en.wikipedia.org/wiki/Apache_Software_Foundation" title="Apache Software Foundation">Apache Software Foundation</a> and distributed under the <a href="http://en.wikipedia.org/wiki/Apache_license" title="Apache license">Apache license</a>.<o:p></o:p></p> <p>Geronimo is currently compatible with the Java 2 Enterprise Edition (J2EE) 1.4 specification. When compared to other application servers such as JBoss, WebLogic and Websphere, Geronimo's most distinctive features are its:<o:p></o:p></p> <ul type="disc"><li class="MsoNormal" style=""><b>BSD-style license</b>, which allows it to be modified for and embedded within commercial, closed source software (unlike the popular <a href="http://en.wikipedia.org/wiki/GPL" title="GPL">GPL</a> and <a href="http://en.wikipedia.org/wiki/LGPL" title="LGPL">LGPL</a> licenses)<o:p></o:p></li><li class="MsoNormal" style=""><b>Modular GBean-based architecture</b>, which allows users to remove unneeded services and build very lightweight configurations of the server<o:p></o:p></li><li class="MsoNormal" style=""><b>Non-Profit ASF leadership</b>, which provides legal protection, ensures stability across the loss of individual contributors and insulates the project from commercial conflicts of interest<o:p></o:p></li><li class="MsoNormal" style=""><b>Diverse support community</b>, in which companies compete freely and openly to provide services, with none enjoying any particular trademark advantage<o:p></o:p></li></ul> <p class="MsoNormal"><span class="articletitle"><span style=""> </span>What makes Geronimo so special as compared to other Application Servers (other than the Apache name?)<o:p></o:p></span></p> <p class="MsoNormal"><span class="articletitle"><o:p> </o:p></span></p> <ul style="margin-top: 0in;" type="disc"><li class="MsoNormal" style=""><span class="articletitle">Here is what I think the main points about Geronimo are:<o:p></o:p></span><span class="articletitle"><o:p> </o:p></span></li></ul> <ul style="margin-top: 0in;" type="disc"><li class="MsoNormal" style=""><span class="articletitle">Complete J2EE 1.4 Application Server<o:p></o:p></span></li></ul> <ul style="margin-top: 0in;" type="disc"><li class="MsoNormal" style=""><span class="articletitle">Built on best of breed components (Tomcat/Jetty, OpenEJB, HOWL, etc.)<o:p></o:p></span><span class="articletitle"><o:p> </o:p></span></li></ul> <ul style="margin-top: 0in;" type="disc"><li class="MsoNormal" style=""><span class="articletitle">Modular architecture (server core plus services grouped into “configurations”)<o:p></o:p></span></li></ul> <ul style="margin-top: 0in;" type="disc"><li class="MsoNormal" style=""><span class="articletitle">Open community & open license<o:p></o:p></span><span class="articletitle"><o:p> </o:p></span></li></ul> <ul style="margin-top: 0in;" type="disc"><li class="MsoNormal" style=""><span class="articletitle">Fast JMS server included<o:p></o:p></span></li></ul> <ul style="margin-top: 0in;" type="disc"><li class="MsoNormal" style=""><span class="articletitle">An excellent Web-based management console included<o:p></o:p></span><span class="articletitle"><o:p> </o:p></span></li></ul> <p class="MsoNormal"><span class="articletitle">Having said that, I must say, in my trials I noticed that Geronimo is not yet industry, productions standards but that may be just a temporary phenomenon. The application server has a lot of promise and even though BEA, IBM and other commercial vendors are a bit worried, Geronimo could turn out to be the greatest threat to another application server – JBoss.<o:p></o:p></span></p> <p class="MsoNormal"><span class="articletitle">After all, who would buy a “commercial” open source application server like JBoss when a completely free and superior version like Apache Geronimo is available? <o:p></o:p></span></p> <p class="MsoNormal"><span class="articletitle"><o:p> </o:p>It only remains to be seen. <o:p></o:p></span></p> <p class="MsoNormal"><span class="articletitle"><o:p> </o:p>Talkbacks and comments always welcome!<o:p></o:p></span></p> <p class="MsoNormal"><span class="articletitle"><o:p> </o:p></span></p> <p class="MsoNormal"><span class="articletitle"><o:p> </o:p></span></p> <p class="MsoNormal"><span class="articletitle"><o:p> </o:p></span></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10875645.post-1108930682849513372006-01-14T12:13:00.000-08:002006-01-16T21:04:03.156-08:00How to get a good J2EE job<span style="font-weight: bold;">Some thoughts on what a good J2EE developer should know. I am not saying I know all this well but it's good to see what the standards are<span style="background-color: rgb(204, 0, 0);" name="textmarker_9" id="textmarked_8"></span><span style="background-color: rgb(255, 102, 0);" name="textmarker_8" id="textmarked_7"></span><span style="background-color: rgb(204, 0, 0);" name="textmarker_7" id="textmarked_6"></span><span style="background-color: rgb(204, 0, 0);" name="textmarker_6" id="textmarked_5"></span><span style="background-color: rgb(204, 0, 0);" name="textmarker_5" id="textmarked_4"></span><span style="background-color: rgb(255, 255, 102);" name="textmarker_4" id="textmarked_3"></span><span style="background-color: rgb(204, 0, 0);" name="textmarker_3" id="textmarked_2"></span><span style="background-color: rgb(204, 0, 0);" name="textmarker_2" id="textmarked_1"></span><span style="background-color: rgb(255, 255, 102);" name="textmarker_1" id="textmarked_0"></span><br /><br />What does a good J2EE developer have to know in addition to understanding</span><br /><span style="font-weight: bold;">the difference between abstract classes and interfaces? </span><br /><br />Usually employers are looking for people with at least 10 of the following skills:<br /><ul> <li>Java Servlets</li> <li>JSP</li> <li>Struts or a similar framework</li> <li>EJB</li> <li>JMS Any commercial message-oriented middleware</li> <li>JDBC</li> <li>JNDI</li> <li>HTML</li> <li>XML</li> <li>Ant</li> <li>SQL</li> <li>One of the major application servers(Websphere/Weblogic/JBoss)</li> <li>Couple of relational database management (Oracle/MySQL/DB2) systems<br /></li> <li>Any UML modeling tool, several design patterns (at least a Singleton!)<br /></li> <li>Familiarity with Unix. Next year JavaServer Faces and Hibernate will most likely be included in this laundry list.</li> </ul> Understanding why a particular J2EE component is being used in your project is equally important. If the interviewer asks you, “Why did you use EJB in this project?”, have your own opinion and explain why you think it was a good or bad choice for this particular project.<br /><br /><span style="font-weight: bold;">Good knowledge of the business terminology of your potential employer is also important. I’m not sure about the Silicon Valley or Europe, </span><span style="font-weight: bold;">but here in New York just being a techie may not be good enough to get a senior job.<br /></span><br />For example, if you’re applying for a Java position in a financial brokerage company and don’t know what a short sale is, this may be a showstopper. If you are a senior developer, you should<br />be able to hit the ground running.<br />Try to find out from your recruiter as many details as possible about the business of your potential employer, do your homework, and you’ll get the job!<br /><br /><span style="font-weight: bold;"><br /></span>Unknownnoreply@blogger.com0