Web-Technologien: Überblick, Vor- Und Nachteile, Entscheidungshilfen

Total Page:16

File Type:pdf, Size:1020Kb

Web-Technologien: Überblick, Vor- Und Nachteile, Entscheidungshilfen Web-Technologien: Überblick, Vor- und Nachteile, Entscheidungshilfen Markus Stiegler XDEV Software Corp. Deutschland GmbH Kirchheim-Heimstetten Einleitung Wer heutzutage eine Web-Anwendung für den professionellen Einsatz im Unternehmen entwickeln möchte, hat wie nie zuvor in der Software-Entwicklung die Qual der Wahl. Mittlerweile existiert ein ganzer Dschungel an Skriptsprachen, Frameworks und APIs, der an allen Ecken und Enden nahezu unkontrolliert weiter wuchert. Fachzeitschriften zaubern immer wieder neue Web-Frameworks aus dem Hut, um ihren Lesern etwas Neues bieten zu können. Zahlreiche Lösungen bauen aufeinander auf, ergänzen sich oder funktionieren fast identisch, während sich andere komplett unterscheiden. Die Entwicklung von Frameworks schreitet sogar so rasant voran, dass die Hersteller kaum noch mit ihrer eigenen Dokumentation, geschweige denn mit Übersetzungen hinterher kommen. Häufig sind aufwändige Recherchen notwendig und die Kenntnis anderer Technologien sogar Grundvoraussetzung, um überhaupt das Funktionsprinzip einer Technologie verstehen und deren Vorteile erkennen zu können. Die Vielfalt ist bereits so groß, dass man als Entwickler gar nicht mehr die Zeit aufbringen kann, alle Ansätze für eine objektive Beurteilung ausführlich genug testen zu können. Viele Entwickler und Projektleiter fühlen sich mittlerweile von der rasanten Entwicklung förmlich abgehängt. Umso schwieriger wird es, wenn man sich für die Umsetzung eines wichtigen Projektes für eine oder mehrere Technologien entscheiden und auch noch die Verantwortung für den Projekterfolg tragen muss. Im Folgenden erhalten Sie einen Überblick über die wichtigsten Web-Technologien, deren Funktionsprinzip sowie deren Vor- und Nachteile. Um die Prinzipien, Vor- und Nachteile besser nachvollziehen zu können, lohnt es sich ganz an den Anfang des Web zu gehen und die Evolution von HTML in Kürze Revue passieren zu lassen, denn in der Vergangenheit findet man häufig entscheidende Details für die Funktionsweise moderner Technologien. HTML In den Anfangszeiten des World-Wide-Webs diente das Internet zur Verteilung von statischen, meist wissenschaftlichen Textseiten. Um solche Texte besser strukturieren und formatieren zu können, entwickelte Tim Berners-Lee 1989 HTML. HTML ist eine rein Text- orientierte Auszeichnungssprache, die zur Strukturierung und Formatierung Textkürzel, sog. Tags verwendet. Auch die ersten Textverarbeitungsprogramme verwendeten Tags. Da es noch keine grafischen Oberflächen gab, musste man dem Programm mit Hilfe eines Tags klar machen, dass der nachfolgende Text z.B. fett gedruckt werden soll. Erst 4 Jahre später konnte man erstmals auch Bilder in ein HTML-Dokument einbinden. 1995 kamen mit HTML 2.0 Formulare dazu, 1997 Tabellen, Textfluss um Bilder sowie die Einbindung von Java Applets, bevor 1997 mit HTML 4.0 CSS und Frames eingeführt wurden. Für die Darstellung von HTML ist der Web-Browser zuständig. Was also bei einem klassischen Computer-Programm der Interpreter ist, ist der Browser für HTML. JavaScript Da HTML lediglich statische Seiten anzeigen kann, wurde 1995 die Skriptsprache JavaScript entwickelt, mit der man HTML-Code und somit eine aktuelle HTML-Seite direkt im Browser ändern kann. Erst damit wurden interaktive Webseiten möglich, die auf Nutzeraktionen reagieren können, z.B. Rollover-Effekte bei Menüpunkten. Im Gegensatz zu HTML ist JavaScript eine leistungsfähige Sprache, welche sogar objektorientiertes Entwickeln unterstützt. Entwickelt wurde JavaScript von Sun Microsystems und Netscape und erhielt wegen der Java-ähnlichen Syntax unglücklicherweise den Namen JavaScript, wodurch die Skriptsprache bis heute selbst von Fachleuten immer wieder irrtümlich mit der Programmiersprache Java verwechselt wird. Während JavaScript vor wenigen Jahren noch stark verrufen war (Viren und Dialer wurden i.d.R. in JavaScript geschrieben) und viele Internet-Nutzer JavaScript aus Sicherheitsgründen über die Browser-Einstellungen einschränkten oder sogar deaktivierten, ist JavaScript heute die zentrale Technologie von Ajax und dem Web 2.0. Die Oberfläche einer modernen Rich-Internet-Application besteht fast nur noch aus JavaScript Elementen. Tab-Panes, sprich Registerreiter, Pulldown- und Kontextmenü, Fenstertechnik, Andock-Funktionen oder schlichtes Drag&Drop im Browser ist nur mit JavaScript möglich, da der Browser lediglich wenige Standard-Controls wie Buttons und die Standard-Formular-Komponenten bietet. Da die Programmierung von Oberflächen- Elementen äußerst schwierig und enorm wartungsaufwändig ist, gibt es inzwischen zahlreiche JavaScript Frameworks, welche dem Entwickler alle wichtigen Controls zur Verfügung stellen. Wie HTML wird JavaScript vom Web-Browser ausgeführt. Der Browser ist also der Interpreter. CSS Mit der Einführung von Stylesheets 1993, ging man dazu über, die Formatierungen für das Design vom eigentlichen Inhalt zu trennen, indem man die Formatierungen für das Design in unabhängige CSS-Dateien auslagerte. Neben Angaben zu Farben und Schriften bietet CSS vor allem die Möglichkeit, Seiten- Elemente frei zu positionieren. Mit diesen Eigenschaften ist CSS eine entscheidende HTML-Erweiterung. Wie HTML und JavaScript wird auch CSS vom Web-Browser ausgeführt. Dynamische Webseiten Eine statische HTML-Seite kann nur Informationen enthalten, die der Autor bei der Entwicklung in das Dokument schreibt. Moderne Web-Anwendungen sind damit jedoch nicht denkbar, denn bei Online-Foren, Wikis, Social Networks und andere sog. Web 2.0 Anwendungen wird der maßgebliche Content nicht vom Entwickler der Seite, sondern von anderen, im Grunde anonymen Internet-Anwendern produziert. Damit dies möglich wird, muss der fremde Content zunächst auf dem Server gespeichert werden, und zwar entweder in einer Datei, z.B. Text oder XML, oder in einer Datenbank. Beim Aufruf der Seite muss dieser Content dann wieder ausgelesen und zusammen mit den für die Darstellung notwendigen HTML-Tags in die statische HTML-Seitenvorlage geschrieben werden, bevor die fertige Seite an den Browser ausgeliefert wird. Man spricht dann von einer dynamischen HTML-Seite. Die Generierung von dynamischen HTML-Seiten wird von einem Skript durchgeführt, welches auf dem Server läuft. Entsprechende Skripte kann man grundsätzlich in jeder beliebigen Programmier- oder Skriptsprache schreiben. Voraussetzung für die Ausführbarkeit ist immer, dass auf dem Server ein entspr. Interpreter für die gewählte Sprache zur Verfügung steht. Perl Die Programmiersprache Perl wurde von Larry Wall für die übersichtliche Auswertung verstreuter Logdateien auf UNIX-Rechnern für die NSA entwickelt. Im Focus stand die schnelle und einfache Programmierung. Die Stärken von Perl liegen in der Verbindung inkompatibler Software. Da in den Anfangszeiten des Webs nahezu alle Server unter UNIX liefen und die Stärken von Perl in der Verbindung inkompatibler Software liegt, wurde Perl zunehmend für die Entwicklung dynamischer Webseiten benutzt und wurde schnell zum De-facto-Standard für die Web-Entwicklung. Später wurde Perl immer stärker von PHP verdrängt. PHP PHP wurde 1995 von Rasmus Lerdorf, Gutmans und Suraski, den Gründern von Zend Technologies Ltd., als Ersatz für eine Sammlung von Perl-Skripten entwickelt. PHP ist Perl sehr ähnlich, gilt jedoch als einfacher erlernbar. Da auch PHP unter der GPL Open Source Lizenz steht, wurde PHP fester Bestandteil fertiger LAMP und WAMP Pakete, bestehend aus Apache Webserver, MySQL Datenbank und PHP, welche die Installation aller wichtigen Server-Komponenten erheblich vereinfachen. Eines der beliebtesten Pakete ist XAMPP, das auch für Solaris und Mac OS-X verfügbar ist. PHP wurde vor allem mit LAMP zu einer Standard-Server-Komponente, zum De-facto Standard bei Internet-Service-Providern und somit für die Web-Entwicklung im Allgemeinen. Als Folge wurde Perl gleichzeitig weitestgehend von PHP verdrängt. Durch die rasante Verbreitung ist PHP zeitweise ungesteuert gewachsen. Viele Standard- Bibliotheken sind noch prozedural programmiert, nicht objektorientiert. Zudem wird die fehlende Durchgängigkeit bemängelt, fehlendes Threading sowie fehlende Möglichkeiten zum Debuggen. Dass PHP im Vergleich zu Perl oder Python als langsamer gilt, dürfte in der Praxis eher selten entscheidend sein. Vor allem im deutschsprachigen Raum verfügt PHP über eine sehr große Community. ASP ASP wurde 1996 von Microsoft entwickelt und gilt als Pendant zu Perl und PHP. Mit Einführung des .NET Frameworks 2002 wurde ASP eingestellt und wird seitdem als ASP.NET weiterentwickelt. Mit ASP.NET stehen dem Web-Entwickler alle Vorteile und Möglichkeiten des leistungsfähigen .NET Frameworks zur Verfügung. ASP.NET Anwendungen lassen sich dadurch in allen .NET Sprachen schreiben, u.a. C#, VB.NET und J#. Da es sich bei ASP.NET um eine Compiler-Sprache handelt, werden sämtliche Fehler bereits beim Compilieren sichtbar. Zudem lassen sich die Anwendungen wie andere .NET Programme sehr gut debuggen. Für ASP.NET sind sehr viele Frameworks, insbesondere von Drittherstellern wie Telerik, für die Entwicklung grafischer Web-Oberflächen verfügbar, welche alle erdenklichen Oberflächen-Controls aufbieten. Als .NET Sprache lässt sich ASP.NET jedoch nicht so einfach erlernen wie Perl oder PHP. Zudem legt man sich mit ASP.NET zwangsweise auf eine Microsoft Infrastruktur fest. U.a. sind Windows als Server-Betriebssystem sowie ein Microsoft Application-Server (z.B. IIS oder Visual Studio .NET) die Voraussetzung. Das Angebot an Hosting-Paketen mit entspr. Voraussetzungen ist vergleichsweise gering. Mit Mono existiert eine, hauptsächlich
Recommended publications
  • Third-Party License Acknowledgments
    Symantec Privileged Access Manager Third-Party License Acknowledgments Version 3.4.3 Symantec Privileged Access Manager Third-Party License Acknowledgments Broadcom, the pulse logo, Connecting everything, and Symantec are among the trademarks of Broadcom. Copyright © 2021 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. For more information, please visit www.broadcom.com. Broadcom reserves the right to make changes without further notice to any products or data herein to improve reliability, function, or design. Information furnished by Broadcom is believed to be accurate and reliable. However, Broadcom does not assume any liability arising out of the application or use of this information, nor the application or use of any product or circuit described herein, neither does it convey any license under its patent rights nor the rights of others. 2 Symantec Privileged Access Manager Third-Party License Acknowledgments Contents Activation 1.1.1 ..................................................................................................................................... 7 Adal4j 1.1.2 ............................................................................................................................................ 7 AdoptOpenJDK 1.8.0_282-b08 ............................................................................................................ 7 Aespipe 2.4e aespipe ........................................................................................................................
    [Show full text]
  • Control Language Programming for the AS/400
    Control Language Programming for the AS/400; Essentials of Subfile Programming and Advanced Fortress Rochester: The Inside Story of the IBM Second Edition Topics in RPG IV iSeries ILE by Example Introduction to AS/400 System Operations; Implementing AS/400 Security; Fourth Edition Second Edition Java and the AS/400: Practical Examples for the Mastering the AS/400: A Practical; Hands-On iSeries and AS400; Second Edition Guide; Third Edition OPNQRYF By Example Programming in RPG IV; Third Edition RPG IV Jump Start: Your Guide to the New RPG; RPG TnT: 101 Dynamite Tips 'n Techniques with Fourth Edition RPG IV SQL/400 Developer's Guide Essentials of Interactive Computer Graphics: Starter Kit for the IBM iSeries & AS/400 Concepts and Implementation Fundamentals of Computer Graphics; Second Edition Machines Who Think: A Personal Inquiry into the History and Prospects of Artificial Intelligence Real Sound Synthesis for Interactive Applications Real-Time Rendering; Third Edition 3G Evolution: HSPA and LTE for Mobile 4G; LTE Evolution and the Road to 5G; Third Broadband Edition 4G: LTE/LTE-Advanced for Mobile Broadband; Advances in Computers: Dataflow Processing; Second Edition Advances in Computers; Volume Ninety-Seven Volume Ninety Six Advances in Computers: Energy Efficiency in Data Centers and Clouds; Volume One Hundred Bent Functions: Results and Applications to Computer and Machine Vision: Theory; Cryptography Algorithms; Practicalities; Fourth Edition Data Mining Applications with R Digital Evidence and Computer Crime: Forensic Science;
    [Show full text]
  • Cakephp Cookbook Documentation Release 2.X
    CakePHP Cookbook Documentation Release 2.x Cake Software Foundation Sep 18, 2021 Contents 1 Getting Started 1 Blog Tutorial..................................................1 Blog Tutorial - Adding a layer.........................................9 2 Installation 27 Requirements.................................................. 27 License..................................................... 28 Downloading CakePHP............................................. 28 Permissions................................................... 28 Setup...................................................... 29 Development.................................................. 29 Production.................................................... 30 Advanced Installation and URL Rewriting................................... 30 Fire It Up.................................................... 34 3 CakePHP Overview 35 What is CakePHP? Why use it?......................................... 35 Understanding Model-View-Controller..................................... 36 Where to Get Help............................................... 38 4 Controllers 41 The App Controller............................................... 41 Request parameters............................................... 42 Controller actions................................................ 42 Request Life-cycle callbacks.......................................... 43 Controller Methods............................................... 44 Controller Attributes.............................................. 51 More on controllers..............................................
    [Show full text]
  • Web-Based Human-Machine Interfaces of Industrial Controllers in Single-Page Applications
    Hindawi Mobile Information Systems Volume 2021, Article ID 6668843, 13 pages https://doi.org/10.1155/2021/6668843 Research Article Web-Based Human-Machine Interfaces of Industrial Controllers in Single-Page Applications Shyr-Long Jeng ,1 Wei-Hua Chieng,2 and Yi Chen2 1Department of Mechanical Engineering, Lunghwa University of Science and Technology, Taoyuan 333326, Taiwan 2Department of Mechanical Engineering, National Chiao Tung University, Hsinchu 300, Taiwan Correspondence should be addressed to Shyr-Long Jeng; [email protected] Received 31 October 2020; Revised 12 March 2021; Accepted 19 March 2021; Published 7 April 2021 Academic Editor: Hsu-Yang Kung Copyright © 2021 Shyr-Long Jeng et al. ,is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Advances in conventional industrial controllers have led to new technologies such as multilanguage use, cross-platform applications, and remote monitoring and control. However, the human-machine interfaces (HMIs) of conventional industrial controllers and mobile devices cannot directly transmit instant messages to each other. ,is study describes a simple method of upgrading the HMIs of conventional industrial controllers into controllers capable of Web-based remote access. ,e study began with the development of a model-view-controller architecture consisting of Hypertext Markup Language, Cascading Style Sheets, and JavaScript and proceeded to the implementation of a single-page application (SPA) method through AJAX and WebSocket, which communicates with the back-end Node.js server to transfer data. Future advancements will enable information to flow through cross-platform devices across various operating systems and Web browsers, allowing users to remotely monitor and control machines from mobile smart devices.
    [Show full text]
  • ¿Qué Es Maven?
    ¿Qué es Maven? Maven es una herramienta de gestión y comprensión de proyectos. Maven ofrece a los desarrolladores un marco de trabajo para construir todas las etapas del ciclo de vida de una aplicación. El equipo de desarrollo puede automatizar la infraestructura necesaria para la creación de proyectos en poco tiempo. Maven utiliza un esquema de directorio estándar y una construcción de etapas clásicas de ciclo de vida de un proyecto. En el caso en el que el desarrollo de un proyecto, sea realizado por varios equipos de desarrollo, Maven puede configurar la forma de trabajar basándose en estándares en muy poco tiempo. Como la mayoría de las configuraciones de proyecto son simples y reutilizable, Maven facilita la vida a los desarrolladores proporcionando de forma automática: la creación de informes, validaciones, compilación y pruebas de configuraciones de forma automatización. Maven facilita el trabajo de los desarrolladores maneras de administrar siguientes: Maven permite gestionar: • Compilaciones • Creación de documentación • Creación de informes • Resolución de dependencias • Releases • Distribuciones • Listas de correo En conclusión, Maven simplifica y estandariza el proceso de creación de proyectos. Gestiona la compilación, distribución, documentación colaboración en grupo y tareas similares. Maven incrementa la reutilización y se encarga de la mayor parte de las tareas relacionadas con las tareas de compilación. Historia de Maven Maven fue creado con el fin de simplificar el proceso de compilación den el proyecto Turbine de Jakarta. Había varios proyectos y cada uno de ellos contenía ficheros de construcción de ANT muy parecidos. A partir de este hecho, el grupo Apache desarrollo Maven, el cual es capaz de construir proyectos, publicar información acerca de los mismos, desplegar proyectos, compartir JARs y ayudar en la colaboración entre grupos de desarrollo.
    [Show full text]
  • Eclipse Glassfish Server Add-On Component Development Guide, Release 5.1 Table of Contents
    Eclipse GlassFish Server Add-On Component Development Guide, Release 5.1 Table of Contents Eclipse GlassFish Server . 1 Preface. 2 GlassFish Server Documentation Set. 3 Related Documentation. 4 Typographic Conventions. 5 Symbol Conventions . 6 Default Paths and File Names . 6 Introduction to the Development Environment for Eclipse GlassFish Add-On Components. 8 1 Introduction to the Development Environment for Eclipse GlassFish Add-On Components. 9 GlassFish Server Modular Architecture and Add-On Components . 9 OSGi Alliance Module Management Subsystem. 10 Hundred-Kilobyte Kernel . 10 Overview of the Development Process for an Add-On Component. 11 4 Extending the asadmin Utility . 50 About the Administrative Command Infrastructure of GlassFish Server . 50 Adding an asadmin Subcommand . 51 Adding Parameters to an asadmin Subcommand . 53 Making asadmin Subcommands Cluster-Aware. 58 Adding Message Text Strings to an asadmin Subcommand . 64 Enabling an asadmin Subcommand to Run . 67 Setting the Context of an asadmin Subcommand . 67 Changing the Brand in the GlassFish Server CLI . 67 Examples of Extending the asadmin Utility. 69 Implementing Create, Delete, and List Commands Using Annotations . 75 7 Adding Container Capabilities. 131 Creating a Container Implementation. 131 Adding an Archive Type . 134 Creating Connector Modules . 137 Example of Adding Container Capabilities . 139 8 Creating a Session Persistence Module . 149 Implementing the PersistenceStrategyBuilder Interface . 149 9 Packaging, Integrating, and Delivering an Add-On Component . 153 Packaging an Add-On Component. 153 Integrating an Add-On Component With GlassFish Server. 153 Delivering an Add-On Component Through Update Tool . 154 Eclipse GlassFish Server Eclipse GlassFish Server Add-On Component Development Guide Release 5.1 Contributed 2018, 2019 This document explains how to use published interfaces of Eclipse GlassFish Server to develop add-on components for GlassFish Server.
    [Show full text]
  • (III) Web – Profs.Info.Uaic.Ro/~ Web Busaco
    Tehnologii Web / busaco ~ / programare Web (III) dezvoltarea aplicațiilor Web profs.info.uaic.ro cu limbajul și mediul PHP Dr. Sabin Sabin Buraga Dr. Dr. Sabin Corneliu Buraga – profs.info.uaic.ro/~busaco/ / busaco ~ „E mediocru ucenicul / care nu-și depășește maestrul.” profs.info.uaic.ro Leonardo da Vinci Dr. Sabin Sabin Buraga Dr. pentru a pentru Cum folosim un server de aplicații folosim un server dezvolta o aplicație Web o aplicație ? Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ server de aplicații web / busaco ~ / Scop: eficientizarea proceselor de dezvoltare a aplicațiilor Web de anvergură profs.info.uaic.ro Dr. Sabin Sabin Buraga Dr. server de aplicații web / busaco ~ / Integrat în unul/mai multe servere Web profs.info.uaic.ro de asemenea, poate oferi propriul server Web sau mediu de execuție Dr. Sabin Sabin Buraga Dr. server de aplicații web / busaco ~ / Poate încuraja sau impune o viziune arhitecturală privind dezvoltarea de aplicații Web profs.info.uaic.ro situație tipică: MVC ori variații Dr. Sabin Sabin Buraga Dr. (re)vezi prezentarea anterioară server de aplicații web / busaco ~ / Simplifică maniera de invocare de programe (script-uri) ale unei aplicații Web profs.info.uaic.ro generarea de conținut dinamic pe partea de server Dr. Sabin Sabin Buraga Dr. server de aplicații web / busaco ~ / Aspecte de interes: limbaj(e) de programare profs.info.uaic.ro API-ul de bază stocare persistentă a modelelor de date interacțiune Web cookie-uri și sesiuni medii de dezvoltare + cadre de lucru, componente,… Sabin Buraga Dr. caracteristici particulare server de aplicații web / busaco ~ / Limbaj(e) de programare oferind suport pentru una sau mai multe paradigme: profs.info.uaic.ro imperativă obiectuală funcțională reactivă concurentă Sabin Buraga Dr.
    [Show full text]
  • Best Practices for Building Domino 8 Web Applications
    Untitled Document Content in this document was produced in collaboration with Lotus® and IBM® Redbooks®. Best Practices for Building Domino 8 Web Applications ● Key recommendations for updating existing Web applications ● Best Practices for refining application look and feel for the Web ● Common tips and techniques ● Bruce Lill ● Jimmy Minata ● Bruno Grange ● John Noltensmeyer ● Chris Toohey ● Joseph D'Armi ● Debra Landon ● Lisa Schenkewitz ● Jennifer Heins ● Louis Orenstein March 2008 and Copyright IBM Corp. 2008. All rights reserved. file:///C|/Documents%20and%20Settings/Administrator/My%...hnicalContent/redbooks/itsodomwebapp/titlepage-dom.html (1 of 2)9/12/2008 9:03:49 AM Untitled Document This PDF is a snapshot of the original Wiki content The original wiki content was produced in collaboration with Lotus® and IBM® Redbooks®. This PDF snapshot has been created as a reference of that original content. Note: Some links in this PDF will take you back to the Wiki, rather than keep you within this PDF. Find the latest information on the Wiki Visit the Lotus Domino Designer Wiki for the latest information and comments contributed by IBM and the community of readers. file:///C|/Documents%20and%20Settings/Administrator/My%...hnicalContent/redbooks/itsodomwebapp/titlepage-dom.html (2 of 2)9/12/2008 9:03:49 AM Space Details Key: dominoappdev Name: Lotus Domino Web Application Development Description: Creator (Creation Date): dwblogadmin (Feb 04, 2008) Last Modifier (Mod. Date): dwblogadmin (Feb 04, 2008) Available Pages • 0.0 Preface • Riverbend
    [Show full text]
  • Jakarta MVC Specification
    Jakarta MVC Specification Jakarta EE MVC Team, https://projects.eclipse.org/projects/ee4j.mvc 2.0, November 15, 2020: Draft Table of Contents License. 1 Copyright . 1 Eclipse Foundation Specification License . 1 Disclaimers . 2 1. Introduction. 3 1.1. Goals. 3 1.2. Non-Goals . 3 1.3. Additional Information . 4 1.4. Terminology . 4 1.5. Conventions . 4 1.6. Acknowledgements for version 2.0 . 5 1.7. Acknowledgements for version 1.1 . 5 1.8. Acknowledgements for version 1.0 . 5 1.8.1. Specification Leads . 5 1.8.2. Expert Group Members . 5 1.8.3. Contributors . 6 2. Models, Views and Controllers . 7 2.1. Controllers . 7 2.1.1. Controller Instances . 8 2.1.2. Response . 9 2.1.3. Redirect and @RedirectScoped . 9 2.2. Models . 10 2.3. Views . 12 2.3.1. Building URIs in a View . 13 3. Data Binding . 15 3.1. Introduction. 15 3.2. @MvcBinding annotation. 16 3.3. Error handling with BindingResult . 16 3.4. Converting to Java types . 17 3.4.1. Numeric types . 18 3.4.2. Boolean type. 18 3.4.3. Other types . 18 4. Security. 19 4.1. Introduction. 19 4.2. Cross-site Request Forgery . 19 4.3. Cross-site Scripting. 21 5. Events . 22 5.1. Observers . 22 6. Applications. 31 6.1. MVC Applications . 31 6.2. MVC Context. 31 6.3. Providers in MVC . 31 6.4. Annotation Inheritance. 32 6.5. Configuration in MVC . 32 7. View Engines . 33 7.1. Introduction. 33 7.2. Selection Algorithm .
    [Show full text]
  • Java for the Enterprise: What to Expect in Jakarta EE 10
    Menu Topics Archives Downloads Subscribe Java for the enterprise: What to JAKARTA EE expect in Jakarta EE 10 It’s all about CDI alignment Java for the enterprise: What to Jakarta Server Faces expect in Jakarta EE 10 The Jakarta Security API The release is only a year away. The Jakarta Servlet API Here’s what to expect. The Jakarta REST API by Arjan Tijms The Jakarta Concurrency API March 26, 2021 Variants of CDI Last year, Java EE completed its transfer to the Eclipse Other Jakarta EE 10 APIs Foundation and adopted a new name, Jakarta EE. While this is a great achievement in and of itself, perhaps the most interesting Conclusion part of that is that it’s now finally time to start looking forward. Dig deeper As a quick recap, Table 1 shows key historic and future Jakarta EE dates, some of which are tentative. There are some changes from the version of the table I presented in an article in February 2020. Table 1. The history and latest release projections for Java EE and Jakarta EE Comparing the table shown in the previous article to this one, you can see that the JDK 11 compatibility theme moved from Jakarta EE 9 to Jakarta EE 9.1, which is still to be released this year. While this obviously takes some time away from Jakarta EE 10, planning for that latter release has started to some degree nevertheless, and some of the individual specifications and API projects have started their discussions. Note that everything presented in this article is preliminary and represents the current state of what is thought to be the direction in which Jakarta EE 10 will be heading, but it provides no guarantees that any of this will actually end up in Jakarta EE 10.
    [Show full text]
  • Rich Internet Application Development
    Bachelor Thesis RICH INTERNET APPLICATION DEVELOPMENT Markus Moldaschl 0751916 Thesis advisor: ao. Univ.-Prof. Dr. Rony G. Flatscher Institute for Management Information Systems Vienna University of Economics and Business Administration Abstract page 3 Abstract This Bachelor thesis introduces the reader to basic concepts of Rich Internet Appli- cation (RIA) development. It outlines why traditional web applications fail to live up to expectations of today‘s web clients and describes how Rich Internet Applications excel in terms of user experience by closing the gap between the web and the desktop conglomerate. Furthermore, the project presents selected, leading edge RIA development frame- works. On the basis of AJAX, Adobe Flex, Microsoft Silverlight and JavaFX distinc- tive key functionality is discussed in great detail and benefits and weak spots along with suggested areas of application are highlighted. In conclusion, the thesis briefly depicts HTML 5 and meets concerns of the ines- capable question, whether HTML 5 will have a significant impact on proprietary RIA solutions or even make them obsolete or not. Keywords: RIA, AJAX, JavaScript, Adobe Flex, Flash, AIR, Microsoft Silverlight, JavaFX, Java, Java Scripting, BSF, BSF4ooRexx, HTML 5 Table of Contents page 4 Table of Contents 1 Introduction ....................................................................................................... 11 1.1 Motivation and Goal .................................................................................... 11 1.2 Thesis Structure
    [Show full text]
  • Dave Crane Eric Pascarello with Darren James
    Dave Crane Eric Pascarello with Darren James MANNING Ajax in Action Licensed to jonathan zheng <[email protected]> Licensed to jonathan zheng <[email protected]> Ajax in Action DAVE CRANE ERIC PASCARELLO WITH DARREN JAMES MANNING Greenwich (74° w. long.) Licensed to jonathan zheng <[email protected]> For online information and ordering of this and other Manning books, please go to www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact: Special Sales Department Manning Publications Co. 209 Bruce Park Avenue Fax: (203) 661-9018 Greenwich, CT 06830 email: [email protected] ©2006 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books they publish printed on acid-free paper, and we exert our best efforts to that end. Manning Publications Co. Copyeditor: Liz Welch 209 Bruce Park Avenue Typesetter: Denis Dalinnik Greenwich, CT 06830 Cover designer: Leslie Haimes ISBN 1-932394-61-3 Printed in the United States of America 1 2 3 4 5 6 7 8 9 10 – VHG – 09 08 07 06 05 Licensed to jonathan zheng <[email protected]> To Hermes, Apollo, Athena, and my cats, for their wisdom —D.C.
    [Show full text]