SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Vikas Manoria IT Specialist – IBM Academic Initiative [email_address] Section -2) Java Development
Section 2 -  Java Development (24%)   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Java Perspective 1 2 3 4 5 6 7 8
Java Perspective Toolbar Commands ,[object Object],1. Create Java Project 2. Create Java Package 3. Create Java Class a. Create Visual class b. Create Java class c. Create Java interface d. Create Java Enum e. Create Annotation f.  Create JUnit Test Case 4. Launch New_configuration (for Code Analysis) 5. Debug Java Application 6. Run Java Application 7. Profile Java Application 8. Run External Tools 9. Open Type 10. Open Search Dialog 1 2 3 4 5 6 7 8 9 10 a b c d e f
Overview of Java Projects ,[object Object],[object Object],[object Object],[object Object],[object Object]
Create a New Java Project ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java Build Path: Source and Projects ,[object Object],[object Object],[object Object]
Java Build Path: Libraries ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java Build Path: Order and Export ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Import Archived Resources into a Java Project ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Create a New Java Package ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Create a New Java Class ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Java Editor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tasks ,[object Object],[object Object],[object Object],[object Object]
Problems ,[object Object],[object Object],[object Object],[object Object],1 2 3 4
Filtering the Problem View ,[object Object],[object Object],[object Object]
Examine Errors in the Java Code Editor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Correct Errors with the Quick Fix Feature ,[object Object],[object Object],[object Object],[object Object],1 2 3
Code Assist / Content Assist ,[object Object],[object Object],[object Object],[object Object],[object Object]
Additional Content Assist Features ,[object Object],[object Object],[object Object],[object Object]
Content Assist Templates ,[object Object],[object Object],[object Object],[object Object]
Hierarchy View ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Javadoc View ,[object Object],[object Object],[object Object]
Declaration View ,[object Object],[object Object],[object Object]
The Java Browsing Perspective 1 2 3 4 5
Search ,[object Object],[object Object],[object Object]
Java Search ,[object Object],[object Object],[object Object]
Refactoring Java Code ,[object Object],[object Object],[object Object],[object Object],[object Object]
Move Java Class to Another Package ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Refactoring Functions (1 of 4) Function Description Shortcut Undo Reverses the last refactoring operation Alt+Shift+Z Redo Performs a refactoring operation that was previously reversed Alt+Shift+Y Rename Changes the name of a Java element, and updates all references to that element Alt+Shift+R Move Moves a Java element from between classes, interfaces, packages, or projects Alt+Shift+V Change Method Signature Changes the name or parameters of a method, and updates all references to the method Alt+Shift+C Convert Anonymous Class to Nested Provides a name for an anonymous class, thus changing the class into a nested class
Refactoring Functions (2 of 4) Function Description Move Member Type into New File Extracts a nested class and saves it as a separate class Push Down Moves a set of methods and fields from a class to its subclasses Pull Up Moves a set of methods and fields from a class to its superclass Extract Interface Creates a new interface based on a class.  Optionally, you can make the source class implement the new interface Generalize Type Replaces a type in a variable, parameter, or field or on a method return type with one of its supertypes Use Supertype Where Possible Replaces all occurrences of a type with one of its supertypes
Refactoring Functions (3 of 4) Function Description Shortcut Inline Replace a method invocation with the implementation of the method itself.  For static final fields, replace a reference to the field with the actual value Alt+Shift+I Extract Method Takes a section of code within a method and places it in a new method Alt+Shift+M Extract Local Variable Creates a local variable from an expression.  Replaces an expression with a reference to the local variable Alt+Shift+L Extract Constant Creates a static final field from an expression.  Replaces the expression with a reference to the static final field Introduce Parameter Within a method, extracts an expression and replaces it with a new method parameter
Refactoring Functions (4 of 4) Function Description Shortcut Introduce Factory Replaces a constructor with a factory method that invokes the constructor Convert Local Variable to Field Replaces a local variable with a field.  If the local variable is initialized when it is created, this operation moves the initialization code to the method’s constructor. Alt+Shift+F Encapsulate Field Replaces all references to a field with  getter  and  setter  methods
Source Functions (1 of 4) Function Description Shortcut Toggle Comment Adds single line comments ( // ) to each line in the selection Ctrl+/ Add Block Comment Adds block comment tags (  /* */  ) around the selection Ctrl+Shift+/ Remove Block Comment Removes block comment tags (  /* */  ) around the selection Ctrl+Shift+Shift Right Adds a tab character to the start of each line in the selection Tab Shift Left Removes a tab character from the start of each line in the selection Shift+Tab Format Changes the indentation, line spacing, and  braces in the entire Java class according to the code formatter settings Ctrl+Shift+F
Source Functions (2 of 4) Function Description Shortcut Format Element Apply code formatting only to the first Java element in the selection Correct Indentation Adjust the indentation to every line in the current selection Ctrl+I Sort Members Arrange the member order according to the  Member Sort Order  in Java preferences Organize Imports Adds any missing import statements, and removes any unused import statements Ctrl+Shift+O Add Imports Adds an import statement for the currently selected type.  Removes the package name for a qualified type, if possible. Ctrl+Shift+M Override/ Implement Methods Creates one or more methods defined in a superclass or interface
Source Functions (3 of 4) Function Description Shortcut Generate Getters and Setters Creates a  get Field  and  set Field  method for one or more fields in the current class Generate Delegate Methods For a field in the current class, creates a wrapper around methods from the field’s class Generate Constructor using Fields Creates a new constructor that initializes one or more fields in the class Add Constructor from Superclass Overrides one or more constructors defined in a superclass Add Javadoc Comment Adds a Javadoc comment and appropriate Javadoc tags for the selection Alt+Shift+J
Source Functions (4 of 4) Function Description Shortcut Surround with try/catch Block Adds a try/catch block around the selection to catch exceptions Externalize Strings Takes all static string declarations and saves them into a separate properties file.  Also creates a method to retrieve strings in the properties file. Find Strings to Externalize Given a project, source folder, or package, searches for any strings that have not been externalized Convert Line Delimiters To ,[object Object],[object Object],[object Object],[object Object]
Preview and Commit the Move Operation ,[object Object],[object Object],[object Object],[object Object],[object Object]
UML Visualization Overview ,[object Object],[object Object],[object Object],[object Object],[object Object]
Create a New Class Diagram File ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Visualize Existing Java Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Relationships between Java Types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],«use» +1 AccountBean
Java Project Properties ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java Build Path Settings ,[object Object],[object Object],[object Object]
Workspace Settings in Java Preferences (1 of 2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Workspace Settings in Java Preferences (2 of 2) ,[object Object],[object Object]
Checkpoint ,[object Object],[object Object],[object Object],[object Object],[object Object]
Checkpoint answers ,[object Object],[object Object],[object Object],[object Object],[object Object]
Lab  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Japanese Hebrew Thank You English Merci French Russian Danke German Grazie Italian Gracias Spanish Obrigado Portuguese Arabic Simplified Chinese Traditional Chinese Thai Korean

Weitere ähnliche Inhalte

Was ist angesagt?

Eclipse Day India 2011 - Extending JDT
Eclipse Day India 2011 - Extending JDTEclipse Day India 2011 - Extending JDT
Eclipse Day India 2011 - Extending JDT
deepakazad
 

Was ist angesagt? (14)

Eclipse Day India 2011 - Extending JDT
Eclipse Day India 2011 - Extending JDTEclipse Day India 2011 - Extending JDT
Eclipse Day India 2011 - Extending JDT
 
Microsoft dynamics ax 2012 development introduction part 2/3
Microsoft dynamics ax 2012 development introduction part 2/3Microsoft dynamics ax 2012 development introduction part 2/3
Microsoft dynamics ax 2012 development introduction part 2/3
 
CIS 406 Effective Communication - tutorialrank.com
CIS 406 Effective Communication - tutorialrank.comCIS 406 Effective Communication - tutorialrank.com
CIS 406 Effective Communication - tutorialrank.com
 
Chapter09
Chapter09Chapter09
Chapter09
 
Getting started with test complete 7
Getting started with test complete 7Getting started with test complete 7
Getting started with test complete 7
 
D2 k word_format
D2 k word_formatD2 k word_format
D2 k word_format
 
Intro To C++ - Class 07 - Headers, Interfaces, & Prototypes
Intro To C++ - Class 07 - Headers, Interfaces, & PrototypesIntro To C++ - Class 07 - Headers, Interfaces, & Prototypes
Intro To C++ - Class 07 - Headers, Interfaces, & Prototypes
 
Ax 2012 x++ code best practices
Ax 2012 x++ code best practicesAx 2012 x++ code best practices
Ax 2012 x++ code best practices
 
Microsoft Dynamics AX 2012 - Development Introduction Training - Part 3/3
Microsoft Dynamics AX 2012 - Development Introduction Training - Part 3/3Microsoft Dynamics AX 2012 - Development Introduction Training - Part 3/3
Microsoft Dynamics AX 2012 - Development Introduction Training - Part 3/3
 
Oracle D2K reports
Oracle D2K reports Oracle D2K reports
Oracle D2K reports
 
Stol
StolStol
Stol
 
Access modifiers in java
Access modifiers in javaAccess modifiers in java
Access modifiers in java
 
Unit of competency
Unit of competencyUnit of competency
Unit of competency
 
Oracle report from ppt
Oracle report from pptOracle report from ppt
Oracle report from ppt
 

Andere mochten auch (7)

JSUG - Effective Java Puzzlers by Christoph Pickl
JSUG - Effective Java Puzzlers by Christoph PicklJSUG - Effective Java Puzzlers by Christoph Pickl
JSUG - Effective Java Puzzlers by Christoph Pickl
 
3) web development
3) web development3) web development
3) web development
 
