SlideShare a Scribd company logo
Java Fundamentals
Middleware Trains
Java Fundamentals
Prasad
middleware.trains@gmail.com
Java Fundamentals
Java
Contents
 Java
 J2EE
 Application Packaging
 Class Loading
Java Fundamentals
Java
What is Java?
Programming Language :
They are set of code which performs a particular task
Ex : code to multiply 2 number / code to get a variable and process it ..
Programming Languages classification
• High level language vs low level language
• Compiler based vs Interpreter based
Java is high level compiler based language
Code.java (source) > compiled (using javac) > code.class > gets executed by JVM
.java files are human readable files
.class are JVM understandable files
PLATFORM
Java Fundamentals
Java
‘Java ‘ – Is Platform Independent , but how ?
Java is platform independent, but JVMs are platform Dependent
Windows Linux MAC
Java Code
JVM
Windows
JVM
Linux
JVM
MAC
Java Code is run on JVM
JVMs are run on Specific OS
Java Fundamentals
Java
Java Virtual Machine
JVM repositories are called JDK (Java developers kit)
JDK = JRE + Developers utilities
Java Fundamentals
Java
How Java Runs ?
Java Fundamentals
Java
Java Summary
• Java is a high level Compiler based programming language
• Java is platform Independent , (Java code can be executed on any
platform)
• Java is executed by a JVM (Java Virtual Machine)
• JVM is platform dependent
• JVM is a software which needs to be installed on platforms
• JVM ‘s repository is called JDK (Java Developers kit)
• JDK = JRE (Java runtime Environment ) + Developer’s utilities
• For a Java code to run/execute JRE is enough
• Latest version of JDK is Java8
• Java needs executed with Java Parameters
• Basic java parameters Min Heap size, Max Heap Size and Server variable
• -Xms and –Xmx, -Xms 512 -Xmx 2048
Java Fundamentals
J2EE
J2EE
Java Fundamentals
J2EE
J2EE - Java Standards
“J2EE is a java standard for application development, which is
collection of Java API and frame work for development”
Java
Standards
Expansion Uses
J2SE Java Standard
Edition
Java standard edition is a standard
format
J2EE Java Enterprise
Edition
J2SE+ Standard to maintain
Enterprise application
J2ME Java Mobile Edition J2SE+ Standards to Maintain Mobile
applications
Java Fundamentals
J2EE
MVC : Model View Controller (MVC) – Flow Architecture
• MVC architecture
• Java application Packaging
• Java Application utilities for enterprise (Servlets, JSP….)
In application ,
Java Fundamentals
J2EE
MVC Model ….
MVC Parts Enabling J2EE Components
Business Models Java Beans and EJBs
Controller Servlets
View Java Server Faces (jsf) / Java Servlet Pages (jsp)
Java Fundamentals
J2EE
J2EE Components
• Servlets - A server –side components used for routing/controlling
• Java Server Pages (JSPs) __ |Client -side component to receive and
• Java Server Faces (JSFs) | respond to client
• Enterprise Java Beans (EJBs) – Server-side component architecture
for modular construction of enterprise applications. The EJB
specification is one of several Java APIs in the Java EE
specification. EJB is a server-side model that encapsulates the
business logic of an application.
• Session Beans
• Entity Beans
• Message Driven Beans – Deprecate
---- Wikipedia
Java Fundamentals
J2EE
J2EE Containers
• Runtime to manage application components
• Provides access to J2EE APIs.
• Provides system level services such as Transaction, Security etc
• There are three types of containers
• Web Container (handles Servlet. JSP and JSF request)
• EJB Container (Handles EJB request)
• Embedded HTTP container (Handles static Request like HTML)
MVC Parts J2EE Components J2EE Containers
Models Java Beans and EJBs EJB Container
Controller Servlets Web Container
View JSP/JSF Web Container
Java Fundamentals
J2EE
J2EE APIs
• Data Base Connectivity-- JDBC
• Messaging Infrastructure-- JMS
• Transactions-- JTA
• Security-- JAAS
• Mail products-- JavaMail
• System Administration -- JMX
• Directory and Naming Services--JNDI
Java Fundamentals
J2EE
J2EE Architecture – Component Architecture
Application Server
Embedded
HTTPserver EJB ContainerWeb Container
HTML
JSP SessionServlet Entity
Native
Component
Java Virtual MachineJNDI
JDBC
JMS
Java
Mail
JTA
JMX
J2C
Data
Base
JDBC
Admin
JMX
MQ
JMS
Legacy
J2C
Web
Service
Browser
Client
Http
Server
http
http
SOAP
http
CSIv2
RMI
SSL
RMI/IIOP
Http
SOAP
TCP/UDP
UDDI
RMI/IIOP
Java Fundamentals
Application packaging
Application packaging
Java Fundamentals
Application packaging
Application Deployment - Environments
Development
Base
Application
Dev Config
Server 1
Testing
Base
Application
Test Config
Server 1
UAT
Base
Application
UAT Config
Server 1
Used by the client to
test the business
functions
Used by developers to
build the application
using development
tools like IDEs. The
connection
configurations are at
dev level
Used by admin/testers
to perform , testing like
manual testing ,
performance testing
etc. The connection
resources are at test
level
Java Fundamentals
Application packaging
Stage or Pre-Prod
Base
Application
Stage Config
This environment is the replica of the production
environment .This is also used as a back up for
Prod in case of emergency
Server 1 Server 2
Production
Base
Application
Prod Config
This is the actual live environment , Which
powers the application which is used by the end
users
Server 1 Server 2
Application Deployment - Environments
Java Fundamentals
Application packaging
Application packaging
“Application packaging is packing the java code in form a archive ,
its contents contain environmental references, Deployment
descriptors, java Source code and static contents “
The main uses of packaging the application are
• Avoid corruption of java files and file loss
• Easy to transfer between servers and environments
• Easy to deploy
• Easy to access the classes
Types of Packages
• JAR – Java Archive
• WAR – Web Archive
• EAR – Enterprise Archive
Java Fundamentals
Application packaging
Application packaging
Java Fundamentals
Application packaging
Request Flow
Url ear application.xml  war  web.xml  classes(inside
jar)
Java Fundamentals
Application packaging
J2EE EAR Files
ear
EJB
Module
Web
Module
Java
Utility Jar
Resource
Adapter
Client
Modules
Java
Persistence
EJB DD
EJB Ext DD
EJB Bind DD
Web DD
Web Ext DD
Web Bind DD
Client DD
Client Ext DD
Client Bind DD
Resource DD
Persistence DD
Java Fundamentals
Application packaging
Deployment Descriptors
“A deployment descriptor (DD) refers to a configuration file for
an artifact that is deployed to some java container”
• The deployment descriptor must be called web.xml and must reside
in the WEB-INF directory in the web application root.
• For Java EE applications, the deployment descriptor must be named
application.xml and must be placed directly in the META-INF
directory at the top level of the application .ear file.
Java Fundamentals
Class loaders
Class Loading
Java Fundamentals
Class loaders
What are Class Loaders ?
Class loaders find and load class files. Class loaders enable applications that
are deployed on servers to access repositories of available classes and
resources.
Application developers and deployer must consider the location of class and
resource files, and the class loaders used to access those files, to make the files
available to deployed applications
Types of class loading
1. JVM Class loading
1. Bootstrap class loading
2. Extension Class loading
2. Weblogic class loading
3. Application Class loading
4. Module class loading
Java Fundamentals
Class loaders
What are Class Loaders ?
Types of class loading
1. JVM Class loading
1. Bootstrap class loading - C:Program FilesJavajdk1.7.0_45jrelib
2. Extension Class loading -C:Program FilesJavajdk1.7.0_45jrelibext
2. System Class loaders – Location of the middleware installed (its lib)
3. Application Class loading – Location of the deployed application (its lib)
4. Module class loading – Applications
Java Fundamentals
Class loaders
Class Loaders Big Picture
JVM class Loaders
System Class Loaders
App class Loaders
Module Level
Class Loaders
App class Loaders
Module Level
Class Loaders
Module Level
Class Loaders
Module Level
Class Loaders
Ad

