Comidor Cloud IDE

Cirano

CIRANO Platform is a cloud Integrated Development Environment (IDE) that substantially supports Model Driven Development (MDD) and team collaboration, in order to facilitate the development of cloud–based applications. Beyond common functionality that exists in modern IDEs like enhanced editors, debugging tools and support for popular databases, CIRANO also supports: component-based application development multilayer programming, which greatly facilitates the online collaboration between developers automatic database development and connectivity an internal model and functionality repository

Comidor structure

Moving to the cloud

Developers: reduce maintenance cost, easier updates, access to bigger market.
Businesses: reduced prices, zero installation + maintenance cost, reduced support cost Challenges :

  • Programming languages (JAVA, ASP.NET, PHP etc).
  • Libraries (jQuery, Prototype, Ext etc).
  • Installation and maintenance of VMs (requires special expertise).
  • Architecture, balancing and scalability.

Multilayered architecture

Homogeneous environment :

  • “hides” the implementation and deployment details
  • allows designers/developers to focus primarily on the domain and application logic
  • exploits the Model Driven Development (MDD) – for optimum business logic - development details separation

Architecture

  • The Application Server, which is responsible for the database connectivity, manages the business logic, accepts and controls third party connections and services, binds system resources using pooling techniques. It also manages the deployed programing units and controls the user authorization on them.
  • The Multi-tenancy module, which provides reusability of shared resources among users, like database metadata, and is a necessity for cloud environments.
  • The Presentation Manager, which is responsible for the generation of user interfaces.
  • The Application Session Manager, which manages functionalities and data stored until the user session has expired.
  • The IDE Module, which is used by development teams to create applications.
  • The Applications folder, where all application files are stored.
  • An Auditing Server, which provides real time user action auditing.
  • A Chat Server, offering real time communication capabilities.
  • A Billing Server, used for internal charging of clients.
  • A Messenger Server, responsible for internal and external (through a Mail Server) message exchanging.
  • A Database Server, depending on the installation and the user application needs.
  • The Applications folder, where all application files are stored.
Cirano architecture

Application Building

  • Fragmentation of application in distinct components (data, code, user).
  • Coding with Platonscript - Simple Server Side Scripting.
  • Application functionality contained in CXML.
  • No binaries.
  • Sets of functional layers hierarchically structured.

The system in practice


Cirano system
  • Administration Panel
  • Database Designer
  • Auditing Tool
  • Menu Editor
  • Data Designer
  • Code Editor
  • UI Designer
  • Repo Publisher
  • Scheduler
  • Messenger
  • E-Object Management
  • Integration with CIRANO jAgora Repository

Technical Characteristics

  • Independence: JAVA offers the maximum level of independence
  • Design: provides solutions for both client – server and cloud applications.
  • Open Source Prototypes: The absence of binary executable files renders the application readable on demand.
  • Modular and Object Oriented Programming: Integration, inheritance, polymorphism.
  • Compliance with both Spiral and XP programming methodologies
  • Hierarchical Distributed Architecture: The Multi-Layer programming based on Cascading XML design offers an organizational pattern which can be clearly hierarchical, distributed and extendable.
  • Separation of Internal and External Structure: Each unit is clearly divided in an internal structure, consisting of all the necessary data and business logic, and its external structure, consisting of the presentation of the data to the end user.
  • Security:
    Hierarchical access and change rights in terms of database records
    Secure authentication with encryption of passwords for users
    Digital signature for objects and application modules
    User/Group/Role based rights