SOA-14: Continuous Integration in SOA Projects Andreas Gies



Similar documents
WELCOME TO Open Source Enterprise Architecture

Meister Going Beyond Maven

Jenkins: The Definitive Guide

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

Software infrastructure for Java development projects

The future of middleware: enterprise application integration and Fuse

ebay : How is it a hit

Java Software Quality Tools and techniques

Build management & Continuous integration. with Maven & Hudson

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

Fuse ESB Enterprise Installation Guide

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

Service Oriented Architecture 1 COMPILED BY BJ

Software Construction

A Software Development Platform for SOA

SOA Myth or Reality??

The Benefits of Utilizing a Repository Manager

Building a Modular Server Platform with OSGi. Dileepa Jayakody Software Engineer SSWSO2 Inc.

Content. Development Tools 2(63)

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Enterprise Service Bus

Mastering Continuous Integration with Jenkins

Global Software Change Management for PVCS Version Manager

Business Process Management Enabled by SOA

Introduction to Service-Oriented Architecture for Business Analysts

Developing SOA solutions using IBM SOA Foundation

1 What Are Web Services?

Agile Development with Jazz and Rational Team Concert

Enterprise Service Bus Evaluation as Integration Platform for Ocean Observatories

Upping the game. Improving your software development process

Service-Oriented Architecture and Software Engineering

SOA REFERENCE ARCHITECTURE: WEB TIER

Creating new university management software by methodologies of Service Oriented Architecture (SOA)

Apache Karaf in real life ApacheCon NA 2014

Swordfish SOA Runtime Framework

Continuous Integration

1 What Are Web Services?

Service Governance and Virtualization For SOA

Table of Contents. 1 Executive Summary SOA Overview Technology Processes and Governance... 8

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

<Insert Picture Here> Increasing the Effectiveness and Efficiency of SOA through Governance

Delivering a platform-independent based ESB for universal connectivity and transformation in heterogeneous IT environments.

Integration Architecture & (Hybrid) Cloud Scenarios on the Microsoft Business Platform. Gijs in t Veld CTO BizTalk Server MVP BTUG NL, June 7 th 2012

Service Virtualization: Managing Change in a Service-Oriented Architecture

vs. Web Site: Blog: blog.soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise

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

Accenture Software. ALIP Technical Presentation

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

Sentinet for BizTalk Server SENTINET

Urbancode Deploy Overview

Ikasan ESB Reference Architecture Review

An introduction to SOA and the HP NonStop server environment

Is Your Mobile App Platform RFP Asking The Right Questions?

Continuous Integration Multi-Stage Builds for Quality Assurance

CBM SOMA - SCA. Techniques and Standards to Increase Business and IT Flexibility. Jouko Poutanen Senior IT Architect, IBM Software Group

Enterprise Application Designs In Relation to ERP and SOA

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

SOA Governance and the Service Lifecycle

Offshore SOA Service Factory For production of cost-effective, shared services

BPM and Rules Technical Update. Sunil Aggarwal, WebSphere BPM Leader UK&I

Building a Service Oriented Architecture with ServiceMix. Jeff Genender CTO Savoir Technologies, Inc

How To Build A Financial Messaging And Enterprise Service Bus (Esb)

Hudson configuration manual

Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects

NeXUS REPOSITORY managers

A standards-based approach to application integration

..making process automation a business priority..

Talend ESB. Getting Started Guide 5.5.1

What Is the Java TM 2 Platform, Enterprise Edition?

Service Oriented Architecture (SOA) An Introduction

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911

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

IBM Rational Asset Manager

Software Development Kit

Continuous Integration For Fusion Middleware

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

JBoss Enterprise MIDDLEWARE

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

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

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

About Network Data Collector

Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

Software Continuous Integration & Delivery

How To Understand A Services-Oriented Architecture

JOURNAL OF OBJECT TECHNOLOGY

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Software Development In the Cloud Cloud management and ALM

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Transcription:

