Modern “Servlet” Development

Slides:



Advertisements
Similar presentations
Introduction to Java 2 Programming Lecture 4 Writing Java Applications, Java Development Tools.
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
Introduction to Maven Michael Youngstrom. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to the Java Stack.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
MC365 Ant. Today We Will Cover: Overview of Ant Installing Ant Using the Ant command line tool Various Ant commands available Using Ant in Eclipse.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
Building and Deploying a Simple Web Application. Tomcat and JSP Tomcat is an application server, commonly used to host JSP applications Applications are.
Automating Drupal Deployment Dominique De Cooman.
JSP and Servlets Lecture notes by Theodoros Anagnostopoulos.
CSE 403 Lecture 11 Static Code Analysis Reading: IEEE Xplore, "Using Static Analysis to Find Bugs" slides created by Marty Stepp
CHAPTER 4 SPRING FRAMEWORK Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
WebOPI -Build & Setup Xihui Chen April, 2013.
Maven and Stack Starter Michael Youngstrom. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack.
PHP, QA, and Jenkins Eric Cope June 25, 2013
Servlets Environment Setup. Agenda:  Setting up Java Development Kit  Setting up Web Server: Tomcat  Setting up CLASSPATH.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
AN OVERVIEW OF SERVLET TECHNOLOGY SERVER SETUP AND CONFIGURATION WEB APPLICATION STRUCTURE BASIC SERVLET EXAMPLE Java Servlets - Compiled By Nitin Pai.
Using the ALM Module Fully Automated Deployments in Stack 3.2.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
Java Servlets example using NetBeans 6. Pre-requirements: Install Java JDK 1.6 Install NetBeans IDE 6 (we will use version NetBeans IDE update 16)
Ant Build Tools.  Creating a product from source may take several steps: Compile Link Copy files to various directories Remove intermediate files Generate.
Topic Java EE installation (Eclipse, glassfish, etc.) Eclipse configuration for EE Creating a Java Web Dynamic Project Creating your first servlet.
JADE: agents insights Fabiano Dalpiaz Agent-Oriented Software Engineering (AOSE)
A seminar on j2ee by saritha. s. What is J2EE J2EE (Java 2 Platform, Enterprise Edition) is a Java platform designed for the mainframe-scale computing.
Struts 2 - The modern web application framework By Nalin De Zoysa
Deploying a service. Talk titledate2 Talk titledate3 Section SOAP Deployment.
Chapter 1 Introducing Ant. What is ant? Ant is a build tool  Automate the tasks of compiling code, running test, and packaging the results for redistribution.
Build Systems Presentation December 14, 2015 Noon-1pm Kathy Lee Simunich Bldg. 203/ D120 Brought to you by: Argonne Java.
1 G52IWS: Example Web-services Chris Greenhalgh. 2 Contents Software requirements AXIS web service run-time components Getting started with Jetty & AXIS.
All the dSoftArk Tools Getting started!. Tools dSoftArk is a semi-realistic, agile, development project –Industrial strength software (programming, TDD,
Continuous Integration Make your development life simpler.
® IBM Software Group © 2006 IBM Corporation Rational Asset Manager v7.2 Using Scripting Tutorial for using command line and scripting using Ant Tasks Carlos.
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
Software Deployment & Release 26/03/2015 1EN-ICE.
CPSC 372 John D. McGregor Module 6 Session 4 Sonar.
| Secure Software Development | Funke, Pfretzschner, Zulfiqar Integration of Static Code Analysis in Continuous Integration Lifecycles Source:
Google App Engine using Java 1. Outline Getting started Guestbook example Todo example Simplified Madlib 2.
Copyright © 2010 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. ODS Tools – Fannie Mae.
當 Java 遇上 DevOps 黃忠成. Java In Azure Storage Table Storage Services NoSQL base storage Fast and Easy to use Blob Storage Services File Storage (photo,
CS3220 Web and Internet Programming RESTful Web Service
Progress Apama Fundamentals
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Open-O Integration Project Introduction
Develop in the Cloud, Accelerate Software Evolution
Plan What is Maven ? Links : mvn command line tool
External Web Services Quick Start Guide
Google Web Toolkit Tutorial
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
Brian Leonard ブライアン レオナルド
Chengyu Sun California State University, Los Angeles
Using Jenkins for your DSC CI Pipeline
slides borrowed and adapted from Alex Mariakis and CSE 390a
Open Source Continuous Integration Server
Zlatko Stamatov JavaSkop 13 December 2015
J2EE Application Development
Continuous deployment best practices, methods and tools.
Setting up an Eclipse project from a repository on GitHub
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Devops Jenkins as CI/CD tool Created By: Amrit Choudhary
JENKINS TIPS Ideas for making your life with Jenkins easier
Continuous Integration
Continuous Integration Tool
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
Working with Libraries
Java Code Review with CheckStyle
Software Engineering and Architecture
Presentation transcript:

Modern “Servlet” Development by Steven Gantz

Manual process One time - Create war structure (WEB-INF, web.xml, etc.) Write code Javac all .java files, move them to WEB-INF folder Jar –cvf <project>.war <all files to add> Copy .war into tomcat folder

Automation Makefiles Ant Manually create a makefile No flexibility Javac all .java files, move them to WEB-INF folder Jar –cvf <project>.war <all files to add> Copy .war into tomcat folder No flexibility Ant Java makefile Different syntax, same idea

Project Size Individual files -> Makefile/Ant Larger projects Ex. 100 files 1000 files 7000 files Dependencies Single Many Hundreds

Important to have experience w/ build tools before entering working world

Maven Overwhelming majority of Java dev groups use Maven Universal build tool Simple commands to execute, minimal configuration Handles dependencies elegantly Lends itself to Gradle and other newer build tools Works on command line, most IDEs, most CI applications

Continuous Integration/Deployment Along with using build tools, most devs use continuous int/dep tools Jenkins CI is popular Can be hosted locally, automatically runs commands

How I did Project 1 using Jenkins Setup project w/ Eclipse and Maven Write code, test on local machine When confident with build, commit code to github Open Jenkins CI, run build/auto-deployment job Runs code analytics with SonarQube Jenkins auto-deploys the .jar file to /home/students/me Auto-deploys Javadoc to /var/www Auto-deploys src and readme.txt to /home/students/me Automatically zips src, readme.txt, and .jar into zip to submit (Decided not to auto-submit, but is perfectly possible to do)

Jenkins Demo SonarQube demo: http://66.228.43.127:9000/dashboard/index/stevengantz.csc521:proj ect1 SonarQube Static code analysis becoming more popular No logic, just security issues, bugs, code smells

The point Investigate using Gradle or Maven for project 2/3 Use IDE if unfamiliar (Dev shops don’t use terminal 24/7) Look into Version Control if Unfamiliar (Extremely important) Try out Continuous Deployment/Integration services

Forum Post High overview of following topics Jenkins SonarQube Maven Eclipse Github Gitlab