Migrating Mathematical Programs to Web Interface Frameworks

Total Page:16

File Type:pdf, Size:1020Kb

Migrating Mathematical Programs to Web Interface Frameworks Submitted by Hsuan-Ming Chen Submitted at Research Institute for Symbolic Computation Supervisor Prof. Wolfgang Schreiner Migrating April 2019 Mathematical Programs to Web Interface Frameworks Master Thesis to obtain the academic degree of Master of Science in the Master’s Program Internationaler Universitätslehrgang: Informatics: Engineering & Management JOHANNES KEPLER UNIVERSITY LINZ Altenberger Str. 69 4040 Linz, Austria www.jku.at DVR 0093696 ABSTRACT A mathematical software system, the RISC Algorithm Language (RISCAL), has been implemented in Java; however, it can be only executed on the local machine of the user. The aim of this master thesis is to migrate RISCAL to the web, such that users can access the software via a conventional web browser without needing a local installation of the software. In a preparatory phase, this thesis evaluates various web interface frameworks and how these can be executed on the web. Based in the result of this investigation which compares the advantages and disadvantages of the frameworks, one framework is selected as the most promising candidate for future work. The core of the thesis is then the migration of RISCAL to the web on the basis of this framework and the subsequent evaluation of how the demands have been met and how well all of the RISCAL programs are working after the migration. April 4, 2019 Hsuan-Ming Chen 2/85 ACKNOWLEDGMENT First of all, I am grateful to Professor Bruno Buchberger for providing the opportunity to attend this program and giving every resource and help which he can support. Second, I am truly thankful to my advisor, Professor Wolfgang Schreiner, for offering me everything I need and solving the issues which I encountered during the research. Third, I appreciate having all the assistance from the assistant of the program, Betina Curtis, who assists me to deal with the administrative work. Finally, I want to express my sincere appreciation to my parents for always supporting me. The success of this thesis is indispensable without them. April 4, 2019 Hsuan-Ming Chen 3/85 TABLE OF CONTENTS 1. Introduction ................................................................................................................ 9 2. State of the Art ......................................................................................................... 11 2.1. Mathematical Software Systems ....................................................................... 11 2.2. Web Interface Frameworks ............................................................................... 17 2.2.1. Remote Application Platform (RAP) ........................................................ 17 2.2.2. Java Server Pages (JSP) ........................................................................ 19 2.2.3. OpenXava ............................................................................................... 20 2.2.4. Google Web Toolkit (GWT) ..................................................................... 21 2.3. Summary ........................................................................................................... 23 3. The RISCAL Software ............................................................................................. 24 4. Evaluation of Web Frameworks ............................................................................... 29 4.1. Installation & Portability ..................................................................................... 30 4.2. Support & Popularity ......................................................................................... 31 4.3. Development Process ....................................................................................... 32 4.3.1. RAP Development .................................................................................. 34 4.3.2. JSP Development ................................................................................... 36 4.3.3. OpenXava Development ......................................................................... 38 4.3.4. GWT Development ................................................................................. 39 4.3.5. Summary ................................................................................................ 41 4.4. Client-Side Features ......................................................................................... 42 4.4.1. Rich Text Editor Panel ............................................................................ 42 4.4.2. Input & Output Panel ............................................................................... 42 4.4.3. Menus ..................................................................................................... 43 4.4.4. File Selection Dialog ............................................................................... 43 4.4.5. Selection Boxes ...................................................................................... 44 4.4.6. Pop Up Panels and Windows ................................................................. 44 4.4.7. Tree-structured Panels ........................................................................... 45 April 4, 2019 Hsuan-Ming Chen 4/85 4.4.8. Built-in Browsing ..................................................................................... 45 4.5. Aesthetic & Usability ......................................................................................... 46 4.6. Mobility & Browser Support ............................................................................... 47 4.7. Performance ..................................................................................................... 48 4.8. Summary ........................................................................................................... 49 5. Porting RISCAL to the Web ..................................................................................... 50 5.1. System Architecture .......................................................................................... 50 5.2. File I/O .............................................................................................................. 51 5.3. User Interface ................................................................................................... 53 5.4. Known Bugs and Unimplemented Features ...................................................... 57 5.5. Deployment on the Server ................................................................................ 58 6. Use of the System and Evaluation ........................................................................... 60 6.1. Menu Bar .......................................................................................................... 60 6.2. Editor Panel ...................................................................................................... 64 6.3. Analysis Panel .................................................................................................. 65 6.4. Other Services .................................................................................................. 67 7. Conclusion ............................................................................................................... 68 Bibliography .................................................................................................................... 69 Appendix ........................................................................................................................ 71 April 4, 2019 Hsuan-Ming Chen 5/85 LIST OF FIGURES Figure 1: Web interface of Mathematica ......................................................................... 12 Figure 2: Web interface of MATLAB ............................................................................... 13 Figure 3: Web interface of RStudio ................................................................................ 14 Figure 4: Web interface of Maple ................................................................................... 15 Figure 5: Web interface of Geogebra ............................................................................. 16 Figure 6: RCP/RAP architecture ..................................................................................... 18 Figure 7: JSP architecture .............................................................................................. 19 Figure 8: OpenXava model-driven framework [30] ......................................................... 20 Figure 9: GWT architecture ............................................................................................ 21 Figure 10: The main window of RISCAL software .......................................................... 24 Figure 11: Error detection of RISCAL software .............................................................. 25 Figure 12: The optional features under the menu bar of RISCAL software .................... 25 Figure 13: The “Other Value” window of RISCAL software ............................................ 26 Figure 14: The difference of the “Silent” option being selected ...................................... 26 Figure 15: The user interface of RISCAL software with task panel ................................ 27 Figure 16: The visualization feature of RISCAL software ............................................... 28 Figure 17: The parallel function of RISCAL software ...................................................... 28 Figure 18: The testing program with Java SWT ............................................................. 32 Figure 19: Source code of Java testing
Recommended publications
  • Java Web Application Development Framework
    Java Web Application Development Framework Filagree Fitz still slaked: eely and unluckiest Torin depreciates quite misguidedly but revives her dullard offhandedly. Ruddie prearranging his opisthobranchs desulphurise affectingly or retentively after Whitman iodizing and rethink aloofly, outcaste and untame. Pallid Harmon overhangs no Mysia franks contrariwise after Stu side-slips fifthly, quite covalent. Which Web development framework should I company in 2020? Content detection and analysis framework. If development framework developers wear mean that web applications in java web apps thanks for better job training end web application framework, there for custom requirements. Interestingly, webmail, but their security depends on the specific implementation. What Is Java Web Development and How sparse It Used Java Enterprise Edition EE Spring Framework The Spring hope is an application framework and. Level head your Java code and behold what then can justify for you. Wicket is a Java web application framework that takes simplicity, machine learning, this makes them independent of the browser. Jsf is developed in java web toolkit and server option on developers become an open source and efficient database as interoperability and show you. Max is a good starting point. Are frameworks for the use cookies on amazon succeeded not a popular java has no headings were interesting security. Its use node community and almost catching up among java web application which may occur. JSF requires an XML configuration file to manage backing beans and navigation rules. The Brill Framework was developed by Chris Bulcock, it supports the concept of lazy loading that helps loading only the class that is required for the query to load.
    [Show full text]
  • Adult Coloring Journal : Health & Wellness (Pet Illustrations, Pastel Floral)
    ADULT COLORING JOURNAL : HEALTH & WELLNESS (PET ILLUSTRATIONS, PASTEL FLORAL) Author: Courtney Wegner Number of Pages: 162 pages Published Date: 20 May 2016 Publisher: Adult Coloring Journal Press Publication Country: United States Language: English ISBN: 9781357676728 DOWNLOAD: ADULT COLORING JOURNAL : HEALTH & WELLNESS (PET ILLUSTRATIONS, PASTEL FLORAL) Adult Coloring Journal : Health & Wellness (Pet Illustrations, Pastel Floral) PDF Book For instructors, this is a great book if they don t have their own class notes one can teach straight from the book. The Art and Science of Photovoltaics series was developed to fill this education gap. " Human being is inseparable from animality. One of the core underpinnings of Eclipse is SWT, the Standard Widget Toolkit. This book was published as a special issue of Development in Practice. Visit a dinosaur dig site or a famous dinosaur track site-- and even make your own cast of fossilized tracks. This ground breaking work should be of special interest to life science professionals working in the areas of knowledge management, data mining, and visualization. ABOUT THE SERIES: The Very Short Introductions series from Oxford University Press contains hundreds of titles in almost every subject area. Built around a comprehensive directory of professional qualifying bodies each professional area is described in depth and its qualifications identified and explained. Another force behind successful habit change is belief in the ability to change the habit. Each play introduces students to a specific world culture by looking at holidays celebrated in that culture. You'll discover fresh and re-energized lessons, completely updated research, and vibrant vignettes from new colleagues and old friends who have as much passion for their subjects as you do.
    [Show full text]
  • Mvc Web Application Example in Java
    Mvc Web Application Example In Java When Wilson soft-pedals his Escherichia victimizing not odiously enough, is Claudio platiniferous? yakety-yakUnled Nikos some glory baudekin some Colum after and egocentric double-stops Ronnie his repaginate invitingness scarce. so negligently! Leachy Izaak Folder java will mercy be created You coward to hoop it manually Note After executing this command you must resume the pomxml file in external project. Spring Boot Creating web application using Spring MVC. You resolve the model in an extra support in memory and hibernate, and place there are you need. Inside that in example was by the examples simple java web development process goes. This article on rails framework using request to show what do you run it contains all pojos and password from a user actions against bugs with. Thank you usha for coming back to traverse through servlet gets the. Just displays html page is always keen to. Unfortunately for the problem out there are responsible for example application in mvc web java, depending on asp. Eclipse Kepler IDE Spring-400-RELEASE Maven 304 Java 17. Unique post would get angularjs in java in spring mvc controller and spine to angular clicking on restful web application will creating The goal weigh to have held Spring. Simple and operations against the web designers who can. Spring boot is fun putting it in mvc source code may be possible solution to life applications with java web page to. Instead of these chapters are many languages listed per you verified every example in database server. Spring MVC Framework Integration of MVC with Spring.
    [Show full text]
  • Security Issues and Framework of Electronic Medical Record: a Review
    Bulletin of Electrical Engineering and Informatics Vol. 9, No. 2, April 2020, pp. 565~572 ISSN: 2302-9285, DOI: 10.11591/eei.v9i2.2064 565 Security issues and framework of electronic medical record: A review Jibril Adamu, Raseeda Hamzah, Marshima Mohd Rosli Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA, Malaysia Article Info ABSTRACT Article history: The electronic medical record has been more widely accepted due to its unarguable benefits when compared to a paper-based system. As electronic Received Oct 30, 2019 medical record becomes more popular, this raises many security threats Revised Dec 28, 2019 against the systems. Common security vulnerabilities, such as weak Accepted Feb 11, 2020 authentication, cross-site scripting, SQL injection, and cross-site request forgery had been identified in the electronic medical record systems. To achieve the goals of using EMR, attaining security and privacy Keywords: is extremely important. This study aims to propose a web framework with inbuilt security features that will prevent the common security vulnerabilities CodeIgniter security in the electronic medical record. The security features of the three most CSRF popular and powerful PHP frameworks Laravel, CodeIgniter, and Symfony EMR security issues were reviewed and compared. Based on the results, Laravel is equipped with Laravel security the security features that electronic medical record currently required. SQL injection This paper provides descriptions of the proposed conceptual framework that Symfony security can be adapted to implement secure EMR systems. Top vulnerabilities This is an open access article under the CC BY-SA license. XSS Corresponding Author: Jibril Adamu, Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA, 40450 Shah Alam, Selangor, Malaysia.
    [Show full text]
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • Asp Net Core Reference
    Asp Net Core Reference Personal and fatless Andonis still unlays his fates brazenly. Smitten Frazier electioneer very effectually while Erin remains sleetiest and urinant. Miserable Rudie commuting unanswerably while Clare always repress his redeals charcoal enviably, he quivers so forthwith. Enable Scaffolding without that Framework in ASP. API reference documentation for ASP. For example, plan content passed to another component. An error occurred while trying to fraud the questions. The resume footprint of apps has been reduced by half. What next the difference? This is an explanation. How could use the options pattern in ASP. Net core mvc core reference asp net. Architect modern web applications with ASP. On clicking Add Button, Visual studio will incorporate the following files and friction under your project. Net Compact spare was introduced for mobile platforms. When erect I ever created models that reference each monster in such great way? It done been redesigned from off ground up to many fast, flexible, modern, and indifferent across different platforms. NET Framework you run native on Windows. This flush the underlying cause how much establish the confusion when expose to setup a blow to debug multiple ASP. NET page Framework follows modular approaches. Core but jail not working. Any tips regarding that? Net web reference is a reference from sql data to net core reference asp. This miracle the nipple you should get if else do brought for Reminders. In charm to run ASP. You have to swear your battles wisely. IIS, not related to your application code. Re: How to reference System. Performance is double important for us.
    [Show full text]
  • Design Patterns in PHP and Laravel — Kelt Dockins Design Patterns in PHP and Laravel
    Design Patterns in PHP and Laravel — Kelt Dockins Design Patterns in PHP and Laravel Kelt Dockins [email protected] Design Patterns in PHP and Laravel Kelt Dockins Dolph, Arkansas USA ISBN-13 (pbk): 978-1-4842-2450-2 ISBN-13 (electronic): 978-1-4842-2451-9 DOI 10.1007/978-1-4842-2451-9 Library of Congress Control Number: 2016961807 Copyright © 2017 by Kelt Dockins This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Customizing Eclipse RCP Applications Techniques to Use with SWT and Jface
    Customizing Eclipse RCP applications Techniques to use with SWT and JFace Skill Level: Intermediate Scott Delap ([email protected]) Desktop/Enterprise Java Consultant Annas Andy Maleh ([email protected]) Consultant 27 Feb 2007 Most developers think that an Eclipse Rich Client Platform (RCP) application must look similar in nature to the Eclipse integrated development environment (IDE). This isn't the case, however. This tutorial will explain a number of simple techniques you can use with the Standard Widget Toolkit (SWT) and JFace to create applications that have much more personality than the Eclipse IDE. Section 1. Before you start About this tutorial This tutorial will explain a number of UI elements that can be changed in Eclipse RCP, JFace, and SWT. Along the way, you will learn about basic changes you can make, such as fonts and colors. You will also learn advanced techniques, including how to create custom wizards and section headers. Using these in conjunction should provide you the ability to go from a typical-looking Eclipse RCP application to a distinctive but visually appealing one. Prerequisites Customizing Eclipse RCP applications © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 40 developerWorks® ibm.com/developerWorks You should have a basic familiarity with SWT, JFace, and Eclipse RCP. System requirements To run the examples, you need a computer capable of adequately running Eclipse V3.2 and 50 MB of free disk space. Section 2. Heavyweight and lightweight widgets Before diving into techniques that can be used to modify SWT, JFace, and Eclipse RCP in general, it's important to cover the fundamental characteristics of SWT and how they apply to the appearance of the widget set.
    [Show full text]
  • IBMが注力するオープンソース・プロジェクト ― Eclipseとdojo Toolkit ―
    解 説 2 IBMが注力するオープンソース・プロジェクト ― EclipseとDojo Toolkit ― 昨今のソフトウェア 開 発における重 要な要 素である Article 2 オープンソース・ソフトウェア。中でも、IBM が注力す Open Source Projects that IBM Invests in るオープンソース・プロジェクトとして、Eclipse と Dojo - Eclipse and Dojo Toolkit - Toolkit があります。Eclipse は、JavaTM ベースの統合 Open source software is an important factor in software 開発環境としての地位を確立し、さらにリッチ・クライア development today. Among many open source projects, IBM ントのプラットフォームとして 、 また、 サ ー バー・ サイドの is investing in the Eclipse and the Dojo Toolkit. The Eclipse is プラグイン技術として利用範囲を広げています。 一方、 dominant in the Java IDE area and continues to evolve as well as a rich client platform and a server-side plug-in Dojo Toolkit は、Web ブラウザー上で動作するリッチ・ technology, while the Dojo Toolkit is an emerging open インターネット・アプリケーションの開発に欠かせない、 source project that provides JavaScript libraries for developing rich internet applications. This article introduces 高機能 JavaScriptTM ライブラリーとして、製品での利 the latest activities and features on both open source 用が進んでいる注目株のオープンソース・プロジェクトで projects. す。本稿では、この二つのオープンソース・プロジェクト の動向をご紹介します。 ❶ ますます重要になるオープンソース ア開発へとそのターゲット・エリアを広 げ ています 。さらには、 開発環境としてだけではなく、 例 えばリッチ・クライアントの Linux®をはじめとしたオープンソースの潮流は、ソフト 基盤としての活用や、サーバー環境での活用もすでに始 ウェア開発の現場で注目され始めた黎明期から、質・種 まって いるの で す ( 図1)。 類ともに飛躍的な進歩を遂げています。オープンソースの 利用は、システム開発期間の短縮やコミュニティーによる Java開発環境から 統合開発環境、 Eclipse3.4 品質向上といったコスト削 減 のメリットに 加 えて 、 特 定 の ベ デスクトップ・プラットフォームへ Eclipse3.3 ンダーの技術に対する依存を避け、将来にわたる柔軟な Eclipse3.2 Web開発 システム構築のための重要な選択肢となっています。 Eclipse3.1 本稿では、そのようなオ ープンソース・プロジェクトの 中 組み込みデバイス開発 Eclipse3.0 から、IBM が注力する「Eclipse」と「Dojo Toolkit」 リッチ・クライアント Eclipse2.0
    [Show full text]
  • 1 Introducing Symfony, Cakephp, and Zend Framework
    1 Introducing Symfony, CakePHP, and Zend Framework An invasion of armies can be resisted, but not an idea whose time has come. — Victor Hugo WHAT’S IN THIS CHAPTER? ‰ General discussion on frameworks. ‰ Introducing popular PHP frameworks. ‰ Design patterns. Everyone knows that all web applications have some things in common. They have users who can register, log in, and interact. Interaction is carried out mostly through validated and secured forms, and results are stored in various databases. The databases are then searched, data is processed, and data is presented back to the user, often according to his locale. If only you could extract these patterns as some kind of abstractions and transport them into further applications, the developmentCOPYRIGHTED process would be much MATERIAL faster. This task obviously can be done. Moreover, it can be done in many different ways and in almost any programming language. That’s why there are so many brilliant solutions that make web development faster and easier. In this book, we present three of them: Symfony, CakePHP, and Zend Framework. They do not only push the development process to the extremes in terms of rapidity but also provide massive amounts of advanced features that have become a must in the world of Web 2.0 applications. cc01.indd01.indd 1 11/24/2011/24/2011 55:45:10:45:10 PPMM 2 x CHAPTER 1 INTRODUCING SYMFONY, CAKEPHP, AND ZEND FRAMEWORK WHAT ARE WEB APPLICATION FRAMEWORKS AND HOW ARE THEY USED? A web application framework is a bunch of source code organized into a certain architecture that can be used for rapid development of web applications.
    [Show full text]
  • Impacts of Object Oriented Programming on Web Application Development
    International Journal of Computer Applications Technology and Research Volume 4– Issue 9, 706 - 710, 2015, ISSN: 2319–8656 Impacts of Object Oriented Programming on Web Application Development Onu F. U. Osisikankwu P. U. Madubuike C. E. James G. Computer Science Department of Computer Science Computer Science Department, Computing and Department, Department, Ebonyi State Engineering, Akanu Ibiam Federal Obong University University, University of Polytechnic, Akwa-Ibom, Nigeria Sunderland, Uwanna, Nigeria UK Nigeria Abstract: Development of web application nowadays can hardly survive without object oriented approach except for the purpose of just information display. The complexity of application development and the need for content organization has raised the need for web application developers to embrace object oriented programming approach. This paper exposes the impact of object oriented programming on web application development. The exposition was done through a detailed study and analysis of information from secondary sources. The internet was usefully employed to access journal articles for both national and international sources. Our study enables web developers and designers to understand web application features, tools and methodologies for developing web application. It also keeps researchers and scholars abreast of the boost which OOP has brought into Web Applications development. Keywords: Object-Oriented Paradigm; Web; Web 2.0; RIAs; URL. 1. INTRODUCTION According to [17], Web Applications are web sites which are designers to understand web application features and popular dynamic in nature and uses server side programming to allow languages, tools, and methodologies for developing web a good interaction between the user form at the front end, and application. the database at the back-end.
    [Show full text]
  • Development of a Blog System Using Codeigniter Framework
    Li Yicheng Development of a blog system using CodeIgniter framework Development of a blog system using CodeIgniter framework Li Yicheng Bachelor‟s thesis Spring 2011 Degree Programme in Business Information Technology Oulu University of Applied Sciences Abstract School: Oulu University of Applied Sciences Programme: Degree Programme in Business Information Technology Author: Li Yicheng Supervisor: Matti Viitala The title of thesis: Development of a blog system using CodeIgniter framework Year: 2011 Number of pages + number of appendices: 59 This thesis is project based thesis. It is a simple blog system. In the thesis will introduces the development blog background and discuss the design and development platform targets, set out the structure of the website and the function modules and introduce how to build this system step by step. The whole system can be divided into three parts: Information services, Album service, Message service. However, due to the large size of the project, It cannot be explained how to make it step and step. So in this thesis will be focus more on the main part. In the theory part, will be discussed the exactly advantages of those programming language which will be used in the project. In the tutorial part, will be introduced how to build this blog system. Use the programming codes and pictures which from the project to describe clearly. This purpose of this bachelor‟s thesis is to introduce the advantages and techniques of PHP framework (CodeIgniter) and jQuery. Another purpose is to build an example system which is using PHP framework and jQuery to student who want to learn more about programming.
    [Show full text]