Web-based application developers face a dizzying array of platforms, languages, frameworks and technical artifacts to choose from. We survey, classify, and compare technologies supporting Web application development. The classification is based on (1) foundational technologies; (2)integration with other information sources; and (3) dynamic content generation. We further survey and classify software engineering techniques and tools that have been adopted from traditional programming into Web programming. We conclude that, although the infrastructure problems of the Web have largely been solved, the cacophony of technologies for Web-based applications reflects the lack of a solid model tailored for this domain.
The publication and (re)utilization of Open Data is still facing multiple barriers on technical, organizational and legal levels. This includes limitations in interfaces, search capabilities, provision of quality information and the lack of definite standards and implementation guidelines. Many Semantic Web specifications and technologies are specifically designed to address the publication of data on the web. In addition, many official publication bodies encourage and foster the development of Open Data standards based on Semantic Web principles. However, no existing solution for managing Ope…
The selection of software technologies is an important but complex task. We consider developers of JavaScript (JS) applications, for whom the assessment of JS libraries has become difficult and time-consuming due to the growing number of technology options available. A common strategy is to browse software repositories via search engines (e.g., NPM, or Google), although it brings some problems. First, given a technology need, the engines might return a long list of results, which often causes information overload issues. Second, the results should be ranked according to criteria of interest fo…
Java Enterprise Edition (JEE) applications are implemented in terms of a set of components developed based on several JEE technologies includ- ing, but not limited to, Servlet, JSP, JSF, EJB, JavaBeans. These JEE technologies rely on a varied set of communication mechanisms to commu- nicate between each others. Examples of these communication mechanisms are HTTP requests, Remote Method Invocation (RMI), Java DateBase Connectivity (JDBC), etc. These communication mechanisms represent program dependencies between JEE components. However, one communi- cation mechanism can be implemented following…
Institute of Health Informatics, University College London(伦敦大学学院健康信息学研究所);Farr Institute of Health Informatics Research, University College London(伦敦大学学院法尔健康信息学研究所)
Electronic Health Records are electronic data generated during or as a byproduct of routine patient care. Structured, semi-structured and unstructured EHR offer researchers unprecedented phenotypic breadth and depth and have the potential to accelerate the development of precision medicine approaches at scale. A main EHR use-case is defining phenotyping algorithms that identify disease status, onset and severity. Phenotyping algorithms utilize diagnoses, prescriptions, laboratory tests, symptoms and other elements in order to identify patients with or without a specific trait. No common standa…
The choice of the tools and programming technologies for information systems creation is relevant. For every projected system, it is necessary to define a number of criteria for development environment, used libraries and technologies. The paper describes the choice of technological solutions using the example of the developed web-based platform of the Russian Academy of Education. This platform is used to provide information support for the activities of psychologists in their research (including population and longitudinal researches). There are following system features: large scale and sig…
During these last years, the use of the web technologies in the enterprises becomes an essential factor to define a new business model. Among these technologies, web services and enterprise portals have gathered to integrate existing heterogeneous systems such as e-commerce, eservices hub and e-learning. However, the design and the modeling of the portals, on the one hand, and their integration with the existing applications, on the other hand, are still two points open for discussion. The first problem is related to the development of the lifecycle that can be used for designing and modeling …
There has been recently a growth of interest in developing the current machine-readable Web towards the next generation of machine-understandable Web - Semantic Web. The development of the Web to a global business was reasonably fast, whereas Semantic Web development has taken time from a plan to be used as the mainstream Web. It is also important to note that the use of Semantic Web would only be successful in small technologies. However, the goal of Semantic Web is to be used in big technologies and to be the mainstream Web. Some challenges may impede make further progress of Semantic Web. I…
Protocol for a Systematic Mapping of the Literature, which aims to identify and classify the estimations techniques used in software development agile methodologies based on the results found, and to compare their estimation accuracies against those obtained in traditional software development methodologies.
Université Jean Monnet - Saint Étienne(圣艾蒂安让·莫内大学);Univ. Lyon(里昂大学);MINES Saint-Étienne(圣艾蒂安国立高等矿业学院);CNRS Lab Hubert Curien(法国国家科学研究中心休伯特·居里安实验室)
The Web is ubiquitous, increasingly populated with interconnected data, services, people, and objects. Semantic web technologies (SWT) promote uniformity of data formats, as well as modularization and reuse of specifications (e.g., ontologies), by allowing them to include and refer to information provided by other ontologies. In such a context, multi-agent system (MAS) technologies are the right abstraction for developing decentralized and open Web applications in which agents discover, reason and act on Web resources and cooperate with each other and with people. The aim of the project is to …
This paper discusses issues on current development and measurement practices that were identified from a pilot study conducted on Jordanian small software firms. The study was to investigate whether developers follow development and measurement best practices in web applications development. The analysis was conducted in two stages: first, grouping the development and measurement practices using variable clustering, and second, identifying the acceptance degree. Mean interval was used to determine the degree of acceptance. Hierarchal clustering was used to group the development and measurement…
Designing a web-application from a specification involves a series of well-planned and well executed steps leading to the final product. This often involves critical changes in design while testing the application, which itself is slow and cumbersome. Traditional approaches either fully automate the web-application development process, or let developers write everything from scratch. Our approach is based on a middle-ground, with precise control on the workflow and usage of a set of custom-made software tools to automate a significant part of code generation.
Model driven development is an effective method due to its benefits such as code transformation, increasing productivity and reducing human based error possibilities. Meanwhile, agile software development increases the software flexibility and customer satisfaction by using iterative method. Can these two development approaches be combined to develop web applications efficiently? What are the challenges and what are the benefits of this approach? In this paper, we answer these two crucial problems; combining model driven development and agile software development results in not only fast devel…
In this paper, we discuss one approach for development and deployment of web sites (web pages) devoted to the description of objects (events) with a precisely delineated geographic scope. This article describes the usage of context-aware programming models for web development. In our paper, we propose mechanisms to create mobile web applications which content links to some predefined geographic area. The accuracy of such a binding allows us to distinguish individual areas within the same indoor space. Target areas for such development are applications for Smart Cities and retail.
Development of the majority of the leading web services and software products today is generally guided by data-driven decisions based on evaluation that ensures a steady stream of updates, both in terms of quality and quantity. Large internet companies use online evaluation on a day-to-day basis and at a large scale. The number of smaller companies using A/B testing in their development cycle is also growing. Web development across the board strongly depends on quality of experimentation platforms. In this tutorial, we overview state-of-the-art methods underlying everyday evaluation pipelines…
This paper aims to discuss the pilot study and analysis of the current development and measurement practices in Jordanian small software firms. It is conducted because most developers build web applications without using any specific development method and don't know how to integrate the suitable measurements inside the process to improve and reduce defect, time and rework of the development life cycle. Furthermore the objectives of this pilot study are firstly; determine the real characteristics of small software firms in Jordan. Secondly, investigate the current development and measurement p…
Python is a popular, widely used, and general-purpose programming language. In spite of its ever-growing community, researchers have not performed much analysis on Python's topics, trends, and technologies which provides insights for developers about Python community trends and main issues. In this article, we examine the main topics related to this language being discussed by developers on one of the most popular Q\&A websites, Stack Overflow, as well as temporal trends through mining 2461876 posts. To be more useful for the software engineers, we study what Python provides as the alternative…
"Plat_Forms" is a competition in which top-class teams of three programmers compete to implement the same requirements for a web-based system within 30 hours, each team using a different technology platform (Java EE, .NET, PHP, Perl, Python, or Ruby on Rails). The results will provide new insights into the real (rather than purported) pros, cons, and emergent properties of each platform. The evaluation will analyze many aspects of each solution, both external (usability, functionality, reliability, performance, etc.) and internal (structure, understandability, flexibility, etc.).
Highly customized graphical user interfaces play a major role in today's software applications. There exist many technologies that support developing them. But these technologies demand writing a significant amount of unintuitive code to implement customized graphical user interfaces. Also, the support of these technologies become very limited when developing user interfaces for multiple platforms. In this paper we present a new technology to develop highly customized graphical interfaces in a more effective and efficient method. In the first part of this paper we explore the existing graphica…
In today's world of Web application development, programmers are commonly called upon to use the Hypertext Markup Language (HTML) as a programming language, something for which it was never intended and for which it is woefully inadequate. HTML is a data language, nothing more. It lacks high level programming constructions like procedures, conditions, and loops. Moreover it provides no intrinsic mechanism to insert or associate dynamic application data. Lastly, despite the visibly apparent structure of a web page when viewed in a browser, the responsible HTML code bears little to no discernibl…
A database driven web application is a very common software solution to rising business problems. Modeling the database and the software architecture can be challenging, hence there not being one combined modeling language for database and software architecture, specifically suited for web application development. In this paper we present Database object-oriented Modeling Language (DooML) and its primary Archetype Diagram: a notation for specifying the design of a database schema and corresponding object-oriented software architecture. It combines the syntax for drawing Entity Relationship Dia…
In this fast developing world of information, the amount of medical knowledge is rising at an exponential level. The UMLS (Unified Medical Language Systems), is rich knowledge base consisting files and software that provides many health and biomedical vocabularies and standards. A Web service is a web solution to facilitate machine-to-machine interaction over a network. Few UMLS web services are currently available for portable devices, but most of them lack in efficiency and performance. It is proposed to develop Android-based web services for healthcare systems underlying rich knowledge sour…
As part of formative and summative assessments in programming courses, students work on developing programming artifacts following a given specification. These artifacts are evaluated by the teachers. At the end of this evaluation, the students receive feedback and marks. Providing feedback on programming artifacts is time demanding and could make feedback to arrive too late for it to be effective for the students' learning. We propose to combine software testing with peer feedback which has been praised for offering a timely and effective learning activity with program testing. In this paper …
The paper considers software development issues for large-scale enterprise information systems (IS) with databases (DB) in global heterogeneous distributed computational environment. Due to high IT development rates, the present-day society has accumulated and rapidly increases an extremely huge data burden. Manipulating with such huge data arrays becomes an essential problem, particularly due to their global distribution, heterogeneous and weak-structured character. The conceptual approach to integrated Internet-based IS design, development and implementation is presented, including formal mo…
Software development environments (IDEs) have not followed the IT industry's inexorable trend towards distribution. They do too little to address the problems raised by today's increasingly distributed projects; neither do they facilitate collaborative and interactive development practices. A consequence is the continued reliance of today's IDEs on paradigms such as traditional configuration management, which were developed for earlier modes of operation and hamper collaborative projects. This contribution describes a new paradigm: cloud-based development, which caters to the specific needs of…
Web Engineering is the application of systematic, disciplined and quantifiable approaches to development, operation, and maintenance of Web-based applications. It is both a pro-active approach and a growing collection of theoretical and empirical research in Web application development. This paper gives an overview of Web Engineering by addressing the questions: a) why is it needed? b) what is its domain of operation? c) how does it help and what should it do to improve Web application development? and d) how should it be incorporated in education and training? The paper discusses the signific…
The semantic technologies pose new challenge for the way in which we built and operate systems. They are tools used to represent significances, associations, theories, separated from data and code. Their goal is to create, to discover, to represent, to organize, to process, to manage, to ratiocinate, to represent, to share and use the significances and knowledge to fulfill the business, personal or social goals.
The growing proliferation of distributed information systems, allows organizations to offer their business processes to a worldwide audience through Web services. Semantic Web services have emerged as a means to achieve the vision of automatic discovery, selection, composition, and invocation of Web services by encoding the specifications of these software components in an unambiguous and machine-interpretable form. Several frameworks have been devised as enabling technologies for Semantic Web services. In this paper, we survey the prominent Semantic Web service frameworks. In addition, a set …
Modern web applications can now offer desktop-like experiences from within the browser, thanks to technologies such as WebSockets, which enable low-latency duplex communication between the browser and the server. While these advances are great for the user experience, they represent a new responsibility for web developers who now need to manage and verify the correctness of more complex and potentially stateful interactions in their application. In this paper, we present a technique for developing interactive web applications that are statically guaranteed to communicate following a given prot…