University of Twente Student Theses
A framework for service-oriented extensions to Ruby on Rails
Henzen, S.F. (2008) A framework for service-oriented extensions to Ruby on Rails.
PDF
1MB |
Abstract: | Service-Oriented Architecture (SOA) is a relatively new architectural style in software development. A SOA separates a system's functionality into distinct units called services, which can be distributed over a network. Ruby on Rails is a free full-stack web development framework implemented in the Ruby programming language. It allows programmers to create applications that process HTTP requests, query or update a database, and generate HTTP responses. Rails can also be used in a SOA to provide or invoke services, but practical experiences have shown that Rails support for these tasks is limited. In this thesis we identify several limitations of Ruby on Rails with regard to Service-Oriented Architecture. Limitations are discovered through case studies. We study four medium-sized projects at a Dutch software company. Limitation were discovered mainly in functionality for invoking services, but also in functionality for providing certain types of services. To allow for the extension of Rails' functionality for invoking and providing services, an extensible framework was developed. Protocol handlers for XML-RPC and a broad range of REST-ful services were also developed as extensions for this framework. With this framework several test cases that require extended functionality were successfully implemented. A sur- vey has shown that application programmers rate the framework high on many quality attributes, including learnability and maintainability. |
Item Type: | Essay (Master) |
Clients: | Nedforce |
Faculty: | EEMCS: Electrical Engineering, Mathematics and Computer Science |
Subject: | 54 computer science |
Programme: | Computer Science MSc (60300) |
Link to this item: | https://purl.utwente.nl/essays/58598 |
Export this item as: | BibTeX EndNote HTML Citation Reference Manager |
Repository Staff Only: item control page