Bidirectional Systems Interfacing Via XML/Text Files and Plex
description
Transcript of Bidirectional Systems Interfacing Via XML/Text Files and Plex
Bidirectional Systems Bidirectional Systems Interfacing Via XML/Text Files Interfacing Via XML/Text Files
and Plexand Plex
Professional Computer Software Services (PCSS)Professional Computer Software Services (PCSS)
Lucio Gayosso (Research/Development)Lucio Gayosso (Research/Development)
PCSSPCSSJudicial Systems development since 1985Judicial Systems development since 1985
A division of CSDC Systems (A division of CSDC Systems (http://www.csdcsystems.com/http://www.csdcsystems.com/))
Main Product: Main Product: JEMSJEMS: Judicial Enforcement Management System: Judicial Enforcement Management System
Mission: Paperless courtsMission: Paperless courts
Multiplatform solutions with advanced technologiesMultiplatform solutions with advanced technologies
Allows data coordination with multiple agenciesAllows data coordination with multiple agencies
Lucio GayossoLucio GayossoPlex Developer since 1995 (V1.03) experienced with SDLF and PLCPlex Developer since 1995 (V1.03) experienced with SDLF and PLC
Engineer in Communications and Electronics with MIS/MEngineer in Communications and Electronics with MIS/M
Creator of Plex World (Creator of Plex World (www.plex-world.comwww.plex-world.com))
Producer/DJ for R@DIO DIMENSION (Producer/DJ for R@DIO DIMENSION (www.radiodimension.comwww.radiodimension.com))
Languages and sportsLanguages and sports
InterfacingInterfacing
Systems cannot longer work in isolationSystems cannot longer work in isolation
Interfacing disparate systems is a common challengeInterfacing disparate systems is a common challenge
Interfacing requires trade-offsInterfacing requires trade-offs
Standards are requiredStandards are required
Interfaces are not staticInterfaces are not static
““in·ter·face [n. in-ter-feys; v. in-ter-feys, in-ter-feys] Computers. a. in·ter·face [n. in-ter-feys; v. in-ter-feys, in-ter-feys] Computers. a. equipment or programs designed to communicate information equipment or programs designed to communicate information
from one system of computing devices or programs to another”from one system of computing devices or programs to another” (Dictionary.com, 2007)..
JEMS (Judicial Enforcement Management System)JEMS (Judicial Enforcement Management System)
Large database (over 800 physical files and 3000 views)Large database (over 800 physical files and 3000 views)
Highly partitionedHighly partitioned
JEMS (cont.)JEMS (cont.)
Large database (over 800 physical files and 3000 views)Large database (over 800 physical files and 3000 views)
Highly partitionedHighly partitioned
Highly configurableHighly configurable
Multi-platform Client/server (Client: WinC, Servers: WinNT and Multi-platform Client/server (Client: WinC, Servers: WinNT and iSeries)iSeries)
Interfacing Goals and DirectivesInterfacing Goals and Directives
How can an inexpensive solution be built?
What tools and resources are available?What existing design and functionality can be reused?
How flexible should it be made?How can the output/input processes be designed?
How should it be triggered and controlled?
• Co$t effective• Quick to develop and deploy• Configurable• Flexible• Easy to use
Ways to build inexpensive solution
Delimit and control project scopeDelimit and control project scope
Utilize existing resources and toolsUtilize existing resources and tools
Take advantage of existing design elements and database Take advantage of existing design elements and database infrastructure to minimize development life-cycleinfrastructure to minimize development life-cycle
Employ common formats for information transferEmploy common formats for information transfer
Aim to maintain simplicity in design and useAim to maintain simplicity in design and use
Tools and resources available
Plex 5.5Plex 5.5
VBScript (Plex Source Code objects)VBScript (Plex Source Code objects)
Microsoft’s XML-DOMMicrosoft’s XML-DOM
General availability of TXT and XML formatsGeneral availability of TXT and XML formats
"The Document Object Model (DOM) provides a standardized way to access and manipulate the information stored in XML documents. DOM application programming interfaces (APIs) serve as a bridge
between applications and XML documents" (Microsoft 1, 2007)
Existing design and functionality to reuseRe-utilize JEMS DB design/concepts to develop a transfer Re-utilize JEMS DB design/concepts to develop a transfer repositoryrepository
How flexible should the solution be?User I/O configurationUser I/O configuration
Limit the configuration options but define a flexible infrastructureLimit the configuration options but define a flexible infrastructure Be consistentBe consistent
How flexible should the solution be? (cont.)User I/O configurationUser I/O configuration
How flexible should the solution be? (cont.)Define standard layoutsDefine standard layouts
How flexible should the solution be? (cont.)Define standard layoutsDefine standard layouts
Document and distribute agreements highlighting considerationsDocument and distribute agreements highlighting considerations
Output Process DesignXML OutputXML Output
Basic XML design (Nodes and Text)Basic XML design (Nodes and Text)
Output Process Design (cont.)XML OutputXML Output
Basic XML design (Nodes and Text)Basic XML design (Nodes and Text) Output created via stringing with PlexOutput created via stringing with Plex
Output Process Design (cont.)XML OutputXML Output
Basic XML design (Nodes and Text)Basic XML design (Nodes and Text) Output created via stringing with PlexOutput created via stringing with Plex
Output Process Design (cont.)XML OutputXML Output
Basic XML design (Nodes and Text)Basic XML design (Nodes and Text) Output created via stringing with Plex (large XML string)Output created via stringing with Plex (large XML string)
Output Process Design (cont.)Text OutputText Output
Text file creation steps: Open, Write, and CloseText file creation steps: Open, Write, and Close
Output Process Design (cont.)Text OutputText Output
Text file creation steps: Open, Write, and CloseText file creation steps: Open, Write, and Close Standard text file with user defined delimitersStandard text file with user defined delimiters
Input Process DesignXML InputXML Input
Same XML layout as Output processSame XML layout as Output process
Input Process Design (cont.)XML InputXML Input
Same XML layoutSame XML layout Use of abstract reader functions to support agreed layoutsUse of abstract reader functions to support agreed layouts
Input Process Design (cont.)XML InputXML Input
Same XML layoutSame XML layout Use of abstract reader functions to support agreed layoutsUse of abstract reader functions to support agreed layouts
Input Process Design (cont.)XML InputXML Input
Same XML layoutSame XML layout Abstract reader functions to support agreed layoutsAbstract reader functions to support agreed layouts
Input Process Design (cont.)XML InputXML Input
Same XML layoutSame XML layout Abstract reader functions to support agreed layouts (XML file Abstract reader functions to support agreed layouts (XML file
access function)access function)
Input Process Design (cont.)XML InputXML Input
Same XML layoutSame XML layout Abstract reader functions to support agreed layouts (XML file Abstract reader functions to support agreed layouts (XML file
access function)access function)
Input Process Design (cont.)XML InputXML Input
Same XML layoutSame XML layout Abstract reader functions to support agreed layoutsAbstract reader functions to support agreed layouts Readers instantiationReaders instantiation
Input Process Design (cont.)XML InputXML Input
Same XML layoutSame XML layout Abstract reader functions to support agreed layoutsAbstract reader functions to support agreed layouts Readers instantiation (XML file access function)Readers instantiation (XML file access function)
Input Process Design (cont.)Text InputText Input
Same Input layout to minimize discrepanciesSame Input layout to minimize discrepancies Data extractionData extraction
Bulk Insert via Bulk Insert via Exec SQLExec SQL
"BULK INSERT: Imports a data file into a database table or view in a user-specified format" (Microsoft, 2007)
Input Process Design (cont.)Text InputText Input
Same Input layout to minimize discrepanciesSame Input layout to minimize discrepancies Data extractionData extraction
Bulk Insert via Bulk Insert via Exec SQLExec SQL
Text line read (open, read, close)Text line read (open, read, close)
Trigger and controlOn demandOn demand
JEMS built-in launcherJEMS built-in launcher External ExecutableExternal Executable
Trigger and control (cont.)On demandOn demand
JEMS built-in launcherJEMS built-in launcher External ExecutableExternal Executable
AutomatedAutomated Simple approach via Windows Scheduled TaskSimple approach via Windows Scheduled Task
ReferencesReferences
Dictionary.com (2005). Interface Definition. Dictionary.com (2005). Interface Definition. Dictionary.com . Dictionary.com . Retrieved Retrieved November 13November 13thth, 2007 from , 2007 from http://dictionary.reference.com/search?q=interfacehttp://dictionary.reference.com/search?q=interface
Microsoft 1 (2007). COM CONCEPTS. Microsoft 1 (2007). COM CONCEPTS. MicrosoftMicrosoft, Retrieved November 14, Retrieved November 14thth, , 2007 from 2007 from http://msdn2.microsoft.com/en-us/library/ms764620.aspxhttp://msdn2.microsoft.com/en-us/library/ms764620.aspx
Microsoft (2007). Bulk Insert (Transact-SQL). Microsoft (2007). Bulk Insert (Transact-SQL). MicrosoftMicrosoft, Retrieved , Retrieved November 13November 13thth, 2007 from , 2007 from http://msdn2.microsoft.com/en-us/library/ms188365.aspxhttp://msdn2.microsoft.com/en-us/library/ms188365.aspx
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References
API ReferencesAPI References