SlideShare une entreprise Scribd logo
1  sur  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]

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Dernier (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

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.

Notes de l'éditeur

  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