SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Google Webtool Kit

      Übersicht
Was ist GWT?

GWT ist ein Framework für AJAX-Anwendungen, welches den
Entwickler in die Lage versetzt, Rich Internet Applications in 
Java zu entwickeln.

Der GWT-Compiler generiert aus dem Java Code
den spezifischen HTML- und JavaScript Code für die
jeweiligen Browser.
Warum AJAX?
Warum AJAX?
Finde den Fehler
Fehler gefunden
JavaScript = Schmerz

...cross-browser

...memory leak

...loading latency

...bugs (dynamic language)

...security
Von Java zu JavaScript
Von Java zu JavaScript

Java Code:


GWT compiler (-style PRETTY)


GWT compiler (-style OBFUSCATED)
Features

User Interfaces

History Management

Lokalisierung

Client/Server-Kommunikation

JavaScript Native Interface

Unit Testing

Optimization
User Interfaces

                    GWT
                GWT Incubator
      _________________________________

                  SmartGWT
                   GWT-Ext
                   Ext-GWT

               und viele mehr...
Aufbau UI mit Code
Aufbau UI mit UIBinder
Styling mit CSS
Styling mit CSS
History Management




AJAX-Anwendungen verwenden meistens keine
Browser History (==> Frust).

Demo
Lokalisierung

Constants
    helloWorld = Hallo, Welt

Messages
    goodBye = Adios, {0}

Plural
    @DefaultText(...)
    @PluralText(...)

UIBinder Support
  <ui:msg description="helloWorld">Hello, world.</ui:msg></div>

Demo
Client/Server Kommunikation
HTTP-Requests




z.B.: PHP als Backend und XML, JSON
oder ein eigenes Format.
GWT-RPC
Warum nicht eine Sprache sprechen?
JavaScript Native Interface




Java Methode direkt in JavaScript implementieren.

Auf Java Members/Methoden zugreifen.

Parameter zwischen Java und JavaScript übergeben.

--> Einbindung von (bestehenden) JavaScript Libs
Unit Testing

GWTTestCase für die Views

JUnit für Presenter und Model

Selenium
Optimierung

Delayed Logic


Code Splitting


ClientBundle
Tools

Eclipse Plugin

GWT Designer

Speed Tracer
GWT Designer
Warum mit Java entwickeln?
Vorteile

Client und Server können eine Sprache verwenden
(GWTRPC).

Java Entwickler Tools (Eclipse, PMD, JUnit etc).

Debugging Umgebung

Cross-Browser-Support
Nachteile

Google behält sich vor die Lizenzbestimmungen des GWT-
Compilers zu ändern.

Widgets teilweise sehr groß
(bis zu 55k pro Widget).

Es wird nur ein Teil der Java API
emuliert.
Größe der Komponenten
Fragen ?
Google App Engine
Web Application Hosting Service
Google Infrastruktur
automatische und beliebige
 Skalierung von WebApps
Development Tools

• Java SDK
   o Servlet Container
• Python SDK
   o CGI Runtime Environment
• Google Eclipse Plugin
   o One-Click-Deployment
   o Simulation aller Services in lokaler Sandbox
   o Leistungsfähiger Debugger
Google Datastore
• Bigtable (Object Database)
• Google Earth, Google Finance, Google Search
Keine relationale Datenbank




                              Umdenken notwendig
Queries
• OOP / Sql-like Syntax



• Schnelle Zugriffe bei Selects auf den KEY
• Automatische Index-Erzeugung
  o XML basierte Konfiguration
  o Google weiß im Voraus welche Queries angefragt werden
    können
  o Beim Schreiben werden Indexe automatisch aktualisiert
Bulk-Loader
• Python-Script
• Upload / Downloading Data
• Backups
Einschränkungen
• Indexerzeugung beim deployen kostet Zeit
• Kein bulk-delete oder Massen-lesen / -schreiben
Standards: JDO / JPA / Annotations
Standards: JDO / JPA / Annotations
Kosten
•   automatische Skalierung
•   Konzentration auf Gamelogik
•   kürzere Entwicklungszeiten
•   kein administrativer Overhead
•   keine Betriebskosten solange App kein Erfolg
•   IDE (Build, Deploy, Sandbox integriert)
•   perfektes Zusammenspiel mit GWT
•   Keine long running background processes
•   Kein Streaming
•   Kein FTP, Sockets ...
•   Datastore: Keine Volltext-Suche
•   max. 30 sec/req
•   max 10 MB/req
•   max. 3.000 Dateien (Workaroudns ZIP, JAR)
•   hohe Abhänigkeit von Google-Services
Fragen ?
Deferred Binding

Weitere ähnliche Inhalte

Was ist angesagt?

