Introduction to the Podcast Series and the Connection to the Lecture and Lab
|
|
|
- Abigayle Lindsey
- 10 years ago
- Views:
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 About me Tim te Beek [email protected] Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository
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)
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
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]
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
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...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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,
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
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
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...........
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
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
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
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
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
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.
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
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.
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
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
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
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
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
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
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
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
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
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
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
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 [email protected] First a summary Glassbox is an open source automated troubleshooter for Java
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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
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
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,
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
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,
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
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
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
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
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
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
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...
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
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
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
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
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
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
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:
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
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
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
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,
