The Central Role of APIs in Mashup and Cloud Platforms and Need for an Agile API Development Method

Size: px
Start display at page:

Download "The Central Role of APIs in Mashup and Cloud Platforms and Need for an Agile API Development Method"

Transcription

1 The Central Role of APIs in Mashup and Cloud Platforms and Need for an Agile API Development Method Valeh H. Nasser Department of Computer Science University of Calgary Calgary, Canada Abstract Mashups and cloud platforms aim to bring access to low-cost customized IT solutions by taking advantage of largescale reuse of existing resource. In this work we have highlighted the crucial role of domain-specific APIs in success of mashup development and we have proposed an agile domain-specific API development methodology for developing usable and useful APIs that address mashup developer requirements. Keywords: agile software development; mashups; platform as a service; application programming interface I. INTRODUCTION Software industry is in a never-ending battle for reducing the cost of software development. Mashups and cloud computing are the new players in the field. To reduce software development costs, mashups reuse online resources to customize mainstream software and cloud computing provides platforms of online resources. Cloud platforms and mashup development concepts are built on reusing existing resources. Building software by reusing existing components (a notion of borrowed from hardware industry) has been the oasis of software industry, since the 1968 [15]: "The most important characteristic of a software components industry is that it will offer families of routines for any given job. [ ] In other words, the purchaser of a component from a family will choose one tailored to his exact needs. [ ] He will expect families of routines to be constructed on rational principles so that families fit together as building blocks." The notion of software component has changed through the years. The level of abstraction and scale of reuse has risen from low-level procedures to high-level plug-ins. Two of the most common reuse technologies are object-oriented software platforms and libraries that facilitate reuse of their functionality through their APIs. Cloud platforms and mashups are about providing and using high-level domain-specific APIs. Reusing domain specific assets have been known to be more difficult than reusing low-level static concepts [14]. Developing usable and useful domain-specific APIs is not trivial; the reason perhaps lays in the fact that anticipating requirements of API users and dealing with their different requirements is not trivial. We propose that agile methods can help designing usable and useful APIs that address users needs. Agile software development rejects anticipating requirements and bigdesign-up-front. Instead it is based on close customer relationship and iterative evolution of software in reaction to concrete customer requirements. Designing APIs driven by requirements of API users relieves API designer from anticipating requirements and can help alleviate difficulties of domain specific API development. However APIs can be complex. As a result traditional direct communication methods, which gather requirements based on direct communication with customer may not suffice. Analyzing API usages can provide other sources of input for API developers. Automated extraction of usage scenarios from API users code can help API developers understand requirements of their users. In this paper we first describe mashups, cloud computing, their development process, challenges, and role of APIs in section II. In section III we describe an agile API development process. In section IV we describe related research and section V we conclude the paper. II. BACKGROUND In this section, we first define cloud computing and mashups. Then, we describe how they go hand-in-hand to enable access to low-cost customized IT applications. We will discuss a specific type of cloud computing service called Platform as a Service (PaaS) and its relationship to mashups. Next, we will describe a process model that has been proposed for mashup development. Finally, by discussing mashup development challenges, we clarify the role of API s in mashup development. A. Cloud Computing Cloud computing [1] reduces IT costs by providing instant access to online services based on pay-per-use model and relieves companies from up-front investment in hardware and software. Three kinds of cloud computing services are defined (Fig. 1): Infrastructure as a Service provides computing resources (such as Amazon 1 EC2), 1

2 Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Figure 1 Cloud computing architecture Platform as a Service provides software development resources and platforms (such as SalesForce 2 development platform), Software as a Service provides software (such as SalesForce CRM software). In this work we mostly refer to Platform as a Service. Platform as a Service provides software development platforms including APIs that can be used for developing applications. Two examples of Platform as a Service model are SalesForce and Amazon web services. Amazon provides web services including services for inventory management, payment collection, etc. Some of these services seam to be extracted from existing amazon market place application code. Similarly, SalesForce has created some APIs on top of their existing CRM application to make it extensible by third-party add-ons. B. Mashups Mashups [2] are applications that reuse existing resources and re-combine them to bring added value to end-users. The resources used by mashups can be data, functionality, or presentation. The combination of resources can happen at client-side or server-side. Mashups may use different technologies (such as RSS feed, web APIs e.g. Google Map APIs, screen scraping, etc.) to access and combine existing resources. Enterprise mashups are mashups that combine enterprise resources (Such as an ERP and payment system). To enable building enterprise mashups, enterprise data and services should be made available through API s [3]. Literature describes several related motivations for mashups. One motivation is long tail of software requirements [4, 8] (Fig. 2); many software requirements are requested by a small group of users and therefore are not addressed by mainstream software. To address the long tail of software requirements, situated software [5] is developed. Situated software refers to software that is developed and is only good enough for a transient need specific to a situation and is not useful out of that context. Mashups are online situated software [6, 8]. Another motivation behind mashups is business-it gap [7]: misscommunication, low reaction time, and IT not having time for transient and urgent requirements. Driven by these motivations, a lot of research on mashup development is towards enabling end user development [9], which is challenging. We believe that business-it gap can be avoided by using agile practices. Additionally, we think that the main motivation for enterprise mashups is that small Figure 2 The long tail of software requirements; requirements located in the tail of the requirement axis are not usually supported by mainstream software. to medium sized companies want to reduce IT costs by using mainstream software and still be able to customize the software for their requirements. C. Relation Between Mashups and Cloud Computing Software as a Service in cloud computing provisions low-cost software for small to medium sized companies. However, it does not provide extensibility and integration with other enterprise systems. Providing APIs on top of implementation of Software as a Service and extension mechanisms can create a domain specific platform. APIs provided by such a domain specific platform, allow creating mashups that integrate and extend the functionality provided by the original software. SalesForce CRM software and its development platform are examples of this model. D. Mashup Development Process Several similar mashup development processes are described in literature [7, 8, 10]. Since the mashup development processes are similar, in this section we will describe one of them. The mashup development process [10] includes three processes and roles: Providers develop and publish resources (APIs, data feeds, etc.). Intermediaries (IT) match the supply and demand between providers and consumers by finding resources and providing them for consumers in the mashup platform. Consumers compose mashups using resources available in the mashup platform. It is notable that this process highly depends on abilities of consumers composing mashups, which is a kind of end user development. Moreover, it does not clearly describe level of abstraction of resources and composition operators. In addition, the process does not address based on what requirements the providers develop resources. While, the intermediary matches requirements of consumers with resourced developed by providers, the development of resources is not driven by user requirements. As a result the process becomes waterfall depending on up-front design and prediction of requirements by resource providers. 2

