Post on 07-Apr-2018
8/3/2019 CORBA & RMI (IIOP)
1/40
The Java MessageThe Java Message
ServiceService
CORBA Architecture & RMI/IIOP Protocol
8/3/2019 CORBA & RMI (IIOP)
2/40
Existing Legacy LayerExisting Legacy Layer
Instant Messaging LayerInstant Messaging Layer
CORBA :: Java Message ServiceCORBA :: Java Message Service
WEB SERVER (= / +)Java Application
Aglet/ Miglet
CORBA ApplicationConverter (C++)
CORBA/IIOP Client RMI/IIOP Client CORBA/IIOP Client
APPLICATION SERVER (RMI/IIOP Server)
Connector (AI)
EJB Entity Bean
EJB Session Bean
COBOL / CICS
SIP Communicator
VOIP PBX PSTNWAP GatewayBlack Box
JABBER
ServletServlet
Application LayerApplication Layer
Business LayerBusiness Layer
Network LayerNetwork Layer
A
8/3/2019 CORBA & RMI (IIOP)
3/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
SMS Broker
MMS Service
WAP Service
A
Telecommunication ServicesTelecommunication Services
GPRS (General Packet Radio Service) 2.5 GenerationGPRS (General Packet Radio Service) 2.5 Generation
EDGE (Enhanced Data Rates for GSM Evolution)EDGE (Enhanced Data Rates for GSM Evolution)
33rdrd GenerationGeneration
WCDMA (Wide-Coded Dimension Multiple Access)WCDMA (Wide-Coded Dimension Multiple Access)
2.5 Generation2.5 Generation
WTCDMA (Wide Time-Coded Dimension MultipleWTCDMA (Wide Time-Coded Dimension Multiple
Access) 2.5 GenerationAccess) 2.5 Generation
HSDPA (High-Speed Downlink Packet Access)HSDPA (High-Speed Downlink Packet Access)
mid 3mid 3rdrd GenerationGeneration
WAP GATEWAYWAP GATEWAYSMS BoxSMS BoxWAP BoxWAP Box
Bearer BoxBearer Box
TCPTCP TCPTCP
WAP
SMS
SMSC
8/3/2019 CORBA & RMI (IIOP)
4/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
Hardware Requirement SpecificationHardware Requirement Specification
Technical Specifications 802.11A 802.11B 802.11G Bluetooth 1XRTT
Speed 54 MBPS 11MBPS 54 MBPS 1 MBPS / 768MBPS
153.6 KBPS
Frequency 5 GHz 2.4 GHz 2.4 GHz 2.4 GHz Frequency of Host
Operating Distance 100 Meter 150-300ft = 100 M 150 300ft = 100 M 33 ft / 10 M Frequency of
Host
Application WLAN / Wi-Fi WLAN / Wi-Fi WLAN / Wi-Fi PAN CDMA
8/3/2019 CORBA & RMI (IIOP)
5/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
Application Server :: Invocation Process
How toInvoke
Events
Time
Manual
Called
Process Engine
Plug-inFramework
JMS Queue
Processor
Processor
API or Worklist
Sub-flow
How toIntegrate
JMSApplications
EJBComponents
Plug-ins
XML
RMI/IIOP
TemplateStore
InstanceStore
Weblogic /Application Layer
IntegrationStudio
Weblogic /Applicatioon Layer
IntegrationStudio
8/3/2019 CORBA & RMI (IIOP)
6/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
OBJECTS Invoking with CORBA
Object Request Broker
WP Spreadsheet
Application Objects Common Facilities
Objects Services
Help Email Browser
Storage Transaction
ManagementQueries Versioning Security
8/3/2019 CORBA & RMI (IIOP)
7/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
CORBA ::Java Message Service Server (RMI/IIOP) :: Network Layer
Hypertext TransferHypertext Transfer
Protocol (HTTP)Protocol (HTTP)File TransferFile Transfer
protocol (FTP)protocol (FTP)Internet Message AccessInternet Message Access
Protocol (IMAP)Protocol (IMAP)
Application LayerApplication Layer
Protocol (example)Protocol (example)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Transmission Control Protocol (TCP)Transmission Control Protocol (TCP)
Internet Protocol (IP)Internet Protocol (IP)
Network LayerNetwork Layer
ProtocolsProtocols
8/3/2019 CORBA & RMI (IIOP)
8/40
8/3/2019 CORBA & RMI (IIOP)
9/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
CORBA Architecture :: Technical Concrete Logical Structure
WEB SERVER
ObjectAdapter
ServerSkeletons
Client Stubs
CLIENT
Interfaces using IDL
ORB
NETWORK (GIIOP/IIOP)
8/3/2019 CORBA & RMI (IIOP)
10/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
CORBA Architecture :: Technical Concept & Logical Application
In CORBA, the ORB provides the mechanisms by whichIn CORBA, the ORB provides the mechanisms by which
objects transparently make requests and receive responses, providingobjects transparently make requests and receive responses, providing
interoperability between applications on different machines, ininteroperability between applications on different machines, in
heterogeneous distributed environments.heterogeneous distributed environments.
For embedded applications, Apache HTTP CORBA is too largeFor embedded applications, Apache HTTP CORBA is too large
to meet size and performance requirements. Such scenarios require ato meet size and performance requirements. Such scenarios require a
cut-down version of unpopular CORBA web server.cut-down version of unpopular CORBA web server.
8/3/2019 CORBA & RMI (IIOP)
11/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
Application Server :: Technical Terminology
EJB SESSION ::EJB SESSION :: Which are components implementing with Business logic, businessWhich are components implementing with Business logic, businessrules and workflow.rules and workflow.
EJB ENTITY BEANS ::EJB ENTITY BEANS :: Which are components encapsulating some dataWhich are components encapsulating some data
contained by the enterprise.contained by the enterprise.
---------------------- BEAN-MANGED PERSISTENCE (BMP) Entity BEAN ::BEAN-MANGED PERSISTENCE (BMP) Entity BEAN :: WhichWhich
require the component developer to write the necessary code to make the beanrequire the component developer to write the necessary code to make the bean
persist, using the API.persist, using the API.
---------------------- CONTAINER-MANGED PERSISTENCE (CMP) Entity BEAN ::CONTAINER-MANGED PERSISTENCE (CMP) Entity BEAN ::Which persistence is provided automatically by the container.Which persistence is provided automatically by the container.
8/3/2019 CORBA & RMI (IIOP)
12/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
CORBA :: Technical Terminology
!! NOTE !!!! NOTE !!
Using CORBA implementation allows objects of both cross-platform & cross-languageUsing CORBA implementation allows objects of both cross-platform & cross-language
can invoke directly within our servlet by a remote client. Thus normally would start workcan invoke directly within our servlet by a remote client. Thus normally would start work
from the same IDL description of the server object as of the CORBA server implement &from the same IDL description of the server object as of the CORBA server implement &
generate client stub classes.generate client stub classes.
Features:Features:
o Looking up and instantiating objects on remoteLooking up and instantiating objects on remote..
o Marshalling parameters from one programming language (such as Java) to another (suchMarshalling parameters from one programming language (such as Java) to another (such
as C++) & vise-cersa.as C++) & vise-cersa.o Invoking methods on a remote objects, using the static method invocation described by aInvoking methods on a remote objects, using the static method invocation described by a
downloaded stub.downloaded stub.
o invoking methods on remote objects, using dynamic method invocation.invoking methods on remote objects, using dynamic method invocation.
o Automatically starting objects that are not currently running.Automatically starting objects that are not currently running.
8/3/2019 CORBA & RMI (IIOP)
13/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
CORBA :: Technical Terminology
!! NOTE !!!! NOTE !! If you intend software and not hardware, application server contain businessIf you intend software and not hardware, application server contain business
logic code, while web server don't contain logic but only html pages to return tologic code, while web server don't contain logic but only html pages to return to
the browser with a little interaction. .the browser with a little interaction. .
Application Servers can also be termed as advanced versions of theApplication Servers can also be termed as advanced versions of theWeb servers that offers more functionality and tools to support the followingWeb servers that offers more functionality and tools to support the following
features, however few of these features can also be handled using web servers.features, however few of these features can also be handled using web servers.(They are marked with *)(They are marked with *)
1. Scalability *1. Scalability *
2. Performance *2. Performance *
3. Messaging3. Messaging
4. Resource Pooling4. Resource Pooling5. JNDI5. JNDI
6. Transaction services6. Transaction services
7. In-Built Security7. In-Built Security
8. App Diagnostics & Monitoring8. App Diagnostics & Monitoring
9. In-Built IDEs eg: workshop for weblogic, WSAD for WebSphere9. In-Built IDEs eg: workshop for weblogic, WSAD for WebSphere
8/3/2019 CORBA & RMI (IIOP)
14/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
Choosing THE Web Server
1. APACHE Http 2.0 Web Server
2. CAUDIUM Web Server
3. CORE Java Web server 2.0
8/3/2019 CORBA & RMI (IIOP)
15/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
I. APACHE Http 2.0 Web Server
8/3/2019 CORBA & RMI (IIOP)
16/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
I. APACHE Http 2.0 Web Server
Apache 2.0 Web Server
COREMod_cgi
Mod_perl
Mod_PHP
Mod_fastCGI
Mod_SSL
Mod_CORBA
CGI-Based application
Fast CGI-Based application
Module-based application
Security Module
Wireless invocation
Module-based application
8/3/2019 CORBA & RMI (IIOP)
17/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
I. APACHE Http 2.0 Web Server
NOTE:NOTE:
As given data-flow beingAs given data-flow being
displayed in the previous page,displayed in the previous page,
it also illustrated the systemit also illustrated the system
given in figure 3.3given in figure 3.3
Figure 3.3Figure 3.3
8/3/2019 CORBA & RMI (IIOP)
18/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
I. APACHE Http 2.0 Web Server
An interesting characteristic of the Apache serverAn interesting characteristic of the Apache server
whereas the concept ofwhereas the concept of resource poolresource pool. All resources. All resources
related to a request (memory, file handlers) arerelated to a request (memory, file handlers) are
allocated and handled through a dedicated resourceallocated and handled through a dedicated resource
pool. Further more, modules can define their ownpool. Further more, modules can define their own
sub-resource pools if they want to manage privatesub-resource pools if they want to manage private
resources in a similar manner with generalresources in a similar manner with general
resources.resources.
There is, however, something that might beThere is, however, something that might be
compared with announcing an event, namely is thecompared with announcing an event, namely is the
issuing of a sub-request by a module in order toissuing of a sub-request by a module in order to
"force" the core to perform some of the steps for a"force" the core to perform some of the steps for a
request on the sub-request (i.e. calling sequentiallyrequest on the sub-request (i.e. calling sequentially
handlers for each servicing phase). However this ishandlers for each servicing phase). However this is
not (conceptually) a proper event, because thenot (conceptually) a proper event, because the
issuing module does not announce something toissuing module does not announce something to
other (unknown to it) modules. It just a mean ofother (unknown to it) modules. It just a mean offorcing" an implicit invocation.forcing" an implicit invocation.
The table shows the result of benchmarking, with the in-dept clientThe table shows the result of benchmarking, with the in-dept client
accessing. For the same purpose of delivering better service asaccessing. For the same purpose of delivering better service as
shown with Sequoia.shown with Sequoia.
8/3/2019 CORBA & RMI (IIOP)
19/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
2. Caudium Web Server
8/3/2019 CORBA & RMI (IIOP)
20/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
2. Caudium Web Server
Caudium Web Server Core Structure PROTOCOLMODULES MODULE _ LOGGER
MODULE _AUTH
MODULE _FIRST
MODULE _URL
MODULE _EXTENSION
MODULE _LOCATION
MODULE _FILE _EXTENSION MODULE _DIRECTORY
MODULE _TYPES
MODULE _LAST
MODULE _FILTER
ERRORMESSAGE
REQUEST RESPONSE
8/3/2019 CORBA & RMI (IIOP)
21/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
2. Caudium Web Server
Points to be considered before Migration orPoints to be considered before Migration orimplementing Caudium Web server!!implementing Caudium Web server!!
8/3/2019 CORBA & RMI (IIOP)
22/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
2. Caudium Web Server
Apache Caudium
Using SSI to displayUsing SSI to display tag. tag.
Using JavaScript to display a dateUsing JavaScript to display a date The tag actually is parsed by the server whereas JavaScript is parsed byThe tag actually is parsed by the server whereas JavaScript is parsed by
the client. Search Engines do not parse JavaScript, and therefore yourthe client. Search Engines do not parse JavaScript, and therefore your
JavaScript Date would not be recognized by the Search Engine.JavaScript Date would not be recognized by the Search Engine.
Using SSI to include files forUsing SSI to include files for
templatingtemplatingCaudium has the and tags which can be much more powerful thanCaudium has the and tags which can be much more powerful than
simply including a file through SSI. Caudium also caches the template files forsimply including a file through SSI. Caudium also caches the template files for
faster execution and page serving.faster execution and page serving.
SSI and exec cmdSSI and exec cmd Because of the way Caudium works, you may need to specify the full file path forBecause of the way Caudium works, you may need to specify the full file path for
exec cmd SSI statements.exec cmd SSI statements.
Using SSI for URL Based sessionUsing SSI for URL Based session
trackingtrackingThe GSession and 123Sessions module both provide easy to use session trackingThe GSession and 123Sessions module both provide easy to use session tracking
based on url or cookies. The result is a cleaner URL for hosts that acceptbased on url or cookies. The result is a cleaner URL for hosts that accept
cookies. GSession was engineered to be much more search engine friendlycookies. GSession was engineered to be much more search engine friendly
than 123Sessions, but maintains backwards compatibility and is an easy drop-than 123Sessions, but maintains backwards compatibility and is an easy drop-in replacement.in replacement.
Using JavaScript for Client capabilitiesUsing JavaScript for Client capabilities
detectiondetectionCaudium contains the supports database, which is passed through to CGI scriptsCaudium contains the supports database, which is passed through to CGI scripts
and can be accessed within RXML quite easily to make decisions based onand can be accessed within RXML quite easily to make decisions based on
Client capabilities.Client capabilities.
SSI to include events based on timeSSI to include events based on time
schedulesschedulesOne can write a module that includes content based on certain filters, or use theOne can write a module that includes content based on certain filters, or use the
RXML statements to display content based on dates, times, variables,RXML statements to display content based on dates, times, variables,
etc.etc.
8/3/2019 CORBA & RMI (IIOP)
23/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
2. Caudium Web Server
HTACCESS DifferencesHTACCESS Differences :: Caudium supports the NCSA Standards for .htaccess file construction.:: Caudium supports the NCSA Standards for .htaccess file construction.
As a result, any .htaccess that works in Apache, may not work in Caudium. Usually this involves addingAs a result, any .htaccess that works in Apache, may not work in Caudium. Usually this involves adding
and around the require valid-user statement in the .htaccess. and around the require valid-user statement in the .htaccess.
Along with that, Caudium has a few built in authentication methods so that the .htaccess file is not asAlong with that, Caudium has a few built in authentication methods so that the .htaccess file is not as
necessary. Authentication from MySQL/PostgreSQL and a number of other supported databases can benecessary. Authentication from MySQL/PostgreSQL and a number of other supported databases can be
done without needing .htaccess files.done without needing .htaccess files.
Mod_rewrite functionalityMod_rewrite functionality :::: When moving from Apache, mod_rewrite is the proverbial swissWhen moving from Apache, mod_rewrite is the proverbial swissarmy knife for URL manipulation. While that is the case, 95% of the uses for mod_rewrite have beenarmy knife for URL manipulation. While that is the case, 95% of the uses for mod_rewrite have been
handled with two modules that are included within the base distribution of Caudium.handled with two modules that are included within the base distribution of Caudium.
The first module is the ReferrerDeny module. This module blocks access to images based on theThe first module is the ReferrerDeny module. This module blocks access to images based on the
referrer sent by the remote client. Typically this is called 'hotlink' protection.referrer sent by the remote client. Typically this is called 'hotlink' protection.
The second module is the BrowserDeny module. This module blocks access to files based on theThe second module is the BrowserDeny module. This module blocks access to files based on the
UserAgent of the remote client. It is common to block automated site suckers, email address surfingUserAgent of the remote client. It is common to block automated site suckers, email address surfing
software, etc.software, etc.
If you need more complex rewriting of URLs, Caudium has the Rewrite module. This module doesn'tIf you need more complex rewriting of URLs, Caudium has the Rewrite module. This module doesn't
have support for multi-line rules like mod_rewrite, but does contain a number of advanced featureshave support for multi-line rules like mod_rewrite, but does contain a number of advanced features
that sometimes surpass mod_rewrite's capabilities.that sometimes surpass mod_rewrite's capabilities.
If the above solutions don't work, you can always write a custom module to handle your specificIf the above solutions don't work, you can always write a custom module to handle your specific
requirements, but in general, the first two modules will probably address 95% of the issues you mightrequirements, but in general, the first two modules will probably address 95% of the issues you might
run into while converting your site.run into while converting your site.
8/3/2019 CORBA & RMI (IIOP)
24/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
2. Caudium Web Server
PHP SupportPHP Support:: While there is PHP support in Caudium, you may find that RXML can do many of the:: While there is PHP support in Caudium, you may find that RXML can do many of the
things that you would use PHP for, and in many cases can provide an easier interface for certainthings that you would use PHP for, and in many cases can provide an easier interface for certain
functions. Creating tables from SQL output in Caudium is much easier than using PHP. However, forfunctions. Creating tables from SQL output in Caudium is much easier than using PHP. However, for
applications that need to be moved over, Caudium does support PHP.applications that need to be moved over, Caudium does support PHP.
CGI Support/PathInfoCGI Support/PathInfo:: Caudium provides full support for CGI scripts, and passes the supports:: Caudium provides full support for CGI scripts, and passes the supports
database information to the script as well. So your scripts can take advantage of the supportsdatabase information to the script as well. So your scripts can take advantage of the supports
functionality which will allow you to add extra capabilities to your scripts.functionality which will allow you to add extra capabilities to your scripts.
It is also very easy to write MODULE_LOCATIONs that are similar to .cgi scripts, but are resident andIt is also very easy to write MODULE_LOCATIONs that are similar to .cgi scripts, but are resident and
become part of the Caudium Server.become part of the Caudium Server.
Logging DifferencesLogging Differences:::: If you use a web log analyzer, the default format in Caudium may not beIf you use a web log analyzer, the default format in Caudium may not be
what you are looking for. Rotation of logs is a bit different too as you can specify the filename to log towhat you are looking for. Rotation of logs is a bit different too as you can specify the filename to log to
with certain macros. If you want to change the log format, within the Configuration Interface for yourwith certain macros. If you want to change the log format, within the Configuration Interface for your
server, click on, Configuration Interface, Server Variables, Logging, Format.server, click on, Configuration Interface, Server Variables, Logging, Format.
You may want to use the following format string which replicates the combined logging format fromYou may want to use the following format string which replicates the combined logging format from
apache.apache.
*: $host - $user [$cern_date] "$method $resource $protocol" $response $length "$referer"*: $host - $user [$cern_date] "$method $resource $protocol" $response $length "$referer"
"$agent_unquoted""$agent_unquoted"
Log file names can also be specified in the configuration interface. To maintain similar log file rotationLog file names can also be specified in the configuration interface. To maintain similar log file rotation
as apache, you don't need to change the name. If you want to use a separate log file for each day, youas apache, you don't need to change the name. If you want to use a separate log file for each day, you
can specify the log file name with an extension of .%y%m%d and it will create a new log file each daycan specify the log file name with an extension of .%y%m%d and it will create a new log file each daywith a yyyymmdd extension.with a yyyymmdd extension.
8/3/2019 CORBA & RMI (IIOP)
25/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
3. Core Java Web Server
8/3/2019 CORBA & RMI (IIOP)
26/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
3. Core Java Web Server
ITEM Web Services CORBA
Protocol SOAP, HTTP, XML Schema IIOP, GIIOP
Location Identifiers URLs IOR, URL
Interface Specifications WSDL IDL
Naming Directory UDDI Naming Services, Interface Repository,Trader Service
8/3/2019 CORBA & RMI (IIOP)
27/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
3. Core Java Web Server
There is no portable, standard API for SOAP, so the developer is left in the dark about howThere is no portable, standard API for SOAP, so the developer is left in the dark about how
to map SOAP data to implementation data and vice versa. If you use a web services product for, say,to map SOAP data to implementation data and vice versa. If you use a web services product for, say,
Java from one vendor and then want to switch to a web service product for Java from another vendor,Java from one vendor and then want to switch to a web service product for Java from another vendor,
you get to rewrite all your code, because the new vendors toolkit and API are different.you get to rewrite all your code, because the new vendors toolkit and API are different.
There isThere is no single wayno single way to map your programs objects and data model to SOAP and vice-to map your programs objects and data model to SOAP and vice-versa. There is no such thing as a language and platform independent interface and object modelversa. There is no such thing as a language and platform independent interface and object model
specification language as CORBAs IDL (Interface Definition Language) together with the standardizedspecification language as CORBAs IDL (Interface Definition Language) together with the standardized
programming language mappings.programming language mappings.
Consider the following counter argument to the statement from the paragraph title:Consider the following counter argument to the statement from the paragraph title:
Widespread support for the WSDL standard means you won't have to, just feed the WSDL to the newWidespread support for the WSDL standard means you won't have to, just feed the WSDL to the new
vendor's system.vendor's system. This is not true:This is not true: WSDL doesn't describeWSDL doesn't describe implementationimplementation, does it? So, even with a, does it? So, even with a
WSDL compiler, the best I could hope for is standardized APIs for interacting with a particular webWSDL compiler, the best I could hope for is standardized APIs for interacting with a particular web
service. But I still won't get standardized APIs for interacting with other parts of the run time, do I?service. But I still won't get standardized APIs for interacting with other parts of the run time, do I?There is more to a language mapping than just translating interface definitions!There is more to a language mapping than just translating interface definitions!
Furthermore, CORBA has had the fully portable POA (Portable Object Adapter) specificationFurthermore, CORBA has had the fully portable POA (Portable Object Adapter) specification
for years. Not only the client code you write, but also thefor years. Not only the client code you write, but also the serverservercode (where you implement and servecode (where you implement and serve
the distributed objects) is portable across ORBthe distributed objects) is portable across ORB
8/3/2019 CORBA & RMI (IIOP)
28/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
3. Core Java Web Server
CLIENT
JAVAOBJECTS
JAVA
RuntimeORB
Proxy
SERVER
ORB
Object
Java object invoking through a remote Method.Java object invoking through a remote Method.
IIOP
8/3/2019 CORBA & RMI (IIOP)
29/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
3. Core Java Web Server
CLIENT
LOCAL / Remote
HOME Interface
LOCAL / Remote
HOME Interface
EJB Home /
EJB LocalHOME
EJB Object /
EJB LocalObject
Bean
Instance
Use JNDI lookup toget a reference to theEJB Home/ EJB LocalObject
Use the HomeInterface to create anew instance of the
bean.
Invoke business methodsdefined in the remote /local Interface.
The container contains anew EJB Object/ EJB localObject that has beaninstance associated withit.
8/3/2019 CORBA & RMI (IIOP)
30/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
8/3/2019 CORBA & RMI (IIOP)
31/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
APACHE Http 2.0 Web Server
Benchmark Results
8/3/2019 CORBA & RMI (IIOP)
32/40
APACHE Http 2.0 Web Server
Benchmark Results
5
5.2
5.45.6
5.8
6
6.2
6.4
6.6
5 10 50 100 200 400
Filesize: 100
Filesize: 1024
Filesize: 1900
CORBA :: Java Message ServiceCORBA :: Java Message Service
Concurrency :: Time taken / sec
1400
1450
1500
1550
16001650
1700
1750
1800
1850
5 10 50 100 200 400
Filesize: 100
Filesize: 1024
Filesize: 1900
Concurrency :: Request / sec
8/3/2019 CORBA & RMI (IIOP)
33/40
8/3/2019 CORBA & RMI (IIOP)
34/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
Caudium Web Server
Benchmark Results
8/3/2019 CORBA & RMI (IIOP)
35/40
Caudium Web Server
Benchmark Results
0
1
2
3
4
5
6
5 10 50 100 200 400
Filesize: 100
Filesize: 1024
Filesize: 1900
Concurrency :: Time taken /sec
0
500
1000
1500
2000
2500
5 10 50 100 200 400
Filesize: 100
Filesize: 1024
Filesize:1900
Concurrency :: Request/sec
CORBA :: Java Message ServiceCORBA :: Java Message Service
8/3/2019 CORBA & RMI (IIOP)
36/40
Caudium Web Server
Benchmark Results
CORBA :: Java Message ServiceCORBA :: Java Message Service
0
1000
2000
3000
4000
5000
5 10 50 100 200 400
Filesize: 100
Filesize: 1024
Filesize: 1900
Concurrency :: Transfer rate (kb/s received)
8/3/2019 CORBA & RMI (IIOP)
37/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
CORE Java Web Server (JWS)
Benchmark Results
CGI / Sevlet Benchmark Raw DataCGI / Sevlet Benchmark Raw Data
No. of ThreadsNo. of Threads CGICGI ServletServlet
11 731731 390390
55 2,1512,151 259259
1010 9,3529,352 778778
2020 8,0008,000 3,2843,284
3030 28,37928,379 12,85212,852
4040 45,37745,377 17,01717,017
5050 86,88586,885 44,34944,349
0
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 0 0 0 0
6 0 0 0 07 0 0 0 0
8 0 0 0 0
9 0 0 0 0
1 0 0 0 0 0
1Th
read
5Thre
ads
10Thre
ads
20Thre
ads
30Thre
ads
40Thre
ads
50Thre
ads
C G IG B
S lo w G
F a s tG
8/3/2019 CORBA & RMI (IIOP)
38/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
Benchmark Result :: Apache vs Caudium
Concurrency :: Request / sec
0
500
1000
1500
2000
2500
5 10 50 100 200 400
Filesize: 100 Apache Filesize: 1024 Apache Filesize: 1900 Apache
Filesize: 100 Caudium Filesize: 1024 Caudium Filesize:1900 Caudium
8/3/2019 CORBA & RMI (IIOP)
39/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
Benchmark Result :: Apache vs Caudium
Concurrency :: Transfer Rate (kb/s Received)
0
1000
2000
3000
4000
5000
5 10 50 100 200 400
Filesize: 100 Apache Filesize: 1024 Apache Filesize: 1900 Apache
Filesize: 100 Caudium Filesize: 1024 Caudium Filesize:1900 Caudium
8/3/2019 CORBA & RMI (IIOP)
40/40
CORBA :: Java Message ServiceCORBA :: Java Message Service
Benchmark Result :: Apache vs Caudium
Concurrency :: Time Taken (Seconds)
0
1
2
3
45
6
7
5 10 50 100 200 400
Filesize: 100 Apache Filesize: 1024 Apache Filesize: 1900 Apache
Filesize: 100 Caudium Filesize: 1024 Caudium Filesize:1900 Caudium