The paper describes the need for and goals of tool-integration within software development processes. In particular we focus on agile software development but are not limited to. The integration of tools and data between the different domains of the process is essential for an efficient, effective and customized software development. We describe what the next steps in the pursuit of integration are and how major goals can be achieved. Beyond theoretical and architectural considerations we describe the prototypical implementation of an open platform approach. The paper introduces platform apps and a functionality store as general concepts to make apps and their functionalities available to the community. We describe the implementation of the approach and how it can be practically utilized. The description is based on one major use case and further steps are motivated by various other examples.
Another approach to be mentioned here is pursued by Biehl @cite_0 . They build a service discovery and orchestration framework for OSLC services, representing single development tools and systems. The idea of OSLC is to provide vendor independently lifecycle data -- originally for the application lifecycle management (ALM). For orchestrating tools' functionalities, exposed via RESTful OSLC services, process chains are described by a domain specific language. Decoupling vendor specific models is a very vital feature of OSLC, but it has also its drawbacks due to the use of RESTful services. Mapping bidirectional communication with RESTful services is --although possible with workarounds-- by definition not considered in HTTP.
@cite_0
160775773 2130739136 2134606796 2054506507
Globally distributed development of complex systems relies on the use of sophisticated development tools but today the tools provide only limited possibilities for integration into seamless tool chains. If development tools could be integrated, development data could be exchanged and tracing across remotely located tools would be possible and would increase the efficiency of globally distributed development. We use a domain specific modeling language to describe tool chains as models on a high level of abstraction. We use model-driven technology to synthesize the implementation of a service-oriented wrapper for each development tool based on OSLC (Open Services for Lifecyle Collaboration) and the orchestration of the services exposed by development tools. The wrapper exposes both tool data and functionality as web services, enabling platform independent tool integration. The orchestration allows us to discover remote tools via their service wrapper, integrate them and check the correctness of the orchestration. Representational State Transfer (ReST) architecture provides a set of constraints that drive design decisions towards architectural properties such as interoperability, evolvability and scalability. Designing a ReSTful service API involves finding resources and their relationships, selecting uniform operations for each resource, and defining data formats for them. It is often a non-trivial exercise to refine a functional specification, expressed in terms of arbitrary actions, to a resource-oriented, descriptive state information content. We argue that this process can be described as a series of model transformations, starting from service functionality and gradually refining the phase products until a ReSTful service API is reached. This paper outlines the process phases, transformations and intermediate models based on our experiences in developing ReSTful services and service APIs at Nokia Research Center. The process captures our understanding on how to systematically transform functional specifications into ReSTful Web service interfaces. Web service orchestrations-expressed in the Web service business process execution language (WS-BPEL or BPEL for short)-are a manifestation of the two-level-programming paradigm where services, i.e. the business functions used by the composite application, are composed through BPEL's control flow constructs. BPEL processes Web service orchestrations, business functions therefore can be transparently accessed remotely, allowing to build composite applications that integrate business functions provided by different partners on different locations. As of today, execution of BPEL processes, i.e. the evaluation of the processes' control flow, is performed by a central workflow engine. In certain scenarios, such as complex collaborative cross-partner interactions, this approach of centralized workflow enactment leads to "un-natural" process models; process models that are not driven by the processes' original business goal but by infrastructural or organizational reasons. In this paper, we propose an alternative approach to enacting BPEL process control flow in a distributed, decentralized manner. We present the overall process lifecycle and give a detailed description of the underlying process model. Automated tools for understanding application behavior and its changes during the application lifecycle are essential for many performance analysis and debugging tasks. Application performance issues have an immediate impact on customer experience and satisfaction. A sudden slowdown of enterprise-wide application can effect a large population of customers, lead to delayed projects, and ultimately can result in company financial loss. Significantly shortened time between new software releases further exacerbates the problem of thoroughly evaluating the performance of an updated application. Our thesis is that online performance modeling should be a part of routine application monitoring. Early, informative warnings on significant changes in application performance should help service providers to timely identify and prevent performance problems and their negative impact on the service. We propose a novel framework for automated anomaly detection and application change analysis. It is based on integration of two complementary techniques: (i) a regression-based transaction model that reflects a resource consumption model of the application, and (ii) an application performance signature that provides a compact model of runtime behavior of the application. The proposed integrated framework provides a simple and powerful solution for anomaly detection and analysis of essential performance changes in application behavior. An additional benefit of the proposed approach is its simplicity: It is not intrusive and is based on monitoring data that is typically available in enterprise production environments. The introduced solution further enables the automation of capacity planning and resource provisioning tasks of multitier applications in rapidly evolving IT environments.