Monday 13 December 2010

EL and UEL in JSP and JSF

JavaServer Pages (JSP) technology uses an expression language (EL) to access data from JSP pages. EL started out as the JavaServer Pages Standard Tag Library (JSTL), version 1.0 expression language, originally called SPEL (Simplest Possible Expression Language).

JavaServer Faces (JSF) technology enhances JSP with flexible and extensible UI component model, including:
  • a set of classes that define UI components.
  • a mechanism for handling events generated by the components.
  • a process for converting and validating component data. 
A separate EL was created for JavaServer Faces Technology, capable of:
  • wiring events generated by the components to server-side code.
  • binding the components to server-side data objects.
  • registering data validators and converters with the components.
Expression language used by the JSTL tags conflicted with that used by the component tags! Unifying these expression languages was highly desirable.

The new unified EL (UEL) essentially represents a union of the JSP and JavaServer Faces expression languages.

http://java.sun.com/products/jsp/reference/techart/unifiedEL.html

Thursday 2 December 2010

What is Oracle ADF?

In my understanding, Oracle ADF (Application Development Framework) is a technology for visual and declarative Internet application development. This "conceptual framework" is  implemented by JDeveloper, Oracle's main IDE for Java EE programming. ADF encompasses, abstracts and sometimes re-defines a huge variety of concepts from all the different technologies used by a multiple-tier architecture, going from the database to JSF, through EJBs and Ajax (itself not a proper technology, but a combination of different Web programming techniques).

An Oracle White Paper, published in July 2009, describes the ADF architecture and its benefits over other frameworks (Oracle Application Development Framework Overview).

Still I have several puzzles, for instance: What are ADF business components? Enterprise JavaBeans? Something else or something more?