This is a presentation held at eLiberatica 2009.
http://www.eliberatica.ro/2009/
One of the biggest events of its kind in Eastern Europe, eLiberatica brings community leaders from around the world to discuss about the hottest topics in FLOSS movement, demonstrating the advantages of adopting, using and developing Open Source and Free Software solutions.
The eLiberatica organizational committee together with our speakers and guests, have graciously allowed media representatives and all attendees to photograph, videotape and otherwise record their sessions, on the condition that the photos, videos and recordings are licensed under the Creative Commons Share-Alike 3.0 License.
2. A traditional application server
• Often http-based (http requests)
• Unidirectional, because of the http protocol:
only the client makes requests, server events
being emulated (e.g.: by using timers)
• Caries the business logic in multi-tier
architecture (this we will keep)
3. Concept Application Server
• concept:// based
• The concept:// protocol is bidirectional,
enabling real time server events
• Caries the business logic in multi-tier
architecture
• Also, can handle http://-based applications as
a feature not as a purpose
• Cross-platform, open source, interoperable
5. Interface level
• CAS exchanges messages with Concept Client
• Messages run from client to server and from
server to client, similar to win32 messages
• concept:// is secured
• CAS is powered by Concept Programming
Language (with hundreds of classes and
thousands of helper functions)
6. Concept Programming Language
• Strict object-oriented
• Traditional syntax, similar with Java, C#, C++
• Hybrid interpreter/virtual machine
• Produces binary code OS-independent
• Exceptions, properties and all the typical things
you’re used with
• Rich framework
• Has debugger and on-line IDE called CIDE (open
source), written in Concept
9. Remember, it’s on-line
• After installing CAS on your system, you just
type in your browser:
concept://localhost/CIDE/cide.con
10. concept://…/CIDE
• Comes with tools like
– Design view with glade
– Syntax highlight and code completion with scintilla
– Team chat
– SQL Panel
– Integrated framework help
– a deployment system
– Integrated debugger and web-debugger
11. The internal messaging system
• CAS has an internal messaging system that
allows a web application to communicate in
real time with a concept:// application
• This is useful when we have a front-end
traditional web application and a backend
concept:// application. (for example orders
from a website).
12. Security
• Managed by an RSA/AES system, similar to TLS
• In about two months will switch to TLS
13. GyroGears
• Automatically generate the application, the
framework and the CIDE project
• Builds an abstract data layer (no direct access
to the database is needed)
• Dramatically reduces the development time
for cloud data-driven applications
• Reduces the bug probability
• Generates optimal code
14. GyroGears (cont)
• Handles complex data types like multimedia
(video/audio streaming)
• Automatically generates reports
• Automatically writes the help pages based on
language templates
• Can be installed for free but not open source(yet)
• Generates XML export/import interfaces
• Can create both concept:// and http://
applications
16. A sample http:// application
By using GyroGears you can create complex http://-based application in no time.
For this sample, about 10 to 14 hours of work were needed, mostly for the UI.
17. How it works
• The developer defines the entities and
properties (similar to tables and columns), but
more high level. Some data types are:
– multimedia – can keep and stream video/audio
– picture – can keep pictures, resize them, cache
various sizes
– string types
– relations
18. How it works (cont.)
• The developer defines the behavior and
restriction for a given data type
• Define the search fields, the indexed data
(indexes are built using Xapian or Lucene)
• Generate advanced reports using an XML-style
language
• Define basic activities and workflows
• Generate the CIDE project
19. GyroGears will generate
• The entire cloud application (concept:// and/or http://)
• Normalizing queues for videos
• Indexing queues for text
• The help pages for your application (in English, for any
other language, you can create a template)
• Language tables (XML, for multi-lingual support)
• Reports
• XML schemas for export/import and “translation”
scripts for importing from other applications
• Framework for traditional development (if necessary)
20. The Gyro-generated framework
• Additional layer for accessing the database (an
abstract layer)
• Low bug probability
• Minimizes the development time (if used as
an independent library)
• With many methods for accessing data, eg:
var []result=Company::GetByName(“RadGs”);
21. Fun things
• In Concept is easy to write virtually anything.
• For example, a browser using the webkit-gtk
library.
• Or a PDF reader using the included poppler
library, or maybe a video database using
ffmpeg …
• All is included in the Concept distribution, you
just need to play !