Meister Going Beyond Maven



Similar documents
OpenMake Dynamic DevOps Suite 7.5 Road Map. Feature review for Mojo, Meister, CloudBuilder and Deploy+

Application Release Automation (ARA) Vs. Continuous Delivery

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Sonatype CLM for Maven. Sonatype CLM for Maven

Build management & Continuous integration. with Maven & Hudson

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

Leveraging Rational Team Concert's build capabilities for Continuous Integration

The Benefits of Utilizing a Repository Manager

Continuous Integration For Fusion Middleware

Urbancode Deploy Overview

Software Development In the Cloud Cloud management and ALM

IBM Rational Web Developer for WebSphere Software Version 6.0

Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Content. Development Tools 2(63)

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

Maven the Beautiful City. Healthy, Viable, and Productive Build Infrastructures

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

General Introduction to IBM (R) Rational (R) Asset Manager

DevOps: Multiplatform Application Deployment

Mastering Continuous Integration with Jenkins

SOA-14: Continuous Integration in SOA Projects Andreas Gies

Software project management. and. Maven

Maven or how to automate java builds, tests and version management with open source tools

"Build and Test in the Cloud "

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

DELIVERABLE. Europeana Cloud: Unlocking Europe s Research via The Cloud. Deliverable D2.1 Development Environment

One solution for all your Source Configuration Management Needs

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Global Software Change Management for PVCS Version Manager

White Paper. Software Development Best Practices: Enterprise Code Portal

Introduction to Programming Tools. Anjana & Shankar September,2010

Agile Development with Jazz and Rational Team Concert

IBM Rational ClearCase, Version 8.0

Delivering Quality Software with Continuous Integration

Select the right configuration management database to establish a platform for effective service management.

Software change and release management White paper June Extending open source tools for more effective software delivery.

Software Construction

Integrating your Maven Build and Tomcat Deployment

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Successfully managing geographically distributed development

The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform

WebSphere Business Modeler

NeXUS REPOSITORY managers

GEOFLUENT TRANSLATION MANAGEMENT SYSTEM

Continuous Integration The Full Monty Artifactory and Gradle. Yoav Landman & Frederic Simon

Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.

Software project management. and. Maven

Eclipse-based Applications: Java on the Desktop Revisited

CA Endevor Software Change Manager Version 15.0

<Insert Picture Here> Application Testing Suite Overview

In depth study - Dev teams tooling

Hudson configuration manual

Coverity Services. World-class professional services, technical support and training from the Coverity development testing experts

Case Study: Using Jenkins to Build WebSphere Portal Applications for the Enterprise. #jenkinsconf. Jenkins User Conference Boston #jenkinsconf

BIRT Application and BIRT Report Deployment Functional Specification

Actuate Business Intelligence and Reporting Tools (BIRT)

Hybrid Development and Test USE CASE

Jenkins on Windows with StreamBase

Integrity 10. Curriculum Guide

Continuous Integration: A case study

Software infrastructure for Java development projects

Continuous Integration (CI)

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment

SOFTWARE DEVELOPMENT BASICS SED

Key Benefits of Microsoft Visual Studio Team System

JBoss Enterprise Middleware

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc.

Avaya Aura Orchestration Designer

SOFTWARE TESTING TRAINING COURSES CONTENTS

IBM Rational AppScan: Application security and risk management

Maximizing Cross-Platform Application Availability

Semarchy Convergence for Data Integration The Data Integration Platform for Evolutionary MDM

Software Continuous Integration & Delivery

Builder User Guide. Version Visual Rules Suite - Builder. Bosch Software Innovations

Media and Information Provider Unifies Development Processes

Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations

Test Data Management Concepts

Enterprise Service Bus

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

IKAN ALM and Collabnet TeamForge

SOFT FLOW 2012 PRODUCT OVERVIEW

Java Software Quality Tools and techniques

PHP vs. Java. In this paper, I am not discussing following two issues since each is currently hotly debated in various communities:

Laserfiche. and SharePoint Integration. Your potential, realized. Learn More Inside. Include imaged documents in collaborative processes.

Answers to Top BRMS Questions

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

IBM Rational Asset Manager

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

<Insert Picture Here>

7 Practical insights for IT Asset Management

Continuous Integration: Put it at the heart of your development

Servers. Servers. NAT Public Subnet: /20. Internet Gateway. VPC Gateway VPC: /16

Transcription:

Meister Going Beyond Maven A technical whitepaper comparing OpenMake Meister and Apache Maven OpenMake Software 312.440.9545 800.359.8049 Winners of the 2009 Jolt Award