Kann ich mit Grails Enterprise Applikationen umsetzen?
Kann ich mit Grails Enterprise Applikationen umsetzen?Kann ich mit Grails Enterprise Applikationen umsetzen?
Kann ich mit Grails Enterprise Applikationen umsetzen?Tobias Kraft
 
Gwt Techtalk Präsentation
Gwt Techtalk PräsentationGwt Techtalk Präsentation
Gwt Techtalk Präsentationmlegenhausen
 
Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?gedoplan
 
Frontend Performance
Frontend PerformanceFrontend Performance
Frontend Performancenikflip
 
Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?gedoplan
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Christian Trabold
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenDrei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenChristian Trabold
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile ServicesJan Hentschel
 
Exchange Workshop - Veeam
Exchange Workshop - VeeamExchange Workshop - Veeam
Exchange Workshop - VeeamGWAVA
 
Microsoft Exchange - Data Protection
Microsoft Exchange - Data ProtectionMicrosoft Exchange - Data Protection
Microsoft Exchange - Data ProtectionGWAVA
 
JUG MZ OSGi Lightning Talk
JUG MZ OSGi Lightning TalkJUG MZ OSGi Lightning Talk
JUG MZ OSGi Lightning TalkThilo Käsemann
 
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.David Jardin
 

Was ist angesagt? (13)

Kann ich mit Grails Enterprise Applikationen umsetzen?
Kann ich mit Grails Enterprise Applikationen umsetzen?Kann ich mit Grails Enterprise Applikationen umsetzen?
Kann ich mit Grails Enterprise Applikationen umsetzen?
 
Gwt Techtalk Präsentation
Gwt Techtalk PräsentationGwt Techtalk Präsentation
Gwt Techtalk Präsentation
 
Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?
 
Frontend Performance
Frontend PerformanceFrontend Performance
Frontend Performance
 
Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenDrei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile Services
 
Exchange Workshop - Veeam
Exchange Workshop - VeeamExchange Workshop - Veeam
Exchange Workshop - Veeam
 
Microsoft Exchange - Data Protection
Microsoft Exchange - Data ProtectionMicrosoft Exchange - Data Protection
Microsoft Exchange - Data Protection
 
JUG MZ OSGi Lightning Talk
JUG MZ OSGi Lightning TalkJUG MZ OSGi Lightning Talk
JUG MZ OSGi Lightning Talk
 
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 

Andere mochten auch

Infografik: Was Pressestellen wirklich erfolgreich macht
Infografik: Was Pressestellen wirklich erfolgreich machtInfografik: Was Pressestellen wirklich erfolgreich macht
Infografik: Was Pressestellen wirklich erfolgreich machtFaktenkontor
 
Daftar harga barang
Daftar harga barangDaftar harga barang
Daftar harga barangAditya Eka
 
INFORMATI - Gestione emergenze
INFORMATI - Gestione emergenze INFORMATI - Gestione emergenze
INFORMATI - Gestione emergenze Progetto Albatros
 
FM2014: Einführung in Function Scripting by Thomas Hirt
FM2014: Einführung in Function Scripting by Thomas HirtFM2014: Einführung in Function Scripting by Thomas Hirt
FM2014: Einführung in Function Scripting by Thomas HirtVerein FM Konferenz
 
adRom SPAM Verhinderung im E-Mail Marketing
adRom SPAM Verhinderung im E-Mail MarketingadRom SPAM Verhinderung im E-Mail Marketing
adRom SPAM Verhinderung im E-Mail MarketingMario Gonzales
 
Teste de alemão 3
Teste de alemão 3Teste de alemão 3
Teste de alemão 3eelisabete
 
Mythos High Performance Teams
Mythos High Performance TeamsMythos High Performance Teams
Mythos High Performance Teamsadesso AG
 
Wie viel wiegt ein Gebet? - How Much Does a Prayer Weigh?
Wie viel wiegt ein Gebet? - How Much Does a Prayer Weigh?Wie viel wiegt ein Gebet? - How Much Does a Prayer Weigh?
Wie viel wiegt ein Gebet? - How Much Does a Prayer Weigh?Freekidstories
 
FMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
FMK2012: Eigene Funktionen / Custom Functions von Arnold KegebeinFMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
FMK2012: Eigene Funktionen / Custom Functions von Arnold KegebeinVerein FM Konferenz
 
Basiswissen hsp rsp
Basiswissen hsp rspBasiswissen hsp rsp
Basiswissen hsp rspkkreienbrink
 
One ideas deltz
One ideas   deltzOne ideas   deltz
One ideas deltzdeltz
 
MATRICULA ESCOLAR EBR -2014
MATRICULA ESCOLAR EBR -2014MATRICULA ESCOLAR EBR -2014
MATRICULA ESCOLAR EBR -2014Esther Segovia
 