3 Software as Service Infrastructure as a Service E. Mashup Development Challenges and the Central Role of APIs A large body of mashup research ties mashup development to end user development and aim to empower end users to compose software [9]. End user development is challenging. The open question in end user development is what are the right component and composition models with regards to capabilities of end users? Different models are proposed for end user development of mashups [9]. But the question seams not be answered yet. A study of end users using a mashup development platform showed that end users who have no background in programming are not capable of finishing their development tasks without assistance [11]. The problems end users encountered included: use of programming concepts (such as list) in component and composition model and vagueness of services provided by some modules. The results of study are compatible with another study [12] that highlights difficulties of end user development. A user-centered process for creating and documenting resources used in end user development may alleviate some of the issues. Whether end users are developing mashups or professional programmers, availability and usability of resources are crucial. If a mashup platform does not provide usable and useful APIs, chances are less that third party developers would use the platform to develop mashups. The proposed mashup development processes [7, 8, 10] do not take difficulties of providing usable and useful resources into consideration. To address this challenge, we suggest that instead of upfront API design, providers should use agile methods for reactively developing and evolving APIs based on requirements of mashup developers. Additionally providers should monitor API usages to enhance API usability and utility. III. Mashup Application Software as Service Figure 3 Relation between cloud computing and mashups: mashups are software as service in the cloud that depend on other platform API s and other software. AGILE API DEVELOPMENT PROCESS In the previous section we described the central role of APIs in mashup platforms. In this section we will discuss an agile method for bottom-up API design. The context of our method is that a Software as a Service is provided in the cloud. By providing high level and usable APIs on top of the software (bottom-up development), providers allow mashups to be developed by third parties. The problem is that what are the appropriate APIs. For this purpose we suggest that instead of big up-front API design, API s should be developed iteratively to address requirements of mashup developers. Agile methods develop vertical parts of consumer-software iteratively based on customer requirements and depend on close interaction with customers. Similarly agile methods for API development should develop API s iteratively to address requirement of their customers. Close interaction with customers can enhance usability and utility of APIs. For this purpose, an API provider-user relationship should be established. IT people of clients who are using the software and would like to be able to customize and extend, and integrate the software with their other enterprise systems are the API users. By providing information about their requirements to API developers, API users would benefit from their requirement being addressed. Communication channels for developer-customer should be established. Requirements of mashup developers can be communicated to API developers based on scenario tests, which can be reused for documenting APIs. The API development process is evolutionary, iterative, and driven by scenarios specified by API users. Change impact analysis and mitigation. In addition, scenario tests are used for change impact analysis and mitigation. If a change in an API affects an existing scenario test, it can break API user codes. In these cases the broken scenario test should be fixed to work with the new version of APIs. The old and evolved scenarios are provided as implicit input to program migration methods (such as [13]), which use API usage examples to update the programs to work with the new version of API. Extraction and analysis of usage patterns and scenarios for enhanced customer communications. There is a difference between APIs and consumer-software that would make it beneficial to use indirect sources of input and feedback from customers. The difference is that unlike many consumer-software systems, APIs can be used in different ways for different purposes. If APIs are widely adopted, there is a chance that they are used for unanticipated usage scenarios. To address this difference we propose to leverage indirect communication channels, which are based on extracting API usage patterns and scenarios. Usage patterns and scenarios extracted from APIs usage codes can be used to provide input for API developers. A usage pattern is a set of API entities (methods, types, etc.) that is used for accomplishing a scenario. A scenario is a high-level task that is accomplished using the APIs. The input usage code for extracting usage patterns can include programs developed by collaborating customers and open-source software that uses the APIs. We propose that the following information can be extracted from API usages: Popular usage patterns: Popular usage patterns are usage patterns that occur repeatedly. If there are no scenario tests for these usage patterns, scenario tests should be created to ensure changes that effect them are evaluated and mitigated. Complex usage patterns: Metrics should be provided for identifying complex usage patterns. For instance, a complex usage pattern can be a usage pattern that uses several API types or methods. A complex usage pattern can indicate a usage scenario that had not

