Introduction to the Java Stack Michael Youngstrom Outline • Who is the Java Stack Team • What is the Java Stack • Stack Tools Who is the Java Stack Team? Allen Day Matt Wheeler Mike Youngstrom Bruce Campbell Jeremy Lund Mike Heath Robert Thornton 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 about the LDSTech Community? • Our Charter applies to LDSTech development too – We support Community Java Development – Mostly Web Development • Java represents best shot at ICS Sponsorship: – Co-location – Co-development 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 Scripting help Framework/tool advice Integration with organizational standard Technologies 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/ • Community Forum: – https://tech.lds.org/forum/forumdisplay.php?98 • Training – https://tech.lds.org/wiki/Java_Stack_Training • Issue Tracker – https://code.lds.org/jira/browse/STACK Stack Platform Tools • Supporting all of Java is a big task! • Standard Tools help enable support – Centrally solve problems once for many – Focus expertise – Bring uniformity to Java development Integrated Tools and Platforms Java Oracle DB Oracle Streams AQ (JMS) Hibernate / JPA EhCache Tomcat Websphere Maven Spring Portfolio CXF (JAX-WS and JAX-RS) Selenium WAM LDS Account Eclipse TestNG Servlet / JSP 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 Spring Web Utilities Web Utilities WAM OES Client API WAM Emulator Maven Plugin Web Security Utilities EhCache Streams AQ Integration Unit Test Utilities Eclipse IDE Integrations Oracle XE Development VM LDSTech IDE • Eclipse based IDE • Preinstall many tools – Maven – Spring – SVN – Git – Tomcat • Plugin to simplify Tomcat Dev configuration • Optimal Configuration Defaults Oracle VM • Oracle is the primary database in ICS • Oracle XE is free version of Oracle – Great for development • Nobody wants Oracle on their workstation – Background services – Port issues – Etc • Currently provide Virtual Box VM Image • Allows us to by pass redistribution issues 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 own and evolve • Individual tools are still usable without Stack Starter Summary • Java Stack team is a Java development support group – Including Community Development • As a team we support many tools • Starter tools – LDSTech IDE – Oracle VM – Stack Starter Lab Getting Started • LDSTech IDE – https://tech.lds.org/wiki/Getting_started_with_the_LDST ech_IDE_(Java_WebApp_platform) • Install Oracle VM – https://tech.lds.org/wiki/Oracle_VM • Creating a Stack Starter Project importing into eclipse – https://tech.lds.org/wiki/Creating_a_LDS_Java_Stack_Pro ject