SlideShare a Scribd company logo
1 of 35
Unit 2 PPT slides
MWT
MIDDLE WARE TECHNOLOGIES
B.TECH III YR II SEMESTER
UNIT 2 PPT SLIDES
TEXT BOOKS:
1.Client/Server programming with Java and
CORBA Robert Orfali and Dan Harkey, John
Wiley & Sons,SPD 2nd Edition
2. Java programming with CORBA 3rd Edition,
G.Brose, A Vogel and K.Duddy, Wiley-
dreamtech, India John wiley and sons
INDEX UNIT 2 PPT SLIDES
S.NO. TOPIC LECTURE NO. PPTSLIDES
1. Review of Java concepts - RMI L7 L1. 1 TO L1.4
2. Review of Java concept RMI API L8 L2. 1 TO L2.4
3. Review of Java concept JDBC L9 L3. 1 TO L3.4
4. Client/Server CORBA-style L10 L4. 1 TO L4.4
5.The object web: L11 L5. 1 TO L5.5
6. CORBA With Java L12 L6.1 TO L6.5
7.Benefits of CORBA orb L13 L7.1 TO L7.5
UNIT2 syllabus
• Review of JAVA concepts like RMI,
• RMI API,JDBC,client/server CORBA-
style,the object web,CORBA with java
lecture1 slide 1
RMI
• RMI is the technology is used to invoke
remote objects from client
• The java RMI is an object-oriented
mechanism from sun Microsystems for
building distributed client/server
applications.
• Java RMI is an RPC implementation in
java
lecture1 slide 2
Distributed object systems
• Java RMI
• CORBA
• DCOM
• SOAP
lecture1 slide 3
Review of Java concepts - RMI
• The message-passing paradigm is a
natural model for distributed computing – it
mimics inter-human communications.
• It is an appropriate paradigm for network
services, where processes interact with
each other through the exchange of
messages.
lecture1 slide 4
Review of Java concepts - RMI
• But the abstraction (APIs such as Java
unicast and multicast socket APIs provide
it) provided by this paradigm may not meet
the needs of some complex n/w apps for
the following reasons:
lecture 2 slide 1
Review of Java concepts - RMI
– Basic message passing requires that the
participating processes be tightly coupled
i.e., throughout their interaction, the
processes must be in direct communication
with each other.
lecture 2 slide 2
Review of Java concepts - RMI
– The message-passing-paradigm is data-
oriented. Each message contains data
marshaled in a mutually agreed upon format,
and each message is interpreted as a request
or response according to the protocol. The
receiving of each message triggers an action
in the receiving process.
lecture 2 slide 3
Message-passing paradigm
• The message-passing paradigm is
inadequate for complex apps involving a
large mix of requests and responses
lecture 2 slide 4
Distributed Object paradigm
• The dist. Object paradigm provides abstractions
beyond those of the message-passing model. It
is based on objects that exist in a dist. System.
• In a OOP language such as Java, objects are
used to represent an entity that is significant to
an app.
• Each object encapsulates –
– The state or data of the entity – In Java, instance
variables of each object;
– The operations of the entity – through which the state
of the entity can be accessed or updated – In Java,
these are the methods.
lecture 3 slide 1
Illustration
• A process running in Host A makes a method call to a
dist. Object residing on host B; passing with the call,
the data for the arguments, if any.
• The method call invokes an action performed by the
method on Host B, and a return value, if any is passed
from Host B to host A.
• A process that makes use of a dist. object is said to be a
client process of that object and the methods of the
object are called remote methods to the client process.
• The paradigm is known to be action-oriented.
lecture 3 slide 2
An archetypal Distributed object architecture
1. The Object client looks up the registry for a reference
to the object.
2. The reference is used by the object client to make calls
to the methods of the remote object or remote
methods.
3. The call is handled by a S/W component, called a
client proxy.
4. The Run-time support is responsible for the IPC
(marshaling of argument data).
lecture 3 slide 3
An archetypal Distributed object architecture
1. The Run-time support handles the receiving of
messages and the unmarshalling of data and
forwards the call to a S/W component called
the server proxy.
2. The Server Proxy invokes the method call
locally, passing in the unmarshalled data for
the arguments.
3. The outcome of the execution of the method,
including the marshaled data for the return
value is forwarded by the server proxy to the
client proxy; via the run-time support and n/w
support for both sides.
lecture 3 slide 4
Distributed Object Systems:
Most popular toolkits:
1. Java RMI
2. CORBA
3. DCOM and
4. Toolkits and APIs that support the Simple
Object Access Protocol (SOAP), which is a
web based protocol.
lecture 4 slide 1
Steps in a Remote Procedure Call
• Proc1 on Host A makes a call to Proc2 on Host B.
• The Run-time support maps the call to a call to the proxy on Host A.
• The proxy marshals the data and makes an IPC call to a proxy on
Host B.
• The proxy on Host B unmarshals the data received and issues a call
to Proc2.
• The code in Proc2 is executed and returns to the proxy on Host B.
• The proxy marshals the return value and makes an IPC call to the
proxy on Host A.
• The proxy receives the return value, unmarshals the data, and
forwards the return value to Proc1, which resumes its execution
flow.
lecture 4 slide 2
note
1. Since its introduction in 1980s, RPC has been widely
in use in n/w apps.
2. Two prevalent APIs – The open N/W Computing RPC
(Sun Micro – early 80s) and Open Group Distributed
Computing Environment (DCE) RPC.
3. Both provide a tool rice, for transforming remote
procedure calls to local procedure calls to the sub.
4. RPC APIs employ syntax for procedural or function
calls and are suitable for procedural languages such
as C.
5. For an object oriented language like Java, RPC is not
suitable – Java provides the RMI API; which is object-
oriented and has a syntax that is more accessible than
RPC.
lecture 4 slide 3
RMI
• RMI is an object-oriented implementation of the RPC model.
• It is an API for Java programs only.
• Using RMI, an object server exports a remote object and registers it
with a directory service.
• The object provides remote methods, which can be invoked in client
program.
• Syntactically, a remote object is declared with a remote interface, an
extension of the Java interface.
• The remote interface is implemented by the object server.
• An object client accesses the object by invoking its methods; using
syntax similar to local method invocations.
lecture 4 slide 4
The API for the Java RMI
• There are three areas to be covered.
– The remote interface;
– The server-side S/w;
– The client-side S/w
• The Remote Interface – is the starting point of creating a
distributed object.
lecture 5 slide 1
Review of JDBC
• SQL-Level
• 100% Pure Java
• Keep it simple
• High-performance
• Leverage existing database technology
– why reinvent the wheel?
• Use strong, static typing wherever possible
• Use multiple methods to express multiple
functionality
lecture 5 slide 2
JDBC Drivers
• Type I: “Bridge”
• Type II: “Native”
• Type III: “Middleware”
• Type IV: “Pure”
lecture 5 slide 3
Type I Drivers
• Use bridging technology
• Requires installation/configuration on
client machines
• Not good for Web
• e.g. ODBC Bridge
lecture 5 slide 4
Type II Drivers
• Native API drivers
• Requires installation/configuration on
client machines
• Used to leverage existing CLI libraries
• Usually not thread-safe
• Mostly obsolete now
• e.g. Intersolv Oracle Driver, Web Logic
drivers
lecture 5 slide 5
Type III Drivers
• Calls middleware server, usually on
database host
• Very flexible -- allows access to multiple
databases using one driver
• Only need to download one driver
• But it’s another server application to install
and maintain
• e.g. Symantec DBAnywhere
lecture 6 slide 1
Type IV Drivers
• 100% Pure Java -- the Holy Grail
• Use Java networking libraries to talk
directly to database engines
• Only disadvantage: need to download a
new driver for each database engine
• e.g. Oracle, mSQL
lecture 6 slide 2
Client/Server CORBA style
1. The Common Object Request Broker Architecture
(CORBA) is the most ambitious middleware project
ever undertaken by our industry.
2. It is the product of a consortium – called the Object
Management Group (OMG) that includes over 800
companies.
3. Microsoft has its own competing object broker called
the Distributed Component Object Model (DCOM).
4. CORBA was designed to allow intelligent components
to discover each other and interoperate an object bus
lecture 6 slide 3
Client/Server CORBA style
5. Services provided – creating and deleting objects,
accessing them by name, storing them to persistent
stores, externalizing their states, and defining ad hoc
relationships between them.
6. CORBA lets us create an ordinary object and then
make it transactional, secure, lockable, and persistent
by making the object multiply – inherit from the
appropriate services.
7. IDL – Interface Definition Language is used to write the
specifications. Components written to IDL should be
portable across languages, tools, OSs, and n/ws.
lecture 6 slide 4
Distributed CORBA Object:
1. CORBA objects are blobs of intelligence, that
can live anywhere on a network.
2. They are packaged as binary components that
remote clients can access via method
invocations.
3. Both the language and compiler used to create
server objects are totally transparent to clients.
4. Location transparency, OS transparency.
5. The interface serves as a binding contract
between clients and servers.
lecture 6 slide 5
Benefits of CORBA ORB
1. Static and Dynamic method invocations.
2. High-level language bindings.
3. Self-describing system – run-time metadata.
4. Local/Remote transparency.
5. Built-in security and transactions.
6. Polymorphic messaging.
7. Coexistence with existing systems –
separation of an object’s definition from its
implementation is perfect for encapsulating
existing applications.
lecture 7 slide 1
Benefits of CORBA ORB
1. Static and Dynamic method invocations:
A CORBA ORB lets you either statically define
your method invocations at compile time, or it
lets you dynamically discover them at run time.
So you either get strong type checking at
compile time or maximum flexibility associated
with late (runtime) binding. Most other forms
of middleware only support static bindings.
lecture 7 slide 2
Benefits of CORBA ORB
2. High-level language bindings:
A CORBA ORB lets you invoke methods on server
objects using your high-language of choice. It doesn’t
matter what language server objects are written in.
CORBA separates interface from implementation and
provides language-neutral data types that make it
possible to call objects across language and OS
boundaries.
In contrast, other types of middleware typically
provide low-level, language-specific, API libraries. And
they don’t separate implementation from specification
– the API is tightly bound to the implementation, which
makes it very sensitive to changes.
lecture 7 slide 3
Benefits of CORBA ORB
3. Local/Remote Transparency:
An ORB can run in stand-alone mode on a laptop, or it
can be interconnected to every other ORB in the
Universe using CORBA 2.0’s Internet Inter-ORB
Protocol (IIOP) services.
An ORB can broker inter-object calls within a single
process, multiple processes running across networks
and OSs, which is completely transparent to your
objects.
Note: CORBA can broker among fine-grained objects
– like C++ classes – as well as more coarse-grained
objects.
lecture 7 slide 4
Benefits of CORBA ORB
4. Self-describing system:
CORBA provides run-time meta data for describing
every server interface known to the system. Every
CORBA ORB must support an Interface Repository
that contains the real-time information describing the
functions a server provides and their parameters.
Metadata is useful for clients to discover how to
invoke services at run-time; and tools to generate code
“on-the-fly”.
The meta data is generated automatically either by
an IDL-language pre-compiler or by compilers that
know how to generate IDL directly from an OO
language.
ex: Visigenic/Netscape’s Caffeine generates
lecture 7 slide 5
Benefits of CORBA ORB
5. Built-in security and transactions:
The ORB includes context information in its messages to handle security
and transactions across machine and ORB boundaries.
6. Polymorphic messaging:
An ORB invokes a function on a target object – that is, the same function
call will have different effects, depending on the object that receives it.
ex: configure-yourself method invocation behaves differently when
applied to a database object versus a printer object.
7. Coexistence with existing systems:
CORBA’s separation of an object’s definition from its implementation is
perfect for encapsulating existing applications.
Using CORBA IDL, you can make your existing code look like an object
on the ORB, even if it is implemented in stored procedures, CICS, IMS,
or COBOL.
This makes CORBA an evolutionary solution. You can write your new
apps as pure objects and encapsulate existing apps with IDL wrappers.