4 been anticipated when designing APIs. Better abstractions and utility methods can be provided to reduce complexity of these usage scenarios. Internal usage patterns: An internal usage patterns uses an internal type, which is not a part of implementation of the framework and should not be used externally. Internal usage patterns indicate that the API does not provide a functionality required by API users. Internal usage patterns should be identified and presented to API developers so that they provide the required functionality in the published API's. In addition to extracting usages of APIs that are under development, usages of other APIs, which are providing similar functionality, can be used as source of input. Popular usage patterns in usages of similar API's can indicate highly required usage scenario. In addition complex and internal usage patterns of similar APIs can indicate how their design choices have affected their customers. In this section we described an agile API development, which is driven by customer requirements and uses other indirect sources of inputs for customer feedback. Our next step in this research is evaluating the proposed methodology by developing supporting tools and identifying other sources of inputs by interviewing people who are involved with API development. IV. RELATED WORK In this section we have listed various research areas that are related to agile bottom-up API design process: API development processes - API development books [16, 18] mostly focus on providing guidelines for avoiding breaking applications that depend on APIs, when evolving them. These guidelines go as far as suggesting not fixing previous mistakes [17]. Such approaches to API development may inhibit development of usable API s. Current advances in program migration methods [13], which help API users in migrating their code to a new version of API can enable evolutionary development of usable APIs. However, program migration methods need input, such as adapted usage examples. An API development methodology can support program migration methods by providing input for them. Additionally API development books [16, 18] suggest that API s should be created based on use cases or test cases, but they do not describe how the requirements are gathered from API users. API usability - Metrics that are based on cognitive theory have been suggested for measuring API usability [19]. Additionally, methods for evaluating API design choices have been suggested [20, 21, 22]. Some works on API usability evaluate small-scale design choices such as using a factory method versus a constructor [23]. There is also research on API documentation. A related work on API documentation research, studies the use of test cases that come with APIs for enhancing API documentation [30]. API usage analysis - There has been little research about requirement engineering and providing feedback to developers based on how API users use APIs in practice to accomplish different tasks. One of the few works that studies API usages to inform API developers does not provide much input for enhancing API usability and design [24]. Other API usage analysis methods are about search driven development which studies supporting API users by recommending API usages (one of the early worked on this is [25]). We believe that analyzing API usages can provide information about how APIs are used in practice for implementing different scenarios and direct developers to potential improvements to existing API s. Agile development methodologies - Our work has similarity with an agile software product lines methodology [26], which evolves product-line platforms in reaction to requirements and uses acceptance tests for managing and documenting the assets. Another related research uses acceptance tests for enabling communication between software development teams [27]. However, these works are for creating internal APIs. Usability of internal APIs is not as important and communication is more direct. With published API evolution, requirement engineering, and usability engineering are challenging. Pragmatic reuse Turning a Software as a Service to a platform by providing APIs on top of it, is bottom-up API design and is related to pragmatic [28] or opportunistic [29] reuse. Pragmatic or opportunistic reuse refers to reusing code that has not been intended for reuse. Current work on pragmatic reuse focuses on taking a portion of code and integrating it into existing software. With bottom-up API design, instead of a one-time integration of the reused code, API s are designed on top of it to enable reuse for various scenarios. V. CONCLUSION Useful and usable APIs are crucial elements of creating mashups and cloud platforms. An agile API development process, which is based on close collaboration with API users and leverages implicit feedback and input from API users to enhance APIs can enhance how the developed APIs address requirements of their users. In this work we have proposed initial ideas on agile API development processes. Our next steps in this research can be categorized into three directions: Automated analysis of API usages for informing API development: We will implement tools for extracting implicit feedback by automatically analyzing API usages. Analysis usage scenarios can support change impact analysis and mitigation and direct developers to how they can enhance existing APIs. Studying existing API development in practice: We will study API development in practice by interviewing API developers. We intend to characterize how API developers make design decisions. In addition we will identify sources of input and methods for enhancing communication of API developers and consumers.

5 Bottom-up API development: Developing APIs by reusing existing software implementation is not trivial. It requires identifying hidden contracts, assumptions and decoupling the code, and creating useful and usable abstractions on top of it. Another research direction is studying challenges of bottomup API development. REFERENCES [1] Vaquero, L M, L Rodero-Merino, J Caceres, and M Lindner. A Break in the Clouds: Towards a Cloud definition. ACM SIGCOMM Computer Communication Review 39.1, [2] Koschmider, A, V Torres, and V Pelechano. "Elucidating the Mashup Hype: Definitions, Challenges, Methodical Guide and Tools for Mashups." 2nd Workshop on Mashups, Enterprise Mashups and Lightweight Composition on the Web [3] Gamble, M T, and R Gamble. "Monoliths to Mashups: Increasing Opportunistic Assets." IEEE Software, Nov.-Dec. 2008: [4] Anderson, C. The long tail: Why the future of business is selling less of more. Hyperion Books, [5] Shirky, C. "Situated Software." Clay Shirky's Writings About the Internet. Mar. 30, (accessed 12 14, 2010). [6] Balasubramaniam, S G, A Lewis, and S Simanta. "Situated Software: Concepts, Motivation, Technology, and the Future." IEEE Software, Nov.-Dec 2008: [7] Bitzer, S, and M Schumann. "Mashups: an Approach to Overcoming the Business/IT Gap in Service-Oriented Architectures." VALUE CREATION IN E-BUSINESS MANAGEMENT Lecture Notes in Business Information Processing. Springer, [8] Pahlke, I, R Beck, and M Wolf. "Enterprise Mashup Systems as Platform for Situational Applications Benefits and Challenges in the Business Domain." Business & Information Systems Engineering (Gabler Verlag) 2, no. 5 (2010): [9] Yu, J, B Benatallah, F Casati, and F Daniel. "Understanding Mashup Development." IEEE Internet Computing (EEE Computer Society) 12, no. 5 (2008): [10] Hoyer, V, and K Stanoevska-Slabeva. "Generic Business Model Types for Enterprise Mashup Intermediaries." Value Creation in E-Business Management 15th Americas Conference on Information Systems. Springer, [11] Zang, N, and B Rosson. "Playing with Information: How End Users Think About and Integrate Dynamic Data." Visual Languages and Human-Centric Computing, VL/HCC IEEE Symposium on. IEEE Computer Society [12] Ko, A, B A Myers, and H H Aung. "Six Learning Barriers in End-User Programming Systems." VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing. IEEE Computer Society, [13] Schafer, T, J Jonas, and M Mezini. "Mining framework usage changes from instantiation code." Proceedings of the 30th international conference on Software engineering. ACM, [14] Lehman, M M. "Programs,Life Cycles, and Laws of Software Evolution." Proceedings of the IEEE, 1980: [15] McILROY. "Mass Produced Software Components." Software Engineering, Report on a conference sponsored by the NATO Science Committee, [16] Tulach, J. Practical API Design: Confessions of a Java Framework Architect. Springer, [17] Tulach, T. "Practical api design." (accessed Dec 14, 2010). [18] Cwalina, K, and B Abrams. Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable.NET Libraries. Addison-Wesley Professional, [19] Clarke, S. "Measuring API Usability." Doctor Dobbs Journal, May [20] Forooq, U. "API Peer Reviews: A Method for Evaluating Usability of Application Programming Interfaces." Proceedings of the 2010 ACM conference on Computer supported cooperative work. ACM, [21] Gerken, J, H Jetter, and H Reiterer. "Using Concept Maps to Evaluate the Usability of APIs." CHI EA '10 Proceedings of the 28th of the international conference extended abstracts on Human factors in computing systems [22] O Callaghan, P. "The API Walkthrough Method, A lightweight method for getting early feedback about an API." proceed- ings of the Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU). ACM, [23] Ellis, B, J Stylos, and B Myers. "The factory pattern in api design: A usability evaluation." Proceedings of the 29th international conference on Software Engineering. IEEE Computer Society, [24] Holmes, R, and R J Walker. "Informing Eclipse API production and consumption." Proceedings of the 2007 OOPSLA workshop on eclipse technology exchange. ACM, [25] Xie, T, and J Pei. "MAPO: Mining API usages from open source repositories." Proceedings of the 2006 international workshop on Mining software repositories. ACM, [26] Ghanam, Y., and F. Maurer. "Extreme Product Line Engineering Refactoring for Variability: A Test-Driven Approach." " Proc. of 11th International Conference on Agile Processes and EXtreme Programming (XP 2010). Springer, [27] Read, K, and F Maurer. "Issues in Scaling Agile Using an Architecture-Centric Approach: A Tool-Based Solution." Extreme Programming and Agile Methods-XP/Agile Universe Springer, [28] Holmes, R, and R J Walker. "Semi-Automating Pragmatic Reuse Tasks." ASE '08 Proceedings of the rd IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, [29] Kotonya, G, S Lock, and J Mariani. "Opportunistic Reuse: Lessons from Scrapheap Software Development." Component-Based Software Engineering. Springer, [30] Nasehi, S.M., F. Maurer, and. "Unit tests as API usage examples." Software Maintenance (ICSM), 2010 IEEE International Conference on. IEEE Computer Society

