EEA
EIONET Development Tools and Philosophy
ITTAG Meeting Athens20th September, 2000
Søren Roug
EEAAgenda
• What is Open Source?
• EIONET’s Software Tools
• PHP
• Why Linux
• What is Zope
• Zope Products
• What is Zope’s Role?
• Zope in EIONET Context
• Creating a new announcement
• XML: alternative formats
• XML example: NATLAN2
• Zope demonstration
EEAOpen Source: Why Use It?
• Code reuse
– Software created for one DEM could be used for another if we have the source
• Competition
– To make it possible for other companies to make extensions to CIRCLE (or provide 3rd level support)
• Protection of investment
– In the event that the software vendor goes out of business or loses interest in the product
EEAEIONET's Open Source Initiative
• EIONET wants to use Open Source products as much as possible
• ED, TietoEnator and others write software products for us
– Hence, from now on; the new products, we ask them to develop, are Open Source
• We have chosen Mozilla Public License
– What does that mean?
EEAMPL: Contracting Company’s Rights
• You may sell (for profit) EIONET-owned software to others or EIONET (e.g. bundled with service)
– But you must tell the customer, that the source is available for free (Sec 3.6)
• You may combine it with proprietary software as a larger works
– But if you modify the EIONET-owned software you must make it available for free in source form
EEASome Business As Usual
• We will still ask a company to do QA testing and product support
• Will we have different incompatible versions of CIRCA?– No, CIRCA is not (yet) Open Source and if it
was, the Mozilla License will prevent it. That’s why we chose MPL
• *Much* more emphasis on design documentation
EEAEIONETS Software Tools
• Philosophy: Open Source• Webserver: Apache• Content Management: Zope• Rapid development: PHP• Operating Systems: Linux, Commercial UNIX• Groupware system: CIRCA• Data formats: XML• Database system: MySQL
EEAPHP
• PHP is a language to make HTML-documents more interactive
• You program directly in the HTML document• EEA use it for the THEMES database and
WASTEBASE• PHP is also Open Source software
EEAWhy Linux
• Linux is as stable as commercial UNIXes• Our biggest Solaris Server is 2 x 480 MHz CPUs
– Our next Linux will be Intel-based 1.100 MHz
– Much cheaper• You can install a development system on an old PC
EEALINUX in a Wrist Watch
• 8 MB RAM
• 8 MB Flash RAM
• X-windows
• Weigth: 44 Grams
EEALINUX on Handhelds
Left: Compaq iPaq /206 MHz
Right: YOPY /206 MHz
EEALinux Elsewhere
• IBM Mainframes• www.google.com has 5000 Linux PCs in a cluster• SUN Sparc processors• Compaq Alpha processors• Turnkey systems
– Fileservers/Intranet servers
– Firewalls
EEAWhy Use Zope?
• We want livelier content on the webservers• We want access to small databases• We want a framework, where we can build small
applications• Support for XML• Audience: What else do we want?
EEAWhat Is ZOPE?
"Zope is the leading Open Source application server, specializing in interactive content such as
portals and content management systems"
Everything is through-the-web
Built-in programming language
Integrated object database
XML, WebDAV, XML-RPC, SQL, LDAP
EEAWhat Can We Do With Zope?
• Zope comes in building blocks called "products"
– A building block provides a feature such as a guest book or announcements or workflow
• There are more than 200 products right now
– It's just install and play
EEAZope Products
SiteSummary - retrieve announcements from another webserver in RSS format
Yihaw - Tree structure directory like in Yahoo! But extended with FAQs, announcements
MeetingManagement - Lets you collect registrations for small meetings
Zwiki - A permanent whiteboard for a webserverSquishDot - a bulletin board
... and hundreds more
EEAZope’s Role
• Zope
– Rapid content creation!
– Integrator of services
– Can be used with little experience
– Can be extended with special modules - the products• PHP
– Rapid application development
– Good for prototyping
– Needs programming experience
EEAZope’s Role
• Java Servlets
– Very flexible and low-level
– Needs professional programmers
– Impossible to customise for webmaster• CIRCLE
– Specialised for group work
– Difficult to customize
– Impossible to extend
EEAZope in EIONET Context
Zope
CIRCA
MYSQLLDAP
Directory
OtherZope
XML-RPCHTTP
EEACreating a New Announcement
Title
Expires
Article
The result is a record, which we can then display as HTML or XML
EEAXML: Alternative Formats
• Now as we have structured many types of data we can reuse them in many formats RSS for inclusion on other webservers WML for display on WAP-phones
• It is an ongoing process, and it requires a further abandonment of HTML for storage
XML
SGML
Formatting
HTML
WMLConvert
EEAXML Example: NATLAN 2
Coordinatesin XML
NATLANEngine
Database
Augmentedmap
Web browser
Database
EEAZope Demonstration
• Now We switch to a live demonstration of Zope