310 likes | 411 Views
X. OBJECT-ORIENTED CLIENT SERVER (GEMSTONE). 1. very-light intro into Smalltalk. 1000 factorial. 1000 faktorial. 1 + 3. 1 + ’3’. Dialog warn: ’Attention!’. #(7 8 3 2 6) select: [:x | x > 5]. B := [:x | x > 5]. #(7 8 3 2 6) select: B.
E N D
X. OBJECT-ORIENTED CLIENT SERVER(GEMSTONE)
1000 factorial. 1000 faktorial. 1 + 3. 1 + ’3’. Dialog warn: ’Attention!’. #(7 8 3 2 6) select: [:x | x > 5]. B := [:x | x > 5]. #(7 8 3 2 6) select: B. (A > 3) ifTrue: [Transcript show: ‘X’]. B1 := [Transcript show: ‘X’]. (A > 3) ifTrue: B1.
RESOURCEFINDER CANVAS PALETTE CANVAS TOOL CANVAS
CONCEPTUAL MODELING SOURCE CODE BROWSERS
CHAMELEON VIEW Windows 3.x OS2 WARP Sun Solaris CDE (OSF MOTIF)
Gemstone/S - Parameters • maxcca 109objects • maxcca1000 concurrent users • avg 100 transtactions/s • symetric multiprocessing andclusterred systems • support for more processors • 24x7 • distributed server • Sparc/Solaris 2.6+ • AIX 4.2+ • HP-UX 10.20+ • Windows NT 4.0+ • Linux RH5.2+ • Navigant International Northwest Travel~40 plants + ~300 agents, weather info, hotel reservations, restorants, … • VisualWave + GemStone, response < 1s • Florida Power & Light2. major electricity supplier, network topology info, planning • Texas Instruments • IS for semiconductor research and production • OOCL (Orient Overseas Container Line) • ~500 users, ~16 transactions/s • Car insurance systems (South America) • ~500.000.000objects • Fractal Ltd • cca 500 000 extra prices and policies for air tickets • > 2.000object classes, 25.000.000objects, response < 1s • BMW, Opel, Ford, Finnair, JP Morgan, IBM, HP, Sprint, AT&T, … similare areJasmine,O2, ObjectStore,Objectivity, …
Gem and Stone client client client application application application GEM link session remote session remote session GEM server usernamepasswd other computer STONE GEM usernamepasswd
GS in VisualWorks Gemstone is fully integrated with VisualWorks/Smalltalk environment.
GS Tools in VisualWorks !@hostname!gemserver61
Object Creation - GS Class Browser & GS Smalltalk classes methods | sessionParameters session | sessionParameters := GbsSessionParameters new gemStoneName: 'gemserver61'; username: 'DataCurator'; password: 'xyz'. session := sessionParameters login. session at: #ServerData put: ClientData. session commitTransaction. dictionaries method categories
Create/Compile from client to server Create/Compile from server to client
Queries query path containing collections simera := Date today. cities select: {:aCity | aCity.departingAirTickets.*.validityRanges.*.to = simera}
Sharing Objects - Stubs 1. (object replication in GS) client server local copy local copy local copy stub stub
Sharing Objects - Stubs 2. client server local copy local copy local copy stub stub message
Sharing Objects - Stubs 3. client server local copy local copy local copy stub -> local copy stub message local copy local copy when a stub received a message, it is replicated by original object, and the message is performed
Sharing Objects - Forwarders 1. (internal ORB in GS) (stubbing is the default behavior in GS) client server local copy local copy local copy forwarder forwarder
Sharing Objects - Forwarders 2. client server local copy local copy local copy forwarder forwarder message
Sharing Objects - Forwarders 3. client server local copy local copy local copy forwarder forwarder message when a forwarder received a message, the message is „forwarded“ into original message
Objects in Trasactions - Concurrency Modes & Reduced Conflict Classes