Introduction to Java
Total Page:16
File Type:pdf, Size:1020Kb
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 Eclipse 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/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 software 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/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 Hibernate 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