More Related Content

What's hot (20)

Jdbc
JdbcJdbc
Jdbc
gee eew3
 
java database connection (jdbc)
java database connection (jdbc)java database connection (jdbc)
java database connection (jdbc)
Sanjay Gunjal
 
Java ee introduction
Java ee introductionJava ee introduction
Java ee introduction
Moumie Soulemane
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)
blahap
 
jdbc document
jdbc documentjdbc document
jdbc document
Yamuna Devi
 
Designing JEE Application Structure
Designing JEE Application StructureDesigning JEE Application Structure
Designing JEE Application Structure
odedns
 
Ajava final(sachin sir9822506209)_vision_academy_21
Ajava final(sachin sir9822506209)_vision_academy_21Ajava final(sachin sir9822506209)_vision_academy_21
Ajava final(sachin sir9822506209)_vision_academy_21
SachinZurange
 
J2ee
J2eeJ2ee
J2ee
Prince Soni
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
Prabhat gangwar
 
Types of Drivers in JDBC
Types of Drivers in JDBCTypes of Drivers in JDBC
Types of Drivers in JDBC
Hemant Sharma
 
Java Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationJava Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web Application
IMC Institute
 
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
Pallepati Vasavi
 
Introduction to Java EE (J2EE)
Introduction to Java EE (J2EE)Introduction to Java EE (J2EE)
Introduction to Java EE (J2EE)
Atit Patumvan
 
