Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Child pages (Children Display)
depth2

Developing

...

What kind of Java expertise is necessary to develop a campus portal using uPortal?

In general, to use the uPortal framework to develop a campus portal (the "instance" of the portal for use with your application server), over and above the level of expertise necessary to administer your application server (see above), you must be an experienced Java programmer, familiar with the JDK 1.2 tools for compiling, packaging, deploying and running server-side Java programs, and conversant with most of the technologies that comprise the J2EE specification. Specifically, at a minimum, you must have experience with:

  • XML. The uPortal framework uses XML and XSLT extensively to ensure the platform independence of data and to separate that data from it's presentation. To develop a portal with uPortal, you will have to create/edit XML files and create/edit XSL stylesheets. If you're not fluent with the XML-related APIs in Java, (McLaughlin2000) provides a comprehensive tutorial on writing Java programs that can create and manipulate XML documents. The uPortal developers highly recommend (Kay2000) to those looking for a tutorial and in-depth reference guide to XSLT. (Bradley2000) provides a guide to the overall XSL standard.
  • JSP: The portal framework uses Java Server Pages to facilitate the intermixing of markup language code required by a web browser and programming language code that leverages the underlying Java Runtime environment. If you want to change the look and feel of the portal substantially, you'll have to edit Java Server Pages, so you should understand how to use JSP syntax correctly. For those looking for a tutorial on JSP, (Manning) is an excellent choice.
  • Servlets. JSP works as an abstraction layer on top of the Java Servlets API and because of this, experience writing servlets will come in handy. Several programming 'idioms' in the portal code originated with Servlet programming. Although now a little dated, (Hunter1998) is a great tutorial on Java Servlets. The publisher expects to release a new edition soon.
  • SQL. The portal requires the use of a relational database to store some user, authentication, and channel subscription information, and the standard way to issue requests to a relational database server is using SQL, the Structured Query Language. You must therefore be familiar with the syntax and proper use of SQL in order to work with the uPortal framework. (Gulutzan1999) offers comprehensive coverage of the SQL standard. I say these are minimums because if you want to deliver something over and above the minimum functionality (for example authenticating via an LDAP server) then you'll have to be familiar with other J2EE technologies and/or APIs (for example, JNDI).

You keep writing that uPortal is a framework. Isn't that just an empty yuppie marketing word?

No. I'm using the word 'framework' in its widely-accepted, Software Engineering sense (Wirfs-Brock1991). A framework is a reusable design, expressed as a set of classes, that can serve as a solution to a family of related problems and support reuse at a larger granularity than classes. A mature framework allows components to be reusedas "black boxes", that is, a programmer can incorporate them into a system under construction without knowing their implementations (Johnson1998). Most frameworks in widespread use today are for constructing graphical user interfaces (GUIs) for traditional desktop applications. uPortal is different in that it's a framework for developing a web portal and developing content for display within that portal, but the underlying principal of both kinds of frameworks is the same: the framework provides programmers with an infrastructure that supports a coherent architectural model, allowing developers to concentrate on applying their expertise to the problem domain. In the case of uPortal, the framework takes care of the common functionality that every portal needs, so that you can implement the parts that are important and specific to your campus.

Developing content and applications for use with uPortal

...