Welcome!

‰Check that you can "raise your hand" next to your name ‰When we start I'll ask everyone to raise their hand to verify you can hear me ‰To ask a question during the presentation type it in the questions pane

©WebAgeSolutions.com 1 "Web Age Speaks!" Webinar Series

Exploring Galileo

©WebAgeSolutions.com 2 Introduction

‰Matt Silver ™Technical Trainer/Courseware Developer ™[email protected] ‰Web Age Solutions ™Providing training for Eclipse since 2004 ™Using Eclipse-based tools as the foundation of our /Java EE training

©WebAgeSolutions.com 3 Overview of Talk

‰Introduction to Eclipse Galileo ‰Changes to Eclipse Java Enterprise tools ‰Other Eclipse projects ‰Compatibility of other Eclipse toolsets ‰Our offerings

©WebAgeSolutions.com 4 Exploring Eclipse Galileo

What is Galileo?

©WebAgeSolutions.com 5 Eclipse Galileo

‰ Eclipse projects can participate in a coordinated annual release cycle ™ This occurs in late June every year ™ This year it was codenamed "Galileo" and included 33 projects and 24 million lines of code ‰ A few of the projects included are "incubating" ™ This just means they have some more tasks to accomplish before being considered a fully functional Eclipse project ‰ The coordinated release helps improve compatibility ™ This also helps avoid tracking many different version numbers for all of the individual projects ‰ Included Projects: www.eclipse.org/galileo/projects.php

©WebAgeSolutions.com 6 Eclipse Updates

‰ With Eclipse Galileo, installing new and looking for updates are managed separately ™ In previous Eclipse versions updates and new software were managed in the same dialog ‰ When listing new software to install you can select a specific update site to avoid being overloaded with available software ™ You can also view all software if you want to browse or do not know which site provides certain features ‰ Available software update sites are managed as a preference which should make it easier for plug-ins to contribute to this list ‰ You can also enable automatic checks for updates although this is not new to Galileo

©WebAgeSolutions.com 7 Exploring Eclipse Galileo

Eclipse Web Tools Platform

©WebAgeSolutions.com 8 Eclipse Web Tools Platform

‰Provides Eclipse support for Java Enterprise development ‰The most popular project in the Eclipse ecosystem ‰Not many major changes since Java EE 6 is not finalized ‰Website: http://www.eclipse.org/webtools/

©WebAgeSolutions.com 9 General Changes

‰ First full release that supports JBoss Application Server 5.0 GA ™ Before you needed a maintenance release (Ganymede SR 2) ‰ Rebranded Welcome page with button links to online resources ‰ Added a new view called Markers view which combines information shown in Problems and Tasks views

‰ Servers view has decorations for status instead of columns

©WebAgeSolutions.com 10 User Libraries

‰ User libraries are a way to register perhaps multiple JAR files ™ User libraries are also often used in multiple projects ™ Although user libraries are not new, they have been enhanced to provide a mechanism for JSF and JPA implementations ‰ You can configure user libraries on your own or even download some popular implementations ™ If you are using the implementation provided by a server you would disable library configuration

©WebAgeSolutions.com 11 Dali JPA Tools

‰ EclipseLink ™ The open source project created from the Oracle donation of TopLink ™ EclipseLink will be the JPA 2.0 reference implementation ™ The Dali JPA tools have specific enhancements for EclipseLink features ‰ Entity generation from tables ™ Entity generation wizard has more customization options

©WebAgeSolutions.com 12 XML Tools

‰Addition of an XML perspective ™Main views added are XPath and Templates views ‰Smart insert to automatically add a matching end tag for a start tag ‰Advanced tab in the Properties view for simple types and schema elements ‰Able to right-click a schema type definition in the graphical design view and set the base type ‰Lots of additional features for XSL and XPath

©WebAgeSolutions.com 13 Exploring Eclipse Galileo

Other Eclipse Projects

©WebAgeSolutions.com 14 Test and Performance Tools Platform

‰ Provides a framework for the support of testing and performance monitoring tools ™ The platform simply provides a foundation on which tool developers can write testing and performance tools ‰ The project also includes sub-projects with a standard set of tools based on the platform ™ This includes application performance profiling, automated unit testing, and log analysis ‰ The testing and monitoring tools can also work with remote systems using an "agent controller" installed on the remote system ™ This would need to be downloaded and installed separately from Eclipse ‰ Website: http://www.eclipse.org/tptp/

©WebAgeSolutions.com 15 Mylyn

‰ Allows a task-focused approach to programming ™ Can filter out files not relevant to current task ™ Mylyn can learn what files and even methods are important for a task by what you are doing ™ Helps preserve the "context" of what was important when switching between tasks

‰ The main Mylyn view is the Task List view although Mylyn can filter content in other standard views ‰ Mylyn is even more useful in a team environment when issues are tracked with a task repository ™ Many popular issue tracking repositories have a Mylyn "connector" ‰ Website: http://www.eclipse.org/mylyn/

©WebAgeSolutions.com 16 AspectJ & AspectJ Development Tools

‰ AspectJ is a Java implementation of Aspect Oriented Programming ™ AOP looks to modularize crosscutting concerns but still allow them to be joined together in the final system ™ Logging is a typical example because it can affect many parts of a system but AOP can be much more than logging ‰ The AspectJ Development Tools project allows easier creation of code using AspectJ in Eclipse ™ Specialized views and markers in the margin of source code allow visualization of how AOP code is "woven" together ‰ Website: http://www.eclipse.org/aspectj/ & http://www.eclipse.org/ajdt/

©WebAgeSolutions.com 17 Memory Analyzer