JDBC Driver Types
JDBC Driver TypesJDBC Driver Types
JDBC Driver Types
Rahul Sharma
 
A dynamic application using jboss
A dynamic application using jbossA dynamic application using jboss
A dynamic application using jboss
ijcax
 
Unit 5-jdbc2
Unit 5-jdbc2Unit 5-jdbc2
Unit 5-jdbc2
msafad
 
Chapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side TechnologiesChapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side Technologies
It Academy
 
Jboss
JbossJboss
Jboss
Sridhar Rapala
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
Ranjan Kumar
 
Mobile Application Development MAD J2ME UNIT 2
Mobile Application Development  MAD J2ME UNIT 2Mobile Application Development  MAD J2ME UNIT 2
Mobile Application Development MAD J2ME UNIT 2
Pallepati Vasavi
 
java database connection (jdbc)
java database connection (jdbc)java database connection (jdbc)
java database connection (jdbc)
Sanjay Gunjal
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)
blahap
 
Designing JEE Application Structure
Designing JEE Application StructureDesigning JEE Application Structure
Designing JEE Application Structure
odedns
 
Ajava final(sachin sir9822506209)_vision_academy_21
Ajava final(sachin sir9822506209)_vision_academy_21Ajava final(sachin sir9822506209)_vision_academy_21
Ajava final(sachin sir9822506209)_vision_academy_21
SachinZurange
 
Types of Drivers in JDBC
Types of Drivers in JDBCTypes of Drivers in JDBC
Types of Drivers in JDBC
Hemant Sharma
 
Java Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationJava Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web Application
IMC Institute
 
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
Pallepati Vasavi
 
Introduction to Java EE (J2EE)
Introduction to Java EE (J2EE)Introduction to Java EE (J2EE)
Introduction to Java EE (J2EE)
Atit Patumvan
 
A dynamic application using jboss
A dynamic application using jbossA dynamic application using jboss
A dynamic application using jboss
ijcax
 
Unit 5-jdbc2
Unit 5-jdbc2Unit 5-jdbc2
Unit 5-jdbc2
msafad
 
Chapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side TechnologiesChapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side Technologies
It Academy
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
Ranjan Kumar
 
Mobile Application Development MAD J2ME UNIT 2
Mobile Application Development  MAD J2ME UNIT 2Mobile Application Development  MAD J2ME UNIT 2
Mobile Application Development MAD J2ME UNIT 2
Pallepati Vasavi
 

Similar to Java Introduction (20)

Summer training java
Summer training javaSummer training java
Summer training java
Arshit Rai
 
Lecture 19 dynamic web - java - part 1
Lecture 19   dynamic web - java - part 1Lecture 19   dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
Д. Ганаа
 
Summer training java
Summer training javaSummer training java
Summer training java
Arshit Rai
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
Advance java1.1
Advance java1.1Advance java1.1
Advance java1.1
Prince Soni
 
2 22CA026_Advance Java Programming_Data types and Operators.pptx
2 22CA026_Advance Java Programming_Data types and Operators.pptx2 22CA026_Advance Java Programming_Data types and Operators.pptx
2 22CA026_Advance Java Programming_Data types and Operators.pptx
dolphiverma80
 
Devjyotippt
DevjyotipptDevjyotippt
Devjyotippt
Gaurav pathak
 
Enterprise application developement
Enterprise application developementEnterprise application developement
Enterprise application developement
Archana Jha
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
Java Lover
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - Introduction
Joel Briza
 
Java programming(unit 1)
Java programming(unit 1)Java programming(unit 1)
Java programming(unit 1)
Dr. SURBHI SAROHA
 
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsWeb Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Gagandeep Singh
 
Greate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADFGreate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADF
Mohamed Shahpoup
 
4. J2EE.pptx
4. J2EE.pptx4. J2EE.pptx
4. J2EE.pptx
HariChandruduM
 
Java EE 7 introduction
Java EE 7  introductionJava EE 7  introduction
Java EE 7 introduction
Moumie Soulemane
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
slire
 
EJ NOV-18 (Sol) (E-next.in).pdf
EJ NOV-18 (Sol) (E-next.in).pdfEJ NOV-18 (Sol) (E-next.in).pdf
EJ NOV-18 (Sol) (E-next.in).pdf
SPAMVEDANT
 
