Introduction to the Podcast Series and the Connection to the Lecture and Lab

Size: px
Start display at page:

Download "Introduction to the Podcast Series and the Connection to the Lecture and Lab"

Transcription

1 Introduction to the Podcast Series and the Connection to the Lecture and Lab Alexander Schatten Institut für Softwaretechnik und Interaktive Systeme

2 Architectures and Practices for Agile Software Development Alexander Schatten Institut für Softwaretechnik und Interaktive Systeme

3 20 Years ago... "Reusing other people's code would prove that I don't care about my work. I would no more reuse code than Ernest Hemingway would have reused other authors' paragraphs. One of Apples important developers in the late 80s Institut für Softwaretechnik und Interaktive Systeme

4 Motivation!! Re-Invent the Wheel or!! Reuse, Recombine existing knowledge? Institut für Softwaretechnik und Interaktive Systeme

5 Agenda!! Introduction to Best-Practices in SE!! Introduction of Podcast Episodes! Design Patterns! Automation! Test-Driven Development! Component-based Development! Team-Cooperation! Runtime Observation! Technology Roundup Institut für Softwaretechnik und Interaktive Systeme

6 Agenda!! Architectural Challenges: Agile Sofware Development?!! Pattern-driven Architecture: Considering Patterns on various Levels!! (Enterprise) Architectures! Component-Based! Service-Oriented Architecture! Enterprise Integration Patterns! Event-Driven Architecture!! Runtime System Surveillance!! Test-Driven Development Institut für Softwaretechnik und Interaktive Systeme

7 Architectural Challenges: Agility?!! Agility? Fast Adaptation to! Changing Needs/Requirements (from Customer)! Changes in the Environment! Changes in the Development Team!! Reuse of Knowledge/Best Practices/Patterns!! Reuse of Components in Various Contexts!! Standardisation for Interoperability e.g. for! Enterprise Application Integration! Collaboration between Companies/Institutions (B2B, B2C, B2A)! E-Commerce Scenarios!! Support of Distributed (Global) Software Development!! Scaling and Virtualisation Institut für Softwaretechnik und Interaktive Systeme

8 Supporting Patterns (Best Practices) in Software Engineering!! Design Patterns (GoF)!! Software Build (see next presentation)!! Testing!! Enterprise Architecture! Component Frameworks/Platforms like EJB! SOA! EDA! Enterprise Integration Patterns!! UI Domain Patterns! Fat Client! Web-Application! I18N!! Management/Maintenance Patterns: Runtime Observation! Logging! System Monitoring, Surveillance!! Project Management and Collaboration Patterns! Open Source Systems! Distributed Development! Software as a Process!! Social Patterns! Global Cooperation! Decision Making !... Customer Integration (The.... new..... user.... Role)..... Institut für Softwaretechnik und Interaktive Systeme

9 Best-Practice-Software-Engineering: Software Design Patterns Alexander Schatten

10 Design Patterns!! Decades of development experience!! Condensed in reusable patterns!! Patterns usable in different domains!! Only brief introduction here; reminder for patterns needed in the lab

11 Categorisation (Extract)!! Fundamental! Delegation! Interface! Strategy! Proxy!! Creational! Factory (Abstract, Prototype,...)! Singleton! Object Pool!! Structural! Container! Dependency Injection! Facade!! Behavioral! Observer/Observable! Event Listener!! Enterprise! Data Access Object Lazy Load! Model View Controler

12 Strategy Pattern

13 Singleton!! Only one (or a certain number) of instances of a class are allowed!! E.g.! classes that represent interfaces to hardware (there is only one machine of a certain type)! Classes that are resource intensive, but do not hold a specific state and can be reused

14 Factory Pattern alternatively!

15 Proxy Additional functionality can be addedd e.g., Aspects! Client! ProxySubject! RealSubject!

16 Object Pool

17 Without Facade Subsystem (z.b. send , Web-Session Handling)!

18 Facade Pattern (Reduce Interface Complexity) If required! If required! Main Interaction! Subsystem! Facade!

19 Observer (Event Listener)

20 Model View Controler Source: Sun Developer Network!

21 Data Access Object

22 Best-Practice Software Engineering Information Resources Examples and Documentation Podcast Blog

23 Best-Practice-Software-Engineering: Automation in the Software Engineering Process Alexander Schatten Reinhard Pötz

24 Agenda!! Why Automation?!! Considering the Complete Development Lifecycle including:! Code generation! Compilation! Validation! Generation of Documentation! Test execution and Reporting! Dependency management!! Leading to Continuous Integration!! Tool Integration!! Eventually: Automatic Software Creation with Model Driven Development?

25 Why Automation?!! Development Process contains a series of repeating tasks (see next slide)!! Manual execution has several drawbacks e.g.:! It is awkward to do repeated tasks! Manually repeating things is error-prone (e.g., important tasks can be forgotten)! Reproducibility can be a problem as a very clean documentation of all manual tasks would be required! Team Development is hardly possible when manual tasks have to be performed in the build process! Quality problems, as important, but boring tasks like executing test-plans are just not performed regularly when testing is not fully automatised! Continuous integration is not possible

26 Project Build Lifecylce: Best Practices!! Build Process should be Portable and Independent of IDE!! However Integration with common IDEs should be possible!! Reporting should be part of the Automation like! Project Documentation! Build Error and Problem Reports! Test Reports!! Integration into other Build Systems should be possible (e.g. to Continuous Integration Tools, IDEs), i.e. the system should have an API!! Apache Maven Team analysed Project Lifecycle and derived bestpractices for build process like:! Suggested Directory Structure! Provide Project Metadata! Generic Description of Dependencies! Definition of Project Build Lifecycle! Standardised Reporting

