147 research outputs found

    Migrating to Cloud-Native Architectures Using Microservices: An Experience Report

    Full text link
    Migration to the cloud has been a popular topic in industry and academia in recent years. Despite many benefits that the cloud presents, such as high availability and scalability, most of the on-premise application architectures are not ready to fully exploit the benefits of this environment, and adapting them to this environment is a non-trivial task. Microservices have appeared recently as novel architectural styles that are native to the cloud. These cloud-native architectures can facilitate migrating on-premise architectures to fully benefit from the cloud environments because non-functional attributes, like scalability, are inherent in this style. The existing approaches on cloud migration does not mostly consider cloud-native architectures as their first-class citizens. As a result, the final product may not meet its primary drivers for migration. In this paper, we intend to report our experience and lessons learned in an ongoing project on migrating a monolithic on-premise software architecture to microservices. We concluded that microservices is not a one-fit-all solution as it introduces new complexities to the system, and many factors, such as distribution complexities, should be considered before adopting this style. However, if adopted in a context that needs high flexibility in terms of scalability and availability, it can deliver its promised benefits

    A service oriented architecture to implement clinical guidelines for evidence-based medical practice

    Get PDF
    Health information technology (HIT) has been identified as the fundamental driver to streamline the healthcare delivery processes to improve care quality and reduce operational costs. Of the many facets of HIT is Clinical Decision Support (CDS) which provides the physician with patient-specific inferences, intelligently filtered and organized, at appropriate times. This research has been conducted to develop an agile solution to Clinical Decision Support at the point of care in a healthcare setting as a potential solution to the challenges of interoperability and the complexity of possible solutions. The capabilities of Business Process Management (BPM) and Workflow Management systems are leveraged to support a Service Oriented Architecture development approach for ensuring evidence based medical practice. The aim of this study is to present an architecture solution that is based on SOA principles and embeds clinical guidelines within a healthcare setting. Since the solution is designed to implement real life healthcare scenarios, it essentially supports evidence-based clinical guidelines that are liable to change over a period of time. The thesis is divided into four parts. The first part consists of an Introduction to the study and a background to existing approaches for development and integration of Clinical Decision Support Systems. The second part focuses on the development of a Clinical Decision Support Framework based on Service Oriented Architecture. The CDS Framework is composed of standards based open source technologies including JBoss SwitchYard (enterprise service bus), rule-based CDS enabled by JBoss Drools, process modelling using Business Process Modelling and Notation. To ensure interoperability among various components, healthcare standards by HL7 and OMG are implemented. The third part provides implementation of this CDS Framework in healthcare scenarios. Two scenarios are concerned with the medical practice for diagnosis and early intervention (Chronic Obstructive Pulmonary Disease and Lung Cancer), one case study for Genetic data enablement of CDS systems (New born screening for Cystic Fibrosis) and the last case study is about using BPM techniques for managing healthcare organizational perspectives including human interaction with automated clinical workflows. The last part concludes the research with contributions in design and architecture of CDS systems. This thesis has primarily adopted the Design Science Research Methodology for Information Systems. Additionally, Business Process Management Life Cycle, Agile Business Rules Development methodology and Pattern-Based Cycle for E-Workflow Design for individual case studies are used. Using evidence-based clinical guidelines published by UK’s National Institute of Health and Care Excellence, the integration of latest research in clinical practice has been employed in the automated workflows. The case studies implemented using the CDS Framework are evaluated against implementation requirements, conformance to SOA principles and response time using load testing strategy. For a healthcare organization to achieve its strategic goals in administrative and clinical practice, this research has provided a standards based integration solution in the field of clinical decision support. A SOA based CDS can serve as a potential solution to complexities in IT interventions as the core data and business logic functions are loosely coupled from the presentation. Additionally, the results of this this research can serve as an exemplar for other industrial domains requiring rapid response to evolving business processes

    AIR FORCE SPECIAL OPERATIONS COMMAND AS INNOVATION PATHFINDERS

    Get PDF
    This thesis investigates Air Force Special Operations Command (AFSOC) as innovation pathfinders for the Air Force, and answers how their performance in the role can be improved. This is accomplished through a review of AFSOC’s suitability for pathfinding and exploration of the innovation ecosystem. The thesis finds AFSOC has limited influence over acquisition reform and relatively small size, but that small size presents opportunities of organizational agility and funding speed available at limited scale. Pathfinding can be enabled by powerful special operations culture and itself reinforces a culture of initiative and innovation which pays dividends in AFSOC’s warfighting functions. Innovation pathfinding can benefit from understanding wicked problem methodologies and leveraging the power of trust and trustworthiness. Lastly, industry best practices provide means to structure and manage innovation. The concluding recommendations give stakeholders means to increase the effectiveness of AFSOC innovation pathfinding, including working within the scale of more agile acquisitions process, valuing colocation and relationships, identifying efficiencies to be gained in fast following, pathfinding adjacent innovation, and valuing trust beyond compliance.Approved for public release. Distribution is unlimited.Major, United States Air Forc

    A lingualization strategy for knowledge sharing in large-scale DevOps

    Get PDF
    DevOps has become a generally accepted practice for software projects in the last decade and approaches certain shortcomings of the agile software development and the steadily gaining popularity of cloud infrastructure. While it shifts more and more responsibilities towards software engineering teams, the prevailing opinion is to keep DevOps teams small to reduce the complexity of inter-team communication. In circumstances where products outgrow the performance capability of a single team, microservice architecture enables multiple DevOps teams to contribute to the same application and meet the increased requirements. Since DevOps teams operate typically self-sufficiently and more or less independently inside an organization, such large-scale DevOps environments are prone to knowledge-sharing barriers. Textual Domain-Specific Languages (DSLs) are one of the cornerstones of DevOps and enable key features like automation and infrastructure provisioning. Nonetheless, most commonly accepted DSLs in the context of DevOps are cumbersome and have a steep learning curve. Thus, they fall short of their potential to truly enable cross-functional collaboration and knowledge sharing, not only between development and operation, but to the whole organization. DevOps teams require tools and DSLs, that treat knowledge sharing and reuse as a first-class citizen, in order to operate sufficiently on a large scale. However, developing DSLs is still presumed as an expensive task which can easily offset the resulting benefits. This dissertation presents a lingualization strategy for addressing the challenge of knowledge sharing in large-scale DevOps. The basic idea is to provide custom-tailored Domain-Specific Modeling Languages (DSMLs) that target single phases of the DevOps lifecycle and ease the DevOps adoption for newly formed teams. The paradigm of Language-Driven Engineering (LDE) bridges the semantic gap between stakeholders by custom-tailored DSMLs and thus is a natural fit for knowledge sharing. Key to a successful practice of LDE is as a new class of stakeholders. In the context of large-scale DevOps, language development can be realized by so-called Meta DevOps teams. Those teams, which themselves practice DevOps internally, manage a centralized repository of small DSMLs and offer them as a service. DevOps teams act as the customers of the Meta DevOps teams and can request new features or complete new DSMLs and provide feedback to already existing DSMLs. The presented Rig modeling environment serves as an exemplary DSML that targets the purpose of Continuous Integration and Deployment (CI/CD), one of the most important building blocks of DevOps. Rig comes with an associated code generator to fully-generate CI/CD workflows from graphical models. Those graphical models provide an executable documentation and assist knowledge-sharing between stakeholders. The fundamental modeling concepts of the lingualization strategy are evaluated against previously published requirements by Bordeleau et al. on a DevOps modeling framework in an industrial context. In addition to that, Rig is evaluated based on results of a workshop during the 6th International School on Tool-Based Rigorous Engineering of Software Systems. Both evaluations yield encouraging results and demonstrate the potential of the lingualization strategy to break down knowledge-sharing barriers in large-scale DevOps environments

    Improving Reusability in Software Process Lines

    Get PDF
    International audienceSoftware processes orchestrate manual or automatic tasks to create new software products that meet the requirements of specific projects. While most of the tasks are about inventiveness, modern developments also require recurrent, boring and time-consuming tasks (e.g., the IDE configuration, or the continuous integration setup). Such tasks struggle to be automated due to their various execution contexts according to the requirements of specific projects. In this paper, we propose a methodology that benefits from an explicit modeling of a family of processes to identify the possible reuse of automated tasks in software processes. We illustrate our methodology on industrial projects in a software company. Our methodology promoted both the identification of possible automated tasks for configuring IDEs and continuous integration, and their reuse in various projects of the company. Our methodology contributes to the companies' efficiency, including their agility and ability to experiment new practices, while remaining focused on solving business problems

    Cost optimization in requirements management for space systems

    Get PDF
    2021 Spring.Includes bibliographical references.When producing complex space systems, the transformation of customer needs into a realized system includes the development of product requirements. The ability to generate and manage the requirements can either enable the overall system development or drive significant cost and schedule impacts. Assessing practices in the industry and publications, it is observed that there is a substantial amount of documented approaches to address requirement development and product verification, but only a limited amount of documented approaches for requirements management. A complex system can have tens of thousands of requirements across multiple levels of development which, if not well managed, can lead to hidden costs associated with missed requirements and product rework. With current space system projects being developed at a rapid pace using more cost constrained approaches such as fixed budgets, an investigation into more efficient processes, such as requirements management, can yield methods to enable successful, cost effective system development. To address the optimal approach of managing requirements for complex space systems, this dissertation assesses current practices for requirements management, evaluates various contributing factors towards optimization of project costs associated with this activity, and proposes an optimized requirements management process to utilize during the development of space systems. Four key areas of process control are identified for requirements management optimization on a project, including utilization of a data focused requirements management approach, development (and review) of requirements using a collaborative software application, ensuring the requirement set is a consolidated with an appropriate amount of requirements for the project, and evaluating when to officially levy requirements on the product developers based on requirement maturation stability. Multiple case studies are presented to evaluate if the proposed requirements management process yields improvement over traditional approaches, including a simulation of the current state and proposed requirements management approaches. Ultimately, usage of the proposed optimized set of processes is demonstrated to be a cost effective approach when compared against traditional processes that may adversely impact the development of new space systems

    Integrating legacy applications into service oriented architecture middleware

    Get PDF
    Information and Communication Technology (ICT) is a dynamic approach that is widely recognized as an innovative and powerful tool for socio-economic development, it is a key catalyst for the emergence of knowledge economy. ICT have been used to develop applications, promote transparency and efficiency in multiple services such e-Learning, e-Government, e-Health and e-Judiciary especially for Marginalized Rural Areas (MRAs). The ICT approach is designed to bridge the digital divide. This approach has been widely deployed in many programs and it has led to the development of a new field which is Information and Communication Technology for Development (ICT4D). Within the context of ICT4D there are arrays of e-services that have been deployed to improve the impoverished communities. Some of these applications have failed to bring the changes that were designed to bring in the community due to the use of old architectures. There is therefore a need to develop a system that will integrate legacy applications into contemporary architectures. To solve the problem of the legacy applications we have developed TeleWeaver Service Oriented Architecture (SOA) middleware into which we integrate an e-Commerce and e-Learning applications into SOA middleware. For this integration system there are specific technologies that were used to integrate legacy applications into SOA middleware: RESTful web services using the slim API, SOAP via Nu-SOAP technologies were used to integrate these legacy applications. Specific methodologies were used to achieve the objectives of this research. The literature review, brainstorming, interviews and development of the system are some of the methods that were used to achieve the objectives of this study. The research methodology is mainly through experiments and to study TeleWeaver SOA middleware architecture. Interviews were conducted to analyze and understand the community needs, since the application discussed in this thesis is tested and implemented for a rural community. The community is called Dwesa, and falls under the ICT project within the Siyakhula Living Lab (SLL). A basic prototyping and Unified Modeling Language (UML) was created to design the system. This thesis presents the design and implementation of a system that integrates legacy applications into an SOA middleware that brings flexibility and effectiveness to these ICT e-services. The research focuses on integrating legacy applications into Service Oriented Architecture (SOA) middleware. It seeks to bring flexibility to e-services that are developed for MRAs. The use of SOA architecture that supports re-usability and interoperability of application provides effectiveness to the e-services. The novelty of the system is in its flexibility, usability and sustainability. SOA is an approach that provides a separation between the interface of the service and its underlying implementation. One of the achievements of the integration project is its ability to connect to SOA middleware. This increases the effectiveness of these e-services. The usability and performance evaluations are conducted to test and evaluate the system within the SLL on the TeleWeaver platform.Thesis (MSc) -- Faculty of Science and Agriculture, 201

    Towards Proactive Mobility-Aware Fog Computing

    Get PDF
    Paljude vĂ€rkvĂ”rk- ja Ă€rirakenduste tavapĂ€raseks osaks on sĂ”ltuvus kaugete pilveteenuste poolt pakutavast andmetöötlusvĂ”imekusest. Arvestatav hulk seesugustest rakendustest koguvad andmeid mitmetelt ĂŒmbritsevatelt heterogeensetelt seadmetelt, et pakkuda reaalajal pĂ”hinevaid teenuseid oma kasutajatele. Taolise lahenduse negatiivseks kĂŒljeks on aga kĂ”rge viiteaeg, mis muutub eriti problemaatiliseks, kui vastava rakenduse efektiivne töö on vĂ€leda vastuse saamisega otseses sĂ”ltuvuses. Taolise olukorra puhul on viiteaja vĂ€hendamiseks vĂ€lja pakutud uduandmetöötlusel pĂ”hinev arhitektuur, mis kujutab endast arvutusmahukate andmetöötlusĂŒhikute jaotamist andmeallikate ja lĂ”ppkasutajatele lĂ€hedal asuvatele arvutusseadmetele. Vaatamata sellele, et uduandmetöötlusel pĂ”hinev arhitektuur on paljutĂ”otav, toob see kaasa uusi vĂ€ljakutseid seoses kvaliteetse uduandmetöötlusteenuse pakkumisega mobiilsetele kasutajatele. KĂ€esolev magistritöö kĂ€sitleb proaktiivset lĂ€henemist uduandmetöötlusele, kasutades selleks lĂ€hedalasuvatel kasutajatel baseeruvat mobiilset ad hoc vĂ”rgustikku, mis vĂ”imaldab uduteenusetuvastust ja juurdepÀÀsu ilma pilveteenuse abi kasutamata. Proaktiivset lĂ€henemist kasutatakse nii teenusetuvastuse ja arvutuse migratsiooni kui ka otsese uduteenuse pakkumise kĂ€igus, kiirendades arvutusĂŒhikute jaotusprotsessi ning parendadades arvutuste jaotust vastavalt kĂ€itusaegsele kontekstiinfole (nt. arvutusseadmete hetkevĂ”imekus). Lisaks uuriti uduarvutuse rakendusviisi mobiilses sotsiaal–silmusvĂ”rgustikus, tehes andmeedastuseks optimaalseima valiku vastavalt kuluefektiivsuse indeksile. LĂ€htudes katsetest nii pĂ€ris seadmete kui simulaatoritega, viidi lĂ€bi kĂ€esoleva magistritöö komponentide kontseptuaalsete prototĂŒĂŒpide testhindamine.A common approach for many Internet of Things (IoT) and business applications is to rely on distant Cloud services for the processing of data. Several of these applications collect data from a multitude of proximity-based ubiquitous resources to provide various real-time services for their users. However, this has the downside of resulting in explicit latency of the result, being especially problematic when the application requires a rapid response in the edge network. Therefore, researchers have proposed the Fog computing architecture that distributes the computational data processing tasks to the edge network nodes located in the vicinity of the data sources and end-users, to reduce the latency. Although the Fog computing architecture is promising, it still faces challenges in many areas, especially when dealing with support for mobile users. Utilizing Fog for real-time mobile applications faces the new challenge of ensuring the seamless accessibility of Fog services on the move. Further, Fog computing also faces a challenge in mobility when the tasks originate from mobile ubiquitous applications in which the data sources are moving objects. In this thesis, a proactive approach for Fog computing is proposed, which supports proactive Fog service discovery and process migration using Mobile Ad hoc Social Network in proximity, enabling Fog-assisted ubiquitous service provisioning in proximity without distant Cloud services. Moreover, a proactive approach is also applied for the Fog service provisioning itself, in order to hasten the task distribution process in Mobile Fog use cases and provide an optimization scheme based on runtime context information. In addition, a case study regarding the usage of Fog Computing for the enhancement of Mobile Mesh Social Network was presented, along with a resource-aware Cost-Performance Index scheme to assist choosing the approach to be used for transmission of data. The proposed elements have been evaluated by utilizing a combination of real devices and simulators in order to provide proof-of-concept
    • 

    corecore