Transcript Prospettive

Prospettive
Components History
OO
 COM, CORBA (IDL)
 JVM, JavaBeans
 Supporto ai componenti nel Runtime:

– Interface programming
– Dynamic loading
– Metadata and Reflection
.Net
 XML Web Services

Web Oggi

Base:
–
–
–
–

HTML 4.01, XHTML 1.0
CSS 2.1
XML 1.1
PNG
Advanced:
–
–
–
–
–
–
–
SVG
VML
VRML
MathML
XSLT
SMIL
XForms
Web Applications

Client Side:
– Java
– Javascript
– DHTML, DOM

Server side:
– CGI
– Application servers:
• JSP, ASP
– XML Web Services
Web Components for Application
ASP.Net
 JSF, JSF Tags (supersedes JSTL?)
 ASP.Net 2.0 Web Parts

New Solutions
Mozilla Roadmap: support for
 <canvas> vs SVG

– Based on Cairo (a stateful user-level API
with capabilities similar to the PDF
imaging model)
– Rendering on Postcript (stateless)
– SVG declarative, DOM state
XUL
 XAML

Partiti

Mozilla
– XUL, Gecko, Cairo

Apache
– Struts, Cocoon

Sun
– J2EE, Tomcat, JBoss

Microsoft
– Web Parts
– XAML, Avalon
Java e Sun

EJBs have always been an exercise
in configuration minutia: endless fat
books on J2ee, deployment
descriptors, application.xml, ejbjar.xml, ejb refs, etcetera ad
nauseum. It does not feel like the
simplest thing that could possibly
work.
Is HTML Broken?
The HTML development starts to bog
down in a sea of complexity and
alphabet soup: HTML, CSS,
javascript, JSP, ASP, PHP, EJB, …
Maintenance costs rise, developing
the application on a page-based
HTML slows to a crawl.
 Struts, JSF, tapestry, velocity, JSP
are all Band-Aids for a broken
paradigm

Browser extensions

What-WG
– Goal: to specify new technologies that make it
possible to make much prettier and more
usable interfaces with less dependence on
complex scripts, less dependence on servergenerated pages, and a more seamless user
experience
– Web Forms
– Web Controls:
– new input control types for dates, times, e-mail
addresses, and numbers
– a new client-side validation model
– a way to mark input controls as required
– a repetition model
– control over form submission so that forms can be
updated instead of causing the page to be replaced
LASZLO
<canvas>
<simplelayout spacing="5"/>
<class name="box" height="100" width="100" bgcolor="red"/>
<class name="borderedbox" extends="box">
<attribute name="bordersize" value="3"/>
<view bgcolor="yellow"
x="${parent.bordersize}"
y="${parent.bordersize}"
width="${parent.width - parent.bordersize*2}"
height="${parent.height - parent.bordersize*2}"/>
</class>
<borderedbox/>
<borderedbox bordersize="6"/>
<borderedbox bordersize="9"/>
</canvas>
Semantic Web
RDF
 OWL
 DAML+OIL

Web Data
XPath
 XQuery