27 What can be Automated? Examples!! Validation (Metadata, Code,...)!! Source Generation (e.g. from Metadata or Annotations)!! Automatic Code-Quality Checks (e.g. Checkstyle)!! Compilation!! Post Processing of Binaries!! Generation of Test-Resources!! Execution of Tests!! Generation or various Reports (e.g. Test-Reports)!! Generation of Documentation (e.g. html, pdf)! Project Info! Source Code Docs! User Documentation! Test & Quality Reports!...!! Packaging!! And much more...

28 Advantages of Automation: Examples!! Project is Portable between Developers!! Quality of Project is increased! Automated Code Quality Checks! Automated Test-Execution!! Project Reporting can be automated!! Continuous Integration can be implemented

29 Build Support Tools!! Tools for different program languages and platforms!! Vary in capabilities and concept!! Examples! Unix make (e.g. for C/C++ projects)! Apache Ant for Java! NAnt for.net! Apache Maven! Rake for Ruby (on Rails)!! Also Shellscripts and Batchfiles are sometimes used; Problem: portability (e.g. among platforms)

30 Maven 2!! Based on Integrated Lifecycle-Management!! Build- und Deployment Tool!! Simplifies Management of Java Projects!! Manage Documentation of Java Projects!! Large Number of Plugins available! Embed Maven in IDEs (Eclipse, JavaDoc, etc.)! Plugins for Maven!! Project Object Model = POM!! Supporting Multi-Module Projects!! Dependency Management

31 Maven Build-Lifecycle 1 validate validate the project is correct and all necessary information is available. generate-sources generate any source code for inclusion in compilation. process-sources process the source code, for example to filter any values. generate-resources generate resources for inclusion in the package. process-resources copy and process the resources into the destination directory, ready for packaging. compile process-classes post-process the generated files from compilation, for example to do bytecode enhancement on Java classes. generate-test-sources generate any test source code for inclusion in compilation. process-test-sources process the test source code, for example to filter any values. generate-test-resources create resources for testing. process-test-resources copy and process the resources into the test destination directory.

32 Maven Build-Lifecycle 2 test-compile test compile the test source code into the test destination directory run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed. package pre-integration-test take the compiled code and package it in its distributable format, such as a JAR. perform actions required before integration tests are executed. This may involve things such as setting up the required environment. integration-test process and deploy the package if necessary into an environment where integration tests can be run. post-integration-test perform actions required after integration tests have been executed. This may including cleaning up the environment. verify install run any checks to verify the package is valid and meets quality criteria. install the package into the local repository, for use as a dependency in other projects locally. deploy done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.

33 Lifecycle Actions!! At each lifecycle phase various tasks can be performed!! Many tasks available packaged with Maven!! Others can be added as plugins!! Development of own tasks: Maven Mojo

34 Archetypes!! Create default projects with Maven archetypes mvn archetype:create \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app

35 Maven!! Maven provides a default-structure: <project> <modelversion>4.0.0</modelversion> <groupid>com.mycompany</groupid> <artifactid>my-app</artifactid> <packaging>jar</packaging> <name>sample application</name> <dependencies>... <dependencies> </project>

36 Dependency Management

37 Documentation!! General Project Information! Version! Name, Description! Contributors! License! Development Tools (Mailinglist, Repository,...)!! Architecture Description!! Source Code (javadoc)!! Code Quality Reports! Test Reports! Checkstyle! Component Dependency Reports!...!! User Documentation

38 Testing!! Maven executes test-cases (junit)!! Test Reports are produced! Text! XML! HTML!! Integration into Documentation System

39 Continuous Integration!! Provide Maven POM including SVN repository definition!! Automatically! Updates code! Build Project! Create Documentation! Test Project!! Make notifications (mail, IM,...) according to project status (testfailure,...)!! Example: Apache Continuum!! See Martin Fowlers article on Continuous Integration:

40 Automated Code Quality Checks!! Some types of code-quality checks can be performed automatically and can give hints about potential problems in the code!! Specialised tools can check unit test code coverage (e.g. Clover)!! Several tools exist to support such checks! IDEs! Specialised tools like Checkstyle!! Tools like Checkstyle can be embedded in Build automation (see later slides) and can provide integrated reporting

41 Example: Checkstyle for Java!! Javadoc Comments!! Naming Conventions!! Headers!! Imports (*)!! Size Violations!! Parenthesis!! Modifier Order!! Coding (30 Optionen)! Modified control variable (for...)! Simplify boolean expressions!! Duplicate Code!! Cyclomatic Complexity (minimal path through codepart)!! NPath Complexity (number of possible execution paths through a function)!! Search for TODO: Comments

42 Automation, Reporting and Documentation!! Documentation and Reporting are integral aspects of automated testing!! Most tools produce test reports in generic formats, that can be reused! Text! XML! HTML!! Integration into Documentation Systems e.g.. with Maven is recommended!

43

44

45 Continuous Integration!!! Martin Fowler indicates the following best-practices:! Single Sourcecode Repository! Build Automation! Make build Self-testing! Daily (or more regular) commits by each developer!! Keep the build fast! Test in a clone of the production environment! Transparency! Easy access to latest binary (see e.g. Apache Daily builds)! Everyone should see the status (web-reports, notifications)! Automate Deployment

46 E.g. Cruise Control

47 Apache Continuum!! Maven Subproject!! Installation on Server!! Definition of series of projects! Maven 1! Maven 2! Ant! Shell!! Integration with several SCM (source code management) systems like SVN, CVS!! Web-Frontend for working with projects & reporting!! Schedule Definition for Build automation!! Reporting!! Notification!! See Example Screeshots on next slides

48 Reporting During Build Process

49 Build Process Nearly Finished

50 Result List

51 Details about Build Result

52 Definition of Schedulers for Build Automation