Distributed Team Building Principal Architect http://www.fusesource.com http://open-source-adventures.blogspot.com About the Author Principal Architect PROGRESS - Open Source Center of Competence Degree in Computer Science from the University of the German Forces 1992 Working with middleware like MOMs, CORBA, J2EE, WS and ESBs ever since for Sterling Software, Iona Technologies and PROGRESS Specialized on ESB based architectures since 2002 2 About FUSE The examples are based on the FUSE releases of Apache ServiceMix and Apache ActiveMQ The FUSE community provides Access to Committers as many Apache commiters are employed by the FUSE team 3 Enterprise support Open source adaption in the enterprise requires 24x7 reliable support Increased testing on a CI environment maintained by the FUSE team Enterprise qualities of service Ensuring sensible Enterprise deployment and backwards compatibility Documentation and training for the Apache projects released under the FUSE brand Backed by large, enterprise company 1

FUSE products FUSE ESB 3 Based on Apache Service Mix 3 FUSE ESB 4 Based on Apache Service Mix 4 FUSE Message Broker Based on Apache ActiveMQ FUSE Framework Based on Apache CXF FUSE Mediation Router Based on Apache Camel FUSE Integration Designer Eclipse tooling for implementing EIP flows FUSE HQ and Monitoring of the FUSE infrastructure 4 Agenda A closer look at SOA applications Platform components Tools enforcing project standards Conclusion 5 Impacts of SOA on development Silos (with only data integration) Each business process is self-contained in a single silo One team has end-to-end responsibility Infrastructure easily mapped to business Policies can apply to the silo only Security, compliance, visibility, etc. App decisions have local impact only Middleware, data formats, standards, etc. SOA / Shared Business processes span silos No one team has end-to-end responsibility or visibility Business processes have no direct mapping to silos The same service may serve multiple different business processes Policies need to apply to entire process App decisions have global impact 6 2

Definitions: Business application A Business application is a collection of modules that solves a given business problem. It is: Versioned Documented Tailorable to different runtime environments Specified in terms of business requirements A Business application is composed of Examples: Equity in Finance Service Provisioning in TelCo Complaint in Pharma 7 Definitions: Service A Service has a well defined interface and encapsulates a piece of application logic or hides the complexity of a technology used It is: Versioned Documented Tailorable to different runtime environments Well specified in terms of interfaces Free of any side effects A Service may be stand-alone or be composed of other services Examples Sonic ESB Sonic ESB Generic Processes Backend Adapter Customer Database logic 8 An Example Complaint Workflow Product ERP Database Connectivity Security 9 3

An Example Complaint Clinical study Support Workflow Product Research Support ERP Database Connectivity Security 10 An Example Complaint Clinical study Support New Product Development Workflow Product Research Support ERP Database Connectivity Security 11 An Example Complaint Clinical study Support New Product Development Workflow Product Research Support ERP Database Connectivity Security 12 4

Team challenges in SOA applications Requirements change very fast Multiple development teams may exist due to acquisitions or mergers Language barriers as teams might be multinational Knowledge distribution not all team members on the same skill level Missing trust in each others competences Increased overhead handing over components into QA or production 14 Addressing the challenges A well defined and distributed development process needs to be established Use a well defined set of tools Define project standards that make the teams life easier rather than hardee Encourage regular interaction as early as possible Virtual team meetings (IRC, Webmeetings etc.) Knowledge sharing platforms Encourage collaboration rather than competition Take different mentalities into account Make everyone in the team know his/her function 15 A proper development platform can address the technical aspects of a distributed team Requirements development platform shall be reusable in different business applications The developers should be focused on developing their service(s) Unit Testing, Integration testing must be part of the development cycle Knowledge sharing must be inherent to the proposed solution Dependency management must be integral part of the solution The packaging process must resolve versioned dependencies. The software packages shall be built and tested regularly and automatically using a continuous integration server 16 5

Continuous Integration Continuous integration aims to speed up the software delivery by decreasing integration times A code repository allows multiple developers to work on the same project Build automation reduces the time to build the software for testing purposes Test automation allows tests to be run as part of the build process for immediate feedback Automated deployment enables the staging of the software in Test-, Integration- and Production environments 17 A Continuous Integration platform for SOA A CIP provides a version control and dependency management facility for the services It also supports build, test and integration automation It gives the developer immediate feedback about any issues encountered due to module dependencies It provides an automated packaging and distribution mechanism for binaries and documentation 18 Agenda A closer look at SOA applications Platform components Tools enforcing project standards Conclusion 19 6

