Webframeworks eine Kategorisierung

Größe: px
Ab Seite anzeigen:

Download "Webframeworks eine Kategorisierung"

Transkript

1 Welches Webframework soll im nächsten Projekt eingesetzt werden? Webframeworks eine Kategorisierung en verdrängen immer mehr die klassischen Desktopanwendungen und sind aus dem Alltag nicht mehr wegzudenken sei es als -Client oder für die einfache Verwaltung der Bankkonten über das Web. Zur Realisierung dieser Anwendungen werden Webframeworks eingesetzt, von denen es mittlerweile alleine schon im Java-Umfeld eine fast unüberschaubar große Anzahl gibt [1]. In Foren, Blogs und Fachzeitschriften liest man regelmäßig über neu erschienene Frameworks oder zusätzliche Features. In diesem Zusammenhang fallen häufig Begriffe wie Ajax, Rich Internet Application oder Portal. Doch was bedeuten diese Begriffe eigentlich? Und welches Webframework ist für welches Projekt relevant? Der Artikel gibt einen Überblick über die verschiedenen Frameworktypen und nimmt eine Kategorisierung anhand grundlegender Design- und Entwicklungskriterien vor. von Kai Wähner Der Artikel beschreibt wichtige Designentscheidungen im Umfeld der Entwicklung von en. Darüber hinaus werden die verschiedenen Framework- und Technologietypen näher erläutert. Anschließend wird eine Übersicht der im Markt existierenden Webframeworks gegeben und anhand von Kriterien kategorisiert. Was ist ein Webframework? Webframework wird als Oberbegriff für die Kombination mehrerer Technologien zur Entwicklung von en verwendet. Das Ziel ist dabei, sich wiederholende Tätigkeiten zu vereinfachen, rein technische Aufgabenstellungen (z. B. Kommunikation über Servlets) abzunehmen und die Wiederverwendung von Code zu fördern. Die Fähigkeiten eines Webframeworks sind darauf ausgelegt, schnell Ergebnisse zu erzielen und lauffähige en zu erstellen. Der Artikel betrachtet Webframeworks, die ohne Zusatzaufwand auf einer JVM lauffähig sind. Ajax (Kasten: Ajax (Asynchronous JavaScript and XML) ) und entsprechend das Web 2.0 haben sich mittlerweile etabliert und werden durch nahezu alle aktuellen Webframeworks unterstützt meist durch eigene Ajax-Komponenten, die keine JavaScript-Kenntnisse erfordern. Zumindest aber die Integration von Ajax-Bibliotheken ist immer verfügbar. Das Motto The right Tool for the right Job trifft auch auf Webframeworks zu, daher soll an dieser Stelle keine allgemeine Empfehlung ausgesprochen, sondern die Bewertung der einzelnen Frameworks durch den Leser ermöglicht werden. Kategorisiert werden Webframeworks, die eine große Community verfügen, viele Add-ons anbieten, Lernen und Nachschlagen durch Fachbücher, Blogs und Forenbeiträge ermöglichen und 34 javamagazin

2 Webframeworks im Java-Umfeld Web durch Fachzeitschriften sowie IT-Konferenzen in Medien vertreten sind. Es wird nicht der Anspruch erhoben, alle verfügbaren Webframeworks komplett zu analysieren. Stattdessen erhält der Leser einen Überblick über die am Markt verfügbaren Frameworktypen und die Möglichkeit, zu entscheiden, welcher Typ für die Anforderungen in einem konkreten Projekt am besten geeignet ist. Multi-Page vs. Single-Page Der Unterschied zwischen Multi-Page und Single-Page wird in Abbildung 2 dargestellt. Bei einer Multi-Page- Struktur besitzt die mehrere Seiten, durch die navigiert wird. Der Benutzer öffnet einen URL im Browser und eine konkrete Seite wird angezeigt. Während der Benutzung werden Hyperlinks verfolgt und Daten übertragen. Jede Seite besitzt daher einen eigenen URL. Durch diese Struktur sind typische Browserfeatures wie Lesezeichen oder Vor- und Zurück-Navigation grundsätzlich verfügbar. Das klassische Beispiel ist Amazon, wo zuerst verschiedene Produkte, die jeweils eine eigene Seite besitzen, betrachtet und gegebenenfalls in den Warenkorb gelegt werden. Dann wird auf mehreren Seiten der Bestellvorgang (Auswahl von Adresse, Zahlungsart und Versandart) durchgeführt. Bei der Single-Page-Struktur hingegen besitzt die nur eine Seite, in der alle Aktionen durchgeführt werden. Durch Panels und Reiter können mehrere Seiten simuliert werden. Oft gibt es aber nur genau eine Seite zur Darstellung der gesamten Anwendung. Der Benutzer öffnet einen URL im Browser, der dauerhaft unverändert bleibt. In der Anwendung öffnen sich oft neue Fenster bzw. Dialoge (z. B. für Warnhinweise). Typische Browserfeatures wie Lesezeichen oder Vor- und Zurück-Navigation sind daher meist nur durch Mehraufwand realisierbar. Auch die Durchsuchbarkeit, die insbesondere für Suchmaschinen notwendig ist, wird erschwert. Als klassisches Beispiel für die Single-Page- Struktur sei die Google Mail genannt, wo auf einer einzigen Seite alle Aufgaben zur - Verwaltung durchgeführt werden. Action-based vs. Component-based Ein Webframework kann entweder Action-based (oft auch Request-based genannt) oder Component-based sein (Abb. 3). Bei Action-based Webframeworks wird in dem API ersichtlich, dass eine HTML-Anfrage geparst und eine HTML-Antwort erzeugt werden soll. Jede Anfrage eines Nutzers ist eine eigene Aktion. Für jede Aktion wird genau ein Objekt definiert, das Anfragen entgegennimmt und verarbeitet. Der Ablauf ist dadurch sehr linear, als Einstiegspunkt für Interaktionen wird ein Servlet oder eine Aktion mit allgemeinen Attributen (z. B. URLs, Formulare etc.) genutzt. Vorteile dieses Konzepts sind die relativ simple Entwicklung, die Möglichkeit des einfachen Testens im Webbrowser sowie einfaches Verwalten von Lesezeichen, da jede Aktion einen URL darstellt. Demgegenüber steht der Nachteil, Anzeige Abb.1: Vergleich der Kommunikation ohne und mit Ajax Abb. 2: Vergleich der Multi- Page- und Single- Page- Struktur