More Related Content

Similar to MW PPT slides review Java RMI CORBA JDBC

Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and modelsMayank Jain
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECHmuthahar.sk
 
Java RMI Detailed Tutorial
Java RMI Detailed TutorialJava RMI Detailed Tutorial
Java RMI Detailed TutorialMasud Rahman
 
Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01heenamithadiya
 
20CS2021-Distributed Computing module 2
20CS2021-Distributed Computing module 220CS2021-Distributed Computing module 2
20CS2021-Distributed Computing module 2Kathirvel Ayyaswamy
 
20CS2021 Distributed Computing
20CS2021 Distributed Computing 20CS2021 Distributed Computing
20CS2021 Distributed Computing Kathirvel Ayyaswamy
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote InvocationMedicaps University
 
Month 3 report
Month 3 reportMonth 3 report
Month 3 reportPRIYANKA FNU
 
Remote Method Invocation (Java RMI)
Remote Method Invocation (Java RMI)Remote Method Invocation (Java RMI)
Remote Method Invocation (Java RMI)Sonali Parab
 
18CS3040_Distributed Systems
18CS3040_Distributed Systems18CS3040_Distributed Systems
18CS3040_Distributed SystemsKathirvel Ayyaswamy
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightabhijit2511
 
CORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBACORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBAPriyanka Patil
 
