Introduction to the Java Stack Michael Youngstrom

Download Report

Transcript Introduction to the Java Stack Michael Youngstrom

Introduction to the Java Stack
Michael Youngstrom
Notes
• This is a training NOT a presentation
• Please ask questions
• This is an introduction
– Subsequent training sessions will follow
Outline
• Role of the Java Stack Team
• Role of the Java Stack Tools
• Create and run a simple Java Stack Project
Who is the Java Stack Team?
Allen Day
Mike Youngstrom
Shayne Bateman
Matt Wheeler
Spencer Uresk
Asiel Brumfield
The Stack Charter
• Drive Productivity of Software Engineering in ICS
– Providing consulting and support services
– Simplifying the use of approved ICS technologies
– Delivering reusable cross-portfolio solutions
– Defining reference architectures
We Support Development
of Java applications in ICS
What kind of support do we provide?
•
•
•
•
•
•
•
•
•
•
Training
Expert help on supported tools
Architecture advice
Implementation advice
Java development and QA best practice
Deployment help
Build help
Framework/tool advice
Help with organizational standards
Help with any Java related question or problem
Support Tools
• Wiki:
– https://tech.lds.org/wiki/index.php/LDS_Java_Stack
• Reference Documentation:
– http://code.lds.org/maven-sites/stack/3.0/
• Sharepoint:
– http://stack
• Community Forum:
– https://tech.lds.org/forum/forumdisplay.php?98
• Community Issue Tracker
– https://code.lds.org/jira/browse/STACK
Lab 1: Getting to know Support Tools
https://tech.lds.org/wiki/index.php/Introduction_t
o_the_Java_Stack#Lab_1_Stack_Support_Tools
Support Workflow
Support Java
Development
Tooling
Stack Platform Tools
• Supporting all Java development is big task
• Tools help enable support
– Centrally solve problems once for many
– Focus expertise
– Bring uniformity to Java development
• Two main categories of tooling:
– Support for thirdparty tools and platforms
• Documentation, Training, Troubleshooting, etc.
– Custom tools
• Usually integration work
Thirdparty Tools and Platforms
Java
Oracle DB
Oracle
Streams AQ
(JMS)
JQuery
Tomcat / Tcat
Websphere
Maven
Spring
Portfolio
CXF (JAX-WS
and JAX-RS)
Sonar
Selenium /
WebDriver
WAM
LDS Account
Eclipse
Servlet / JSP
Hibernate /
JPA
TestNG
Custom Tools and Integrations
Sonar Analysis
Extentions
Spring
Concurrency
DB Migration
Tool
Spring DB Config
Spring GWT
Remoting
GWT Patterns
Library
Hibernate Config
Streams AQ
Spring
Integration
Logging Utilities
Example
Architectures
(Pet Store)
Pseudo I18n
Automated Test
Environment
Config
Remedy WS
Client
Jax-rs Spring
Utilities
Jax-ws Spring
Utilities
Service Proxy
Starter (Project
Templating)
Monitoring
Utilities
Tcat Deploy
Maven Plugin
Tomcat
Encryption
Generic Tomcat
Deploy Maven
Plugin
Websphere
Deploy Maven
Plugin
Spring Web
Utilities
Web Utilities
WAM OES Client
API
WAM Emulator
Maven Plugin
Web Security
Utilities
Spell Checking
Framework
Unit Test Utilities
Eclipse IDE
Integrations
Oracle XE
Development
VM
Custom Tool Modularity
• Custom tools are modular
– Can be used outside of “Stack” projects
– Independently Releasable
– Independently Documented
– Minimal Dependencies
LDSTech IDE
• Some problems are best solved with IDE help
• The Stack tools are IDE agnostic
– We are best equipped to support Eclipse
• Why Eclipse?
– Free
– Large plugin ecosystem
– More stable future than NetBeans
– Customizable product builds
LDSTech IDE Features
• Preinstalled plugins
–
–
–
–
–
–
–
–
Maven Eclipse
Spring IDE
Subclipse
TestNG Plugin
Oracle DB Connectivity
GWT Integration
Web Development Plugins
Tomcat 6 preinstalled
• Plugin to simplify Tomcat Dev configuration
• Tie configuration of plugins with Maven
• Optimal Configuration Defaults
LAB 2: Install LDSTech IDE
https://tech.lds.org/wiki/index.php/Introduction_t
o_the_Java_Stack#Lab_2_Install_LDSTech_IDE
Stack Starter
• Stack Starter is a templating application
• Produces a preconfigured project:
– Fully functional
– Uses supported tools
– Can provides a simple demo
• The generated application is yours to evolve
• “Stack” upgrades simply update tool versions not
configuration
• Stack tools are still useful without Stack Starter
• The only tool assumption Starter makes is the use of
Maven
Lab 3: Create Application
https://tech.lds.org/wiki/index.php/Introduction_t
o_the_Java_Stack#Lab_3_First_Application
Summary
• Java Stack team is a Java development support
group
• Java Stack tools aid in support
• LDSTech IDE simplifies development
• Stack Starter provides simple project templates