www.jetbrains.com enterprise development with intellij idea mike aizatsky project manager jetbrains,...
TRANSCRIPT
www.jetbrains.com
Enterprise Development with IntelliJ IDEA
Mike AizatskyProject ManagerJetBrains, Inc.
2www.jetbrains.com
What is this all about• EJB development support• Web development support• J2EE applications deployment
3www.jetbrains.com
Present & Future• IntelliJ IDEA 5.0 & 5.1• Plugins for IDEA 5• Features in development (IDEA 6.0)
4www.jetbrains.com
EJB Support• Dedicated module type• EJB view• Descriptor editing• Code assistance
5www.jetbrains.com
EJB Module Type• Basically the same
Java module• ejb-jar.xml is
additionally specified
6www.jetbrains.com
EJB View• Shows beans in the module• Individual bean structure• Starting place for EJB creation
7www.jetbrains.com
EJB View• Beans in the module• Classes, comprising
a bean• Bean structure:
fields, primary keys
8www.jetbrains.com
Rapid EJB Creation• All types of beans• Generates all needed interfaces• Adds descriptor entries
9www.jetbrains.com
Rapid EJB Creation• Supply just bean
name & package• All other names are
derived automatically• Specify what you
need to generate
10www.jetbrains.com
Customize Names
11www.jetbrains.com
Easy Transfer Objects• Choose a bean to
generate Transfer Object
• Transfer Object Bean is generated
• Setter/getter automatically added to bean interfaces and implementation
12www.jetbrains.com
Descriptors Editing: XMLAll the usual XML stuff• Completion• ValidationEjb-jar specific checks!
13www.jetbrains.com
Descriptors Editing: Forms• Form editors instead
of xml file• Cover almost all
aspects of ejb-jar.xml• Validation checks
14www.jetbrains.com
EJB-aware Code Assistance• On-the-fly validation• Intention actions• Navigation• Find usages• Refactorings
15www.jetbrains.com
On-the-fly Validation• Dozens of checks for specification violation• All checks are version-dependent
16www.jetbrains.com
Intention Actions• Easy-to-use intentions and quick fixes are
provided
17www.jetbrains.com
NavigationEvery navigation
feature is aware of EJB structure and name conventions
18www.jetbrains.com
Find UsagesFind Usages is EJB-aware
19www.jetbrains.com
Refactoring• All Java refactorings work nicely• EJB “inheritance” is supported by rename• Rename EJB with all EJB classes
automatically renamed
20www.jetbrains.com
Other Frameworks SupportSpring, Hibernate configuration files:• Classes, properties autocompletion• Find usages• Rename/move
21www.jetbrains.com
Web Development
22www.jetbrains.com
Web Development• Web application module type• Web.xml editing• JSP/HTML/CSS/JS smart editing
23www.jetbrains.com
Web Application Module Type• Basically the same
Java module• web.xml location is
specified• Web resource dir is
added
24www.jetbrains.com
Web.xml editing• XML-based editing:
– Completion– Error highlighting– Navigation
• Form-based editing
25www.jetbrains.com
HTML
26www.jetbrains.com
HTMLMany Java developers do HTML coding.
They deserve the same pleasure!
27www.jetbrains.com
HTML: Code CompletionCode Completion for:• Tags• Attributes• Attribute values• File references
28www.jetbrains.com
HTML: Find UsagesFind usages of:• Tags• IDs• Images• Files
29www.jetbrains.com
HTML: Validation• Tag structure• Missing required
attributes • Invalid attributes or
illegal attribute values • Invalid local anchor • Wrong references to
files in hyperlinks• Duplicate attributes
30www.jetbrains.com
HTML: Refactoring• Rename
– File– Id– Anchor
• Move File• Safe Delete file
index.xhtml main.xhtml
31www.jetbrains.com
HTML: Tons Of Other Features• Quick tag/attributes documentation• Structure View• Open file in browser• Surround with tag• And many, many others
32www.jetbrains.com
CSS
33www.jetbrains.com
CSSCSS is a complex beast. We need a better
tool for taming it.
34www.jetbrains.com
CSS: CompletionCompletion of:• Tag names• Properties• Values• Classes• IDs, keywords, etc.
35www.jetbrains.com
CSS: Find UsagesFind usages of id/class
36www.jetbrains.com
CSS: Validation• CSS syntax checks• Selectors• Properties• Values
37www.jetbrains.com
CSS: Refactoring• Rename
– File– Class– ID
• Move/Copy file• Safe delete file• Extract style block from HTML into a CSS
file
38www.jetbrains.com
CSS: Show Applied StylesShows all applied CSS
styles to a given tag from all CSS files/declarations
39www.jetbrains.com
CSS: Even More Features• Intention actions• Quick documentation access• Unused declarations highlighting• Code formatting• Structure view• Go to declaration• And many more…
40www.jetbrains.com
JavaScript
41www.jetbrains.com
JavaScriptOur goal: make JavaScript development
the same pleasure as Java development is
42www.jetbrains.com
JavaScript: Code CompletionCode completion for:• Keywords• Variables• Parameters• Functions
43www.jetbrains.com
JavaScript: Error HighlightingOn-the-fly syntax errors
detection
44www.jetbrains.com
JavaScript: Find UsagesFind Usages of:• Local variables• Parameters• Global variables• Global functions
• No qualified references (yet)
45www.jetbrains.com
JavaScript: Structure ViewShows high-level
structure of JavaScript file
46www.jetbrains.com
JavaScript: Code FormattingVersatile code
formatting, powered by the same Java code formatting engine
47www.jetbrains.com
JavaScript: Refactoring• Rename:
– File– Function– Variable– Parameter
• Move/copy file• Safe delete file• Extract inlined scripts
in HTML
48www.jetbrains.com
JavaScript: More Code Insight• Surround with {}, if, for, etc.• Go to declaration (variables, globals,
parameters)
49www.jetbrains.com
JavaScript: HTMLAll JavaScript features
work in HTML files
50www.jetbrains.com
JSP• Supports all editing features of
embedded languages: HTML, CSS, JavaScript, Java
• JSP constructs smart editing• JSP view• Content refactoring
51www.jetbrains.com
JSP: 2.0 Support• Expression language• Tag files and tag directories• JSP documents (JSPX)
52www.jetbrains.com
JSP: Java Code Support• Error highlighting• All types of code
completion• Live Templates• Usage search • Refactorings • Import assistant • Other editing features
53www.jetbrains.com
JSP: Actions And Directives• Code completion for
actions and directives• Code completion for
attributes: constants, classes, files, properties
• Error checking• Java code interaction
54www.jetbrains.com
JSP: Tag Libraries Support• Completion• Error highlighting• Scripting variables:
– Definition– Completion– Rename(!)
• Full TEI support
55www.jetbrains.com
JSP: Structure View3 different view into the
same page:• JSP view – shows
JSP tags• HTML view – shows
JSP structure• Java view – shows
Java declarations/structure
56www.jetbrains.com
JSP: Extract/Inline Refactoring• Extract JSP fragment
into separate JSP file• Inline all occurrences
of JSP fragments back
57www.jetbrains.com
JSP: Expression Language• Completion• Error highlighting• Rename
58www.jetbrains.com
Compilation• Generate .jar, .war and .ear files• Dependencies support: inclusion to
archive, linking via manifest• Compile web application to exploded dir• Compile on focus lost
59www.jetbrains.com
Deployment• Out-of-the-box support for:
– Tomcat 4, 5– Weblogic 6, 7
• Deployment to local and remote servers• Automatic local server start• Automatic redeployment on compile• Deployment view
60www.jetbrains.com
Debugging• Remote debug for remote applications• JSP debug• JSR-45 support
61www.jetbrains.com
Third-party Plugins
62www.jetbrains.com
Third-party Plugins• > 200 plugins• Freeware and commercial• From “ZipTo(G)mail Backup” to UML
diagramming
63www.jetbrains.com
Third-party Plugins: Frameworks
• Hibero – hibernate support• Idea Spring - visualize configured beans• Struts, Struts Navigator – struts
framework support• WebServicesPlugin - web services
support using Axis engine
64www.jetbrains.com
Third-party Plugins: Servers• Geronimo• JBoss• Orion• Resin
65www.jetbrains.com
Third-party Plugins: Database• DB Visual Architect – ORM round-trip
code engineering • SQL Query – a tool for executing SQL
statements
66www.jetbrains.com
Third-party Plugins: Coding• Inspection-JS - JavaScript static analysis• XPathView - syntax highlighting,
analysis, completion, navigation and refactoring of XPath expressions
67www.jetbrains.com
Hibero - Hibernate Plug-inBrings IntelliJ IDEA industry-leading coding
and refactoring capabilities to Hibernate mapping files
$49 ($35 during the introductory offer)http://www.betosoftware.com/hibero/
68www.jetbrains.com
Hibero - Hibernate Plug-in• Auto-completion:
Smart context aware completion from Java, Hibernate, Database
• Syntax and Error Highlighting
• Go To Declaration
69www.jetbrains.com
Hibero - Hibernate Plug-in• Find Usages• Rename, Move, Safe
Delete refactorings• Static Analysis. Over
20 code inspections and quick fixes.
70www.jetbrains.com
Inspect-JSBringing inspections to JavaScript:73 JavaScript inspections and 20 quickfixes
$49http://www.sixthandredriver.com/
71www.jetbrains.com
Inspect-JS• Confusing control flow,
including unreachable code
• Unsafe error handling• DOM issues• Performance issues• Naming conventions and
code style guidelines• Common JavaScript bug
patterns
72www.jetbrains.com
IDEA 6.0Taking a look into the future
73www.jetbrains.com
IDEA 6.0• EJB 3.0• JSF• Web Designer• Struts support• Tons of other enhancements
74www.jetbrains.com
EJB 3.0
75www.jetbrains.com
EJB 3.0: Annotations• Annotation-based model• Co-existence of both models• Show declaration overrides• Full error-checking of annotations• Support of annotation references: find
usages, rename, etc.
76www.jetbrains.com
EJB 3.0: Persistence Modules• Persistence modules in any IDEA module• Model diagram• EJB QL support: error checks,
completion, references
77www.jetbrains.com
EJB 3.0: Migration From 2.x• Session beans:
– Migration of server code– Assistance in client code migration– Automatic migration of common client
patterns
• Entity beans:– Generation of new, clean Persistence
module upon: old entity beans, Hibernate model or database schema
78www.jetbrains.com
EJB: More Improvements• Highlighting of basically all EJB errors – if
we give a “green” light – validator passes it.
• EJB errors analysis integration with compilation
79www.jetbrains.com
JSF• Recognition of JSF usage in module• JSF-enable module• Faces-config smart editing• Forms for configuration editing• Full EL support• Diagram engine for navigation
80www.jetbrains.com
JSF: EAP Screenshots
81www.jetbrains.com
JSF: EAP Screenshots
82www.jetbrains.com
JSF: EAP Screenshots
83www.jetbrains.com
Web Designer• WYSIWYG• Many features for better HTML layout
planned• Extensible, with components support
(JSR-273 & JSR-276 support as soon as they arrive)
• JSP & JSF Support
84www.jetbrains.com
Web Designer
85www.jetbrains.com
JSP Improvements• JSP 2.1 support:
– Unified Expression Language Support– Design-time EL resolvers– Property and method references
86www.jetbrains.com
JSP Improvements• Analyze included files in the context• System selects one arbitrary• Define context in “Hector” settings
header.jsp
file1.jsp
file2.jsp
file3.jsp
file4.jsp
87www.jetbrains.com
HTML Improvements• W3C validation right
from IDEA• Tons of
improvements, based on our designers feedback
88www.jetbrains.com
CSS Improvements• Style overriding inspection• Dynamic CSS classes resolving (symbol-
based)• Extract/inline style refactoring
89www.jetbrains.com
JavaScript Improvements• Name-based
resolving, completion• Code documentation• W3C DOM support• Type annotations• Common JavaScript
libraries/idioms support (Prototype, Dojo, DWR, etc.)
90www.jetbrains.com
Servers Support• Update for Weblogic support: 9.0• WebSphere
91www.jetbrains.com
Open API• Designer Open API• XML-based DOM models• Vendor-specific extensions• Code completion• Languages embedding into Java literals
www.jetbrains.com
Q&A
93www.jetbrains.com
If You Only Remember One Thing…
You can develop J2EE application with Pleasure!
94www.jetbrains.com
Feedback Is Welcome
You can:• Contact me right after the presentation• Drop a line to support at our web site• Create a feature/bug report (
http://www.jetbrains.net/jira)• Participate in EAP (
http://www.intellij.net/eap/)