1,803 research outputs found

    Internship Portfolio

    Get PDF
    My one-year internship program work was with Mayo Clinic, Rochester. I was involved in the software development as part of a work term, all of which will be outlined in this report. The report will cover some background information on the projects I was involved in, as well as details on how the projects were developed. The report also states how and what academic courses and projects helped me in overall internship experience so far. At the beginning of the internship, I formulated serval learning goals, which I wanted to achieve: To understand the functioning and working conditions of the organization; To explore working in a professional environment; To explore the work environment for the possibility of a future career; To utilize my gained skills and knowledge; To find skills and knowledge I still need to work in a professional environment; To learn about software development life cycle; To learn about the development methodologies; To obtain fieldwork experience/collect data in an environment unknown for me; To obtain experience working in multicultural and diverse environment; To enhance my interpersonal and technical skills; To network with professionals in the industry. There are five major projects that I had a significant role in. The first project was Space Tools, involved gaining a good understanding of a javascript framework called Angular. My task was to study its working, develop wireframes from the view point of developing an application using that technology. My task was to Understand working with Angular framework, Understand working with Git, Develop wireframes. As this was my first project with Mayo Clinic, particularly at Development Shared Services (DSS) as a team project, I also had a large scope of understanding Agile Methodology - Scrum Process in particular. The second project was BAMS which was a rewrite of existing application in Windows Presentation Framework(WPF) and .Net backend. In this project my tasks were Understand using WinForms and WPF, Develop pages using WPF- MVVM Framework. The third project was DSA, where I acquired knowledge of working on Angular4 and frontend Unit testing in Karma using Mocha and Chai frameworks. The fourth project is MML Notification and Delivery, which started with an analysis phase in which were asked to analyze the data flow and system integrations the current Mayo Access and Mayo Link (MML Internal Operations) are dependent upon. We are to provide a new functionality to Mayo Access users of Notification and Delivery of tests results. The current project that I’m working on now is “MML Database Analysis”. This project is in the analysis phase. We were given a task to analyze MML databases to write an API instead of frontend calls to the database. I acquired many new technical skills throughout my work. I acquired new knowledge in Front-end development using various versions of Angular framework and Unit testing using Mocha and Chai framework in Karma. I also brushed my HTML/HTML5, CSS/CSS3, Javascript, Java, C# skills while working on various projects. Then I was introduced to the area of research and analysis and how to approach it. Most importantly, the work included good fellowship, cooperative teamwork and accepting responsibilities. Although I spent much time as a learning curve, I found that I was well trained in certain areas that helped me substantially in my projects. Many programming skills and Software Development Life Cycle understanding that I used in my internship, such as programming style and design, were the skills that I had acquired during my studies in Computer Science. This report also includes advantages of using Angular framework over other Javascript frameworks. The report concludes with my overall impressions of my work experience as well as my opinion of the Industrial Internship Program in general

    Building Intelligent Web Applications Using Lightweight Wrappers

    Get PDF
    The Web so far has been incredibly successful at delivering information to human users. So successful actually, that there is now an urgent need to go beyond a browsing human. Unfortunately, the Web is not yet a well organized repository of nicely structured documents but rather a conglomerate of volatile HTML pages. To address this problem, we present the World Wide Web Wrapper Factory (W4F), a toolkit for the generation of wrappers for Web sources, that offers: (1) an expressive language to specify the extraction of complex structures from HTML pages; (2) a declarative mapping to various data formats like XML; (3) some visual tools to make the engineering of wrappers faster and easier

    Visualizing 3D geology in web browsers using X3DOM

    Get PDF
    This work presents an application for visualizing subsurface geological data in 3D in web browsers, using the X3DOM framework. The data supported is 3D terrain, vertical subsurface cross sections and subsurface measurements from wells. Data is visualized for the area of Svalbard. To avoid low-level development, we use X3DOM, which hides the details of graphics rendering in high-level, declarative XML syntax. The resulting application is cross-platform and runs on computers, tablets and mobile phones with adequate graphics capabilities. The work is a summarization of the first author’s master’s thesis

    The Family of MapReduce and Large Scale Data Processing Systems

    Full text link
    In the last two decades, the continuous increase of computational power has produced an overwhelming flow of data which has called for a paradigm shift in the computing architecture and large scale data processing mechanisms. MapReduce is a simple and powerful programming model that enables easy development of scalable parallel applications to process vast amounts of data on large clusters of commodity machines. It isolates the application from the details of running a distributed program such as issues on data distribution, scheduling and fault tolerance. However, the original implementation of the MapReduce framework had some limitations that have been tackled by many research efforts in several followup works after its introduction. This article provides a comprehensive survey for a family of approaches and mechanisms of large scale data processing mechanisms that have been implemented based on the original idea of the MapReduce framework and are currently gaining a lot of momentum in both research and industrial communities. We also cover a set of introduced systems that have been implemented to provide declarative programming interfaces on top of the MapReduce framework. In addition, we review several large scale data processing systems that resemble some of the ideas of the MapReduce framework for different purposes and application scenarios. Finally, we discuss some of the future research directions for implementing the next generation of MapReduce-like solutions.Comment: arXiv admin note: text overlap with arXiv:1105.4252 by other author

    User-Customizable Web Components for Building One-Page Sites

    Get PDF
    Most of online website builders work by combining and customizing reusable HTML modules. This approach could rise the risk of conflicts among modules. The World Wide Web Consortium (W3C) is writing the specification of Web Components. This standard provides a browser-native solution in order to realize encapsulated Document Object Model (DOM) elements, in which the Cascading Style Sheets (CSS) and JavaScript scope is locally bound and the interaction with the document is strictly designed by the component author. Upon this standard, libraries have been built, Google’s Polymer being an example, which provide a declarative and easy way to realize Components. In this paper, we provide a solution to the module approach limit in website builders by using Web Components as modules that are customizable by the end user. Our approach uses standard web technologies that modern browsers are natively supporting. We describe how a customizable Web Component is designed and how to bind their options with the generator UI. Furthermore, we will show an application of this approach in a Landing Page generator. We demonstrate that the generator could import again the generated HyperText Markup Language (HTML) and edit it, without any intermediary data structure (i.e., eXtensible Markup Language, XML or JavaScript Object Notation, Json). Finally, we outline further future development of this approach

    JUpdate: A JSON Update Language

    Get PDF
    Although JSON documents are being used in several emerging applications (e.g., Big Data applications, IoT, mobile computing, smart cities, and online social networks), there is no consensual or standard language for updating JSON documents (i.e., creating, deleting or changing such documents, where changing means inserting, deleting, replacing, copying, moving, etc., portions of data in such documents). To fill this gap, we propose in this paper an SQL-like language, named JUpdate, for updating JSON documents. JUpdate is based on a set of six primitive update operations, which is proven complete and minimal, and it provides a set of fourteen user-friendly high-level operations with a well-founded semantics defined on the basis of the primitive update operations

    Abmash: Mashing Up Legacy Web Applications by Automated Imitation of Human Actions

    Get PDF
    Many business web-based applications do not offer applications programming interfaces (APIs) to enable other applications to access their data and functions in a programmatic manner. This makes their composition difficult (for instance to synchronize data between two applications). To address this challenge, this paper presents Abmash, an approach to facilitate the integration of such legacy web applications by automatically imitating human interactions with them. By automatically interacting with the graphical user interface (GUI) of web applications, the system supports all forms of integrations including bi-directional interactions and is able to interact with AJAX-based applications. Furthermore, the integration programs are easy to write since they deal with end-user, visual user-interface elements. The integration code is simple enough to be called a "mashup".Comment: Software: Practice and Experience (2013)
    • 

    corecore