Rochester Institute of Technology
RIT Scholar Works
Theses
Thesis/Dissertation Collections
2000
Migration from client/server architecture to
internet computing architecture
Fauzan Ahmad
Follow this and additional works at:
http://scholarworks.rit.edu/theses
This Thesis is brought to you for free and open access by the Thesis/Dissertation Collections at RIT Scholar Works. It has been accepted for inclusion
in Theses by an authorized administrator of RIT Scholar Works. For more information, please contact
Recommended Citation
Migration
from Client/Server Architecture
to
Internet
Computing
Architecture
By
Fauzan Ahmad
Thesis
submitted
in
partial
fulfillment
of
the
requirements
for
the
Degree
of
Master
of
Science in Information
Technology
Department
of
Information
Technology
Rochester Institute
of
Technology
Thesis Reproduction Permission Form
Rochester Institute of Technology
College of Applied Science and Technology
Migration from Client/Server Architecture to
Internet Computing Architecture
I, Fauzan Ahmad, hereby grant permission to the Wallace Library of the
Rochester Institute of Technology to reproduce my thesis in whole or in part.
Any reproduction must not be for commercial use or profit.
Rochester Institute of Technology
Department of Information Technology
Master of Science in Information Technology
Thesis Approval Form
Student Name:
Fauzan Ahmad
Student Number:
_
Thesis Title:
Name
Migration from Client/Server to
Internet Computing Architecture
Thesis Committee
Signature
Date
!-P~ro~f.---!T..!.!.im..!..!...!W~e~lI~s
--"-7...£.//-L...-.V
/2-v..--;>
Chair
Prof. Rayno Niemi
Committee Member
Table
ofContents
Sr. No
Title
Page Numbers
List
ofFigures
Abstract
3
3.1
3.2
Introduction
Today's World
ofSQL Client/Server
World Wide Web
8
8
11
4
4.1
4.2
4.3
4.4
The
Distributed Object
Paradigm
The
Extensibility
ofDistributed Architecture
Introduction to Distributed Object
The
Developer's
Perplexity
The Business
Perplexity
13
13
13
15
16
5
5.1
5.2
Internet
Computing
Architecture
The Open
andde Facto
Standards
Introduction
to
CORBA
andMOP
17
17
17
6
6.1
6.2
Internet
Computing
Architecture
Components
Introduction
to
Cartridge
Inter-Cartridge
exchange(ICX)
19
20
21
7
7.1
7.2
Extensible Database
Servers,
App.
Servers,
Clients
Family
ofClients in Internet
Computing
Introduction
to ActiveX/COM/DCOM?
24
24
24
8
8.1
8.2
Use
ofUniversal
Application
Server
26
Internet Computing: A Scaleable
Application Server
27
9
Applications
based
onCartridges
29
9.1
Development
ofApplications
based
onCartridges
29
9.2
Management
ofApplications
based
onCartridges
30
10
Summary
31
11
Appendix
A
33
12
Appendix
B
(Case
Study)
34
1.
LIST
OF FIGURES
3.1
Today's World
ofSQL
Client/Server
9
3.2
World Wide Web
1 1
4.1
The Distributed Paradigm
14
6.1
Internet
Computing
Architecture
19
8.1
Universal Application
Server
26
S.1
IT Environment in Today's World
32
C.1
ABC Internet
Computing
Architecture Model
34
C.2
Workspace Architecture
36
C.3
Persistent
Object
Service
42
C.4
ABC Three-tier Architecture
43
2. ABSTRACT
The Internet
Computing
Architecture helps in
providing
aobject-basedinfrastructure
that
canbe
usedby
the
applicationdevelopers
to
design, develop,
anddeploy
the
n-tiered
enterprise applications and services.For
years ofdistributed
applicationdevelopment,
the
Internet
Computing
Architecture
has helped in
providing
varioustechniques
andinfrastructure
softwarefor the
successfuldeployment
of varioussystems,
and established afoundation
for
the
promotion of re-use and component orienteddevelopment.
Object-oriented
analysisis
atthe
beginning
ofthis
architecture,
whichis
carriedthrough
deploying
andmanaging
offinished
systems.This
architectureis multi-platform, multi-lingual, standards-based,
and openthat
offers unparalleled
integration
capability.And
for
the
development
of mission criticalsystems
in
recordtime
it has
allowedfor
the
reuse ofthe
infrastructure
components.This
paper provides adetailed
overview ofthe
Internet
Computing
Architecture
andthe
way it is
appliedto
designing
systems which can rangefrom
simpletwo-tier
applications
to
n-tierWeb/Object
enterprise systems.Even
for
the
best
softwaredevelopers
and managersit is very hard
to
sortthrough
alternative solutionsin
today's business
applicationdevelopment
challenges.The
problems withthe
potential solutions were not
that
complex nowthat
the
webhas
providedthe
mediumfor large-scale distributed
computing.To implement
aninfrastructure
for
the
supportof applications architecture and
to
foster
the
component-orienteddevelopment
andreuse
is
anextraordinary
challenge.Further,
to
scalethe
needs oflarge
enterprisesand
the
Web/Internet
the
advancementin
the
multi-tiered middleware softwarehave
made
the
development
of object-oriented systems moredifficult.
The Internet
Computing
Architecture
defines
a scaleablearchitecture,
which canprovide
the
necessary
softwarecomponents, whichforms
the
basis
ofthe
solidmiddleware
foundation
and can addressthe
different
applicationtypes.
For the
software
development
processto
be
component-orientedthe
design
anddevelopment
methodologies areinterwoven.
Client/Server
andObject/Web
applications.This kind
offlexibility
allowsdifferent
business
objectsto
be
reusedby
alarge
number ofapplicationsthat
notonly
supports a wide range ofapplication architectures
but
also offersthe
flexibility
in
infrastructure for the
integration
ofdata
sources.The
server-basedbusiness
objectsare managed
by
runtime services withfull
supportfor
applicationto
be
partitionedin
a
transactional-secure
distributed
environment.So
for the
environmentsthat
a supportshigh transaction
volumes and alarge
number of usersthis
offers ahigh
scaleable solution.
The integration
ofthe
distributed
objecttechnology
with protocols ofthe
World
Wide
Web is Internet
Computing
Architecture. Alternate
means of communicationbetween
abrowser
on client machine and server machines are providedby
variousweb protocols such as
Hypertext Transfer Protocol
andInternet Inter-ORB Protocol
[NOP]. Protocols like TCP/IP
also providesthe
addressing
protocols andpacket-oriented
transport
for
the
Internet
andIntranet
communications.The
recent advancementsin
the
field
ofnetworking
and worldwide webtechnology
has
promoted a new network-centriccomputing
structure.World Wide Web
evolvesthe
globaleconomy
infrastructure
both
onthe
public and corporateInternet's. The
competition
is
growing
between
technologies
to
providethe
infrastructure for
distributed large-scale
applications.These
technologies
emergefrom
academia,
standard activities and
individual
vendors.Internet
Computing
Architecture
is
acomprehensive,
open,
Network-based
architecture
that
providesextensibility for
the
design
ofdistributed
environments.Internet
Computing
Architecture
also provides a clearunderstanding
to
integrate
client/server
computing
withdistributed
object architectures andthe
Internet. This
technology
also createsthe
opportunity for
a newemerging
class ofextremely
powerful
operational, collaboration,
decision
support,
and e-commerce solutionswhich will catalyze
the
growth of a new networkedeconomy based
onintra-business,
business
-to-business(B2B)
andbusiness-to-consumer
(B2C)
electronicmainframe
systems,
emerging
applications as well asexisting
client/serverenvironment,
where still most ofthe
world's mission-critical applications run.Internet
Computing
Architecture
is
the
industry's
only
cross-platforminfrastructure
to
develop
anddeploy
network-centric, object-based,
end-to-endapplications acrossthe
network.Open
andde
facto
standardsare atthe
core ofthe Internet computing
architecture such as:
Hyper Text Transfer Protocol
(HTTP)/
Hyper Text
Markup
Language
(HTML)/ Extensible
Markup
Language
(XML)
andCommon Object
Request Broker
Architecture (CORBA).
It has recognition,
asthe industry's
mostadvanced and practical
technology
solutionfor the implementation
ofadistributed
objectenvironment,
including
Interface Definition Language
(IDL)
for
language-neutralinterfaces
andInternet Inter
Operability (MOP)
for
objectinteroperability.
Programming
languages
such asJAVA
providesprogrammable,
extensible and portable solutionsthroughout the
Internet
Computing
Architecture. Internet
Computing
Architecture
notonly
providessupport,
but
also enhancesActiveX/Component Object Model
(COM)
clientsthrough
openCOM/CORBA
interoperability
specifications.For distributed
object-programming
Java has
also emerged asthe
de facto
standard withinthe
Internet/Intranet
arena,
making
Java
ideally
suitedto
the
distributed
object nature ofthe
Internet
Computing
Architecture.
The portability
that
it
offers across multi-tiers and platforms support open standards3.
INTRODUCTION
Over the years,
innovations
in
computersoftware/hardware
and networktechnology
have
continuously increased
performance andreliability
whilereducing
cost.These
innovations in
technology
have
allowed multiple generationsto
evolve:mainframes,
client/server,
Internet/Web,
anddistributed
objects.3.1 Today's World
ofSQL Client/Server
The
networkedeconomy
is
changing
the
way
that
corporations aredeveloping
anddeploying
applications.It is the intersection
of publicand privatenetworking
technologies
with24-hour
global e-commerce.In the
80s,
wehad
the
industry
Personal
Computers
with graphical userinterfaces
(clients),
high-end
serversto
house
majordatabases,
andto
connectthese
two
wehad
the
Ethernet LANs.
Companies
gained peace of mind asthey
rebuilt,
rightsized,
anddownsized
their
mainframe-based
computing
infrastructures
withthe
newindustry
standardsbeing
emerged onthe
client/server.After fifteen
years,
withthe
introduction
ofthe
Personal
Computers
(PC's),
client/server
became
the
dominant
architecturewiththe
base for
the
newupcoming
enterprisecomputing
systems.However,
afew
ofthe
legacy
applications still reside onthe
mainframetechnology.
Today's
client and server world notonly
runs mission critical applicationsnatively but
alsohelps in
providing
robustbridges for
their
legacy
applications and compriseddata.
Client/server
worldhas
created afew
challenges eventhough
PC
clientshave
always
been
a cost-effective optionto
proprietary
systemsandto
character-modeterminals.
As the
clientsbecame
"fat"(the FAT file
systemis
namedfor
its
method oforganization
the
file
allocationtable.
The FAT file
systemis
a simplefile
systemoriginally
designed for
smalldisks
and simpledirectory
structures.Its
design
has
been
improved
overthe
yearsto
work moreeffectively
withlarger disks
and moreresources are required
for
the
management of multiple software's packages withseveral versions on
different
clients.In
extending
applications
the
client software [image:12.556.105.469.129.404.2]once
developed
offerslimited
reusability.Figure 3.1
fOa]
Today's World
ofSQL
Client/Server
With the
advancementin Internet/web
technology,
there
is
asteady decrease
in the
cost of
high-end
servers,
andincrease in
the total
cost ofownership
ofthe
Personal
Computer
clients,
which areprompting Independent
Software Developers
(ISD)
to
extend
their
strategiesto
client/serverto
embracethe
IntemetVWeb.
The
ultimate goal mustbe to
create a applicationsdevelopment
platformthat
is
cheaper
to
develop
anddeploy.
Moreover,
developers
aredesigning
aInternet
model
based
on abrowser
based
thin
client(The thin-client/server
computing
modelinvolves
connecting
thin-client
software or athin-client
hardware device
withthe
server side
using
ahighly
efficient network protocol such asCitrix's
ICA.
The
management,
deployment,
and supportfor
mission-critical, productivity,
Web-based,
or other custom applications across
any
type
of connectionto
any
type
of clienthardware,
regardless of platform.The
clienthardware
caninclude
Windows-based
terminals,
PCs,
NetPCs,
networkcomputers, Apple Macintosh
computers,
orUNIX
devices),
the
applicationlogic based
middletier,
and adatabase
tier
which canhold
the
company'sbusiness
rules anddata
asin the
client/server model.3.2
World
Wide Web
The
emergence ofthe
Internet/Web
has
created another wave of networktechnology
that
is
anchoredby
low-cost,
simple,
easy-to-deploy
webtechnology
withhigh
bandwidth
networks.The
explosion ofthe
World
Wide
Web
wasdriven
by
documents
-Internet
pagesthat
contain rich graphics andtext,
and wereinterlinked
in
powerful ways.The Web
technology
wasinitially
deployed
withthese interlinked
documents
housed
on serversthat
used acentralized approachthe
corporateservers'
"glass
house" picture accessedby
millions ofbrowser.
This
InternetAVeb
technology
is
the
first
true
large-scale,
multi-vendor,
open,
distributed
application ofInternet
computing
andhas
provided avery
powerful andvery
successful platformto
handle documents
by browsing
and surfing.Nowadays,
more and more
functionality
is
being
addedto the
publicInternet
andthe
corporateIntranet
to
enhanceits
performance andto
makeit
easierfor
the
vendorsto create,
share,
search anddeal
withthe
day-to-day
documents.
+EaseofAdministration +Low CostofDeployment +
Open,
Standards based-Piecemeal
Extensibility
-Notrobust- Limitedservices
(
Staticand
Dynamic Pages
Plug-ins
Browser
Database
[image:14.556.98.461.390.661.2]Web Server
The
Internet/Web
solvesmany
ofthe
challengesfaced
withthe
client/servercomputing like
the
fat
client problem.The
Web
onthe
otherhand
providesalow-cost,
andeasy
to use,
opendeployment
platform.Still
the
Web
faces
more challenges asit
evolvesfrom
adocument
library
to
ane-business
platformto
conduct securetransactions
on corporateIntranet
and publicInternet's.
But
asa universal platformfor large-scale distributed
applicationsit
stilllacks
in
security,
scaleability,
mission-criticalservices,
and asimple means ofcreating, managing,
debugging, deploying,
andoperating
applications.It
must:Enhance
the
integrity
,data security,
anddistributed
transaction
supportEnhance
the
reusableextensibility,
and providerobust,
scaleablearchitecture
These kind
of challengesmagnify
the
needfor
Internet-sawy
programs/objectsthat
can offer work on multiple
operating
systems,
languages, tools, hardware,
4. THE DISTRIBUTED
OBJECT PARADIGM
4.1
The
Extensibility
ofDistributed Architecture
The
next generation approachfor
applicationdevelopment
anddeployment is
considered
to
be the
Object Oriented Technology.
It
providesthe
mechanismfor
more efficient
programming
and quick responsesto
business
needs andopportunities.
To
develop
the
pieces of animplementation,
at variabletimes,
by
different
projectteams
andIndependent Software
Vendors,
the
Objects
also allow a "pen"environment.
4.2
Introduction
to
distributed
objectAn
Object is
consideredto
be
aself-contained packagecomprising
both
of code anddata. Since
an objectis limited
only
to
a number of well-defined methods andto the
data it
encapsulates,
its design
must contributeto
productquality
and safety.With
the
principle ofinheritance,
the
use of object speedsup
the
development
time
andcuts
down
the
costandtime-to-market
asthe
capabilities of an objectmay be
extended and embraced
to
build
anotherdifferent
object.In
asystem,
the
objectsmay differ but
mighthave
aresponsefor
the
same pointin
their
ownway just like
polymorphism,
which makesthem
easy
to
manage.The distributed
objects canlive
anywhere on
the
Internet
withthe
assistance ofthe
Object Request Broker (The
Object Request Broker
(ORB)
is just
a set ofCORBA
specifications.It
refersto
acollection of software
libraries
used eitherby
CORBA
clientsto
accessdistributed
services or
by
CORBA
serversto
maketheir
servicesdistributed).
In
the
Information Systems
world, the
Object Oriented
Technology
enhancesthe
productivity in programming
by
allowing
the
softwaredevelopers
to
develop
softwareas a more useful and manageable piece.
In
the
network-centricenvironment,
objectsbehave
asdistributed
objects,
which can operate ondifferent
operating
systems,
languages,
and network.Same
asthe
client/serverapproach, the
computing
andnetworkresources are permitted
by
distributed
objectsto
be
appliedeffectively
with some
running
on a corporate server and othersrunning
on end-userPCs
or a [image:17.556.98.462.129.402.2]departmental
server.Figure 4.1
110-0!,
The
Distributed Paradigm
The
softwaredevelopers
can create newapplicationsby
connecting
softwareobjectsthat
containthe
enterprisebusiness logic. The features
ofthe
objects canbe
organized,
shared and evolvedin
parallelby
the team
ofdevelopers.
Providing
interoperability
and platformindependence the
distribution
of software objects canbe done
acrossthe
network.The
partition ofdistributed
objects canbe
done
acrossthe
networkfor better
utilization of system
resources,
which waspreviously
impossible
withthe
client 'fat'architecture.
With
existing
legacy
applications andinterfaces
the
distributed
objectscan co-exist
through
object wrappers.With
the
logical
progress of networktechnology
andits
migrationfrom
the
client/server world
to
network-centric objectcomputing,
the
technology
customer'sneed
has
arrived.Thus,
creating
adilemma for developers
andbusiness
alike.4.3
The
Developer's
Perplexity
With
the
advancementin
technology
andthe
advent of newsystemenvironments,
the
choicein
the
number oftools
andtechnologies
has increased
dramatically
for
the
software
developers. The
competitionis
growing
between
the technologies
for
the
role
to
providethe
infrastructure for distributed large-scale
environments -the
underpinnings of
the
newly
emerged networked economy.These
technologies
emerge
from
academia,
standard activities andindividual
vendors.Every
technology,
offers uniquepossibility for
the
enhancement ofdevelopment
productivity
orfor providing
a newcapability
to the user, that
includes
Java,
HTTP/HTML,
CORBA,
ActiveX, MOP, DCOM, JavaScript's,
and so on.As
adeveloper
makes acommitmentto
atool
ortechnology
it has
the
capability to limit
the
functionality
for re-targeting
orfor adapting
the
core capabilities ofthe
systemthat
limits
the
ability
to
respondto
any
change.A
significant amount ofinvestment
is done in
software,
training,
and operationalinfrastructure
when adeveloper
choosesadistribution
technology,
atool
orAPI. And
investment
in
these
adds asignificant risk.With relatively little compromise, the
developer
ideally
leverages
the
best
of eachtechnological
environment.For
example,
aSQL
client/server applicationhaving
awebfront
end orWeb
applications4.4 The
Business
Perplexity
The
growth andthe
rapid adoption ofthe
Internet/Web
technology by
both the
publicInternet
andthe
corporateIntranet have
made ahuge
progressionfrom just
a merestage of
browsing
the
documents
to
a realdemand
for
business
applications.Implementation using
various extensionsofthe
coretechnology
is
already
in
progress.
Enhancements
arebeing
madeinto
these
applicationsto
providemessaging,
robusttransaction,
anddata
accessservices,
whichis
typical
of client/serverapplications.As
the
businesses
notonly
wantto
deploy
the
robustInternet
Applications
but
also wantto
protecttheir
significantinvestments
that
had
already
been
madein
client/servertechnology
andits integration
withthe
legacy
system.
Integration
ofthese
legacy
systems withthe
newInternet
andObject
Oriented
Technology,
creation ofoperational,
Intranet
and e-commerce solutionsthat
can runtheir
business,
is the
realbusiness
challenge.5.
INTERNET
COMPUTING
ARCHITECTURE
The business
requirements are metby
the
combination ofthe
newandexisting
technologies,
these
different technologies
evolveasthe
industry
movesthese
into
the
productionusage,
andthat
no need remainsfor
anotherproprietary,
or anothervendor
driven
solution(see
Appendix A). Open
andde facto
standards:CORBA
andHTTP/HTML
are atthe
core ofthe
Internet
Computing
Architecture.
5.1
The
Open
andde
Facto Standards
Developers
andBusiness
areboth insulated from the
risks associated withthe
growth and
newly evolving
technologies
by
providing
aunified,
standardsbased
architecturefor
the web,
client/server,
andthe
distributed
objects.Open
andde
facto
standards support can guarantee
that
developers
can use alanguage
which suitsthe application, their
client ofchoice,
andfor
rapiddeployment
an appropriateprogramming
model.5.2
Introduction
to
CORBA
andHOP
CORBA is
mainly
a specification of a consortiumknown
asthe
Object Management
Group (OMG)
whichincludes approximately 600
companiesto
representthe
entirerange of
the
computing industry. It
standsfor
the
Common Object Request Broker
Architecture. Distributed Architecture is defined
by
CORBA
with an open softwarebus
through
which objectsfrom
multiplevendors caninter-operate
whileusing
different operating
systems.Defined atop TCP/IP
whichis the
necessary
Internet
Computing
Architecture
is
acombination ofthe
CORBA's
object orientedtechnology
withthe
web/Internettechnologies
ofHTML
andHTTP
whichforms the
basis
for
the
distributed
computing
architecturein the
networked economy.For
implementation
of adistributed
object environmentincluding
IDL for
language-neutral
interface
andNOP
for
objectinteroperability,
CORBA has
been
recognizedas
the
industry's
most advance and practical approachtechnology.
Internet
Computing
Architecture
notonly
supportsbut
alsohelps in enhancing
ActiveX/COM
clientsby interoperability
specifications of openCOM/CORBA
asratified
by
the
Object
Management
Group
andthe
additional services providedby
various
ICA
vendors.To
deliver
realbusiness
solutionsby
developers,
this
approachallows
for
the
mixing
andmatching
of componentsto
create applications.They
cancreatecorporate network and
Web
applicationsthat
combine:The
robust client/serverworld,
The
object-oriented world's componentcapabilities,
The
flexibility
ofthe
Web,
low deployment cost,
andthe
ease of use.Existing
client/server application withInternet
Computing
Architecture
cantake the
advantage of
Web/Internet
technology
with a minimal change andintegration
of newWeb/Internet
applicationscanbe seamlessly done
withexisting
client/server system6.
INTERNET
COMPUTING
ARCHITECTURE
COMPONENTS
Internet
Computing
Architecture's
key
architectural componentsare:Cartridges
-"Pluggable"
objects
that
areeasy
to
manage and capable ofproviding
extensiblefunctionality
Standardized interfaces
and open protocols-that
are a means ofcommunication
among
cartridgesthrough
asoftwarebus known
asInter-Cartridge
Exchange(ICX)
Application
Servers,
Database
Servers
andthe
Extensible Clients
=>
Any
Client
=>
Universal Application
Server
=>
Universal
Server
=>
Development Environment
and managementofCartridges.
Client Cartridges
Dzvmoynvdtt lii)y](<jnsn3ii'<. Application Server
Cartridges
Data Cartridges
Jjjiar-Crjri/idcjs
BA'Smmys
i
i
if
P
1
1
la
i
t
all
Any
J
Client
/
Ui'sPJuiaiil
AppQ'Jisti'jii Universalj
Server[/
[image:22.556.121.480.357.627.2]>kl!iDl)~dlll3lll ,SVJl('JSHtt3I\.
6.1
Introduction
to
Cartridge
It is
component-based software.Simply
put,
a cartridgeis
a program component.To
use a
cartridge,
one mustinstall
and registerit.
This
meansan application cartridgeis
installed
onthe
application server and registered.Cartridge
uses anIDL (Interface
Definition
Language)
whichis
alanguage-neutral interface
that
allowsidentifying
the
cartridge
to
otherobjectsin
adistributed
environment.Cartridges
canbe built
withPL/SQL,
SQL,
JAVA.
C/C++,
Visual
Basic,
etc.These
Cartridges have
accessto
Universal Cartridge Services:
Installation
-this
is
the
mechanismto
getthe
program codeRegistration
-this
is the
mechanismto
bring
a particular cartridgeinto
service
Installation
-this
is
the
mechanism
to
activate a particular cartridgeto
handle
the
demand for its
services;
its
advantageis
that
it
canbe
onseveral
distinct
machines,
and asdemand
rises moreinstances
being
activated and
destroyed
asdemand drops
Invocation
-this
is
the
mechanismfor providing
atask to
a cartridgeby
anapplication or another cartridge
for performing
one ofits
serviceAdministration
-this
is
the
mechanismto
controlupdates, versions,
etc.Monitoring
-this
is
the
mechanismfor
operations andoverseeing
acartridge's
activity
Security
-this
is
the
mechanismto
assurethe
appropriate use ofcomputing
resources and protection ofdata
A
few
ofthese
services are a part ofCORBA
standard.Cartridges
alsohelp
makeCORBA
objects manageableanddeployable.
For example,
abrowser
plug-inbased
on
CORBA,
such asJAVA applet-using NOP
to
server evolvesinto
acartridgeafterit
access
Universal Cartridge Services. With CORBA
andNOP
all ofthis
canbe
accomplished.
6.2
Object
Bus: Inter-Cartridge
exchange(ICX)
Communication
ofcartridges with each other acrossadistributed
networkis
enabledthrough
an objectbus known
asInter-Cartridge
exchange.For this
communication,
it
uses
both
NOP
andHTTP
protocolsto
maketranslations
that
arenecessary to
crossbetween
distinct
environments.A
whole set oflibraries
and servicesareimplemented
for ICX
that
resides withinthe
various computers attached
to the
network.With
these
libraries,
cartridges canaccess:
Clients
Services
Servers
Other
cartridgesThe
ability
to
create aninterface between
the
proprietary
environments andthe
Internet
Computing
Architecture is
also providedby
ICX.
Integration
ofICX
withCOM
Communication
ofActiveX/COM
clientswith cartridgescanbe done
viaabridge.
ActiveX/COM
clientsthat
supportJava have
accessto cartridges,
as well asthe
messaging,
scaleabletransaction,
andqueuing
services.Integration
ofICX
withJava
Internet
Computing
Architecture
providesthe
Java language integration
withIIOP/CORBA through
Java mapping for CORBA
IDL,
JDBC for the
access ofopenIntegration
ofICX
withLegacy
Systems
Integration
of mainframeis
providedthrough
encapsulation ofthe
legacy
systeminterface
within cartridges andinteroperable
servicesfor queuing,
messaging,
andtransactions.
Additional
Cartridge Services
With the
abovestructure, HTTP
and/orNOP
canbe
used asthe
base
to
writedistributed
applications.But
to
build
"real"distributed applications, HTTP
andNOP
does
not providethe
basic
communicationfacilities. Other
facilities,
that
includes
security services, persistence,
transactions,
naming
anddirectory
services,
concurrency
control,
andmany
others,
alsoplay
pivotal roles.For
the
programming
environmentto
be
moreproductive,
newfunctionality
has been
added
by
additional cartridge servicesto
addto the capability,
which canbe
usedby
the
applicationin
place ofcoding into it. These kinds
of services arebased
onCORBA
standards so asto
ensureopenness.Scaleable Cartridge Services
canbe
usedby
cartridges,
such as:Transactions
-this
is
the
capability
to
bracket
a series offunctions
andto
treat them
as an atomic operationMessaging
andqueuing
this
allows asynchronousinteraction between
cartridges
Data
accessthis
is
the
ability
to
accessdatabase
serverservicesthrough open,
publishedinterfaces
In
addition,
depending
on wherethe
cartridge expectsto
be hosted. A
cartridgehas
a privilege
to
accessthe
Specialized Cartridge
Services:
Access
to
extensibledatabase
servicesfor data
cartridgesin the
database
serverAccess
to
scaleableload
managementanddistribution
servicesfor
Application
servercartridgesin
the
application server7.
EXTENSIBLE DATABASE
SERVERS,
APPLICATION
SERVERS,
AND
CLIENTS
Heterogeneous,
cross-platform solutions are possibleby fully
extensibledatabase
servers,
applicationservers,
and clients.Throughout
Internet
Computing
Architecture,
the
cartridgetechnology
provides extensibility.7.1
Family
ofClients
in Internet
Computing
There
are severalcompeting
standardsfor
interoperability
onthe
clienttier.
Netscape's
ONE
client sinceit
usesHOP it is
likely
to
be
abrowser based
clientcapableof
plugging
directly
into
the
architecture.For
reusable user-interfacecomponents,
On
the
Windows
desktop,
ActiveX
standardby
Microsoft has
fully
feathered
into
animportant
technology.
With
the
proliferation ofWeb based
Intranet/Internet
applications,
both HTML
andJava
onthe
clienthas
emerged asthe
open and
de facto
standards.Last,
but
notleast,
Network
Computer has
generated agreat
deal
ofinterest
as alow-cost,
manageable alternativeto the
clientPC in
anetwork-centric architecture.
7.2 Introduction
to ActiveX/COM/DCOM
For Microsoft's Object
Model,
ActiveX
controls are well-defined componentpackages,
which offer object-orientedextensibility
onWindows 95/998
orNT
machines,
typically
the
clientdesktops.
For
objectinteroperability
across networksand
between
machines, Microsoft
offersDCOM (Distributed COM).
Homogeneous-system
interoperability
mechanismis
representedby
asingle-vendor"standard,"
DCOM,
in sharp
contrast withCORBA/IIOP,
whichis
a multi-vendorstandard
for
networkscomprising
heterogeneous
systems.It is
significantto
usesecureindustry
standardswhenbuilding
with softwarecomponents which makes
it
positivethat
if
aparticular partfails,
it
caneasily
getreplaced.
Also it
makesit
easy
to
replace aexisting
part when upgrading.Planning
canbe
done
aheadoftime,
whenusing industry-standard
approachesto
component-building
as ahuge
selection of pre-built componentsis
providedassuming
that
they
willbe
working
together
whentrying
to
combinethem.
The
advantage ofInternet
Computing
Architecture
is
that
it
providesdevelopers
achoice
in
C/C++, Java, JavaScript,
Visual
Basic,
andSQL-based
languages
to
create
their
owncartridges andalsocan supportany
ofthese
clients.As
by
using
ICX the
clients and cartridges can communicate andthe
development
centers ororganizations no
longer
requiresto
make a singulardecision based
on environmentsin
whichthey
requireto
develop. Each
component cartridge guaranteesto
8.
USE OF UNIVERSAL APPLICATION
SERVER
Using
Internet
Computing
Architecture,
the
Universal Application Server has
aimportant
rolefrom
the
applications point of view.It
cantake
the responsibility for
application
coding
that
might otherwise resideatthe
client or onthe
database
serverthus
it
can act as aplatform or stagefor
reusablebusiness logic. The
clientsusing
Internet
Computing
Architecture thus become
morelightweight
and manageable andapplication
developers become
more specialize:interface designers
can createthe
client,
whiledomain
expertscan codethe
business
rules.Figure
8.lt10dj,
Universal
Application
Server
For
the
Web
Request
Broker,
aScaleable
Application
Server
is
usedto
supportthe
application cartridges
based
onHTTP
andHTML
programsby
whichthe
Web
cartridges gets
the
services ofthe
CORBA
compliantORB
which providesthe
integration
of object-based applicationsandWeb-based
applications. [image:29.556.100.465.251.518.2]With the
addition of scaleabletransaction
services andHTTP,
ICA includes
a robustapplication server
for
the
Web/Internet.
8.1
Internet
Computing:
A
Scaleable
Application Server
The Web
Request Broker is
evolvedinto ICA's
Universal Application Server based
on an
Object
Request Broker
andScaleable Cartridge
servicesandusing
MOP inter
operable and
connectivity
services.Through ICX
overMOP
orHTTP
these
kinds
ofservices would
be
availableto
all cartridges.Universal
Application Server
will alsoincorporate
otherconnectivity
protocols.The
interactions
andinterfacing
withexisting
client/server mechanismsis
handled
by
the
Connectivity
Broker,
such asthe
installation using SQL*Net RPC
or special-purposecommunications
environments,
such asthe
wireless services.8.2
The Universal Server
The Universal Server
providesrobust,
scaleabledata
storage and manipulation.In
addition
to
its
traditional
relationaldata
supportit
can now manage more currenttypes
ofdata,
whichincludes
audio, video,
text,
and spatialdata
that
providespowerful new ways
for
managing, manipulating,
anddelivering
ofdata
in the
networked economy.
Significant
performance andmanagementadvantage canbe
providedin
many
applications
by
applying
alittle logic
to the
storeddatabase
data.
Application
developers,
with stored procedures can writethe
database
intensive
code-such as
on sales
data computing
aggregate statistics-to
leverage
powerfuldatabase
features
onthe
serverlike
parallelquery
execution.By
the
use of object-relationaldatabase
technology
ISV's
(Independent
Software
Vendor's)
are capable ofextending
the
database
engine core capabilitiesby
creating
new sophisticatedTo
extendthe
database
Safely
withinUniversal
Server,
the
extensibledatabase
services provides administrative
tasks,
indexing,
query
engine and similarkey
componentsof
the
database kernel. Developers
can also create specializeddata
cartridges
for the
implementation
of efficient newdata
types
by
the
encapsulation ofextensible
database
servicesthrough
IDL
andSQL
in
ahigh level interface.
Data cartridges,
developed using
standardtools
are managedinside the database
by
Universal
Cartridge Services
which providesasafe,
standards-complianttechnology
for
the
delivery
of newfunctionality
in
the
database.
Universal
Server
cartridges provides a standard environmentfor
the
implementation
of
data logic using
SQL, IDL,
andJava. Unlike
otherforms
of extensibledatabase
cartridges are alsonetworks enabled with
Universal
Cartridge Services
standard setwhich also
includes
the
installation
and registration.For
the
support ofCORBA,
HTTP
andHOP,
Inter
Cartridge
Exchange
extendsUniversal
Server,
enabling
the
direct
two-way
communicationbetween
the
cartridgesin
the client, the
applicationserver,
andthe
database
server.And
as oftoday
the
data
and servicesin
the
Universal
Server
will continueto
be
accessed via
SQL*Net.
9.
APPLICATIONS
BASED ON
CARTRIDGES
9.1
Development
ofApplications based
onCartridges
A
new generationof softwaretools
is
requiredfor
building
the
applicationsthat
requires a
distributed
computing
networkofservers,
application servers and clients.Using
objects makesit
easierto
build
applicationsfor
apotentially
large
computernetwork as
easy
asit is to
build
applicationfor
a one computer.With Internet
Computing
Architecture
andcartridges,
applications canbe
createdwith multiple
development environments,
tools,
andtechniques.
Language
-centric
and
Object
Centric
arethe two
classes ofdevelopment
environments.In
the
Language
-Centric
environment
the
dominant influence
is
the
programming
language
whilethe tools
focus
onusing
that
language
to
create code.Choice
among
the tools
is
availablefor
many
currentlanguages
from
C,
C++
to
CORBA
to
Java
and cartridges can
be
createdby
using
any
ofthese
languages.
Some
ofthe
development
tools
for
the
Web/Internet
client/serverincludes:
Developer/2000
:For
the
development
ofWeb-based
SQL forms
Designer/2000
:For
the
design
ofWeb-based
SQL CASE
Any
JAVA,
Enterprise Java Beans
(EJB)
development
tool
Any
C,
C++
orVisual
Basic development
tool
In
the
Object-Centric
environment,the
language
is
secondary.The
components(cartridges)
have
the
primary focus. The
mechanismsfor
the
design tasks is
provided
by
the
tools,
such asto
decide
whattype
offunctionality
is
performedin
which place - universal
An
examplefor
this
type
of approachis
Sedona,
which provides an object-orienteddeployment,
analysis,
anddesign
architecturefor
deploying
andassembling
distributed
objectapplications ontop
ofInternet
Computing
Architecture. Sedona's
key functionality
includes:
Object modeling
andthe
Cartridge assembly
Design
andthe
Development
ofcomponents and object-basedapplications with object-oriented
programming
tools.
Team development based
onrepository
9.2
Management
ofApplications
based
onCartridges
ICA
vendors such asOracle
providetools
such asEnterprise Manager for
the
management of complete
Oracle
environment.A lightweight layer
ofthe
mostcommon services
is
providedby
the
console agent architecturefor
many
management
applications,
whichincludes
installation,
configuration, administration,
and monitoring.
The
various components ofthe
Oracle Environment is
managedby
the
enterprise managerwhichincludes
database,
systems, applications,
networksand can
be
extendedfor
the
management of cartridges on alltiers
ofInternet
Computing
Architecture.
A
family
of webbased
tools
is
also providedby
the
Enterprise
Manager,
by
which astandard web
browser
canbe
usedfor database
management, monitoring,
andadministration.
This
web-basedtool
is incorporated in
the
web requestbroker
asacartridge,
with afunctionality
of automaticdiscovery
mechanismfor
other webbased
management
tools.
To
enhancethe extensibility,
the APIs
are providedfor
othercartridge-specific management
tools
to
hook
to the
Enterprise
Manager
console.10.
SUMMARY
The direction
ofInternet
Computing
Architecture is for
the
design,
deployment,
andmanagement of
today's
distributed
mission-critical enterprise systems.It
providesthe
combination ofthe
robust world ofclient/server, the
easiness of use anddeployment
ofWeb-based
environmentwiththe
extensibility
ofthe
object-orientedworld.
Internet
Computing
Architecture
providesa solutionfor
the
concerns andneeds of multiple requirements of multi-audiences.
For
in-house
andindependent
developers,
Internet
Computing
Architecture
represents a
framework
for the
integration
of new andpre-existing
softwarecomponents with achoice of
best-in-class
technologies
and environmentsfor
their
implementation. With its
open architecturethe
developers
can createreliable,
serviceable, accessible,
andeasily
extensiblesolutions.For
the
info-tech
managers,
Internet
Computing
Architecture
ensures simplifiedmanagement and smooth
deployment
of powerful new applications.For business
managers, Internet
Computing
Architecture
represents a cost-effective pathto
implement
new objecttechnologies
by
managing
the
minimization ofdevelopment
tasks
andleveraging
the
existing
hardware
and softwareinvestment
whilegoing
forward.
For
CEOs,
Internet
Computing
Architecture helps in
providing
the
peace-of-mind of asimple,
safe andglobally
supportedsolution,
which evolvesfrom
proventechnology
and
incorporates
the
mostwidely
adopted multi-vendoropen standards.Internet
Computing
Architecture helps
to
provide abridge
from
today's
solutionto
create atechnical
environmentin
whichthe
distributed
network applicationscanbe
easily
build,
deployed,
and canbe
managed,
by
using
objectsfrom
multi-vendors whichcan
be
accomplishedby
combining:object world
-extensibility
client/server world - robustness
Netscape Plug-Ins
Java Applets ActiveX
Components
JavaBeans
CORBA Components
ActiveXComponents
Enterprise JavaBeansOracle Data Cartridge Informix DataBlade
Visual
Java
Basic
C/C++
Cobol
i-H^bi
Proprietary
Personal Computer
Proprietary
Proprietary
LNet
'4
N
Application'ittJ>
Server DataServerDirectory"!
I
Security^!
Directory!
I
Security
II
Directory!
Security
Middleware I
Middleware
Figure
S.l[8bcl
IT
Environment
in Today's World
In
real-worldsystems, these
arethe three
principles atthe
core oftechnical
platforms.
Internet
Computing
Architecture
combinesthese fundamental
assetsto
bear
onthe
problem of network usagefor
real applications - so assomething
canbe
done in
the
networked economy.To
"win"
and
dominate the
landscape
no onetechnical community
is
required.Yet
it does
not create anothertechnology.
Thus,
it does
combinethese three
technologies,
whichhas already
achievedthe
industry's
acceptance and proved success,in
the
field
ofcreating
afuture
platformand a
roadmap showing
how
to
getthere.
Unified framework
which showsthe
diversified
worlds ofdistributed
computing,the
Web/Internet,
andthe
client/serverto
have
a common networkcomputing
modelthat
is based
onexisting
standardarchitecture.
[image:35.556.100.463.74.346.2]APPENDIX
A
Industry
Standards
Accepted
vs.Competing
standardsCurrently,
Structured
Query
Language
(SQL)
has
been
widely
acceptedasthe
industry
standarddatabase language.
In
several other softwareareas, there
aremultiple
competing
"standards"instead
ofjust
one.As
considering
the
desktops
(PCs),
multiple
competing
standards"are
there in
the
field
of graphical userinterfaces,
operating
systems,
networkprotocols,
including
the
webbrowser.
Several
emerging
competing
standardsare atthe
mid-tierapplicationservers,
and all ofthem
demand
custom
development but
none ofthem
providethe
administrativetools
for
the
application server.
The
maindilemma is
to
choose which one?What happens if the
"wrong
one"is
selected?Internet
Computing
Architecture
vendors,
in
orderto
minimizethe
effects of changehave
madetheir
applications,
servers,
andtools
portable which support alloperating
systems, computers,
objectmodels,
userinterfaces,
and networks.With the
advantage ofportability, the
organizationshave
the
confidenceto
adopt andwork with one set of
standards,
andthen
plantheir
migrationstrategy
asthe
newstandards emerge.
Support for different operating
systems and protocolsis
providedby
ICA
vendors such asMS-DOS, Windows,
UNIX,
TCP/IP,
and as well asActiveX
APPENDIX
B
Company
Name:
ABC
Case
Study
:Migration
ofABC from
client-serverto
Internet
Computing
Architecture
The Internet
Computing
Architecture
is
usedto
make a complete solution andto
develop
applicationsthat
promotethe
use ofJava
orany
technology,
whichis
related
to it
eitherentirely
orin
the
form
of applets.These
programsbased
onJava
use
technologies
like
thin-client
interface
andCORBA
to
gain accessto
business
objects,
transactions,
and shared services.Deployment
ofthese types
ofapplications can
be
done
withinthe Intranet
by
using
the technologies
ofUniversal
Client.
JaiaMteb
App
C++ C)i(.'nVSer.'u(ApjSS
(11 1 1 1 lii-f
WatServes
Applicationand
ObjectServer.
\|.jilujii.ti lii' r
c
11,11I 11
Figure
d^13],
ABC Internet
Computing
Architecture
To
develop
a reliable, scaleable application,the back-end
architectureto
supportthis
model must support
load
balancing,
transactions,
fault-tolerance,
and sessionmanagement.
Fundamental
services are providedby
ABC's
Internet
Computing
Architecture
and permitthe deployment
ofthe
business
objects withinthis
model. [image:37.555.145.418.336.492.2]Principal Components:
ABC's
Internet
Computing
Architecture
comprises of a numberofObject
services(a
package
that
implements
akey
componentofthe
overall object managementsystem).There
are numerous componentsthreading
throughout this
computerarchitecture.Among
these
items
some are conceptual and controlthe
object servicesdesign,
which utilizes
these
items.
While the
others are moretangible
objectsexisting
withinsoftware.
Object Workspace:
A
unique architecture prevails atthe
heart
ofABC for
the
management of objectsknown
asObject
Workspace,
which providesfor
multipledata
sources,
garbagecollection, caching,
anddistributed
transactions.
Basically
a workspaceis
a managerof all
objects,
known
as ann-memory
container,
and ofthe
relationshipsthat
arebeing
fetched
or createdduring
any
transaction.
The
advantage ofits
being
linked
to
transactions is
that
it
eliminatesthe
needfor writing
a cleanup
and complex undocode and ensures
the
release of all resources and objects afterthe
completeofthe
transaction.
For distributed
transaction
management and applicationpartitioning
the
fundamental
componentprovidedby
Workspace
model.A
centralfunction
ofthis
workspaceis
an objectcache,
whichkeeps tracks
of alltransactions
to
ensurethat
a particularobjectis only
read once.Object
cachehelps
in the
management of object references.As
aresult,
it improves the
performanceand
helps
the
programmersohe doesn't
needto
keep
track
ofthe
objectsandthe
changes made
to them.
All
object changes areflushed to
the
database
withthe
The
diagram
below
illustrates
the
Workspace
Architecture:
Application1'
Object Initiiiie
Figure
C.2H2-bJ,
Workspace Architecture
A
workspaceis
created with a start of atransaction
andthe
application needsto
specify
the
database in
atwo-tier
architectureto
connectthe
workspace.For
the
transaction to
startin
adistributed
environmentthe
client needsto
namethe
initial
application package
they
wishto
use.Dynamically,
this
name gets mappedto the
server
by
using
the
Distributed Service Coordinator
and createsthe
workspaceboth
on
the client,
whichinitiated
the transaction
and onthe
selected server.Business Object
A
business
objectis
asoftware representation of real worldentity,
concept or aprocess.
The
entity,
in
several architectures,is
assumedto
have
a specifiedinterface,
which allowsthese
objectsto
acceptevents,
participatein
rulechecking,
and
be
persistent.All
ofthese
events and services are availablein ABC's
architecture without
any
need of objecthierarchy
being
imposed,
whichimplies
that
there is
no requirement ofbase
classes.These
arethe
principal componentsin the
transaction creation.
[image:39.555.164.490.110.299.2]Business Component
A
viewor oneor morebusiness
object(a business
object reflects a particularbusiness
process,
concept,
orentity) is known
as abusiness
component,
whichis commonly
used
in
athree-tier
architecture.They help
to
eliminatethe
problem ofreading large
objects
to
accessonly
afew
fields.
For
applicationto
have its
ownbusiness
components
tailored to the
applicationthese
classes couldbe defined
independently.
These
are generated asJava Bean
classesin Java.
Package
A
packageis
a collection of procedures andfunctions bundled
together
usually
by
virtue of similar
functionality.
All internal
procedures andfunctions
are recordedin
the
data
dictionary
as one singular stored package.It forms
a significant objectas aset of
business
classes andhas
its basis in
Universal
Modeling
Language (UML).
Below
is the diagram showing
implementation
ofinsurance policy
managementsystem
representing
three
packages.Policy
Package
is
the
primary
packagefor
implementing
the
policy
model andfor
computing
quotations andgathering
information.A
significant numberof advantagesare offered
by
the
package architecture.Partitioning
and management ofheavy
business
modelsis
allowed as awhole entity.It
representsa good management ofObject
servicefrom ABCs
point of viewthat
has instances
acrossthe
servers.By
supplying just
the name,
atransaction canbe
startedby
the
application within aparticular package.
From
the initial design
phaseto the
final
stages of serverdeployment these
packages areconceptually
very important.
Object Service
It
is
afacility
or apackagefor
the
implementation of akey
business
component ofDESIGN
ARCHITECTURE
ABC's
Architecture
offersdifferent tools
andtechniques to
generate source code ofobject
model, foster reuse,
and rapid prototypedevelopment
to
aidin the
object-oriented
design
and analysiswhichillustrates ABC's
design
process andhow
the
tools
are usedto
aidin the
analysis anddesign
of software.Scope,
Objectives,
Approach
andQuality
Plan
A
package ofsupport, education,
and servicesis developed
to
ensurethe
success ofthe project,
within adefined framework
ofquality,
time,
and cost.The initial
statement of
this
framework is defined
asthe
Scope, Objectives,
andApproach
which, together
withthe
companionQuality
Plan,
enableABC
to
work with clientsto
deliver
business
solutionsbased
onInternet
Computing
Architecture.
The
purpose ofthe
Scope, Objectives,
andApproach document is
to
provide a referenceto
ABC for
resourcesworking
on