SOFIA 2.2 adds Linux and Portal support

Discussions

News: SOFIA 2.2 adds Linux and Portal support

  1. SOFIA 2.2 adds Linux and Portal support (6 messages)

    Salmon LLC is pleased to announce the release of SOFIA 2.2. SOFIA is a free, open source, model-view-controller framework that brings web application development functionality similar to ASP Dot Net Web Forms to the Java developer.

    Whereas most Java web frameworks focus on only one or two aspects of the MCV design pattern and provide little or no development tool support, SOFIA focuses on making web developers immediately more productive and so provides a complete end-to-end solution right out of the box.

    SOFIA consists of a Java class library of foundation code for building business logic and graphical user interfaces, a JSP tag library for HTML user interfaces and a Swing based component library for browser based rich clients. The package also includes optional plug-ins for Eclipse and IntelliJ Idea to make coding tasks easier and an optional Dreamweaver plug-in that provides a drag and drop WYSIWYG environment for visual development. SOFIA is designed for database applications and directly supports most major engines including: Oracle, MySQL, Sybase, MS SQL Server, DB2, Ingres, Postgres and Firebird.

    Version 2.2 adds the following new features:

    1) Now develop with SOFIA in Linux via a new platform neutral install procedure.
    2) A new Search Form, List Form and Detail Form implementation that allows you to build flexible and powerful search and data entry screens in minutes with no coding.
    3) Support for JSR-168, the portlet API. Use your SOFIA JSP pages as portlets in any vendor’s JSR-168 compliant portal.
    4) Enhanced support for EJBs.
    5) Numerous additional enhancements provided by the open source community.

    Some current SOFIA features:

    1) Visual development of the user interface by integrating a pallet of over 50 visual components into Macromedia Dreamweaver. Simple components include: Data grids with built-in sort and paging options, Navigation Bars, Trees, Tree-Tables, Calendars, Display Boxes and a rich assortment of data input controls. More complex components allow you to build complete search and data entry screens in minutes with no coding.
    2) Plug-ins for Intellij IDEA and Eclipse for increased productivity.
    3) Code generators for many non-visual tasks such as database access.
    4) Automatic binding of model and view components. The initial values on a screen will automatically reflect the values in database and all changes made on a data entry screen can be saved back to the database with one line of code.
    5) Clear separation of the UI design from back end Java code. SOFIA JSP pages use zero Java inline code and no tags that try to simulate code like iteration or condition tags. The entire page definition can be described with simple HTML tags combined with SOFIA’s HTML-like JSP custom tags. Business logic is completely encapsulated from the GUI in separate Java classes.
    6) Build a web GUI with HTML-like JSP tags or by instantiating Java web components in manner similar to Swing or the AWT.
    7) Controllers provide event handling for web page actions in the same way Java Swing does for desktop applications.
    8) Power to manage any attribute of any visual component at runtime. Controllers can directly manipulate view components by setting properties or by changing model data. Alternatively, visual component attributes (visible, enabled, color, font, URL, image source, etc…) can change dynamically at run time using simple but powerful one-line expressions.
    9) Easy implementation of new JSP tags: you don't have to follow the whole JSP specification to build a new tag. Just extend SOFIA components and the development of a new tag becomes much easier.
    10) Complex declarative data validation rules at the model or view level. Depending on the type, rules can be run on the client or on the server in either Java or JavaScript. Even more complex rules can be encapsulated into Java validation classes.
    11) i18n: use of localization keys that can be specified on some of the SOFIA components and tags that will cause some of the attributes of the
    components to change based on the language preferences of the visiting user.
    12) Built-in personalization/branding. Allow your web application to have a look and feel customizable by each individual user. The personalization implementation also allows declarative security conditions by user or group (e.g.: some fields are only visible or enabled for certain users).
    13) Easily pipe database or EJB data back and forth to Java applets in addition to HTML pages.
    14) Display, Sort, Filter, Export and Print complex WSYIWYG reports using Jasper Reports and SOFIA’s custom Jasper Reports viewer applet.
    15) Output to different clients: HTML based, WML based, Swing Applets, or Java Webstart.

    SOFIA can be downloaded from SourceForge at http://sourceforge.net/projects/salmon.

    For general information, complete documentation, code examples and videos check out: http://www.salmonllc.com/sofia.

    Threaded Messages (6)

  2. At Last[ Go to top ]

    At Last,
    I finally meet such amazing tools to create Webapps.

    Million times thnx for you, Sofia Team.
  3. I am curious about this package -- it seems to promise a the holy grail of J2EE -- WYSIWYG GUI and framework . However, I do wish there were more users of this package who could share their experience about this tool. How big is the learning curve ? what is the quality of code generation and framework etc. etc.



    -manish
  4. I am curious about this package -- it seems to promise a the holy grail of J2EE -- WYSIWYG GUI and framework . However, I do wish there were more users of this package who could share their experience about this tool. How big is the learning curve ? what is the quality of code generation and framework etc. etc.-manish
    Hi Manish,

    I am an active SOFIA user since its appearence (mid 2002) and must say that SOFIA it is an excelent opensource framework for the development of J2EE web applications. I have used it up to date in five different projects including an opensource SOFIA based web application (http://jcv.sourceforge.net).

    Regarding the learning curve I must say that SOFIA is very easy to learn and that you will get very productive with it in a short time. Indeed I was a Struts user before the appearance of SOFIA and I found SOFIA being much more easier to learn, use and to extend. And as a J2EE web developer my productivity increased a lot.

    Also you have good quality in the generated code and flexibility over it (for instance protected code sections where you can add your custom business logic, that will not get overwritten in the next code generation).

    If you add the integration to the IDEs Eclipse and Intellij and the possibility to make WYSIWYG design with SOFIA plugins for Dreamweaver you have a very good framework for development.

    I hope you like SOFIA and join our SOFIA user community soon.

    Regards,
    Claudio.
  5. Here is a pretty good eval on a Barracuda forum:

    http://mail-archive.objectweb.org/barracuda/2004-03/msg00021.html
  6. I am curious about this package -- it seems to promise a the holy grail of J2EE -- WYSIWYG GUI and framework . However, I do wish there were more users of this package who could share their experience about this tool. How big is the learning curve ? what is the quality of code generation and framework etc. etc.-manish
    I am also a SOFIA users. I started out using Struts, until I found SOFIA. SOFIA is much easier to use. Also, it gives you the ability to have a Swing like control on Web apps. For example in some of the web pages I have widgets on the screen that update other widgets [totals for example]. All the code resides on the server side and I do not have to maintain ugly JavaScript to accomplish this task.

    Plus, if you are developing on the windows platform, the ability to integrate with Dreamweaver provides you with the ability to see the screen without going trhough the normal deployment cycle you have to wwith Struts and other frameworks.
  7. My Love Letter[ Go to top ]

    The post on the Barracuda list is an excellent recap. I figured I'd also write up a little something on my blog.

    I found it extremely easy to get into. The basic code generation is good, although I personally have yet to find a way to make my own application as elegant as I would like while using it. Comparing the problems I have with SOFIA to the problems I'd have with other frameworks makes me smile, though.