JAVA Technologies
Object-Oriented Programming Using Java

Overview

This course will familiarize you with the main aspects of the Java programming language and will show you how to use Java according to the top Object-Oriented Programming principles. A balanced blend of lectures and programming exercises provides in-depth understanding as well as hands-on experience. A powerful learning cycle process is repeatedly used, first to integrate basic concepts, and then to reuse those concepts to master more advanced topics.

Every main feature of Java is the object of detailed programming exercises. Ample source-code examples are provided and many source-code walkthroughs are conducted. By the end of the course, participants should feel comfortable building Java applications.

Objectives

The objectives of this course are :

  • To become familiar with the main features of Java Language.
  • To discover how to write Java code according to Object-Oriented Programming principles.
  • To design GUI applications and Applets using AWT.
  • To develop Multithreaded and Networking applications.

Audience

This course is designed to meet the needs of those who want to be professional Java developers. This will also help the audience to get though the Java Programmer Certification.

Prerequisite

Students should be familiar with basic programming techniques and have some real programming experience, preferably with procedural programming languages, and ideally with C. Even though C++ is not required, prior knowledge of it will be an added advantage.

Faculty

Core Java: Mr. Sandesh Soni

Adv Java And J2EE: Mr. Rahul Rampurkar

Course Content of Java

  • Java Fundamentals
    • Data types
    • Operators
    • Control Statements
    • Arrays
  • OOPS
    • Encapsulation
    • Polymorphism
    • Inheritance
    • OOP in Java
    • Class Fundamentals
    • Using Objects
    • Constructor
    • Garbage Collection
    • Method Overloading
    • Method Overriding
    • Static Members
    • Understanding Interface
    • Using Interfaces
  • Packages
    • Why packages
    • Understanding Classpath
    • Access modifiers & their Scope
  • Exception Handling
    • Exception Types
    • Using try and catch
    • throw, throws, finally
    • Writing User defined Exceptions
  • Multithreaded Programming
    • Understanding Threads & its States
    • Multitasking & Multiprocessing
    • Java Thread Model
    • Thread class, Runnable Interface
    • Thread Priorities
    • Thread Synchronization
    • Interthread Communication
  • Applet Fundamentals
    • Applet Basics
    • Applet Skeleton
    • Inter Applet Communication
  • Abstract Window Toolkit
    • Graphics
    • Color and Font
    • AWT Components/Controls
    • Event Handling & Layouts
    • Frames and Menus
    • Images and Animation
    • Avoiding Flickering
  • Inner Classes
    • Nested Top Level Classes
    • Member Classes
    • Local Classes
    • Anonymous Classes
  • I/O Operations in Java
    • Byte Streams
    • File Handling
    • Readers and Writers
  • Network Programming
    • Introduction to Networking
    • Inet Address & URL
    • TCP Sockets
    • UDP Sockets
    • Developing a Chat Application

     

Advanced Java Programming

Overview

This course will familiarize you with the aspects of Advanced Java programming language A balanced blend of lectures and programming exercises provides in-depth understanding as well as hands-on experience. A powerful learning cycle process is repeatedly used, to integrate basic concepts with Adv. Java Programming.

Every features of Java technologies like JDBC / RMI / Servlets / JSP etc. with ample source-code examples are provided and many source-code walkthroughs are conducted. By the end of the course, participants should feel comfortable moving towards the higher end platform ike J2EE.

Objectives

The objectives of this course are :

  • To become familiar with the advanced features of Java Language.
  • To discover how to write Java applications which can communicate with Relational Databases.
  • To design Distributed applications with RMI and CORBA.
  • To develop reusable components using Javabeans.
  • To develop Web Applications using Servlets / JSP and deploy in popular servers like WebLogic and Tomcat.

Audience

This course is designed to meet the needs of those who want to be professional Java developers. This will also help the audience to get though the Java Certification called Web Component Developer.

Prerequisite

Students should be familiar with Java programming techniques and should be comfortable with concepts such as Classes, Objects, Inheritance, Interfaces I/O Streams, Threading and Networking. Certificate like Sun Certified Java Programmer will be an added advantage.

Faculty

Rahul Rampurkar