18CS3040 Distributed System
18CS3040 Distributed System	18CS3040 Distributed System
18CS3040 Distributed System Kathirvel Ayyaswamy
 
4. system models
4. system models4. system models
4. system modelsAbDul ThaYyal
 

Similar to MW PPT slides review Java RMI CORBA JDBC (20)

Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and models
 
EJB.docx
EJB.docxEJB.docx
EJB.docx
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
 
Java RMI
Java RMIJava RMI
Java RMI
 
Java RMI Detailed Tutorial
Java RMI Detailed TutorialJava RMI Detailed Tutorial
Java RMI Detailed Tutorial
 
Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01
 
Java rmi
Java rmiJava rmi
Java rmi
 
20CS2021-Distributed Computing module 2
20CS2021-Distributed Computing module 220CS2021-Distributed Computing module 2
20CS2021-Distributed Computing module 2
 
20CS2021 Distributed Computing
20CS2021 Distributed Computing 20CS2021 Distributed Computing
20CS2021 Distributed Computing
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote Invocation
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
 
Vibhutandon
VibhutandonVibhutandon
Vibhutandon
 
Month 3 report
Month 3 reportMonth 3 report
Month 3 report
 
Remote Method Invocation (Java RMI)
Remote Method Invocation (Java RMI)Remote Method Invocation (Java RMI)
Remote Method Invocation (Java RMI)
 