Introduction There are many similarities between OpenMake Meister and Apache Maven, most importantly the original purpose for their creation - simplifying the build process. With this common goal, the developers of both Apache Maven and OpenMake Meister came to similar conclusions on how to accomplish a more simplified build. At the core of both solutions is the implementation of standard templates, called Archetypes in Maven and Build Services in Meister. It is through this template concept that both products deliver improved build processes. Templates drastically reduce the need for developers to code build scripts from scratch for each new project. In addition, by employing a template methodology build standards can be enforced, making it much easier for anyone referencing that build script to understand what it does. Key Differences This section explores how Meister and Maven differ with respect to build script management, dependency analysis and workflow support. Script Management Even though Maven and Meister share a common goal, there are many differences between the two solutions. The biggest difference between the two tools is the way in which the template concept is leveraged. With Maven, you use Archetypes to initially create your Maven POM files, typically inside of an IDE such as IntelliJ or Eclipse. Once you generate that initial script, you edit it directly as your project changes. The ease of editing depends largely on which IDE is being used - IntelliJ for example has a fairly sophisticated editor compared to Eclipse but script maintenance is manual in any case, even though script creation is automated based on the Archetype. With OpenMake Meister, the on-going maintenance of your project build script continues to be automated in Eclipse-base IDEs. You can execute a Meister build from inside of Eclipse, like Maven, but Meister goes one step further. Instead of manually editing your Meister build script, Meister does it for you by synchronizing the IDE project file with the build script before the build occurs. Meister leverages its Build Service templates beyond the first version of the build by changing the build script in response to both source code changes and Build Service changes. By providing script automation throughout the project lifecycle, Meister delivers a consistent, repeatable and standardized build process. 2

Dependency Management Dependency Management is a critical feature of any build solution. Apache Maven provides a level of dependency scopes for the management of compilers and runtime libraries, an important feature. However, Meister performs a much lower level of dependency discovery by scanning source code and interrogating IDE project files. It is this level of dependency management that allows Meister to deliver accelerated build processing (build avoidance and parallelization) and transparent build audit reporting. Meister build audit and dependency analysis reports clearly document every artifact used in a build. The Meister build audit system will report on whether an artifact was pulled from SCM versus found on a shared network drive, for example, and on dependencies that were discovered via the code scanning process. In addition, Meister uses this information to provide impact analysis data for making good development decisions and determining if a binary is ready to run in a production environment. Workflow Support OpenMake Meister includes a full Workflow engine, with distributed remote servers for workflow load balancing, and a built-in continuous integration server. Maven however provides no workflow management or continuous integration solution, and so must be implemented along with tools such as Hudson, Cruise Control, or a commercial workflow product if these are required capabilities. This increases the complexity of the final Maven solution compared to the Meister approach of including these features in a single integrated solution. Feature Comparison The table below compares the detailed features of Meister and Maven. Beyond these functional comparisons, it is important to note that Apache Maven was written primarily to support smallscale Java development environments. OpenMake Meister was designed to support multiple languages and operating systems, and to scale naturally to very large enterprise build and development environments. Feature Description Templates Modular design and reuse Meister Maven Use of templates for supporting Best Practices Centralized Management of Compile Options Build can be standardized to a custom structure Dynamically maintains the build lifecycle based on the template. (Automatically re-generates as coding base changes) Out of the box solution for Java build automation Higher level of reusability between Java builds Easy ramp up for new Java developers Calls Ant Tasks and Plug-ins 3

Dependency Management Meister Maven Automatic Source-to-Dependency Management (.java to.java,.jar to.java, etc.) Transitive Dependency Management Compile Scope Provided Scope Runtime Scope Test Scope System Scope Import Scope Audit Trail of all Source and Compile Dependencies Impact Analysis of Source and Dependency Hierarchy Incremental build based on only changed source and dependencies Use of Approved Source and Compile Dependencies Only Automatic Download of Runtime Dependencies from Internet Multiple Source and Compile Dependency Paths for same Project Deploy Meister Maven Local Deployment of Shared Artifacts Remote Deployment of Shared Artifacts Support Meister Maven Online and phone technical support Professional Services and Training Centralized Reporting Meister Maven Aggregation of Report Output to a single repository for all Platforms Real-Time Monitoring of Build Results Build Acceleration Meister Maven Parallelized Builds Build Avoidance (Incremental Build processing) Workflow Management (Build Lifecycle) Meister Maven Standard Application Lifecycle Customizable Application Lifecycle Reusable Application Lifecycle Distributed Remote Agents Scheduling Continuous Integration Meister Maven Built-in Continuous Integration Server Check-in Changes monitored on Quiet Period Monitor of SCM repository for changes Configurable CI processing based on Project 4

Distributed development Meister Maven Supports geographically distributed development Centralized Build metadata repository Eclipse Support Meister Maven Automatic generation of build scripts from Eclipse project data Automatic maintenance of build scripts from Eclipse project data Generation of Eclipse project from static build script Conclusion The core benefit of both Meister and Maven is the use of a template methodology to deliver simplified, standardized and consistent builds. Maven is appropriate for smaller java development teams where the application is not changing frequently and where detailed audit trails and dependency analysis are not required. Meister automates the template approach and applies it to the generated build script throughout the software development process from creation through maintenance, whereas Maven focuses on one-time script generation from archetypes. OpenMake Meister enables large geographically distributed organizations to accelerate application development on rapidly changing code bases, across multiple languages and operating systems. Further, its audit capabilities clearly document the origin of all code and libraries appearing in the production executables. Though Meister and Maven share a similar philosophy on improving the software build process, Meister provides substantial additional benefits through full lifecycle build automation and workflow processing. About OpenMake Software Through build and workflow automation, OpenMake Software releases the full potential of software development providing a 100% complete build management solution. For more information about OpenMake Meister or about OpenMake Software go to or contact us at 312.440.9545, toll free 800.359.8049. You can email us at request-info@openmakesoftware.com. 5