• Save
Björn Müller, CaptainCasa, Business Application Forum
Upcoming SlideShare
Loading in...5
×
 

Björn Müller, CaptainCasa, Business Application Forum

on

  • 1,347 views

 

Statistics

Views

Total Views
1,347
Views on SlideShare
1,344
Embed Views
3

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 3

http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Björn Müller, CaptainCasa, Business Application Forum Björn Müller, CaptainCasa, Business Application Forum Presentation Transcript

    • CaptainCasa Enterprise Client CaptainCasa Der „Wert“ von Benutzeroberflächen
    • CaptainCasa Szenario 1 CaptainCasa Enterprise Client • Back Office Anwendung, Mainframe – Financials, Controlling, Materials Management – 8 Entwickler, 1 Administrator • UI Technologie – 3270 Terminals • ...versucht von 3270 Terminals wegzukommen. • Gescheiterte Versuche – HTML – AJAX – Zur Zeit: Evaluation von Adobe/Macromedia
    • CaptainCasa Szenario 2 CaptainCasa Enterprise Client • Mittelständischer Softwarehersteller – Logistik (Warehouse, Delivery Management) – 30 Entwickler • UI Technologie – Fat Client • ...sucht nach Nachfolger seines „Cash Cow Produktes“.. • Gescheiterte Versuche – AJAX – ...ist nun „zurück“ mit Java-Swing-basiertem Richt Client Framework
    • CaptainCasa Gesamtsituation CaptainCasa Enterprise Client • Hohe „Volatilität“ im Bereich von Technologien und Hypes im UI Markt • Hohe Evaluationskosten • Hohes Risiko von Fehlentscheidungen – Hohe Anzahl an Technologien – Entscheidungsträger haben „emotionale Bindung“ zu Technologie verloren • Entwicklungseffizienz vieler Rich Client Frameworks ist dramatisch schlecht • Hohe Kosten durch „Warten auf Nachfolge-Cash- Cows“
    • CaptainCasa Land of Confusion CaptainCasa Enterprise Client HTML/ Adobe Java HTML Silverlight AJAX Macromedia JavaFX Java, J2EE, Server Side Hibernate, Spring Application WebServices, ... Relational DBs Database
    • CaptainCasa Land of Confusion CaptainCasa Enterprise Client HTML/ Adobe Java HTML Silverlight AJAX Macromedia JavaFX Dojo Swing RichFaces Eclipse Qooxdoo FX GWT RAP Java, J2EE, ... Server Side Hibernate, Spring Application ... WebServices, ... Relational DBs Database
    • CaptainCasa Land of Confusion CaptainCasa Enterprise Client HTML/ Adobe Java HTML Silverlight Hype gibt’s heute? Welchen AJAX Macromedia JavaFX Dojo Swing RichFaces Eclipse Qooxdoo FX GWT Java ME Ich bin Architekt. Mit UI RAP habe ich nichts zu tun. Java, J2EE, ... Server Side Hibernate, Spring Application ... WebServices, ... Relational DBs Database
    • CaptainCasa Hauptkostenersparnis CaptainCasa Enterprise Client • Technologie- und Architekturfindung! • Attribute – langfristig – effizient – angemessen für Benutzer – Hype-resistent • Offen für „Apps“, aber klar ausgerichtet an Ihrer „Application“
    • CaptainCasa Scope = Reachability first! CaptainCasa Enterprise Client • Beispiele: B2C, social networks, ... • Frontend Technologie – HTML/AJAX – no way 'round • Aber – Performance Probleme – Cross Browser Probleme – AJAX Framework Abhängigkeit – Entwicklungsaufwand
    • CaptainCasa Scope = WOW first! CaptainCasa Enterprise Client • Beispiele: Configurators, Animations, ... – ...wenige, aber „perfekte“ Seiten • Frontend Technologie – Adobe/Macromedia – MS Silverlight – (Java FX still verrrry young) • Aber – Client Entwicklungsaufwand
    • CaptainCasa Scope = Enterprise Application CaptainCasa Enterprise Client • Beispiele: Financials, Logistics, ... applications – Viele Screens, komplexe Regeln, Dateneingabe • Frontend Technologie: – Java – MS Silverlight – (Adobe/Macromedia) • Aber – RIA Architektur ist entscheidend für Effizienz
    • CaptainCasa One UI Technology fits ALL! CaptainCasa Enterprise Client • AJAX! • Macromedia! • HTML 5! • Java!
    • CaptainCasa One UI Technology fits ALL! CaptainCasa Enterprise Client • Ist es wirklich die „ONE“ Technologie? – Macromedia „light“ <=> „heavy“ edition – HTML-AJAX-full blown <=> HTML-plain • Wer steht gerade, wenn es doch nicht ordentlich läuft? – Unter Mozilla sieht es ein wenig anders aus... • Deckt diese wirklich Geräte-spezifische Gegebenheiten ab? – iPhone native <=> iPhone-HTML
    • CaptainCasa One UI Technology fits ALL! CaptainCasa Enterprise Client • Ist die UI Technologie wirklich die adäquate für das Herzstück Ihrer Anwendung? – Interaktivität, Benutzerkomfort – Entwicklungseffizienz – Lanfristigkeit – Möglichkeit der Kontrolle / Einflussnahme • Zielarchitektur: Application <=> „App“ – Stabile Application Architektur – Möglichkeit - „Apps“ mit vertretbarem Aufwand anzudocken
    • CaptainCasa ONE UI Technology fits ALL! CaptainCasa Enterprise Client • Mischformen sind realistisch(er) Rich Client UI iPhone Java Swing Based Shop Thin Apps Logic Rules ... Data
    • CaptainCasa What typically happens... CaptainCasa Enterprise Client Explicitly coded Frontend Program Web Services, „BAPI“s Server Logic
    • CaptainCasa What typically happens... CaptainCasa Enterprise Client Explicitly coded Frontend Program Web Services, „BAPI“s Server Logic
    • CaptainCasa What typically happens... CaptainCasa Enterprise Client Explicitly coded Frontend Program Web Services, „BAPI“s Server Logic
    • CaptainCasa What typically happens... CaptainCasa Enterprise Client Explicitly coded Frontend Program Web Services, „BAPI“s Server Logic
    • CaptainCasa Folge CaptainCasa Enterprise Client • Hohe Kosten im Bereich von Enterprise Applications – Sowohl Frontend als auch Backend Expertise – Viiiiiiele Interfaces (Pflege, Security, Explicitly coded Roundtrips) Frontend Program – Frontend Entwicklungs ist „weit weg“ von Backend Entwicklung Web Services, „BAPI“s – Roundtripverhalten ist kritisch Server Logic – Immer „dickere“ Clients; hohe Frequenz der Auslieferung der Clients
    • CaptainCasa Thin Client Architecture CaptainCasa Enterprise Client Rendering HTML Engine Terminal Browser character http/ stream HTML Server Side App Server Side App Interaction Interaction Application Processing Processing Server Application Application Logic Logic
    • CaptainCasa Thin Client Architecture CaptainCasa Enterprise Client Rendering HTML Engine Terminal Thin & Poor Thin & Poor Browser character http/ stream HTML Server Side App Server Side App Interaction Interaction Application Processing Processing Server Application Application Logic Logic
    • CaptainCasa Thin Client Architecture CaptainCasa Enterprise Client Rendering Generic HTML Frontend Engine Terminal Thin & Poor Thin & Poor Browser Client character http/ http/ stream HTML XML Server Side App Server Side App Server Side App Interaction Interaction Interaction Application Processing Processing Processing Server Application Application Application Logic Logic Logic
    • CaptainCasa Thin Client Architecture CaptainCasa Enterprise Client Rendering Generic HTML Frontend Engine Terminal Thin & Poor Thin & Poor Thin & Rich Browser Client character http/ http/ stream HTML XML Server Side App Server Side App Server Side App Interaction Interaction Interaction Application Processing Processing Processing Server Application Application Application Logic Logic Logic
    • CaptainCasa Folge CaptainCasa Enterprise Client • Geringere Kosten im Bereich von Enterprise Applications – Nur Backend Expertise – EIN Interface – Frontend Entwicklung ist „nah dran“ Terminal Thin & Poor HTML Thin & Poor Browser Generic Frontend Thin & Rich Client an Backend Entwicklung character http/ http/ – Roundtripverhalten ist klar geregelt stream HTML XML – Stabiler Client, kein permanenter Server Side App Server Side App Server Side App Interaction Interaction Interaction Rollout Processing Processing Processing Application Application Application Logic Logic Logic
    • CaptainCasa Thin <=> Fat Client CaptainCasa Enterprise Client • Fat Client == Client driven UI Architecture • Thin Client == Server driven UI Architecture • Für den Herzteil einer „Enterprise Application“ ist die Thin Client Architektur die bessere, kostengünstigere Wahl. • Aber – Einflussnahme auf Framework ist wichtig! – Widerstand von „eingefleischten UI Entwicklern“ ist oft zu erwarten!
    • CaptainCasa FAT <> THIN CaptainCasa Enterprise Client FAT DOS Windows HTML Terminal Browser THIN
    • CaptainCasa FAT <> THIN CaptainCasa Enterprise Client FAT DOS Windows Software driven Architecture Hardware driven HTML Terminal Browser THIN
    • CaptainCasa FAT <> THIN CaptainCasa Enterprise Client FAT Fat <> Thin DOS Windows vs. Rich <> Poor Take the Exit To HTML Terminal THIN! Browser THIN
    • CaptainCasa UI Generierung CaptainCasa Enterprise Client • Von 100% Bildschirmen verdienen es nur 20%, explizit „durchdesigned“ zu werden • Beispiel: – Verarbeitungsdialoge - ja! – Stamm/Steuerdatendialoge - nein!? – Reportingdialoge - nein! • Für den Rest gilt: – Bilden Sie Klassen von Dialogen – Definieren Sie eine Meta-Beschreibung für diese Dialoge und deren Verarbeitung – Schaffen/Nutzen Sie eine Generierungsumgebung zur Erstellung der Dialoge und deren Verarbeitung
    • CaptainCasa UI Generierung CaptainCasa Enterprise Client • Generierung <=> Generisch – pro Generierung ● Schaffung verständlicher Programmstrukturen ● „Keine“ Laufzeitfehler ● Debug-Fähigkeit ● Einfacheres Entkoppeln in spezifische Weiterimplementierung – pro Generisch ● flexibleres Deployment (?)
    • CaptainCasa UI Generierung CaptainCasa Enterprise Client • Generierung auf Basis von – UML – relationalem Tabellenmodell – XSD – ...und (immer!): Zusatzinformationen
    • CaptainCasa UI Generierung CaptainCasa Enterprise Client • Generierung darf kein Blockierer für einzelne Dialoge sein – In diesem Fall: abkoppeln! – Kein Einbau von „Sonderlocken“ mit einmaliger Nutzung in das Generierungsframework. • Generierungsframework muss beeinflussbar sein – Es erstreckt sich typischerweise über UI und Verarbeitungsebene. – Aktive Community <=> Eigenerstellung
    • CaptainCasa Résumée CaptainCasa Enterprise Client • UI Architektur ist zentraler Teil der Gesamtarchitektur – Überlassen Sie UI Architekturentscheidungen nicht dem Zufall – Tappen Sie nicht in die Fat Client Falle – Wählen Sie eine Thin Client Architektur im Bereich von Enterprise Anwendungen • Enorme Kosten entstehen durch Wahl der nicht passenden Technologie und Architektur
    • CaptainCasa Résumée CaptainCasa Enterprise Client • Glauben Sie nicht an Wunder-Frameworks, die alles können – Wählen Sie eines aus, das den Kernteil Ihrer Anwendung glaubwürdig abdeckt. - Beachten Sie dabei die Frage, welchen Einfluss Sie auf das Framework haben – Reiten Sie auf Hypes, wenn es um „Apps“ geht. Ignorieren Sie Hypes, wenn es um Ihre „Application“ geht. • Generieren Sie Ihre „80%“ Bildschirme und widmen Sie sich Ihren „20%“ Bildschirmen