18CS3040_Distributed Systems
18CS3040_Distributed Systems18CS3040_Distributed Systems
18CS3040_Distributed Systems
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
CORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBACORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBA
 
18CS3040 Distributed System
18CS3040 Distributed System	18CS3040 Distributed System
18CS3040 Distributed System
 
4. system models
4. system models4. system models
4. system models
 
Ead pertemuan-7
Ead pertemuan-7Ead pertemuan-7
Ead pertemuan-7
 

More from KalsoomTahir2

HASH FUNCTIONS.pdf
HASH FUNCTIONS.pdfHASH FUNCTIONS.pdf
HASH FUNCTIONS.pdfKalsoomTahir2
 
6. McCall's Model.pptx
6. McCall's Model.pptx6. McCall's Model.pptx
6. McCall's Model.pptxKalsoomTahir2
 
ch02-Database System Concepts and Architecture.ppt
ch02-Database System Concepts and Architecture.pptch02-Database System Concepts and Architecture.ppt
ch02-Database System Concepts and Architecture.pptKalsoomTahir2
 
chap05-info366.ppt
chap05-info366.pptchap05-info366.ppt
chap05-info366.pptKalsoomTahir2
 
soa_and_jra.ppt
soa_and_jra.pptsoa_and_jra.ppt
soa_and_jra.pptKalsoomTahir2
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.pptKalsoomTahir2
 
Topic1CourseIntroduction.ppt
Topic1CourseIntroduction.pptTopic1CourseIntroduction.ppt
Topic1CourseIntroduction.pptKalsoomTahir2
 
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.pptKalsoomTahir2
 
CommercialSystemsBahman.ppt
CommercialSystemsBahman.pptCommercialSystemsBahman.ppt
CommercialSystemsBahman.pptKalsoomTahir2
 
EJBDetailsFeb25.ppt
EJBDetailsFeb25.pptEJBDetailsFeb25.ppt
EJBDetailsFeb25.pptKalsoomTahir2
 

More from KalsoomTahir2 (20)

005813616.pdf
005813616.pdf005813616.pdf
005813616.pdf
 
009576860.pdf
009576860.pdf009576860.pdf
009576860.pdf
 
005813185.pdf
005813185.pdf005813185.pdf
005813185.pdf
 
HASH FUNCTIONS.pdf
HASH FUNCTIONS.pdfHASH FUNCTIONS.pdf
HASH FUNCTIONS.pdf
 
6. McCall's Model.pptx
6. McCall's Model.pptx6. McCall's Model.pptx
6. McCall's Model.pptx
 
ch02-Database System Concepts and Architecture.ppt
ch02-Database System Concepts and Architecture.pptch02-Database System Concepts and Architecture.ppt
ch02-Database System Concepts and Architecture.ppt
 
9223301.ppt
9223301.ppt9223301.ppt
9223301.ppt
 
11885558.ppt
11885558.ppt11885558.ppt
11885558.ppt
 
Indexing.ppt
Indexing.pptIndexing.ppt
Indexing.ppt
 
chap05-info366.ppt
chap05-info366.pptchap05-info366.ppt
chap05-info366.ppt
 
1650607.ppt
1650607.ppt1650607.ppt
1650607.ppt
 
soa_and_jra.ppt
soa_and_jra.pptsoa_and_jra.ppt
soa_and_jra.ppt
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
Topic1CourseIntroduction.ppt
Topic1CourseIntroduction.pptTopic1CourseIntroduction.ppt
Topic1CourseIntroduction.ppt
 
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
 
CommercialSystemsBahman.ppt
CommercialSystemsBahman.pptCommercialSystemsBahman.ppt
CommercialSystemsBahman.ppt
 
EJBDetailsFeb25.ppt
EJBDetailsFeb25.pptEJBDetailsFeb25.ppt
EJBDetailsFeb25.ppt
 
jan28EAI.ppt
jan28EAI.pptjan28EAI.ppt
jan28EAI.ppt
 
005428052.pdf
005428052.pdf005428052.pdf
005428052.pdf
 
jini-1.ppt
jini-1.pptjini-1.ppt
jini-1.ppt
 

Recently uploaded

POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 

Recently uploaded (20)

POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 

