JBuilder 2007 Reviwers Guide · platform and help organizations be more successful and productive...
Transcript of JBuilder 2007 Reviwers Guide · platform and help organizations be more successful and productive...
44546.2
Collaborative Development for
Java ™, Open Source
and the Web
Reviewer’s Guide
Produced by CodeGear
November, 2006
JBuilder® 2007 Reviewers Guide
Table of Contents
Table of Contents ...................................................................................................................... 2
Introduction .............................................................................................................................. 3
Scope of this Guide .........................................................................................................................3
Current Trends in Software Development ................................................................................ 4
What’s New in JBuilder 2007? .................................................................................................. 5
Versions of JBuilder 2007.................................................................................................................5
New Features in Detail .............................................................................................................. 6
ProjectAssist™ ................................................................................................................................6
TeamInsight™.................................................................................................................................8
Graphical EJB Workbench ................................................................................................................8
RAD SOA Web Services Workbench ................................................................................................11
Optimizeit™ 2007 for Eclipse..........................................................................................................12
Performance and Usability..........................................................................................................14
Audits and Metrics .....................................................................................................................14
LiveSource® ..................................................................................................................................16
Conclusion............................................................................................................................... 19
Appendix A – JBuilder 2007 Feature List ................................................................................ 20
JBuilder 2007 Reviewers Guide
44546.2
JBuilder 2007
Reviewers Guide
Introduction
Thank you for your time and interest in JBuilder 2007, the enterprise-class integrated
development environment (IDE) built on Eclipse to make collaborative development fast and
reliable for Java, open source and the web. JBuilder 2007 accelerates developer velocity with
Visual EJB and web services GUIs, provides balance between the worlds of open source and
commercial software with TeamInsight, an integrated collaboration portal, and increases
developer confidence, through better control over open source plug-ins. Improving on its
acclaimed Rapid Application Development (RAD) and team collaboration capabilities, JBuilder
2007 (formerly codenamed “Peloton”) has been completely redesigned to leverage the Eclipse
platform and help organizations be more successful and productive with open source.
Scope of this Guide
The reviewers guide will give an overview of what JBuilder 2007 has to offer. This guide is not intended
as a best practices guide, nor does it cover all the new enhancements that JBuilder 2007 offers. Instead,
the focus is on the new capabilities that offer the clearest benefits to development efforts. A complete
list of features for JBuilder 2007 (across all editions) can be found in Appendix A.
JBuilder 2007 Reviewers Guide
44546.2
Current Trends in Software Development
Two major trends are driving change in software development today: 1) open source is more pervasive
than ever, and 2) development teams are increasingly distributed around the world. Providing “free”
tools, components and unlimited flexibility, open source by its nature creates an uncontrolled
development environment that can make it difficult to manage an already complicated process, ultimately
increasing the cost of development, lowering productivity and reducing confidence in the software used
and developed. At the same time, macroeconomic changes have encouraged the increasing distribution
of software development, creating associated challenges and costs to managing teams in remote
locations.
JBuilder 2007 addresses these challenges with enterprise-class collaboration features that restore
confidence in the software development process while leveraging an ecosystem of commercial and open
source plug-ins, third party tools and frameworks.
Completely rebuilt and re-architected to take advantage of Eclipse, JBuilder 2007 combines the
advantages of an open platform with JBuilder’s trademark enterprise-class functionality, ease-of-use and
productivity, including collaborative capabilities that help developers and organizations more effectively
manage complex projects across teams and locations. Defined by the following themes, JBuilder 2007
key capabilities include:
• VELOCITY – JBuilder 2007 comes with a palette of proven JBuilder productivity tools, newly
enhanced to deliver more than ever. The complete graphical development workbench now
provides two-way visual SOA Web Services and EJB development, support for the latest Java
technologies and AppServer™ platforms, plus full Java UML 2.0 modeling with round-trip
LiveSource. There’s also JBuilder Optimizeit™ for performance tuning and advanced debugging.
• BALANCE – JBuilder 2007 helps organizations manage and balance complex development
projects across teams and locations, and across open source and proprietary software.
TeamInsight is an innovative collaboration foundation that lets organizations leverage best of
breed solutions for source code management, requirements, bug tracking and project
management. To manage the application lifecycle, JBuilder 2007 integrates with popular Borland
Application Lifecycle Management (ALM) products including Together® and StarTeam®, also
based on Eclipse.
• CONFIDENCE – A trusted commercial solution, JBuilder 2007 establishes confidence in the
software development process. JBuilder 2007 embraces and integrates the most popular open
source plug-ins, tools and frameworks, all within a certified and managed turnkey development
solution that organizations of any size can rely on.
JBuilder 2007 extends the value of Java and open source resources for individual, small business, and
enterprise developers worldwide. Developers already familiar with Eclipse will benefit from the broad
support for various OSS and commercial application servers in JBuilder 2007, in addition to integrated
performance tuning and management capabilities. Other unique features include LiveSource Java visual
source code modeling, Optimizeit Java Code Profiling, source code audits and metrics, refactoring and the
complete TeamInsight agile open source development and deployment stack.
JBuilder 2007 Reviewers Guide
44546.2
What’s New in JBuilder 2007?
The latest release of the leading Java IDE, JBuilder 2007 is the first application server-independent
enterprise class IDE built on open source Eclipse. It provides all the economic benefits of an open source
platform, with the reliability of a trusted, turnkey solution provider. JBuilder 2007 is packed with new
features that dramatically accelerate the complete development process; with a new visual EJB™
designer, enhanced distributed development and collaboration tools, and powerful code quality assurance
features.
New in 2007, ProjectAssist dramatically reduces the time and complexity to create new team and project
definitions. Wizards facilitate new installations, and allow assimilation of existing installations for source
code management, defect tracking, requirements management, project planning and more.
New TeamInsight enhances collaborative development with its centralized portal that allows team
members to monitor project activity for the source code repository, track recent check-ins, view quality
metrics, even view live burn-down charts for project progress.
Enhanced for 2007 is Optimizeit 2007 for Eclipse for memory and CPU profiling and debugging which
helps to ensure error free code. Optimizeit Profiler provides high-level performance-related data displayed
in real time. Optimizeit Thread Debugger displays the progress of all threads running within the Virtual
Machine. Optimizeit Code Coverage provides a real-time class coverage data to quickly see the coverage
for each class.
Versions of JBuilder 2007
JBuilder 2007 is available in three versions to meet the varying needs of developers and organizations:
JBuilder 2007 Developer is for individuals that need accelerated development capabilities for Java and
open source programming.
JBuilder 2007 Professional is for departmental users who want a complete environment for
developing and deploying Java applications, with all the features of Developer plus the new visual Web
Services Designer, and integrated Optimizeit 2007 for Eclipse for memory and CPU Profiling and
debugging.
JBuilder 2007 Enterprise is for enterprise development organizations that need to manage distributed
teams and complex projects across multiple locations. Enterprise includes all the features of Professional
plus trademark RAD advantages like a new visual EJB Workbench, ProjectAssist that dramatically reduces
the time and complexity for startup of new projects, and collaborative development capabilities of
TeamInsight.
JBuilder 2007 Reviewers Guide
44546.2
New Features in Detail
ProjectAssist
ProjectAssist provides simple, single point installation and configuration of a complete developer tool
stack for bug tracking, source code management, project planning/tracking, requirements management
and continuous integration builds. ProjectAssist dramatically reduces the time and complexity for startup
of new projects by guiding the setup process for new team and project environment definitions. Wizards
help to create new deployment models – with options for deep and shallow scanning to discover pre-
existing services that can be reused. ProjectAssist can save days or even weeks of manual configuration
and integration.
The project Administrator defines projects and users for new projects. Users can then coordinate their
efforts through the use of the various TeamInsight tools.
Analogous to the common “File / New Project” wizard, ProjectAssist provides a “File / New Team Project”
that goes beyond creating a .project file, to creating a complete development environment with bug
tracking, source code management, project planning, requirements management and continuous
integration builds live and operational.
To provision ProjectAssist for team use, you never have to leave the JBuilder editor. The following steps
will start you down the process.
1. Launch JBuilder 2. Choose ‘file | new | others’ 3. Select the team folder in the tree 4. Choose ‘ProjectAssist File’ 5. Enter the project information and path requirements (see Figure 1 ProjectAssist Configuration)
JBuilder 2007 Reviewers Guide
44546.2
Figure 1 ProjectAssist Configuration
It can take many hours or even days to set up project environments for new team members.
The TeamInsight tools that can enhance the development team experience are:
• Bugzilla – Used to record and track bugs in the source code.
• LifeRay - An open source web portlet server. LifeRay surfaces the current status of your project
by amalgamating information from other TeamAssist components, which provides you with a
comprehensive understanding of how your project is performing
• Maven/Continuum - Establishes an automatic build environment linked to the repository and to
monitor build status.
• Subversion – Used to check source files in and out, and to synchronize them with the repository.
It provides management and revision control for concurrent development.
• Sventon - Browse the Subversion source repository through a web browser.
JBuilder 2007 Reviewers Guide
44546.2
• XPlanner - Monitors development progress by creating and tracking projects, iterations of
projects, user stories, and individual tasks.
Figure 2 ProjectAssist dramatically reduces the time and complexity for startup of new projects
by guiding the setup process for new team and project environment definitions
TeamInsight
Manage and view projects across development teams with TeamInsight collaboration features. Individual
developers have a unified real-time view of their project responsibilities for bugs, change requests, code
notes, tasks and requirements, and the entire team has a shared project web portal with live data and
statistics on team vector and velocity. JBuilder 2007 includes collaboration features that allow local and
remote developers to jointly design, edit and debug applications in real time. JBuilder 2007 automatically
discovers other clients on the network, allowing users to easily form ad-hoc collaboration sessions.
Graphical EJB Workbench
The new Graphical EJB Workbench in JBuilder 2007 provides a simplified RAD development experience
for both novice and experienced JEE developers alike. Legacy projects using EJB 2.x are easily converted
to the new annotation-based EJB 3 specification, full LiveSource capabilities let developers use either a
code-centric or RAD visual environment. Easily create EJBs and model relationships, security and OCL
constraints. Changes to the source code, annotations, properties view and graphical view are always in
sync through JBuilder's patented LiveSource technology. JBuilder allows targeting and re-targeting app
servers from all of the major commercial and OSS vendors including IBM, BEA, Sun, JBoss and Apache.
JBuilder 2007 Reviewers Guide
44546.2
Using the Workbench to create an EJB is tremendously easy. The workbench allows the developer to
configure each and every option. In addition it has most every option available for each EJB Container.
The LiveSource feature has an immediate effect on the EJB code. In fact, through LiveSource the
graphical views are just another rendering of the source code and annotations. LiveSource permits
JBuilder to add multiple visualizations of the same source code. In Figure 3 EJB Workspace below, we
can see that JBuilder can create session EJBs as well as entity EJBs. CMP beans for both EJB2 and EJB3
style persistence (as well as JPA) can be visually modeled or created directly from existing database
tables.
The power of the EJB workbench becomes very apparent when it's used to create relationships, OCL
constraints and security roles between entities. This tool gives developers a clear vision of what they are
creating, as well as giving full access to the properties of the entities and the relationships between them.
A picture is worth literally thousands of lines of Java code and annotations.
Figure 3 EJB Workspace
Building a J2EE™/EJB solution in JBuilder is simply creating a project from an EJB Model. The process for
creating this project is as follows:
1. Choose ‘file | new | others’ 2. Select ‘EJB Modeling Project’ 3. The wizard will prompt you for project information, target J2EE server and available (see figure
below):
JBuilder 2007 Reviewers Guide
44546.2
Figure 4 EJB Modeling Project
Use of the EJB Workbench is identical for both EJB2 and EJB3, the graphical view will abstract away
whether the source code is using XDoclet or Java Annotations. Of course the source code can be
changed and the diagram is always in sync. JBuilder also provides migration tools to make it trivial for
developers to migrate applications to EJB3 and annotation-based development.
You can now develop your J2EE/EJB application. Session Beans, Entity Beans, Message-Driven Beans
and all of the relationships and constraints may be created using the modeling surface. Double-clicking
on an element on the modeling surface will take you to its source code view. You can also use alt+enter
to access the properties view.
If you need to create CMP beans for an existing database table you can do this automatically by right
clicking on the project in the model navigator and selecting “Import Entity Beans from Database”
Users familiar with Eclipse WTP will find use of the JBuilder EJB Workbench a natural extension of their
processes. Owing to the use of LiveSource as an underlying technology, the workbench can be used with
any EJB project – the projects need not originate in JBuilder. Similarly, members of a development team
can individually choose to work graphically or using the source view – whichever is best for the job at
hand.
JBuilder 2007 Reviewers Guide
44546.2
Figure 5 EJB Workspace
Sample projects for both EJB 2 and EJB 3 are available on http://jbuilder.borland.com under the
“samples” tab. These samples have step-by-step instructions for configuration.
RAD SOA Web Services Workbench
The Web Services Workbench for JBuilder Enterprise and Professional versions was developed to provide
productivity enhancements expected by JBuilder developers. JBuilder includes several wizards and
modelers that make JBuilder the most productive environment for building Web Services. With the
workbench, it’s possible to perform the following actions inside JBuilder:
• Import a WSDL document to build a test client for a Web Service that you’ve found through the
UDDI registry
• Build a SOAP server to act as the base for your Web Services
• Expose a simple Java class as a Web Service
• Expose an EJB Session Bean as a Web Service
• Debug a Web service and a Web Service client concurrently
JBuilder 2007 Reviewers Guide
44546.2
Figure 6 Web Services Workbench
Optimizeit 2007 for Eclipse
The Java language removes several problem areas for developers, compared to C++ development, by its
elimination of memory allocation and pointer management. While this generally makes Java programs
more stable than their C++ brethren, it can often lead to the misconception that Java programs don't
need to be optimized or profiled. Nothing could be further from the truth, especially when you consider
that Java is being used to build enterprise-class applications, which require high performance. JBuilder
now includes Optimizeit for Eclipse. Using Optimizeit, a developer is able to get the profile configured in
a matter of minutes. They can then evaluate any number of different statistics about the profiled
application.
Optimizeit Profiler for memory and CPU profiling and debugging provides high-level performance-related
data displayed in real time that allows developers to understand whether a performance issue is related
to CPU, memory, or both. The Automatic Memory Leak Detector monitors the evolution of memory usage
over time for the immediate identification of potential memory leaks. It also allows real-time monitoring
of object allocations to understand how the profiled program uses the virtual machine memory. Allocation
Backtrace View allows developers to identify the code or part of the program responsible for instance
allocations. Optimizeit Thread Debugger gives real-time display of the progress of all threads running
within the Virtual Machine. Optimizeit Code Coverage provides a Real-time Class Coverage View to quickly
see the coverage for each class and identify classes not fully covered. Optimizeit is completely integrated
in-shell for Eclipse, and only available in JBuilder 2007.
Uncovering Performance Bottlenecks
Java as both a platform and a language offers a number of advantages in terms of portability and
JBuilder 2007 Reviewers Guide
44546.2
standardization. Programmers across the globe are migrating to Java from a variety of other languages
and platforms. For some, the move to Java may also be their first real, hard-core experience with object-
oriented programming.
As a result, the programs written may have hidden performance bottlenecks that slow down processing
and eat memory. Optimizeit is designed to uncover these hidden performance anomalies including such
common problems as excessive object creation, method calling and thread creation, and inefficient
memory usage. The Profiler collects timing information and memory data as Java programs are run, and
Optimizeit supports most of the leading Java development environments. As shown in the following figure
you will see that, once the “Profiler” had been compiled and started, you are able to search for possible
performance problems in the code by using the "Instance References".
Figure 7 Optimizeit 2007 for Eclipse Profiling
The “Memory” used by the program is generally the first place to start when using the Profiler. JBuilder
includes a number of sample program trace collections with Optimizeit. You may want to start by using
these examples with the Profiler's online help to get an overview of the Profiler's capabilities. You have a
choice of running a program through to conclusion as one long run, or you can divide the performance
data into specific chunks by using “snapshots.” Snapshots can be invaluable as a tool for comparing the
first pass of a program with subsequent executions through the same set of code. They are especially
helpful for tracking down problems with event-driven code. Use the memory monitor to drill down into
details of the code quickly and easily. The snapshots can then be used to track calling relationships. If
you want to identify leaks within the same run, the “Memory Leak Detector” creates heap “snapshots” to
compare memory heaps during the same execution.
JBuilder 2007 Reviewers Guide
44546.2
You can see in the diagram that the profiler can show a hierarchical display of method calls, which can
help you expose the most expensive methods. If you need to, you can click down to the source code
directly from the diagram, and the graphical interface uses colors to highlight the more expensive method
calls.
At any point in time you can choose to view the source within the tool, you can see how much resource is
used by each routine in a panel next to the source window. The tool makes it easy to shift between
multiple snapshots, and you can save the entire set of snapshots and program definitions for reuse at a
later time.
Performance and Usability The “Request Analyzer” is one of the most valuable tools for developers, it breaks every transaction down
to its individual components. You can run a simple J2EE application through the analyzer and break
down the transaction into the following components:
• JSP™ Page Performance – This includes the total time the transaction spent in the WebContainer
• JNDI Lookup – the total time spent looking up a remote component
• Session Bean – All time spent within the session bean component
• JDBC™ – total time spent communicating to the SQL datasource
As compared to having to read through log files, add System.out.println’s and crossing your fingers, you
can within a matter of minutes integrate request analyzer into most of the major commercial and open
source containers.
Audits and Metrics
Software development organizations face the daunting task of creating software that meets best practice
standards of code quality while still delivering the software product on time and within budget. Too often,
valuable developer and engineering time is spent in code reviews and trying to find errors in the software
code which often leads to both project and cost over-runs—while still producing software with errors.
According to the Washington D.C. National Institute of Standards and Testing (NIST), “Software errors
cost the U.S. economy $60 billion per year. There are many reasons that projects fail: poor management,
unrealistic expectations, complex customization, market changes, etc. But more often than not, poor-
quality software is to blame. Blame is directed at the software provider—whether it is a commercial
software vendor, an outside tech vendor or a company's IT department—because they are the ones
responsible for code quality.”
With the introduction of “Audits and Metrics”, JBuilder 2007 can be used to solve the code quality, code
review and code dependency issues typically faced in software development. JBuilder’s audits and
metrics are designed to aid developers in finding and fixing problems in their code earlier in the
development process. It embodies the principals of finding problems early that is a perfect complement
to the JBuilder IDE. The following figure for Audits and Metrics shows a sample solution that has been
audited for frequent and common problems.
JBuilder 2007 Reviewers Guide
44546.2
JBuilder’s Audits perform a static analysis of your source code, identifying coding problems like potential
race conditions, unchecked exceptions and more. JBuilder’s Metrics provide a like analysis for design
problems in your project.
Figure 8 Audits and Metrics
Historically, early error detection has required software developers to change their processes, think
harder, use better methodologies, create better architectures, and the like. The challenge of changing
human behavior, the complexity introduced by far-flung development teams, downsizing, outsourcing,
open source, feature-rich software systems and complex development environments all increase the
difficulty of building high-quality software systems on time and within budget.
Pushing the resolution of software quality issues into a Quality Assurance (QA) or Testing organization, or
worst case, onto customers, is at best expensive and can certainly be damaging to the software
producer’s reputation. It’s common knowledge that if problems can be found and fixed early in the
development process, it will result in better software, lower costs, faster time-to-market, and most
importantly, happier users. JBuilder’s Audits and Metrics software development technology has advanced
to the point where maximum quality can be automatically and efficiently built into software as it is being
developed.
With the direct integration of the Audits and Metrics within the IDE it is very easy for the developer to
correct their issues. The “Quick Fix” dialog provides options and a preview for the changes
recommended.
JBuilder 2007 Reviewers Guide
44546.2
Figure 9 Quick Fix
LiveSource
LiveSource technology simultaneously replicates changes to models in the code, and vice versa. This
ensures system architects and developers are closely aligned in the development process, thereby
reducing costs associated with software rework. LiveSource replaces the traditional round-trip
engineering methods, which usually cause models and code to go out of synch. Failure to keep models
and code in synch often leads to disparity between business needs and the resulting software.
JBuilder 2007 Reviewers Guide
44546.2
Figure 10 LiveSource technology simultaneously replicates changes to models in the code, and
vice versa.
If you have used Borland Together technology you are very familiar with LiveSource. However it plays a
new and critical roll into building effective and efficient Java applications. LiveSource allows you to build
solutions visually from UML diagrams and have those changes reflected in the code immediately.
JBuilder 2007 Reviewers Guide
44546.2
Figure 11 LiveSource replaces the traditional round-trip engineering methods, which usually
cause models and code to become out of synch
LiveSource allows JBuilder to provide multiple visualizations of source code, enabling rapid
comprehension of unfamiliar projects. One of the features is the simultaneous roundtrip engineering,
which is the ability to immediately synchronize diagrams with their source code.
Traditional Roundtrip engineering is the combination of:
• Reverse engineering (drawing models from code)
• Forward engineering (generating code from visual models)
Simultaneous roundtrip engineering means that when you change a code-centric diagram, JBuilder
immediately updates the corresponding source code, and when you change the code, JBuilder updates
the visual model. This way diagrams are always synchronized with the source code that implements
them. You can customize forward and reverse engineering and/or source code formatting.
JBuilder 2007 Reviewers Guide
44546.2
Conclusion
Open source provides a myriad of new tools, components, and value, but it also creates a chaotic
environment that makes it difficult to manage the development process and to guarantee the quality of
software being developed. JBuilder 2007 extends the value of Java and open source resources for
individual, small business, and enterprise developers worldwide. A trusted commercial solution, JBuilder
2007 provides Velocity, Balance, and Confidence to open source development, all within a certified and
managed turnkey solution that organizations of any size can rely on.
JBuilder 2007 Reviewers Guide
44546.2
Appendix A – JBuilder 2007 Feature List
JEE DEV PRO ENT
LiveSource graphical view or EJB 2.1 projects �
LiveSource graphical view or EJB 3.0 projects �
LiveSource graphical view or JPA (Hibernate/Kodo) projects �
Visual point-and-click two-way designer of entity, session, and message beans.
Two-way generation of classes and annotations
�
Visually design CMP 2.x relationships and configure database mapping �
Visually design CMP 3.x relationships and configure database mapping �
Configure XDoclet task properties for server runtimes supported in JBuilder �
Visually configure persistence properties for EJB 3.0/JPA �
Full build/deploy/redeploy capabilities �
Visually create session beans �
Automatically arrange beans �
Create multiple design panes to logically group beans in an EJB group �
Adjust filtering to hide or show generated classes �
Import J2EE projects from previous versions of JBuilder �
Import EJB source code without deployment descriptors �
Import EJB descriptors, including vendor-specific descriptors, for all supported
servers
�
Visually create message-driven beans �
Visually create session beans �
Convert descriptor-based source to XDoclet or Java EE 5.0 annotations � �
Import multi-module Java EE projects from earlier versions of JBuilder, converting
them to native Eclipse projects � �
�
Generate EJB 2.x entity beans from existing database schema �
Generate EJB 3.x entity beans from existing database schema �
Visually create relationships �
Visually create OCL constraints �
Fully integrated with Eclipse WTP �
VisiBroker® builder - integration to VisiBroker tools �
Visual representation of Java/EJB with methods and operations �
WEB SERVICES DEV PRO ENT
WEB SERVICES DESIGNER
Visual two-way Designer for creating Axis based Web Service-enabled applications � �
Streamlined user interface and wizards � �
Visual representation of WSDL with methods and operations � �
Activate or deactivate services without removing components from the designer � �
Instant navigation between visual Web Services components in designer and
source �
�
Import web services projects from earlier versions of JBuilder, converting them to
native Eclipse projects � �
Deploy an EJB as a Web Service �
BUILD, DEBUG, AND RUN WEB SERVICES
JBuilder 2007 Reviewers Guide
44546.2
Create an Axis deployment environment � �
Dynamic generation and deployment of Web Services components during project
Builds � �
Deploy Axis runtime to Tomcat, JBoss, WebLogic, WebSphere®, Geronimo,
GlassfishSM, Oracle® � �
PROJECT ASSIST DEV PRO ENT
CREATE NEW TEAM PROJECT ENVIRONMENT DEFINITION
Wizard to create a new deployment model �
Options for deep and shallow scanning for pre-existing services �
Create new installation or assimilate existing installation for source code
management �
Create new installation or assimilate existing installation for defect tracking �
Create new installation or assimilate existing installation for requirements
management and project planning �
Create new installation or assimilate existing installation for continuous integration
builds �
Create new projects to a new or existing server deployment, across all services �
Create new users, add users to new or existing projects �
INSTALL NEW TEAMINSIGHT STACK �
Deep or shallow scan of target server for potential conflicts �
Full deployment and automated configuration of all services �
Automated test of deployment to verify the system is operational �
SUPPORTED TOOLS FOR TEAMINSIGHT �
Subversion �
Bugzilla �
Continuum �
XPlanner �
TEAM INSIGHT DEV PRO ENT
PROJECT PORTAL
Monitor activity in source code repository for project, track recent check-ins �
Monitor quality metrics including tables of bugs by severity, by product area, by
owner, newest bugs, and bug find/fix rates
�
Monitor team velocity via live burn-down charts �
Monitor team progress against committed features, feature-by-feature �
Monitor continuous integration builds, track failed builds to identify root-cause �
IDE INTEGRATION
Automatic configuration of IDE to pull project from Subversion �
Single-pane view of individual’s project responsibilities: Assigned Tasks,
Requirements owned, Requirements tracked, Assigned Bugs, Reported Bugs, and
Code To-Dos
�
Project portal and all services available via integrated, tabbed browser in IDE �
Integrated creation and editing of bug reports �
Integrated creation and editing of requirements and tasks �
Full off-line mode for persistent access to requirements, tasks, defects with
automated synchronization
�
Serverless LAN peer discovery and chat � � �
Peer code reviews �
JBuilder 2007 Reviewers Guide
44546.2
Live links to all processes services for active project within IDE �
ADDITIONAL PRODUCTIVITY FEATURES DEV PRO ENT
RMI builder � � �
JNI builder � � �
Import standard JBuilder projects � � �
Quality Assurance: Code audits and metrics � �
Design Patterns support, including GoF patterns with code template design and re-
use
� � �
COMPLETE PERFORMANCE TUNING WITH BORLAND OPTIMIZEIT 2007 FOR ECLIPSE
DEV PRO ENT
Seamless integration with JBuilder enables developers to run Optimizeit right from
within the JBuilder UI � �
�
Borland Optimizeit delivers complete performance management capabilities for
identifying and solving code-level performance issues; this integrated solution
comprises Borland Optimizeit Profiler, Borland Optimizeit Thread Debugger, and
Code Coverage
� � �
Improve performance and reliability of any Java code: Java applications, J2EE
applications, servlets, applets, EJBs, JavaBeans™, JSP applications, and Java tag
Libraries
� � �
Requires no code modifications. Runs with Sun™ JDK™’s for Java 5 and Java 6 � � �
Easily connects to a remote Java process to test a program running on a different
machine
�
Optimizeit Progress Tracker analyzes the performance impact of code changes by
comparing two or more snapshots
�
Graph view in Optimizeit Progress Tracker plots performance variations over time �
OPTIMIZEIT PROFILER FOR MEMORY AND CPU PROFILING
High-level performance-related data displayed in real time allows developers to
understand whether a performance issue is related to CPU, memory, or both � � �
Automatic Memory Leak Detector monitors the evolution of memory usage over
time for the immediate identification of potential memory leaks � � �
Real-time monitoring of object allocations to understand how the profiled program
uses the virtual machine memory; Allocation Backtrace View allows developers to
identify the code or part of the program responsible for instance allocations
� � �
Object Size Display automatically computes and displays, in real time, the amount
of memory being consumed by all instances of a class; view and sort by object
size to prioritize objects consuming the most memory
� � �
Reduced reference graph provides a transitive closure of the full reference graph
to display only references that should be removed in order to free the object for
garbage collection
� � �
CPU Profiler: Measure pure CPU usage or time usage during a profiling session,
with option to use sampling-based or instrumentation-based profiler � � �
Displays profiling information per thread and thread groups, with color highlighting
of threads that were busy during profiling session � � �
HotSpot Display lists methods where most time was spent, to help identify
bottlenecks due to single methods � � �
New scalable call graph visually isolates critical code -- Select a string allocation
and highlight the flow of a method call to see where memory and time are being
spent
� � �
Automatic Application Quality Analyzer supports performance-error prevention and � � �
JBuilder 2007 Reviewers Guide
44546.2
coding standards by automatically detecting VM-level performance bugs
PDF Reporting: Generate reports in PDF to capture performance data � � �
OPTIMIZEIT THREAD DEBUGGER
Real-time display of the progress of all threads running within the Virtual Machine � �
Understand thread contentions for a monitor with the detailed panels of the
Contention View � �
Wait state monitoring: understand why a thread is not making progress with the
Waiting View and I/O Waiting View � �
Track excessive locking: Monitor Enter View reports where a thread enters and
holds monitors, allowing developers to understand and correct excessive locking � �
Analyze Deadlocks: graphical view of the relationships between threads and
monitors to quickly understand deadlock situations � �
Predict deadlocks: Monitor Usage Analyzer generates full list of warnings and
errors that might lead to deadlocks and performance bottlenecks, such as lock
order warnings, lock and wait warnings, and lock and I/O wait warnings
� �
OPTIMIZEIT CODE COVERAGE
Real-time Class Coverage View to quickly see the coverage for each class and
identify classes not fully covered � �
Real-time display of all classes and interfaces used by the tested program and
real-time percentage of lines covered per class � �
Method Coverage View displays the methods and lines of code for a selected class
that have not been used, allowing developers to modify test plans to cover all
areas of the code
� �
Source Code Viewer shows lines of code that have never been executed, making it
easier to spot dead code � �
Option to display the interfaces that have been loaded by the virtual machine and
those that have not been loaded � �
Batch-mode support to easily include code coverage in any batch-mode testing
process � �
SnapshotMerger merges different runs of the same application from the command
line to see coverage of the combined runs � �
Generate customized, detailed coverage reports directly from the command line � �
OPTIMIZEIT REQUEST ANALYZER
Profile the performance behavior of your J2EE application code across the
following J2EE components: JDBC, JSP, JNDI, Enterprise JavaBeans™, and JMS
containers
�
Improve performance and reliability of J2EE-related application code earlier in
development with drill-down performance information for J2EE components �
Visual interface simplifies the complexity of J2EE application interactions using
graphical representation �
System Dashboard view provides a graphical display of the application time spent
in J2EE components and total number of requests. Shows the percentage of use
for each server module to quickly detect any major component-level performance
issues
�
System Composite view displays all of the J2EE events that have occurred in an
application, in real time, in their proper hierarchy. Hierarchy shows the
relationship of events in terms of which events spawn others
�
UML MODELING DEV PRO ENT
UML modeling with Borland Together LiveSource for Java � � �
Generate HTML portal documentation � � �
Generate documentation using template � � �
JBuilder 2007 Reviewers Guide
44546.2
Generate image files from UML diagrams � � �
Automatic generation of sequence diagrams �
Use Case diagrams � �
Activity diagrams � �
Sequence diagrams � �
Class diagrams � � �
Component diagrams �
Deployment diagrams �
State Machine diagrams � �
Composite Structure diagrams �
Communication diagrams �
Web services diagrams � �
About Borland Founded in 1983, Borland Software Corporation (NASDAQ: BORL) is the global leader in platform independent solutions for Software Delivery Optimization. The company provides the software and services that align the people, process, and technology required to maximize the business value of software. To learn more about delivering quality software, on time and within budget, visit http://www.borland.com. About CodeGear CodeGear, formerly Borland’s Developer Tools Group, delivers innovative, high-productivity development tools for a wide spectrum of software developers ranging from individuals to enterprise teams. CodeGear’s products enable developers to freely develop on their platform of choice while focusing on simplifying complex technologies and tasks so they can concentrate on application design, not infrastructure, to ensure on-time project delivery. Borland, CodeGear, JBuilder, ProjectAssist, TeamInsight, Optimizeit, LiveSource, AppServer, Together, StarTeam, VisiBroker and all other Borland brand and product names are service marks, trademarks or registered trademarks of Borland Software Corporation or its subsidiaries in the United States and other countries. Sun, EJB, Java, JDK, J2EE, JSP, JDBC, Glassfish, JavaBeans, Enterprise JavaBeans and all other Sun brand and product names are service marks, trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the United States and other countries. WebSphere and all other IBM brand and product names are service marks, trademarks or registered trademarks of IBM Corporation or its subsidiaries in the United States and other countries. Oracle and all other Oracle brand and product names are service marks, trademarks or registered trademarks of Oracle Corporation or its subsidiaries in the United States and other countries. All other marks are the property of their respective owners. Safe Harbor Statement This document contains “forward-looking statements” as defined under the U.S. Federal Securities Laws, including the Private Securities Litigation Reform Act of 1995 and is subject to the safe harbors created by such laws. Forward-looking statements may relate to, but are not limited to, the expected release dates, pricing, benefits and features available in Borland products, including, but not limited to, Borland JBuilder 2007. Such forward-looking statements are based on current expectations that involve a number of uncertainties and risks that may cause actual events or results to differ materially. Factors that could cause actual events or results to differ materially include, among others, the following: rapid technological change that can adversely affect the demand for Borland products, shifts in customer demand, shifts in strategic relationships, delays in Borland’s ability to deliver its products and services, software errors or announcements by competitors. These and other risks may be detailed from time to time in Borland periodic reports filed with the Securities and Exchange Commission, including, but not limited to, its latest Annual Report on Form 10-K and its latest Quarterly Report on Form 10-Q, copies of which may be obtained from www.sec.gov. Borland is under no obligation to (and expressly disclaims any such obligation to) update or alter its forward-looking statements whether as a result of new information, future events or otherwise. Information contained in our website is not incorporated by reference in, or made part of this press release.