Initial BizTalk Programming Development Objectives for PeDALS
Dennis Bitterlich, Electronic Records Archivist
What is PeDALS?Persistent Digital Archives & Library System
• A grant funded multi-state project financed by the Library of Congress (National Digital Information Infrastructure & Preservation Program (NDIIPP)) & the Institute for Museum and Library Services
• Includes five state partners: Arizona, Florida, New York, South Carolina and Wisconsin, with Arizona as the lead partner
• Project will run 18-months, until the middle of 2009; if successful, WHS intends to continue participation beyond this period
• At the end of the project each partner will have a functioning electronic records repository
Why is PeDALS Needed?
• An increasing number of state government records of long-term value are created in electronic-only format
• Due to the large and increasing volume of electronic records in varied formats, traditional appraisal and acquisition practices are no longer effective—an automated, rules-based system like PeDALS is one possible response to this new reality
• PeDALS is not an electronic records management system, but rather a way to acquire electronic records already scheduled for transfer
• PeDALS is both a learning opportunity and a chance to implement a functioning system
Goals of the Project
• Develop a methodology to support an automated, integrated workflow to process collections of electronic records
• Implement an inexpensive storage system that can preserve the integrity and authenticity of electronic records over time
• Remove barriers to adoption by keeping costs of the system as low as possible
• Work with Wisconsin Document Depository Program to develop ways to integrate digital format state agency publications into PeDALS processes; since 2005 the Depository has worked to preserve e-publications acquired from state websites
Microsoft BizTalk Overview
BizTalk is a middleware application which at its core is an XML Message Queue which will:
Receive Objects → Converts & Performs Logic on Objects → Send Objects
Completed by BizTalk using XML
BizTalk Pipelines
Pipelines• Connections between systems
– Connect BizTalk to databases– Connect BizTalk to web– Connect BizTalk to file servers– Connect BizTalk to programs
BizTalk Business Rules
Business rules– BizTalk speak for high level processes that determine what
orchestrations will be performed– If record series confidential or restricted then go to
orchestration to populate restrictions
BizTalk Orchestrations
Orchestrations– BizTalk speak for the logic to process objects
– Build in logic to calculate length of restrictions and database fields to populate
Initial BizTalk Development Goals & Objectives
1 – Write ARCAT BizTalk Code pipeline– Series already cataloged– Reduced duplication of work & manual data entry – Pipeline will work for CGI/BIN Web Service– Copy programming code to create next pipelines
2 – Write Web Services BizTalk Code pipeline– Copied from CGI/BIN ARCAT Service pipeline– Generic HTTP pipeline to Agencies Web Pages– Can use for PeDALS “Drop Box”
Initial BizTalk Development Goals & Objectives
3 – Write DHS BizTalk Code pipeline– Code copied from prior pipelines– Connect to a database– Solve issues related to external networks
4 – Write DWD BizTalk Code pipeline– Connect to a file server– Issues related to external networks should be solved, but
may be different for file server connection
Initial BizTalk Development Goals & Objectives
5 – Write Call JHOVE, MetaExtractor, or C# Code in BizTalk to wrap records with preservation metadata orchestration– Once we can receive records through pipelines– Create logic to perform in BizTalk– Wrap records in XML in preservation metadata– First, execute a third party open source program such as JHOVE or
MetaExtractor– Second, write code to interact with software programming languages
such as C#
Measurement of Success
1 – Ability to extract MARC records from ARCAT and insert into database
2 – Ability to create external web services pipeline to transfer records to WHS
3 – Ability to create external file pipeline to DHS Quest Archives Manager to transfer records to WHS
4 – Ability to create external file pipeline to DWD to transfer records to WHS
5 – Ability to wrap electronic records with preservation metadata inside of BizTalk
Process to Write Code
Iterative Process to:
1) Write BizTalk programming code
2) Test BizTalk programming code
3) Revise BizTalk programming code
4) Retest BizTalk programming code
Pre-BizTalk Training Development PlansInitial Thoughts on How I Would Get Objects into BizTalk
pre September 2008
Initially PeDALS to use FTP to Receive Electronic Records
– Authentication, integrity, security, and user friendliness issues– Now a generic “Drop Box” (probably a Web service)
Initial Knowledge of BizTalk
– A middleware application which at its core is an XML Message Queue – Uses XML to complete the connections to and from external applications
Needed automated processes to provide BizTalk with XML objects
Pre-BizTalk Training Development Plans
Use of Third Party Open Source Code to convert/wrap in XML:
MARC21 to MARCXML Converter: http://www.loc.gov/standards/marcxml/
MarcEdit: http://oregonstate.edu/~reeset/marcedit/html/index.php
JHOVE: http://hul.harvard.edu/jhove/
MetaExtractor: http://meta-extractor.sourceforge.net/
MarcEdit 5.1.lnk
JhoveApp.jar.lnk
metadataextractor.bat.lnk
marcxml.bat.lnk
Pre-BizTalk Training Development Plans
MARC21 to MARCXML Converter: http://www.loc.gov/standards/marcxml/
The MARCXML toolkit is a set of Java programs which allow users to convert to and from the MARC file format (including full character set conversion) and other formats available in the MARCXML architecture. The toolkit requires Java and works best with Java 1.4. If using a earlier version of Java, you need to modify the marcxml.bat file to include an xml parser in the classpath. Unzip the marcxml.zip file in a directory and run marcxml.bat for more instructions. Make sure java is in your PATH. In this version the stylesheets and character conversion mappings are downloaded via http from LC's website therefore Internet access is required when using these utilities.
marcxml.bat.lnk
Pre-BizTalk Training Development Plans
MarcEdit: http://oregonstate.edu/~reeset/marcedit/html/index.php
Is a MARC editing tool with a Native Z39.50 client and automatic batch conversions to/from:
• Comma/Tab Delimited Files• Dublin Core• EAD• MARC• OAI• XML
MarcEdit 5.1.lnk
Pre-BizTalk Training Development Plans
JHOVE: http://hul.harvard.edu/jhove/
JHOVE provides functions to perform format-specific identification, validation, and characterization of digital objects.
Format identification is the process of determining the format to which a digital object conforms; in other words, it answers the question: "I have a digital object; what format is it?"
Format validation is the process of determining the level of compliance of a digital object to the specification for its purported format, e.g.: "I have an object purportedly of format F; is it?" Format validation conformance is determined at two levels: well-formedness and validity.
– A digital object is well-formed if it meets the purely syntactic requirements for its format. – An object is valid if it is well-formed and it meets additional semantic-level requirements.
JhoveApp.jar.lnk
Pre-BizTalk Training Development Plans
MetaExtractor: http://meta-extractor.sourceforge.net/
The Metadata Extraction Tool was developed by the National Library of New Zealand to programmatically extract preservation metadata from a range of file formats:
– Images: BMP, GIF, JPEG and TIFF– Office documents: MS Word (version 2, 6), Word Perfect, Open Office (version 1), MS Works,
MS Excel, MS PowerPoint, and PDF– Audio and Video: WAV and MP3– Markup languages: HTML and XML
The Metadata Extraction Tool:– Automatically extracts preservation-related metadata from digital files – Outputs that metadata in a standard format (XML) for use in preservation activities– The Tool was designed for preservation processes and activities, but can be used to for other
tasks, such as the extraction of metadata for resource discovery
metadataextractor.bat.lnk
Pre-BizTalk Training Development Plans
MarcEdit & ARCAT MARC Catalog Records:
1) Use Z39.50 gateway to retrieve records as .mrc files
2) Use MarcEdit to convert .mrc files to XML
3) BizTalk receives XML files
4) BizTalk performs logic
5) BizTalk inserts/updates SQLServer Database
Post September BizTalk Training Development Plans
Pipelines can connect directly to:
– Web services like ARCAT or OCLC or even HTTP– File servers like at DWD– Databases like DHS Quest Archives Manager
Orchestrations can:
– Call other orchestrations– Call other executable programs– Call other applications written in various software languages (C# or Java)
Post-BizTalk Training Development Plans
ARCAT MARC Catalog Records:
1) Create pipeline• From ARCAT• To PeDALS Database
2) Create search page to enter variables or a list of series to retrieve from ARCAT
• Automates process• Decreases manual labor needed compared to using
MarcEdit • Reduced duplication of work
Post-BizTalk Training Development Plans
ARCAT MARC Catalog Records:
3) Create Orchestration
- To automatically map data from MARC to PeDALS database
- To execute MarcEdit (if necessary)- That will insert or update PeDALS database- Then export from PeDALS database to ARCAT, file, or
OCLC
Possible Involvements(After Initial Development)
• State Archivist: Peter Gottlieb– Ultimate sign off on development
• Collection Development Archivist: Helmut Knies– Initial sign off on development
• Electronic Records Archivist: Dennis Bitterlich– Programming, testing, & verification
• Public Records Accessioner: Abbie Norderhaug– Testing & verification
• Head of Cataloging & Collections Mgmt Services: Maija Cravens– Policies & procedures
Possible Involvements (After Initial Development)
• Archivist: Jacquelyn Ferry– Policies & procedures– Testing & verification
• Information Technology Director: Paul Hedges– Hardware, networks, & security
• WI State Government Publications Librarian: Nancy Knies– State publications to store in LOCKSS
• DHS Records Officer: Steve Bose– Transfer of records
• DHS IT: Jovy Swanton– Hardware, network, programming, & security
Possible Involvements (After Initial Development)
• DPI WDDP: Abby Swanton– State publications to store in LOCKSS
• DWD Records Officer: Dawn Bluma– Transfer of records
• DWD IT– Hardware, network, programming, & security
• UW IT– Hardware, network, programming, & security
Thank You!
Collecting, Preserving and Sharing Stories Since 1846