C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...
MCM COmpetitive Classes
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptx
DrPreethiD1
 
Chapter2 j2ee
Chapter2 j2eeChapter2 j2ee
Chapter2 j2ee
Jafar Nesargi
 
Summer training java
Summer training javaSummer training java
Summer training java
Arshit Rai
 
Lecture 19 dynamic web - java - part 1
Lecture 19   dynamic web - java - part 1Lecture 19   dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
Д. Ганаа
 
Summer training java
Summer training javaSummer training java
Summer training java
Arshit Rai
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
2 22CA026_Advance Java Programming_Data types and Operators.pptx
2 22CA026_Advance Java Programming_Data types and Operators.pptx2 22CA026_Advance Java Programming_Data types and Operators.pptx
2 22CA026_Advance Java Programming_Data types and Operators.pptx
dolphiverma80
 
Enterprise application developement
Enterprise application developementEnterprise application developement
Enterprise application developement
Archana Jha
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
Java Lover
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - Introduction
Joel Briza
 
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsWeb Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Gagandeep Singh
 
Greate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADFGreate Introduction to Oracle Fusion Middleware and ADF
Greate Introduction to Oracle Fusion Middleware and ADF
Mohamed Shahpoup
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
slire
 
EJ NOV-18 (Sol) (E-next.in).pdf
EJ NOV-18 (Sol) (E-next.in).pdfEJ NOV-18 (Sol) (E-next.in).pdf
EJ NOV-18 (Sol) (E-next.in).pdf
SPAMVEDANT
 
C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...
MCM COmpetitive Classes
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptx
DrPreethiD1
 
Ad

Recently uploaded (20)

Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of ExchangesJignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah Innovator
 
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
The Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdfThe Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdf
Precisely
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
Gyrus AI
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of ExchangesJignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah Innovator
 
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
The Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdfThe Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdf
Precisely
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
Gyrus AI
 
Ad

