
In this paper we describe a data format suitable for storing and manipulating executable language statements that can be used for exchanging/storing programs, executing them concurrently and extending homoiconicity of the hosting language. We call it JSEN, JavaScript Executable Notation, which represents the counterpart of JSON, JavaScript Object Notation. JSON and JSEN complement each other. The former is a data format for storing and representing objects and data, while the latter has been created for exchanging/storing/executing and manipulating statements of programs. The two formats, JSON and JSEN, share some common properties, reviewed in this paper with a more extensive analysis on what the JSEN data format can provide. JSEN extends homoiconicity of the hosting language (in our case JavaScript), giving the possibility to manipulate programs in a finer grain manner than what is currently possible. This property makes definition of virtual languages (or DSL) simple and straightforward. Moreover, JSEN provides a base for implementing a type of concurrent multitasking for a single-threaded language like JavaScript.
Security is a key issue in SOA J2EE applications. The literature and a considerable number of frameworks address security issues for this type of enterprise application. However, there are two significant problems in this body of knowledge: (i) it is hard to find an architectural approach for dealing with security threats to SOA J2EE applications; and, (ii) technologies are constantly changing, making it is difficult to have an abstract view of the problems that are solved using specific technologies. The Core Security Patterns (CSP) catalogue solves both problems because it provides a comprehensive architectural solution to J2EE security issues and abstracts specific security technologies into security patterns. However, the CSP pattern catalogue is huge (more than 1,000 pages) and there are three significant challenges to understanding it completely: (i) the integration of the CSP security patterns and the Core J2EE Patterns (CJP) for the software architecture of SOA J2EE applications is not evident; (ii) the high abstraction level of the CSP patterns, in some cases, obscures the security problems that the patterns solve; and (iii) the implementation of the CSP patterns involves the configuration of complex security frameworks, adding a layer of complexity to securing a J2EE application using a pattern-based approach. To address these issues, we have developed a SOA multitier application based on the patterns described in the CJP catalogue, and we have secured it by implementing the patterns described in the CSP catalogue. This paper describes the work carried out during these developments. The main goal was to relate the CSP patterns with: (i) CJP patterns; (ii) the security concerns that the CSP patterns address; and (iii) the present security frameworks. As a result of this paper, we expect the inclusion of security elements in SOA enterprise applications to be easier for software architects and developers. Finally, four main conclusions can be drawn from our study: (i) security is an orthogonal aspect for SOA multitier development; (ii) implementation of security patterns relies heavily on security frameworks, with the configuration of security frameworks thus becoming one of the most complex issues when securing J2EE SOA multitier applications; (iii) no J2EE application servers are needed to deploy secure J2EE SOA enterprise applications; and (iv) whether or not applications servers are used, security-related implementations are closely tied to the application container and frameworks used for SOA implementation.
Web technologies and open data practices have now begun to promote new issues and services addressed to both final and specialized users. The smart cities initiative has also introduced new trends and ideas to offer to the public, one of which is the challenge of a more inclusive society that will provide the same opportunities for all. One of the major areas that could benefit from these new initiatives is public transport by, for example, providing open and accessible datasets, which include information by and about people with special needs. In this sense, the Google Transit Feed Specification (GTFS) defines a format to describe public transportation and associated geographic information. It includes details regarding accessibility and what people with special needs might require to get around using public transport. We are, however, of the opinion that this specification has a low granularity and is not sufficient, since it only takes into account only mobility needs. As suggestions for improvement, we propose to enrich GTFS data by combining public transport data from multiple Web sources with semantic metadata techniques. Those data are stored in a public semantic dataset. To define this dataset, we propose a systematic method to extract data from different sources and integrate them. This method is applied to obtain data about the metro system from the website of Metro Madrid and GTFS. Relevant SPARQL queries and two applications are developed to evaluate the usefulness of the dataset obtained.
Mobile learning has changed the course of learning in higher and tertiary education. However, there are still mixed views on the inclusive definition and best usable frameworks for implementing mobile learning in formal education system. Hence, the question, which has been posed but not been explicitly answered by researchers, is: What is the correct view of mobile learning? This question has left so many researchers mystified but the answer lies in the way in which mobile learning is defined. How then should mobile learning be defined? This article serves to propose an inclusive definition that can be used to guide the development of mobile learning systems in formal education. In addition to the guide, this paper proposes a framework for usage and implementing multimedia mobile e-learning.
Keeping track of pupils' progress across different instruments and lessons, and what they are meant to be practicing, can be challenging. The typical solution is to use a book in which teachers write notes and pupils record practice. This can, however, easily be lost or become illegible. Furthermore, music education and self-directed practice is one area of education which is not widely gamified, with gamification describing a technique that drives specific human behaviors, motivates users, and has proven success in influencing learning. An application could therefore be created to respond to these needs by recording and tracking music practice whilst also gamifying student learning. An algorithm which accommodates these requirements is presented in this paper.