53 Best-Practice Software Engineering Information Resources Examples and Documentation Podcast Blog

54 Best-Practice-Software-Engineering: Component-based Programming Alexander Schatten Markus Demolsky Indoqa

55 Enterprise Architecture: Levels of Reuse Coupling Object direct invocation, Instantiation Object decoupled invocation over indirection (Delegation, Factory,...) Object Interface Object Reuse of Components within Component Framework (Dependency Injection...) Component Framework Object Potential Reusability Aggregation Component Component (s) Platform Specific Communication or Remoting Reuse of Components as (Platform Independent) Services Service Framework: Registry, MOM, ESB, SLA, Security,... Platform Neutral Communication or Remoting, e.g. WSDL/SOAP, XML/REST Object Overhead, Complexity

56 From Objects to decoupled Components and Application Aspects!! Objects!! Interfaces!! Components and decoupling!! Componet Frameworks

57 Objects!! Object encapsulates! Data! Functionality Data Public Variables Private Variables Functionality Object o = new Object() Public methods Private methods

58 Interfaces!! Interfaces describe abstract functionality without Implementation Interface Objects Declaration of Class Interface No Functionality Implementation Method Signatures Interface i; i = new Object/Component();

59 Components!! Component wraps larger blocks of functionality! Clear Interfaces! Reuse! Loose Coupling!! Component framework allows decoupling of client objects from concrete component implementations! Interface i;! i = componentframework.getcomponent( Name of Component );

60 Interface Objects Declaration of Class Interface No Functionality Implementation Method Signatures Component Framework Management of Component Lifecycle Configuration mycomponent = conrete Object Interface i; i = componentframework.getcomponent( mycomponent );

61 Dependency Injection!! Information Service use other service components in order do the work " Dependencies!! Resolved with Dependency Injection

62 Object Graphs through Dependency Injection!! Well known concepts to build object-graphs:! Factory Pattern! Name-System (JNDI)! Service Locator!! Disadvantage? " Increasing complexity " Dependency on Infrastructure " Component retrieves dependency!! Dependency Injection injects dependency from outside!! Types of Dependency Injection: - Setter Injection - Constructor Injection!! Spring supports both types

63 Spring!! Lightweight in the sense of: - No other infrastructure required(e.g.: application server) - modular concept

64 Comparison of Initialisation Options!! Direktes Erzeugen public class ShopServiceImpl implements IShopService{ private IOrderDAO orderdao = new IOrderDAOImpl(); private IProductDAO productdao = new IProductDAOImpl(); private ICustomerDAO customerdao = new ICustomerDAOImpl(); }!! Mittels Factory public class ShopServiceImpl implements IShopService{ private IOrderDAO orderdao = Factory.getOrderDAO(); private IProductDAO productdao = Factory.getProductDAO(); private ICustomerDAO customerdao = Factory.getCustomerDAO(); }!! Mit Dependency Injection (Setter Injection) public class ShopServiceImpl implements IShopService{ private IOrderDAO orderdao; private IProductDAO productdao; private ICustomerDAO customerdao; public void setproductdao(iproductdao dao){ this.productdao = dao; } public void setorderdao(iorderdao dao){ this.orderdao = dao; } } Institut für Softwaretechnik und Interaktive Systeme

65 Dependency Injection with Spring!! Configuration file, e.g.: beans.xml <beans> <!-- DAOs --> <bean id="productdao" class="at.demolsky.product.dao.iproductdaoimpl"/> <bean id="customerdao" class="at.demolsky.customer.dao.icustomerimpl"/> <bean id="orderdao" class="at.demolsky.order.dao.iorderdaoimpl"/> <!-- SERVICE BEANS --> <bean id="shopservicetarget" class="at.demolsky.shop.shopserviceimpl"> <property name="orderdao" ref="orderdao"/> <property name="productdao" ref="productdao"/> <property name="customerdao" ref="customerdao"/> </bean> </beans>

66 Spring ApplicationContext!! Spring offers BeanFactory (pure DI) and ApplicationContext (extended BeanFactory adds e.g.: Resourceaccess, Events, i18n)!! One or many config files ApplicationContext context = new ClassPathXmlApplicationContext ("applicationcontext.xml"); IShopService shop = (IShopService) context.getbean("shopservice");! Dependencies were injected by Spring!

67 Layered Architecture Style

68 Enterprise Architectural Styles: SOA!! Reusable, platform neutral Service (e.g. XML based Messaging using SOAP)!! Service Oriented Architecture (SOA)! Strong Decoupling! Platform Independent Service Access! Reuse over Boundaries! Various additional Requirements! Service Descriptions! Encapsulation of Legacy Systems (see next slide)! Unified Bus for Communication (see next slide)! Security (Encryption, Authentication,...)! Reliability! Service Level Agreements! Registry Services! Service Aggregation! Service Orchestration and Choreography!...

69 Best-Practice Software Engineering Information Resources Examples and Documentation Podcast Blog

70 Test-Driven Development Alexander Schatten, Erik Gostischa-Franta

71 About... Testing!! We offer special lectures to quality assurance, testing, inspection...!! In this first lecture we only cover fundamental testpractices:! Test-Driven development with Unit Tests! Test-plan

72 Testing as a team effort!! Intelligent distribution of roles within the team is neccessary!! Testers (Testing roles):! Test your objects just like they will be used in the context of your program! Tests are "living documents" they document how a class should be used!! Architects (Architect roles):! Modular Design: "short" programs with "tiny" methods! Autonomous Design: isolated classes (instances are required)! Create class diagrams

73 Test-Driven Development!! Every feature in the application that gets implemented has to be testable!! E.g., falsification in science: every new theory has to be expressed in a way, that it can be tested/falsified!! I.e. when you consider new functionality, at the same time think how it can be tested!! Testing either automatically using unit tests, automatic UI tests,... or manually following test-plans!! Test comes before or parallel to implementation!! Challenges are new architectural styles (SOA, EDA)

