The WIDE Toolkit and Service Frameworks
The Web Informatics Development Environment (WIDE) is a web-based software system developed by the principals of the Computer Systems Group of the University of Waterloo. The WIDE toolkit was developed to produce software systems from models based on enterprise service architectures. WIDE is primarily based on open source software technology and consists of a number of service frameworks. The frameworks are outlines of functionality for a specific service that are specialized using different approaches. For example if the frameworks are developed using object-oriented technology then they would be specialized using hotspots and similar concepts, although this information would still be captured using a declarative form-based adaptation interface.
Applications built using the WIDE toolkit can include input forms or reports containing extensive multimedia materials such as imaginative use of maps or any 2-dimensional diagram, databases, indexing and searching methods, agents, and push technologies. WIDE also contains a knowledge management system that supports documentation of technical information and best practices.
The adaptation interface for the service frameworks are expressed in a declarative XML-based DDSL. In the WIDE context, “programming” has effectively been replaced with a declarative methodology thus making it possible to provide a wizard or forms-based approach to building Web-based systems. Thus, WIDE has often eliminated the need for programming in the construction of complex Web-based systems.
Internally WIDE uses a bootstrap approach; its extensions are implemented using its own declarative technology. WIDE supports a rapid development paradigm and new applications can be built iteratively and demonstrated quickly. The structure of the WIDE environment also supports evolution thus addressing new concerns as they arise. The next few subsections contain descriptions of the service frameworks in WIDE.
A mapping appliance framework: This framework supports the creation of interactive maps which are delivered from a database-driven map-server. The interactive maps can provide zoom-in or zoom-out functionality and positioning over areas of interest. The mapping service framework does not use traditional geographic information system (GIS) software to support any of the mapping functionality. The mapping service framework minimizes complexity, support, cost, and time usually associated with creating and operating map-based applications.The supported map services do support the new Canadian Geographic Data Initiative (CGDI) thus allowing exchange of information between the WIDE mapping services and most GISs. The mapping service can be used to:
provide multi-layered maps when connected through the CGDI standard to a source of map layers such as a GIS;
find geo-referenced data in databases or Web sites based on an area on the map defined by the user. The map area searches can be defined by a circle, rectangle or general polygon; and
attach or “post” ” transactional data to a map location and then store the data in a database with identifying contributor information (including: the collection of vector data (text, point, dawn line, circle, general polygon data) and associated collections of web site URLs, database text fields, uploaded documents and media files).
Make transactional data available for retrieval using the WIDE CGDI compliant WFS
The simple API (application program interface) to the maps provided by the server supports rapid development of map-based applications.
The mapping appliance framework minimizes complexity, support, cost, and time usually associated with creating and operating map-based applications.
A diagram and chart services framework. This framework manages and delivers specified interactive diagram and chart types upon request for presentation of data on the Web or in other formats. The diagram and chart services are also based on the Scalable Vector Graphics (SVG) open W3C standard and so provide similar functionality to the mapping service framework.
An XML-based metadata framework. The adaptation interfaces to databases, Web sites, agents, and applications including reports and input forms with maps and diagrams are described using XML. They are transformed into operating applications through the use of XSL “programs.”
A report services framework. This framework supports the creation and management of interactive report and input form types and delivers them on request for presentation on the Web or in other formats. The user specifies the form type or service framework while creating an instance for an application. The instance is specified by completing an adaptation interface, which is part of the framework. The instance is stored with the application and is interpreted at runtime to produce the required report.
A content management services framework. This framework supports the management of text and multimedia information in a database where it can be viewed, searched, maintained and then published for use on the Web or in other formats.
A role-based access control service framework. Access to any content such as a database, Web site or other text and multimedia content can be provided with multi-level role-related access controls to determine who can read or change data. For example, each entry in a database can be accessed by the individual or role that “owns” the data and has the authority to make changes.
A Web and database searching service framework. This service framework contains an indexing agent and search engine that will index known Web sites and databases and support searching. The results from Web searches are categorized based on different search criteria such as the proximity of words in a phrase. The results of combined database and Web searches can be presented together. Temporal searches are also possible where the results of a search can be saved and the search then re-executed at a later time. The results of the two searches can be compared to see if new results have appeared in the intervening time interval.The searching framework includes the ability to rank search results.
A pushotification service framework. The Web is naturally a pull medium. A user must look for information by pulling it out of the Web. The general pushotification service framework allows developers to create systems that allow users to specify conditions under which they wish to be notified or have information pushed at them. For example, someone who is buying a house could request notification if a house meeting his/her specifications becomes available.
An agent service framework. The agent service framework supports the description of agents that will act autonomously to perform utility tasks within an application. Agents are often defined to manage redundancy. For example, agents could be defined to verify the content of “local” databases against authoritative sources or to allow a user to type information once while submitting the data to multiple databases or Web sites.
The academy – a knowledge management framework. The academy framework is used to support widespread dissemination of “documentation” and knowledge describing how applications can be built from the WIDE Toolkit. Documentation includes best practices as well as principles of proper design for the Web and the Internet. The academy uses the StudySpace educational interface that allows individual users to keep and manage personal annotations related to the document being read.
A workflow framework. The workflow framework and its related workflow engine support the construction of an application from the previously described service frameworks. The application is formed by composing workflow patterns involving services. The workflow engine then “walks” over the composed patterns and interacts with the application developer to complete the tasks associated with the workflow.
WIDE Licence to COMAP
COMAP provides the Web Informatics Development Environment (WIDE) system as licensed Software as a Service (SaaS). The COMAP WIDE license and application development services are provided by the principals of the Computer Systems Group of the University of Waterloo. COMAP is licensed to provide services to collaboratives that engage the volunteer sector without software fees and at the least cost possible for development and maintenance; looking to foundations, public and commercial sectors for grants and revenues to build and sustain the operation of COMAP systems in Ontario.
Centre for Community Mapping sustainability will derive from a business model that entails revenue for secure Public and Commercial Sector services. Charges for public sector participants for COMAP development, installation and maintenance costs will be based on labour plus overhead including a (Mapset Informatics) WIDE ASP production environment software overhead fee of 8%.C