SlideShare a Scribd company logo
1 of 23
Session 1 Introduction to Enterprise Java Beans
Session Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object]
Component Architecture ,[object Object],[object Object],[object Object],[object Object]
Evolution of Enterprise JavaBeans   ,[object Object],[object Object],[object Object],[object Object],[object Object]
Distributed Object Architecture Running HTML and Java Script
RMI Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RMI Layered Architecture R E M O T E R E G I S T R Y Transport Layer Object A Remote Reference Layer Object A Stub Transport Layer Object B Remote Reference Layer Object B Skeleton Client Server
RMI Layers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Transport Layer Transport Layer Client  Transport Layer Server TCP Protocol UDP Protocol Sockets
Remote Registry Remote Registry Registers Database of Objects SERVER
RMI  over IIOP Client Client Client Server Server Server RMI (Java only) RMI (Java only) RMI-IIOP (Java) RMI-IIOP (Java) CORBA (Any Language) CORBA (Any Language) JRMP JRMP IIOP IIOP
Java Naming and Directory Interface ,[object Object],[object Object],[object Object]
The JNDI Architecture Client JNDI LDAP Service Provider NDS Service Provider RMI Application  Service Provider  Interface CORBA Application
Naming Concepts in JNDI Compound Composite Atomic The three types of  names in JNDI
Steps in JNDI Programming Looking up the Component/Object Creating the Initial Context Importing the JNDI classes Catching the Naming Exception Running the program Compiling  the Program
Initial Context Factory and the Directory Context ,[object Object],[object Object],[object Object]
Initial Context Factory and the Directory Context Initial Context Factory Initial Context Context Naming System Binding Context
Java 2 Platform Enterprise Edition ( J2EE ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java 2 Platform  Enterprise Edition (J2EE) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
New Features in EJB 2.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary - 2 ,[object Object],[object Object],[object Object]
Summary - 3 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)vikram singh
 
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in javaAcp Jamod
 
EJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkEJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkBill Lyons
 
EJB3 Advance Features
EJB3 Advance FeaturesEJB3 Advance Features
EJB3 Advance FeaturesEmprovise
 
Ejb3.1 for the starter
Ejb3.1 for the starterEjb3.1 for the starter
Ejb3.1 for the startershohancse
 
Ejb 2.0
Ejb 2.0Ejb 2.0
Ejb 2.0sukace
 
Aravind vinnakota ejb_architecture
Aravind vinnakota ejb_architectureAravind vinnakota ejb_architecture
Aravind vinnakota ejb_architecturetayab4687
 
JEE Course - EJB
JEE Course - EJBJEE Course - EJB
JEE Course - EJBodedns
 
J2 ee architecture
J2 ee architectureJ2 ee architecture
J2 ee architectureKrishna Mer
 
Free EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggetsFree EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggetsVirtual Nuggets
 

What's hot (20)

EJB3 Basics
EJB3 BasicsEJB3 Basics
EJB3 Basics
 
Java EE EJB Applications
Java EE EJB ApplicationsJava EE EJB Applications
Java EE EJB Applications
 
EJB 3.1 by Bert Ertman
EJB 3.1 by Bert ErtmanEJB 3.1 by Bert Ertman
EJB 3.1 by Bert Ertman
 
Ch4 ejb
Ch4 ejbCh4 ejb
Ch4 ejb
 
Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)
 
EJB 3.0 and J2EE
EJB 3.0 and J2EEEJB 3.0 and J2EE
EJB 3.0 and J2EE
 
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in java
 
EJB .
EJB .EJB .
EJB .
 
EJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkEJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLink
 
EJB3 Advance Features
EJB3 Advance FeaturesEJB3 Advance Features
EJB3 Advance Features
 
Ejb3.1 for the starter
Ejb3.1 for the starterEjb3.1 for the starter
Ejb3.1 for the starter
 
Ejb 2.0
Ejb 2.0Ejb 2.0
Ejb 2.0
 