74 Test-Driven Development Traditional: Programming Test Definition Test Execution Finding Bugs becomes difficult, particularly in a team-environment Better: (1) Write Test before Implementation (2) Short Cycles TD P TE TD P TE TD P TE

75 Categorisation by Granularity

76 Amount of Tests by Granularity!! The time for a rich Unit-Test codebase is well invested since it simplifies integration tests. (bottom-up testing)!! System Tests!! Integration Tests!! Unit Tests

77 Test-driven implementation class X! junit! extends TestCase Execute Test! class XTest! Method X.a()! Method X.testA1()! Method X.testA2()! Method X.b()! Method X.testB()!...!

78 Basic Unit Testing Framework!! In Object-Oriented Languages: Unit == Class!! A minimal Unit-Testing 'framework' consists of 4 classes, for example:!! TestCase, basic Unit-Test class!! StudentDAOTest, inherits from TestCase!! StudentDAO, class to be tested!! TestRunner, runs the test and reports the test result!! TestCase: because every new Test inherits from this class the TestRunner is able to execute it in a standard way!! TestRunner: Running tests and reporting the result is fundamentally simple

79 Class Diagram

80 Initialise Junit Testcase

81 A Test Method

82 Best-Practice Software Engineering Information Resources Examples and Documentation Podcast Blog

83 Best-Practice-Software-Engineering: Team Cooperation Alexander Schatten Reinhard Pötz

84 Team Cooperation!! Sourcecode and Document Repository!! Communication! Mailinglist! Chat/VoIP! Forum!! Continuous Integration!! Unit-Tests (!)! Communication of expected functionality! Communication of bugs!! Groupware! Issue Tracker! Wiki

85 Sourcecode Management!! The Problem of File-Sharing! ! Shared Folders!...!! File Portability!! Data Safety!! Versioning!! Branching and Merging!! Centralised and decentralized variants e.g.:! Subversion (SV)! GIT!! Clients! Standalone (UI)! Commandline! IDE support! Build Tool support (e.g., Ant, Maven)

86 Collaboration Strategies!! File-Sharing!! Lock-Modify-Unlock!! Copy-Modify-Merge!! The following examples base on Subversion (SVN) See: Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, Version Control with Subversion, TBA (2007)

87 Example Hierarchy with Subversion root! myproject! trunk! branches! src! test! docs! experim_alex! Main.java! src! test! docs! Main.java! Experim.java! Release_1.1! Release_1.2!...! anotherproject! tags! beta_1! release_1! release_2! beta_3!...! src! test! Main.java! trunk! branches! tags!

88 Basic Operations!! Initial Checkout!! Update local copy!! Make Changes to local copy!! Commit Changes to repository

89 Further Operations!! Merge Conflicts!! Review History!! Go back to older version!! Branching (work with different versions)!! Tagging

90 Revisions in SVN!! An svn commit operation publishes changes to any number of files and directories as a single atomic transaction. In your working copy, you can change files' contents, create, delete, rename and copy files and directories, and then commit a complete set of changes as an atomic transaction.!! Each time the repository accepts a commit, this creates a new state of the filesystem tree, called a revision. Each revision is assigned a unique natural number, one greater than the number of the previous revision. The initial revision of a freshly created repository is numbered zero, and consists of nothing but an empty root directory.!! From: Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, Version Control with Subversion, TBA (2007)

91 Code Quality Checks on commit!! SVN Hook!! Check on sourcecode quality criteria e.g.! Spaces/tabs (history!)! Checkstyle!...

92 Issue Tracking & Tool Integration!! Automated Testing is important, but many problems and issues are found by humans, i.e.! Developers themselves! Customers! Users!! A proper Bug/Issuetracking tool is imperative for a software project!! All stakeholders should have access to the tool!! Users should be able to add issues!! Select/configre tool so that also end-users are able to add issues!!! Examples on next slides

93 Issue Tracking?!! What?! Capture! Issues! Bugs! Feature Requests! ToDos! Create Reports (per developer,...)! Allow Queries!! Who?! Developers! Tester! Customer/User!! Define Roadmap(s)!! Should Operate hand in hand with versioning system

94 Example: Trac Issuetracking

95 Trac Tickets to Roadmap

96 Trac Reports

97 Trac Ticket Details

98 Trac Timeline

99 Tool Integration!! Ideally build-tools are highly integrated!! E.g.: Trac allows to connect to SVN using post-commit hooks, this means! When developers commit changes and add the Ticket ID to the commit info Trac gets informed about the commit! Then Trac shows the SVN info / sources with the ticket!! Continuous Build Tool! React on SVN commits! Notify developers (mail, IM)!! Requirements-Tracking! Attach Requirements to SVN, Issues,...

100 Example Trac Ticket closed

101 Link to Changeset

102 Best-Practice Software Engineering Information Resources Examples and Documentation Podcast Blog

103 Best-Practice-Software-Engineering Lab: A First Technology Roundup All used technologies are Open Source technologies! Alexander Schatten

104 Used technologies!! Build Management: Apache Maven!! IDE Eclipse!! Logging: Apache log4j!! Testing: JUnit!! Component Framework: Spring!! I18n!! Persistence! Relational Database: hsqldb! Configuration and DAO: Spring! JDBC! Spring JDBC Templates! (XML: dom4j)!! User Interface: Java Swing!! Documentation! Javadoc! Apache Maven

105 Integrated Development Environment: Eclipse!! Project Management and Dependency Management defined in Maven POM!! Build driven by Maven!! Maven generates project files e.g. for Eclipse!! Eclipse supports daily development process! Editing! Code Completion! Package Management! Refactoring! Debugging!...!

