Eclipse: The universal tools platform

sweetleafapartInternet και Εφαρμογές Web

7 Αυγ 2012 (πριν από 5 χρόνια και 3 μήνες)

283 εμφανίσεις

IBM Software Group

®


IBM Open Source Software Competition


Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

Agenda


Open Source


Eclipse


New Developments


Summary


Questions

IBM Software Group | WebSphere software

Free Software versus Open Source


Free software is a matter of liberty not price. You should think of
“free” as in “free speech”, not as in “free beer”. (
http://www.fsf.org/
)


Perceived drawbacks to Free Software


Confusion as to it’s definition


Googling for free software returns many different things


http://www.fsf.org/licensing/essays/free
-
sw.html


Licensing


“Copy left” requirement


Lack of quality


Unknown pedigree


Scalability, serviceability, reliability, localization, …


Largely unfounded


Not attractive to commercial enterprises

“Open source is a development methodology; free software is a social movement”

IBM Software Group | WebSphere software

What is Open Source


Open Source Initiative (OSI) maintains a formal
definition of Open Source Software (OSS) recognized
by the open source community.



OSI has a web site at: http://www.opensource.org



Open Source Definition current criteria (paraphrased):


Free Redistribution


Source Code


Derivative Works


Integrity of The Author's Source Code


No Discrimination


No Discrimination Against Fields of Endeavor


Distribution of License


License Must Not Be Specific to a Product


License Must Not Restrict Other Software


License Must Be Technology Neutral


The basic idea behind open source
is very simple: When programmers
can read, redistribute, and modify
the source code for a piece of
software, the software evolves.
People improve it, people adapt it,
people fix bugs. And this can
happen at a speed that, if one is
used to the slow pace of
conventional software
development, seems astonishing.



IBM Software Group | WebSphere software

Open Source Development Methodology


Virtual community of programmers, leveraging the Internet for
communication, who create / debug / maintain / evolve a source
code base


OSS projects often self
-
organizing:


Someone determines a need and communicates that need to others
on the Internet


If the project generates interest, one or more programmers begin
writing code


Someone takes a leadership role and begins to map out a project
road map


Interested programmers join the project to contribute new code or
fine
-
tune existing code


A network of participants, linked via the Internet, forms


Tiered participation levels emerge

IBM Software Group | WebSphere software

IBM and Open Source


IBM has contributed many projects to the open source community


Eclipse Project:
http://www.eclipse.org


Project dedicated to providing a robust, full
-
featured, commercial
-
quality, industry platform for the development of highly integrated
tools


Apache Derby:
http://db.apache.org/derby


Database management system developed by the Apache Software
Foundation


Linux Technology Center (LTC):
http://www.ibm.com/linux


Work towards Enterprise enablement of the Linux OS through the
development and contribution of technology, utilities, tools and
code


Other contributions


IBM Pledges 500 U.S. Patents To Open Source In Support Of
Innovation And Open Standards

IBM Software Group | WebSphere software

IBM and Open Source


IBM uses open source in its products


Building products on top of open source projects e.g. Rational
Application Developer


Apache webserver to support and bundle with its WebSphere suite


IBM promotes open source development


Externally


AlphaWorks:
http://alphaworks.ibm.com


DeveloperWorks:
http://www
-
130.ibm.com/developerworks/opensource


Internally


Using open source intranet site to promote software
componentization and reuse


IBM Software Group | WebSphere software

Agenda


IBM and Open Source


Eclipse


New Developments


Summary


Questions

IBM Software Group | WebSphere software

Java Tooling


From
www.eclipse.org

. . .


“Eclipse is an open source community whose
projects are focused on providing an extensible
development platform and application frameworks for
building software.”



Put more simply . . .


Eclipse is an Open Source Java IDE



And so much more . . . .


Multiple languages (Java, C++, COBOL)


Debugger


Unit Testing


Modelling with UML


Visual Editing of Java UI


Java Web Tools (JSP, EJB, XML . . . .)



All through an extensible plugin
-
based IDE

IBM Software Group | WebSphere software

Eclipse Project Aims


Provide open platform for application development tools


Run on a wide range of operating systems


Windows, Linux, AIX, MacOS X, etc.


GUI and non
-
GUI components


Language
-
neutral


Able to handle different content types


Java, HTML, C/C++, JSP, EJB, XML, GIF, etc.


Facilitate seamless tool integration


At UI and lower level


Add new tools easily


Attract community of tool developers


Including independent software vendors (ISVs)


Capitalize on popularity of Java for writing tools

IBM Software Group | WebSphere software

Why develop plugins that extend Eclipse ?


Infrastructure


You get a workbench created for free


just add what you need


No need to create an environment from scratch


Build on Eclipse Modelling Framework (EMF) for model support


Build on Graphical Editing Framework (GEF) for graphics support


Interoperability


Use any of the existing tools in your ‘end
-
product’


Java Editor, outliner . . .


Explorer, Text editor, search . . . etc.



Examples


Java (or any language) code analysis/transformation plugins


Any UML related tooling (using EMF)


Any Java graphical projects (using GEF)

IBM Software Group | WebSphere software

Java Perspective


Java
-
centric view of files in Java projects


Java elements meaningful for Java programmers

Java

project

package

class

field

method

Java

editor

IBM Software Group | WebSphere software

Java Editor

Lots of useful features such as . . . .


Method completion in Java editor

List of plausible methods

Doc for method

IBM Software Group | WebSphere software

Top 10 Tips for Eclipse Users


Use Code Assist


Just press the code assist key combination (by default ctrl
-
space) and
the IDE will either fill in where you’ve started typing or display a menu.


Navigate Through Code By ctrl
-
Clicking


You can move to a field, method, or class by holding down the ctrl key
and clicking on the identifier you’re interested in.


Quickly Open Classes and Resources by Name


To open a Java class, press ctrl
-
shift
-
T. This will display a dialog box
that allows you to type in a class name.


Set the Heap Size


Eclipse is a large, complex, Java
-
based IDE. It needs lots of memory
to perform well.


eclipse
-
vmargs

Xmx1024M

IBM Software Group | WebSphere software

Top 10 Tips for Eclipse Users


Configure Eclipse To Use a JDK, not a JRE


Go to Window
-
> Preference
-
> Java
-
> Installed JREs


Use a JDK that supports hot code replace (IBM J9 or JDK 1.4.1+)


Use the Eclipse’s Refactoring Support and Code Generation


Eclipse also has extensive support for code generation.


Use Multiple Workspaces Effectively


A workspace is a container of projects that has its own set of
preferences and metadata.


eclipse

data c:
\
myworkspace

showlocation


Use Templates


Open a Java class in an editor, type in “sysout” and press ctrl
-
space.


Set Type Filters


If you’re seeing classes show up at the top of your search you know
you’re not interested in, filter them out for faster searching.


IBM Software Group | WebSphere software

Top 10 Tips for Eclipse Users


Know the Keyboard Shortcuts


ctrl
-
shift
-
o: organize imports


ctrl
-
shift
-
F4: closes all open editor windows


ctrl
-
o: outline popup


very useful for quickly jumping to a method in a
large class


f4: shows the hierarchy viewer for a class (ctrl
-
T shows similar data in
a popup version)


ctrl
-
m: toggle maximize of the current editor or view


ctrl
-
F11: run the last launched configuration

IBM Software Group | WebSphere software

Agenda


IBM and Open Source


Eclipse


New Developments


Summary


Questions

IBM Software Group | WebSphere software

New Projects


AJAX


OpenAjax


http://www.openajax.org


DOJO


http://www.dojotoolkit.org


Apache MyFaces


http://myfaces.apache.org


Eclipse ATF (Ajax Toolkit Framework)


Groovy


CodeHaus


http://groovy.codehaus.org


Grails


http://www.grails.codehaus.org


Project Zero


http://www.projectzero.org


IBM Software Group | WebSphere software

New Projects


Mozilla


XULRunner
-

UI “embedded browser” used widely


http://developer.mozilla.org/en/docs/XULRunner


Asterisk


Digium
-

http://www.asterisk.org


Asterisk Now
-

http://www.asterisknow.org


IBM Software Group | WebSphere software

Agenda


IBM and Open Source


Eclipse


New Developments


Summary


Questions

IBM Software Group | WebSphere software

IBM Open Source Software Competition


The competition is based on fourth year CS projects in each university



An IBM Mentor who is a senior software architect from Dublin Software Lab
has been assigned to each university



To be eligible for participation there must be a minimum of five qualifying
projects



At the end of the academic year, the mentor will evaluate the projects based
on the level of Open Source content and on the overall project results and
will select a short list of projects which will in turn be evaluated by a panel at
the Software Lab



Individual projects, not joint projects, will be evaluated



The student with the best project will win a high spec IBM Think Pad

IBM Software Group | WebSphere software

Resources


Articles, tutorials, presentations on Eclipse RCP


http://www.eclipse.org/rcp


IBM : Web Services general information


http://www
-
128.ibm.com/developerworks/webservices


Developerworks



http://www
-
128.ibm.com/developerworks


AlphaWorks


http://www.alphaworks.ibm.com/


Redbooks


http://www.redbooks.ibm.com/


IBM Dublin Center for Advanced Studies


http://www.ibm.com/ibm/cas/sites/dublin/


Academic Initiative:


http://www.developer.ibm.com/university/scholars/


IBM Software Group | WebSphere software

IBM Academic Initiative

IBM Software Group | WebSphere software

Developer Works

IBM Software Group | WebSphere software

Agenda


IBM and Open Source


Eclipse


New Developments


Summary


Questions

IBM Software Group | WebSphere software

Questions