‰ A tool that can analyze heap dumps to help find memory leaks and improve performance ™ You can find classes with the largest average size or number of objects and trace the object references back to a root ‰ You can download into Eclipse Galileo or as a separate Eclipse RCP application ‰ Steps to collect information vary depending on JVM ‰ The Memory Analyzer is an incubating project ‰ Website: http://www.eclipse.org/mat/

©WebAgeSolutions.com 18 PDT - PHP Development Tools ‰Eclipse is not just about Java ™Some of the non-Java projects have been very popular ‰Provides advanced features like PHP syntax checking, code completion, and templates above what a text editor can do ‰Requires an external PHP debugger ™Information in the project about where to get one ‰Website: http://www.eclipse.org/pdt/

©WebAgeSolutions.com 19 CDT - /C++ Development Tooling

‰Eclipse provides a wizard to create a C++ class and can generate the header and implementation files for you ™Some common method stubs can also be created ‰You can initiate building, running, and debugging from the Eclipse interface ‰Eclipse calls external tools to compile and debug C/C++ code ™On Windows you would need to make sure these are available ‰Website: http://www.eclipse.org/cdt/

©WebAgeSolutions.com 20 BIRT-Business Intelligence and Reporting Tools

‰ BIRT provides a framework for adding reporting to web applications, especially Java EE applications ™ You can concentrate on where to obtain the data for a report and how to present it instead of developing a reporting framework ‰ BIRT includes Eclipse tools for report design and a runtime component for an application server ‰ Besides data source and presentation you can add data transformations and business logic ™ The business logic can even call into your existing Java code ‰ Website: http://www.eclipse.org/birt/

©WebAgeSolutions.com 21 Exploring Eclipse Galileo

Compatibility of Other Eclipse Toolsets

©WebAgeSolutions.com 22 MyEclipse ‰One of the most popular products based on Eclipse ™Not free but one of the lowest priced Eclipse tools available ‰Provides a tested, pre-configured, and supported combination of many useful plug- ins ™Some are developed by MyEclipse and others are developed separately but packaged with MyEclipse ™Even provides support for deploying and testing on WebSphere with the "Blue edition" ‰Does not yet have a version based on Galileo ™Likely will later this year ‰Website: www.myeclipseide.com

©WebAgeSolutions.com 23 Spring Eclipse Tools

‰ Spring IDE ™ Adding Spring support to Eclipse projects ™ Editor for Spring configuration files including visual representation ™ Tools for Spring WebFlow framework ™ Installed via an Eclipse "update site" ‰ Spring Tool Suite ™ Free with registration ™ Includes tools of Spring IDE ™ Support for OSGi development ™ Support for SpringSource dm Server & tc Server ‰ Both have Galileo compatible downloads ‰ Website: springide.org & www.springsource.com/products/sts

©WebAgeSolutions.com 24 JBoss Eclipse Tools

‰ Provides support for various JBoss platforms and technologies ™ JBoss Seam ™ ™ JBoss Drools business rules ™ JBoss jBPM business processes ‰ Obtain in two ways ™ JBoss Tools - free but unsupported ™ JBoss Developer Studio - subscription pricing with support ‰ Current releases are not Galileo compatible ™ Uses Eclipse Ganymede ™ Galileo versions are under development ‰ Website: www.jboss.org/tools & www.jboss.com/products/devstudio/

©WebAgeSolutions.com 25 Exploring Eclipse Galileo

What's Next?

©WebAgeSolutions.com 26 Eclipse "Helios" ‰The June 2010 Eclipse release will be called "Helios" ™Appropriate given the impact of many Sun Java specifications ™Individual projects are beginning to plan what updates will be made ‰This will be the first release after the finalization of the Java EE 6 specifications ™Updates for JSF 2.0, JPA 2.0, Servlet 3.0, EJB 3.1, etc ™Eclipse WTP will be very different next time around ‰Also should add support for Java SE 7 if this is finalized by this timeframe

©WebAgeSolutions.com 27 Exploring Eclipse Galileo

Our Offerings

©WebAgeSolutions.com 28 Core Java/Java EE Classes

‰All of our core Java and Java EE courses are offered using Eclipse ™Many courses use Eclipse even if not specifically mentioned in the title ‰www.webagesolutions.com/training/ java/index.html ‰We use standard Eclipse tools so that skills are portable to other Eclipse-based environments ‰If other Eclipse toolsets like Spring IDE provide significant value we try to use those for courses

©WebAgeSolutions.com 29 Popular Eclipse Courses

‰WA1278 - Intro to Java using Eclipse ™www.webagesolutions.com/training/java/wa1278 ‰WA1718 - Java EE 5 Programming with JSF, EJB 3.0, and JPA using JBoss 5.0 ™www.webagesolutions.com/training/jboss/wa1718 ‰WA1720 - EJB 3.0 Programming Using JBoss 5.0 ™www.webagesolutions.com/training/jboss/wa1720 ‰WA1746 - Developing JSF Web Applications with Spring and Hibernate ™www.webagesolutions.com/training/java/wa1746

©WebAgeSolutions.com 30 Summary

‰The Eclipse Galileo simultaneous release is the largest number of Eclipse projects released at one time ‰Galileo helps ensure compatibility between projects ‰There are many different projects offering a wide range of features ‰The predictable release schedule helps other Eclipse-based tools update quickly

©WebAgeSolutions.com 31 Contact and Resources

‰Matt Silver ™[email protected] ‰Web Age Solutions ™www.webagesolutions.com/contactus/ ™US - 215-517-6540 ™Canada - 416-406-3994 ‰Eclipse Information ™www.eclipse.org ™www.eclipse.org/galileo

©WebAgeSolutions.com 32