106 Why Logging using Apache log4j?!! System.out.println -> Performance loss!! log4j optimizes performance!! Declare! What to log! When to log! Where to log to!! Flexible logging configuration for different contexts! Development! Test! Debugging! Operational

107 Logging with log4j!! Log what? (log-level)! DEBUG! INFO! WARN! ERROR! FATAL!! Debug<Info<Warn<Error<Fatal!! Log when? Fine tune packages that should be logged with what log-level!! Log where to?! Console! Database! Logfile!

108 Container/Component Framework

109 Internationalisation (i18n)?!! Example: Application should run in multiple languages!! Hard-coded String problematic! -> Duplication of Sourcecode... Very bad solution!!! Translation should be done by translator not technician!! Goal: Separation of Text and application

110 Solution: ResourceBundle!! Separation from Sourcecode and Strings!! One Option: Store Strings in textfile as key/value pairs!! Support by Eclipse!

111 Access to ResourceBundle!! Class Messages loads Strings from file and returns it to application according to locale

112 Multiple Languages/Translations!! Messages in resource-textfile (key/value)!! Naming of resource file!! <name>[_<languagecode>][_<subset>].properties!! For example! messages.properties! messages_de.properties! messages_de_at.properties!! Automatic selection of best-fitting translation!! If nothing fits, the default file is used

113 I18N and Localisation!! Unicode!! Formatting (e.g., date, time, currency)!! Sorting (é before ê or...?)!!

114 Persistence!! Relational Database: hsqldb!! JDBC: Standard Java interface for database access!! Configuration and DAO: Spring!! Spring JDBC Templates, no plain JDBC!! Clear separation of SQL code and Java application! Full integration into Component Framework! Usage of Spring DAOs, Transaction,... possible!! (XML: dom4j)

115 Relational Database HSQLDB!! Pure Java Database with minimal footprint!! Easy to use!! Hardly configuration and setup required!! Integrates perfect in Java environment! Can be used embedded, starts then with application, no server setup! Integrates well in test, development and debugging!! Different operation modes (partly on table level)! Embedded! Server! Memory only

116 User Interface Java Swing!! User interfaces are developed with Java Swing!! Platform Independent UI library!! Following Model View Controler Pattern!! Check out good resources like! Sun Swing Tutorial! Guide Krüger: Javabuch.de! Basic Example

117 Information Sources

118 Best-Practice SE!! best-practice-software-engineering.ifs.tuwien.ac.at! Follow introductions to examples, patterns and technologies! In each section additional references are given!! best-practice-software-engineering.blogspot.com!! TuWel Foren!! Repetitorien!! Podcast?

119

120 Open Source Projects!! Websites of projects, e.g., Maven site, Sun Swing tutorial etc.!! Mailing-lists and archives of the according project!! gmane.org newsserver integrates mailing lists!! Books (partly free books available, e.g., for Maven, Subversion, Java, Swing)!! Wikis of projects

121 Homework!! Get on overview on the BP site and Blog!! Download Basic Example and try to get an overview!! Get an overview on the project websites of the used technologies!! Try to create a simple project structure with Maven following the Maven Getting Started guide!! Download the Guide Krüger book: javabuch.de!! Post all questions and problems into the tuwel forum!! Repeat patterns learned today for next lecture unit!! Try to abstract the information presented here! What is concrete, special (e.g., for Java)! What are general architectural approaches

122 Contact Dr. Alexander Schatten Vienna University of Technology Institute for Software Technology and Interactive Systems Vienna, Austria, Europe :-)

Build management & Continuous integration. with Maven & Hudson

Build management & Continuous integration. with Maven & Hudson Build management & Continuous integration with Maven & Hudson About me Tim te Beek [email protected] Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository

More information

Content. Development Tools 2(63)

Content. Development Tools 2(63) Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)

More information

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

Maven or how to automate java builds, tests and version management with open source tools Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software [email protected] Outlook What is Maven Maven Concepts and

More information

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns Introducing FACTORY SCHEMES Adaptable software factory Patterns FACTORY SCHEMES 3 Standard Edition Community & Enterprise Key Benefits and Features GECKO Software http://consulting.bygecko.com Email: [email protected]

More information

Software infrastructure for Java development projects

Software infrastructure for Java development projects Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical

More information

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden Beginning POJOs From Novice to Professional Brian Sam-Bodden Contents About the Author Acknowledgments Introduction.XIII xv XVII CHAPTER1 Introduction The Java EE Market Case Study: The TechConf Website...

More information

SOFTWARE DEVELOPMENT BASICS SED

SOFTWARE DEVELOPMENT BASICS SED SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2

More information

Software project management. and. Maven

Software project management. and. Maven Software project management and Maven Problem area Large software projects usually contain tens or even hundreds of projects/modules Will become messy if the projects don t adhere to some common principles

More information

Continuous Integration Multi-Stage Builds for Quality Assurance

Continuous Integration Multi-Stage Builds for Quality Assurance Continuous Integration Multi-Stage Builds for Quality Assurance Dr. Beat Fluri Comerge AG ABOUT MSc ETH in Computer Science Dr. Inform. UZH, s.e.a.l. group Over 8 years of experience in object-oriented

More information

SOA-14: Continuous Integration in SOA Projects Andreas Gies

SOA-14: Continuous Integration in SOA Projects Andreas Gies 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

More information

Software project management. and. Maven

Software project management. and. Maven Software project management and Maven Problem area Large software projects usually contain tens or even hundreds of projects/modules Will become messy and incomprehensible ibl if the projects don t adhere

More information

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

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management IKAN ALM Architecture Closing the Gap Enterprise-wide Application Lifecycle Management Table of contents IKAN ALM SERVER Architecture...4 IKAN ALM AGENT Architecture...6 Interaction between the IKAN ALM