819 Static Channel Allocation
819 Static Channel Allocation819 Static Channel Allocation
819 Static Channel Allocation
 
Photoshop tut
Photoshop tutPhotoshop tut
Photoshop tut
 
Lab 5a) create a struts application
Lab 5a) create a struts applicationLab 5a) create a struts application
Lab 5a) create a struts application
 
Part 3 web development
Part 3 web developmentPart 3 web development
Part 3 web development
 
Uses Of Wifi
Uses Of WifiUses Of Wifi
Uses Of Wifi
 

Ähnlich wie 2) java development

1) workbench basics
1) workbench basics1) workbench basics
1) workbench basics
techbed
 
6) debugging and testing
6) debugging and testing6) debugging and testing
6) debugging and testing
techbed
 

Ähnlich wie 2) java development (20)

Java Programming Fundamentals
Java Programming Fundamentals Java Programming Fundamentals
Java Programming Fundamentals
 
1) workbench basics
1) workbench basics1) workbench basics
1) workbench basics
 
Prg421
Prg421Prg421
Prg421
 
Java interview questions and answers
Java interview questions and answersJava interview questions and answers
Java interview questions and answers
 
01slide
01slide01slide
01slide
 
01slide
01slide01slide
01slide
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
Strayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade newStrayer cis 406 week 10 assignment 2 u grade new
Strayer cis 406 week 10 assignment 2 u grade new
 
