<<

Twelve Reasons To Use NetBeans™ Software—Episode 2

Inyoung Cho Tim Cramer Technology Evangelist Director of Developer Tools

Charles Ditzel Tim Boudreau Technologist NetBeans Evangelist

Sun Microsystems, Inc.

TS–1387

Copyright © 2006, Inc., All rights reserved. 2006 JavaOneSM Conference | Session TS-1387 | Goals

Understand the new benefits and features the NetBeans™ IDE offers developers. Learn how fast NetBeans technology is growing this past year and where it is going .

2 2006 JavaOneSM Conference | Session TS-1387 | Agenda

What Is NetBeans Software? Twelve Reasons to Use the NetBeans IDE Summary and More Information Q&A

3 2006 JavaOneSM Conference | Session TS-1387 | What Is NetBeans Software?

4 2006 JavaOneSM Conference | Session TS-1387 | What Is NetBeans Software?

● NetBeans.org ● Open source since June 2000 ● 10 million downloads since 2000 ● 33% increase in the past year ● Vibrant community: Over 70,000 mailing list subscribers ● Runs on all platforms—no native code, 1.4 or higher

● NetBeans IDE ™ ● Full-featured Java IDE ● Composed of plug-ins, extensible by plug-ins

● NetBeans Platform ● Rich Client 5 2006 JavaOneSM Conference | Session TS-1387 | What Is NetBeans Software?

● Free

● The basis for and Sun Java Studio Enterprise (+ tools from other vendors)

● Open Source tool of the year

● Winner of two Codie Awards ● Best Software Development Product ● Best Open Source Product

● Works right out of the box—no searching for plug-ins

● NetBeans technology is growing very fast; how fast…? http://www.netbeans.org

6 2006 JavaOneSM Conference | Session TS-1387 | NetBeans Technology Growth— Very, Very Fast

A Really Great Year

7 2006 JavaOneSM Conference | Session TS-1387 | NetBeans Technology Growth— Very, Very Fast

8 2006 JavaOneSM Conference | Session TS-1387 | NetBeans Partners

9 2006 JavaOneSM Conference | Session TS-1387 | 12 Reasons To Use NetBeans Software

10 2006 JavaOneSM Conference | Session TS-1387 | Reason 1: Out of the Box Experience

● Fast, Comprehensive IDE and Platform ● Full Support ● Support for Java SE 1.4.2, 5.0 and 6.0 (in-work) ™ ● Support for J2EE 1.4.2 and Java EE 5.0 ● Full Developer Tools for Java, Mobile Edition Support

● Debugger, Profiler and VisualGC ● Import Facilities—code, Ant, and JBuilder ● Plugin Ecosystem and Easy updates

● Future Features

11 2006 JavaOneSM Conference | Session TS-1387 | Reason 2: NetBeans Technology's Plugin Ecosystem

● NetBeans Add Update Center: Technology Plugin Options Add A Plugin: Ecosystem is Update Center growing quickly Plugin Management: Module Manager New Features: ● Create A Plugin: NetBeans IDE 5.0 Plugin and 5.5 make it very Module Project Templates easy to create a plugin Application ● Update Centers Deployment: IDE Update Center (Web Servers) Platform App make for easy and APIs transparent Platform end user downloads Anatomy of A Plugin Ecosystem of plugins

12 2006 JavaOneSM Conference | Session TS-1387 | Reason 2: Update Center More and more plugins and more and more Update Centers Like NetBeans.org and nbextras.org and many personal Update Centers

Also plugins are moving by email and web sites

13 2006 JavaOneSM Conference | Session TS-1387 | Reason 2 : NetBeans .NET Plugin

● NetBeans Plugin Project ● Currently converts to Java: ● # ● VB.NET