Huberts Präsentation
Huberts PräsentationHuberts Präsentation
Huberts PräsentationKABO1000
 
MuliW: Musik lernen im Social Web - Take the Beat
MuliW: Musik lernen im Social Web - Take the BeatMuliW: Musik lernen im Social Web - Take the Beat
MuliW: Musik lernen im Social Web - Take the BeatMatthias Krebs
 

Andere mochten auch (20)

Psalmen 8 Malbuch
Psalmen 8 MalbuchPsalmen 8 Malbuch
Psalmen 8 Malbuch
 
Infografik: Was Pressestellen wirklich erfolgreich macht
Infografik: Was Pressestellen wirklich erfolgreich machtInfografik: Was Pressestellen wirklich erfolgreich macht
Infografik: Was Pressestellen wirklich erfolgreich macht
 
Daftar harga barang
Daftar harga barangDaftar harga barang
Daftar harga barang
 
INFORMATI - Gestione emergenze
INFORMATI - Gestione emergenze INFORMATI - Gestione emergenze
INFORMATI - Gestione emergenze
 
FM2014: Einführung in Function Scripting by Thomas Hirt
FM2014: Einführung in Function Scripting by Thomas HirtFM2014: Einführung in Function Scripting by Thomas Hirt
FM2014: Einführung in Function Scripting by Thomas Hirt
 
adRom SPAM Verhinderung im E-Mail Marketing
adRom SPAM Verhinderung im E-Mail MarketingadRom SPAM Verhinderung im E-Mail Marketing
adRom SPAM Verhinderung im E-Mail Marketing
 
Teste de alemão 3
Teste de alemão 3Teste de alemão 3
Teste de alemão 3
 
Mythos High Performance Teams
Mythos High Performance TeamsMythos High Performance Teams
Mythos High Performance Teams
 
Neue Medien in der Lehre
Neue Medien in der LehreNeue Medien in der Lehre
Neue Medien in der Lehre
 
Wie viel wiegt ein Gebet? - How Much Does a Prayer Weigh?
Wie viel wiegt ein Gebet? - How Much Does a Prayer Weigh?Wie viel wiegt ein Gebet? - How Much Does a Prayer Weigh?
Wie viel wiegt ein Gebet? - How Much Does a Prayer Weigh?
 
Basiswissen rsp
Basiswissen rspBasiswissen rsp
Basiswissen rsp
 
Estuches grandes
Estuches grandesEstuches grandes
Estuches grandes
 
Pte. paula
Pte. paulaPte. paula
Pte. paula
 
FMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
FMK2012: Eigene Funktionen / Custom Functions von Arnold KegebeinFMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
FMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
 
Basiswissen hsp rsp
Basiswissen hsp rspBasiswissen hsp rsp
Basiswissen hsp rsp
 
One ideas deltz
One ideas   deltzOne ideas   deltz
One ideas deltz
 
MATRICULA ESCOLAR EBR -2014
MATRICULA ESCOLAR EBR -2014MATRICULA ESCOLAR EBR -2014
MATRICULA ESCOLAR EBR -2014
 
Huberts Präsentation
Huberts PräsentationHuberts Präsentation
Huberts Präsentation
 
Miskonsepsi
MiskonsepsiMiskonsepsi
Miskonsepsi
 
MuliW: Musik lernen im Social Web - Take the Beat
MuliW: Musik lernen im Social Web - Take the BeatMuliW: Musik lernen im Social Web - Take the Beat
MuliW: Musik lernen im Social Web - Take the Beat
 

Ähnlich wie GWT

Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web ToolkitTorben Brodt
 
Ajax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestAjax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestBastian Feder
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Jürg Stuker
 
Java in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App EnginegJava in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App Engineggedoplan
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsUlrich Schmidt
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?adesso AG
 
Progressive Web Apps mit Angular
Progressive Web Apps mit AngularProgressive Web Apps mit Angular
Progressive Web Apps mit AngularJens Binfet
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5kkramhoeft
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtOPITZ CONSULTING Deutschland
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga
 
Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.David Schneider
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineOPEN KNOWLEDGE GmbH
 
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Mayflower GmbH
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerSandro Sonntag
 

Ähnlich wie GWT (20)

Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!
 
Ajax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestAjax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google Suggest
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
Java in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App EnginegJava in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App Engineg
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
Progressive Web Apps mit Angular
Progressive Web Apps mit AngularProgressive Web Apps mit Angular
Progressive Web Apps mit Angular
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios Workshop
 
Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-Pipeline
 
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
 

GWT

