Sunday, June 3, 2007

Developing Plug-Ins for the Eclipse 3.0 Platform

Developing Plug-Ins for the Eclipse 3.0 Platform
Duration: 5 days
Audience
Prerequisites
This course is for developers who already know Java and want to learn the Eclipse platform.
Java developers
Architects
Participants must be proficient in Java in order to do the labs.
Description
Eclipse is a platform for building Rapid Application Development (RAD) environments. The Eclipse framework is based on a plug-in model that enables software tool vendors to plug in their own development tools. The platform provides a common user interface model for working with tools. It is designed to run on multiple operating systems. Plug-ins can be built using the Eclipse portable APIs and may run unchanged on any of the supported operating systems. This course teaches attendees the architecture of the Eclipse platform. It covers the whole spectrum of writing a plug-in for the platform. This is a highly hands-on course, with programming labs constituting about 60% of the course.
Objectives
Upon completion of this course, attendees will be able to:
Understand the architecture of the Eclipse platform
Use the Standard Widget Toolkits to write their own widgets
Use the JFace UI framework
Develop a full-fledged plug-in
Productize a plug-in
Course Outline
Eclipse Overview
What is Eclipse
Eclipse platform architecture
Eclipse SDK
Write your first plug-in
The plug-in.xml file
Packaging and installing a plug-in Plug-in Development Environment (PDE)
PDE Concepts
plug-in.xml editor
Using PDE to build a simple plug-in
Debugging plug-in code SWT - The Standard Widget Toolkit
SWT overview - What, why, and how
SWT widgets
Layouts
SWT event model
Graphics
Color model
Thread model JFace - The User Interface Framework for Plug-Ins
JFace overview
Viewers
Using the Tree Viewer
Using the Text Viewer
Editors
JFace resource module
JFace wizard module
Progress indicators
Dialogs
Resources and Resources Plug-In
Resources overview
Resources and workspace
Resources and file systems
The Resources API
Resource markers
Tracking resource changes
Incremental project builders
Project natures
Participating in workspace save
Project natures
Writing Workbench Plug-ins
Overview of Workbench Components
Overview of workbench extension points
The plug-in class
View Actions Extension Point
Editors Extension Point
Editor Action Extension Point
Popup Menus Extension Point
Workbench Menu contribution
Action Sets Extension Point
Perspectives Extension Point
New Wizards Extension Point
Process of Creating a Wizard
Preferences
Property pages
Dialogs and Wizards
Dialogs Overview
JFace Dialog Framework
SWT Dialog Widgets
Wizards Overview
newWizards Extension Point
Process of Creating a Wizard
Preferences and Properties
Extending the Preferences Dialog
How are Preferences Used
How are Preferences Stored
Defining a Preference Page Extension
The Preference Page Class
Preference Page Implementation
Interacting Between GUI and Preference Store
Reacting to Preference Setting Changes
Extending Properties Dialog
How Is Properties Dialog Used
Process for creating a Property Page
Defining a Property Page Extension
Defining the Property Page Class
Implementing Property Page User Interface
Accessing Properties
Help
Contributing Online Help
Process of offering Help
Creating HTML contents
Creating Table of Contents Files
Linking Table of Contents Files
Providing Anchors
Declaring the Help Extension
Providing Context Sensitive Help
Process of adding Context Sensitive Help
Declaring a Help Context Extension
Creating the Infopop Contents
Associating the Context Id with UI Component
Fragments
What is a Plug-in Fragment
Where is Fragment defined
The fragment.xml file
PDE and Fragments
Features
Update Manager
Overview of Features
Default Features in Eclipse
Translatable Strings
Primary Feature
Description, License URL, etc.
Updating Features
Plug-ins in a Feature
Prerequisite Plug-ins
Prerequisite Matching Rule
Root and Included Features
PDE Project for Features
feature.xml Editor
Exporting Feature
Feature and Product Branding
Feature Branding
Feature Branding Information
Product Branding
Files for Product Branding
The install.ini File
How is Product Branding Information Used
The Splash Screen
Packaging for Delivery
Packaging as a Product
Process of Packaging an Eclipse-Based product
Packaging as an Extension
Using Installatoin Tool to create an Installer
Packaging for Update Manager
The site.xml File
Using PDE to create site.xml File

Oracle9i Application Server Basic Administration