MW PPT slides review Java RMI CORBA JDBC

  • 1. Unit 2 PPT slides MWT
  • 2. MIDDLE WARE TECHNOLOGIES B.TECH III YR II SEMESTER UNIT 2 PPT SLIDES TEXT BOOKS: 1.Client/Server programming with Java and CORBA Robert Orfali and Dan Harkey, John Wiley & Sons,SPD 2nd Edition 2. Java programming with CORBA 3rd Edition, G.Brose, A Vogel and K.Duddy, Wiley- dreamtech, India John wiley and sons
  • 3. INDEX UNIT 2 PPT SLIDES S.NO. TOPIC LECTURE NO. PPTSLIDES 1. Review of Java concepts - RMI L7 L1. 1 TO L1.4 2. Review of Java concept RMI API L8 L2. 1 TO L2.4 3. Review of Java concept JDBC L9 L3. 1 TO L3.4 4. Client/Server CORBA-style L10 L4. 1 TO L4.4 5.The object web: L11 L5. 1 TO L5.5 6. CORBA With Java L12 L6.1 TO L6.5 7.Benefits of CORBA orb L13 L7.1 TO L7.5
  • 4. UNIT2 syllabus • Review of JAVA concepts like RMI, • RMI API,JDBC,client/server CORBA- style,the object web,CORBA with java
  • 5. lecture1 slide 1 RMI • RMI is the technology is used to invoke remote objects from client • The java RMI is an object-oriented mechanism from sun Microsystems for building distributed client/server applications. • Java RMI is an RPC implementation in java
  • 6. lecture1 slide 2 Distributed object systems • Java RMI • CORBA • DCOM • SOAP
  • 7. lecture1 slide 3 Review of Java concepts - RMI • The message-passing paradigm is a natural model for distributed computing – it mimics inter-human communications. • It is an appropriate paradigm for network services, where processes interact with each other through the exchange of messages.
  • 8. lecture1 slide 4 Review of Java concepts - RMI • But the abstraction (APIs such as Java unicast and multicast socket APIs provide it) provided by this paradigm may not meet the needs of some complex n/w apps for the following reasons:
  • 9. lecture 2 slide 1 Review of Java concepts - RMI – Basic message passing requires that the participating processes be tightly coupled i.e., throughout their interaction, the processes must be in direct communication with each other.
  • 10. lecture 2 slide 2 Review of Java concepts - RMI – The message-passing-paradigm is data- oriented. Each message contains data marshaled in a mutually agreed upon format, and each message is interpreted as a request or response according to the protocol. The receiving of each message triggers an action in the receiving process.
  • 11. lecture 2 slide 3 Message-passing paradigm • The message-passing paradigm is inadequate for complex apps involving a large mix of requests and responses
  • 12. lecture 2 slide 4 Distributed Object paradigm • The dist. Object paradigm provides abstractions beyond those of the message-passing model. It is based on objects that exist in a dist. System. • In a OOP language such as Java, objects are used to represent an entity that is significant to an app. • Each object encapsulates – – The state or data of the entity – In Java, instance variables of each object; – The operations of the entity – through which the state of the entity can be accessed or updated – In Java, these are the methods.
  • 13. lecture 3 slide 1 Illustration • A process running in Host A makes a method call to a dist. Object residing on host B; passing with the call, the data for the arguments, if any. • The method call invokes an action performed by the method on Host B, and a return value, if any is passed from Host B to host A. • A process that makes use of a dist. object is said to be a client process of that object and the methods of the object are called remote methods to the client process. • The paradigm is known to be action-oriented.
  • 14. lecture 3 slide 2 An archetypal Distributed object architecture 1. The Object client looks up the registry for a reference to the object. 2. The reference is used by the object client to make calls to the methods of the remote object or remote methods. 3. The call is handled by a S/W component, called a client proxy. 4. The Run-time support is responsible for the IPC (marshaling of argument data).
  • 15. lecture 3 slide 3 An archetypal Distributed object architecture 1. The Run-time support handles the receiving of messages and the unmarshalling of data and forwards the call to a S/W component called the server proxy. 2. The Server Proxy invokes the method call locally, passing in the unmarshalled data for the arguments. 3. The outcome of the execution of the method, including the marshaled data for the return value is forwarded by the server proxy to the client proxy; via the run-time support and n/w support for both sides.
  • 16. lecture 3 slide 4 Distributed Object Systems: Most popular toolkits: 1. Java RMI 2. CORBA 3. DCOM and 4. Toolkits and APIs that support the Simple Object Access Protocol (SOAP), which is a web based protocol.
  • 17. lecture 4 slide 1 Steps in a Remote Procedure Call • Proc1 on Host A makes a call to Proc2 on Host B. • The Run-time support maps the call to a call to the proxy on Host A. • The proxy marshals the data and makes an IPC call to a proxy on Host B. • The proxy on Host B unmarshals the data received and issues a call to Proc2. • The code in Proc2 is executed and returns to the proxy on Host B. • The proxy marshals the return value and makes an IPC call to the proxy on Host A. • The proxy receives the return value, unmarshals the data, and forwards the return value to Proc1, which resumes its execution flow.
  • 18. lecture 4 slide 2 note 1. Since its introduction in 1980s, RPC has been widely in use in n/w apps. 2. Two prevalent APIs – The open N/W Computing RPC (Sun Micro – early 80s) and Open Group Distributed Computing Environment (DCE) RPC. 3. Both provide a tool rice, for transforming remote procedure calls to local procedure calls to the sub. 4. RPC APIs employ syntax for procedural or function calls and are suitable for procedural languages such as C. 5. For an object oriented language like Java, RPC is not suitable – Java provides the RMI API; which is object- oriented and has a syntax that is more accessible than RPC.
  • 19. lecture 4 slide 3 RMI • RMI is an object-oriented implementation of the RPC model. • It is an API for Java programs only. • Using RMI, an object server exports a remote object and registers it with a directory service. • The object provides remote methods, which can be invoked in client program. • Syntactically, a remote object is declared with a remote interface, an extension of the Java interface. • The remote interface is implemented by the object server. • An object client accesses the object by invoking its methods; using syntax similar to local method invocations.
  • 20. lecture 4 slide 4 The API for the Java RMI • There are three areas to be covered. – The remote interface; – The server-side S/w; – The client-side S/w • The Remote Interface – is the starting point of creating a distributed object.
  • 21. lecture 5 slide 1 Review of JDBC • SQL-Level • 100% Pure Java • Keep it simple • High-performance • Leverage existing database technology – why reinvent the wheel? • Use strong, static typing wherever possible • Use multiple methods to express multiple functionality
  • 22. lecture 5 slide 2 JDBC Drivers • Type I: “Bridge” • Type II: “Native” • Type III: “Middleware” • Type IV: “Pure”
  • 23. lecture 5 slide 3 Type I Drivers • Use bridging technology • Requires installation/configuration on client machines • Not good for Web • e.g. ODBC Bridge
  • 24. lecture 5 slide 4 Type II Drivers • Native API drivers • Requires installation/configuration on client machines • Used to leverage existing CLI libraries • Usually not thread-safe • Mostly obsolete now • e.g. Intersolv Oracle Driver, Web Logic drivers
  • 25. lecture 5 slide 5 Type III Drivers • Calls middleware server, usually on database host • Very flexible -- allows access to multiple databases using one driver • Only need to download one driver • But it’s another server application to install and maintain • e.g. Symantec DBAnywhere
  • 26. lecture 6 slide 1 Type IV Drivers • 100% Pure Java -- the Holy Grail • Use Java networking libraries to talk directly to database engines • Only disadvantage: need to download a new driver for each database engine • e.g. Oracle, mSQL
  • 27. lecture 6 slide 2 Client/Server CORBA style 1. The Common Object Request Broker Architecture (CORBA) is the most ambitious middleware project ever undertaken by our industry. 2. It is the product of a consortium – called the Object Management Group (OMG) that includes over 800 companies. 3. Microsoft has its own competing object broker called the Distributed Component Object Model (DCOM). 4. CORBA was designed to allow intelligent components to discover each other and interoperate an object bus
  • 28. lecture 6 slide 3 Client/Server CORBA style 5. Services provided – creating and deleting objects, accessing them by name, storing them to persistent stores, externalizing their states, and defining ad hoc relationships between them. 6. CORBA lets us create an ordinary object and then make it transactional, secure, lockable, and persistent by making the object multiply – inherit from the appropriate services. 7. IDL – Interface Definition Language is used to write the specifications. Components written to IDL should be portable across languages, tools, OSs, and n/ws.
  • 29. lecture 6 slide 4 Distributed CORBA Object: 1. CORBA objects are blobs of intelligence, that can live anywhere on a network. 2. They are packaged as binary components that remote clients can access via method invocations. 3. Both the language and compiler used to create server objects are totally transparent to clients. 4. Location transparency, OS transparency. 5. The interface serves as a binding contract between clients and servers.
  • 30. lecture 6 slide 5 Benefits of CORBA ORB 1. Static and Dynamic method invocations. 2. High-level language bindings. 3. Self-describing system – run-time metadata. 4. Local/Remote transparency. 5. Built-in security and transactions. 6. Polymorphic messaging. 7. Coexistence with existing systems – separation of an object’s definition from its implementation is perfect for encapsulating existing applications.
  • 31. lecture 7 slide 1 Benefits of CORBA ORB 1. Static and Dynamic method invocations: A CORBA ORB lets you either statically define your method invocations at compile time, or it lets you dynamically discover them at run time. So you either get strong type checking at compile time or maximum flexibility associated with late (runtime) binding. Most other forms of middleware only support static bindings.
  • 32. lecture 7 slide 2 Benefits of CORBA ORB 2. High-level language bindings: A CORBA ORB lets you invoke methods on server objects using your high-language of choice. It doesn’t matter what language server objects are written in. CORBA separates interface from implementation and provides language-neutral data types that make it possible to call objects across language and OS boundaries. In contrast, other types of middleware typically provide low-level, language-specific, API libraries. And they don’t separate implementation from specification – the API is tightly bound to the implementation, which makes it very sensitive to changes.
  • 33. lecture 7 slide 3 Benefits of CORBA ORB 3. Local/Remote Transparency: An ORB can run in stand-alone mode on a laptop, or it can be interconnected to every other ORB in the Universe using CORBA 2.0’s Internet Inter-ORB Protocol (IIOP) services. An ORB can broker inter-object calls within a single process, multiple processes running across networks and OSs, which is completely transparent to your objects. Note: CORBA can broker among fine-grained objects – like C++ classes – as well as more coarse-grained objects.
  • 34. lecture 7 slide 4 Benefits of CORBA ORB 4. Self-describing system: CORBA provides run-time meta data for describing every server interface known to the system. Every CORBA ORB must support an Interface Repository that contains the real-time information describing the functions a server provides and their parameters. Metadata is useful for clients to discover how to invoke services at run-time; and tools to generate code “on-the-fly”. The meta data is generated automatically either by an IDL-language pre-compiler or by compilers that know how to generate IDL directly from an OO language. ex: Visigenic/Netscape’s Caffeine generates
  • 35. lecture 7 slide 5 Benefits of CORBA ORB 5. Built-in security and transactions: The ORB includes context information in its messages to handle security and transactions across machine and ORB boundaries. 6. Polymorphic messaging: An ORB invokes a function on a target object – that is, the same function call will have different effects, depending on the object that receives it. ex: configure-yourself method invocation behaves differently when applied to a database object versus a printer object. 7. Coexistence with existing systems: CORBA’s separation of an object’s definition from its implementation is perfect for encapsulating existing applications. Using CORBA IDL, you can make your existing code look like an object on the ORB, even if it is implemented in stored procedures, CICS, IMS, or COBOL. This makes CORBA an evolutionary solution. You can write your new apps as pure objects and encapsulate existing apps with IDL wrappers.