140 likes | 143 Views
Overview of CASSO’s EIDE Solution. Randy House CASSO Corporation. Project Goals. Needed to replace WEIC X.25-based data links Low cost implementation An XML-based solution Retained PID functionality Wanted to leverage work done on E-Tag project Known technology Quicker results
E N D
Overview of CASSO’s EIDE Solution Randy House CASSO Corporation
Project Goals • Needed to replace WEIC X.25-based data links • Low cost implementation • An XML-based solution • Retained PID functionality • Wanted to leverage work done on E-Tag project • Known technology • Quicker results • Target System • CASSO’s Legacy system
CASSO’s EIDE Solution.. • Our solution is comprised of three main applicatioins… • EIDE SoapServer • EIDE Authority • EIDE Sender
CASSO’s EIDE Solution • EIDE SoapServer Process • Listener to receive inbound traffic • Validates message against current EIDE XML Schema (using MS XML Parser 4.0) • If not “well-formed” then reject and send error response. • If “well-formed” then • Send back OK response • Determine EIDE method-type being requested. • Dispatch message to EIDE Authority
CASSO’s EIDE Solution (cont.) • EIDE Authority Process • Child process (a.k.a. “in-process server”) of EIDE SoapServer process. • Parses contents of received XML message into appropriate “in-memory” structure for the method being requested (For example: the PutSchedule structure) • Reads memory structure and • Creates a flat file or, • Redirects the XML message or, • Populates directly into any ODBC-compliant database.
CASSO EIDE Solution (cont.) • EIDE Sender process • Handles all outbound EIDE traffic • Parses data from flat file into appropriate “in-memory” structure. • Data could come directly from a database. • Formulates outbound XML message • Places SMXP wrapper around XML message. • Posts message request to appropriate URL • URL determined from EIDE Registry lookup • Waits for response message.
Data Flow Diagram… The whole picture..
The Guts of our EIDE solution… • The EIDE DLL (Dynamic Linked Library) • Library of routines to create EIDE applications with a few lines of code. • EIDE-specific parsing routine for • EIDE XML Document creation • In-memory data population and retrieval • SMXP inbound/outbound message handling to deliver EIDE contents to remote servers.
EIDE DLL (cont.) • May reference the EIDE DLL from any visual language to create XML methods and custom solutions. • Contains EIDE registry object so you can lookup entity URLs. • Don’t need to know XML or SMXP messaging. • Could save several man-months development time!
EIDE DLL (cont.) • EIDE DLL will… • Validate inbound and outbound XML message • Determine and dispatch to appropriate method handler. • Parse and load “in-memory” structure of ALL EIDE methods. • Can write to DB or whatever. • Formulate responses to caller.
EIDE DLL (cont.) • Has built-in FTP functions • Written in MS VB 6 • Used in all EIDE applications • Started to write EIDE SoapServer as ASP.net Web Service. • Current EIDE DLL worked fine.
EIDE DLL example.. • Simple example using the PutSched object: • PutSched.AccountCode = ‘5047028123’ • PutSched.StartTime = ’2004-11-01T07:00:00z’ • PutSched.StopTime = ’2004-11-01T08:00:00z’ • PutSched.Quantity(1) = -25 • PutSched.URL = ‘http://eide.cassocorp.com’ • PutSched.Send
Questions???? For more information: Randy House CASSO Corporation (509) 444-3557 rhouse@cassocorp.com