Java Introduction

  • 1. Java Fundamentals Middleware Trains Java Fundamentals Prasad middleware.trains@gmail.com
  • 2. Java Fundamentals Java Contents  Java  J2EE  Application Packaging  Class Loading
  • 3. Java Fundamentals Java What is Java? Programming Language : They are set of code which performs a particular task Ex : code to multiply 2 number / code to get a variable and process it .. Programming Languages classification • High level language vs low level language • Compiler based vs Interpreter based Java is high level compiler based language Code.java (source) > compiled (using javac) > code.class > gets executed by JVM .java files are human readable files .class are JVM understandable files
  • 4. PLATFORM Java Fundamentals Java ‘Java ‘ – Is Platform Independent , but how ? Java is platform independent, but JVMs are platform Dependent Windows Linux MAC Java Code JVM Windows JVM Linux JVM MAC Java Code is run on JVM JVMs are run on Specific OS
  • 5. Java Fundamentals Java Java Virtual Machine JVM repositories are called JDK (Java developers kit) JDK = JRE + Developers utilities
  • 7. Java Fundamentals Java Java Summary • Java is a high level Compiler based programming language • Java is platform Independent , (Java code can be executed on any platform) • Java is executed by a JVM (Java Virtual Machine) • JVM is platform dependent • JVM is a software which needs to be installed on platforms • JVM ‘s repository is called JDK (Java Developers kit) • JDK = JRE (Java runtime Environment ) + Developer’s utilities • For a Java code to run/execute JRE is enough • Latest version of JDK is Java8 • Java needs executed with Java Parameters • Basic java parameters Min Heap size, Max Heap Size and Server variable • -Xms and –Xmx, -Xms 512 -Xmx 2048
  • 9. Java Fundamentals J2EE J2EE - Java Standards “J2EE is a java standard for application development, which is collection of Java API and frame work for development” Java Standards Expansion Uses J2SE Java Standard Edition Java standard edition is a standard format J2EE Java Enterprise Edition J2SE+ Standard to maintain Enterprise application J2ME Java Mobile Edition J2SE+ Standards to Maintain Mobile applications
  • 10. Java Fundamentals J2EE MVC : Model View Controller (MVC) – Flow Architecture • MVC architecture • Java application Packaging • Java Application utilities for enterprise (Servlets, JSP….) In application ,
  • 11. Java Fundamentals J2EE MVC Model …. MVC Parts Enabling J2EE Components Business Models Java Beans and EJBs Controller Servlets View Java Server Faces (jsf) / Java Servlet Pages (jsp)
  • 12. Java Fundamentals J2EE J2EE Components • Servlets - A server –side components used for routing/controlling • Java Server Pages (JSPs) __ |Client -side component to receive and • Java Server Faces (JSFs) | respond to client • Enterprise Java Beans (EJBs) – Server-side component architecture for modular construction of enterprise applications. The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application. • Session Beans • Entity Beans • Message Driven Beans – Deprecate ---- Wikipedia
  • 13. Java Fundamentals J2EE J2EE Containers • Runtime to manage application components • Provides access to J2EE APIs. • Provides system level services such as Transaction, Security etc • There are three types of containers • Web Container (handles Servlet. JSP and JSF request) • EJB Container (Handles EJB request) • Embedded HTTP container (Handles static Request like HTML) MVC Parts J2EE Components J2EE Containers Models Java Beans and EJBs EJB Container Controller Servlets Web Container View JSP/JSF Web Container
  • 14. Java Fundamentals J2EE J2EE APIs • Data Base Connectivity-- JDBC • Messaging Infrastructure-- JMS • Transactions-- JTA • Security-- JAAS • Mail products-- JavaMail • System Administration -- JMX • Directory and Naming Services--JNDI
  • 15. Java Fundamentals J2EE J2EE Architecture – Component Architecture Application Server Embedded HTTPserver EJB ContainerWeb Container HTML JSP SessionServlet Entity Native Component Java Virtual MachineJNDI JDBC JMS Java Mail JTA JMX J2C Data Base JDBC Admin JMX MQ JMS Legacy J2C Web Service Browser Client Http Server http http SOAP http CSIv2 RMI SSL RMI/IIOP Http SOAP TCP/UDP UDDI RMI/IIOP
  • 17. Java Fundamentals Application packaging Application Deployment - Environments Development Base Application Dev Config Server 1 Testing Base Application Test Config Server 1 UAT Base Application UAT Config Server 1 Used by the client to test the business functions Used by developers to build the application using development tools like IDEs. The connection configurations are at dev level Used by admin/testers to perform , testing like manual testing , performance testing etc. The connection resources are at test level
  • 18. Java Fundamentals Application packaging Stage or Pre-Prod Base Application Stage Config This environment is the replica of the production environment .This is also used as a back up for Prod in case of emergency Server 1 Server 2 Production Base Application Prod Config This is the actual live environment , Which powers the application which is used by the end users Server 1 Server 2 Application Deployment - Environments
  • 19. Java Fundamentals Application packaging Application packaging “Application packaging is packing the java code in form a archive , its contents contain environmental references, Deployment descriptors, java Source code and static contents “ The main uses of packaging the application are • Avoid corruption of java files and file loss • Easy to transfer between servers and environments • Easy to deploy • Easy to access the classes Types of Packages • JAR – Java Archive • WAR – Web Archive • EAR – Enterprise Archive
  • 21. Java Fundamentals Application packaging Request Flow Url ear application.xml  war  web.xml  classes(inside jar)
  • 22. Java Fundamentals Application packaging J2EE EAR Files ear EJB Module Web Module Java Utility Jar Resource Adapter Client Modules Java Persistence EJB DD EJB Ext DD EJB Bind DD Web DD Web Ext DD Web Bind DD Client DD Client Ext DD Client Bind DD Resource DD Persistence DD
  • 23. Java Fundamentals Application packaging Deployment Descriptors “A deployment descriptor (DD) refers to a configuration file for an artifact that is deployed to some java container” • The deployment descriptor must be called web.xml and must reside in the WEB-INF directory in the web application root. • For Java EE applications, the deployment descriptor must be named application.xml and must be placed directly in the META-INF directory at the top level of the application .ear file.
  • 25. Java Fundamentals Class loaders What are Class Loaders ? Class loaders find and load class files. Class loaders enable applications that are deployed on servers to access repositories of available classes and resources. Application developers and deployer must consider the location of class and resource files, and the class loaders used to access those files, to make the files available to deployed applications Types of class loading 1. JVM Class loading 1. Bootstrap class loading 2. Extension Class loading 2. Weblogic class loading 3. Application Class loading 4. Module class loading
  • 26. Java Fundamentals Class loaders What are Class Loaders ? Types of class loading 1. JVM Class loading 1. Bootstrap class loading - C:Program FilesJavajdk1.7.0_45jrelib 2. Extension Class loading -C:Program FilesJavajdk1.7.0_45jrelibext 2. System Class loaders – Location of the middleware installed (its lib) 3. Application Class loading – Location of the deployed application (its lib) 4. Module class loading – Applications
  • 27. Java Fundamentals Class loaders Class Loaders Big Picture JVM class Loaders System Class Loaders App class Loaders Module Level Class Loaders App class Loaders Module Level Class Loaders Module Level Class Loaders Module Level Class Loaders
  翻译: