[ 
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

        

Reply via email to