ibm open source software competition mark wallace, software architect, ibm dublin software lab

26
IBM Software Group ® IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

Upload: macha

Post on 08-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab. Agenda. Open Source Eclipse New Developments Summary Questions. Free Software versus Open Source. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group

®

IBM Open Source Software Competition

Mark Wallace, Software Architect, IBM Dublin Software Lab

Page 2: 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

Page 3: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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”

Page 4: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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.

Page 5: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 6: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 7: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 8: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

Agenda

IBM and Open Source

Eclipse

New Developments

Summary

Questions

Page 9: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 10: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 11: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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)

Page 12: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

Java Perspective

Java-centric view of files in Java projects Java elements meaningful for Java programmers

Javaproject

package

class

field

method

Javaeditor

Page 13: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 14: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 15: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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.

Page 16: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 17: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

Agenda

IBM and Open Source

Eclipse

New Developments

Summary

Questions

Page 18: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 19: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 20: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

Agenda

IBM and Open Source

Eclipse

New Developments

Summary

Questions

Page 21: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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

Page 22: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

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/

Page 23: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

IBM Academic Initiative

Page 24: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

Developer Works

Page 25: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

Agenda

IBM and Open Source

Eclipse

New Developments

Summary

Questions

Page 26: IBM Open Source Software Competition Mark Wallace, Software Architect, IBM Dublin Software Lab

IBM Software Group | WebSphere software

Questions