● Plugin translates from .NET to Java using a translator that has two parts : ● .NET language parsers (C# and VB) ● .NET translation library

14 2006 JavaOneSM Conference | Session TS-1387 | Reason 2: NetBeans .NET Plugin

15 2006 JavaOneSM Conference | Session TS-1387 | Reason 2: with jMaki

● AJAX style widgets sets ● https://ajax.dev.java.net/ ● Deploy on Glassfish App server

● Support for JSP or JSF ● Offers ● Dojo ● Scriptaculos ● Yahoo ● And more

16 2006 JavaOneSM Conference | Session TS-1387 | Reason 2: BeanNetter

● JavaWeb Start (JNLP) app converts JavaBean into a NetBeans plugin

● Currently converts a jar file into a plugin (nbm) file

● Load the generated plugin into NetBeans via the Update Center (manual)

● New components appear on the GUI Builder Component Palette

17 2006 JavaOneSM Conference | Session TS-1387 | Reason 3: Developer Collaboration

● NetBeans IDE has included code-aware collaboration tools for dispersed groups; get it from the Update Center

● Interactive instant messaging/VoIP tools

● Collaboration server at share.java.net or your server

18 2006 JavaOneSM Conference | Session TS-1387 | Reason 4: NetBeans Enterprise Pack 5.5 and Java EE 5 Support

● Support of Java EE 5 ™ ● Includes Web modules and EJB 3.0 software ● Supports Java Persistence API in web, EJB tecchnology, and stand-alone J2SE™ based applications ● Deploys to bundled Sun Java System Application Server 9 Beta ● Generates Entity classes from existing database structures ● Generates database tables form handwritten Entity classes ● Entity Wizards for creating Entities and Persistence units ™ ● Wizards for creating full JavaServer Faces based apps or app fragments based on Entity classes ● Code completion and documentation for all Java EE APIs

19 2006 JavaOneSM Conference | Session TS-1387 | Reason 4: NetBeans Enterprise Pack 5.5 and Java EE 5.0 Support

● Struts and/or JavaServer Faces based template* ● Code completion in Struts and JavaServer Faces based tags* ● Hibernate and Spring support

20 2006 JavaOneSM Conference | Session TS-1387 | Reason 4: NetBeans Enterprise Pack —UML Tools (Cont.)

● Full two-way, roundtrip engineering ● Markerless code ● Code Generation ● Requirements Gathering ● Predefined and Extensible Design Patterns ● Import Rational Rose ● UML 2.0 (1/6/2003 draft) ● Class, Sequence Diagrams ● Collaboration, Activity, Use Case Diagrams ● Component, Deployment, State Diagrams

21 2006 JavaOneSM Conference | Session TS-1387 | Reason 4: UML Tools (Cont.)

22 2006 JavaOneSM Conference | Session TS-1387 | DEMO UML Tools Reverse-Engineering UML from Code

23 2006 JavaOneSM Conference | Session TS-1387 | Reason 4: NetBeans Enterprise Pack— Service-Oriented Architecture Tools

● XML Schema Tools ● Visualize and Edit XML Schema ● Visualize the relationship between schema elements ● Schema Creation Wizards

● Web Services Orchestration ● BPEL Processes—author, build, deploy and test ● BPEL Engine integrated into Sun Java System Application Server 9 ● Creation of loosely coupled, service-based composite applications for SOA ● Full two-way roundtrip designer ● Full process debugging integrated into NetBeans Profiler

24 2006 JavaOneSM Conference | Session TS-1387 | Reason 4: Service-Oriented Architecture

25 2006 JavaOneSM Conference | Session TS-1387 | DEMO SOA BPEL

26 2006 JavaOneSM Conference | Session TS-1387 | Reason 5: Jackpot

● NetBeans Project (http://jackpot.netbeans.org) ● Searching Java ● Safely and correctly transforming patterns ● Writing minimal changes back to source

● A technology for safely modifying Java source code using transformations and rules

● Relies on javac to provide a rich semantic model of Java source and to verify changes to it

● Can be extended with custom rule sets, audit operators and transformation classes

● Integrated into the NetBeans IDE via Project Jackpot modules

27 2006 JavaOneSM Conference | Session TS-1387 | Reason 5: Project Jackpot

● Uses: ● As a source auditing tool: ● Detect anti-patterns, like lint ● “Software archeology” ● For refactoring: ● Safer than many current tools ● For reengineering: ● Migrate applications to new API, technologies ● Even pretty printing!

● Don't miss the session on this: ● TS-1278 Creating and Deploying Custom Jackpot Queries and Transformers

28 2006 JavaOneSM Conference | Session TS-1387 | DEMO Jackpot

29 2006 JavaOneSM Conference | Session TS-1387 | Reason 6: Mobile Pack (Updated)

● Write, test, and debug Java ME MIDP applications

● Visual MID lets designer: ● Build the GUI using drag and drop, screen flow design ● Midlet template, testing, debugging ● Easy configuration of device resources

● Drop in any 3rd-party emulator

● Solves the problem of device fragmentation

● Wireless Connection Wizard enables you to quickly create Java ME client/server applications ● Wizards for creating Java ME client + J2EE based applications

● Easy internationalization support

● http://www.netbeans.org/kb/41/quickstart-mobility.html

30 2006 JavaOneSM Conference | Session TS-1387 | Reason 6: Mobile Pack for CDC

● CDC Support ● Programming for Sony Ericsson's P990 and M600 mobile phones ● Developing for the Nokia Series 80 Platform SDK ● Creating the Application Interface using the Project Matisse GUI Builder ● http://www.netbeans.org/kb/50/quickstart-mobility- cdc.html

31 2006 JavaOneSM Conference | Session TS-1387 | Reason 7: Great Educational Resources

● JEDI—https://jedi.dev.java.net/

● The BlueJ team is currently collaborating with the NetBeans team to create a new version of NetBeans, the NetBeans IDE/BlueJ Edition. http://www.bluej.org

● NetBeans—http://edu.netbeans.org

● Java Passion—http://javapassion.org

● JavaOne 2006 Hands On Labs

● Check out the NetBeans site ● http://www.netbeans.org/kb/50/index.html ● http://www.netbeans.org/kb/50/flash.html

32 2006 JavaOneSM Conference | Session TS-1387 | Reason 8: Profiler (Updated)

● Fast, low overhead profiling: dynamic bytecode instrumentation

● Attach to running Applications

● Monitor runtime behavior of apps: heap size, GC statistics, thread count, thread state

● Analyze performance: per-method CPU timings, Call tree, http Monitoring, Live data and Collected data, custom filter

● Monitor object creation, leak detection

● Visual GC plugin

● Jconsole integration, Mbean template

● http://profiler.netbeans.org/

33 2006 JavaOneSM Conference | Session TS-1387 | DEMO Profiler: Memory Leak Detection

34 2006 JavaOneSM Conference | Session TS-1387 | Reason 9: NetBeans (RCP) Technology

● Save years of development time ● Application runtime—generic desktop app ● Jump-starts development by handling: ● User Interface Management—actions, menus, toolbars ● Settings UI and storage ● Data Presentation, editor, wizards ● Configuration ● Storage Management

● Lots of high profile adopters ● Deploy using Java Web Start software

35 2006 JavaOneSM Conference | Session TS-1387 | Reason 9: NetBeans RCP Technology Secret: Everything in NetBeans IDE is provided by a plugin module!

If we remove all the NetBeans IDE's plugin modules… 36 2006 JavaOneSM Conference | Session TS-1387 | Reason 9: NetBeans RCP Technology …we get the NetBeans Platform!

● Application framework for desktop applications

● Menus, toolbars, windowing system, other services— out of the box!

● “Rich-client applications”

● Saves (many) years of development time

● Used everywhere

37 2006 JavaOneSM Conference | Session TS-1387 | Reason 9: Lots of NetBeans Based Apps

38 2006 JavaOneSM Conference | Session TS-1387 | Reason 10: Matisse GUI Builder The best 100% Java platform GUI Builder ● As easy as drawing on paper

● Easy Internationalization

● Intuitive Drag-and-drop GUI builder ● Suggested guideline for new components to the relative position to other components, Support resizable form ● Supports per-platform UI design guidelines

● Cross-platform layout support

● Extendable Component Pallets ● Preloaded Java Foundation Classes (JFC/Swing) API components ● Extendable with SwingX API ● Import components from library, jar, projects

● Next-Generation Matisse is underway

39 2006 JavaOneSM Conference | Session TS-1387 | DEMO Matisse GUI Builder

40 2006 JavaOneSM Conference | Session TS-1387 | Reason 11: Java Blueprints Revisited

● Import Java BluePrints Catalog Projects from java.net ● Architecture and Solutions for real-life problems ™ ● Asynchronous JavaScript and XML (AJAX) technologies ● Web tier with JavaServer Faces technology ● Service-Oriented Architectures with Web Services ● Business Tier with EJB specification, MDB ● Use Offered Java BluePrint patterns by using the Java BluePrint Project Template

● Design and Embed Your own Best Practices ● IT, SI and ISV Developers can share Enterprise Best Practices and Project Templates via Java BluePrints Catalog for use in development by replacing or extending ● Platform developers can also leverage the Java BluePrints Catalog to assist end users with their applications

41 2006 JavaOneSM Conference | Session TS-1387 | Reason 12: App Server Support

● Application Server support via plugin ● Project GlassFish Java EE 5 server ● Sun Java System Application Server 8.1 and 8.2 ● JBoss ● BEA WebLogic 9 ● IBM WebSphere 6

● Remote deployment

42 2006 JavaOneSM Conference | Session TS-1387 | Reason 13: Editor Enhancements

● Considerable overhaul of the editor with great performance and features; more work underway ● Lots of cool new features: ● Code Completion ● Editor Hints ● Navigation ● Source Tools

● Eclipse, and NetBeans Keybindings technology available

43 2006 JavaOneSM Conference | Session TS-1387 | DEMO Editor Hints Code Completion Navigation Source Tools

44 2006 JavaOneSM Conference | Session TS-1387 | Reason 14: C and C++

● Sun Studio C/C++/ is built on NetBeans

● NetBeans technology has added new support for C and C++ in NetBeans module itself so C/C++ developers can now start to use NetBeans IDE for development

● Lots of features: , indentation, code completion, , class viewer, etc.

● Project Types: ● C/C++ Applications ● C/C++ Dynamic Library ● C/C++ Static Library ● C/C++ Project with existing Makefile

● Module set is a combined effort of Sun Studio IDE team and NetBeans Core and Mobility teams 45 2006 JavaOneSM Conference | Session TS-1387 | Reason 15: Best Cost of Ownership

● NetBeans technology bundles complete Java platform—Java ME to Java SE to Java EE

● NetBeans technology bundles App Server

● NetBeans technology bundles Database

● NetBeans technology bundles Enterprise design tools

● Pure Java technology (no impure Java technology dependencies)

● Advanced Profiler offered

● Developer Collaboration tools and server free

● Philosophy—NetBeans technology; Out-of-Box Eclipse: Get it

46 2006 JavaOneSM Conference | Session TS-1387 | Summary of NetBeans: Swiss Army Knife ● Rich Client Platform and IDE

● Java EE (JSP, EJB,etc)

● Bundled servers

● Java SE (Swing libs,etc)

● Matisse GUI Builder

● Java ME (Mobility)

● BPEL and SOA

● Profiler

● Collaboration

● UML Modeling

● And much more coming

47 2006 JavaOneSM Conference | Session TS-1387 | Call for Actions!

● Download NetBeans IDE ● http://www.netbeans.org/downloads/index.html

● Tutorials, Guides, Articles ● http://www.netbeans.org/kb/

● Participate on Forums and subscribe to mail list ● http://www.netbeans.org/servlets/Join ● [email protected]

● Start Importing and Migrating to NetBeans IDE

● Plug-in Module Catalogs ● http://www.netbeans.org/catalogue/

● Join NetBeans Community Projects ● http://www.netbeans.org/community/projects

48 2006 JavaOneSM Conference | Session TS-1387 | For More Information

● NetBeans.org Web site at ● http://netbeans.org/ ● Forums at ● http://www.netbeans.org/community/lists/top.html

● Blogs at ● http://www.netbeans.org/about/press/blogs.html ● http://www.planetnetbeans.org/

49 2006 JavaOneSM Conference | Session TS-1387 | More Resources

Version 2 now Available!

By Patrick Keegan, Ludovic Champenois, Gregory Crawley, Charlie Hunt, Christopher Webster Prentice Hall, Estimated Publication Date July 2005, 336 pages, ISBN 0131876201

50 2006 JavaOneSM Conference | Session TS-1387 | 2006 JavaOneSM Conference Hands-On Labs • NetBeans Enterprise Pack: UML modeling • Building production quality GUI application using NetBeans 5.0 GUI Builder (Matisse) • AJAX: riding the web app horse a little further • NetBeans Enterprise Pack: BPEL • Application Monitoring and management with NetBeans 5.0 • NetBeans 5.0: plugin development • Mobile Applications: visualize it, build it and deploy it to many devices 2006 JavaOne Conference Sessions

• Java EE 5 Platform : Even Easier With Tools (TS 3361) • MHP/OCAP Applications in a Nutshell (TS 4255) • Creating Professional Swing UIs with Matisse GUI Builder (TS 4916) • Best Practices for Building Optimized Wireless Solutions for Web Services (TS 1293) • Good Morning, Buenos Dias, Dobry Den : Mobile Internationalization in Action (TS 4589) • Creating and Deploying Custom Jackpot Queries and Transformations (TS 1278) • Debugging Across Tiers: Advanced Techniques (TS 1878) • Debugging and profiling J2EE/Java EE 5 platform-Based Application (TS 1549) 2006 JavaOne Conference Birds of a Feather (BOF)

• Building Development Tools on top of NetBeans (BOF 2496) • Creating NetBeans Plug-ins for Integration with JavaServer Faces, Hibernate, Spring and EJB 3.0 Technologies (BOF 2340) • Discovery and Dependency Injection Patterns in Modular Architectures (BOF 2559) • Java Persistence API in the NetBeans IDE (BOF 2807) • Memory Leaks in Java Technology-Based Applications: Different Tools for Different Types of Leaks (BOF 2417) • Creating an IDE for Your Favorite Web Framework (BOF 2835) • Use the Tools to Generate Mobile Business (BOF 2461) • Experience Self-Organized and Ad-Hoc Collaboritive Development with the NetBeans IDE (BOF 2031) Q&A

54 2006 JavaOneSM Conference | Session TS-1387 | Twelve Reasons To Use NetBeans™ Software—Episode 2

Inyoung Cho Tim Cramer Java Technology Evangelist Director of Developer Tools

Charles Ditzel Tim Boudreau Technologist NetBeans Evangelist

Sun Microsystems, Inc.

TS–1387

2006 JavaOneSM Conference | Session TS-1387 |