Somusar: A Symbian Software Factory
Richard Bloor   Wednesday, 13 July 2005
A lot of software development is repetitive. Written one data entry screen, written them all. However, often they are still hand crafted each time. Somusar has a technology which could change all that, for both Java and C++ developers working with Series 60.

The goal of creating software from a textual description has been pursued for a number of years. Somusar is one company which has shown that it is achievable with its SoProMach generators. While it may not yet be an end to hand coding, it goes someway to reduce the repetitive coding of largely similar application or application components.

While Somusar started developing its technology in 2000 Francesco Aliverti-Piuri, Somusar's Manager Partner, says that the idea for the technology arose during the time that he and others were working on client server application. "We were creating application that used Windows based forms talking to a server through a middleware layer. These applications included a lot of redundancy and we realized there must be ways to eliminate the laborious manual coding." It was however the growth of Internet based applications that acted as the final catalyst for the formation of Somusar. "The growing complexity of Internet applications lead us to seriously research how to implement those early ideas," says Francesco.

Somusar's first code generators were for Java and concentrated on business applications.

According to Francesco "Somusar delivers custom software generators that produce 'software blocks', in a broad sense, code for different platforms or layers, such as user interface, logic, database, but also tests, documentation and configuration files. In fact anything that can take a textual form and has some recurring pattern our technology can, in principle, generated."

Breaking this down, the starting point for creating code, or other output, from a Somusar generator is a template for that code or output. It could be a complete application, components within an application or a document. From the template a stamp is created. This stamp is designed to use a text file as its source to create the final application, fragment of code or document.

So if the goal is to create a data entry screen the stamp contains information on how to create code for all the elements that can be included in such a screen, strings, number, dates and so forth. The specification then simply has to define the specific fields required on the form for the SoProMach generator to create the code.

Somusar provide a more detailed white paper and flash demo of form generation for here.

One powerful feature of the technology is that one specification file could easily form the basis of several different outputs. "Using our technology a developer can write a textual description of the code they want to produce, then use one stamp to create the code and another to generate the documentation or a database schema or any other required component," says Francesco.

Somusar's technology does not yet mean the end to hand coding. While Francesco claims it could easily stamp out simple data entry screens "if you have very complex data entry forms, ones where you have to optimize on space and have to think about the position of the items, then these are still better written by hand."

For more complex tasks the tools can also be used in combination with hand coding. "Our technology could extract the business logic, as described by the business analyst, from a specification (a Microsoft Word document, for instance) and translate it into semi-finished code," says Francesco. "The developer would then have an outline for the one off code that needs to be written. Its not only the code that can be created this way but documentation or any other structured output."

While Francesco says "any experienced developer can easily write his own simple generator," Somusar also provide services to create generator stamps. Somusar offer developers a free trial of the generator development service, to accompany the free SoProMach Community version, which can be used for small (15 entity, 6 stamps per application layer) application generation. Workgroup and Enterprise versions, more suited to commercial software development, are available.

The fact that Somusar have applied their technology to Series 60 development, for both Java and C++ code, early in its product development is indicative of the increasing importance of mobile development and Series 60 within the IT market. Francesco points out that "there is a lot of innovation going on in telecommunications, while traditional IT is more conservative. As Series 60 is the leading smartphone platform it just made sense to extend our offering to include development for Symbian OS." While a prudent business move embracing Series 60 was not a significant technical challenge. "Our technology and service can be used for many different target platforms, programming languages, integrated in different stages of various development processes, and with different IDEs: so extending our offering to Series 60 did not require any specific change to our core technology," says Francesco.

Currently Somusar are concentrating on the domestic (they are based in Italy) and European markets, but welcome enquiries from developers worldwide.

For more information see www.somusar.com.


Close    To Top
  • Prev Article-OS:
  • Next Article-OS:
  • Now: Tutorial for Web and Software Design > OS > Symbian > OS Content
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Geek Tutorial
     

    Blogging Tutorial

      RSS Tutorial
      Podcasting Tutorial
    Graphic Design Tutorial
      Coreldraw Tutorial
      Illustrator Tutorial
      3D Tutorials
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial/ Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial/ Articles
     

    XML Style

      AJAX Tutorial
      XML Mobile
    Flash Tutorial/ Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial/ Articles
      Linux Tutorial
      Symbian Tutorial
      MacOS Tutorial
    Personal Tech
      Hardware Tutorial
      Software Tutorial
      Online Auction