You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airavata.apache.org by "Saminda Wijeratne (JIRA)" <ji...@apache.org> on 2012/05/17 14:03:06 UTC

[jira] [Commented] (AIRAVATA-414) Refactor XBaya

    [ https://issues.apache.org/jira/browse/AIRAVATA-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13277747#comment-13277747 ] 

Saminda Wijeratne commented on AIRAVATA-414:
--------------------------------------------

Running in to a few issues while trying to refactor. I started with refactoring the workflow interpreter in to a different module. But it is dependent on the model of the workflow. Therefore the first task was to refactor-out the workflow model in to a new module. This turned-out to be far more difficult than I imagined. The reason is that both the model and the controller was aware of each other. And the controller was partly the view as well. Thus the workflow model was really tightly coupled with the core workings in xbaya & the workflow interpreter. 

Thus I had to add a middle man to do the work the model was doing with the controller/view so that model can be released from that coupling. I also had to rearrange some of the classes in to different packages based on them being invalidly classified as GUI or model or sometimes based on usage.

However there are classes which behaves as containers for supporting functions for the models as well as core functions of XBaya (eg: ODEClient). Thus they cannot be refactored out of XBaya directly. Only way that I can think of is to refactor such classes in to 2 separate classes based on the model requirements and XBaya requirements. So here we go....
                
> Refactor XBaya
> --------------
>
>                 Key: AIRAVATA-414
>                 URL: https://issues.apache.org/jira/browse/AIRAVATA-414
>             Project: Airavata
>          Issue Type: Task
>          Components: XBaya
>    Affects Versions: 0.4-INCUBATING
>            Reporter: Saminda Wijeratne
>            Assignee: Saminda Wijeratne
>         Attachments: xbaya-refac.png
>
>
> With continuous additions XBaya has being evolved right now to a state where it should be restructured & re-factored in order ease the maintenance, readability & reusability.
> Following are the main goals of this task
>     Extract following components as separate maven modules
>         Workflow Interpreter
>         Workflow Monitoring
>     Create a clear separation between the code for GUI and core functionalities (This'll be useful for the XBaya web version)
>     Replace all usages of direct service calls (Registry/WorkflowInterpreter etc.) to go through Airavata-client API (This should help stabilize Airavata-client API)
> Attached is a diagram depicting the intended restructuring.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira