Upload
vivien-knight
View
214
Download
0
Embed Size (px)
Citation preview
A COM implementation of the KSpace
A ‘Knowledge Space prototype’ by
Santhosh ([email protected]) CST UMKC
Presentation Layout
The DAL system and the KSpace KSpace: COM and XML KSpace: Implementation details
Start
End
The DAL System
Introduction to the DAL system Distributed Adaptive Learning system
DAL System components Learner Space, Knowledge Space, Presentation
Space (E-Game, E-Book)
Start
End
The Knowledge Space
KSpace – A part of the DAL system KSpace – A ‘Data storage and retrieval'
component Features expected of the KSpace
Distributed environment (Concurrency, Synchronization, Fault tolerance …)
Start
End
KSpace: COM and XML (1/2)
COM features implemented by the KSpace prototype Component developed as a DLL Provides support for
‘Self-Registration’ ‘Type-libraries’ ‘Multithreading’ clients ‘Automation’, Dual interface ‘Exception handling’
Start
End
KSpace: COM and XML (2/2)
XML and the KSpace MSXML parser DOM API
Provides support for Creating, reading, writing XML documents
Start
End
Implementation details (1/3)
Concept Map
Start
End
KSpace Client
1. Create XML file2. Write to XML file3. Read from XML file
KSpace Component
1. Set up environment (Type libraries and Automation)2. Serve client XML requests
Exceptions / Client service results
KSpace query
Implementation details (2/3)
Sample scenario (Connection establishment) Scan registry for server component GUID Load DLL into memory if component exists in the form
of a DLL, else instantiate executable component (use DLL surrogate if needed)
Get address of class object factory Instantiate class factory
Create instantiate of KSpace server component
Start
End
Implementation details (3/3)
KSpace Component interfaces IUnknown (AddRef, Release, QueryInterface) IXMLInterface (Create, Read, Write) ISupportErrorInfo (InterfaceSupportsErrorInfo) ICreateErrorInfo (SetGUID, SetSource,
SetDescription, SetHelpFile, SetHelpContext) IClassFactory (CreateInstance, LockServer)
Start
End
Conclusion: The KSpace prototype
Experience gained COM and XML Windows programming (Registries, DLLs, HRESULTS, GUIDs, Threading
Apartments …)
References “Inside COM” by “Dale Rogerson” published “1997 by the Microsoft press” “Inside Distributed COM” by “Guy Eddon” and “Henry Eddon” published “1998
by the Microsoft press”. “Inside COM+” by “Guy Eddon” and “Henry Eddon” published “1999 by the
Microsoft press”
Programming language, Environment VC++, Win 2000 XML SDK
Start
End