More information

Software Construction

Software Construction Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration

More information

Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd

Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd Coding in Industry David Berry Director of Engineering Qualcomm Cambridge Ltd Agenda Potted history Basic Tools of the Trade Test Driven Development Code Quality Performance Open Source 2 Potted History

More information

Flexible Engineering Process Automation Process: Continuous Integration & Test

Flexible Engineering Process Automation Process: Continuous Integration & Test Flexible Engineering Process Automation Process: Continuous Integration & Test Alexander Schatten Andreas Pieber Michael Handler Stefan Biffl Christian Doppler Laboratory SE-Flex-AS Institute of Software

More information

Jenkins: The Definitive Guide

Jenkins: The Definitive Guide Jenkins: The Definitive Guide John Ferguson Smart O'REILLY8 Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Foreword xiii Preface xv 1. Introducing Jenkins 1 Introduction 1 Continuous

More information

OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden

OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive

More information

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

Maven the Beautiful City. Healthy, Viable, and Productive Build Infrastructures Maven the Beautiful City Healthy, Viable, and Productive Build Infrastructures What is Maven? Build tool Similar to Ant but fundamentally different which we will discuss later Dependency management tool

More information

Software Quality Exercise 2

Software Quality Exercise 2 Software Quality Exercise 2 Testing and Debugging 1 Information 1.1 Dates Release: 12.03.2012 12.15pm Deadline: 19.03.2012 12.15pm Discussion: 26.03.2012 1.2 Formalities Please submit your solution as

More information

SOA REFERENCE ARCHITECTURE: WEB TIER

SOA REFERENCE ARCHITECTURE: WEB TIER SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible

More information

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

Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) i Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) ii Contents 1

More information

Source Control Systems

Source Control Systems Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy

More information

Meister Going Beyond Maven

Meister Going Beyond Maven 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

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

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

Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Java Power Tools John Ferguson Smart ULB Darmstadt 1 PI O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Foreword Preface Introduction xvii xix xxxiii Parti. Build

More information

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Nexus Professional Whitepaper. Repository Management: Stages of Adoption Sonatype Nexus Professional Whitepaper Repository Management: Stages of Adoption Adopting Repository Management Best Practices SONATYPE www.sonatype.com [email protected] +1 301-684-8080 12501 Prosperity

More information

WebSphere Server Administration Course

WebSphere Server Administration Course WebSphere Server Administration Course Chapter 1. Java EE and WebSphere Overview Goals of Enterprise Applications What is Java? What is Java EE? The Java EE Specifications Role of Application Server What

More information

Delivering Quality Software with Continuous Integration

Delivering Quality Software with Continuous Integration Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make

More information

Contents. Apache Log4j. What is logging. Disadvantages 15/01/2013. What are the advantages of logging? Enterprise Systems Log4j and Maven

Contents. Apache Log4j. What is logging. Disadvantages 15/01/2013. What are the advantages of logging? Enterprise Systems Log4j and Maven Enterprise Systems Log4j and Maven Behzad Bordbar Lecture 4 Log4j and slf4j What is logging Advantages Architecture Maven What is maven Terminology Demo Contents 1 2 Apache Log4j This will be a brief lecture:

More information

GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS. 2015 Software AG. All rights reserved. For internal use only

GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS. 2015 Software AG. All rights reserved. For internal use only GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS CONSULTING TOOLS VALUE CREATING ADD-ONS REDUCE manual effort time effort risk 6 READY-TO- USE TOOLS MORE COMING SOON SIMPLE PRICING & INSTALLATION INCREASE

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights

More information

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

Continuous Integration The Full Monty Artifactory and Gradle. Yoav Landman & Frederic Simon Continuous Integration The Full Monty Artifactory and Gradle Yoav Landman & Frederic Simon About us Yoav Landman Creator of Artifactory, JFrog s CTO Frederic Simon JFrog s Chief Architect 10+ years experience

More information

E-mail Listeners. E-mail Formats. Free Form. Formatted

E-mail Listeners. E-mail Formats. Free Form. Formatted E-mail Listeners 6 E-mail Formats You use the E-mail Listeners application to receive and process Service Requests and other types of tickets through e-mail in the form of e-mail messages. Using E- mail

More information

Continuous integration in OSGi projects using Maven (v:0.1) Sergio Blanco Diez

Continuous integration in OSGi projects using Maven (v:0.1) Sergio Blanco Diez Continuous integration in OSGi projects using Maven (v:0.1) Sergio Blanco Diez December 1, 2009 Contents 1 Introduction 2 2 Maven 4 2.1 What is Maven?..................................... 4 2.2 How does

More information

IBM WebSphere Server Administration

IBM WebSphere Server Administration IBM WebSphere Server Administration This course teaches the administration and deployment of web applications in the IBM WebSphere Application Server. Duration 24 hours Course Objectives Upon completion

More information

Core J2EE Patterns, Frameworks and Micro Architectures

Core J2EE Patterns, Frameworks and Micro Architectures Core J2EE Patterns, Frameworks and Micro Architectures [email protected] Patterns & Design Expertise Center Sun Software Services January 2004 Agenda Patterns Core J2EE Pattern Catalog Background J2EE

More information

GENiC. Deliverable D5.1 Development & Integration guidelines including integration environment & means. Dissemination Level: Public

GENiC. Deliverable D5.1 Development & Integration guidelines including integration environment & means. Dissemination Level: Public GENiC Deliverable D5.1 Development & Integration guidelines including integration environment & means This project has received funding from the European Union s Seventh Framework Programme for research,

More information

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. GlassFish v3 Building an ex tensible modular Java EE application server Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. Agenda Java EE 6 and GlassFish V3 Modularity, Runtime Service Based Architecture

