I need to write a portal. It will be a simple one – the users can upload/download report templates, define datasources for the templates, & run reports. I’m hoping some of you can give me some guidance on a couple of questions:

1. Should I write a portlet (JSR 168) or a servlet?
  a. If it is a portlet, will it then run seamlessly under WebLogic & WebSphere?
  b. Does using the portlet css work well?
  c. Is there some way to determine how I should layout my portlet window to match the other portlets?
  d. Is there a common “portal” repository for a portlet – or do I just do my own access of a SQL database?
    i. And for my own access – JDBC or JDO? (I assume no on EJBs.)
2. For security, in a perfect world (this can be done if the user uses IE and IIS), the server can get the authenticated user from the browser, then query the O/S to determine if that user is in the group that has access to a given template.
  a. If this can be done, how do I get the authenticated user, call IsInRole on that user, and get a list of all groups in the domain (to display when prompting the user to assign what groups have access to a template).
  b. If this cannot be done, what is the most secure way to have them sign in. Not just secure over the link, but also secure in that I preferably do not touch their password and at most I pass it through once at the start of the session and do not record it. And at the same time, they only need to sign in once if possible. (Security is critical for some reporting situations.)
  c. And how do I call down to the underlying O/S for all user/group info. I definitely don’t want users to have to duplicate their users and groups from their domains in my system.
3. For the portal window, should I use HTML, DHTML, or Swing
  a. If HTML, should I use struts/JSTL/JSP or JSF?
  b. What’s easiest for the UI development – IntelliJ/Dreamweaver, BEA’s Workshop, or Sun ONE Studio?
4. Any books or urls you can suggest for the above?

Thanks – dave