6

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,

More information

PLATFORM-AS-A-SERVICE (PAAS): THE ADOXX METAMODELLING PLATFORM

PLATFORM-AS-A-SERVICE (PAAS): THE ADOXX METAMODELLING PLATFORM PLATFORM-AS-A-SERVICE (PAAS): THE ADOXX METAMODELLING PLATFORM Dimitris Karagiannis and Niksa Visic University of Vienna, Knowledge Engineering Research Group, Brünnerstr. 72, A-1210 Vienna, Austria {dk,

More information

An Efficient Cost Calculation Mechanism for Cloud and Non Cloud Computing Environment in Java

An Efficient Cost Calculation Mechanism for Cloud and Non Cloud Computing Environment in Java 2012 International Conference on Computer Technology and Science (ICCTS 2012) IPCSIT vol. 47 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V47.31 An Efficient Cost Calculation Mechanism

More information

Run-time Variability Issues in Software Product Lines

Run-time Variability Issues in Software Product Lines Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.

More information

How To Understand Cloud Usability

How To Understand Cloud Usability Published in proceedings of HCI International 2015 Framework for Cloud Usability Brian Stanton 1, Mary Theofanos 1, Karuna P Joshi 2 1 National Institute of Standards and Technology, Gaithersburg, MD,

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

Supply Chain Platform as a Service: a Cloud Perspective on Business Collaboration

Supply Chain Platform as a Service: a Cloud Perspective on Business Collaboration Supply Chain Platform as a Service: a Cloud Perspective on Business Collaboration Guopeng Zhao 1, 2 and Zhiqi Shen 1 1 Nanyang Technological University, Singapore 639798 2 HP Labs Singapore, Singapore

More information

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other. WSJ: SOA Myths About Service-Oriented Architecture Demystifying SOA Service-oriented architecture (SOA) refers to an architectural solution that creates an environment in which services, service consumers,

More information

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? Jussi Ronkainen, Pekka Abrahamsson VTT Technical Research Centre of Finland P.O. Box 1100 FIN-90570 Oulu, Finland

More information

Reactive Variability Realization with Test-Driven Development and Refactoring

Reactive Variability Realization with Test-Driven Development and Refactoring Reactive Variability Realization with Test-Driven Development and Refactoring Glauco Silva Neves Informatics and Statistics Department - INE Federal University of Santa Catarina - UFSC Florianópolis, Brazil

More information

B API Usage Examples and Their Models

B API Usage Examples and Their Models ExPort: Detecting and Visualizing API Usages in Large Source Code Repositories Evan Moritz 1, Mario Linares-Vásquez 1, Denys Poshyvanyk 1, Mark Grechanik 2, Collin McMillan 3, Malcom Gethers 4 1 The College

More information

SOA and Cloud in practice - An Example Case Study

SOA and Cloud in practice - An Example Case Study SOA and Cloud in practice - An Example Case Study 2 nd RECOCAPE Event "Emerging Software Technologies: Trends & Challenges Nov. 14 th 2012 ITIDA, Smart Village, Giza, Egypt Agenda What is SOA? What is

More information

An Overview of Challenges of Component Based Software Engineering

An Overview of Challenges of Component Based Software Engineering An Overview of Challenges of Component Based Software Engineering Shabeeh Ahmad Siddiqui Sr Lecturer, Al-Ahgaff University, Yemen Abstract Nowadays there is trend of using components in development of

More information

Optimizing Service Levels in Public Cloud Deployments

Optimizing Service Levels in Public Cloud Deployments WHITE PAPER OCTOBER 2014 Optimizing Service Levels in Public Cloud Deployments Keys to Effective Service Management 2 WHITE PAPER: OPTIMIZING SERVICE LEVELS IN PUBLIC CLOUD DEPLOYMENTS ca.com Table of

More information

Umbrella: A New Component-Based Software Development Model

Umbrella: A New Component-Based Software Development Model 2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.

More information

SOA and API Management

SOA and API Management SOA and API Management Leveraging Your Investment in Service Orientation Version 1.0 December 2013 John Falkl General Manager, Technology, Strategy & Integration Haddon Hill Group, Inc. Contents Introduction...

More information

Towards Software Configuration Management for Test-Driven Development

Towards Software Configuration Management for Test-Driven Development Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany tammo.freese@offis.de Abstract. Test-Driven Development is a technique where

More information

FRAUNHOFER INSTITUTE FOR EXPERIMENTAL SOFTWARE ENGINEERING IESE VARIATION MANAGEMENT: USER EXPERIENCE FOR EFFICIENCY IN PROVIDING SOLUTIONS

FRAUNHOFER INSTITUTE FOR EXPERIMENTAL SOFTWARE ENGINEERING IESE VARIATION MANAGEMENT: USER EXPERIENCE FOR EFFICIENCY IN PROVIDING SOLUTIONS FRAUNHOFER INSTITUTE FOR EXPERIMENTAL SOFTWARE ENGINEERING IESE VARIATION MANAGEMENT: USER EXPERIENCE FOR EFFICIENCY IN PROVIDING BUSINESS CUSTOMIZED APPLICATIONS SOLUTIONS 2 Do you need to develop variation-rich

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

More information

Leveraging an On-Demand Platform for Enterprise Architecture Preparing for the Change

Leveraging an On-Demand Platform for Enterprise Architecture Preparing for the Change Leveraging an On-Demand Platform for Enterprise Architecture Preparing for the Change David S. Linthicum david@linthicumgroup.com The notion of enterprise architecture is changing quickly. What was once

More information

Achieve Economic Synergies by Managing Your Human Capital In The Cloud

Achieve Economic Synergies by Managing Your Human Capital In The Cloud Achieve Economic Synergies by Managing Your Human Capital In The Cloud By Orblogic, March 12, 2014 KEY POINTS TO CONSIDER C LOUD S OLUTIONS A RE P RACTICAL AND E ASY TO I MPLEMENT Time to market and rapid

More information

Model-Driven Cloud Data Storage

Model-Driven Cloud Data Storage Model-Driven Cloud Data Storage Juan Castrejón 1, Genoveva Vargas-Solar 1, Christine Collet 1, and Rafael Lozano 2 1 Université de Grenoble, LIG-LAFMIA, 681 rue de la Passerelle, Saint Martin d Hères,

More information

www.pwc.com Scale agile throughout the enterprise A PwC point of view

www.pwc.com Scale agile throughout the enterprise A PwC point of view www.pwc.com Scale agile throughout the enterprise A PwC point of view December 2013 Overview Today it s rare to speak with a company that is not adopting some form of agile development practice. However,

More information

XIDE: EXPANDING END-USER WEB DEVELOPMENT

XIDE: EXPANDING END-USER WEB DEVELOPMENT XIDE: EXPANDING END-USER WEB DEVELOPMENT Evgenia Litvinova, Markku Laine and Petri Vuorimaa Department of Media Technology, Aalto University, P.O. Box 15400, FI-00076 Aalto, Finland {evgenia.samochadina,

More information

PERFORMANCE ANALYSIS OF PaaS CLOUD COMPUTING SYSTEM

PERFORMANCE ANALYSIS OF PaaS CLOUD COMPUTING SYSTEM PERFORMANCE ANALYSIS OF PaaS CLOUD COMPUTING SYSTEM Akmal Basha 1 Krishna Sagar 2 1 PG Student,Department of Computer Science and Engineering, Madanapalle Institute of Technology & Science, India. 2 Associate

More information

Cloud Computing-Software as Service

Cloud Computing-Software as Service Cloud Computing-Software as Service Gurudatt Kulkarni 1, Jayant Gambhir 2, Rajnikant Palwe 3 1, 2, 3 S.No. 4/17, Sector No 34, Off Kalewadi Road, Thergaon, Pune, Maharashtra, India Marathwada Mitra Mandal

More information

The Oregon Software Development Process

The Oregon Software Development Process The Oregon Software Development Process Till Schümmer 1 and Robert Slagter 2 1 Computer Science Department, FernUniversität in Hagen, Universitätsstrasse 1, 58084 Hagen, Germany Till.Schuemmer@fernuni-hagen.de

More information

Curriculum Vitae. Zhenchang Xing

Curriculum Vitae. Zhenchang Xing Curriculum Vitae Zhenchang Xing Computing Science Department University of Alberta, Edmonton, Alberta T6G 2E8 Phone: (780) 433 0808 E-mail: xing@cs.ualberta.ca http://www.cs.ualberta.ca/~xing EDUCATION

More information

Business Intelligence

Business Intelligence Transforming Information into Business Intelligence Solutions Business Intelligence Client Challenges The ability to make fast, reliable decisions based on accurate and usable information is essential

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

CLOUD COMPUTING IN HIGHER EDUCATION

CLOUD COMPUTING IN HIGHER EDUCATION Mr Dinesh G Umale Saraswati College,Shegaon (Department of MCA) CLOUD COMPUTING IN HIGHER EDUCATION Abstract Technology has grown rapidly with scientific advancement over the world in recent decades. Therefore,

More information

Agile Offshore Outsourcing

Agile Offshore Outsourcing Agile Offshore Outsourcing Concepts and Practices for Flexible Integration of Offshore Development Services Agile Business Conference 2006 Joachim Sauer Agenda Challenges and common solutions of applying

More information

perspective Microservices A New Application Paradigm Abstract

perspective Microservices A New Application Paradigm Abstract perspective Microservices A New Application Paradigm Abstract Microservices Architecture is introducing the concept of developing functionality as a number of small self-contained services. This paper

More information

Understanding Cloud Requirements - A Supply Chain Lifecycle Approach

Understanding Cloud Requirements - A Supply Chain Lifecycle Approach Understanding Cloud Requirements - A Supply Chain Lifecycle Approach Maik A. Lindner SAP Research SAP Labs, LLC Palo Alto, CA m.lindner@sap.com Fiona McDonald SAP Research SAP (UK) Ltd. Belfast, Northern

More information

Cloud Computing. Technologies and Types

Cloud Computing. Technologies and Types Cloud Computing Cloud Computing Technologies and Types Dell Zhang Birkbeck, University of London 2015/16 The Technological Underpinnings of Cloud Computing Data centres Virtualisation RESTful APIs Cloud

More information

C2C: An Automated Deployment Framework for Distributed Applications on Multi-Clouds

C2C: An Automated Deployment Framework for Distributed Applications on Multi-Clouds C2C: An Automated Deployment Framework for Distributed Applications on Multi-Clouds Flora Karniavoura, Antonis Papaioannou, and Kostas Magoutis Institute of Computer Science (ICS) Foundation for Research

More information

Avoiding the Accidental SOA Cloud Architecture

Avoiding the Accidental SOA Cloud Architecture A UBM WHITE PAPER NOVEMBER 2011 Avoiding the Accidental SOA Cloud Architecture Prior to the hybrid cloud, IT determined how an enterprise infrastructure grew. With the introduction of Software-as-a- Service

More information

Introduction to Track on Engineering Virtualized Services

Introduction to Track on Engineering Virtualized Services Introduction to Track on Engineering Virtualized Services Reiner Hähnle 1 and Einar Broch Johnsen 2 1 Technical University of Darmstadt, Germany haehnle@cs.tu-darmstadt.de 2 Dept. of Informatics, University

More information

SCADA Cloud Computing

SCADA Cloud Computing SCADA Cloud Computing Information on Cloud Computing with SCADA systems Version: 1.0 Erik Daalder, Business Development Manager Yokogawa Electric Corporation Global SCADA Center T: +31 88 4641 360 E: erik.daalder@nl.yokogawa.com

More information

Rapid Development of Smart and Self-Adaptive Cloud, Mobile & IoT Applications - Accelerating the Last Mile of Cloud Computing

Rapid Development of Smart and Self-Adaptive Cloud, Mobile & IoT Applications - Accelerating the Last Mile of Cloud Computing Rapid Development of Smart and Self-Adaptive Cloud, Mobile & IoT Applications - Accelerating the Last Mile of Cloud Computing Jesse Shiah CEO and Co-founder Jesse.shiah@agilepoint.com 2013 AgilePoint,

More information

Review of Computer Engineering Research CURRENT TRENDS IN SOFTWARE ENGINEERING RESEARCH

Review of Computer Engineering Research CURRENT TRENDS IN SOFTWARE ENGINEERING RESEARCH Review of Computer Engineering Research ISSN(e): 2410-9142/ISSN(p): 2412-4281 journal homepage: http://www.pakinsight.com/?ic=journal&journal=76 CURRENT TRENDS IN SOFTWARE ENGINEERING RESEARCH Gayatri

More information

CLOUD MIGRATION STRATEGIES

CLOUD MIGRATION STRATEGIES CLOUD MIGRATION STRATEGIES Faculty Contributor: Dr. Rahul De Student Contributors: Mayur Agrawal, Sudheender S Abstract This article identifies the common challenges that typical IT managers face while

More information

A Cloud Monitoring Framework for Self-Configured Monitoring Slices Based on Multiple Tools

A Cloud Monitoring Framework for Self-Configured Monitoring Slices Based on Multiple Tools A Cloud Monitoring Framework for Self-Configured Monitoring Slices Based on Multiple Tools Márcio Barbosa de Carvalho, Rafael Pereira Esteves, Guilherme da Cunha Rodrigues, Lisandro Zambenedetti Granville,

More information

Newsletter LATEST NEWS. www.celarcloud.eu CELAR: THE CHALLENGE

Newsletter LATEST NEWS. www.celarcloud.eu CELAR: THE CHALLENGE Newsletter Automatic, Multi-Grained Elasticity-provisioning for the Cloud NUMBER 1 LATEST NEWS CELARCLOUD.EU REACHES 350 MONTHLY VISITS CELAR: OUTCOME AND IMPACT CELAR: THE CHALLENGE Cloud computing as

More information

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach ASCETiC Whitepaper Motivation The increased usage of ICT, together with growing energy costs and the need to reduce greenhouse gases emissions call for energy-efficient technologies that decrease the overall

More information

A Process View on Architecture-Based Software Development

A Process View on Architecture-Based Software Development A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany

More information

Market Maturity. Cloud Definitions

Market Maturity. Cloud Definitions HRG Assessment: Cloud Computing Provider Perspective In the fall of 2009 Harvard Research Group (HRG) interviewed selected Cloud Computing companies including SaaS (software as a service), PaaS (platform

More information

DevOps: Roll out new software and functionality quicker with high velocity DevOps

DevOps: Roll out new software and functionality quicker with high velocity DevOps DevOps: Roll out new software and functionality quicker with high velocity DevOps As software becomes more central, companies are looking for ways to shorten software development cycles and push new functionality

More information

Riding the Advanced Cloud Deployment Roadmap. Creationline, Inc. Team Dr. Riad Hartani, Rolf Lumpe (Xona Partners)

Riding the Advanced Cloud Deployment Roadmap. Creationline, Inc. Team Dr. Riad Hartani, Rolf Lumpe (Xona Partners) Riding the Advanced Cloud Deployment Roadmap Creationline, Inc. Team Dr. Riad Hartani, Rolf Lumpe (Xona Partners) August 15 th, 2014 Page 2 Table of Contents 1 SYNOPSIS 3 2 RATIONALE FOR A CLOUD INFRASTRUCTURE

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

Software-as-a-Service: Managing Key Concerns and Considerations

Software-as-a-Service: Managing Key Concerns and Considerations Software-as-a-Service: Managing Key Concerns and Considerations A research report Publication sponsored by: TABLE OF CONTENTS Introduction: Cloud IT, including SaaS, is Real IT Managing The Key Concerns

More information

Module 6 Essentials of Enterprise Architecture Tools

Module 6 Essentials of Enterprise Architecture Tools Process-Centric Service-Oriented Module 6 Essentials of Enterprise Architecture Tools Capability-Driven Understand the need and necessity for a EA Tool IASA Global - India Chapter Webinar by Vinu Jade

More information

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

Have We Really Understood the Cloud Yet?

Have We Really Understood the Cloud Yet? 1 Have We Really Understood the Cloud Yet? Plethora of Definitions Hype? Range of Technologies and business models What really clicks in the Cloud? Pay per use no capex only opex! Meet seasonal loads elasticity

More information

Best Practices in Leveraging a Staging Area for SaaS-to-Enterprise Integration

Best Practices in Leveraging a Staging Area for SaaS-to-Enterprise Integration white paper Best Practices in Leveraging a Staging Area for SaaS-to-Enterprise Integration David S. Linthicum Introduction SaaS-to-enterprise integration requires that a number of architectural calls are

More information

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

2.1 The RAD life cycle composes of four stages:

2.1 The RAD life cycle composes of four stages: 2.1 The RAD life cycle composes of four stages: A typical RAD life cycle is composed of the following Stages 2.1.1. Requirements Planning; 2.1.2 User Design; 2.1.3 Rapid Construction; 2.1.4 Transition.

More information

Cloud Computing Readiness - Background

Cloud Computing Readiness - Background IT Best Practices Audit Cloud Computing Readiness - Background Cloud based offerings are maturing and finally taking off after a long period (e.g. Software as a Service offerings have been available for

More information

Service Oriented Architectures in the Delivery of Capability

Service Oriented Architectures in the Delivery of Capability Service Oriented Architectures in the Delivery of Capability Abstract Duncan Russell, Jie Xu {duncanr jxu}@comp.leeds.ac.uk School of Computing, University of Leeds, UK Service oriented architecture (SOA)

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

PaaS market moves beyond deployment and scaling

PaaS market moves beyond deployment and scaling PaaS market moves beyond deployment and scaling David S. Linthicum April 30, 2014 This report is underwritten by Restlet. TABLE OF CONTENTS Executive Summary... 3 State of the PaaS Market... 4 While PaaS

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

The Impact of Cloud Computing on Saudi Organizations: The Case of a Telecom Company

The Impact of Cloud Computing on Saudi Organizations: The Case of a Telecom Company International Journal of Computing Academic Research (IJCAR) ISSN 2305-9184 Volume 3, Number 6(December 2014), pp. 126-130 MEACSE Publications http://www.meacse.org/ijcar The Impact of Cloud Computing

More information

Make the Leap from ecommerce to Omni- Channel

Make the Leap from ecommerce to Omni- Channel Iaodesign/Shutterstock An ecommerce platform is the foundation for a successful Omni- Channel business model arvato Systems North America 6 East 32nd Street, New York, New York 10016 United States All

More information

Tales of Empirically Understanding and Providing Process Support for Migrating to Clouds

Tales of Empirically Understanding and Providing Process Support for Migrating to Clouds Tales of Empirically Understanding and Providing Process Support for Migrating to Clouds M. Ali Babar Lancaster University, UK & IT University of Copenhagen Talk @ MESOCA, Eindhoven, the Netherlands September,

More information

Realize More Success with Software-plus-Services. Cloud-based software from Microsoft Dynamics ERP

Realize More Success with Software-plus-Services. Cloud-based software from Microsoft Dynamics ERP Realize More Success with Software-plus-Services Cloud-based software from Microsoft Dynamics ERP Cloud computing is Internet-based development and use of computer technology. Large central data centers

More information

Architecting enterprise BPM systems for optimal agility

Architecting enterprise BPM systems for optimal agility Architecting enterprise BPM systems for optimal agility Dr Alexander Samarin www.samarin.biz About me An enterprise solutions architect From a programmer to a systems architect Experience in scientific,

More information

TEN TIPS FOR A SUCCESSFUL INFOR IMPLEMENTATION

TEN TIPS FOR A SUCCESSFUL INFOR IMPLEMENTATION TEN TIPS FOR A SUCCESSFUL INFOR IMPLEMENTATION Copyright 2015 Panorama Consulting Solutions. All Rights Reserved. 720.515.1377 Panorama- Consulting.com Successfully implementing an Infor ERP system involves

More information

Structural Complexity Evolution in Free Software Projects: A Case Study

Structural Complexity Evolution in Free Software Projects: A Case Study Structural Complexity Evolution in Free Software Projects: A Case Study Antonio Terceiro and Christina Chavez Computer Science Department Universidade Federal da Bahia {terceiro,flach}@dcc.ufba.br Abstract.

More information

TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization

TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization Negar Koochakzadeh Vahid Garousi Software Quality Engineering Research Group University of Calgary, Canada Acknowledging funding and

More information

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919 Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned

More information

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan YOUR SUCCESS IS OUR FOCUS Whitepaper Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan 2009 Hexaware Technologies. All rights reserved. Table of Contents 1. Introduction 2. Subject Clarity 3. Agile

More information

Certified Cloud Computing Professional VS-1067

Certified Cloud Computing Professional VS-1067 Certified Cloud Computing Professional VS-1067 Certified Cloud Computing Professional Certification Code VS-1067 Vskills Cloud Computing Professional assesses the candidate for a company s cloud computing

More information

Understanding and Addressing Architectural Challenges of Cloud- Based Systems

Understanding and Addressing Architectural Challenges of Cloud- Based Systems Understanding and Addressing Architectural Challenges of Cloud- Based Systems M. Ali Babar CREST Centre for Research on Engineering Software Technologies University of Adelaide, Australia Keynote Talk

More information

Mapping and Geographic Information Systems Professional Services

Mapping and Geographic Information Systems Professional Services Mapping and Geographic Information Systems Professional Services G-Cloud Services RM 1557 Service Definition Esri UK GCloud 5 Lot 4 Specialist Services Government Procurement Service Acknowledgement Esri

More information

COMP 354 Introduction to Software Engineering

COMP 354 Introduction to Software Engineering COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course

More information

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise

More information

A Review On SLA And Various Approaches For Efficient Cloud Service Provider Selection Shreyas G. Patel Student of M.E, CSE Department, PIET Limda

A Review On SLA And Various Approaches For Efficient Cloud Service Provider Selection Shreyas G. Patel Student of M.E, CSE Department, PIET Limda A Review On SLA And Various Approaches For Efficient Cloud Service Provider Selection Shreyas G. Patel Student of M.E, CSE Department, PIET Limda Prof. Gordhan B. Jethava Head & Assistant Professor, Information

More information

A Management Tool for Component-Based Real-Time Supervision and Control Systems

A Management Tool for Component-Based Real-Time Supervision and Control Systems A Management Tool for Component-Based Real-Time Supervision and Control Systems Sandro Santos Andrade, Raimundo José de Araújo Macêdo Distributed Systems Laboratory (LaSiD) Post-Graduation Program on Mechatronics

More information

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447 Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited

More information

Advanced Software Engineering. Software Development Processes

Advanced Software Engineering. Software Development Processes Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

A Study of Infrastructure Clouds

A Study of Infrastructure Clouds A Study of Infrastructure Clouds Pothamsetty Nagaraju 1, K.R.R.M.Rao 2 1 Pursuing M.Tech(CSE), Nalanda Institute of Engineering & Technology,Siddharth Nagar, Sattenapalli, Guntur., Affiliated to JNTUK,

More information

I D C V E N D O R S P O T L I G H T

I D C V E N D O R S P O T L I G H T I D C V E N D O R S P O T L I G H T L e ve r a g i n g N e x t - Generation Servi c e D e l i ve r y: T h e M o ve t o C l o ud Servi c e s November 2011 Adapted from CSC Innoventure 2011: Good Things

More information

A Framework for Integrating Software Usability into Software Development Process

A Framework for Integrating Software Usability into Software Development Process A Framework for Integrating Software Usability into Software Development Process Hayat Dino AFRICOM Technologies, Addis Ababa, Ethiopia hayudb@gmail.com Rahel Bekele School of Information Science, Addis

More information

Realizing the Value Proposition of Cloud Computing

Realizing the Value Proposition of Cloud Computing Realizing the Value Proposition of Cloud Computing CIO s Enterprise IT Strategy for Cloud Jitendra Pal Thethi Abstract Cloud Computing is a model for provisioning and consuming IT capabilities on a need

More information

Winery A Modeling Tool for TOSCA-based Cloud Applications

Winery A Modeling Tool for TOSCA-based Cloud Applications Institute of Architecture of Application Systems Winery A Modeling Tool for TOSCA-based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2, Uwe Breitenbücher 2, and Frank Leymann 2 1 IPVS, 2 IAAS, University

More information

Introduction to OpenUP (Open Unified Process)

Introduction to OpenUP (Open Unified Process) Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture

More information

Cloud Computing For Distributed University Campus: A Prototype Suggestion

Cloud Computing For Distributed University Campus: A Prototype Suggestion Cloud Computing For Distributed University Campus: A Prototype Suggestion Mehmet Fatih Erkoç, Serhat Bahadir Kert mferkoc@yildiz.edu.tr, sbkert@yildiz.edu.tr Yildiz Technical University (Turkey) Abstract

More information

A Framework for Self-Regulated Learning of Domain-Specific Concepts

A Framework for Self-Regulated Learning of Domain-Specific Concepts A Framework for Self-Regulated Learning of Domain-Specific Concepts Bowen Hui Department of Computer Science, University of British Columbia Okanagan and Beyond the Cube Consulting Services Inc. Abstract.

More information

A DSL-based Approach to Software Development and Deployment on Cloud

A DSL-based Approach to Software Development and Deployment on Cloud 2010 24th IEEE International Conference on Advanced Information Networking and Applications A DSL-based Approach to Software Development and Deployment on Cloud Krzysztof Sledziewski 1, Behzad Bordbar

More information

Software Development Process

Software Development Process Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software

More information

A Secure System Development Framework for SaaS Applications in Cloud Computing

A Secure System Development Framework for SaaS Applications in Cloud Computing A Secure System Development Framework for SaaS Applications in Cloud Computing Eren TATAR, Emrah TOMUR AbstractThe adoption of cloud computing is ever increasing through its economical and operational

More information

Cloud Computing-Software as Service

Cloud Computing-Software as Service International Journal of Cloud Computing and Services Science (IJ-CLOSER) Vol.1, No.1, Mar ch 2012, pp. 11~16 ISSN: 2089-3337 11 Cloud Computing-Software as Service Gurudatt Kulkarni*, Jayant Gambhir*,

More information

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER TABLE OF CONTENTS Market Demand for Enterprise Mobile Mobile App Development Approaches Native Apps Mobile Web Apps Hybrid Apps Mendix Vision for Mobile App

More information

Cordys Business Operations Platform

Cordys Business Operations Platform SERVICE DEFINITION Cordys Business Operations GCloud IV - PaaS Copyright 2012 Cordys B.V. All rights reserved. Table of Content Cordys Business Operations... 1 Table of Content... 2 Introduction... 4 Document

More information

Agile Software Engineering, a proposed extension for in-house software development

Agile Software Engineering, a proposed extension for in-house software development Journal of Information & Communication Technology Vol. 5, No. 2, (Fall 2011) 61-73 Agile Software Engineering, a proposed extension for in-house software development Muhammad Misbahuddin * Institute of

More information

Cloud deployment model and cost analysis in Multicloud

Cloud deployment model and cost analysis in Multicloud IOSR Journal of Electronics and Communication Engineering (IOSR-JECE) ISSN: 2278-2834, ISBN: 2278-8735. Volume 4, Issue 3 (Nov-Dec. 2012), PP 25-31 Cloud deployment model and cost analysis in Multicloud

More information

Software Service Engineering Architect s Dream or Developer s Nightmare?

Software Service Engineering Architect s Dream or Developer s Nightmare? Software Service Engineering Architect s Dream or Developer s Nightmare? Gregor Hohpe Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043 gregor@hohpe.com Abstract. Architectural principles such

More information