My friend, there are no dumb questions. There are only dumb people, and the dumb people are the ones that never ask questions.
I actually meant to post a reply to this, but got sidetracked. It's a good question.
As an author of a book on JSR168 programming, I'd like to tell you that all of your time is spent developing portlets, and that you really need to buy multiple copies of my books, and do my free online portlet development tutorials relentlessly, but that wouldn't quite be the whole truth.
I think initially, as a traditional website gets 'portalized', a fair bit of time is consumed taking functionality in PL\SQL programs, or old Servlet/JSP programs, and wrapping them in a portlet paradigm. Usually a couple of developers get tasked with that, and in the prep stage, those developers will spend about 80% of their time developing using the Portlet API. But even then, many of the complex portlets leverage JSF or Struts, so even when apps are ported to the portal, quite a bit of time is often spent doing JSF programming, not direct portlet API programming.
But initially, I'd say your team would have a few programmers spending quite a bit of time doing portlet programming, or at least, messing around with the portlet API.
After that though, many portal sites tend to deliver updates through content management mechanisms. This gets you away from direct API work, and throws you a bit more into contennt management arenas. So, maybe 50% of your time is working with various Stellant or LWCCM APIs or something and maybe 30% fighting with the portlet API.
I'd say after a site gets up and running, most of your work then hinges around content management and even personalization techniques. Your portlet API skills come in handy about 20% of the time, and it's usually advanced skills you need at this point, but you're certainly not spending all of your time doing portlets.
On the other hand, I spent a fair bit of time as a 'Portlet Programmer for Hire' when the portal was hot, and probably spent 80% of my time doing pretty direct API stuff, while the other 20% was in meetings or mentoring my fellow programmers. I just went from lucrative contract to lucrative contract, so the API pretty much consumed my life. I assume the same thing will happen when JSR-286 comes out and those skills are needed again. By the way, if you know of any 'lucrative portal' contracts in Canada, let me know.
Does that make a bit of sense for you?
I totally understand why you asked the question. I think it's a question alot of developers ask. I'd love to know why you're asking the question, or what your experience with the API is, so please, continue the thread with some of your own personal experience.
Thanks a ton Cameron. You put in such much effort and depth into every one of your responses. This was precisely the kind of answer I was looking for. I primarily work with EJBs and had minimal exposure to Servlets and JSPs. I thought of learning servlets and JSPs(or rather pick up where I left off) which Im doing now, i also knew getting into servlets and JSP would also entail a whole lot of frameworks etc, so its a heavy investment in time. Im afraid, or was afraid that all this would be wasted when everything would start being done in portlets(this was a misconception), so I began thinking if servlets and JSPs really had a future at all?. After reading around a bit, also spending time on your site I see this isn't the case and the two aren't replacements for each other.(this brings up another question of why portals in the first place then?...but I wouldn't want to bother you with this as I'm sure it has been asked on this forum before..so I will read on). few questions If you dont mind 1.is your book "JSR-168 Portlet Development Simplified, Second Edition: Learning How to Develop Effective, JSR-168, Portal Applications, Everything from the GenericPortlet to the Struts and JSF Apache Portlet Bridges" For complete newbies and is it container independent? 2.Are your books available in India? [ September 21, 2007: Message edited by: Chunnard singh ]
I mean, there are slight differences and nuances, but those objects and methods are so very similar in purpose, that moving from one API to the other is very easy. Plus, in JSR-286, we will see things like the PortletFilter, which is identical in purpose to the ServletFilter, along with a few other key features that seem pulled almost directly from the Portlet API.
Plus, a portlet does not throw away EJBs or anything. You still use them from within the portlet, just as you would use them from within a servlet. Hopefully it is done in an architecturally astute, service oriented manner, but you know what I mean.
As far as my Portlet Development Book, it is completely portal server agnostic. It just shows you how to develop portlets that will run on any JSR168 compliant portal server. In the appendix, it demonstrates how to use the Java compiler and a free download of JetSpeed 2.1 to write, compile and test a portlet, but that is the only reference to JetSpeed in the book. I also show how to deploy to Pluto in another appendix, but again, the book is about the JSR-168 API, and only the appendices reference specific portal servers.
The books are not in bookstores in India, but you can buy them through amazon and I can delilver them to you. They get there fairly quickly, actually. I do not like to hijack these threads to promote my books, as the JavaRanch Gods do not look kindly on that.
Feel free to message me through JavaRanch for more information about the Portlet Programming books. Of course, for portlet related discussions, feel free to start a new thread. That way everyone can take advantage of the questions that you think are dumb, but at the same time, everyone else is too afraid to ask.