Hinweis der Redaktion

  1. &lt;mockup version=&amp;quot;1.0&amp;quot; skin=&amp;quot;sketch&amp;quot; measuredW=&amp;quot;971&amp;quot; measuredH=&amp;quot;278&amp;quot; mockupW=&amp;quot;927&amp;quot; mockupH=&amp;quot;236&amp;quot;&gt;    &lt;controls&gt;      &lt;control controlID=&amp;quot;24&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;34&amp;quot; y=&amp;quot;32&amp;quot; w=&amp;quot;927&amp;quot; h=&amp;quot;71&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;0&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Client&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;25&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;34&amp;quot; y=&amp;quot;188&amp;quot; w=&amp;quot;927&amp;quot; h=&amp;quot;80&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;1&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Server&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;26&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;44&amp;quot; y=&amp;quot;137&amp;quot; w=&amp;quot;913&amp;quot; h=&amp;quot;11&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;2&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;Zeit&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;27&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;90&amp;quot; y=&amp;quot;55&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;92&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;3&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Interaktion&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;28&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;147&amp;quot; y=&amp;quot;93&amp;quot; w=&amp;quot;137&amp;quot; h=&amp;quot;110&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;4&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;Anfrage&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;29&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;326&amp;quot; y=&amp;quot;93&amp;quot; w=&amp;quot;139&amp;quot; h=&amp;quot;110&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;5&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;%3Chtml%3E...%3C/html%3E&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;30&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;254&amp;quot; y=&amp;quot;219&amp;quot; w=&amp;quot;102&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;102&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;6&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Verarbeitung&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;31&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;455&amp;quot; y=&amp;quot;55&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;92&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;7&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Interaktion&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;34&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;505&amp;quot; y=&amp;quot;93&amp;quot; w=&amp;quot;137&amp;quot; h=&amp;quot;110&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;8&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;Anfrage&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;35&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;684&amp;quot; y=&amp;quot;93&amp;quot; w=&amp;quot;139&amp;quot; h=&amp;quot;110&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;9&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;%3Chtml%3E...%3C/html%3E&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;36&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;612&amp;quot; y=&amp;quot;219&amp;quot; w=&amp;quot;102&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;102&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;10&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Verarbeitung&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;37&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;813&amp;quot; y=&amp;quot;55&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;92&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;11&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Interaktion&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;    &lt;/controls&gt; &lt;/mockup&gt;
  2. &lt;mockup version=&amp;quot;1.0&amp;quot; skin=&amp;quot;sketch&amp;quot; measuredW=&amp;quot;1819&amp;quot; measuredH=&amp;quot;766&amp;quot; mockupW=&amp;quot;929&amp;quot; mockupH=&amp;quot;342&amp;quot;&gt;    &lt;controls&gt;      &lt;control controlID=&amp;quot;38&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;880&amp;quot; y=&amp;quot;414&amp;quot; w=&amp;quot;929&amp;quot; h=&amp;quot;212&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;0&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Client&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;39&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;880&amp;quot; y=&amp;quot;676&amp;quot; w=&amp;quot;929&amp;quot; h=&amp;quot;80&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;1&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Server&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;40&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;880&amp;quot; y=&amp;quot;647&amp;quot; w=&amp;quot;914&amp;quot; h=&amp;quot;10&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;2&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;Zeit&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;41&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;898&amp;quot; y=&amp;quot;433&amp;quot; w=&amp;quot;896&amp;quot; h=&amp;quot;63&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;3&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;User%20Interface&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;42&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;898&amp;quot; y=&amp;quot;542&amp;quot; w=&amp;quot;896&amp;quot; h=&amp;quot;71&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;4&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;AJAX%20Engine&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;43&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;913&amp;quot; y=&amp;quot;453&amp;quot; w=&amp;quot;866&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;106&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;5&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Interaktionen&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;44&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;913&amp;quot; y=&amp;quot;569&amp;quot; w=&amp;quot;866&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;116&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;6&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Verarbeitungen&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;47&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;1051&amp;quot; y=&amp;quot;710&amp;quot; w=&amp;quot;102&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;102&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;7&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Verarbeitung&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;48&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1001&amp;quot; y=&amp;quot;483&amp;quot; w=&amp;quot;37&amp;quot; h=&amp;quot;78&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;8&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;49&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;996&amp;quot; y=&amp;quot;601&amp;quot; w=&amp;quot;77&amp;quot; h=&amp;quot;95&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;9&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;50&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1113&amp;quot; y=&amp;quot;607&amp;quot; w=&amp;quot;92&amp;quot; h=&amp;quot;94&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;10&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;%7B%20data%3A%20%5B%201%2C%202%20%5D%20%7D&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;53&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1059&amp;quot; y=&amp;quot;490&amp;quot; w=&amp;quot;72&amp;quot; h=&amp;quot;75&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;11&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;56&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1198&amp;quot; y=&amp;quot;486&amp;quot; w=&amp;quot;37&amp;quot; h=&amp;quot;78&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;12&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;57&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1256&amp;quot; y=&amp;quot;493&amp;quot; w=&amp;quot;72&amp;quot; h=&amp;quot;75&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;13&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;58&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1395&amp;quot; y=&amp;quot;486&amp;quot; w=&amp;quot;37&amp;quot; h=&amp;quot;78&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;14&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;59&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1453&amp;quot; y=&amp;quot;493&amp;quot; w=&amp;quot;72&amp;quot; h=&amp;quot;75&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;15&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;60&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1577&amp;quot; y=&amp;quot;486&amp;quot; w=&amp;quot;37&amp;quot; h=&amp;quot;78&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;16&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;61&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1635&amp;quot; y=&amp;quot;493&amp;quot; w=&amp;quot;72&amp;quot; h=&amp;quot;75&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;17&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;62&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;1311&amp;quot; y=&amp;quot;710&amp;quot; w=&amp;quot;102&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;102&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;18&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Verarbeitung&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;63&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1256&amp;quot; y=&amp;quot;601&amp;quot; w=&amp;quot;77&amp;quot; h=&amp;quot;95&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;19&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;64&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1373&amp;quot; y=&amp;quot;607&amp;quot; w=&amp;quot;92&amp;quot; h=&amp;quot;94&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;20&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;%7B%20data%3A%20%5B%201%2C%202%20%5D%20%7D&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;65&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;1571&amp;quot; y=&amp;quot;710&amp;quot; w=&amp;quot;102&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;102&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;21&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Verarbeitung&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;66&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1516&amp;quot; y=&amp;quot;601&amp;quot; w=&amp;quot;77&amp;quot; h=&amp;quot;95&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;22&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;67&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;1633&amp;quot; y=&amp;quot;607&amp;quot; w=&amp;quot;92&amp;quot; h=&amp;quot;94&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;23&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text&gt;%7B%20data%3A%20%5B%201%2C%202%20%5D%20%7D&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;    &lt;/controls&gt; &lt;/mockup&gt;
  3. Tipp: JavaScript ist eine dynamische Sprache
  4. Java ist eine statische Sprache. Fehler werden zur compilezeit gefunden
  5. GWT beherrscht nur eine Teilmenge der in Java 2 Standart + Enterprise Edition verfügbaren Klassen. JRE Emulated Classes &lt;mockup version=&amp;quot;1.0&amp;quot; skin=&amp;quot;sketch&amp;quot; measuredW=&amp;quot;953&amp;quot; measuredH=&amp;quot;390&amp;quot; mockupW=&amp;quot;911&amp;quot; mockupH=&amp;quot;345&amp;quot;&gt;    &lt;controls&gt;      &lt;control controlID=&amp;quot;13&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;32&amp;quot; y=&amp;quot;35&amp;quot; w=&amp;quot;200&amp;quot; h=&amp;quot;129&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;0&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Java%20Runtime%20Library&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;14&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;662&amp;quot; y=&amp;quot;35&amp;quot; w=&amp;quot;281&amp;quot; h=&amp;quot;154&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;1&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;GWT%20Library&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;17&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Canvas&amp;quot; x=&amp;quot;343&amp;quot; y=&amp;quot;39&amp;quot; w=&amp;quot;200&amp;quot; h=&amp;quot;135&amp;quot; measuredW=&amp;quot;100&amp;quot; measuredH=&amp;quot;70&amp;quot; zOrder=&amp;quot;2&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;/&gt;      &lt;control controlID=&amp;quot;18&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;246&amp;quot; y=&amp;quot;103&amp;quot; w=&amp;quot;82&amp;quot; h=&amp;quot;10&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;3&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;top&lt;/direction&gt;          &lt;leftArrow&gt;true&lt;/leftArrow&gt;          &lt;rightArrow&gt;false&lt;/rightArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;19&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;557&amp;quot; y=&amp;quot;107&amp;quot; w=&amp;quot;88&amp;quot; h=&amp;quot;10&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;4&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;20&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Canvas&amp;quot; x=&amp;quot;343&amp;quot; y=&amp;quot;307&amp;quot; w=&amp;quot;199&amp;quot; h=&amp;quot;73&amp;quot; measuredW=&amp;quot;100&amp;quot; measuredH=&amp;quot;70&amp;quot; zOrder=&amp;quot;5&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;/&gt;      &lt;control controlID=&amp;quot;21&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;425&amp;quot; y=&amp;quot;186&amp;quot; w=&amp;quot;35&amp;quot; h=&amp;quot;100&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;6&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;backgroundAlpha&gt;1&lt;/backgroundAlpha&gt;          &lt;direction&gt;top&lt;/direction&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;rightArrow&gt;true&lt;/rightArrow&gt;          &lt;text&gt;GWT%20Compiler&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;22&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;47&amp;quot; y=&amp;quot;53&amp;quot; w=&amp;quot;170&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;78&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;7&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;java.lang&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;23&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;47&amp;quot; y=&amp;quot;87&amp;quot; w=&amp;quot;170&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;73&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;8&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;java.util&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;24&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;47&amp;quot; y=&amp;quot;121&amp;quot; w=&amp;quot;170&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;62&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;9&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;java.io&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;25&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Label&amp;quot; x=&amp;quot;343&amp;quot; y=&amp;quot;103&amp;quot; w=&amp;quot;200&amp;quot; h=&amp;quot;26&amp;quot; measuredW=&amp;quot;155&amp;quot; measuredH=&amp;quot;32&amp;quot; zOrder=&amp;quot;10&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;align&gt;center&lt;/align&gt;          &lt;size&gt;20&lt;/size&gt;          &lt;text&gt;Application%20code&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;26&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;676&amp;quot; y=&amp;quot;68&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;63&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;11&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Panels&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;27&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;677&amp;quot; y=&amp;quot;106&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;73&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;12&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Widgets&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;28&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;750&amp;quot; y=&amp;quot;68&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;83&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;13&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;GWT-RPC&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;29&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;754&amp;quot; y=&amp;quot;106&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;107&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;14&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;HTTP%20Request&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;30&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;799&amp;quot; y=&amp;quot;146&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;57&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;15&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;JSON&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;31&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;840&amp;quot; y=&amp;quot;68&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;51&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;16&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;XML&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;32&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;862&amp;quot; y=&amp;quot;146&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;66&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;17&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;History&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;33&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;868&amp;quot; y=&amp;quot;106&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;50&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;18&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;L18n&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;34&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;676&amp;quot; y=&amp;quot;146&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;117&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;19&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;RequestFactory&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;35&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Label&amp;quot; x=&amp;quot;343&amp;quot; y=&amp;quot;310&amp;quot; w=&amp;quot;200&amp;quot; h=&amp;quot;32&amp;quot; measuredW=&amp;quot;103&amp;quot; measuredH=&amp;quot;32&amp;quot; zOrder=&amp;quot;20&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;align&gt;center&lt;/align&gt;          &lt;size&gt;20&lt;/size&gt;          &lt;text&gt;JavaScript&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;36&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Label&amp;quot; x=&amp;quot;343&amp;quot; y=&amp;quot;77&amp;quot; w=&amp;quot;200&amp;quot; h=&amp;quot;26&amp;quot; measuredW=&amp;quot;47&amp;quot; measuredH=&amp;quot;32&amp;quot; zOrder=&amp;quot;21&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;align&gt;center&lt;/align&gt;          &lt;size&gt;20&lt;/size&gt;          &lt;text&gt;Java&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;37&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Label&amp;quot; x=&amp;quot;343&amp;quot; y=&amp;quot;342&amp;quot; w=&amp;quot;200&amp;quot; h=&amp;quot;31&amp;quot; measuredW=&amp;quot;106&amp;quot; measuredH=&amp;quot;32&amp;quot; zOrder=&amp;quot;22&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;align&gt;center&lt;/align&gt;          &lt;size&gt;20&lt;/size&gt;          &lt;text&gt;Application&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;    &lt;/controls&gt; &lt;/mockup&gt;
  6. PRETTY zum debuggen OBFUSCATED Schutz/Performance
  7. Interfaces Property Files
  8. Client und Server implementieren Interface Serialisierung (Shared kram)
  9. MVP ermöglicht Trennung von Code (siehe Google Tech Talk)
  10. Warum GWT-Designer? Was ist GWT-Designer? Wie funktioniert GWT-Designer -&gt; Video Support für GWT, Smart-GWT, Ext-GWT, GWT-Ext
  11. Warum GWT-Designer? Was ist GWT-Designer? Wie funktioniert GWT-Designer -&gt; Video Support für GWT, Smart-GWT, Ext-GWT, GWT-Ext
  12. &lt;mockup version=&amp;quot;1.0&amp;quot; skin=&amp;quot;sketch&amp;quot; measuredW=&amp;quot;878&amp;quot; measuredH=&amp;quot;428&amp;quot; mockupW=&amp;quot;813&amp;quot; mockupH=&amp;quot;390&amp;quot;&gt;    &lt;controls&gt;      &lt;control controlID=&amp;quot;38&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;55&amp;quot; y=&amp;quot;28&amp;quot; w=&amp;quot;562&amp;quot; h=&amp;quot;53&amp;quot; measuredW=&amp;quot;216&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;0&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Java%20Language%2C%20Tools%20%26%20Runtime&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;39&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;67&amp;quot; y=&amp;quot;154&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;129&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;1&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Viele%20Tools%20%26%20Libs&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;40&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;277&amp;quot; y=&amp;quot;154&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;122&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;2&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Gro%DFartige%20IDEs&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;41&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;457&amp;quot; y=&amp;quot;154&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;164&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;3&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Statische%20Code%20Analyse&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;42&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;55&amp;quot; y=&amp;quot;258&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;162&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;4&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Leverage%20Existing%20work&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;43&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;63&amp;quot; y=&amp;quot;368&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;149&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;5&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Schnellere%20Lieferung&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;44&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;259&amp;quot; y=&amp;quot;258&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;169&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;6&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Entwickler%20Produktivit%E4t&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;45&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;267&amp;quot; y=&amp;quot;368&amp;quot; w=&amp;quot;154&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;146&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;7&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Schnellere%20Iteration&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;46&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;453&amp;quot; y=&amp;quot;243&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;164&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;8&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Compile%20Time%20Validation&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;48&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;463&amp;quot; y=&amp;quot;278&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;147&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;9&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Bessere%20Optimierung&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;49&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;491&amp;quot; y=&amp;quot;353&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;106&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;10&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Weniger%20Bugs&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;50&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;483&amp;quot; y=&amp;quot;390&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;126&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;11&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Schnellerer%20Code&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;51&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;126&amp;quot; y=&amp;quot;188&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;61&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;12&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;52&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;333&amp;quot; y=&amp;quot;188&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;61&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;13&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;53&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;530&amp;quot; y=&amp;quot;188&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;46&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;14&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;54&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;333&amp;quot; y=&amp;quot;295&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;54&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;15&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;55&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;530&amp;quot; y=&amp;quot;311&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;34&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;16&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;56&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;126&amp;quot; y=&amp;quot;295&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;54&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;17&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;57&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Label&amp;quot; x=&amp;quot;228&amp;quot; y=&amp;quot;366&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;16&amp;quot; measuredH=&amp;quot;32&amp;quot; zOrder=&amp;quot;18&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;size&gt;20&lt;/size&gt;          &lt;text&gt;+&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;58&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Label&amp;quot; x=&amp;quot;437&amp;quot; y=&amp;quot;366&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;16&amp;quot; measuredH=&amp;quot;32&amp;quot; zOrder=&amp;quot;19&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;size&gt;20&lt;/size&gt;          &lt;text&gt;+&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;59&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Label&amp;quot; x=&amp;quot;632&amp;quot; y=&amp;quot;366&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;15&amp;quot; measuredH=&amp;quot;32&amp;quot; zOrder=&amp;quot;20&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;size&gt;20&lt;/size&gt;          &lt;text&gt;%3D&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;61&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;693&amp;quot; y=&amp;quot;353&amp;quot; w=&amp;quot;175&amp;quot; h=&amp;quot;65&amp;quot; measuredW=&amp;quot;176&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;21&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Benutzer.zufriedenheit++&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;62&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;126&amp;quot; y=&amp;quot;88&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;51&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;22&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;63&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;333&amp;quot; y=&amp;quot;88&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;51&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;23&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;64&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;530&amp;quot; y=&amp;quot;88&amp;quot; w=&amp;quot;10&amp;quot; h=&amp;quot;51&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;24&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;    &lt;/controls&gt; &lt;/mockup&gt;
  13. Permutationen      Lokalisierung      Browserspezifischer Code &lt;mockup version=&amp;quot;1.0&amp;quot; skin=&amp;quot;sketch&amp;quot; measuredW=&amp;quot;890&amp;quot; measuredH=&amp;quot;652&amp;quot; mockupW=&amp;quot;763&amp;quot; mockupH=&amp;quot;555&amp;quot;&gt;    &lt;controls&gt;      &lt;control controlID=&amp;quot;13&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;413&amp;quot; y=&amp;quot;348&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;110&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;0&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;GWT-Compiler&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;18&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;483&amp;quot; y=&amp;quot;396&amp;quot; w=&amp;quot;98&amp;quot; h=&amp;quot;138&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;1&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;rightArrow&gt;true&lt;/rightArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;19&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;541&amp;quot; y=&amp;quot;371&amp;quot; w=&amp;quot;245&amp;quot; h=&amp;quot;163&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;2&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;rightArrow&gt;true&lt;/rightArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;20&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;390&amp;quot; y=&amp;quot;396&amp;quot; w=&amp;quot;60&amp;quot; h=&amp;quot;138&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;3&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;true&lt;/leftArrow&gt;          &lt;rightArrow&gt;false&lt;/rightArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;21&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;195&amp;quot; y=&amp;quot;371&amp;quot; w=&amp;quot;195&amp;quot; h=&amp;quot;163&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;4&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;true&lt;/leftArrow&gt;          &lt;rightArrow&gt;false&lt;/rightArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;22&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;342&amp;quot; y=&amp;quot;114&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;75&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;19&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Klasse%20A&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;23&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;342&amp;quot; y=&amp;quot;142&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;74&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;20&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Klasse%20B&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;24&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;342&amp;quot; y=&amp;quot;170&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;75&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;21&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Klasse%20C&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;25&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;117&amp;quot; y=&amp;quot;548&amp;quot; w=&amp;quot;173&amp;quot; h=&amp;quot;94&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;5&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Internet%20Explorer&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;26&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;129&amp;quot; y=&amp;quot;571&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;146&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;6&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;16..1879B.cache.html&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;27&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;129&amp;quot; y=&amp;quot;599&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;146&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;7&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;08..6D53F.cache.png&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;28&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;320&amp;quot; y=&amp;quot;548&amp;quot; w=&amp;quot;173&amp;quot; h=&amp;quot;94&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;8&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Mozilla%20Firefox&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;29&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;328&amp;quot; y=&amp;quot;571&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;157&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;9&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;E6..F144D3.cache.html&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;30&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;328&amp;quot; y=&amp;quot;599&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;155&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;10&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;56..4224D3.cache.png&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;31&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;513&amp;quot; y=&amp;quot;548&amp;quot; w=&amp;quot;173&amp;quot; h=&amp;quot;94&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;11&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Safari%20/%20Chrome&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;32&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;523&amp;quot; y=&amp;quot;571&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;153&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;12&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;B1..B1E06B.cache.html&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;33&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;523&amp;quot; y=&amp;quot;599&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;156&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;13&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;0D..6DF3C0.cache.png&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;34&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;707&amp;quot; y=&amp;quot;548&amp;quot; w=&amp;quot;173&amp;quot; h=&amp;quot;94&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;14&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Opera&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;35&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;715&amp;quot; y=&amp;quot;571&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;157&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;15&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;E3..A353B4.cache.html&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;36&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;715&amp;quot; y=&amp;quot;599&amp;quot; w=&amp;quot;-1&amp;quot; h=&amp;quot;-1&amp;quot; measuredW=&amp;quot;152&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;16&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;00..D7FB7F.cache.png&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;37&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;502&amp;quot; y=&amp;quot;108&amp;quot; w=&amp;quot;95&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;95&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;22&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;image01.png&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;38&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;502&amp;quot; y=&amp;quot;136&amp;quot; w=&amp;quot;93&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;93&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;23&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;image02.gif&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;39&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Button&amp;quot; x=&amp;quot;502&amp;quot; y=&amp;quot;164&amp;quot; w=&amp;quot;95&amp;quot; h=&amp;quot;28&amp;quot; measuredW=&amp;quot;95&amp;quot; measuredH=&amp;quot;28&amp;quot; zOrder=&amp;quot;24&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;image03.jpg&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;40&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;328&amp;quot; y=&amp;quot;87&amp;quot; w=&amp;quot;107&amp;quot; h=&amp;quot;126&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;17&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Source%20Code&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;41&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::FieldSet&amp;quot; x=&amp;quot;481&amp;quot; y=&amp;quot;89&amp;quot; w=&amp;quot;131&amp;quot; h=&amp;quot;118&amp;quot; measuredW=&amp;quot;200&amp;quot; measuredH=&amp;quot;170&amp;quot; zOrder=&amp;quot;18&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;text&gt;Resources&lt;/text&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;42&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;383&amp;quot; y=&amp;quot;222&amp;quot; w=&amp;quot;61&amp;quot; h=&amp;quot;109&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;25&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;leftArrow&gt;false&lt;/leftArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;      &lt;control controlID=&amp;quot;44&amp;quot; controlTypeID=&amp;quot;com.balsamiq.mockups::Arrow&amp;quot; x=&amp;quot;493&amp;quot; y=&amp;quot;221&amp;quot; w=&amp;quot;35&amp;quot; h=&amp;quot;109&amp;quot; measuredW=&amp;quot;150&amp;quot; measuredH=&amp;quot;100&amp;quot; zOrder=&amp;quot;26&amp;quot; locked=&amp;quot;false&amp;quot; isInGroup=&amp;quot;-1&amp;quot;&gt;        &lt;controlProperties&gt;          &lt;direction&gt;bottom&lt;/direction&gt;          &lt;leftArrow&gt;true&lt;/leftArrow&gt;          &lt;rightArrow&gt;false&lt;/rightArrow&gt;          &lt;text/&gt;        &lt;/controlProperties&gt;      &lt;/control&gt;    &lt;/controls&gt; &lt;/mockup&gt;