Aravind vinnakota ejb_architecture
Aravind vinnakota ejb_architectureAravind vinnakota ejb_architecture
Aravind vinnakota ejb_architecture
 
JEE Course - EJB
JEE Course - EJBJEE Course - EJB
JEE Course - EJB
 
Ejb intro
Ejb introEjb intro
Ejb intro
 
Ejb and jsp
Ejb and jspEjb and jsp
Ejb and jsp
 
Ejbandjsp 200119145750
Ejbandjsp 200119145750Ejbandjsp 200119145750
Ejbandjsp 200119145750
 
J2 ee architecture
J2 ee architectureJ2 ee architecture
J2 ee architecture
 
Free EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggetsFree EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggets
 

Similar to Introduction to EJB Components, RMI, JNDI

Summer training java
Summer training javaSummer training java
Summer training javaArshit Rai
 
Summer training java
Summer training javaSummer training java
Summer training javaArshit Rai
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDESbputhal
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts frameworks4al_com
 
Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.suranisaunak
 
J2ee connector architecture
J2ee connector architectureJ2ee connector architecture
J2ee connector architectureSubhasis Nayak
 
Distributed Programming using RMI
 Distributed Programming using RMI Distributed Programming using RMI
Distributed Programming using RMIbackdoor
 
Distributed Programming using RMI
Distributed Programming using RMIDistributed Programming using RMI
Distributed Programming using RMIbackdoor
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java eeRanjan Kumar
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to strutsAnup72
 
J2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for womenJ2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for womenlissa cidhi
 
Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01heenamithadiya
 
UNIT V DIS.pptx
UNIT V DIS.pptxUNIT V DIS.pptx
UNIT V DIS.pptxSamPrem3
 
Hibernate interview questions
Hibernate interview questionsHibernate interview questions
Hibernate interview questionsvenkata52
 

Similar to Introduction to EJB Components, RMI, JNDI (20)

J2EE day 1
J2EE day 1J2EE day 1
J2EE day 1
 
Summer training java
Summer training javaSummer training java
Summer training java
 
Summer training java
Summer training javaSummer training java
Summer training java
 
J2 ee architecture
J2 ee architectureJ2 ee architecture
J2 ee architecture
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDES
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
 
Tu1 1 5l
Tu1 1 5lTu1 1 5l
Tu1 1 5l
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.
 
J2ee connector architecture
J2ee connector architectureJ2ee connector architecture
J2ee connector architecture
 
Distributed Programming using RMI
 Distributed Programming using RMI Distributed Programming using RMI
Distributed Programming using RMI
 
Distributed Programming using RMI
Distributed Programming using RMIDistributed Programming using RMI
Distributed Programming using RMI
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
 
EJB.docx
EJB.docxEJB.docx
EJB.docx
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
J2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for womenJ2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for women
 
Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01
 
Java rmi
Java rmiJava rmi
Java rmi
 
UNIT V DIS.pptx
UNIT V DIS.pptxUNIT V DIS.pptx
UNIT V DIS.pptx
 
Hibernate interview questions
Hibernate interview questionsHibernate interview questions
Hibernate interview questions
 

More from phanleson

Learning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with SparkLearning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with Sparkphanleson
 
Firewall - Network Defense in Depth Firewalls
Firewall - Network Defense in Depth FirewallsFirewall - Network Defense in Depth Firewalls
Firewall - Network Defense in Depth Firewallsphanleson
 
Mobile Security - Wireless hacking
Mobile Security - Wireless hackingMobile Security - Wireless hacking
Mobile Security - Wireless hackingphanleson
 
Authentication in wireless - Security in Wireless Protocols
Authentication in wireless - Security in Wireless ProtocolsAuthentication in wireless - Security in Wireless Protocols
Authentication in wireless - Security in Wireless Protocolsphanleson
 
E-Commerce Security - Application attacks - Server Attacks
E-Commerce Security - Application attacks - Server AttacksE-Commerce Security - Application attacks - Server Attacks
E-Commerce Security - Application attacks - Server Attacksphanleson
 
