www.jetbrains.com enterprise development with intellij idea mike aizatsky project manager jetbrains,...

Post on 20-Jan-2016

222 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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/)

top related