Course Content of Adv. Java

  • Java Database Connectivity (JDBC)
    • Overview of RDBMS
    • Introduction to JDBC & JDBC Architecture
    • Establishing a JDBC Connection
    • Executing Statement, PreparedStatement and CallableStatement
    • Scrollable and Editable ResultSet
    • Types of JDBC Drivers
  • Common Gateway Interface
    • Introduction to CGI
    • GET and POST Request Methods
    • What is Name-Value pair
    • Content Types and MIME
  • Java Servlets
    • Servlet as an improved CGI
    • Servlet Fundamentals/API
    • Developing and Deploying Servlets
    • State Management using Cookies, Session and Application
  • JavaServer Pages (JSP)
    • JSP Architecture
    • Basics & Syntax
    • JSP Directive Tags
    • JSP Scriptlet Tags
    • JSP Action Tags
    • Using Java Beans from JSP
    • JSP Tag Library
  • Remote Method Invocation (RMI)
    • Object Persistence and Serialization
    • Introduction to Distributed Computing & 3 - Tier Architecture
    • RMI Architecture
    • RMI for Distributed Computing
    • Callback in RMI
  • Java Beans
    • JavaBean Architecture
    • JavaBean Characteristics
    • Providing Properties & Methods
    • Event in JavaBeans
    • Participating in Instrospection
  • CORBA
    • Introduction to CORBA
    • CORBA for Distributed computing
    • ORB & IIOP
    • Defining interfaces and datatypes using Interface Definition Language (IDL)
    • CosNaming Service
    • Developing CORBA Client/Server application using JavaIDL
  • Struts and MVC Architecture
    • Model-View-Controller (MVC) Architecture
    • MVC Model 1 and Model 2 in Web Applications
    • What is a Framework?
    • Introduction to Struts Framework
    • Struts Framework Components
      • Struts Controller Components
      • Struts Model Components
      • Struts View Components
    • Configuring Struts Application
      • Web Application Directory Structure
      • Web Application Deployment Descriptor
      • Struts Configuration File
    • Struts Controller Components
      • Controller Mechanisms
    • Struts Model Components
      • Business Objects and JavaBeans
      • Persistence and Persistent Objects
      • Implementing Model using Struts
    • Struts View Components
      • ActionForms
      • ActionErrors
    • JSP Custom Tag Libraries
      • Tag Library Overview
      • Tag Libraries in Struts
      • Using JavaBeans with Strut Tags
      • Struts HTML Tags
      • Overview of JSP Standard Tag Library (JSTL)
    • Exception Handling
      • ActionError and ActionErrors
      • Adding Error handling
      • ActionForm validate method
      • Error Management in Action.execute ()
      • Handling exceptions
      • Declarative Exception Handling
    • Struts Validator
      • Email
      • Mask
      • Range
      • Length
      • Date
      • Credit car

Distributed Application Development using J2EE

Overview

This course familiarizes students with the main aspects of Enterprise JavaBeans (EJB) and shows them how to take advantage of EJB's Component Architecture to build reliable, scalable and portable enterprise-wide distributed applications. First, technologies like Component Models, Distributed Objects and Component Transaction Monitors are introduced since they are at the basis of EJB. Then EJB is covered in depth to see how enterprise beans are put together. Then the rest of the course is devoted to developing enterprise beans to solve a typical Business Model, while exploring solutions for advanced design issues. By the end of the course, participants should feel comfortable building mission-critical enterprise software using EJB.

Objectives

The objectives of this course are to:

  • To become familiar with the goals of Java 2 Enterprise Edition(J2EE) Platform.
  • To get substantial hands-on experience in building J2EE Applications.
  • To get hands on experience of XML technology.
  • To learn about Naming and Directory Services and JNDI.
  • To understand the importance of optional JDBC package in enterprise java applications.
  • To understand how EJB easily implements the concept of Component Transaction Monitor(CTM) which automatically manages transactions, object distribution, concurrency, security, persistence, and resource management.
  • To implement asynchronous applications and MessageDriven Beans using JMS.
  • To understand the Java Transaction API (JTA).
  • To apply Security in J2EE Applications.
  • To learn send/receive mails using Internet protocols SMTP,IMAP and POP3(JavaMail).
  • To master the whole process of designing, implementing and deploying J2EE Applications.
  • To Understand SOAP, WebServices Architecture and UDDI.
