EEA EIONET Development Tools and Philosophy ITTAG Meeting Athens 20th September, 2000 Søren Roug
Mar 27, 2015
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