More information

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012 Jenkins Continuous Build System Jesse Bowes CSCI-5828 Spring 2012 Executive summary Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development

More information

Sonatype CLM for Maven. Sonatype CLM for Maven

Sonatype CLM for Maven. Sonatype CLM for Maven Sonatype CLM for Maven i Sonatype CLM for Maven Sonatype CLM for Maven ii Contents 1 Introduction 1 2 Creating a Component Index 3 2.1 Excluding Module Information Files in Continuous Integration Tools...........

More information

Maven 2 in the real world

Maven 2 in the real world Object Oriented and beyond Maven 2 in the real world Carlo Bonamico [email protected] JUG Genova Maven2: love it or hate it? Widespread build platform used by many open source and commercial projects

More information

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

SDK Code Examples Version 2.4.2

SDK Code Examples Version 2.4.2 Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated

More information

Enterprise Application Development In Java with AJAX and ORM

Enterprise Application Development In Java with AJAX and ORM Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering [email protected] http://paulgrenyer.blogspot.com

More information

Global Software Change Management for PVCS Version Manager

Global Software Change Management for PVCS Version Manager Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.

More information

Business Process Execution Language for Web Services

Business Process Execution Language for Web Services Business Process Execution Language for Web Services Second Edition An architect and developer's guide to orchestrating web services using BPEL4WS Matjaz B. Juric With Benny Mathew and Poornachandra Sarang

More information

Converting Java EE Applications into OSGi Applications

Converting Java EE Applications into OSGi Applications Converting Java EE Applications into OSGi Applications Author: Nichole Stewart Date: Jan 27, 2011 2010 IBM Corporation THE INFORMATION CONTAINED IN THIS REPORT IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.

More information

Service Governance and Virtualization For SOA

Service Governance and Virtualization For SOA Service Governance and Virtualization For SOA Frank Cohen Email: [email protected] Brian Bartel Email: [email protected] November 7, 2006 Table of Contents Introduction 3 Design-Time Software

More information

Introduction to Programming Tools. Anjana & Shankar September,2010

Introduction to Programming Tools. Anjana & Shankar September,2010 Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue

More information

Modulo II Software Configuration Management - SCM

Modulo II Software Configuration Management - SCM Modulo II Software Configuration Management - SCM Professor Ismael H F Santos [email protected] April 05 Prof. Ismael H. F. Santos - [email protected] 1 Bibliografia Introduction to Apache

More information

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS Java EE Components Java EE Vendor Specifications Containers Java EE Blueprint Services JDBC Data Sources Java Naming and Directory Interface Java Message

More information

Upping the game. Improving your software development process

Upping the game. Improving your software development process Upping the game Improving your software development process John Ferguson Smart Principle Consultant Wakaleo Consulting Email: [email protected] Web: http://www.wakaleo.com Twitter: wakaleo Presentation

More information

Title of Deliverable Interoperability Framework Release Report 1 IF/2-D3, IF/3-D3, IF/4-D3, IF/5-D3

Title of Deliverable Interoperability Framework Release Report 1 IF/2-D3, IF/3-D3, IF/4-D3, IF/5-D3 Project Number Project Title IST-2006-033789 Planets Title of Deliverable Interoperability Framework Release Report 1 Deliverable Number Contributing Sub-project and Work-package Deliverable Dissemination

More information

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth. 1 Continuous Integration with Jenkins Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.se Faculty of Engineering, Lund Univeristy (LTH) March 5, 2013 Abstract

More information

HPC Portal Development Platform with E-Business and HPC Portlets

HPC Portal Development Platform with E-Business and HPC Portlets HPC Portal Development Platform with E-Business and HPC Portlets CHIEN-HENG WU National Center for High-Performance Computing, Hsin-Chu, 300, Taiwan E-mail: [email protected] Abstract HPC Portal Development

More information

Software Configuration Management. Addendum zu Kapitel 13

Software Configuration Management. Addendum zu Kapitel 13 Software Configuration Management Addendum zu Kapitel 13 Outline Purpose of Software Configuration Management (SCM) Motivation: Why software configuration management? Definition: What is software configuration

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

Software Configuration Management and Continuous Integration

Software Configuration Management and Continuous Integration 1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish

More information

Glassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader [email protected]

Glassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com Glassbox: Open Source and Automated Application Troubleshooting Ron Bodkin Glassbox Project Leader [email protected] First a summary Glassbox is an open source automated troubleshooter for Java

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124

Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124 Server-side OSGi with Apache Sling Felix Meschberger Day Management AG 124 About Felix Meschberger > Senior Developer, Day Management AG > [email protected] > http://blog.meschberger.ch > VP Apache Sling

More information

Continuous Integration

Continuous Integration Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal

More information

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5 Course Page - Page 1 of 5 WebSphere Application Server 7.0 Administration on Windows BSP-1700 Length: 5 days Price: $ 2,895.00 Course Description This course teaches the basics of the administration and

More information

Oracle Service Bus Examples and Tutorials

Oracle Service Bus Examples and Tutorials March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan

More information

Tutorial 5: Developing Java applications

Tutorial 5: Developing Java applications Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios [email protected] Department of Management Science and Technology Athens University of Economics and

More information

Software Delivery Integration and Source Code Management. for Suppliers

Software Delivery Integration and Source Code Management. for Suppliers Software Delivery Integration and Source Code Management for Suppliers Document Information Author Version 1.0 Version Date 8/6/2012 Status final Approved by Reference not applicable Subversion_for_suppliers.doc

More information

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically

More information

Maven2. Configuration and Build Management. Robert Reiz

Maven2. Configuration and Build Management. Robert Reiz Maven2 Configuration and Build Management Robert Reiz A presentation is not a documentation! A presentation should just support the speaker! PLOIN Because it's your time Seite 2 1 What is Maven2 2 Short