Audience

This course is designed to meet the needs of Java programmers who want to be professional in building mission-critical enterprise software using EJB.

Prerequisite

Students should be familiar with programming techniques and have substantial Java programming experience.

Faculty

Rahul Rampurkar

Course Content of J2EE

  • J2EE Application
    • J2EE Architecture
    • Introduction to J2EE Components, Containers and Connectors
    • J2EE Modules (Web App, EJB JAR, App Client)
    • Structure of J2EE Application (Enterprise Archive)
    • Packaging and Deploying J2EE Applications
  • XML
    • Introduction to XML
    • XML DTD
    • XML Schema
    • JAXP - Java API for XML Processing (DOM and SAX)
    • XSL and XSLT
  • JNDI
    • Introduction to Naming and Directory Services
    • JNDI as Java API to Naming and Directory Services
    • Using JNDI
  • JDBC Extension
    • Review of JDBC
    • javax.sql (Extension to JDBC)
    • DataSource and Connection Pool
    • Using JDBC and JNDI
  • Enterprise Java Beans
    • Introduction to Server-Side Components
    • EJB Design Goals and Roles
    • EJB Architecture
    • Java RMI over IIOP
    • Types of EJB
      • Session Beans
      • Entity Beans
      • MessageDriven Beans
    • EJB Container Services
      • Transactions
      • Security
      • Life Cycle Management
      • State and Persistence of EJB
      • Resource Management and Pooling
    • Session Beans
      • Designing and Developing Stateless Session Beans
      • Designing and Developing Stateful Session
      • Beans
      • XML Descriptor of Session Beans
      • Deploying Session Beans
      • Writing Standalone and Web Clients
    • Entity Beans
      • Designing Persistent Components
      • Difference between "create" of Session and Entity Beans
      • Finding Entity Beans
      • Bean vs. Container Managed Persistence
      • Understanding EJB 2.0 Container Managed Persistence (CMP)
        • Container Managed Fields
        • Container Managed Relationships
        • Local Interfaces
        • Mapping Relationships between Entity Beans
        • Mapping Relationships between Database and Entity Beans
        • Deployment Descriptor for EJB 2.0 CMP
      • EJB QL for writing custom finders in CMP
      • Invoking Entity Bean from Session Beans
  • Java Message Service ( JMS)
    • Introduction to Messaging Systems
    • Benefits of using JMS
    • Pub/Sub Model
    • Point-to-Point Model
    • Message Formats, Headers and Properties
    • How JMS fits into EJB system
    • Developing Message Driven Beans (MDB)
    • MessageDriven Beans and Transactions
  • Transaction Management (JTA)
    • Introduction to JTS
    • Introduction to JTA
    • Container-Managed Transactions
    • Bean-Managed Transactions
    • The ACID Test for Transactions
    • Introduction to Two Phase Commit
    • Transaction Attributes
    • Using JTA
    • Transaction Management and EJB Context
  • Security Model
    • Role-Driven Access Control
    • Security Identity
    • Security and the Deployment Descriptor
    • Using Security Roles
    • Accessing Security Information via EJBContex
  • JavaMail
    • Protocols (SMTP, POP, IMAP, MIME)
    • Using JavaMail API
    • Sending, Fetching, Deleting,
    • Replying, Forwarding, Authenticating
    • Working with Attachments
    • Processing HTML Messages
  • Web Services
    • Introduction to Web Services
    • Service Based Architecture
    • Architecture and Advantages
    • SOAP Significance
    • WSDL
    • Discovering Web Services (UDDI)
    • Java API for XML based RPC
  • J2EE Design Patterns
    • Introduction to Design Patterns
    • J2EE Design Patterns (Sun Blue Prints)
    • Identifying a Pattern
    • J2EE Design Pattern Types
      • Presentation Tier Patterns
        • Intercepting Filter
        • Front Controller
        • View Helper
        • Composite View
        • Service to Worker
        • Dispatcher View
      • Business Tier Patterns
        • Business Delegate
        • Value Object
        • Session Facade
        • Composite Entity
        • Value Object Assembler
        • Value List Handler
        • Service Locater
      • Integration Tier Patterns
        • Data Access Object
        • Service Activator