Hacking web applications
Hacking web applicationsHacking web applications
Hacking web applicationsphanleson
 
HBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 04: HBase table designHBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 04: HBase table designphanleson
 
HBase In Action - Chapter 10 - Operations
HBase In Action - Chapter 10 - OperationsHBase In Action - Chapter 10 - Operations
HBase In Action - Chapter 10 - Operationsphanleson
 
Hbase in action - Chapter 09: Deploying HBase
Hbase in action - Chapter 09: Deploying HBaseHbase in action - Chapter 09: Deploying HBase
Hbase in action - Chapter 09: Deploying HBasephanleson
 
Learning spark ch11 - Machine Learning with MLlib
Learning spark ch11 - Machine Learning with MLlibLearning spark ch11 - Machine Learning with MLlib
Learning spark ch11 - Machine Learning with MLlibphanleson
 
Learning spark ch10 - Spark Streaming
Learning spark ch10 - Spark StreamingLearning spark ch10 - Spark Streaming
Learning spark ch10 - Spark Streamingphanleson
 
Learning spark ch09 - Spark SQL
Learning spark ch09 - Spark SQLLearning spark ch09 - Spark SQL
Learning spark ch09 - Spark SQLphanleson
 
Learning spark ch07 - Running on a Cluster
Learning spark ch07 - Running on a ClusterLearning spark ch07 - Running on a Cluster
Learning spark ch07 - Running on a Clusterphanleson
 
Learning spark ch06 - Advanced Spark Programming
Learning spark ch06 - Advanced Spark ProgrammingLearning spark ch06 - Advanced Spark Programming
Learning spark ch06 - Advanced Spark Programmingphanleson
 
Learning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your DataLearning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your Dataphanleson
 
Learning spark ch04 - Working with Key/Value Pairs
Learning spark ch04 - Working with Key/Value PairsLearning spark ch04 - Working with Key/Value Pairs
Learning spark ch04 - Working with Key/Value Pairsphanleson
 
Learning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with SparkLearning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with Sparkphanleson
 
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about LibertagiaHướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagiaphanleson
 
Lecture 1 - Getting to know XML
Lecture 1 - Getting to know XMLLecture 1 - Getting to know XML
Lecture 1 - Getting to know XMLphanleson
 
Lecture 4 - Adding XTHML for the Web
Lecture  4 - Adding XTHML for the WebLecture  4 - Adding XTHML for the Web
Lecture 4 - Adding XTHML for the Webphanleson
 

More from phanleson (20)

Learning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with SparkLearning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with Spark
 
Firewall - Network Defense in Depth Firewalls
Firewall - Network Defense in Depth FirewallsFirewall - Network Defense in Depth Firewalls
Firewall - Network Defense in Depth Firewalls
 
Mobile Security - Wireless hacking
Mobile Security - Wireless hackingMobile Security - Wireless hacking
Mobile Security - Wireless hacking
 
Authentication in wireless - Security in Wireless Protocols
Authentication in wireless - Security in Wireless ProtocolsAuthentication in wireless - Security in Wireless Protocols
Authentication in wireless - Security in Wireless Protocols
 
E-Commerce Security - Application attacks - Server Attacks
E-Commerce Security - Application attacks - Server AttacksE-Commerce Security - Application attacks - Server Attacks
E-Commerce Security - Application attacks - Server Attacks
 
Hacking web applications
Hacking web applicationsHacking web applications
Hacking web applications
 
HBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 04: HBase table designHBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 04: HBase table design
 
HBase In Action - Chapter 10 - Operations
HBase In Action - Chapter 10 - OperationsHBase In Action - Chapter 10 - Operations
HBase In Action - Chapter 10 - Operations
 
Hbase in action - Chapter 09: Deploying HBase
Hbase in action - Chapter 09: Deploying HBaseHbase in action - Chapter 09: Deploying HBase
Hbase in action - Chapter 09: Deploying HBase
 
Learning spark ch11 - Machine Learning with MLlib
Learning spark ch11 - Machine Learning with MLlibLearning spark ch11 - Machine Learning with MLlib
Learning spark ch11 - Machine Learning with MLlib
 
