310 likes | 431 Views
Leveraging the Eclipse Ecosystem for the Scientific Community. Tony Lam @ ANSTO Andy G ötz @ ESRF ICALEPCS 2005. Sydney - Australia. Australian Nuclear Science and Technology Organisation (ANSTO). Neutron Scattering Probing material structure with neutron beam. OPAL
E N D
Leveraging the Eclipse Ecosystem for the Scientific Community Tony Lam @ ANSTO Andy Götz @ ESRF ICALEPCS 2005
Sydney - Australia Australian Nuclear Science and Technology Organisation (ANSTO)
Neutron Scattering Probing material structure with neutron beam OPAL Open Pool Australian Light-water Reactor ANSTO
Eclipse Eclipse Eclipse Eclipse Eclipse
Eclipse Invasion • Eclipse Workshop • EPICS Workshop • TANGO Workshop • MDA Workshop • Oral Presentations • MDA Control Systems and Eclipse (TU1.4) • Eclipse Ecosystem (TH3A.3) • EPICS Office (FR2.6)
What is Eclipse? • Official Definition: • Eclipse is an open source community whose projects are focused on providing an extensible development platform and application frameworks for building software. • Eclipse Evolution • Version 1.0: Open Source Java IDE • Version 2.0: Universal Tooling Platform • Version 3.0: Platform for Rich Client Application
Eclipse as an IDE • Language supported: • Java, C/C++, C#, FORTRAN, Ruby, Python, Ada, AspectJ……you name it!! • Agile Method • Incremental build, Refactoring • Test Driven Development • JUnit Test, Automated Testing Framework • Model Driven Software Development • Open Architectureware • Team Concurrent Development support • CVS, Subversion • Plus More • ANT support, Interactive Debugger, Visual Editor…
Eclipse Overview Another Tool Eclipse Platform Workbench Help Java Development Tools (JDT) JFace SWT Team Your Tool Plug-in Development Environment (PDE) Workspace Debug Their Tool Platform Runtime Eclipse Project
Eclipse Ecosystem • 30+ open source official Eclipse projects • 1000+ commercial / open source plug-ins • EclipsePlugins http://eclipse-plugins.2y.net/eclipse/index.jsp • Eclipse Plugin Central http://www.eclipseplugincentral.com/
8 Top Level Eclipse Project I • The Eclipse Project • Platform, Java, Plug-in development support • The Eclipse Tools Project • Modelling, C/C++, UML • The Eclipse Technology Project • Academic / Research, Embedded System, Communication, Application Lifecycle management • The Eclipse Web Tools Platform Project • J2EE development
8 Top Level Eclipse Project II • The Eclipse Test and Performance Tools Platform Project (TPTP) • Business Intelligence and Reporting Tools Project (BIRT) • Data Tools Platform Project (DTP) • Device Software Development Platform (DSDP)
Eclipse Phenomena • Wide range of mainstream IT industry users • Official use: 2% 8% in last 6 month (end of ’04) • Unofficial use: 44% (end of ’04) • Becoming a new teaching tool in universities • Increasing popularity among the scientific community • Eclipse’s open source model is changing the future of software industry
New Software Collaboration Model • IDE Applications • IBM Websphere Studio, JBuilder 2006, Eclipse, Palm OS Developer Suite • Software Testing Tools • IBM Rational Application Tester, Scapa Test & Performance Platform Product A Product B Compete Commercial Part Open Source Platform Collaborate
Eclipse RCP • RCP = Rich Client Platform • RCP = Really Cool Product!? • Subset of Eclipse minium set of component to build a standalone application • A common platform for collaboration • Good framework contributes up to 80% of code • Better spend more effort on business logic • Code sharing with your community • Leverage existing Eclipse plug-in to your application!!
Extreme Eclipse • BitTorrent • Azureus (top sourceforge project) • SchoolEclipse • School management • Gmail • eBay • French Wine Test
Parallel Tool Platform (PTP) • Running and debugging application on parallel computing environment • Collaborative effort between Los Alamos National Laboratory, Monash University, IBM, Intel, … • Good example of cross domain open source collaboration • Official Eclipse sponsored project
GumTree Platform • Open source application framework for building a scientific workbench that supports data acquisition and data analysis • Control System Neutral • TANGO, EPICS, SICS… • Visualisation Tool Neutral • OpenGL, VTK, ISAW, Ptplot… • Data Format Neutral • HDF, XML, NeXus… • Collaboration • ANSTO, ESRF, ILL, PSI, and SAFARI-1 Reactor
GumTree Philosophy • Leveraging many Java / Eclipse technologies • Code reusability • A common software platform in control system / experimental physics domain • Platform for software collaboration
Breaking News!! • Eclipse Community for the Control System Community has been Proposed!! • EPICS Office • GumTree community • Existing Eclipse based CS applications • Eclipse user group in ICALEPCS • Plus the huge Eclipse community • We should not only leverage the IDE technology, but also leverage their model for collaboration.
Where to start Eclipse • http://www.eclipse.org • http://www.eclipsecon.org (2005) • http://gumtree.sourceforge.net • Contact: tony.lam@ansto.gov.au
Eclipse History • Started by IBM since 1998 • A platform to unite IBM Visual Age products. • IBM handed over the control to a NOT FOR PROFIT consortium, the Eclipse Foundation, at 2004 • IBM also donated $40million to the Eclipse Foundation • The Eclipse Foundation now as over 100 commercial members • Each member must use Eclipse technology on at least one of their project
Eclipse Architecture • Software Development • Medical Billing System • Scientific Computing