More information

Version Control with Subversion

Version Control with Subversion Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or

More information

ALERT installation setup

ALERT installation setup ALERT installation setup In order to automate the installation process of the ALERT system, the ALERT installation setup is developed. It represents the main starting point in installing the ALERT system.

More information

Oracle Application Development Framework Overview

Oracle Application Development Framework Overview An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services

More information

SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.

SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.

More information

Version Control Your Jenkins Jobs with Jenkins Job Builder

Version Control Your Jenkins Jobs with Jenkins Job Builder Version Control Your Jenkins Jobs with Jenkins Job Builder Abstract Wayne Warren [email protected] Puppet Labs uses Jenkins to automate building and testing software. While we do derive benefit from

More information

Revision control systems (RCS) and

Revision control systems (RCS) and Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

Building Web Services with Apache Axis2

Building Web Services with Apache Axis2 2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,

More information

Oracle WebLogic Server 11g Administration

Oracle WebLogic Server 11g Administration Oracle WebLogic Server 11g Administration This course is designed to provide instruction and hands-on practice in installing and configuring Oracle WebLogic Server 11g. These tasks include starting and

More information

Rapid Application Development. and Application Generation Tools. Walter Knesel

Rapid Application Development. and Application Generation Tools. Walter Knesel Rapid Application Development and Application Generation Tools Walter Knesel 5/2014 Java... A place where many, many ideas have been tried and discarded. A current problem is it's success: so many libraries,

More information

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014 DAVE Usage with SVN Presentation and Tutorial v 2.0 May, 2014 Required DAVE Version Required DAVE version: v 3.1.6 or higher (recommend to use the most latest version, as of Feb 28, 2014, v 3.1.10) Required

More information

Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework

Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 21 No. 1 (2013), pp. 53-69 Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework Marcin Kwapisz 1 1 Technical University of Lodz Faculty

More information

Framework Adoption for Java Enterprise Application Development

Framework Adoption for Java Enterprise Application Development Framework Adoption for Java Enterprise Application Development Clarence Ho Independent Consultant, Author, Java EE Architect http://www.skywidesoft.com [email protected] Presentation can be downloaded

More information

Enterprise Service Bus

Enterprise Service Bus We tested: Talend ESB 5.2.1 Enterprise Service Bus Dr. Götz Güttich Talend Enterprise Service Bus 5.2.1 is an open source, modular solution that allows enterprises to integrate existing or new applications

More information

API Architecture. for the Data Interoperability at OSU initiative

API Architecture. for the Data Interoperability at OSU initiative API Architecture for the Data Interoperability at OSU initiative Introduction Principles and Standards OSU s current approach to data interoperability consists of low level access and custom data models

More information

SAP NetWeaver Opens SAP ERP world. Amedeo Prodi SAP Italia

SAP NetWeaver Opens SAP ERP world. Amedeo Prodi SAP Italia SAP NetWeaver Opens SAP ERP world Amedeo Prodi SAP Italia SAP NetWeaver is an Evolutionary Platform: From Infrastructure to Applistructure SAP NetWeaver becomes the business process platform Productivity

More information

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

An Oracle White Paper October 2013. Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus An Oracle White Paper October 2013 Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus Table of Contents Introduction...

More information

Service-Oriented Architecture and Software Engineering

Service-Oriented Architecture and Software Engineering -Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based

More information

How To Integrate With An Enterprise Service Bus (Esb)

How To Integrate With An Enterprise Service Bus (Esb) Mule ESB Integration Simplified Rich Remington [email protected] Topics Integration, SOA, and ESB What Mule ESB is (and isn t) Mule Architecture & Components Configuration & Deployment Enterprise

More information

Talend Open Studio for ESB. Release Notes 5.2.1

Talend Open Studio for ESB. Release Notes 5.2.1 Talend Open Studio for ESB Release Notes 5.2.1 Talend Open Studio for ESB Copyleft This documentation is provided under the terms of the Creative Commons Public License (CCPL). For more information about

More information

Test Automation Integration with Test Management QAComplete

Test Automation Integration with Test Management QAComplete Test Automation Integration with Test Management QAComplete This User's Guide walks you through configuring and using your automated tests with QAComplete's Test Management module SmartBear Software Release

More information

LSC @ LDAPCON. 2011. Sébastien Bahloul

LSC @ LDAPCON. 2011. Sébastien Bahloul LSC @ LDAPCON. 2011 Sébastien Bahloul About me Developer and software architect 10 years experience in IAM Recently hired as product manager by a French security editor, Dictao, providing : personal and

More information

1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience...

1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience... Slice Documentation Slice Documentation 1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience... 1 2. Features

More information

SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:

More information

Technical Track Session Service-Oriented Architecture

Technical Track Session Service-Oriented Architecture Technical Track Session Service-Oriented Architecture Terry Woods Agenda A little history What is Service-Oriented Architecture? How do you build a Service-Oriented Architecture Solution? What is an Enterprise

More information

WebSphere Training Outline

WebSphere Training Outline WEBSPHERE TRAINING WebSphere Training Outline WebSphere Platform Overview o WebSphere Product Categories o WebSphere Development, Presentation, Integration and Deployment Tools o WebSphere Application

More information

Continuous Integration: A case study

Continuous Integration: A case study Continuous Integration: A case study Vaibhav Kothari Talentica Software (I) Pvt ltd 1 Abstract Developer s dilemma QA s dilemma Continuous Integration? Case study What is accomplished? Benefits of CI Recommended

More information

Best Practices for Java Projects Horst Rechner

Best Practices for Java Projects Horst Rechner Best Practices for Java Projects Horst Rechner Abstract: The combination of automated builds with module and integration tests and centralized bug and work tracking using a combination of Eclipse, Mylyn,

More information