Continuous Integration Platform: Production Development environment Integration environment Check out Build Test QA environment Production environment 25 Does a build platform address the problems The platform allows all team members o work on any component independently of their location Test, documentation and development teams work collaboratively on the same artifacts Test results, documentation, source code and development metrics are available after each automated build Automated build process requires project standards to be set A defined project life cycle is required and must be communicated to all team members 26 Agenda A closer look at SOA applications Platform components Tools enforcing project standards Conclusion 27 7

Project Structuring http://maven.apache.org/ Common project elements and build rules in a common master model Version control location Web page location Project infrastructure Loosely coupled projects with up-to-date dependencies Repository based build platform Distributed repositories possible 28 Version Control http://subversion.tigris.org/ Open Source Version Control System Allows also versioning of directories (as opposed to CVS) Server available on Windows / Unix platforms Leverages WebDAV protocol provided by Apache to enforce SSL and authentication Many clients available Eclipse, Windows Explorer (Tortoise), WinSVN, command line, ANT, Maven etc. 29 Continuous Build component http://continuum.apache.org Rebuilds and Retests registered projects upon committed changes Updates the Snapshot repository Rebuilds and Re-deploys the Project Web page Rebuilds and Retests project dependencies Notifies developers upon build errors to take corrective action 30 8

Documentation Elements Project related documentation in Maven format (apt, xdoc, ) Apt is very easy for developers Javadoc Maven project reports Test report Checkstyle report Test coverage report Source reference 31 QA elements (1) http://checkstyle.sourceforge.net/ Checkstyle rules integrated in Maven 2 Checkstyle violations reported in standard project documentation Should be addressed in code maintenance Makes code exchangeable across team members Enforces Javadoc documentation Checkstyle checker available as Eclipse Plug-in 32 QA elements (2) http://www.junit.org/index.htm Open Source Test Framework for Java De Facto Standard for Java Testing Supported in Eclipse Automatically executed by Maven 2 Generated Test report on Project Web Page Test Coverage analysis in Maven 2 by cobertura (http://cobertura.sourceforge.net/ ) 33 9

QA integrated into development Unit Test overview Tested lines Untested lines Test coverage report 34 Agenda A closer look at SOA applications Platform components Tools enforcing project standards Conclusion 35 Development Phase Producing Code artifacts including documentation Unit test cases Additional documentation Committing Regularly to update Snapshot builds (Share early, Share often) Feature Driven Working towards feature completeness before moving to RC1 36 10

Review Phase (RC1) Ideally done by different person Using the tagging mechanism to tag RC1 Review & Amend documentation (completeness, quality) Review & Amend test cases (test coverage, execution) Commit / Merge changes back to Snapshot branch 37 Release Use the tagging mechanism to tag final release Rebuild the new release and populate download page with release Publish Release Web Page Remove Release Version from Continuous build 38 Agenda A closer look at SOA applications Platform components Tools enforcing project standards Conclusion 39 11

40 Conclusion As SOA moves into practice, a build management system is essential to reliably build reliable Business Applications. A properly configured build management system must go hand-in-hand with the developer s mind set. The build management should impact the single developer only to a minimal degree in terms of effort and to a maximum degree in terms of benefits. Reusing versioned components is virtually impossible without a build management system. Reusing components grants the ROI for introducing a build management system. Built-In communication and sharing minimizes fear and distrust in distributed teams Virtual team meetings can be held using the information on the CIP Conclusion ctd. Reuse of components due to the repository management of the build platform Better tested software due to module reusage and more test cases for more scenarios. Increased speed of development by standardized view of individual projects. Automated deployment into Q&A environments are achievable due to standardization 41 Questions? Come and talk to us at http://fusesource.com/forums/index.jspa 42 12

Thank You 43 13