Skip to content

Response to Review no. 999

I would like to thank Malcolm Noble for his enthusiastic and comprehensive review of The Feminine Public Sphere. I am heartened to read his appreciation for my approach to the source material and for my discussion of middle-classness, women and associationalism. I am delighted that he finds my views on women’s active participation in civic life through increasingly professionalised voluntary work useful and recommends the argument’s salience for the wider British context. Noble recognises the parallels between temperance activism and abolitionists’ boycott of sugar; this is an idea which I noted in the book, but was unable to investigate more fully. This is one of many areas that is rich for exploration, as the source material from the women’s temperance organisations in Scotland is particularly abundant and relatively unexcavated. I would also like to take the opportunity to offer Noble an explanation of the significance of using Java rather than MySQL for database analysis, and I’m sorry I assumed readers of the book wouldn’t be interested in this aspect (Noble may yet change his mind!).

My approach to historical databases is rooted in changes in my career path since completing the thesis in 2002. In 2004, when coming to the end of my ESRC Post-Doctoral Fellowship and feeling dissatisfied with the range of opportunity in the academic sector, I decided to retrain as a technologist and in the autumn of 2004 I began a one year MSc in Information Technology at Queen Mary, University of London; no one was more amazed than I when I graduated with distinction in 2005. While I had used Microsoft Access to organise and analyse membership data for the thesis and though I did grasp technology’s potential for efficient quantitative analysis, I had no understanding of computer programming as a PhD student. For me, the MSc was an opportunity to move into the Internet-software sphere of IT and for my dissertation project I drew on my PhD research to build a web application called Women’s Associations in Victorian and Edwardian Scotland (WAVES).

The WAVES application is a unique Internet-enabled historical resource built using the Java programming language. The application aims to serve as a tool for quantitative and qualitative analysis. WAVES uses Java 2 Enterprise Edition (J2EE) technologies for quantitative analysis of the membership of the temperance, suffrage and Liberal associations examined in the book. Qualitative analysis of transcribed primary source material such as extracts taken from the Women’s Suffrage Journal and the Scottish Women’s Temperance News is implemented in the Java-based Lucene search engine; WAVES supports synonym searching and primary source material is retrieved from a keyword search if the material includes the user’s query terms or synonyms of the user’s query terms. WAVES is not currently live on the Internet, but the written MSc dissertation is available here: http://www.megansmitley.org/documents/meg-smitley-information-retrieval-for-historians.pdf

J2EE (1) represents a collection of Application Programming Interfaces (API) for use in Internet-software:

  • Enterprise JavaBeans (EJB)
  • Extensible Markup Language (XML)
  • Servlets
  • Java Server Pages (JSP)
  • Java Messaging Service (JMS)
  • Java Database Connectivity (JDBC)
  • JavaMail
  • JavaIDL
  • Java Naming and Directory Interface (JNDI)
  • Java RMI/IIOP
  • Java Transaction Services (JTS) and Java Transaction API (JTA)

WAVES takes advantage of Servlets, JSP and JDBC to create an application based on the Model View Controller (MVC) design pattern. A hallmark of the Java language is its mature and proven design patterns; design patterns are methodologies for structuring applications in order to allow for the most efficient maintenance and extension of an application’s functionality over time. The MVC pattern is the most widespread design pattern for use with web applications and is characterised by a separation of concerns; different parts of an application encapsulate different roles. So, in an application guided by the MVC pattern, code related to each tier of the web application is separated into different layers, with code communicating requests between those layers: the Model, or the database layer; the View, or the interface layer that user’s see on the screen; and the Controller layer, or the layer of logic that delegates retrieval of data from the Model, processing of that data by business logic and return of the processed data to the View.  A J2EE MVC application therefore, as is the case for WAVES, may use JDBC to access the Model, JSP to handle the View and Servlets to implement Controllers.

The advantage of JDBC over MySQL for data analysis is entirely related to the advantages and best practices associated with the use of the MVC design pattern in the creation of web applications. By separating the areas of concerns in a web application it is possible to develop a codebase that is more maintainable and extensible over the longer term; changes required in one tier of the application, as users’ needs for functionality change or as new technologies evolve over the lifetime of an application, should thus have minimal impact on the workings of other tiers of the application. The goal is to allow for change but discourage defects by restricting code’s reach to a certain role within the application. An API, such as JDBC, is a tool that allows encapsulation of queries and database actions within the application in line with the MVC design pattern. So, the question then becomes: what is the methodological advantage of a web application over direct query of a database? Interfacing with a database through a web application has several important advantages:

  • access through the Internet can maximise availability of an application’s resources by opening it up to any user with an Internet-connection
  • strong support for management of multiple users
  • potential to grow an application’s resources by allowing user generated content
  • strong support for protecting the persisted data through validation during create, read, update and delete procedures; a layer of checks is introduced between the user and the data which can prevent the sorts of catastrophic errors that are more likely when directly interfacing with a database
  • access to the application’s resources to those without specialist technical knowledge

Returning to why I chose to use Java rather than MySQL for data analysis. Over the course of rewriting the thesis as a monograph, a process begun during my post-doctoral fellowship and continued after my MSc while working as a web application developer in the City, I had created the WAVES system which allowed me access to my data in this way. The methodological advantages of a Java system are more to do with software development best practice than with any peculiar benefit for the analysis, however I am, personally, much more comfortable with the Java language than with MySQL and I can create more sophisticated queries in Java, but this is more a personal preference than a methodological advantage. I hope this clarifies for Noble the motivations lying behind my technology choices and I thank him again for the generous review of The Feminine Public Sphere.

Notes

  1. Warning, if you thought a study of Victorian women’s associations was bad for acronyms, prepare for things to get much worse as we enter the IT field.Back to (1)