Oracle9i Application Server Basic Administration
Duration: 3 days
Audience
Prerequisites
Description
This course provides comprehensive background on the new Orable9i Application Server.
Objectives
At the conclusion of this course, participants will have an understanding of the new Oracle9i Application Server.
Course Outline
Overview of Oracle9i Application Server
Orcle9i Application Server as a component of Oracle Internet Suite
Summary of the services provided by Oracle9i Application Server
The role of Oracle9i Application Server in multi-tier system architecture
Architecture of Oracle9i Application Server - Standard, Enterprise, Wireless Technologies supported Communication Services - HTTP Server Overview of Apache web server
Workshop: Configuring and using Apache web server
Configuration of Apache JServ, installing and running servlets
Workshop: Configuring Apache JServ and installing servlets
HTTP server modules - PERL, PL/SQL, Secure Socket Layer (SSL)Content Management
Oracle Internet File System (iFS) concepts and components
Setting up Oracle iFS
Administration tools
Workshop: Setting up and using Oracle iFSBusiness Logic Services
Business components for Java (BC4J)
Oracle Java Virtual Machine (JVM) and its supported technologies
CORBA
EJB
stored procedures
JDBC
JPublisher
Servlets
JSP
SQLJ
PL/SQL
Oracle Form Services
Presentations Services
Java servlets with Apache JServ
JavaServer Pages (JSP)
Workshop: Installing and configuring example JSP
PL/SQL Server Pages (PSP)
Perl InterpreterDeveloper Kits
Oracle database client development with
JDBC
JMS
OCI
SQLJ
Java Messaging Service Toolkit
SQLJ translator and runtime environment
JDBC drivers
Oracle Call Interface (OCI)
Extensible Markup Language (XML)
Lightweight Directory Access Protocol (LDAP)Portal Services
Oracle Portal
Portal-to-GoCaching Services
Database cache
Web cacheSystem ServicesBusiness Intelligence Services
Oracle Reports
Oracle Discoverer Viewer

Java Programming for COBOL Programmers

Java Programming for COBOL Programmers
Duration: 5 days
Audience
Prerequisites
Application Developers
System Designers
Experience with at least one structured programming language
Description
This course is specially designed for COBOL programmers seeking to design and develop applications using the Java 2 Standard Edition (J2SE). Based on InferData's well-received training methodologies, the course provides for a rapid and efficient transition to object-oriented software development using J2SE. The attendees are expected to be familiar with COBOL or some other structured programming language. Experience with object orientation would be helpful but is not required.This five-day course covers topics in object-orientation, the basics of programming using Java, including syntax, compilation, packaging and deployment. The J2SE class library and architecture are also covered as well as multi-threaded programming in Java. Other topics covered include concepts in "Interface based design for de-coupled and concurrent development". The Java class libraries covered include: Java utilities, input and output (I/O), web based client development using Java "Applets", a brief introduction to graphical user interfaces development using the Java Swing library, and an introduction to the Java Database Connectivity (JDBC). Where applicable, all the concepts will be conveyed in a way such that COBOL programmers can relate to their familiar COBOL counterparts.This 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
objectives
Course Outline
Java Basics
Java Object Model
Class definitions
Class and instance variables
Basic data types
Inheritance and code reuse
Data encapsulation and access protection
Compilation and the Java run-time environment
The "String" and "System" classes
Basic Java application Java Interfaces
Design by contract
Java Interface
De-coupled design
Using the factory design pattern
Implementing multiple inheritance Comparing and Mapping COBOL Concepts to Java Language ConstructsJava Packages
Name spaces
Standard Java conventions
File system dependencies
Access protection Error Handling
Java Exceptions
Separating business logic from error handling logic
Using "try", "catch" and "finally"
Throwing exceptions
Checked and unchecked exceptions
Navigating the stack trace
Repackaging and re-throwing exceptions Threads
Concurrent and parallel programming
Deadlocks
Tread Class
Managing groups of threads using Thread Group
Managing thread priorities
Thread Synchronization
Designing cooperating multithreaded applications
Using the "Runnable" interface
Java Class Library
J2SE Class Library Architecture
Naming conventions
Java Utility Package (java.util)
Collections Library
Storage Structures (Array, Vector, HashMaps etc.)
Aggregation operations Input and Output
The java.io class Library
Input and Output structure
Handling textual data with "Reader" and "Writer" streams
File System I/O Basic Graphics
The Java graphics framework
Abstract Windowing Toolkit (java.awt)
The Java Swing Library (javax.swing)
The Java event model
Basic UI elements
Labels
TextFields
Buttons
Panels
Frames
Event Processing and Propagation
Handling Graphical Events using Event Listeners Java Applets
Web-based client Development
The java.applet package
Issues in network security
The java "Sandbox" model of security
Applet limitations
Building an applet-based application 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

Advanced J2EE