6) debugging and testing
6) debugging and testing6) debugging and testing
6) debugging and testing
 
Eclipse
EclipseEclipse
Eclipse
 
Object Oriented Programming - Java
Object Oriented Programming -  JavaObject Oriented Programming -  Java
Object Oriented Programming - Java
 
Eclipse - GUI Palette
Eclipse - GUI Palette Eclipse - GUI Palette
Eclipse - GUI Palette
 
02 basic java programming and operators
02 basic java programming and operators02 basic java programming and operators
02 basic java programming and operators
 
Class 1 blog
Class 1 blogClass 1 blog
Class 1 blog
 
Introduction
IntroductionIntroduction
Introduction
 

Mehr von techbed

1456.base boot
1456.base boot1456.base boot
1456.base boot
techbed
 
1455.ata atapi standards - 1-7
1455.ata atapi standards - 1-71455.ata atapi standards - 1-7
1455.ata atapi standards - 1-7
techbed
 
1454.ata features
1454.ata features1454.ata features
1454.ata features
techbed
 
1432.encoding concepts
1432.encoding concepts1432.encoding concepts
1432.encoding concepts
techbed
 
Flash cs4 tutorials_2009
Flash cs4 tutorials_2009Flash cs4 tutorials_2009
Flash cs4 tutorials_2009
techbed
 
Part 6 debugging and testing java applications
Part 6 debugging and testing java applicationsPart 6 debugging and testing java applications
Part 6 debugging and testing java applications
techbed
 
Lab 7b) test a web application
Lab 7b) test a web applicationLab 7b) test a web application
Lab 7b) test a web application
techbed
 
Lab 7a) debug a web application
Lab 7a) debug a web applicationLab 7a) debug a web application
Lab 7a) debug a web application
techbed
 
What is struts_en
What is struts_enWhat is struts_en
What is struts_en
techbed
 
Part 7 packaging and deployment
Part 7 packaging and deploymentPart 7 packaging and deployment
Part 7 packaging and deployment
techbed
 
Lab 6) package and deploy a j2 ee application
Lab 6) package and deploy a j2 ee applicationLab 6) package and deploy a j2 ee application
Lab 6) package and deploy a j2 ee application
techbed
 
