Introduction

From ESEwiki

Revision as of 06:37, 31 August 2006; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

ESE is Enterprise SmartEiffel. It reads "easy"; it is designed to really make other "enterprise" systems look quite complex in comparison.

The aim of ESE is to provide enterprise-ready features such as data management and inter-process communication (i.e. databases and web services).

As its name implies, ESE is an extension of SmartEiffel, the GNU Eiffel compiler, tools and libraries.

The currently foresighted features include:

  • Data management: the current SmartEiffel Storable features are good but not enough. Enterprise systems usually rely on database managers. SmartEiffel must provide access to those data providers. This feature is called EDC: Eiffel Data Connection.
  • Component technologies: being able to split the program into independant, independently developed, components. This feature should build on the current SmartEiffel technologies such as the extract_internals tool along with new interprocess communication protocols.
    Maybe this feature will need compiler modifications. In this case those changes will be directly integrated in the standard SmartEiffel distribution\footnote{But I think any compiler modification can be avoided.}.
  • Project management: being able to build a whole project, or parts thereof, at once. Technologies similar to Ant or Maven. This must include the Component technologies developed above, being able to call extract_internals and compile for each program, maybe generate the main class modifications needed by extract_internals, create specialized .id files for plugins and so forth.
    The tool must be able to create all the by-products of a project: that is, not only the executable(s) but also the documentation (using eiffeldoc) and a unit test campaign (using eiffeltest).
  • Web services: that's the current "enterprise" credo. Those services include server-side and client-side HTTP, FTP and SMTP processing, SOAP, WSDL, UDDI, and the current AJAX/"Web 2.0" technologies.
    Those technologies heavily rely on data access (Storable, XML processing and of course EDC), and also on component technologies.
Personal tools