Aida/Web is an object-oriented, open source Smalltalk web application server using the model-view-controller (MVC) architectural pattern.
History
Aida/Web was written in 1996. Its first commercial application was the Gas Billing System of the Slovenia national gas company in 1998. In 2000 Aida/Web was made open-source software and its web server part was merged with Ken Treis's1 Hydrogen to form the basis of Swazoo2 an open-source, vendor-agnostic, Smalltalk web server.
In 2003 BiArt/ISO3 Quality management system was built onto Aida's core document management functionally (which now forms the core of the Scribo CMS). In 2005 BiArt/BPM web-based Business Process Management framework for executing business processes according to standard BPMN was built using Aida/Web.
In 2007 the Aida/Web community developed its own mailing list and web site, and in 2008 Scribo4 has been developed on top of it.
Community development
Aida/Web is an open source project with a community5 providing support and development, with tutorials available in English,6 French7 and Spanish.8
Features
Aida/Web provides:
- Integrated Ajax support
- Ajax libraries for Prototype9 and Scriptaculous10
- A collection of web components to build web pages programmatically
- MVC compliant separation of presentation from domain
- REST-like bookmarkable url links
- Integrated session and security management
- Multilingual support
- Real-time statistics
- Built-in Joomla templates
- A built in Swazoo11 web server
- HTML is generated programmatically
Architecture
First developed in 1996 by Janko Mivsek, Aida/Web was designed to integrate distinct object and web philosophies. Viewing the web as essentially a web of objects, Aida/Web declares that each object should have its own URI. This means that web pages can have meaningful, bookmarkable addresses, unlike some other approaches to web design. This idea anticipated a call one year later by Alan Kay at OOPSLA9712 where he suggested every object should have its own URI.
Aida/Web aims to simplifying the inherent complexity found within multiple interacting objects, and is designed to reduce the need for difficult and complicated HTML programming. Since Smalltalk objects maintain their own state and respond to requests, Aida/Web uses the Smalltalk language with the aim of simplifying the building of web sites, providing dynamic content with persistent state management.
The MVC paradigm is fundamental to Aida/Web because it provides distinction between the object model, the various presentations (views) of the objects and the control of their relationships. This provides clarity between the functional and presentational aspects of a web page and aims to overcome what its designers believe to be design and complexity issues otherwise created by use of HTML, Active Server Pages (ASP) and JavaServer Pages (JSP).
This Model-View-Controller principle has been used in Smalltalk since the 1970s13 and has recently been rediscovered in Java Struts.141516
External links
References
Ken Treis's Something to Talk About Blog http://kentreis.wordpress.com/ ↩
"Swazoo Smalltalk Web Server". Archived from the original on 2008-07-03. Retrieved 2008-07-21. https://web.archive.org/web/20080703100249/http://www.swazoo.org/ ↩
Uvod Archived September 16, 2008, at the Wayback Machine http://demo.nets.si/ ↩
"Scribo". Archived from the original on 2008-08-16. Retrieved 2008-07-26. https://web.archive.org/web/20080816192427/http://scribo.bioskop.fr/wiki/wiki.html ↩
"Community | Aida/Web Framework". http://www.aidaweb.si/community.html ↩
"Tutorial | Aida/Web Framework". http://www.aidaweb.si/tutorial.html ↩
"Tutoriel Aida - OFSET Wiki". Archived from the original on 2008-08-29. Retrieved 2008-07-26. https://web.archive.org/web/20080829132652/http://community.ofset.org/index.php/Tutoriel_Aida ↩
"Aida/Web: Tutorial | ^[:Il | Messaggero := non: 'è importante']". Archived from the original on 2008-06-11. Retrieved 2008-07-26. https://web.archive.org/web/20080611174337/http://www.lordzealon.com/articulos-tutoriales/aidaweb-tutorial/ ↩
"Prototype JavaScript framework: A foundation for ambitious web applications". http://www.prototypejs.org/ ↩
"Script.aculo.us - web 2.0 javascript". http://script.aculo.us/ ↩
"仕事の能力を高めたい時に見るサイト | Just another WordPress site". Archived from the original on 2008-07-03. Retrieved 2008-07-21. https://web.archive.org/web/20080703100249/http://www.swazoo.org/ ↩
"Alan Kay: The Computer Revolution hasn't happened yet. Keynote OOPSLA 1997". Retrieved 30 April 2023. http://video.google.com/videoplay?docid=-2950949730059754521 ↩
"View controller History". c2.com. Retrieved 30 April 2023. http://c2.com/cgi/wiki?ModelViewControllerHistory ↩
"Struts, an open-source MVC implementation". IBM. Archived from the original on 2008-04-26. Retrieved 2008-08-17. https://web.archive.org/web/20080426042919/http://www.ibm.com/developerworks/ibm/library/j-struts/ ↩
Objects and the Web (Knight, A. Dai, N.), WebObjects https://ieeexplore.ieee.org/document/991332/;jsessionid=411B91085E73523DE169A294D18CF50A?tp=&arnumber=991332&isnumber=21378 ↩
Ben-Natan, Ron (1997). Amazon.com. McGraw-Hill. ISBN 0070062811. 0070062811 ↩