Lab 5b) create a java server faces application
Lab 5b) create a java server faces applicationLab 5b) create a java server faces application
Lab 5b) create a java server faces application
techbed
 
First java-server-faces-tutorial-en
First java-server-faces-tutorial-enFirst java-server-faces-tutorial-en
First java-server-faces-tutorial-en
techbed
 
Part 5 running java applications
Part 5 running java applicationsPart 5 running java applications
Part 5 running java applications
techbed
 
Part 4 working with databases
Part 4 working with databasesPart 4 working with databases
Part 4 working with databases
techbed
 
Lab 4) working with databases
Lab 4) working with databasesLab 4) working with databases
Lab 4) working with databases
techbed
 
Lab 3) create a web application
Lab 3) create a web applicationLab 3) create a web application
Lab 3) create a web application
techbed
 
Part 2 java development
Part 2 java developmentPart 2 java development
Part 2 java development
techbed
 
Part 1 workbench basics
Part 1 workbench basicsPart 1 workbench basics
Part 1 workbench basics
techbed
 
Lab 2) develop a java application
Lab 2) develop a java applicationLab 2) develop a java application
Lab 2) develop a java application
techbed
 

Mehr von techbed (20)

1456.base boot
1456.base boot1456.base boot
1456.base boot
 
1455.ata atapi standards - 1-7
1455.ata atapi standards - 1-71455.ata atapi standards - 1-7
1455.ata atapi standards - 1-7
 
1454.ata features
1454.ata features1454.ata features
1454.ata features
 
1432.encoding concepts
1432.encoding concepts1432.encoding concepts
1432.encoding concepts
 
Flash cs4 tutorials_2009
Flash cs4 tutorials_2009Flash cs4 tutorials_2009
Flash cs4 tutorials_2009
 
Part 6 debugging and testing java applications
Part 6 debugging and testing java applicationsPart 6 debugging and testing java applications
Part 6 debugging and testing java applications
 
Lab 7b) test a web application
Lab 7b) test a web applicationLab 7b) test a web application
Lab 7b) test a web application
 
Lab 7a) debug a web application
Lab 7a) debug a web applicationLab 7a) debug a web application
Lab 7a) debug a web application
 
What is struts_en
What is struts_enWhat is struts_en
What is struts_en
 
Part 7 packaging and deployment
Part 7 packaging and deploymentPart 7 packaging and deployment
Part 7 packaging and deployment
 
Lab 6) package and deploy a j2 ee application
Lab 6) package and deploy a j2 ee applicationLab 6) package and deploy a j2 ee application
Lab 6) package and deploy a j2 ee application
 
Lab 5b) create a java server faces application
Lab 5b) create a java server faces applicationLab 5b) create a java server faces application
Lab 5b) create a java server faces application
 
First java-server-faces-tutorial-en
First java-server-faces-tutorial-enFirst java-server-faces-tutorial-en
First java-server-faces-tutorial-en
 
Part 5 running java applications
Part 5 running java applicationsPart 5 running java applications
Part 5 running java applications
 
Part 4 working with databases
Part 4 working with databasesPart 4 working with databases
Part 4 working with databases
 
Lab 4) working with databases
Lab 4) working with databasesLab 4) working with databases
Lab 4) working with databases
 
Lab 3) create a web application
Lab 3) create a web applicationLab 3) create a web application
Lab 3) create a web application
 
Part 2 java development
Part 2 java developmentPart 2 java development
Part 2 java development
 
Part 1 workbench basics
Part 1 workbench basicsPart 1 workbench basics
Part 1 workbench basics
 
Lab 2) develop a java application
Lab 2) develop a java applicationLab 2) develop a java application
Lab 2) develop a java application
 