Learning spark ch10 - Spark Streaming
Learning spark ch10 - Spark StreamingLearning spark ch10 - Spark Streaming
Learning spark ch10 - Spark Streaming
 
Learning spark ch09 - Spark SQL
Learning spark ch09 - Spark SQLLearning spark ch09 - Spark SQL
Learning spark ch09 - Spark SQL
 
Learning spark ch07 - Running on a Cluster
Learning spark ch07 - Running on a ClusterLearning spark ch07 - Running on a Cluster
Learning spark ch07 - Running on a Cluster
 
Learning spark ch06 - Advanced Spark Programming
Learning spark ch06 - Advanced Spark ProgrammingLearning spark ch06 - Advanced Spark Programming
Learning spark ch06 - Advanced Spark Programming
 
Learning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your DataLearning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your Data
 
Learning spark ch04 - Working with Key/Value Pairs
Learning spark ch04 - Working with Key/Value PairsLearning spark ch04 - Working with Key/Value Pairs
Learning spark ch04 - Working with Key/Value Pairs
 
Learning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with SparkLearning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with Spark
 
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about LibertagiaHướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
 
Lecture 1 - Getting to know XML
Lecture 1 - Getting to know XMLLecture 1 - Getting to know XML
Lecture 1 - Getting to know XML
 
Lecture 4 - Adding XTHML for the Web
Lecture  4 - Adding XTHML for the WebLecture  4 - Adding XTHML for the Web
Lecture 4 - Adding XTHML for the Web
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Introduction to EJB Components, RMI, JNDI

  • 1. Session 1 Introduction to Enterprise Java Beans
  • 2.
  • 3.
  • 4.
  • 5. Distributed Object Architecture Running HTML and Java Script
  • 6.
  • 7. RMI Layered Architecture R E M O T E R E G I S T R Y Transport Layer Object A Remote Reference Layer Object A Stub Transport Layer Object B Remote Reference Layer Object B Skeleton Client Server
  • 8.
  • 9. The Transport Layer Transport Layer Client Transport Layer Server TCP Protocol UDP Protocol Sockets
  • 10. Remote Registry Remote Registry Registers Database of Objects SERVER
  • 11. RMI over IIOP Client Client Client Server Server Server RMI (Java only) RMI (Java only) RMI-IIOP (Java) RMI-IIOP (Java) CORBA (Any Language) CORBA (Any Language) JRMP JRMP IIOP IIOP
  • 12.
  • 13. The JNDI Architecture Client JNDI LDAP Service Provider NDS Service Provider RMI Application Service Provider Interface CORBA Application
  • 14. Naming Concepts in JNDI Compound Composite Atomic The three types of names in JNDI
  • 15. Steps in JNDI Programming Looking up the Component/Object Creating the Initial Context Importing the JNDI classes Catching the Naming Exception Running the program Compiling the Program
  • 16.
  • 17. Initial Context Factory and the Directory Context Initial Context Factory Initial Context Context Naming System Binding Context
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

