Enhancing the Development Process with Wikified Widgets Gary Gotchel Regis University

Total Page:16

File Type:pdf, Size:1020Kb

Enhancing the Development Process with Wikified Widgets Gary Gotchel Regis University Regis University ePublications at Regis University All Regis University Theses Fall 2008 Enhancing the Development Process with Wikified Widgets Gary Gotchel Regis University Follow this and additional works at: https://epublications.regis.edu/theses Part of the Computer Sciences Commons Recommended Citation Gotchel, Gary, "Enhancing the Development Process with Wikified Widgets" (2008). All Regis University Theses. 146. https://epublications.regis.edu/theses/146 This Thesis - Open Access is brought to you for free and open access by ePublications at Regis University. It has been accepted for inclusion in All Regis University Theses by an authorized administrator of ePublications at Regis University. For more information, please contact [email protected]. Regis University College for Professional Studies Graduate Programs Final Project/Thesis Disclaimer Use of the materials available in the Regis University Thesis Collection (“Collection”) is limited and restricted to those users who agree to comply with the following terms of use. Regis University reserves the right to deny access to the Collection to any person who violates these terms of use or who seeks to or does alter, avoid or supersede the functional conditions, restrictions and limitations of the Collection. The site may be used only for lawful purposes. The user is solely responsible for knowing and adhering to any and all applicable laws, rules, and regulations relating or pertaining to use of the Collection. All content in this Collection is owned by and subject to the exclusive control of Regis University and the authors of the materials. It is available only for research purposes and may not be used in violation of copyright laws or for unlawful purposes. The materials may not be downloaded in whole or in part without permission of the copyright holder or as otherwise authorized in the “fair use” standards of the U.S. copyright laws and regulations. Enhancing the Software Development Process with Wikified Widgets � by � Gary Gotchel � [email protected] � A Thesis/Practicum Report submitted in partial fulfillment of the requirements for the degree of � Master of Science in Software and Information Science � School of Computer and Information Sciences � College for Professional Studies � Regis University � Denver, Colorado � August 29, 2008 � Wikified Widgets � Abstract Wikis are now merging with other applications. Structured wikis, also known as application wikis, have evolved in recent years. This second generation has embedded applications into the wiki, which are used to structure access to the wiki repository's otherwise unstructured content. This paper investigates the other possible approach to merging wikis with applications. It researches the utility of embedding wiki functionality into common applications. Utility will be measured by the benefits to the software development process offered by this approach. I introduce a new term, wikified widget, to describe a GUI component that provides structured access to a wiki repository from within non-wiki applications. Merging wiki and applications in this manner provides immediate and contextual access to a wiki repository from standard applications. There is great potential here, because this builds a new path for communication between all users of an application and its designers. Increased, and constant collaboration between these groups supports rapid iterations of software development, and should improve the dismally low success rate of software projects. v � Wikified Widgets � Acknowledgements � I would like to thank my thesis advisor, Dr. Douglas Hart, for his guidance and advice, and my family, for their support and patience. This research paper investigates one way that humans collaborate using technology. It relied heavily on software provided by the many contributors of the open-source community, and was inspired by the success of their collaborative genius. vi � Wikified Widgets � Table of Contents 1. Chapter 1 Introduction.....................................................................................................................1 1.1. Problem Statement...................................................................................................................1 1.2. Thesis Statement......................................................................................................................3 1.3. Project Relevance....................................................................................................................3 1.4. Project Scope...........................................................................................................................4 1.5. Project Limitations...................................................................................................................5 2. Chapter 2 – Review of Literature and Research..............................................................................6 2.1. Definition of Terms.................................................................................................................6 2.2. Customer Communication.......................................................................................................8 2.2.1. Previous Studies...............................................................................................................8 2.2.2. Potential Contributions....................................................................................................9 2.3. Hindrances to Using a Wiki...................................................................................................10 2.3.1. Previous Studies.............................................................................................................10 2.3.2. Potential Contributions..................................................................................................11 2.4. Wikis in a Corporate Environment........................................................................................11 2.4.1. Previous Studies.............................................................................................................12 2.4.2. Potential Contributions..................................................................................................13 2.5. Unstructured Nature of Wikis................................................................................................15 2.5.1. Previous Studies.............................................................................................................15 2.5.2. Potential Contributions..................................................................................................16 3. Chapter3 - Methodology................................................................................................................17 3.1. Overview................................................................................................................................17 3.1.1. Choice of Methodology.................................................................................................17 3.1.2. Questions Derived from Thesis Statement.....................................................................17 3.2. Exposing Participants to Wikified Widgets...........................................................................18 3.2.1. The Wikified Context Widget........................................................................................20 � 3.2.1.a. Design Considerations.............................................................................................20 � 3.2.1.b. Screen Layout..........................................................................................................22 � 3.2.1.c. Context Dependent Invocation................................................................................23 � 3.2.1.d. Edit Page Function..................................................................................................27 � 3.2.1.e. Add Comment Function..........................................................................................29 3.2.2. The Wikified Welcome Page Widget............................................................................32 � 3.2.2.a. Design Considerations.............................................................................................32 � 3.2.2.b. Implementation........................................................................................................33 3.2.3. The Wikified All Comments Widget.............................................................................35 � 3.2.3.a. Design Considerations.............................................................................................35 � 3.2.3.b. Implementation........................................................................................................36 3.2.4. The Wikified Keyword Registry Widget.......................................................................38 � 3.2.4.a. Design Considerations.............................................................................................38 � 3.2.4.b. Implementation........................................................................................................39 3.2.5. Help Buttons and Pages.................................................................................................41 3.2.6. Single Sign-on................................................................................................................41 3.3. Observations..........................................................................................................................42
Recommended publications
  • Patterns Senior Member of Technical Staff and Pattern Languages Knowledge Systems Corp
    Kyle Brown An Introduction to Patterns Senior Member of Technical Staff and Pattern Languages Knowledge Systems Corp. 4001 Weston Parkway CSC591O Cary, North Carolina 27513-2303 April 7-9, 1997 919-481-4000 Raleigh, NC [email protected] http://www.ksccary.com Copyright (C) 1996, Kyle Brown, Bobby Woolf, and 1 2 Knowledge Systems Corp. All rights reserved. Overview Bobby Woolf Senior Member of Technical Staff O Patterns Knowledge Systems Corp. O Software Patterns 4001 Weston Parkway O Design Patterns Cary, North Carolina 27513-2303 O Architectural Patterns 919-481-4000 O Pattern Catalogs [email protected] O Pattern Languages http://www.ksccary.com 3 4 Patterns -- Why? Patterns -- Why? !@#$ O Learning software development is hard » Lots of new concepts O Must be some way to » Hard to distinguish good communicate better ideas from bad ones » Allow us to concentrate O Languages and on the problem frameworks are very O Patterns can provide the complex answer » Too much to explain » Much of their structure is incidental to our problem 5 6 Patterns -- What? Patterns -- Parts O Patterns are made up of four main parts O What is a pattern? » Title -- the name of the pattern » A solution to a problem in a context » Problem -- a statement of what the pattern solves » A structured way of representing design » Context -- a discussion of the constraints and information in prose and diagrams forces on the problem »A way of communicating design information from an expert to a novice » Solution -- a description of how to solve the problem » Generative:
    [Show full text]
  • Wiki As Pattern Language
    Wiki as Pattern Language Ward Cunningham Cunningham and Cunningham, Inc.1 Sustasis Foundation Portland, Oregon Michael W. Mehaffy Faculty of Architecture Delft University of Technology2 Sustasis Foundation Portland, Oregon Abstract We describe the origin of wiki technology, which has become widely influential, and its relationship to the development of pattern languages in software. We show here how the relationship is deeper than previously understood, opening up the possibility of expanded capability for wikis, including a new generation of “federated” wiki. [NOTE TO REVIEWERS: This paper is part first-person history and part theory. The history is given by one of the participants, an original developer of wiki and co-developer of pattern language. The theory points toward future potential of pattern language within a federated, peer-to-peer framework.] 1. Introduction Wiki is today widely established as a kind of website that allows users to quickly and easily share, modify and improve information collaboratively (Leuf and Cunningham, 2001). It is described on Wikipedia – perhaps its best known example – as “a website which allows its users to add, modify, or delete its content via a web browser usually using a simplified markup language or a rich-text editor” (Wikipedia, 2013). Wiki is so well established, in fact, that a Google search engine result for the term displays approximately 1.25 billion page “hits”, or pages on the World Wide Web that include this term somewhere within their text (Google, 2013a). Along with this growth, the definition of what constitutes a “wiki” has broadened since its introduction in 1995. Consider the example of WikiLeaks, where editable content would defeat the purpose of the site.
    [Show full text]
  • Work Package 2 Collection of Requirements for OS
    Consortium for studying, evaluating, and supporting the introduction of Open Source software and Open Data Standards in the Public Administration Project acronym: COSPA Wor k Package 2 Collection of requirements for OS applications and ODS in the PA and creation of a catalogue of appropriate OS/ODS Solutions D eliverable 2. 1 Catalogue of available Open Source tools for the PA Contract no.: IST-2002-2164 Project funded by the European Community under the “SIXTH FRAMEWORK PROGRAMME” Work Package 2, Deliverable 2.1 - Catalogue of available Open Source tools for the PA Project Acronym COSPA Project full title A Consortium for studying, evaluating, and supporting the introduction of Open Source software and Open Data Standards in the Public Administration Contract number IST-2002-2164 Deliverable 2.1 Due date 28/02/2004 Release date 15/10/2005 Short description WP2 focuses on understanding the OS tools currently used in PAs, and the ODS compatible with these tools. Deliverable D2.1 contains a Catalogue of available open source tools for the PA, including information about the OS currently in use inside PAs, the administrative and training requirements of the tools. Author(s) Free University of Bozen/Bolzano Contributor(s) Conecta, IBM, University of Sheffield Project Officer Tiziana Arcarese Trond Arne Undheim European Commission Directorate-General Information Society Directorate C - Unit C6- eGovernment, BU 31 7/87 rue de la Loi 200 - B-1049 Brussels - Belgium 26/10/04 Version 1.3a page 2/353 Work Package 2, Deliverable 2.1 - Catalogue of available Open Source tools for the PA Disclaimer The views expressed in this document are purely those of the writers and may not, in any circumstances, be interpreted as stating an official position of the European Commission.
    [Show full text]
  • Front-End Engineer @ Mlab
    Front-end Engineer @ mLab About mLab: mLab is one of the fastest growing companies in the cloud infrastructure space. The company is solving mission-critical challenges faced by developers who require innovative database technology to support their applications. Our solution is built on MongoDB, the leading NoSQL database which is disrupting the multi-billion dollar database market. We're headquartered in the Mission/ Potrero area of San Francisco and are well-funded by premier venture and angel investors including Foundry Group, Baseline Ventures, Upfront Ventures, Freestyle Capital, and David Cohen of TechStars. Our users love our Database-as-a-Service (DBaaS) solution, as it allows them to focus their attention on product development, instead of operations. Developers create thousands of new databases per month using our fully managed cloud database service which offers highly available MongoDB databases on the most popular cloud providers. Our customers love our top-tier support, automated backups, web-based management, performance enhancement tools, and 24/7 monitoring. Looking forward, our roadmap includes a suite of new capabilities which will have a massive impact on the efficiency with which developers write and deploy applications. We’re biased (of course), but we believe our culture is one of our greatest assets. What makes us happiest? Innovating, automating, helping software developers, and giving back to our community. To get a better taste for who we are, visit our website at http://mlab.com and read our blog at http://blog.mlab.com. The role: We are looking for an outstanding front-end technologist to lead our UI efforts for our technology products as well as for our public-facing websites.
    [Show full text]
  • Evaluating Web Development Frameworks for Delphi
    Evaluating Web Development Frameworks for Delphi Updates, links, and more embt.co/WebDev2019 #DelphiWebDev Disclaimer ❏ This content is mostly focused on 3rd party frameworks and libraries ❏ While a lot of time was spent researching, some of the information may be outdated or otherwise incorrect through an error during research ❏ Links are provided to the sources, and you are encouraged to double check all information and seek clarification ❏ Any exclusion is just an oversight or a result of limited time and space and was not an intentional indication of quality or suitability ❏ This information presented here is not intended to indicate superiority or inferiority of one library over another for any use cases ❏ Please consider this a good faith effort to represent these libraries and frameworks impartially and accurately ❏ I will reach out to the projects, companies, and developers to seek corrections and additional information. ❏ Erratas and updates will be published at embt.co/WebDev2019 Thanks! Delphi and FireMonkey: Winning Combination for Cross- Platform Development → Single Codebase → Easy-to-tailor platform specific UIs → One programming language to learn and support What about Web Apps? Delphi’s incredible productivity for building amazing apps also extends to the web! https://blog.hootsuite.com/simon-kemp-social-media/ https://blog.hootsuite.com/simon-kemp-social-media/ People spend a daily average of 6 hours & 42 minutes using the internet https://blog.hootsuite.com/simon-kemp-social-media/ ❏Different kinds of web development
    [Show full text]
  • Analysis Patterns.Pdf
    Symbols for mappings DLKING , : www.dlking.com Generalization notation DLKING , : www.dlking.com Contents Foreword v Foreword vii Preface xv Chapter 1. Introduction 1 1.1 Conceptual Models 1 1.2 The World of Patterns 4 1.3 The Patterns in this Book 8 1.4 Conceptual Models and Business Process Reengineering 10 1.5 Patterns and Frameworks 11 1.6 Using the Patterns 11 References 14 Part 1. Analysis Patterns 15 Chapter 2. Accountability 17 2.1 Party 18 2.2 Organization Hierarchies 19 2.3 Organization Structure 21 2.4 Accountability 22 2.5 Accountability Knowledge Level 24 2.6 Party Type Generalizations 27 2.7 Hierarchic Accountability 28 2.8 Operating Scopes 30 2.9 Post 32 References 33 Chapter 3. Observations and Measurements 35 3.1 Quantity 36 3.2 Conversion Ratio 38 3.3 Compound Units 39 3.4 Measurement 41 3.5 Observation 42 3.6 Subtyping Observation Concepts 46 3.7 Protocol 46 3.8 Dual Time Record 47 IX DLKING , : www.dlking.com x Contents 3.9 Rejected Observation 48 3.10 Active Observation, Hypothesis, and Projection 49 3.11 Associated Observation 50 3.12 Process of Observation 51 References 55 Chapter 4. Observations for Corporate Finance 57 4.1 Enterprise Segment 59 4.2 Measurement Protocol 65 4.3 Range 76 4.4 Phenomenon with Range 77 4.5 Using the Resulting Framework 82 References 83 Chapter 5. Referring to Objects 85 5.1 Name 86 5.2 Identification Scheme 88 5.3 Object Merge 90 5.4 Object Equivalence 92 References 93 Chapter 6.
    [Show full text]
  • Diploma/Master/Student Thesis —
    Institute of Architecture of Application Systems University of Stuttgart Universitätsstraße 38 D-70569 Stuttgart Evaluating the Profitability of the MediaWiki Application under different Cloud Distribution Scenarios María Elena Alonso Mencía Course of Study: Computer Science Examiner: Prof. Dr. Dr. h. c. Frank Leymann Supervisor: Dipl.-Inf. Santiago Gómez Sáez Commenced: April 7, 2016 Completed: September 29, 2016 CR-Classification: C.2.4, C.4, G.1.2 Abstract Cloud computing has gained popularity over the last years, causing a significant increase of available cloud offerings among providers. Therefore, this wide spectrum of options has led to an increment of possibilities for distributing applications in the cloud, by means of selecting specialized services to host each application component. Nevertheless, it also implies the need of finding the optimal solution depending on its purpose, usually based on future economical profitability. Nowadays, instead of considering an application as a whole when deploying it in the cloud, e.g. deploying whole application stack in a virtual machine, investigations focus on how to distribute the application components in heterogeneous cloud environments. Consequently, users have an even higher range of options and should carefully choose good decision criterion, going further than only considering the direct cost for the needed cloud instances. Some challenges are deriving a revenue model - as they tend to be application specific - and customizing the evaluation of different migration configurations of a real application with authentic data metrics. In this sense, this document uses utility analysis as it includes a non-directly countable element, preferences, and allows basing the decision on a trade-off taking into account other aspects which have an influence on the final performance such as users satisfaction or cloud instance availability under different deployment topologies.
    [Show full text]
  • L15N Server Side Programming
    Lecture #15: Server-Side Programming CS106E, Young In this lecture, we learn about programming on the server. We consider several different models of how a program can generate a webpage. We see that there are many different languages and frameworks that can be used on the server-side. The tools used on both client-side and server-side are sometimes referred to as the Development Stack. Finally we consider two different data formats XML and JSON which are used in web programming. Front End and Back End Engineering - We will often divide the components of a webserver into two distinct parts – front-end and back- end. o You may hear people talk about being a front-end developer or a back-end developer or talk about their web applications front-end or back-end. - The Front End consists of the HTML, CSS, and any Client-Side Programs (i.e., JavaScript) - The Back End consists of Server-Side Programs and the Database o Back-end engineers would also work on server-side configuration, load balancing, content delivery network (CDN) and server infrastructure issues. Basic Models of Server-Side Programming - There are two traditional methods for creating a webpage server-side. HTML with Server-Side Code Added ▪ With this approach a webpage on the server-side looks almost like a tradition HTML file, except in a few places, we ask the server to insert new information based on code executed on the server. ▪ Here is a sample using the server-side language PHP. <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Time of Day</title> </head> <body> <h1>Time of Day</h1> <?php $now = new DateTime(); echo $now->format("h:i:sA"); ?> </body> </html> ▪ Notice how this looks almost exactly like HTML, except for the section enclosed within the <?php and ?>.
    [Show full text]
  • Pedagogical and Elementary Patterns Patterns Overview
    Pedagogical and Elementary Patterns Overview Patterns Joe Bergin Pace University http://csis.pace.edu/~bergin Thanks to Eugene Wallingford for some material here. Jim (Cope) Coplien also gave advice in the design. 11/26/00 1 11/26/00 2 Patterns--What they DO Where Patterns Came From • Capture Expert Practice • Christopher Alexander --A Pattern Language • Communicate Expertise to Others – Architecture • Solve Common Recurring Problems • Structural Relationships that recur in good spaces • Ward Cunningham, Kent Beck (oopsla ‘87), • Vocabulary of Solutions. Dick Gabriel, Jim Coplien, and others • Bring a set of forces/constraints into • Johnson, Gamma, Helm, and Vlisides (GOF) equilibrium • Structural Relationships that recur in good programs • Work with other patterns 11/26/00 3 11/26/00 4 Patterns Branch Out Patterns--What they ARE • Software Design Patterns (GOF...) •A Thing • Organizational Patterns (XP, SCRUM...) • A Description of a Thing • Telecommunication Patterns (Hub…) • A Description of how to Create the Thing • Pedagogical Patterns •A Solution of a Recurring Problem in a • Elementary Patterns Context – Unfortunately this “definition” is only useful if you already know what patterns are 11/26/00 5 11/26/00 6 Patterns--What they ARE (2) Elements of a Pattern • Structural relationships between •Problem components of a system that brings into • Context equilibrium a set of demands on the system •Forces • A way to generate complex (emergent) •Solution behavior from simple rules • Examples of Use (several) • A way to make the world a better place for humans -- not just developers or teachers... • Consequences and Resulting Context 11/26/00 7 11/26/00 8 Exercise Exercise • Problem: Build a stairway up a castle tower • Problem: Design the intersection of two or • Context: 12th Century Denmark.
    [Show full text]
  • Design and Implementation of Web Front-End Based on Mainframe Education Cloud
    IT 15 015 Examensarbete 30 hp Mars 2015 Design and Implementation of Web front-end based on Mainframe education cloud Fan Pan $ % Department of Information Technology Abstract Design and Implementation of Web front-end based on Mainframe education cloud Fan Pan Teknisk- naturvetenskaplig fakultet UTH-enheten Mainframe is a server expert in online transaction and batch job and be widely used in different industries especially banking while mainframe skilled specialists are limited. Besöksadress: Cloud computing makes it possible to share rare hardware and deliver services by Ångströmlaboratoriet Lägerhyddsvägen 1 infrastructure, platform and so on. Hus 4, Plan 0 This text explains how the Z Education Cloud can provide stable and high-value education services that support 21st-century mainframe skill development. Postadress: Additionally, the text outlines design and implementation for the education cloud Box 536 751 21 Uppsala Web-End that can help college mainframe education. Firstly, technology mechanism analysis of Web front-end for Z Education Cloud is Telefon: done with the following aspects: B/S architecture, MVC design pattern, SSH 018 – 471 30 03 development framework are introduced into this project. The author also proposes a Telefax: system which is asynchronous communication mechanism between front-end and 018 – 471 30 00 back-end according to the specialty of mainframe service. Secondly, we do the requirement from Business Requirement and Functional Requirement, define all the Hemsida: function modules and draw the use cases and class diagram with UML. After that, http://www.teknat.uu.se/student based on the requirements, this text explains how the Z Education Cloud Web-end designs and realizes.
    [Show full text]
  • Frontiers of Pattern Language Technology
    Frontiers of Pattern Language Technology Pattern Language, 1977 Network of Relationships “We need a web way of thinking.” - Jane Jacobs Herbert Simon, 1962 “The Architecture of Complexity” - nearly decomposable hierarchies (with “panarchic” connections - Holling) Christopher Alexander, 1964-5 “A city is not a tree” – its “overlaps” create clusters, or “patterns,” that can be manipulated more easily (related to Object-Oriented Programming) The surprising existing benefits of Pattern Language technology.... * “Design patterns” used as a widespread computer programming system (Mac OS, iPhone, most games, etc.) * Wiki invented by Ward Cunningham as a direct outgrowth * Direct lineage to Agile, Scrum, Extreme Programming * Pattern languages used in many other fields …. So why have they not been more infuential in the built environment??? Why have pattern languages not been more infuential in the built environment?.... * Theory 1: “Architects are just weird!” (Preference for “starchitecure,” extravagant objects, etc.) * Theory 2: The original book is too “proprietary,” not “open source” enough for extensive development and refinement * Theory 3: The software people, especially, used key strategies to make pattern languages far more useful, leading to an explosion of useful new tools and approaches …. So what can we learn from them??? * Portland, OR. Based NGO with international network of researchers * Executive director is Michael Mehaffy, student and long-time colleague of Christopher Alexander, inter-disciplinary collaborator in philosophy, sciences, public affairs, business and economics, architecture, planning * Board member is Ward Cunningham, one of the pioneers of pattern languages in software, Agile, Scrum etc., and inventor of wiki * Other board members are architects, financial experts, former students of Alexander Custom “Project Pattern Languages” (in conventional paper format) Custom “Project Pattern Languages” create the elements of a “generative code” (e.g.
    [Show full text]
  • Design Support for Performance Aware Dynamic Application (Re-)Distribution in the Cloud
    Institute of Architecture of Application Systems Design Support for Performance Aware Dynamic Application (Re-)Distribution in the Cloud Santiago Gómez Sáez, Vasilios Andrikopoulos, Frank Leymann, Steve Strauch Institute of Architecture of Application Systems, University of Stuttgart, Germany {gomez-saez, andrikopoulos, leymann, strauch}@iaas.uni-stuttgart.de : @article {ART-2014-12, author = {Santiago G{\'o}mez S{\'a}ez and Vasilios Andrikopoulos and Frank Leymann and Steve Strauch}, title = {{Design Support for Performance Aware Dynamic Application (Re-)Distribution in the Cloud}}, journal = {IEEE Transactions on Service Computing}, publisher = {IEEE Computer Society}, pages = {1--14}, type = {Article in Journal}, month = {December}, year = {2014}, language = {English}, cr-category = {D.2.11 Software Engineering Software Architectures, C.2.4 Distributed Systems, D.2.8 Software Engineering Metrics}, contact = {Santiago G{\'o}mez S{\'a}ez: [email protected]}, department = {University of Stuttgart, Institute of Architecture of Application Systems}, } © 2014 IEEE Computer Society. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TSC.2014.2381237, IEEE Transactions on Services Computing JOURNAL OF TRANSACTIONS ON SERVICES COMPUTING, VOL. -, NO. -, SEPTEMBER 2014 1 Design Support for Performance Aware Dynamic Application (Re-)Distribution in the Cloud Santiago Gomez´ S´aez, Vasilios Andrikopoulos, Frank Leymann, Steve Strauch Abstract—The wide adoption of the Cloud computing paradigm by many different domains has increased both the number and type of available offerings as a service, e.g.
    [Show full text]