2) java development

  • 1. Vikas Manoria IT Specialist – IBM Academic Initiative [email_address] Section -2) Java Development
  • 2.
  • 3. The Java Perspective 1 2 3 4 5 6 7 8
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. The Java Browsing Perspective 1 2 3 4 5
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Refactoring Functions (1 of 4) Function Description Shortcut Undo Reverses the last refactoring operation Alt+Shift+Z Redo Performs a refactoring operation that was previously reversed Alt+Shift+Y Rename Changes the name of a Java element, and updates all references to that element Alt+Shift+R Move Moves a Java element from between classes, interfaces, packages, or projects Alt+Shift+V Change Method Signature Changes the name or parameters of a method, and updates all references to the method Alt+Shift+C Convert Anonymous Class to Nested Provides a name for an anonymous class, thus changing the class into a nested class
  • 31. Refactoring Functions (2 of 4) Function Description Move Member Type into New File Extracts a nested class and saves it as a separate class Push Down Moves a set of methods and fields from a class to its subclasses Pull Up Moves a set of methods and fields from a class to its superclass Extract Interface Creates a new interface based on a class. Optionally, you can make the source class implement the new interface Generalize Type Replaces a type in a variable, parameter, or field or on a method return type with one of its supertypes Use Supertype Where Possible Replaces all occurrences of a type with one of its supertypes
  • 32. Refactoring Functions (3 of 4) Function Description Shortcut Inline Replace a method invocation with the implementation of the method itself. For static final fields, replace a reference to the field with the actual value Alt+Shift+I Extract Method Takes a section of code within a method and places it in a new method Alt+Shift+M Extract Local Variable Creates a local variable from an expression. Replaces an expression with a reference to the local variable Alt+Shift+L Extract Constant Creates a static final field from an expression. Replaces the expression with a reference to the static final field Introduce Parameter Within a method, extracts an expression and replaces it with a new method parameter
  • 33. Refactoring Functions (4 of 4) Function Description Shortcut Introduce Factory Replaces a constructor with a factory method that invokes the constructor Convert Local Variable to Field Replaces a local variable with a field. If the local variable is initialized when it is created, this operation moves the initialization code to the method’s constructor. Alt+Shift+F Encapsulate Field Replaces all references to a field with getter and setter methods
  • 34. Source Functions (1 of 4) Function Description Shortcut Toggle Comment Adds single line comments ( // ) to each line in the selection Ctrl+/ Add Block Comment Adds block comment tags ( /* */ ) around the selection Ctrl+Shift+/ Remove Block Comment Removes block comment tags ( /* */ ) around the selection Ctrl+Shift+Shift Right Adds a tab character to the start of each line in the selection Tab Shift Left Removes a tab character from the start of each line in the selection Shift+Tab Format Changes the indentation, line spacing, and braces in the entire Java class according to the code formatter settings Ctrl+Shift+F
  • 35. Source Functions (2 of 4) Function Description Shortcut Format Element Apply code formatting only to the first Java element in the selection Correct Indentation Adjust the indentation to every line in the current selection Ctrl+I Sort Members Arrange the member order according to the Member Sort Order in Java preferences Organize Imports Adds any missing import statements, and removes any unused import statements Ctrl+Shift+O Add Imports Adds an import statement for the currently selected type. Removes the package name for a qualified type, if possible. Ctrl+Shift+M Override/ Implement Methods Creates one or more methods defined in a superclass or interface
  • 36. Source Functions (3 of 4) Function Description Shortcut Generate Getters and Setters Creates a get Field and set Field method for one or more fields in the current class Generate Delegate Methods For a field in the current class, creates a wrapper around methods from the field’s class Generate Constructor using Fields Creates a new constructor that initializes one or more fields in the class Add Constructor from Superclass Overrides one or more constructors defined in a superclass Add Javadoc Comment Adds a Javadoc comment and appropriate Javadoc tags for the selection Alt+Shift+J
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. Japanese Hebrew Thank You English Merci French Russian Danke German Grazie Italian Gracias Spanish Obrigado Portuguese Arabic Simplified Chinese Traditional Chinese Thai Korean

Hinweis der Redaktion

  1. Main Point: IBM is continuing to evolve and enhance the value that we bring to companies by building on the SOA announcements we made last fall…today we are going to talk to you about how a Business Centric Perspective to SOA is necessary to drive innovation that matters* As you know, SOA is one of IBM’s long term strategies to enable innovation that matters. IBM will continue to deliver SOA centric offerings. But we also want you to know that IBM’s view of SOA is business centric. and we’ll talk about this important concept. Further, we’ll discuss ways to get started through existing parts of your business (people process, information). Additionally, we’ll show how reuse and connectivity is critical to support the business centric approach. We’ll then give you detail on how the specific entry points are accelerated by SOA Foundation products and the business insight these products provide. Lastly, we’ll discuss an important part of the story called SOA Governance to ensure we’re aligning the business with IT.
  2. Notes: The Java perspective provides a set of views to help you develop Java applications, numbered in the previous figure as follows: The Package Explorer view displays the contents of your Java projects, and groups package names into one entry. The Java Editor allows you to develop Java classes. This editor supports syntax highlighting, error indication, and automatic incremental builds. The Java toolbar provides quick access to the wizards and functions associated with Java application development. The Hierarchy view shows the relationship between one class and its superclasses, subclasses and interfaces. The Outline view provides a graphic representation of the current Java class in the editor. 6. The Problems view lists all compilation errors or warnings from any Java class in the workspace. 7. The Javadoc view renders the currently selected Javadoc in the Java editor in HTML format. 8. The Declaration view shows the implementation for a method selected in the Java editor. You can also show the same information by selecting a Java element and pressing F3. Instructor notes: Purpose -- Provide a brief overview about the Java perspective. Details -- Provide a general overview of the different views and editors in the Java perspective. Most students feel slightly overwhelmed when they see the perspective with all of its views in the start. Assure students that you will be covering the different parts of this perspective in more detail in this module. The numbered list in the student notes correspond to the numbered items in the screenshot. The items are arbitrarily numbered; feel free to present the views in the most logical order for you and your students. Additional information -- Remind students how to open up a perspective if they have forgotten, or refer them to the workbench basics lecture. Transition statement -- Let's examine the files that make up a Java application.
  3. Notes: JUnit is a unit testing framework for Java applications. A JUnit Test Case is a Java class representation of a single unit test. A Visual Class is a regular Java class that represents a part of a graphical user interface. The visual class wizard allows you to choose from one of three graphical toolkits: the Standard Widget Toolkit (SWT), Java Swing, or the Abstract Window Toolkit (AWT). Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  4. Notes:   Instructor notes: Purpose -- Describe the concept of the Java project. Details -- A Java project contains the source code and binary files for a Java application. The Package Explorer view provides pertinent information about Java applications, grouped by packages and utility classes. The Java project represents the structure of a JAR archive. Additional information -- The Package Explorer view translates the folder structure in a Java project to the proper package name. You can also examine the structure of a Java class or interface within the same view. Transition statement --
  5. Notes: Usually, the wizard creates the new Java project as a subfolder within the workspace. However, there are some special circumstances where you might want to place the project outside of the workspace. For example, ClearCase can automatically maintain a repository of files over a network shared drive. To use this feature, you can create the Java project on the network share, instead of a local workspace folder. By default, Java class files are kept in the same directory as the source file. For better maintainability and ease of packaging, you can separate the source files from the binary class files into separate folders. The New Java Project wizard provides additional Java build path and dependency options on the second page of the wizard. You can access this page by clicking Next instead of Finish . Instructor notes: Purpose -- Describe how to create a Java project. Details -- Stress the importance of creating a Java project. In a manner of speaking, projects are first-class citizens in a workspace. Developers must create a project before he or she can add resources to the workspace. Additional information -- There are other methods of accessing the new Java project wizard. For example, you can click the New Java project button on the perspective toolbar, or right-click the Package Explorer view and select New -> Java Package. The slide material focuses on the main menu bar because developers can create any artifact in the workbench through that menu. Students will always be able to create a Java project, irrespective of which perspective is currently open. Transition statement -- How do you add existing classes to the Java project?
  6. Notes: Use the exclusion filter to hide files in the Java project from the compiler. To configure the exclusion filter, select the Excluded item under the Java project name and click Edit . The inclusion filter works in the opposite manner, specifying which files are explicitly marked for compilation. The exclusion pattern always takes preference over the inclusion pattern. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  7. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  8. Notes: By default, the source files from the current Java project are always visible to any other project that references it. Therefore, you cannot clear the current Java project. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  9. Notes: You must create a Java project before you import a JAR, .zip or TAR file into the workspace. Otherwise, the Import Archive file wizard returns an error stating that the destination folder does not exist. Instructor notes: Purpose -- Describe the steps for importing a Java Resources contained in a Archive file such as a JAR, ZIP, or TAR. Details -- Point out that all J2EE archives (JAR, EAR, WAR and RAR) are essentially Archive files with a specific folder structure. In the workbench, the Archive file import wizard also handles Java JAR, ZIP, TAR files. Additional information -- Make sure that the Into Folder field points to the right folder in the Java project. Transition statement -- Instead of importing new resources, how can you create new Java classes and packages in the project?
  10. Notes: By default, Java packages appear directly underneath the Java project folder. If you want more control in logically grouping certain Java packages, you can create a source folder within the Java project. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  11. Notes: If the package does not exist, the wizard creates a new Java package along with the class. Certain combinations of class modifiers are not allowed . For example, you cannot create a final static class. Specifying java.lang.Object as a superclass does not appear in the class signature, since all Java classes implicitly extend the Object class. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  12. Notes: The gray area in the left indicator column highlights the scope of the current Java fragment. For example, if you put the cursor within a Java method, the gray bar starts from the method signature and ends at the ending brace for the method. The purple bar next to the left indicator column highlights lines of code that have been modified since the last save. Instructor notes: Purpose -- Introduce the Java editor interface. Details -- The left and right indicator bars are also known as rulers. This concept is difficult to describe using the slide material alone. It is much easier to demonstrate the editor for the next series of slides. Additional information -- You can customize the text and background colors from the Windows -> Preferences menu. Transition statement -- How are errors indicated in the Java editor?
  13. The location of the task (the line and file with which it is associated) is filled in automatically. The description is by default the code that is on that line (you can replace the default with your own text). Priorities are High, Normal, and Low. The Completed box can be checked here to indicate that the task has been resolved (for example, a developer may simply want to indicate to the team that the task discussed during a meeting has been dealt with). Both Priority and Completion are indicated in the leftmost columns of the Tasks view.
  14. If there is a problem in a class, the package by definition also has a problem, and the JavaSource folder therefore shows the problem marker as well. There is no indication of how many problems there are in the class. The error is marked to the left by a red circle with a white cross. Hovering over the marker will bring up a pane showing the nature of the error. The warning is marked by a yellow triangle. The light-bulb behind the error marker indicates that Rational Application Developer has a suggested correction (in this case, it suggests adding an argument to match one of the constructors of PrintWriter). The Problems view shows the resource, which contains the problem and a description. If the description is not completely visible, you can select one row and read the description at the bottom of the window. These messages are deleted only by correcting the problem. See the next slide for a description of the filter icon.
  15. See the previous slide for the placement of the problem filter icon. It is often convenient to restrict visibility of problems to a subset of resources, rather than a subset of problems. This dialog provides you with several different ways of doing this. You may, for example, only want to see errors and warnings (no informational reports), on the resource that is currently active in an editor.
  16. Notes: The indicator bars indicate errors and to-do items in the current Java class. In the example above, there are two TODO items in the comment. The left indicator bar uses a blue checkmark icon to highlight the TODO items. The right indicator bar uses two blue rectangles to show the position of the TODO items, relative to the entire document. Instructor notes: Purpose -- Describe the error indicators in the Java editor. Details -- To hover over an item, place the mouse cursor over an interface element (such as the error indicator in the right ruler.) A tooltip appears displaying the error. Alternatively, open the Problems view to see a list of all errors in the workspace. Additional information -- Transition statement -- Let's explore how the quick fix feature helps you solve errors in the editor.
  17. Notes:   Instructor notes: Purpose -- Walk through the steps on using the Quick Fix feature. Details -- Additional information -- The Quick Fix feature appears in views and wizards as well. For example, if you enable the regular expressions feature in the search window, a small quick fix icon appears to the left of the search criteria input field. Clicking on the quick fix icon reveals regular expression templates. Transition statement -- What other help features does the Java editor provide?
  18. Notes: Code Assist helps you complete lines of code in the Java editor. The screenshot in the slide is an example of a code assist; the workbench provides a list of suggested method and field names to complete the statement. Content Assist helps you complete a block of code, using a template of code. Using content assist, you can add a for-loop structure and fill in the details. To invoke either the Code Assist or Content Assist feature, press Ctrl+Space in the editor.   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  19. Notes: XDoclet is an open-source project that defines a system for embedding deployment information within the Java source file. The project itself defines a set of Javadoc tags and an XDoclet syntax compiler. Rational Application Developer V7 and later understands the Javadoc annotation tags, but it uses its own incremental builder to compile the tags. Instructor notes: Purpose -- Describe other content assist features available in the Java editor. Details -- Additional information -- The Servlet, Filters and Listeners unit provides a thorough discussion about annotation tags. Leave the discussion about these tags to this unit. Transition statement --
  20. Notes:   Instructor notes: Purpose -- Briefly point out the content assist templates feature. Details -- Anonymous inner classes allow you to create a simple Java class for one-time use. public int x = 0; Runnable runnable = new runnable() { public void run () { while ( x < 100 ) { System.out.println ( x += 1 ); } } } There are several interesting points about the code fragment above: The statement creates a new Java class that can only be instantiated at this point. Since runnable is an interface, this statement instantiates a class of type java.lang.Object that implements the Runnable interface. As an inner class, it has access to the fields from the surrounding outer class. The code example is for illustration purposes only. Having a separate thread access a public variable is not a good design. Additional information -- You can add your own custom content assist templates in the Java -> Editor -> Templates section of the workspace preferences. Transition statement -- Let's examine some of the other views that help you use the Java editor.
  21. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  22. Notes: You can also press F2 for Javadoc Help to retrieve the same information as shown in the view. Pressing F2 for Javadoc Help returns a floating tooltip on top of your editor, instead of having to switch to a separate view. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  23. Notes: You can also press F3 to return the same information as shown in the declaration view. Pressing F3 opens a new editor with the declaration for the currently selected class, method, or field. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  24. Notes: The Java Browsing perspective provides a quick way to examine the Java elements that make up your Java application. The components within the Package Explorer view have been split into four separate views: Projects, Packages, Types and Members. Select a source folder within a Java package from the Projects view. With a project selected, the Packages view lists all of the Java packages available from the Java project. Select one package from the list. The Types view lists all of the classes and interfaces that appear in the selected Java package. Select one type from the list. The Members view displays all of the fields, variables, constructors, and methods within the selected type. The Java Editor displays the currently selected type, with the cursor located at the definition for the selected member. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  25. There are 3 main types of searches: File search looks for text in files or file names (regular expressions can be used). Help Search will find matches in the Rational Application Developer Help. Java Search allows you to quickly find references to and declarations of Java elements. Other search categories will depend on the extra plug-in functionality choices you made during the install of Rational Application Developer. Rational Application Developer for example, whether you choose to install Crystal Reports functionality into Rational Application Developer.
  26. Notes: To open the search dialog box, perform one of the following three tasks: Click Search -> Search from the main workbench menu. Use the Ctrl+H hotkey from the workbench. In the Java perspective, press the Search toolbar button. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  27. Notes: The workbench features refactoring tools for reorganizing Java applications. When you refactor a program, you transform your code while preserving its behavior. For example, when you rename an element, the workbench's refactoring support changes both the selected resource's name and all references to it. This feature allows you to make changes to code structures, and to have those changes ripple across the entire project consistently. All the dependencies are analyzed and modified where appropriate. There are several options that allow you to control the process of incorporating the changes. By default, you are prompted to review the changes before committing them. You can choose various other options, such as committing changes if no error occurs. If you need to revert the changes, even after you commit, you can use local history. Pull-up will move the selected method one level up the inheritance tree (to the super class) and ensure that all references are updated appropriately. Self-encapsulation will wrap access to any member fields in getter and setter methods. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  28. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  29. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  30. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  31. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  32. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  33. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  34. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  35. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  36. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement -- [Unconditional]
  37. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  38. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  39. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  40. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  41. Notes: An Extends relationship is also known as an inheritance or is-a relationship. An Implements relationship is also called a has-a relationship. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  42. Notes: The list of properties on this foil describe some of the more commonly used settings for basic Java properties. Other properties, such as Project References and Java JAR Dependencies, affect the operation of Java projects within a J2EE enterprise project. Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  43. Notes:   Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  44. Notes: To open the Java preferences dialog, select Windows > Preferences . Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  45. Notes: To open the Java preferences dialog, select Windows > Preferences . Instructor notes: Purpose -- Details -- Additional information -- Transition statement --
  46. Notes : Write down your answers here: Instructor notes : Purpose — Details — Additional information — Transition statement —
  47. RUP Rational Unified Process, Developer Tab , Designer > Concepts > J2EE to RUP Mapping Rational Unified Process, Developer Tab , Designer > Enterprise JavaBean (EJB) Design > Guideline s > Designing Enterprise JavaBeans (EJBs) Web Resources http://www-130.ibm.com/developerworks/ http://w3.ams1.ibm.com/services/ams/competency/ams/tools_support/rational/learn_about/ams_rational_advanced_learning.html EJB Best Practices: Entity Bean Protection: http://www-106.ibm.com/developerworks/java/library/j-ejb1008.html Literature Enterprise Java Programming with IBM® WebSphere®, Second Edition By Kyle Brown, Gary Craig, Greg Hester, Russell Stinehour, W. David Pitt, Mark Weitzel, Jim Amsden, Peter M. Jakab, Daniel Berg Additional Courses Introduction to Web Services - http://w3-3.ibm.com/education/CourseDescriptionServlet.wss?city=&state=&countrycode=&coursecode=XM371&courseDescrLanguageId=1 WebSphere Training and Technical enablement: http://www-128.ibm.com/developerworks/websphere/education/enablement/curriculum/cur_webtoolside.html Review resources with students and answer questions.
  48. Self explanatory