Editor's Notes

  1. A software component is code that implements a set of well-defined interfaces. It is a manageable, discrete chunk of logic.Components are not entire applications-they cannot run alone.Rather.they can be used as puzzle to solve pieces to solve some larger problem.a company can purchase a well defined module that solves a problem and combine it with other components to solve larger problems. For example, consider a software component that computes the price of goods. This pricing component will have all pricing information about a set of products and calculates the total price of the product. Now suppose we are using this pricing component when we are are buying computer parts. The pricing component may be calculating the price based some pricing rules such as base prices,quantity discounts, bundling discounts, preferred customer discounts, local discounts, locale discounts, overhead discounts.These pricing rules are not unique to ordering computer parts such as health care, appliances and others.It would be a huge waste of resources if each company that needed complex pricing had to write its own sophisticated engine. Thus,it makes sense for a vendor to provide a generic pricing component that can be reused over and again for different components. For example, the postal service can use it for computing shipping costs for mailing packages.An automobile manufacturer can use the pricing component to discriminate price for cars.An online grocery store can use it as a discrete part of a complete workflow solution. The advantages of reusable components are: 1.The IT shop needs less in-house expertise as it does not need experts in complex pricing algorithms. 2. The application is assembled faster. 3.There is lower total cost of ownership. Component Architectures To facilitate the component development process there should be a standardised way to build,manage and maintain components.This approach consists of the following: Tools for developing components- The process of building components should be streamlined,allowing the developer to focus on writing the core logic behind the component. This promotes rapid application development and is essential for any component standard to succeed.For example,an Integrated Development Environment(IDE), such as Sysmantec’s Visual Café, IBM’s Visual Age for Java, or Inprise’s Jbuilder 2,assists Java developers in rapidly building and debugging components.Other vendors such as Inline Software, provide EJB-specific development tools. 2. A container that manages your deployed components-This component container provides a run time environment for your components to play in. It also provides a set of common services that most components will need.For example,the container could automatically instantiate new components as necessary, thus removing that burden from the component developer. To combine any container with any component, you must have a well defined contract between containers and components. 3. Tools for deploying and maintaining components- When an organization purchases components from component vendors, there must be a set of tools to aid in the deployment and maintenance of those components. For example,there should be a way to customize the components for a particular environment.In our pricing component example,we could have a tool that assists in customising the products we are pricing Component Architectures in Java. Let us look at what component architecture exist in Java. The first one is JavaBeans. JavaBeans components are small grained application bits.You can use JavaBeans to assemble larger grained components or to build applications.JavaBeans however are deployment components and not deployable components.You typically do not deploy a JavaBean because a Javabean is not a complete application; rather,JavaBeans helps you construct a larger software that is deployable.And because they cannot be deployed JavaBeans do not need a runtime environment in which to live.JavaBeans do need a container to instantiate them, to destroy them and to provide other services to them because the application itself is made up of JavaBeans. Enterprise Javabeans satandard defines a component architecture for deployment components called enterprise beans.Enterprise beans are larger,coarser-grained application components that are ready to be deployed.They can be deployed as is,or they can be assembled with other components that are ready to be deployed . They can be deployed as is,or they can be assembled with other components into larger applications systems.Deployable components must be deployed in a container that provides runtime services to the components as needed.
  2. J2EE simplifies many of the complexities surrounding the construction of a scalable,component-based server-side application and it is very analogous to Windows DNA.The most notable exception is that J2EE.The most notable exception is that J2EE is a specification whereas Windows DNA is a product.J2EE specifies the rules of engagement that people must agree on when writing enterprise software.Vendors then implement the J2EE specifications with their J2EE specifications with their J2EE –Compliant products.Because J2EE is a specification it is inherently not tied to one vendor ;it is inherently not tied to one vendor; it also supports cross-platform development.This encourages vendors to compete,yielding best of breed products. Why J2EE? After EJB 1.0 was finalized the first EJB-based application server began servers began to arrive on the market(BEA’s Weblogic was the first). These application servers took advantage of other Enterprise API’s as well, such as the ones for naming and lookup services,for transactions , and for database operations. The early application servers highlighted many problems with the Enterprise API’s.These include the following: Ambiguities:The unspecified sections of the Enterprise API’ s specifications hampered portability of component. This is unacceptable
  3. h
  4. JNDI’s architecture is somewhat like Java Database Connectivity package (JDBC): 1.In JDBC, there is uniform client API for performing database operations. In JNDI,naming and directory service client invoke a unified API for performing naming and directory operations. 2.IN JDBC, relational database vendors provide JDBC drivers to access their particular databases.In JNDI, directory vendors provide JDBC drivers to access their particular databases.In JNDI,directory vendors vendors provide service providers to access their specific directories.These providers are aware of specific directories. These providers are aware of specific directory protocols and they plug in to the JNDI SPI. For example, Sun Microsystems gives away an LDAP service provider for free. The LDAP service provider knows how to map a JNDI client API operation into an LDAP operation.It then executes the LDAP operation on an LDAP directory using the specific LDAP protocol.
  5. A naming system is a connected set of contexts. For example, a branch of an LDAP tree could be considered a naming system,as could a folder tree in a file system, as could a folder tree in a file system. Unfortunately, naming systems each have a different syntax for accessing contexts.For example, in a LDAP tree, a compound name is identified by a string such as “cn=Ed Roman”, ou=people,o=Middleware-Company.com,c=us”,whereas a file system compound name might like “c:javalibclasses.zip” . Within a naming system a namespace is all the names contained within that naming system. The hard drive’s entire collection of filenames and directories or folders are the hard drive file system’s namespace. A composite is a name that spans multiple naming systems. For example on the Web, the URL http://java.sun.com/products/ejb/index.html is composed from the following namespaces: http comes from the URL scheme-id namespace.You can use other scheme-id’s such as ftp and telnet. This namespace defines the protocol you use to communicate. Java.sun uses the Domain Name Service(DNS) to translate machine names into IP addresses. Products and ejb and index.html are from the file system namespace on the Web server machine.
  6. The above slide gives an explanation of java.rmi.registry package. This is a direct mapping of the student guide. The faculty can refer the student guide to give explanation about each of the interfaces and class. The Javasoft explanation of this package is given below:   Provides a class and two interfaces for the RMI registry. A registry is a remote object that maps names to remote objects. A server registers its remote objects with the registry so that they can be looked up. When an object wants to invoke a method on a remote object, it must first lookup the remote object using its name. The registry returns to the calling object a reference to the remote object, using which a remote method can be invoked.
  7. The above slide gives the definition of java.rmi.server package. This is a direct mapping of the student guide, so the faculty can refer the student guide to explain the classes and interfaces in the package. The Javasoft explanation of this package is given below:   Provides classes and interfaces for supporting the server side of RMI. A group of classes are used by the stubs and skeletons generated by the rmic stub compiler. Another group of classes implements the RMI Transport protocol and HTTP tunneling.   There are some more classes, interfaces and exceptions that thrown by the classes of this package. Explanation of the classes, interfaces and exceptions of the package is given below and as defined by Javasoft: The faculty can encourage interested students to gather more information on this.   Interfaces          LoaderHandler: Deprecated. no replacement        RemoteCall: Deprecated. no replacement.        RemoteRef: RemoteRef represents the handle for a remote object.        RMIClientSocketFactory: An RMIClientSocketFactory instance is used by the RMI runtime in order to obtain client sockets for RMI calls.        RMIFailureHandler: An RMIFailureHandler can be registered via the RMISocketFactory.setFailureHandler call.        RMIServerSocketFactory: An RMIServerSocketFactory instance is used by the RMI runtime in order to obtain server sockets for RMI calls.        ServerRef: A ServerRef represents the server-side handle for a remote object implementation.        Unreferenced: A remote object implementation should implement the Unreferenced interface to receive notification when there are no more clients that reference that remote object.   Classes          LogStream: Deprecated. no replacement        ObjID: An ObjID is used to identify remote objects uniquely in a VM over time.        Operation: Deprecated. no replacement        UID: Abstraction for creating identifiers that are unique with respect to the the host on which it is generated.   Exceptions          ExportException: An ExportException is a RemoteException thrown if an attempt to export a remote object fails.        ServerCloneException: A ServerCloneException is thrown if a remote exception occurs during the cloning of a UnicastRemoteObject.        ServerNotActiveException: An ServerNotActiveException is an Exception thrown during a call to RemoteServer.getClientHost if the getClientHost method is called outside of servicing a remote method call.        SkeletonMismatchException: Deprecated. no replacement.        SkeletonNotFoundException: Deprecated. no replacement. SocketSecurityException: A SocketSecurityException is thrown during remote object export if the code exporting the remote object (either by construction or by explicit call to the exportObject method of UnicastRemoteObject or java.rmi.activation.Activatable) does not have permission to create a java.net.ServerSocket on the port number specified during remote object export