Advanced J2EE
Duration: 5 Days
Audience
Prerequisites
This course has been specially designed for professionals with prior exposure to J2EE and looking to build large-scale, scalable, robust, secure, transactional distributed E-Business systems using the advanced features of the J2EE platform. Professionals who have at least one year of experience with programming in Java.
Architects
Designers
Consultants
Developers
J2EE
Description
The Java 2 Enterprise Edition (J2EE) provides an object-oriented, distributed and cross-platform framework for developing and deploying robust, secure and scalable E-Business and E-Commerce applications. In this course, you will master advanced concepts, design strategies and implementation techniques for building highly efficient and maintainable production-strength J2EE based systems.
This course may be delivered on Rational Application Developer 6.0, WSAD 5.1.2, or WebLogic Server 8.x. Please contact us if you need delvery on other platforms.
Objectives
This course teaches an advanced set of concepts and technologies of the J2EE platform with an emphasis in the areas of performance, security, distributed transactions, advanced persistence mapping of components, asynchronous components and Web tier architecture. On completion, attendees would be able to:
Configuring application server's security settings to support J2EE's declarative security features
Develop portable and extensible security features in a J2EE application using JAAS
Master the transaction model in J2EE to develop applications that span transactions over multiple transactional resources
Master the EJB QL query language to implement custom finders and ejbSelect ejbHome methods
Design and implement asynchronous enterprise components using the Message-Driven Bean
Master the J2EE Connector 1.5 architecture
Design and implement a model-2 framework for the Web tier
Course Outline
OOA/D for Enterprise Development
System development process
Domain modeling: informal sketch
Instance diagram
Structure: type diagram
System analysis: context model
Design: architecture
Sequence diagram
Design class diagram
Type model
Advanced Topics in Developing CMP Beans
CMP relationships and assignment semantics
EJB Query language
EJB QL queries - Select Clause
EJB QL queries - From Clause
EJB QL queries - Where Clause
Writing complex EJB QL queries
ejbSelect methods
ejbHome methods
Developing BMP Entity Beans
Why BMP beans
Lide-cycle of BMP entity bean
Activation and persistence of BMP beanss
Data source and BMP beans
Using Data Access Objects to implement BMP beans
EJB Transactions
Overview of transaction concepts
Container managed transaction attributes
Bean managed transactions
UserTransaction interface
SessionSynchronization interface
Exception handlings and transactions
Advanced Web Tier Architecture
Model-2 Architecture
Life Cycle Events
Event Handling for the Model-2 Framework
Sensitive Form Resubmission
Event Handling for Sensitive Forms
J2EE Security Architecture
Overview of security issues in enterprise applications
Security Roles and Principals
Web Tier Security
EJB Security
Issues in Authentication (declarative vs imperative)
Class and instance security
Security context propagation
JAAS
Overview of the JAAS Framework
Authentication using LoginContext and LoginModule
Using the JAAS configuration file to dynamically plug in modules
Specifying permissions using JAAS policy files
Java Connector Architecture (JCA)
Overview of JCA 1.5
Legacy integration
Connection management
Transaction management
JCA security architecture
Connection to Messaging Systems (WebSphere MQ, etc.)
JCA resource adapter
Developing Message-Driven Beans
Message-Driven Beans and JMS destination
Client view of MDB
MDB lifecycle
Deployment descriptors for MDB
MDB with JCA resource adapter
J2EE and Clustered Deployment Environment
Clustering overview
J2EE and clustering
Clustering in WebSphere Application Server
Addressing performance or scalability problems

about Advance java

Advanced Java
Duration: 5 days
Audience
Prerequisites
Application Developers
System Designers
Experience with Java is essential
Intense Java for C/C++ Programmers, or
Basic Java or Java for COBOL Programmers with practical Java Programming experience after completion of the course.
Description
This advanced course is designed for software professionals seeking to design and develop applications using the Java 2 Standard Edition (J2SE) and WebSphere Application Developer (WSAD). Based on InferData's well-received training methodologies, the course provides for a rapid, efficient (and, yes, intense) immersion into advanced Java topics.This five-day course covers topics in Java Foundation Classes (JFC), Swing Components, JavaBeans, Reflection, Network Programming, Remote Method Invocation (RMI), Java Database Connectivity (JDBC) and JDBC 2.0 and Java Security.Participants will master the fundamentals of graphical user interface development using the Java Swing library. Using the Visual Composition Editor in VisualAge for Java, attendees build, package, deploy and test JavaBeans. This course cover 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., using the JDBC 2.0 and JDBC 3.0 API. The Java security model and the class library is also covered in sufficient detail.This 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
objectives
Course Outline
Java Swing
Event Model
GUI Elements
JFrame
JPanel
Jbutton
Scrollbars
Split Panes
Tabled Panes
Layout Managers
Flow Layout
Grid Layout
Gridbad 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 & 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 Network Programming
Java.net package
Sockets
Client-Server Programing
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
JDBC Extentions (JDBC 2.0)
Scrollable Result Sets
Accessing the Transaction Manager
Two-Phase Commit
Data Sources
Connection Pools

Text Editors
Text Model
Editor & Editor kits
Events & Listeners
Selections
Displaying data
Multiple colors
Multiple fonts
Embedding images in text areas
Embedding components in text areas
Displaying HTML 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