3 Abb. 3: Vergleich des Action-based- und Component-based-Konzepts Abb. 4: Vergleich des clientzentrischen und serverzentrischen Ansatzes dass die Konfiguration schon bei relativ kleinen Seiten unübersichtlich wird, da jede Aktion ein eigenes Objekt besitzt und deshalb auch ein eigenes Mapping notwendig ist. Somit muss trotz einfacher Seitenstruktur sehr viel Konfiguration verwaltet werden. Bei Component-based Webframeworks abstrahiert das API im Gegensatz zur Action-based-Variante vom Anfrage-/Antwortkonzept und behandelt die als Sammlung von Komponenten mit jeweils eigener Darstellung und eigenen Aktionen. Die Anfrage wird nicht an die Aktion, sondern an die Komponente geleitet, dort verarbeitet und in der Oberfläche angezeigt. Es entsteht kein linearer Ablauf. Zusammengehörende Typen von Informationen (z. B. Login, Logout, GetAccount) werden in Gruppen gesammelt (z. B. AccountController). Somit kann ein Objekt für mehrere Aktionen verantwortlich sein. Ein großer Vorteil ist der schnelle Einstieg für Entwickler ohne Erfahrung in der Webentwicklung, da das API Java-Desktopanwendungen (z. B. Swing) ähnelt. Das ermöglicht auch die einfachere Erstellung von eigenen Komponenten und deren Wiederverwendung. Des Weiteren ist die Konfiguration übersichtlich, da nicht für jede Aktion ein eigener Controller notwendig ist. Den Vorteilen steht der Nachteil gegenüber, dass der Entwickler auch die oft komplexe Abstraktion des Webframeworks verstehen muss, um die Features ausnutzen und Fehler nachverfolgen zu können. Die Entscheidung für ein Action-based oder Component-based Webframework hängt also vom Workflow der ab. Während Komponenten sehr gut einsetzbar sind, wenn Wiederverwendung und komplexe Abläufe eine große Rolle spielen (z. B. bei einer großen einer Bank mit vielen ähnlichen Masken), eignet sich das Anfrage-/Antwortkonzept be- Ajax (Asynchronous JavaScript and XML) Ajax bezeichnet ein Konzept der asynchronen Datenübertragung zwischen Webbrowser und Server (Abb. 1). Dabei wird ermöglicht, im Hintergrund weitere Daten vom Server zu laden, während eine Seite im Browser angezeigt wird. Diese Daten werden verwendet, um mittels JavaScript die aktuelle Seite zu aktualisieren. Da die Seite nicht jedes Mal vollständig neu geladen werden muss, kann der Benutzer flüssiger mit der Anwendung arbeiten. Technisch betrachtet bezeichnet Ajax eine Menge von Technologien, die zur Webentwicklung eingesetzt werden. HTML wird für die Darstellung verwendet. Der Browser wandelt es in einen Document- Object-Model-(DOM-)Baum um, der mittels JavaScript modifiziert werden kann, um die dynamische Darstellung von Inhalten zu ermöglichen. Zur asynchronen Kommunikation mit dem Server wird das XMLHttpRequest- Objekt eingesetzt und in der Regel entweder XML, JSON oder reiner Text als Datenformat verwendet. Ein großer Vorteil von Ajax ist, dass kein Browser-Plug-in benötigt wird lediglich JavaScript muss im Webbrowser aktiviert sein. Allerdings entstehen durch das neue Programmierparadigma auch einige Probleme, die von JavaScript-Bibliotheken oder Webframeworks bereinigt werden müssen: Die Funktionalität der Zurück -Schaltfläche des Browsers ist schwer zu gewährleisten, da Webbrowser normalerweise nur jeden neuen URL in ihrer Historie abspeichern. Bei schlechter Programmierung besteht die Gefahr, dass ein Client öfters Anfragen an den Server senden muss, da es durch die Aufteilung auf mehrere Bereiche einer Seite oft auch mehrere unabhängige Events gibt. Dadurch wird die Auslastung des Webservers spürbar erhöht. Das Setzen eines Lesezeichens auf einen ganz bestimmten Zustand einer muss nun explizit vom Entwickler realisiert werden. Zusätzlicher Aufwand ist notwendig, um die einer Suchmaschine zugänglich zu machen. JavaScript-Bibliotheken wie jquery oder Prototype ermöglichen den Einsatz von Ajax durch bereits geschriebene JavaScript-Kontrollelemente, wodurch Ajax-basierte en mit deutlich weniger Entwicklungsaufwand realisiert werden können. Allerdings sind im Gegensatz zu Webframeworks im Java-Umfeld immer noch Low-Level-Programmierkenntnisse in JavaScript erforderlich. Wann der Einsatz einer JavaScript-Bibliothek anstatt eines Webframeworks ausreichend sein kann, wurde unter [2] ausführlich beschrieben. 36 javamagazin

4 Webframeworks im Java-Umfeld Web sonders für lineare Abläufe, z. B. für einen einfachen Onlinefragebogen. Client-centric vs. Server-centric Wichtig ist des Weiteren die Unterscheidung zwischen dem clientzentrischen und dem serverzentrischen Ansatz (Abb. 4). Beim clientzentrischen Ansatz werden die gesamte Oberfläche und Steuerungslogik beim Start auf den Client geladen. Das ist insbesondere bei Anwendungen sinnvoll, die über einen längeren Zeitraum benutzt werden, da so in der Summe weniger Daten zwischen Client und Server ausgetauscht werden. Beispielsweise startet der Mitarbeiter in einer Bank die Anwendung zur Verwaltung von Kundendaten morgens und arbeitet den ganzen Tag mit derselben Oberfläche. Diese muss nicht jedes Mal neu geladen werden, wenn eine neue Seite aufgerufen wird, sondern ist sofort verfügbar. Beim Wechsel zu einem anderen Kunden müssen statt der gesamten HTML-Oberfläche nur noch die Kundendaten (z. B. im XML-Format) vom Server übertragen werden. Beim serverzentrischen Ansatz hingegen wird die Darstellung der Oberfläche auf dem Server (z. B. durch den Aufruf einer Java-Methode) erstellt, an den Client übertragen und dann dort dargestellt (z. B. eine HTML-Seite, die Kundendaten enthält). In der oben genannten Bankanwendung müsste somit bei jedem Seitenwechsel (z. B. zur Auswahl eines anderen Kunden) neben den Kundendaten auch die HTML- Oberfläche jedes Mal erneut vom Server übertragen werden, wodurch die Ladezeiten spürbar länger werden. Der serverzentrische Ansatz ist sinnvoll, wenn die Steuerungslogik aus Sicherheitsgründen oder wegen sehr leistungsschwachen Clients nicht vom Server ausgelagert werden soll. Ein weiterer Anwendungsfall ist der Einsatz von Clients ohne Browser, da hier die technische Implementierung auf Clientseite nicht bekannt sein muss. Das ermöglicht z. B. den Einsatz auf Mobiltelefonen ohne Browser, die nur Java ME unterstützen. Weitere wichtige Begriffe aus dem Umfeld von en werden im Kasten Kriterien unabhängig von der Auswahl eines Webframeworks beschrieben. Sie haben keinen direkten Einfluss auf die Auswahl eines Webframeworks, da ihre Eigenschaften nicht nur die Oberfläche, sondern die gesamte Anwendung betreffen. Frameworktypen en existieren je nach Einsatzgebiet in verschiedenen Größen und beanspruchen dementsprechend auch unterschiedlichen Zeitaufwand zur Realisierung (Abb. 5). Für jede dieser Arten von gibt es geeignete Webframeworks. Je nach Frameworktyp unterscheiden sich sowohl die Entwicklung der als auch die Benutzung durch den Endanwender. Im Folgenden werden die unterschiedlichen Typen vorgestellt. Abb. 5: Kategorisierung von Webframeworks Abb. 6: Einordnung der Webframeworks bezüglich Frameworktyp und Komplexität Professional Scrum Master mit Ken Schwaber am in Frankfurt am Main TRAINING Advanced TDD Intensiver Hands-on Kurs mit Bob Martin am in Karlsruhe Weitere Infos unter Anzeige

5 Fat Client Fat Clients besitzen die klassische Optik von Java- Anwendungen und verwenden Textfelder, Buttons, Checkboxen usw. Neben der Oberfläche wird auch die eigentliche Verarbeitung der Geschäftslogik auf dem Client vollzogen, nur die Daten werden auf dem Server gespeichert. Fat Clients werden beispielsweise mit Swing oder Eclipse RCP realisiert und nicht mit Webframeworks. Der Begriff dient daher in diesem Artikel nur zur Abgrenzung. Eine klassische besitzt in der Regel eine Multi-Page-Struktur sowie die von Beginn der Internetära an bekannte HTML-Oberfläche. Die Anwendung wird serverzentrisch realisiert. Die gesamte Geschäftslogik wird über Anfrage-/Antwortkommunikation durch den Server verarbeitet, wobei die nur die Oberfläche (d. h. das vom Server empfangene HTML) darstellt. Elementare, vom Desktop bekannte Features wie Drag and Drop oder der Zugriff auf die Festplatte und Betriebssystemfunktionen fehlen in klassischen en. Die Konsequenz ist mangelnde Benutzerfreundlichkeit. Immerhin muss durch den Einsatz von grundsätzlichen Ajax-Funktionen nur noch der aktualisierte Bereich der Seite neu geladen werden. Die gute Benutzbarkeit einer Desktopanwendung wird dadurch allerdings nicht erreicht. en benötigen kein Plug-in und laufen in jedem Browser. Allerdings entste- Kriterien unabhängig von der Auswahl eines Webframeworks Die folgenden Kriterien betreffen die gesamte Anwendung und nicht nur die Auswahl des Webframeworks zur Realisierung der Oberfläche. Plattformunabhängigkeit Plattformunabhängigkeit bedeutet, dass die Applikation unabgängig von folgenden Faktoren ausgeführt werden kann: Betriebssystem (z. B. Windows, Linux, Unix, Mac OS X) Application-Server (z. B. WebSphere, JBoss)/Webcontainer (z. B. Tomcat, Jetty) Webbrowser (z. B. Internet Explorer, Firefox, Safari, Chrome) Datenbank (z. B. DB2, MySQL, NoSQL ) Programmiersprache (z. B. Java, Groovy, Scala) Mehrkanalfähigkeit Eine ist mehrkanalfähig, wenn sie über mehrere Kommunikationswege ausgeführt werden kann. Dabei ist ein großer Teil des entwickelten Codes für alle Kanäle nutzbar. Folgende Ziele werden erreicht: Reduzierung der Entwicklungskosten Schnellere Auslieferung von neuen Funktionen und/oder Kanälen Bessere, einheitlichere Benutzbarkeit der unterschiedlichen Kanäle Zu unterscheiden sind zwei Arten der Mehrkanalfähigkeit, die unabhängig voneinander in unterschiedlichen Kontexten betrachtet werden. Mehrkanalfähige Consumer-Anwendungen ermöglichen die Benutzung auf diversen Endgeräten wie Desktop, Laptop, Smartphone oder TV. Auf allen Endgeräten wird dieselbe Funktionalität angeboten. Die Darstellung und Benutzung ist ähnlich. Dabei treten in der Praxis allerdings einige Probleme auf, z. B. enorm unterschiedliche Displaygrößen, verschiedene Eingabemethoden oder die ausschließliche Unterstützung weniger Multimediaformate. Bei Enterprise-Anwendungen bedeutet Mehrkanalfähigkeit die Wiederverwendung von Komponenten in verschiedenen Prozessen. Für jeden Kanal kann dann ein eigener Prozessablauf spezifiziert werden. Für diese Komponenten gelten besonders hohe Anforderungen an die Unabhängigkeit und Integrierbarkeit in verschiedene Prozesse. Offlinefähigkeit Offlinefähigkeit ermöglicht einer, auch ohne Internetverbindung funktionsfähig zu sein. Zur Realisierung sind zwei Möglichkeiten gegeben, die unabhängig von einem konkreten Webframework eingesetzt werden können. JavaScript-Caching kann verwendet werden, sofern Daten nur kurzfristig auf Clientseite gespeichert werden müssen. Dabei werden die Daten im Arbeitsspeicher zwischengespeichert nach einem Browserneustart oder Absturz des Systems sind die Daten daher verloren. In der Oberfläche können neue Daten auch eingegeben werden, wenn keine Internetverbindung vorhanden ist. Die Daten werden später mit dem Server synchronisiert, beispielsweise durch einen Button-Klick. Diese Lösung benötigt eher geringen Aufwand und wird durch JavaScript-Bibliotheken realisiert, z. B. durch jcache [3]. Ein möglicher Anwendungsfall sind Einstellungstests von Bewerbern, die Aufgaben über eine Weboberfläche bearbeiten. Im Enterprise-Umfeld ist die JavaScript-Caching-Lösung allerdings oft nicht ausreichend. Gears (früher Google Gears) ermöglicht als Browser-Plug-in die Offlineverwendung von en. Dadurch können Daten bei fehlender Internetverbindung auch auf Clientseite persistiert werden. In Zukunft soll allerdings laut Google auf HTML5 gesetzt werden, deswegen wurde die Weiterentwicklung von Gears eingestellt. Der Support endet allerdings nicht, da bereits viele en Gears produktiv einsetzen [4]. HTML5 ist in den meisten Browsern noch nicht oder nur teilweise implementiert. Architekturänderungen zur Realisierung von Offlinefähigkeit Die Realisierung von Offlinefähigkeit erfordert ein Umdenken bei der Architektur, da neue Fragen entstehen, die bei klassischen Online - en nicht auftreten: Welche Funktionalitäten sollen auch offline verfügbar sein? Wie soll die Datenschicht auf Clientseite isoliert werden (z. B. durch eine lokale Datenbank)? Soll das Wechseln zwischen Online- und Offlinemodus manuell oder automatisch erfolgen? Wie und wann werden die Daten synchronisiert (z. B. manuell oder im Hintergrund)? Ausführliche Erläuterungen zu diesen Fragestellungen sind unter [5] zu finden. 38 javamagazin

6 Ein Portal kann zusätzlich zu einem Webframework eingesetzt werden. Unabhängig vom ausgewählten Produkt entsteht dadurch ein erheblicher Mehraufwand und höhere Komplexität. Portale stellen Informationen verschiedener Anwendungen (Standardsoftware, Individualsysteme, Webseiten, externe Systeme) auf eine einheitliche Art dar und werden eingesetzt, um Informationen, Personen und Prozesse über organisatorische Grenzen hinweg in Unternehmen zu integrieren. Portale werden auf einem Portalserver deployt. Neben Webframeworks zur Entwicklung der eigentlichen Oberflächen von Anwendungen wird eine Portalsoftware benötigt. Dabei konkurrieren sowohl kommerzielle Produkte wie IBM-WebSphere-Portal und Open-Source-Produkte wie Liferay-Portal um die Kunden. Portlets Portlets sind der De-facto-Standard für die Realisierung eines Portals und sind in den JSRs 168 und 286 spezifiziert. Sie definieren beliebig kombinierbare Komponenten einer Benutzeroberfläche, die von dem Portalserver angezeigt und verwaltet werden. Jede Anwendung, die im Portal dargestellt werden soll, wird in ein Portlet integriert. Die Portlets können auch untereinander Informationen austauschen und dadurch auf Zustände anderer Anwendungen entsprechend reagieren. Detaillierte Informationen zum Portlet-Standard gibt es unter [6]. Vorteile eines Portals Wegen des erheblichen Mehraufwands beim Einsatz eines Portals im Gegensatz zur Entwicklung von einzelnen en ist die Einführung insbesondere bei großen Anwendungslandschaften sinnvoll. Ein Portal bietet folgende Vorteile: Integration: Die Funktionen und Daten von Anwendungen können in andere Komponenten integriert werden. Zusammenarbeit: Eine Aktion in einer Anwendung kann Änderungen des Zustands von anderen Anwendungen hervorrufen. Single-Sign-on: Ein Benutzer muss sich nur einmal anmelden und kann dann alle integrierten Anwendungen, für die er die Zugriffsrechte besitzt, verwenden. Personalisierung: Die Darstellung der Oberfläche kann durch den Benutzer oder das System individuell angepasst werden. Der Benutzer kann das Look and Feel seinen persönlichen Wünschen anpassen, beispielsweise bezüglich Inhalt, Struktur oder grafischer Darstellung. Das System kann basierend auf Metadaten den am besten zum Benutzer passenden Inhalt, z. B. passende Newsmeldungen oder die am häufigsten genutzten Anwendungen, anzeigen. Software Engineer Java (m/w) Ref.-Nr.: 10/2010 Wir wachsen kontinuierlich weiter und suchen zur Unterstützung unserer Entwicklungsabteilung in Berlin ab sofort einen Software Engineer Java! Zu Ihren spannenden Aufgaben bei Axway gehört die Mitarbeit in eigenverantwortlichen, agilen und internationalen Java Entwicklungsteams. Sie passen zu uns, wenn Sie nach einem erfolgreich abgeschlossenen Studium der Informatik oder einer vergleichbaren Fachrichtung bereits Berufserfahrungen gesammelt haben. Neben Kenntnissen der Java Entwicklung verfügen Sie über Wissen der Entwicklung von Eclipse Plug-Ins oder von Backend- Applikationen. Sichere Deutsch- und Englischkenntnisse in Wort und Schrift, Teamorientierung, eine selbständige und kreative Arbeitsweise sowie Qualitätsbewusstsein runden Ihr Profil ab. Sie haben Lust, sich in einem globalen IT-Unternehmen mit flachen Hierarchien zu engagieren? Sie legen Wert auf eine attraktive Vergütung und großen Gestaltungsfreiraum mit persönlichen Entwicklungsmöglichkeiten? Dann kommen Sie zu uns! Wir freuen uns auf Ihre Bewerbung! Axway ist die Business Interaction Networks Company und der einzige Anbieter auf dem heutigen Markt, der sämtliche geschäftliche Interaktionen , Dateien, Nachrichten, Services, Events und Prozesse managen, betreiben, sichern und überwachen kann. Bei über Kunden in mehr als 100 Ländern beschleunigt Axway den Geschäftserfolg mit Multi- Enterprise-Transaktionen, -Prozessen und -Integrationen. Axway bietet seinen Kunden Professional Services und Managed Services sowie Cloud Computing und Software as a Service (SaaS). Axway ist in 20 Ländern vertreten und hat seinen Hauptgeschäftssitz in Phoenix, Arizona (USA). Bitte senden Sie Ihre aussagekräftigen Unterlagen mit Angaben zu Ihren Gehaltsvorstellungen und möglichem Eintrittstermin an: Axway GmbH Human Resources, Kurfürstendamm 119, Berlin Tel: (0)

7 Frameworktyp Eingesetzte Technologien Plug-in notwendig Webframework Technologietyp Action- vs. Browserunabhängig Besonderheiten Java Server Faces (JSF) Java, XML, XHTML (seit JSF 2.0, vorher JSP) Nein Nein JSF ist ein eigener Standard (JSF 2.0: JSR 314). Sehr viele Add-ons verfügbar: Verschiedene Impementierungen (z. B. Suns Mojarra, Apaches MyFaces), Komponentenbibliotheken (z. B. RichFaces, ICEFaces), CaptainCasa (ermöglicht die einfach Erstellung eines Rich Clients durch GUI-Editor und Abkopplung von JSF Lifecycle), JBoss Seam (ermöglicht einfache Integration mit Geschäftslogik, z. B. durch EJBs). Sehr gut in Portlets integrierbar durch JSR 301 bzw. 329 (Portlet-Bridge) für JSF 1.2, Liferay Portletfaces bzw. JBoss PortletBridge für JSF 2.0. Wicket Java, XHTML Nein Nein Sehr gute Trennung zwischen Designer und Entwickler durch Wicket-IDs. Starke Orientierung am OO-Konzept/Swing- Programmierung Tapestry Java, auf XHTML basierende Markup-Sprache TML Nein Nein Stark Annotation-basiert. Jeder Versionssprung bedeutete bisher Inkompatibilität zu älteren Versionen. Struts Java, XHTML, JSP Action-based Nein Nein Struts 2 wurde bis 2008 unter dem Namen WebWork 2 entwickelt. Spring MVC Java, XHTML, JSP, XML Action-based Nein Nein Teil des Spring Frameworks. Einfache Integration vieler View-Technologien möglich (z. B. JSP, Struts Tiles, Freemarker) Google Web Toolkit (GWT) Rich Client Java Java, Design optional in XML Nein Ja Clientzentrischer Ansatz. Viele Add-ons verfügbar: Komponentenbibliotheken (z. B. SmartGWT, ExtGWT), GUI-Builder (z. B. GWT- Designer) ZK Rich Client Java Java, Design optional in XML (eigene Markup- Sprache ZUML Nein Ja Leichtgewichtiger, serverzentrischer Ansatz (realisiert durch eine intelligente HTML-Seite, die beim Start an den Client gesendet wird und eine ZK-spezifische Client-Engine besitzt) JavaFX Script JavaFX RIA Skriptsprache Java Runtime Environment (JRE) Ja Ausrichtung auf mehrkanalfähige Consumer- Anwendungen (Common Profile mit Basisklassen für alle Anwendungen, zusätzlich Desktop-, Mobile- und TV-Erweiterungen, 2011 wird sich JavaFX vollständig verändern. Die Skriptsprache JavaFX Script wird durch ein Java-API ersetzt. Außerdem soll auch HTML5 nativ unterstützt werden, wodurch die Plug-in- Notwendigkeit entfällt. MXML, ActionScript Adobe Flex RIA Skriptsprache Adobe Flash Player Ja Wird nicht in Java-Bytecode übersetzt, sondern erzeugt eine.swf-datei. Mangels Alternativen zu JavaFX im RIA-Bereich, und da die Integration zu Java (z. B. durch GraniteDS) mittlerweile einfacher geworden ist, wurde Flex trotzdem in diesen Artikel aufgenommen. Flex ist Open Source, Runtime (Flash Player) und Tools sind proprietär und kommerziell dafür aber auch schon sehr ausgereift. Durch Tools wie GraniteDS gut mit Java Backend integrierbar. Roma Framework CRUD-Client Java Java, diverse weitere (siehe Besonderheiten) Nein Nein Metaframework: Für jeden Bereich wie View, Model oder Reporting kann eine beliebige Technologie eingesetzt werden (z. B. für die View liegen Implementierungen für JSP und Echo2 vor, HTML und Swing sind in Arbeit). Spring Roo CRUD-Client Java Java Action-based Nein Nein Basiert auf Spring, JPA und AspectJ. Entwicklung hauptsächlich in Roo Shell (interaktive Konsole). Frei verfügbare IDE SpringSource Tool Suite. Entfernen von Spring Roo-spezifischem Quellcode möglich (AspectJ-Code wird dann in die eigentlichen Klassen verschoben). Grails CRUD-Client Moderne JVM- Sprache Groovy, JSP oder GSP Action-based Nein Nein Groovy ist neben Java die zweite Standardsprache für die JVM (JSR 241) Effiziente Entwicklung durch Groovy-Feaures möglich. Basiert auf Spring, Hibernate und Sitemesh. Lift CRUD-Client Moderne JVM- Sprache Scala, XHTML Nein Nein Effiziente Entwicklung durch Scala-Features möglich. Tabelle 1: Überblick über Webframeworks 40 javamagazin

8 Webframeworks im Java-Umfeld Web hen insbesondere beim Einsatz von Ajax oft Kompatibilitätsprobleme zwischen verschiedenen Browsern. Rich Internet Applications (RIA) Bei einer RIA läuft die Oberfläche vollständig auf dem Client ab. Durch die Verwendung des clientzentrischen Konzepts wird bei diesem Frameworktyp stärker zwischen Oberflächendarstellung und Daten getrennt. Eine RIA hat eine Single-Page-Struktur und verfügt über viele Eigenschaften von Desktopanwendungen wie Offlinefähigkeit, Drag and Drop oder Festplattenzugriff. Zudem ermöglichen RIAs die Realisierung von hohen Anforderungen an die Oberfläche, beispielsweise durch Animationen, Effekte oder Multimediafeatures. Daher wird statt Java auch eine neue Skriptsprache zur Entwicklung benötigt. Die ist meistens nicht mehr als solche zu erkennen und kann in der Regel auch außerhalb des Browsers gestartet werden. Aufgrund dieser revolutionären Darstellung entstehen aber auch einige Nachteile für Entwickler und Anwender: Die gesamte muss beim ersten Start sowie bei jeder neuen Version vollständig heruntergeladen werden. Auf dem Client muss ein Plug-in des jeweiligen Webframeworks installiert sein, wodurch als Nebeneffekt auch Kompatibilitätsprobleme zwischen verschiedenen Browsern eliminiert werden. Plattformneutralität geht verloren, falls das Plug-in nicht für alle gewünschten Systeme verfügbar ist. Typische Browserfeatures wie Lesezeichen oder Vorwärts-/Rückwärtsnavigation fehlen oft. Der (Java-)Entwickler muss eine neue Programmiersprache lernen. Bei Rich Clients wird im Gegensatz zu RIAs clientseitig kein Plug-in benötigt. CRUD-Client CRUD ist das Akronym für Create, Read, Update and Delete. CRUD-Clients ermöglichen in erster Linie das Anzeigen, Suchen und Bearbeiten von Datensätzen und sind daher sehr gut zur Verwaltung von Daten geeignet. Die Optik entspricht dabei einer klassischen. Typische Browserfeatures wie Lesezeichen oder Vorwärts- und Rückwärtsnavigation sind zumeist von Grund auf in einer Multi-Page-Struktur verfügbar. Im Gegensatz zu den zuvor beschriebenen Frameworktypen wird mit diesen Webframeworks nicht nur die Oberfläche erschaffen, sondern die gesamte Anwendung (d. h. die übliche Drei-Schichten- Architektur mit Oberfläche, Geschäftslogik und Datenhaltung) auf einmal realisiert. Die ist dabei serverzentrisch. CRUD-Frameworks besitzen folgende Eigenschaften, wodurch sehr schnell Ergebnisse erzielt werden können: Convention over Configuration: Konfiguration ist nur notwendig, falls die Default-Konfiguration nicht ausreichend ist. Code-Generation: Durch die Erstellung des Models für die Persistierung in der Datenbank werden auch Anwendungslogik und Oberfläche für dieses Model sofort mit erzeugt. Objekt-UI-Mapping: Für Attribute des Models wird automatisch in der Oberfläche die passende Darstellung angezeigt, z. B. für den Datentyp java.util.date ein Kalender-Widget. Moderne Sprache: Oft basieren Frameworks für CRUD-Clients auf modernen, auf JVM basierenden Programmiersprachen, um hohe Effektivität zu erreichen und die Menge des Quellcodes zu reduzieren. Rich Client Der Rich Client vermischt die Eigenschaften der beiden bereits genannten Architekturtypen. Die Oberfläche wird beim Start immer noch großteils oder vollständig auf den Client geladen, die Optik aber entspricht der einer klassischen. Das Ziel ist daher im Gegensatz zu RIAs nicht die Neuausrichtung der Oberflächendarstellung von en, sondern die Verbesserung bei der Nutzung der bereits verbreiteten und akzeptierten Darstellung. Die Oberfläche wird entweder clientzentrisch oder serverzentrisch realisiert und besitzt meist eine Single-Page-Struktur. Auf Clientseite wird im Gegensatz zu RIAs kein Plug-in benötigt, auch das Lernen einer speziellen Skriptsprache ist nicht notwendig. Dennoch können einige RIA-Features wie Drag and Drop mittlerweile relativ einfach mit Ajax-Komponenten realisiert werden. Anzeige

9 Zusätzlich zu den vorgestellten Frameworktypen werden manchmal auch Portale eingesetzt (Kasten: Portal ). PortalTechnologietyp Die verschiedenen Webframeworks unterscheiden sich in den eingesetzten Technologien, mit denen en realisiert werden: Java: Die Programmierung erfolgt nahezu ausschließlich in Java. Die Oberfläche (HTML und JavaScript) wird automatisch erzeugt, Konfiguration mit XML ist nur minimal oder gar nicht notwendig. : Die Programmierung erfolgt durch Java und HTML, die Konfiguration durch XML. JavaScript wird z. B. durch frameworkeigene Elemente (z. B. Tag Libraries) automatisch erzeugt. Moderne JVM-Sprache: Die Programmierung erfolgt mit einer No-Java -Programmiersprache wie Groovy oder Scala, die in Java-Bytecode übersetzt wird. Dadurch ist der Zugriff auf die Java-Bibliotheken ohne Umwege möglich. Skriptsprache: Die Programmierung erfolgt vollständig in einer Skriptsprache, die explizit für die Erstellung von RIAs entwickelt wurde. Dadurch wird u. a. das bidirektionale Binding zwischen Client und Server stark vereinfacht. Zugriff auf die Java-Bibliotheken ist meist nur über Umwege möglich. Überblick über konkrete Webframeworks Tabelle 1 gibt einen Überblick über verschiedene im Markt verfügbare Webframeworks. Dort werden neben dem Frameworktyp und den eingesetzten Technologien weitere Besonderheiten der einzelnen Frameworks beschrieben. Browserunabhängigkeit bedeutet dabei, dass die nicht für jede Version jedes Browsers angepasst werden muss. Diese Anpassungen sind insbesondere beim Einsatz von JavaScript aufwändig. Abbildung 6 gibt noch einmal einen visuellen Überblick. Mit Komplexität ist dort die Einarbeitung für Java-Entwickler gemeint und beinhaltet z. B. den Aufwand, um das Framework zu beherrschen oder neue Technologien und Programmiersprachen zu erlernen. Kombination verschiedener Sprachen und Webframeworks Durch Plug-ins können verschiedene Webframeworks kombiniert oder neben Java auch noch andere moderne Programmiersprachen in Webframeworks eingebunden werden. Die Anzahl an Plug-ins ist nur schwer überschaubar und wächst immer weiter, und auch die angebotenen Funktionalitäten unterscheiden sich. Die Qualität bewegt sich dabei zwischen unbenutzbar und sehr gut. Eine Auswahl verfügbarer Plug-ins mit sinnvollen Kombinationen: Gracelets [7]: Eine Domain Specific (DSL), mit der JSF-Views mit Groovy statt XHTML rea- lisiert werden können. Außerdem können Groovy Closures statt der JSF Expression verwendet werden. JSF Flex [8]: Flex-Komponenten können als JSF- Komponenten genutzt werden. Der Entwickler erzeugt dabei eine JSF-Komponente, das Plug-in generiert dann die zugehörigen Flex-Ressourcen (z. B. MXML-Code, SWF-Datei) und kümmert sich um die Integration. GwtAI [9]: Ermöglicht die Integration von Applets (und damit auch JavaFX) in GWT. Zusammenfassung Die Anzahl der verfügbaren Webframeworks ist kaum überschaubar. Die Wahl des Frameworktyps hat große Auswirkungen auf Benutzbarkeit und Antwortzeiten einer, allerdings sind der Aufwand und die Komplexität bei der Auswahl eines neuen Frameworks nicht zu unterschätzen. Die Entscheidung für oder gegen ein Webframework muss gut überlegt sein eine sinnvolle Entscheidung ist nur möglich, wenn ein Überblick über die im Markt verfügbaren Webframeworks vorhanden ist. Ausblick In der kommenden Ausgabe des Java Magazins werden verschiedene Projektszenarien mit sehr unterschiedlichen Anforderungen aus dem Unternehmensalltag vorgestellt und eine Bewertung bezüglich der Eignung der verschiedenen Webframeworkkategorien durchgeführt. Dabei wird erläutert, warum sich für bestimmte Anforderungen konkrete Webframeworks besser eignen als andere. Kai Wähner ist als IT-Consultant bei MaibornWolff et al tätig. Seine Schwerpunkte liegen in den Bereichen JEE, EAI und SOA. Außerdem berichtet Kai auf über seine Erfahrungen mit neuen Technologien, IT-Konferenzen und Zertifizierungen. Feedback zum Artikel gerne an Links & Literatur [1] frameworks [2] Müller, Florian: Ajax 360-Grad-Betrachtung, in Java Magazin [3] [4] html [5] [6] Bosch, Andy: Artikelserie Portale und Portlets, in Java Magazin [7] [8] [9] 42 javamagazin

Kategorisierung von Web-Frameworks im Java-Umfeld

Kategorisierung von Web-Frameworks im Java-Umfeld Unüberschaubare Auswahl im Alltag 1/11/2011 Seite 2 Unüberschaubare Auswahl bei Web-Frameworks 1/11/2011 Seite 3 Viele gute Artikel in Fachzeitschriften 1/11/2011 Seite 4 Flame War unerwünscht, aber überall

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

Webinar: Einführung in ICEfaces

Webinar: Einführung in ICEfaces Webinar: Einführung in ICEfaces präsentiert von VOIP-Audio ist standardmässig aktiviert Alternatives Einwählen: +41 (0) 415 0008 65 ICESOFT TECHNOLOGIES INC ICESOFT Donnerstag, TECHNOLOGIES 26. März 2009

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1 Groovy on Grails Informatik-Seminar WS06/07 Alexander Treptow Groovy on Grails Alexander Treptow (minf2622) 1 Übersicht Groovy on Grails Projektstruktur Controllers Views & Layout Dynamic Tag Libraries

Mehr

Agenda. Ingo Ebel (ie007) Benjamin Müller (bm032) Was ist AJAX? Sicherheit Vor- und Nachteile. AJAX Frameworks. Wozu benötigt Client/Server

Agenda. Ingo Ebel (ie007) Benjamin Müller (bm032) Was ist AJAX? Sicherheit Vor- und Nachteile. AJAX Frameworks. Wozu benötigt Client/Server AJAX Agenda Ingo Ebel (ie007) Was ist AJAX? Wozu benötigt Client/Server Sicherheit Vor- und Nachteile Benjamin Müller (bm032) AJAX Frameworks GWT ATF Ingo Ebel - ie007 2 Web 2.0 Ingo Ebel - ie007 3 Ingo

Mehr

Persönliche Daten. Lebenslauf Marcel Thannhäuser - MTH-Soft. Kontaktdaten. Zusammenfassung der Fähigkeiten. Seite 1 von 10

Persönliche Daten. Lebenslauf Marcel Thannhäuser - MTH-Soft. Kontaktdaten. Zusammenfassung der Fähigkeiten. Seite 1 von 10 Persönliche Daten Kontaktdaten Foto Marcel Thannhäuser Maybachufer 9 12047 Berlin Geburtsdatum: 28.03.1980 Telefon: +49 30 91504361 Mobil: +49 170 8031128 Fax: +49 3221 1203593 E-Mail: info@mth-soft.de

Mehr

Persönliche Daten. Lebenslauf - Marcel Thannhäuser - MTH-Soft. Kontaktdaten. Seite 1 von 11. Marcel Thannhäuser Maybachufer 9 12047 Berlin

Persönliche Daten. Lebenslauf - Marcel Thannhäuser - MTH-Soft. Kontaktdaten. Seite 1 von 11. Marcel Thannhäuser Maybachufer 9 12047 Berlin Persönliche Daten Kontaktdaten Marcel Thannhäuser Maybachufer 9 12047 Berlin Geburtsdatum: 28.03.1980 Telefon: +49 30 91504361 E-Mail: info@mth-soft.de Beruflicher Werdegang Berufserfahrung - 01.06.2014

Mehr

M i t a r b e i t e r p r o f i l (Stand: August 09)

M i t a r b e i t e r p r o f i l (Stand: August 09) M i t a r b e i t e r p r o f i l (Stand: August 09) KB-M1-Java134 Schwerpunkte / Spezialisierung: Softwareentwickler Java / J2EE Swing JSF JavaScript Verfügbarkeit (skalierbar): Ab sofort Ausbildung:

Mehr

Apollo Überblick. Klaus Kurz. Manager Business Development. 2007 Adobe Systems Incorporated. All Rights Reserved.

Apollo Überblick. Klaus Kurz. Manager Business Development. 2007 Adobe Systems Incorporated. All Rights Reserved. Apollo Überblick Klaus Kurz Manager Business Development 1 Was ist Apollo? Apollo ist der Codename für eine plattformunabhängige Laufzeitumgebung, entwickelt von Adobe, die es Entwicklern ermöglicht ihre

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Sicherheit in Rich Internet Applications

Sicherheit in Rich Internet Applications Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Seite 2 Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Inhaltsverzeichnis Grundlagen Ajax und Mashups Adobe Flash-Player

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Evolution der Web-Entwicklung nach AJAX

Evolution der Web-Entwicklung nach AJAX Evolution der Web-Entwicklung nach AJAX Vortrag BMW Messe, Oktober 2007 Rudolf Lindner, Projektleiter Technologie F&F GmbH Was ist eine WEB-Anwendung? Datenbank Datenbank Server Logik Prozesse Datenbank

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. Inhalt 1 Übersicht 2 Anwendungsbeispiele 3 Einsatzgebiete 4 Systemanforderungen 5 Lizenzierung 6 Installation 7 Key Features 8 Funktionsübersicht (Auszug) 1 Übersicht MIK.bis.webedition ist die Umsetzung

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

AJAX und Ruby on Rails

AJAX und Ruby on Rails AJAX und Ruby on Rails Web-2.0-Kongreß 2006-10-10 Frankfurt (slightly updated for AWE12) Prof. Dr.-Ing. Carsten Bormann 1 Was ist Web 2.0? (nach Paul Graham) (1) AJAX (2) Demokratie (Participation

Mehr

JAVA. Ein kurzer Überblick. Thomas Karp

JAVA. Ein kurzer Überblick. Thomas Karp JAVA Ein kurzer Überblick Thomas Karp WAS IST JAVA? Java ist eine fast rein objektorientierte Sprache nicht JavaScript eine professionelle Sprache eine im Unterricht weit verbreitete Sprache für verschiedene

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

Mitarbeiterprofil PG0225

Mitarbeiterprofil PG0225 Kurzprofil Senior - PHP/JAVA Entwickler für Backend sowie (Web)-Frontend ist ein ideenreicher Entwickler, der komplexe Sachverhalte schnell erfasst und Softwarelösungen konzeptionell sicher und zeiteffizient

Mehr

Spring Surf Wiederkehr Patrick Consultant 25.1.2011

Spring Surf Wiederkehr Patrick Consultant 25.1.2011 Spring Surf Wiederkehr Patrick Consultant 25.1.2011 Inhaltsverzeichnis 1. Spring Surf von Alfresco... 3 1.1 Was ist Spring Surf und was kann es... 3 1.2 Was ist Spring Surf nicht... 3 2. Einführung Alfresco...

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

OpenSource Individualentwicklungsplattform für weborientierte/mobile Anwendungen

OpenSource Individualentwicklungsplattform für weborientierte/mobile Anwendungen OpenSource Individualentwicklungsplattform für weborientierte/mobile Anwendungen Michael Chytracek SOFTWAREENTWICKLUNG mchsnapconsult.com snapconsult.com Lukas Greilinger SOFTWAREENTWICKLUNG lgrsnapconsult.com

Mehr

Professionelle Rich-Client-Lösungen mit Flex und Java

Professionelle Rich-Client-Lösungen mit Flex und Java Florian Müller Professionelle Rich-Client-Lösungen mit Flex und Java Web-Applikationen mit Flex-Frontend, Java-Backend und BlazeDS j-'w% ^ ADDISON-WESLEY An imprint of Pearson Education München Boston

Mehr

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung 2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer Beitrag von Peter Küsters Formen des Datentransfers bei der Erfassung von Websites Im folgenden werden Methoden und Software zur Erfassung vorgestellt.

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Das Entwickler-Netzwerk PORTFOLIO. Das Entwickler-Netzwerk Vernetzte Entwicklung aus einer Hand

Das Entwickler-Netzwerk PORTFOLIO. Das Entwickler-Netzwerk Vernetzte Entwicklung aus einer Hand Das Entwickler-Netzwerk PORTFOLIO sf.projects - Vermittlung der besten Entwickler Der richtige Entwickler für Ihr Projekt In unserem Entwickler-Netzwerk aus über 2000 Entwicklern sind alle Skills für die

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Anwendervortrag auf dem 2. LUGD-Tag am 26.03.2009 in Frankfurt. Liferay an Bord Portale für Zeppelin

Anwendervortrag auf dem 2. LUGD-Tag am 26.03.2009 in Frankfurt. Liferay an Bord Portale für Zeppelin Anwendervortrag auf dem 2. LUGD-Tag am 26.03.2009 in Frankfurt Liferay an Bord Portale für Zeppelin Referent: Juri Urbainczyk, Agon-Solutions GmbH, Eschborn Kunde: Zeppelin AG Web: www.lugd.de E-Mail:

Mehr

Hinweise zu Java auf dem Mac:

Hinweise zu Java auf dem Mac: Hinweise zu Java auf dem Mac: 1. Möglichkeit zum Überprüfen der Java-Installation / Version 2. Installiert, aber im Browser nicht AKTIVIERT 3. Einstellungen in der Java-KONSOLE auf Deinem MAC 4. Java Hilfe

Mehr

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. Inhalt 1 Übersicht 2 Anwendungsbeispiele 3 Einsatzgebiete 4 Systemanforderungen 5 Lizenzierung 6 Installation 7 Key Features 8 Funktionsübersicht (Auszug) Seite 2 von 14 1. Übersicht MIK.starlight bietet

Mehr

Schwerpunkte und fachliche Interessen. Programmiersprachen. Datenbanken. Betriebssysteme. Technologien. Florian Hell

Schwerpunkte und fachliche Interessen. Programmiersprachen. Datenbanken. Betriebssysteme. Technologien. Florian Hell Schwerpunkte und fachliche Interessen Programmiersprachen Agiles Projektmanagement Software-Design und Architektur Softwareentwicklung im Java Umfeld Webentwicklung Sicherheitsschulung / -Entwicklung Java,

Mehr

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. Inhalt 1 Übersicht 2 Anwendungsbeispiele 3 Einsatzgebiete 4 Systemanforderungen 5 Lizenzierung 6 Installation 7 Key Features 8 Funktionsübersicht (Auszug) 1 Übersicht MIK.starlight bietet individuelle

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Java Script für die Nutzung unseres Online-Bestellsystems

Java Script für die Nutzung unseres Online-Bestellsystems Es erreichen uns immer wieder Anfragen bzgl. Java Script in Bezug auf unser Online-Bestell-System und unser Homepage. Mit dieser Anleitung möchten wir Ihnen einige Informationen, und Erklärungen geben,

Mehr

Content Management mit JSR-170 und dem Open Source CMS Magnolia

Content Management mit JSR-170 und dem Open Source CMS Magnolia Content Management mit JSR-170 und dem Open Source CMS Magnolia Dr. Ralf Hirning LogicaCMG 2006. All rights reserved Agenda Überblick Features Redaktionsprozess Beispielimplementierung Magnolia Editionen

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

MiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen

MiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen MiGo-Portal V2.21 Produkt-Sheet Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen Unser aktuelles Portal-System für Ihre individuelle Homepage. Dieses Portal bietet die Möglichkeit verschiedene

Mehr

Business Applika-onen schnell entwickeln JVx Framework - Live!

Business Applika-onen schnell entwickeln JVx Framework - Live! Business Applika-onen schnell entwickeln JVx Framework - Live! - Enterprise Applica-on Framework h&p://www.sibvisions.com/jvx JVx ermöglicht in kürzester Zeit mit wenig Source Code hoch performante professionelle

Mehr

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel Ruby on Rails Florian Ferrano Ralf Heller Markus Nagel Überblick Ruby on Rails Ruby Rails Geschichte MVC allgemein MVC in Rails Scaffolding Webserver Installation Beispiele Wo wird Rails verwendet? Ausblick

Mehr

Application Development Framework (ADF) Teil 1: Überblick Autor(en): Kersten Mebus, Jürgen Menge Oracle Deutschland GmbH

Application Development Framework (ADF) Teil 1: Überblick Autor(en): Kersten Mebus, Jürgen Menge Oracle Deutschland GmbH Application Development Framework (ADF) Teil 1: Überblick Autor(en): Kersten Mebus, Jürgen Menge Oracle Deutschland GmbH Die Entwicklung von Java/J2EE Anwendungen wird durch den Einsatz von Design Pattern

Mehr

WordPress installieren und erste Einblicke ins Dashboard

WordPress installieren und erste Einblicke ins Dashboard WordPress installieren und erste Einblicke ins Dashboard Von: Chris am 16. Dezember 2013 In diesem Tutorial zeige ich euch wie ihr WordPress in der aktuellen Version 3.7.1 auf eurem Webspace installieren

Mehr

Fünf Jahre Erfahrung in der Softwareentwicklung, davon drei Jahre in leitender Position in der Entwicklung und dem Betrieb von E-Commerce-Systemen.

Fünf Jahre Erfahrung in der Softwareentwicklung, davon drei Jahre in leitender Position in der Entwicklung und dem Betrieb von E-Commerce-Systemen. Alexander Gilmer Genter Strasse 48, 13353 Berlin Mobil: +49 176 62355942 Email: alexander.gilmer@agilmer.de ÜBERSICHT Fünf Jahre Erfahrung in der Softwareentwicklung, davon drei Jahre in leitender Position

Mehr

Apparo Fast Edit Datenmanagement mit der Standalone Version Technische Übersicht

Apparo Fast Edit Datenmanagement mit der Standalone Version Technische Übersicht Apparo Fast Edit Datenmanagement mit der Standalone Version Technische Übersicht 2 Apparo Fast Edit ist die das Standardprogramm für unternehmensweite Dateneingabe, mit der Sie Daten ändern, importieren

Mehr

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004 METEOR Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts Thorsten Ludewig Juni 2004 1 Übersicht Was ist METEOR Architektur Technische Realisierung Zusammenfassung Zukünftige Entwicklungen

Mehr

Einführung in das TYPO3 Content Management System. Jochen Weiland - jweiland.net

Einführung in das TYPO3 Content Management System. Jochen Weiland - jweiland.net Einführung in das TYPO3 Content Management System Dipl. Ing. Jochen Weiland jweiland.net Statische Websites upload Entwicklungsrechner Webserver Besucher Dynamische Websites Layouts Webserver Datenbank

Mehr

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Universität der Bundeswehr München Mario Golling und Michael Kretzschmar Fakultät für Informatik E-Mail: mario.golling@unibw.de

Mehr

Verteilte Systeme Hochschule Mannheim

Verteilte Systeme Hochschule Mannheim Verteilte Systeme Hochschule Mannheim Thorsten Reitz, Thomas Zimmermann, Jori Kern, Tobias Schröder, Christoph Reiser, Kay Estelmann Fakultät für Informatik Hochschule Mannheim 8.4.2011 Heute 1 Einleitung

Mehr

Systemvoraussetzungen

Systemvoraussetzungen [Stand: 10.02.2014 Version: 37.0] Hier erhalten Sie eine Übersicht zu den für alle Software-Produkte von ELO Digital Office GmbH. Inhalt 1 ELOprofessional 2011... 5 1.1 Server 2011... 5 1.1.1 Windows...

Mehr

Gergely Tóth. Fachkenntnisse und Kompetenzen. Geburtsdatum: 02. 05. 1980. E-mail: toth.gergely@sch.bme.hu Handy: +4917681093200; +36305523366

Gergely Tóth. Fachkenntnisse und Kompetenzen. Geburtsdatum: 02. 05. 1980. E-mail: toth.gergely@sch.bme.hu Handy: +4917681093200; +36305523366 Gergely Tóth Geburtsdatum: 02. 05. 1980. E-mail: toth.gergely@sch.bme.hu Handy: +4917681093200; +36305523366 Fachkenntnisse und Kompetenzen Haupt Qualifikationen: Vollständige Kenntnisse und Praxis in

Mehr

CADEMIA: Einrichtung Ihres Computers unter Windows

CADEMIA: Einrichtung Ihres Computers unter Windows CADEMIA: Einrichtung Ihres Computers unter Windows Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

Mehr

Frontend Engineer (m/w)

Frontend Engineer (m/w) Hamburg Frontend Engineer (m/w) Unser Hamburger -Team braucht Unterstützung! im verantworten u.a. die innovativen Frontend-Entwicklungen für Websites, Shops, Kampagnen und mobile Anwendungen. Dazu entwickeln

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik 6.3 Systemarchitektur 430 6.3 Systemarchitektur Drei Schichten Architektur Die "Standardtechniken" des Software-Engineering sind auch auf die Architektur einer

Mehr

Flex-ibel? In 60 Minuten zur ersten Flex-Anwendung

Flex-ibel? In 60 Minuten zur ersten Flex-Anwendung Flex-ibel? In 60 Minuten zur ersten Flex-Anwendung Kai König Softwarearchitekt msg at.net GmbH, Neuss AGENDA Einführung - Der Präsentationsserver Macromedia Flex Das Problem Die Flex-Lösung Einsatzgebiete

Mehr

Systemvoraussetzungen

Systemvoraussetzungen [Stand: 06.08.2014 Version: 44] Hier erhalten Sie eine Übersicht zu den für alle Software-Produkte von ELO Digital Office GmbH. Inhalt 1 ELOprofessional Server 9... 4 1.1 Windows... 4 1.1.1 Betriebssystem...

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

Beschreibung Mobile Office

Beschreibung Mobile Office Beschreibung Mobile Office 1. Internet / Netz Zugriff Für die Benutzung von Mobile Office ist lediglich eine Internet oder Corporate Netz Verbindung erforderlich. Nach der Verbindungsherstellung kann über

Mehr

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE DOKUMENTATION MAAS - MONITORING AS A SERVICE DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE Dokumentation MaaS - Monitoring as a Service Inhalt 1. MaaS - Monitoring as Service... 3 1.1 Einleitung...

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Java-IDE-Vergleich Seite 1 / 5

Java-IDE-Vergleich Seite 1 / 5 Java-IDE-Vergleich Seite 1 / 5 Java-IDEs im Vergleich 1. Getestete IDEs: Borland JBuilder 3 Professional Edition IBM Visual Age 3 Entry Edition Sun Forte 1.01 Community Edition Microsoft Visual J++ 6.0

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

JEAF Cloud Plattform Der Workspace aus der Cloud

JEAF Cloud Plattform Der Workspace aus der Cloud JEAF Cloud Plattform Der Workspace aus der Cloud Juni 2014 : Aktuelle Situation Heutige Insellösungen bringen dem Nutzer keinen Mehrwert Nutzer sind mobil Dateien und Applikationen sind über Anbieter und

Mehr

GWT Google Web Toolkit. by PRODYNA AG 2007 www.prodyna.de

GWT Google Web Toolkit. by PRODYNA AG 2007 www.prodyna.de GWT Google Web Toolkit Die Referenten Michael Schmut Senior IT Consultant Java EE Architekturen Project Management Papick Taboada Software Architekt Java EE Architekturen Open-Source-Technologien 2 Agenda

Mehr

Enterprise Weblication development made easy Whitepaper

Enterprise Weblication development made easy Whitepaper Enterprise Weblication development made easy Whitepaper Inhalt Einleitung: Weblications made easy... 2 Teil 1: Open Source und Industriestandards 4 Teil 2: Frontendtechnologien im Vergleich 5 Fat-Client

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

business.people.technology.

business.people.technology. business.people.technology. Portalserver meets SOA: State of the Portal Art Andreas Hartmann 18.06.2010 2 Portalserver meets SOA: State of the Portal Art 18.06.2010 Agenda Baukastensystem zur Integration

Mehr

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2014 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG 05.07.2012 Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG Agenda 01 Einführung 02 Architektur 03 Lösungen 04 Zusammenfassung 2 2 Agenda 01 Einführung 02

Mehr

M i t a r b e i t e r p r o f i l (Stand: Juni 10)

M i t a r b e i t e r p r o f i l (Stand: Juni 10) M i t a r b e i t e r p r o f i l (Stand: Juni 10) KB - M1 - Java132 Schwerpunkte / Spezialisierung: Java Entwickler und Architekt Java EE OpenSource Webanwendungen SOA Verfügbarkeit (skalierbar): Ab Juli

Mehr

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr. Multimedia im Netz Wintersemester 2011/12 Übung 10 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 2 Gesundes neues Jahr 3 Blatt 08 Videoformate im

Mehr

Web 2.0 à la Microsoft Neuigkeiten aus der.net-welt - ein Überblick

Web 2.0 à la Microsoft Neuigkeiten aus der.net-welt - ein Überblick 1 Web 2.0 à la Microsoft Neuigkeiten aus der.net-welt - ein Überblick W3L AG info@w3l.de 2007 2 Inhaltsverzeichnis Was ist Web 2.0? Zusammenhänge Microsoft ASP.NET AJAX Silverlight zurück 3 Was ist Web

Mehr

emuseum STELLEN SIE IHRE SAMMLUNG INS NETZ Warum emuseum? Mühelos mit TMS integrierbar Leistungsstarke Suchfunktionen Komplett anpassbar My Collection

emuseum STELLEN SIE IHRE SAMMLUNG INS NETZ Warum emuseum? Mühelos mit TMS integrierbar Leistungsstarke Suchfunktionen Komplett anpassbar My Collection emuseum emuseum STELLEN SIE IHRE SAMMLUNG INS NETZ emuseum ist ein online Publishing-System zur Veröffentlichung von Informationen aus TMS im Internet und auf mobilen Endgeräten. Mithilfe von emuseum können

Mehr

www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy.

www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy. www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy.de Slide 1 Was habe ich heute vor? Aufzeigen, welche Möglichkeiten JSF bietet,

Mehr

deutsch (Muttersprache), englisch (sehr gut), französisch (Grundkenntnisse)

deutsch (Muttersprache), englisch (sehr gut), französisch (Grundkenntnisse) Diplom-Informatiker (FH) Matthias Strolz Geboren am: 12.07.1978, in Karlsruhe Reismühle 11 22087 Hamburg Telefon: 0163-409 444 8 E-Mail: mail@matthias-strolz.de Homepage: http://www.matthias-strolz.de

Mehr

Analyse, Design, Implementierung Implementierung administrativer Funktionen in ein bestehendes webbasierendes Vertragsverwaltungssystem.

Analyse, Design, Implementierung Implementierung administrativer Funktionen in ein bestehendes webbasierendes Vertragsverwaltungssystem. Nachrichtenservice rubbergram Datum 10/2014 - Web-Applikation zum Versand von Einwegnachrichten rubbergram.com Social Web Idee, Design, Implementierung Einfache Möglichkeit zum Versand von Einwegnachrichten,

Mehr

Andreas Krüger Java EE Entwickler

Andreas Krüger Java EE Entwickler Andreas Krüger Java EE Entwickler Andreas Krüger office@it-beratung-krueger.de Geranienweg 3 Telefon +49 8121 995351 85586 Poing Mobil +49 160 96456720 Ausbildung Vordiplom Mathematik 1995, Universität

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Liste V Enterprise JavaBeans

Liste V Enterprise JavaBeans Liste V Enterprise JavaBeans Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Allgemeine Informatik Vorlesung zur Vertiefungslehrveranstaltung Spezielle Methoden der Softwaretechnik SS

Mehr

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

AS/point, Ihr Partner die nächsten 10 und mehr Jahre - AS/point, Ihr Partner die nächsten 10 und mehr Jahre - technologisch betrachtet http://www.aspoint.de 1 Unsere vier Säulen heute e-waw modulare Warenwirtschaft für iseries evo-one Organisation und CRM

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

Mehr

Wir suchen Dich! Wir sind ständig am wachsen und auf der Suche nach wissens- und erfahrungshungrigen jungen und innovativen Mitarbeitern.

Wir suchen Dich! Wir sind ständig am wachsen und auf der Suche nach wissens- und erfahrungshungrigen jungen und innovativen Mitarbeitern. Wir suchen Dich! Wir sind ständig am wachsen und auf der Suche nach wissens- und erfahrungshungrigen jungen und innovativen Mitarbeitern. Praktikum Wir suchen ab sofort engagierte Mitarbeiter, die uns

Mehr

Web und Mobile Apps Programmieren mit Dart

Web und Mobile Apps Programmieren mit Dart Web und Mobile Apps Programmieren mit Dart Marco Jakob Kalaidos Fachhochschule Schweiz majakob@gmx.ch Abstract: Bisher war es kaum realistisch, im Anfängerunterricht mobile oder webbasierte Applikationen

Mehr

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem Inhalt Content Management (CM) Allgemeines über CMS CMS Typen Open Source vs. Lizenzsoftware Joomla! Quellen Content Management

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30 Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30 Copyright Brainloop AG, 2004-2014. Alle Rechte vorbehalten. Dokumentenversion 2.0 Sämtliche verwendeten Markennamen und Markenzeichen

Mehr

Version 4.4. security.manager. Systemvoraussetzungen

Version 4.4. security.manager. Systemvoraussetzungen Version 4.4 security.manager Systemvoraussetzungen Version 4.4 Urheberschutz Der rechtmäßige Erwerb der con terra Softwareprodukte und der zugehörigen Dokumente berechtigt den Lizenznehmer zur Nutzung

Mehr

Hinweis auf ein Problem mit einem Sicherheitszertifikat einer Webseite

Hinweis auf ein Problem mit einem Sicherheitszertifikat einer Webseite Hinweis auf ein Problem mit einem Sicherheitszertifikat einer Webseite Beim Aufruf der Speedport-Konfigurationsoberfläche erhält man einen Hinweis auf ein Problem mit dem Sicherheitszertifikat der Webseite.

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Mobile Kartenanwendungen im Web oder als App?

Mobile Kartenanwendungen im Web oder als App? Mobile Kartenanwendungen im Web oder als App? Agenda Anforderungen an eine mobile Kartenanwendung Warum mobile Anwendungen? Mobil ist nicht genug! Knackpunkte bei der Entwicklung mobiler Kartenanwendungen

Mehr

MICHAEL RÜGER. Abschluss Diplom Fach Informatik. Geburtsjahr 1985 Profil-Stand April 2015

MICHAEL RÜGER. Abschluss Diplom Fach Informatik. Geburtsjahr 1985 Profil-Stand April 2015 MICHAEL RÜGER Abschluss Diplom Fach Informatik Geburtsjahr 1985 Profil-Stand April 2015 Triona Information und Technologie GmbH Wilhelm-Theodor-Römheld-Str. 14 55130 Mainz Fon +49 (0) 61 31 9 21-122 Fax

Mehr