Evolution der Web-Entwicklung nach AJAX

Werbung
Evolution der Web-Entwicklung nach AJAX
Vortrag BMW Messe, Oktober 2007
Rudolf Lindner, Projektleiter Technologie F&F GmbH
Evolution der WEB-Entwicklung nach AJAX
Was ist eine “WEB-Anwendung”?
Datenbank
Datenbank
Datenbank
Server
Server
Logik
Logik
Prozesse
Prozesse
GUI
Netz
Frontend
Frontend
Browser
GUI, Logik, Prozesse
GUI, Logik, Prozesse
GUI
Persistenz
Persistenz
Klassische FAT Client Anwendung
Plugin
WEB-Anwendung
Internet, Intranet
2
Evolution der WEB-Entwicklung nach AJAX
Warum Web-Anwendung?
ƒ
Zentraler Server
ƒ
ƒ
ƒ
ƒ
Verarbeitungslogik
Datenhaltung
Präsentationsschicht!
Management, Total Cost of Ownership (TCO)
3
Evolution der WEB-Entwicklung nach AJAX
Kurze Geschichte des WEB
statisches Web
ƒ
1990: CERN, Tim Berners-Lee:
Erste Version Hypertextsystem
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
1993: Marc Andreesen: Mosaic Browser
1995: Erste Alpha Release von JAVA
1996: Integration von JAVA im Netscape Browser
1995-1998: Browser-Krieg
1998: IE 4 mit XMLHttpRequest (ActiveX)‫‏‬
2002: Java 1.4
dynamisches Web
4
Evolution der WEB-Entwicklung nach AJAX
Vorteile JAVA Applets
ƒ
ƒ
ƒ
Front-End und Server Entwicklung aus einem Guss
RAD Entwicklung wie bei FAT Client Desktop Anwendung
Write once, test everywhere
Frontend
Browser
GUI
GUI
Plugin
Logik
Prozesse
5
Evolution der WEB-Entwicklung nach AJAX
Probleme mit JAVA Applets
ƒ
ƒ
ƒ
ƒ
Inkompatibilitäten MS vs SUN
NS 4.x mit JAVA < 1.2
Kompatibilitätsprobleme über div. JAVA Versionen
Bugs
Applets werden unattraktiv
6
Evolution der WEB-Entwicklung nach AJAX
Parallel: Pimp my Browser
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
Plugin's für Fenster-Teile (Flash, Java Applets, Active X)
Verbesserung der statischen HTML Seiten (HTML 4.x)
CSS 1 und 2
"Kreative" Workarounds / Javascript, DOM Manipulationen
Erweiterte UI-Controls mit Javascript / Server - Coding
AJAX
7
Evolution der WEB-Entwicklung nach AJAX
AJAX
8
Evolution der WEB-Entwicklung nach AJAX
AJAX
Browser
Browser
Browser
XMLHttpRequest
Server
XML Data
Server
Javascript Objekte
Server (JSON)
9
Evolution der WEB-Entwicklung nach AJAX
AJAX: populäre Anwendungen
ƒ
ƒ
ƒ
ƒ
Google Maps
Googel Suggest
Writely Textverarbeitung
Zimbra Email Suite
Popularität durch verbesserte Bedienbarkeit
Rich User Interface, Drag and Drop,...
von Anwendern gefordert
10
Evolution der WEB-Entwicklung nach AJAX
AJAX: Frameworks (kleine Auswahl)
ƒ
ƒ
ƒ
ƒ
Open Rico
Dojo
Prototype
ZK
JavaScript Bibliotheken, teilweise mit Server Integration
Komplexität
11
Evolution der WEB-Entwicklung nach AJAX
Gerne kolportierte Mythen
ƒ
Ein Web-Browser ist eine Anwendungsplattform
ƒ
WEB-Entwicklung ist hat niedrigen TCO
ƒ
WEB-Anwendungen sind einfach zu entwickeln
12
Evolution der WEB-Entwicklung nach AJAX
Benötigter Skill-Level (typische J2EE WEB-Applikation)
IE 7
DHTML/DOM
Internet Explorer
Firefox
HTML
Javascript
JSP
LDAP
Safari
CSS
XML
Legacy Systems
Schnittstellen
Mail
Taglibs
Java
EJB
ORM
Business Logic
Datenbank
Application Server
Betriebsystem
13
Evolution der WEB-Entwicklung nach AJAX
Benötigter Skill-Level (typische J2EE WEB-Applikation)
IE 7
DHTML/DOM
Internet Explorer
Firefox
HTML
Javascript
JSP
LDAP
Safari
CSS
XML
Legacy Systems
Schnittstellen
Mail
Taglibs
Java
EJB
ORM
Business Logic
Datenbank
Application Server
Betriebsystem
GUI Entwicklung
14
Evolution der WEB-Entwicklung nach AJAX
Probleme
Hohe Komplexität
„Gefrickel“
15
Evolution der WEB-Entwicklung nach AJAX
Warum nicht so?
ƒ
Erstellung von WEB-Anwendungen so einfach wie Erstellung von
3 GL Client/Server Anwendungen (Delphi, JAVA Fat Client)‫‏‬
→ Interaktiver Designer/RAD Tool
ƒ
ƒ
Keine Programmierung in Javascript
ƒ
Anbindung Business Logic Komponenten
DHTML, DOM, Browserunterschiede, Taglibs
→ uninteressant!
16
Evolution der WEB-Entwicklung nach AJAX
Lösungsorientierung
GUI
GUI
Projektbudget
Business Logic
Schnittstellen
Business Logic
Schnittstellen
Datenbank
Datenbank
17
Evolution der WEB-Entwicklung nach AJAX
Java Server Faces (JSF)
ƒ
Basierend auf Servlet und JSP Technologie
(JSP nicht zwingend erforderlich)
ƒ
ƒ
MVC Prinzip
GUI – Komponenten
18
Evolution der WEB-Entwicklung nach AJAX
Beispiel
package de.ff.test;
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; .....%>
import java.text.DateFormat;
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
import java.text.ParseException;
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
import java.text.SimpleDateFormat;
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
import java.util.Date;
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"....>
public class DateBean {
protected Date date;
DateFormat df;
public DateBean() {
<html xmlns="http://www.w3.org/1999/xhtml">
df = new SimpleDateFormat("dd.MM.yyyy");
<head>
try {
<meta http-equiv="Content-Type" content="text/html; .../>
date = df.parse("25.09.2007");
<title>Test für JSF</title>
</head>
} catch (ParseException e) {
<body>
e.printStackTrace();
}
<f:view>
}
<h:form>
public Date getDate() {
<rich:calendar value="#{dateBean.date}"></rich:calendar>
return date;
</h:form>
</f:view>
}
</body>
public void setDate(Date date) {
this.date = date;
</html>
}
}
19
Evolution der WEB-Entwicklung nach AJAX
JSF Frameworks
ƒ
ƒ
ƒ
ƒ
ƒ
jMaki (Javascript Wrapper für AJAX Komponenten)
dynamic Faces
Ice Faces
Project Woodstock
ajax4JSF / Rich Faces
20
Evolution der WEB-Entwicklung nach AJAX
BMW Standards
ƒ
aktuell Java Technology Cluster 1
ƒ
ƒ
Struts, UTC/SA, JSP
ab 2007/2008 Java Technology Cluster 2
ƒ
ƒ
ƒ
Java EE 5
BEA WL 10JSF/AJAX Integration,
z.B.: JMAKI
FZ bietet Standardkomponenten
für User Interface Elemente
21
Evolution der WEB-Entwicklung nach AJAX
Beispiel: Netbeans 6 mit Form Designer und JSF Komponenten
22
Evolution der WEB-Entwicklung nach AJAX
Benötigter Skill-Level (typische J2EE WEB-Applikation)
IE 7
DHTML/DOM
Internet Explorer
Firefox
HTML
Javascript
JSP
LDAP
Safari
CSS
XML
Legacy Systems
Schnittstellen
Mail
Taglibs
Java
EJB
ORM
Business Logic
Datenbank
Application Server
Betriebsystem
GUI Entwicklung
23
Evolution der WEB-Entwicklung nach AJAX
Benötigter Skill-Level (J2EE Applikation mit fertigen JSF Komponenten)
LDAP
JSF
XML
Legacy Systems
Schnittstellen
Mail
JSP
Java
EJB
ORM
Business Logic
Datenbank
Application Server
Betriebsystem
24
Evolution der WEB-Entwicklung nach AJAX
The Return of the Browser Plugin
ƒ
ƒ
ƒ
Microsoft Silverlight 1.0: AJAX
Microsoft Silverlight 1.1 → .NET Runtime für Browser
Adobe Flex/AIR
25
Evolution der WEB-Entwicklung nach AJAX
Java Desktop Reloaded (JNLP, Applets)
JAVA Consumer Runtime (http://weblogs.java.net/blog/chet/archive/2007/05/consumer_jre_le.html)
ƒ
ƒ
ƒ
ƒ
≤ 2 MB?
Quickstarter?
Desktop Integration
Anfang 2008?
Java FX
ƒ
ƒ
Rich Media Java
Flash Konkurrenz?
26
Evolution der WEB-Entwicklung nach AJAX
Benötigter Skill-Level (typische J2EE WEB-Applikation)
IE 7
DHTML/DOM
Internet Explorer
Firefox
HTML
Javascript
JSP
LDAP
Safari
CSS
XML
Legacy Systems
Schnittstellen
Mail
Taglibs
Java
EJB
ORM
Business Logic
Datenbank
Application Server
Betriebsystem
GUI Entwicklung
27
Evolution der WEB-Entwicklung nach AJAX
Benötigter Skill-Level (J2EE Applikation mit JAVA Frontend)
LDAP
Java FX
XML
Legacy Systems
Schnittstellen
Mail
Java
Swing
EJB
ORM
Business Logic
Datenbank
Application Server
Betriebsystem
28
Evolution der WEB-Entwicklung nach AJAX
Vergleich Ultra Thin Client / Java Native Client
UTC
TNC
Plugin
Software - Installation
+
-
0/+
Plattform dependence
+
0
+
Security integration
+
0
0/+
Rapid Prototyping
+
0
++
Learning curve
+
0
+
Client-side processing
-
+
+
Available widgets
0
+
+
+
+
Interactivness/Responsiveness
User base within BMW
+
-
-
Tool support
+
-
++
Java Cache, JNLP
Java Runtime / keine BrowserUnterschiede
hervoragende IDE's und Tools
hervoragende IDE's und Tools
Quelle: http://it.muc/community/fz/fz-32/index.htm?mainFrame=http://it.muc/community/fz/fz-32/websec/howto/utc-tnc.htm
29
F&F – Technology & Services
Noch Fragen?
Wir freuen uns, Ihnen unsere Demos und unsere
Kompetenz für BMW Anwendungen auf unserem
Messestand präsentieren zu dürfen.
Stand: 4.3
30
Prozessorientierte
Informationssysteme
der Spitzenklasse
F&F Computer Anwendungen und Unternehmensberatung GmbH
Westendstraße 195
D-80686 München
Tel.: + 49 89 51727–0
Fax: + 49 89 51727–111
[email protected]
www.ff-muenchen.de
Herunterladen