Ausarbeitung

Total Page:16

File Type:pdf, Size:1020Kb

Ausarbeitung Seminararbeit Webframeworks Konstantin Tkachuk 13. Juli 2014 Prof. Dr. Jan Jurjens¨ Lehrstuhl 14 Software Engineering Fakult¨at Informatik Technische Universit¨at Dortmund Otto-Hahn-Straße 14 44227 Dortmund http://www-jj.cs.uni-dortmund.de/secse Konstantin Tkachuk [email protected] Matrikelnummer: 140399 Studiengang: Master Informatik Sicherheit und Compliance im Softwareengineering und der Industrie Thema: Webframeworks Eingereicht: 13. Juli 2014 Betreuer: Daniel Poggenpohl Prof. Dr. Jan Jurjens¨ Lehrstuhl 14 Software Engineering Fakult¨at Informatik Technische Universit¨at Dortmund Otto-Hahn-Straße 14 44227 Dortmund i ii Ehrenw¨ortliche Erkl¨arung Ich erkl¨are hiermit ehrenw¨ortlich, dass ich die vorliegende Arbeit selbstst¨andig ange- fertigt habe; die aus fremden Quellen direkt oder indirekt ubernommenen¨ Gedanken sind als solche kenntlich gemacht. Die Arbeit wurde bisher keiner anderen Prufungsbeh¨ ¨orde vorgelegt und auch noch nicht ver¨offentlicht. Dortmund, den 13. Juli 2014 Konstantin Tkachuk iii Abstrakt Die Nutzung von Webframeworks bei der Entwicklung von komplexen Web Appli- kationen ist heute unvermeidbar. Leider macht die enorme Menge der existierenden Frameworks die Wahl des richtigen zu einem nicht trivialen Problem. Im Rahmen dieser Arbeit wird dem Leser ein Uberblick¨ uber¨ die Gemeinsamkeiten und Un- terschiede der Webframeworks GWT, Vaadin und Apache Wicket verliehen und es werden passende Anwendungsbereiche vorgestellt. Das Thema Sicherheit wird dabei besonders hervorgehoben. iv INHALTSVERZEICHNIS Inhaltsverzeichnis 1 Einleitung 1 1.1 Motivation und Hintergrund . .1 1.2 Ziele der Arbeit . .1 1.3 Aufbau der Arbeit . .2 2 Google Web Toolkit 3 2.1 Uberblick¨ .................................3 2.2 Installation . .3 2.3 Aufbau einer GWT-Applikation . .4 2.4 Features..................................5 2.4.1 Development Mode und Production mode . .5 2.4.2 Internationalization . .6 2.4.3 Client-Server Kommunikation . .6 2.4.4 JUnit Testing . .6 2.4.5 Google App Engine . .6 2.5 Anwendungsbereich . .6 3 Vaadin 7 3.1 Uberblick¨ .................................7 3.2 Installation . .7 3.3 Aufbau einer Vaadin-Applikation . .8 3.4 Features..................................8 3.4.1 Abstraktion . .8 3.4.2 WYSIWYG Editor . .9 3.4.3 Add-On Kompatibilit¨at .....................9 3.4.4 Simples Deployment . .9 3.5 Anwendungsbereich . .9 4 Apache Wicket 11 4.1 Uberblick¨ ................................. 11 4.2 Installation . 11 4.3 Aufbau einer Wicket-Applikation . 12 4.4 Features.................................. 12 4.4.1 Trennung von Darstellung und Logik . 12 4.4.2 Wiederverwendbarkeit . 13 4.4.3 Sicherheit ............................. 13 4.4.4 Server-Zustand Management . 13 INHALTSVERZEICHNIS v 4.5 Anwendungsbereich . 13 5 Vergleich 14 5.1 Gemeinsamkeiten . 14 5.2 Unterschiede . 15 5.3 Sicherheit ................................. 15 5.3.1 GoogleWebToolkit ....................... 15 5.3.2 Vaadin............................... 16 5.3.3 Apache Wicket . 16 5.3.4 Sicherheit in anderen Webframeworks . 16 6 Zusammenfassung 18 6.1 Zusammenfassung . 18 6.2 Ausblick.................................. 18 Literaturverzeichnis 21 vi INHALTSVERZEICHNIS KAPITEL 1. EINLEITUNG 1 1 Einleitung In diesem Kapitel werden die Motivation und der Hintergrund der Arbeit erl¨autert, sowie die Ziele der Arbeit zusammengefasst. Außerdem ist hier ein kurzer Uberblick¨ uber¨ den Aufbau der Arbeit enthalten. 1.1 Motivation und Hintergrund Im Laufe der Zeit ist deutlich geworden, dass das Internet eine immer wichtigere Rolle im allt¨aglichen Leben des Menschen einnimmt. Was noch vor 30 Jahren kaum existierte und vor 20 Jahren eine neuartige Kuriosit¨at war, hat sich bis heute zu einem Massentrend weiterentwickelt. Ob Computer, Handy oder auch nur ein We- cker, der seine Uhrzeit mit einer Quelle im Internet abgleicht - es gibt immer weniger elektronische Ger¨ate, die keinen Zugang zu dem Internet haben. Mit der wachsenden Verbreitung des Internets steigt auch die Notwendigkeit schnell und effizient sichere Web Applikationen zu entwickeln. Mit der steigenden Anzahl der Applikationen sind viele Gemeinsamkeiten bemerkt worden - Arbeitsbl¨ocke, die in verschiedenen Programmen immer wieder vorkamen. Um redundanten Code und wiederholtes L¨osen der selben Probleme zu vermeiden wurden sogenannte "Web Ap- plication Frameworks", kurz Webframeworks, entwickelt. Ziel von Webframeworks ist es den sich wiederholenden Arbeitsteil zu uberneh-¨ men und zus¨atzliche Abstraktionsebenen hinzuzufugen,¨ um die Implementierung von komplexen Anwendungen zu erleichtern. Da verschiedene Typen von Weban- wendungen oft auch verschiedene Arbeitsteile gemeinsam haben, wurden mit der Zeit sehr viele verschiedene Webframeworks entwickelt. Es gibt bereits weit uber¨ 50 Webframeworks [9][21] , alle mit eigenen Besonderheiten und sinnvollen Anwen- dungsgebieten, und mit hoher Wahrscheinlichkeit wird diese Zahl in den kommenden Jahren nur wachsen. Gerade fur¨ Anf¨anger im Gebiet Web-Programmierung erschwert diese enorme Aus- wahl den Einstieg. Deswegen hat man die existierenden Frameworks nach verschie- denen Kriterien charakterisiert und sortiert. 1.2 Ziele der Arbeit Ziel dieser Arbeit ist es drei verschiedene Webframeworks (Google Web Toolkit, Vaa- din und Apache Wicket) kurz vorzustellen und dem Leser zu vermitteln, in welchen 2 1.3. AUFBAU DER ARBEIT Anwendungsf¨allen welches Webframework eher zu empfehlen ist. Insbesondere soll auf das Thema Sicherheit tiefer eingegangen werden. 1.3 Aufbau der Arbeit Die Arbeit ist in 6 Kapitel eingeteilt. In der Einleitung werden die Motivation und der Hintergrund der Arbeit erl¨autert, sowie die Ziele der Arbeit zusammengefasst. Außerdem ist hier ein kurzer Uberblick¨ uber¨ den Aufbau der Arbeit enthalten. Im 2. bis 4. Kapitel werden die Webframeworks Google Web Toolkit, Vaadin und Apache Wicket vorgestellt. Sie werden jeweils unter den anderen existierenden Web- frameworks eingeordnet; Es werden die Haupt-Features vorgestellt und empfohlene Anwendungsbeispiele werden kurz angesprochen. Dabei wird angenommen, dass dem Leser die Grundlagen von Webprogrammierung bereits bekannt sind, und er mit Be- griffen, wie z.B. Javascript, (X)HTML, Servlet und web.xml vertraut ist. Im 5. Kapitel wird das Thema Sicherheit nochmal explizit angesprochen und die vorgestellten Webframeworks werden in Bezug auf dieses Kriterium untereinander verglichen. Schließlich wird die geleistete Arbeit im letzten Kapitel zusammengefasst. Es wird kritisch analysiert, ob die Ziele der Arbeit erreicht wurden und es wird ein Ausblick gegeben, wie zukunftige¨ Baustellen aussehen k¨onnten. KAPITEL 2. GOOGLE WEB TOOLKIT 3 2 Google Web Toolkit In diesem Kapitel wird das Google Web Toolkit[18] (Version 2.6), kurz GWT, vor- gestellt. Es wird unter den anderen existierenden Webframeworks eingeordnet, die Haupt-Features werden vorgestellt und empfohlene Anwendungsbeispiele werden kurz angesprochen. Dieses Kapitel soll nicht ein Tutorial fur¨ Anf¨anger sein - diese sind in großer Zahl online zu finden. Falls Interesse besteht, l¨asst sich z.B. das Tutorial auf der Homepage von GWT[20] empfehlen. 2.1 Uberblick¨ Das Webframework GWT ist in erster Linie fur¨ Client-seitige Entwicklung ange- passt. Zentrales Feature dieses Frameworks ist die M¨oglichkeit Java-Code zu Javas- cript zu kompilieren. Hierzu wurde eine eigene API[16] entwickelt, wo bestimmte Java-Klassen gewissen Javascript-Elementen entsprechen. Ein spezieller Compiler wird fur¨ die Transformation zu Javascript benutzt. Diese Tatsache macht konkretes, detailliertes Wissen von Javascript nicht mehr not- wendig fur¨ das Erstellen von Web Applikationen. Stattdessen lassen sich Webpro- gramme komplett in Java schreiben, mit Benutzung von allen ublichen¨ Java Mittlen, wie Objektorientierung, Einbindung von Dritt-Frameworks und anderen. Zus¨atzlich werden alle Cross-Browser Kompatibilit¨atsprobleme von GWT behan- delt. Realisiert wurde dies durch Einsatz von Deferred Binding[17]. Dabei werden mehrere Versionen des Codes, optimiert fur¨ verschiedene Browser, zur Compile-Zeit generiert und nur die dem Browser des Clients entsprechende Version wird zur Lauf- zeit tats¨achlich geladen. Dies spart ebenfalls eine riesige Menge Zeit, da der Entwickler sich nun auf die Logik konzentrieren kann, ohne eine spezielle Version der Benutzeroberfl¨ache fur¨ verschiedene Browser erstellen zu mussen.¨ 2.2 Installation Der Aufwand fur¨ die Installation von GWT ist minimal. Es gibt ein spezielles Eclipse- Plugin[12], dass uber¨ das Eclipse-Marketplace innerhalb von Minuten installiert wer- den kann. Es enth¨alt alle n¨otigen Tools um sofort mit dem Programmieren zu starten. 4 2.3. AUFBAU EINER GWT-APPLIKATION GWT bietet auch ein Interface fur¨ Nutzer an, die Eclipse nicht nutzen. Allerdings wird es in dieser Arbeit nicht n¨aher behandelt. 2.3 Aufbau einer GWT-Applikation Das Eclipse-Plugin bietet einen Wizard zum Erstellen von neuen GWT Projekten an. Dabei werden alle ben¨otigten Ordner und ein triviales Beispiel-Programm, was nur geringfugig¨ komplexer als das klassische HelloWorld-Beispiel ist, mit erstellt. Somit l¨asst sich ein neues Projekt sofort ausfuhren,¨ um ein besseres Verstehen der Funktionsweise zu erlangen. In Abbildung 2.1 ist die Eclipse-Ansicht ei- nes derartigen Projekts mit dem Namen My- WebApp dargestellt. Es ist die Struktur des Projekts zu sehen. Wie gewohnt, befindet sich der Java-Code im Ordner src, die JU- nit Tests im Ordner test. Im Ordner war fin- det man die Dateien, die direkt mit Webpro- grammierung zu tun haben.
Recommended publications
  • Bakaláˇrská Práce Webová Aplikace Pro Poˇrádán´I Závod˚U V Orientacn
    Z´apadoˇcesk´a univerzita v Plzni Fakulta aplikovan´ych vˇed Katedra informatiky a v´ypoˇcetn´ı techniky Bakal´aˇrsk´apr´ace Webov´aaplikace pro poˇr´ad´an´ız´avod˚u v orientaˇcn´ım bˇehu Plzeˇn2017 Jan Palc´ut M´ısto t´eto strany bude zad´an´ıpr´ace. Prohl´aˇsen´ı Prohlaˇsuji, ˇzejsem bakal´aˇrskou pr´aci vypracoval samostatnˇea v´yhradnˇe s pouˇzit´ım citovan´ych pramen˚u. V Plzni dne 26. ˇcervna 2017 Jan Palc´ut Podˇekov´an´ı T´ımto bych chtˇel podˇekovat vedouc´ımu bakal´aˇrsk´epr´ace panu Ing. Tom´aˇsovi Hercigovi za cenn´erady, pˇripom´ınky a odborn´eveden´ıt´eto pr´ace. Abstract The topic of this bachelor thesis is the creation of a web application for organizing orienteering races including user registration, creation of races, registration of users to races, management of teams and contestants, and results evaluation based on selected criteria. Section2 deals with the de- scription of Java web frameworks. Section3 describes the Spring modules and the reasons why this framework was chosen for implementation. Sec- tion4 includes used technologies. The Section5 describes the funcionalities of the website and database. Section6 describes the creation of the ap- plication in the framework Spring, the structure of the project and selected sections of the code. Section7 includes race simulation, stress test, web browsers compatibility, and Selenium tests. Abstrakt Pˇredmˇetem m´ebakal´aˇrsk´epr´ace je vytvoˇren´ıwebov´eaplikace pro poˇr´ad´an´ı z´avod˚uv orientaˇcn´ım bˇehu umoˇzˇnuj´ıc´ı registraci uˇzivatel˚u, vytv´aˇren´ı z´a- vod˚u, registraci uˇzivatel˚udo z´avodu, spravov´an´ıseznamu t´ym˚uvˇcetnˇe´uˇcast- n´ık˚ua n´asledn´evyhodnocen´ızadan´ych v´ysledk˚upodle zvolen´ych krit´eri´ı.
    [Show full text]
  • The Dzone Guide to Volume Ii
    THE D ZONE GUIDE TO MODERN JAVA VOLUME II BROUGHT TO YOU IN PARTNERSHIP WITH DZONE.COM/GUIDES DZONE’S 2016 GUIDE TO MODERN JAVA Dear Reader, TABLE OF CONTENTS 3 EXECUTIVE SUMMARY Why isn’t Java dead after more than two decades? A few guesses: Java is (still) uniquely portable, readable to 4 KEY RESEARCH FINDINGS fresh eyes, constantly improving its automatic memory management, provides good full-stack support for high- 10 THE JAVA 8 API DESIGN PRINCIPLES load web services, and enjoys a diverse and enthusiastic BY PER MINBORG community, mature toolchain, and vigorous dependency 13 PROJECT JIGSAW IS COMING ecosystem. BY NICOLAI PARLOG Java is growing with us, and we’re growing with Java. Java 18 REACTIVE MICROSERVICES: DRIVING APPLICATION 8 just expanded our programming paradigm horizons (add MODERNIZATION EFFORTS Church and Curry to Kay and Gosling) and we’re still learning BY MARKUS EISELE how to mix functional and object-oriented code. Early next 21 CHECKLIST: 7 HABITS OF SUPER PRODUCTIVE JAVA DEVELOPERS year Java 9 will add a wealth of bigger-picture upgrades. 22 THE ELEMENTS OF MODERN JAVA STYLE But Java remains vibrant for many more reasons than the BY MICHAEL TOFINETTI robustness of the language and the comprehensiveness of the platform. JVM languages keep multiplying (Kotlin went 28 12 FACTORS AND BEYOND IN JAVA GA this year!), Android keeps increasing market share, and BY PIETER HUMPHREY AND MARK HECKLER demand for Java developers (measuring by both new job 31 DIVING DEEPER INTO JAVA DEVELOPMENT posting frequency and average salary) remains high. The key to the modernization of Java is not a laundry-list of JSRs, but 34 INFOGRAPHIC: JAVA'S IMPACT ON THE MODERN WORLD rather the energy of the Java developer community at large.
    [Show full text]
  • Return of Organization Exempt from Income
    OMB No. 1545-0047 Return of Organization Exempt From Income Tax Form 990 Under section 501(c), 527, or 4947(a)(1) of the Internal Revenue Code (except black lung benefit trust or private foundation) Open to Public Department of the Treasury Internal Revenue Service The organization may have to use a copy of this return to satisfy state reporting requirements. Inspection A For the 2011 calendar year, or tax year beginning 5/1/2011 , and ending 4/30/2012 B Check if applicable: C Name of organization The Apache Software Foundation D Employer identification number Address change Doing Business As 47-0825376 Name change Number and street (or P.O. box if mail is not delivered to street address) Room/suite E Telephone number Initial return 1901 Munsey Drive (909) 374-9776 Terminated City or town, state or country, and ZIP + 4 Amended return Forest Hill MD 21050-2747 G Gross receipts $ 554,439 Application pending F Name and address of principal officer: H(a) Is this a group return for affiliates? Yes X No Jim Jagielski 1901 Munsey Drive, Forest Hill, MD 21050-2747 H(b) Are all affiliates included? Yes No I Tax-exempt status: X 501(c)(3) 501(c) ( ) (insert no.) 4947(a)(1) or 527 If "No," attach a list. (see instructions) J Website: http://www.apache.org/ H(c) Group exemption number K Form of organization: X Corporation Trust Association Other L Year of formation: 1999 M State of legal domicile: MD Part I Summary 1 Briefly describe the organization's mission or most significant activities: to provide open source software to the public that we sponsor free of charge 2 Check this box if the organization discontinued its operations or disposed of more than 25% of its net assets.
    [Show full text]
  • Hippo Consolidates Its Leadership Status in the Open Source Software Community Submitted By: Prompt Communications Ltd Wednesday, 25 March 2009
    Hippo consolidates its leadership status in the open source software community Submitted by: Prompt Communications Ltd Wednesday, 25 March 2009 – Global software developer comes of age with more than 150 enterprise organisations using its open source CMS & portal software, ten Hippo developers accepted as ‘committers' to Apache projects; and three 'members' of The Apache Software Foundation – San Francisco, CA and Amsterdam, The Netherlands –25 March, 2009 – Hippo (http://www.onehippo.com), a leading vendor of open source Enterprise Content Management and Portal technology, today further demonstrated its leadership in the open source community with the announcement that the tenth member of its Technology Expertise Team has joined with the prestigious status of ‘committer’ to projects of The Apache Software Foundation. Out of its team of over 50 employees, nine others have attained this status, of which three have since received recognition for their technical excellence and contribution by achieving 'member' level. Developers are accepted as committers by the ASF based on the quality and quantity of their contributions to Apache open source development projects. Led by Hippo’s CTO, Arje Cahn, the Hippo Technology Expertise Team includes ASF members and committers to a broad range of Apache projects including Cocoon, Jetspeed, Portals, Wicket, and Jackrabbit. The number of Hippo developers accepted as Apache committers is indicative both of the high levels of technical expertise within the company, and of its commitment to contributing to open source development projects and enriching the world’s store of open source software. The ASF process is meritocratic: to attain committer status, developers have to be voted on by other committers.
    [Show full text]
  • 4.3.0 Third Party License Files
    Third Party Terms Third Party License(s) of Terracotta Version 4.3 THE FOLLOWING THIRD PARTY COMPONENTS MAY BE UTILIZED, EMBEDDED, BUNDLED OR OTHERWISE INCLUDED IN SOME OF THE PRODUCTS ("Product") YOU HAVE LICENSED FROM TERRACOTTA, INC..THESE THIRD PARTY COMPONENTS MAY BE SUBJECT TO ADDITIONAL OR DIFFERENT LICENSE RIGHTS, TERMS AND CONDITIONS AND / OR REQUIRE CERTAIN NOTICES BY THEIR THIRD PARTY LICENSORS. SOFTWARE AG IS OBLIGED TO PASS ANY CURRENT AND FUTURE TERMS OF SUCH LICENSES THROUGH TO ITS LICENSEES. TP Product Name TP Product Version apache-commons-io 2.4 apache-commons-lang 2.5 apache-commons-logging 1.0.3 apache-jakarta-commons-beanutils 1.8.3 apache-jakarta-commons-cli 1.1 apache-jakarta-commons-collections 3.2.1 apache-jakarta-commons-logging 1.1.1 apache-log4j 1.2.17 apache-shiro 1.2.3 apache-xmlbeans 2.4.0 beanshell-project 2.0b4 commons-lang 2.6 fasterxml-jackson-annotations 2.3 gf.aopalliance-repackaged.jar 2.2.0 gf.hk2.api.jar 2.2.0 gf.hk2.locator.jar 2.2.0 Copyright (c) 2015 Software AG, Darmstadt, Germany Third Party License(s) of Terracotta Version 4.3 TP Product Name TP Product Version gf.hk2-utils.jar 2.2.0 gf.javax.annotation-api.jar 1.20 gf.javax.annotation.jar 1.1 gf.javax.inject.jar 2.2.0 gf.javax.jms.jar 1.1 gf.javax.mail.jar 1.4.4 (API 1.4) gf.javax.security.auth.message.jar 1.0 gf.javax.servlet-api.jar 3.0.1 gf.javax.transaction.jar 1.1 gf.javax.ws.rs-api.jar 2.00 gf.jersey-client.jar 2.6.0 gf.jersey-common.jar 2.6.0 gf.jersey-container-servlet-core.jar 2.6.0 gf.jersey-container-servlet.jar 2.6 gf.jersey-guava.jar
    [Show full text]
  • Develop a Simple Web Application with Apache Wicket and Apache
    Develop a simple Web application with Apache Wicket and Apache Geronimo Combine Wicket, Geronimo, and Apache Derby to form an open source Java Web development platform Skill Level: Intermediate Robi Sen ([email protected]) Vice President Department 13 LLC 10 Jul 2007 Apache Wicket is an innovative Java™ Web application framework that was introduced a couple of years ago. It helps simplify Web application development by clearly separating the roles of developers and designers. It lets you remove logical code from the view layer, eliminating the need for JavaServer Pages (JSP), providing a simple plain old Java object (POJO)-centric mode of development, and removing much of the need for XML and other configuration file formats. In this tutorial, learn how to set up your system to develop a simple Web application with Wicket, using Apache Geronimo as your application server and Apache Derby as the embedded database. Section 1. Before you start This tutorial is designed for developers who have found Java frameworks, such as Struts, lacking in needed functionality. If you're interested in developing Web applications in a more object-oriented manner, where the view is clearly separated from logic and there's minimal configuration and mapping, then Wicket is for you! This tutorial walks you through the basics of how Wicket works, while using Apache Geronimo to set up a Java Platform, Enterprise Edition (Java EE) server, Web server, and embedded database in just minutes. Combining Wicket with Geronimo lets you develop data-driven, scalable Web applications using software that's all open source. Develop a simple Web application with Apache Wicket and Apache Geronimo © Copyright IBM Corporation 1994, 2008.
    [Show full text]
  • Full-Graph-Limited-Mvn-Deps.Pdf
    org.jboss.cl.jboss-cl-2.0.9.GA org.jboss.cl.jboss-cl-parent-2.2.1.GA org.jboss.cl.jboss-classloader-N/A org.jboss.cl.jboss-classloading-vfs-N/A org.jboss.cl.jboss-classloading-N/A org.primefaces.extensions.master-pom-1.0.0 org.sonatype.mercury.mercury-mp3-1.0-alpha-1 org.primefaces.themes.overcast-${primefaces.theme.version} org.primefaces.themes.dark-hive-${primefaces.theme.version}org.primefaces.themes.humanity-${primefaces.theme.version}org.primefaces.themes.le-frog-${primefaces.theme.version} org.primefaces.themes.south-street-${primefaces.theme.version}org.primefaces.themes.sunny-${primefaces.theme.version}org.primefaces.themes.hot-sneaks-${primefaces.theme.version}org.primefaces.themes.cupertino-${primefaces.theme.version} org.primefaces.themes.trontastic-${primefaces.theme.version}org.primefaces.themes.excite-bike-${primefaces.theme.version} org.apache.maven.mercury.mercury-external-N/A org.primefaces.themes.redmond-${primefaces.theme.version}org.primefaces.themes.afterwork-${primefaces.theme.version}org.primefaces.themes.glass-x-${primefaces.theme.version}org.primefaces.themes.home-${primefaces.theme.version} org.primefaces.themes.black-tie-${primefaces.theme.version}org.primefaces.themes.eggplant-${primefaces.theme.version} org.apache.maven.mercury.mercury-repo-remote-m2-N/Aorg.apache.maven.mercury.mercury-md-sat-N/A org.primefaces.themes.ui-lightness-${primefaces.theme.version}org.primefaces.themes.midnight-${primefaces.theme.version}org.primefaces.themes.mint-choc-${primefaces.theme.version}org.primefaces.themes.afternoon-${primefaces.theme.version}org.primefaces.themes.dot-luv-${primefaces.theme.version}org.primefaces.themes.smoothness-${primefaces.theme.version}org.primefaces.themes.swanky-purse-${primefaces.theme.version}
    [Show full text]
  • TE Console 8.8.2.2 - Use of Third-Party Libraries
    TE Console 8.8.2.2 - Use of Third-Party Libraries Name Selected License mindterm 4.2.2 (Commercial) APPGATE-Mindterm-License GifEncoder 1998 (Acme.com License) Acme.com Software License ImageEncoder 1996 (Acme.com License) Acme.com Software License commons-discovery 0.2 [Bundled w/te-console] Apache License 1.1 (Apache 1.1) jrcs 20080310 (Apache 1.1) Apache License 1.1 activemQ-broker 5.13.2 (Apache-2.0) Apache License 2.0 activemQ-broker 5.15.9 (Apache-2.0) Apache License 2.0 activemQ-camel 5.15.9 (Apache-2.0) Apache License 2.0 activemQ-client 5.13.2 (Apache-2.0) Apache License 2.0 activemQ-client 5.14.2 (Apache-2.0) Apache License 2.0 activemQ-client 5.15.9 (Apache-2.0) Apache License 2.0 activemQ-jms-pool 5.15.9 (Apache-2.0) Apache License 2.0 activemQ-kahadb-store 5.15.9 (Apache-2.0) Apache License 2.0 activemQ-openwire-legacy 5.13.2 (Apache-2.0) Apache License 2.0 activemQ-openwire-legacy 5.15.9 (Apache-2.0) Apache License 2.0 activemQ-pool 5.15.9 (Apache-2.0) Apache License 2.0 activemQ-protobuf 1.1 (Apache-2.0) Apache License 2.0 activemQ-spring 5.15.9 (Apache-2.0) Apache License 2.0 activemQ-stomp 5.15.9 (Apache-2.0) Apache License 2.0 ant 1.6.3 (Apache 2.0) Apache License 2.0 avalon-framework 4.2.0 (Apache v2.0) Apache License 2.0 awaitility 1.7.0 (Apache-2.0) Apache License 2.0 axis 1.4 [Bundled w/te-console] (Apache v2.0) Apache License 2.0 axis-jaxrpc 1.4 [Bundled w/te-console] (Apache 2.0) Apache License 2.0 axis-saaj 1.4 [Bundled w/te-console] (Apache 2.0) Apache License 2.0 batik 1.6 (Apache v2.0) Apache License 2.0 batik-constants
    [Show full text]
  • Modul Web Programming 2
    Modul Web Programming 2 Oleh : Agung Sasongko, M.Kom Program Studi Sistem Informasi Fakultas Teknologi Informasi Agung Sasongko, M.Kom | Sistem Informasi Universitas Bina Sarana Informatika 2018 Daftar Isi Pertemuan 1 ............................................................................................................................................... 4 1.1. Framework Web ......................................................................................................................... 4 1.2. Mengapa Laravel ........................................................................................................................ 5 1.3. Paket Aplikasi Pengembangan PHP ........................................................................................... 5 3.2. Mendaftarkan Direktori PHP ...................................................................................................... 8 3.3. Pemasangan Composer ............................................................................................................ 10 3.4. Pemasangan Laravel ................................................................................................................. 13 3.5. IDE Pengembangan Aplikasi Web ............................................................................................ 14 3.6. Aplikasi Presensi ....................................................................................................................... 17 3.7. Rancangan Database Presensi.................................................................................................
    [Show full text]
  • Hortonworks Data Platform Release Notes (October 30, 2017)
    Hortonworks Data Platform Release Notes (October 30, 2017) docs.cloudera.com Hortonworks Data Platform October 30, 2017 Hortonworks Data Platform: Release Notes Copyright © 2012-2017 Hortonworks, Inc. Some rights reserved. The Hortonworks Data Platform, powered by Apache Hadoop, is a massively scalable and 100% open source platform for storing, processing and analyzing large volumes of data. It is designed to deal with data from many sources and formats in a very quick, easy and cost-effective manner. The Hortonworks Data Platform consists of the essential set of Apache Software Foundation projects that focus on the storage and processing of Big Data, along with operations, security, and governance for the resulting system. This includes Apache Hadoop -- which includes MapReduce, Hadoop Distributed File System (HDFS), and Yet Another Resource Negotiator (YARN) -- along with Ambari, Falcon, Flume, HBase, Hive, Kafka, Knox, Oozie, Phoenix, Pig, Ranger, Slider, Spark, Sqoop, Storm, Tez, and ZooKeeper. Hortonworks is the major contributor of code and patches to many of these projects. These projects have been integrated and tested as part of the Hortonworks Data Platform release process and installation and configuration tools have also been included. Unlike other providers of platforms built using Apache Hadoop, Hortonworks contributes 100% of our code back to the Apache Software Foundation. The Hortonworks Data Platform is Apache-licensed and completely open source. We sell only expert technical support, training and partner-enablement services. All of our technology is, and will remain, free and open source. Please visit the Hortonworks Data Platform page for more information on Hortonworks technology. For more information on Hortonworks services, please visit either the Support or Training page.
    [Show full text]
  • Big Data Security Analysis and Secure Hadoop Server
    Big Data Security Analysis And Secure Hadoop Server Kripa Shanker Master’s thesis January 2018 Master's Degree in Information Technology 2 ABSTRACT Tampereen Ammattikorkeakoulu Tampere University of Applied Sciences Master's Degree in Information Technology Kripa Shanker Big data security analysis and secure hadoop server Master's thesis 62 pages, appendices 4 pages January 2018 Hadoop is a so influential technology that’s let us to do incredible things but major thing to secure informative data and environment is a big challenge as there are many bad guys (crackers, hackers) are there to harm the society using this data. Hadoop is now used in retail, banking, and healthcare applications; it has attracted the attention of thieves as well. While storing sensitive huge data, security plays an important role to keep it safe. Security was not that much considered when Hadoop was initially designed. Security is an important topic in Hadoop cluster. Plenty of examples are available in open media on data breaches and most recently was RANSOMEWARE which get access in server level which is more dangerous for an organizations. This is best time to only focus on security at any cost and time needed to secure data and platform. Hadoop is designed to run code on a distributed cluster of machines so without proper authentication anyone could submit code and it would be executed. Different projects have started to improve the security of Hadoop. In this thesis, the security of the system in Hadoop version 1, Hadoop version 2 and Hadoop version 3 is evaluated and different security enhancements are proposed, considering security improvements made by the two mentioned projects, Project Apache Knox Gateway, Project Apache Ranger and Apache Sentry, in terms of encryption, authentication, and authorization.
    [Show full text]
  • Summarizing Software API Usage Examples Using Clustering Techniques
    Summarizing Software API Usage Examples using Clustering Techniques Nikolaos Katirtzis1;2, Themistoklis Diamantopoulos3, and Charles Sutton2 1 Hotels.com, London, United Kingdom 2 School of Informatics, University of Edinburgh, Edinburgh, United Kingdom 3 Electrical and Computer Engineering Dept., Aristotle University of Thessaloniki, Thessaloniki, Greece [email protected], [email protected], [email protected] Abstract. As developers often use third-party libraries to facilitate soft- ware development, the lack of proper API documentation for these li- braries undermines their reuse potential. And although several approach- es extract usage examples for libraries, they are usually tied to specific language implementations, while their produced examples are often re- dundant and are not presented as concise and readable snippets. In this work, we propose a novel approach that extracts API call sequences from client source code and clusters them to produce a diverse set of source code snippets that effectively covers the target API. We further construct a summarization algorithm to present concise and readable snippets to the users. Upon evaluating our system on software libraries, we indi- cate that it achieves high coverage in API methods, while the produced snippets are of high quality and closely match handwritten examples. Keywords: API Usage Mining, Documentation, Source Code Reuse, Code Summarization, Mining Software Repositories 1 Introduction Third-party libraries and frameworks are an integral part of current software systems. Access to the functionality of a library is typically offered by its API, which may consist of numerous classes and methods. However, as noted by mul- tiple studies [24, 30], APIs often lack proper examples and documentation and, in general, sufficient explanation on how to be used.
    [Show full text]