Duration: 5 days
Course code: SS-JAV-010
Audience
This course is designed for experienced Web application developers and professionals:
- System Designers
- Application Developers
Prerequisites
Experience with Java is essential.
Description
The Advanced Java training course is designed for software professionals seeking to design and develop applications using the latest Java Standard Edition specification. Based on SciSpike's well-received training methodologies, the course provides for a rapid, efficient (and, yes, intense) immersion into advanced Java topics.
The Advanced Java training course is a five-day course and covers Java Foundation Classes (JFC), Swing Components, JavaBeans, Reflection, Network Programming, Remote Method Invocation (RMI), Java Database Connectivity (JDBC) and Java Security.
Participants will master the fundamentals of graphical user interface development using the Java Swing library. Using either Rational Application Developer (RAD) or Eclipse, attendees build, package, deploy and test JavaBeans. This course covers topics in distributed computing using both the Java network class library and the RMI framework. Database programming topics also include transactions, query execution with ad-hoc queries, compiled queries and stored procedure statements using JDBC. We also cover advanced JDBC topics, such as distributed transactions, scrollable result sets etc. provided in the latest JDBC API. The Java security model and the class library are also covered in sufficient detail.
The Advanced Java training course consists of a large number of fully worked out example code illustrating various concepts introduced during the course. The concepts are further reinforced through the use of well-crafted exercises at appropriate points throughout the course.
Objectives
Our Advanced Java training courses are targeted to provide you with advanced programming skills using Java. On completion, attendees would be able to:
- Master graphical user interface development using the Swing API in Java
- Master network programming in Java
- Effectively use distributed component based programming using RMI
- Master component-based development using JavaBeans
- Master reflective programming using the Reflection API
- Build secure java application using the Java Security API and tools
Outline for Advanced Java Training Courses
Java Swing
- Event Model
- GUI Elements
- JFrame
- JPanel
- JButton
- Scrollbars
- Split Panes
- Tabled Panes
- Layout Managers
- Flow Layout
- Grid Layout
- Gridbag Layout
- Border Layout
- Box Layout
- JTable
- Table model
- Table events
- Listeners
- Selections
- Custom rendering of cells
- Editing table elements
- Writing custom editors
JList
- List model
- Events and Listeners
- Selection models
- Custom rendering
- Editing elements
Combo Box
- Model
- Events & Listeners
- Selection
- Custom rendering
- Custom editors
JTree
- Tree Model
- Listeners
- Selection model
- Custom rendering
- Custom editing
Text Editors
- Text Model
- Editor and Editor kits
- Events and Listeners
- Selections
- Displaying data
- Multiple colors
- Multiple fonts
- Embedding images in text areas
- Embedding components in text areas
Displaying HTML
Network Programming
- Java.net package
- Sockets
- Client-Server Programming
- Mapping Streams to Sockets
- Building a multithreaded client server system
Remote Method Invocation (RMI)
- Distributed Objects
- Concepts in distributed computing
- The Proxy design pattern
- Specifying remote interfaces
- Distributed Java Objects
- Using RMI compiler
- Specifying security policies
- Installing security managers
- RMI-IIOP protocol
Java Database Connectivity (JDBC)
- Fundamentals of Database Programming
- Using the JDBC API
- JDBC connectivity types
- Bridging technology
- Native API
- Middleware
- Pure Java Drivers
- Loading JDBC drivers
- Connection
- Statements
- ResultSets
- Meta Data
- Database MetaData
- ResultSet MetaData
- Scrollable Result Sets
- Accessing the Transaction Manager
- Two-Phase Commit
- Data Sources
- Connection Pools
Java Reflection
- Reflection programming
- Concept of a "Meta" class
- Benefits of meta programming
- Runtime representation of classes
- The Class class
- Dynamic loading of classes
- Instantiating objects programmatically
- Representing methods
- Invoking methods dynamically
- Runtime representation of attributes
- Dealing with primitive types
Java Beans
- Component based application development
- Fundamentals of Java Beans
- Properties
- Conventions
- Property Editors
- Building Simple Java Beans
- Exporting Properties Explicitly
- Using the "BeanInfo" interface
- Property Descriptors
- Method Descriptors
- Event Descriptors
- Custom rendering of properties
- Specifying property editors
- Design and development of custom property editors
- Designing Java Bean customizers
- Packaging and deploying Java Beans
- Using Java Beans
- Accessing pre-built Java Beans from the visual composition editor
- Instantiation and customization of Java Beans using property editors
- Assembling Java Beans to build applications visually
- Storing and distributing a Java Bean assembled application
Fundamentals of Cryptography
- Public Key Cryptography
- Signatures
- Digest
- Certificates (X.509)
- Authentication
Java Security
- Sandbox model
- Security Manager
- Policy
- Permissions
- Domains
- Java Cryptography Extension (JCE)
Java Security Tools
- Policy Tool
- Key Tool
- Jar Signer