GUI Development Paradigm

Hi everybody!
I'm quite new in ALBPM and I have some questions about it, especially about user interfaces.
I've been developing JSP aplications (using MVC frameworks) for a long time, and I can't figure out how does it fit in the ALBPM world.
What's the paradigm for GUI development? At first, I believe the screenflow should act like the controler, the BPM object is the model, and the custom JSPs are the views.
But... sincerely for me, the Screenflow/BPM object/Custom JSPs seem less flexible than a regular MVC (Struts, JSF, ...)
My question is: Is it mandatory to use screenflows, or I'm able to use a MVC architecture inside ALBPM? If it's possible how should I implement it?
For example: I have a custom JSP with some menu items, and this items are links to other JSP pages. This behaviour should
be modeled using screenflows or can I use another approach? What's the best practice for this task?
In MVC architecture, the menu will be inside an html form with an action pointing to a servlet (a controller). And what about screenflows?
Well, I'd like to hear some opinions about this, especially because i'm triyng to get used to BPM paradigm, and in my opinion the best approach for this is hearing from people who had experienced this situation.
Thanks in advance,
Thiago

Hi Thiago,
I think I see what you're asking. Let me know if I'm missing your point.
I personally try to have a Model version of the BPM Object. I'll build this object first. This object just has the attributes, groups and methods I need. This object will be used to pass information from the process into the individual screenflows and procedures and subprocesses.
I'll then create a View version of the same BPM Object. I create this View BPM object is created by creating an heir from the original Model BPM Object (right mouse click the Model BPM Object and click "Create Heir"). When I know I'll need to collect several Model BPM Objects into one View object, I'll instead add these as attributes (each attribute would be of the type of the desired Model BPM Object). Built this way, this View Object would have all the attributes and methods of the Model object. You'd also add to this View Object the presentations you'll later use inside the screenflows and any methods you'll use inside these presentations.
At this point, you'll have a clean Model BPM Object - uncluttererd by presentations and presentation methods. You'll have View BPM Objects that will be used exclusively inside Global, Interactive, Global Creation and Interactive activity screenflows.
When I create a screenflow I always do it after I first have created a process with a BPM Object as an instance variable already defined in it. This object does not have to be perfectly defined. It just should be present in the process. If I decide later that I need additional attributes and methods, these can be added at any point in the development lifecycle. This object is the Model object I'll pass to my screenflows.
Second, after creating this process with the BPM Object (usually the process at this stage just shows the "Happy Path") I'll add the necessary Interactive activities used in the process. (finally getting to your question) I then create screenflows for each of the Interactive activities (right click the activity -> Main task -> pick screenflow from the dropdown -> New). As you're doing this from this panel, be sure to map the Model object as both an incoming and outgoing variable into and out of the screenflow. Some people also map the "result" predefined variable as an outgoing variable from the screenflow. If you do it this way, you'll not have to do any of the 4 argument mappings you'd have to do had you added the incoming and outgoing variables manually. If you decide to do this manually, many times you'll find yourself spending an hour tracing down where you lost the contents / changes made inside screenflows.
This best practice makes it easy to pass in and get back the Model object to and from the screenflow. Once inside the screenflow, you'd do the Model to View to Model object mapping described in my earlier post.
hth,
Dan

Similar Messages

  • GUI Development Question

    Hi everybody!
    I'm quite new in ALBPM and I have some questions about it, especially about user interfaces.
    I've been developing JSP aplications (using MVC frameworks) for a long time, and I can't figure out how does it fit in the ALBPM world.
    What's the paradigm for GUI development? At first, I believe the screenflow should act like the controler, the BPM object is the model, and the custom JSPs are the views.
    But... sincerely for me, the Screenflow/BPM object/Custom JSPs seem less flexible than a regular MVC (Struts, JSF, ...)
    My question is: Is it mandatory to use screenflows, or I'm able to use a MVC architecture inside ALBPM? If it's possible how should I implement it?
    For example: I have a custom JSP with some menu items, and this items are links to other JSP pages. This behaviour should
    be modeled using screenflows or can I use another approach? What's the best practice for this task?
    In MVC architecture, the menu will be inside an html form with an action pointing to a servlet (a controller). And what about screenflows?
    Well, I'd like to hear some opinions about this, especially because i'm triyng to get used to BPM paradigm, and in my opinion the best approach for this is hearing from people who had experienced this situation.
    Thanks in advance

    The reason for this is due to our JVM. This application is being developed for an embedded system. There are no swing components in this JVM environment for a couple reasons: size constraints and possible license issues.

  • NetBeans or Eclipse: Which is better for GUI development ?

    I am relatively new with JAVA, came from embedded software domain mostly in C.
    My interest is to learn and develop the GUI applications using Swing.
    I am currently in a process of evaluating the IDEs, Eclipse and NetBeans on Linux desktop environment (SuSE 10.3).
    My primary findings found that, NetBeans is better equipped with GUI development while Eclipse needs to have a plugin installed.
    For GUI development, I found that few of my fellow Java developer friends have mixed feelings about these two wonderful IDEs, in summary here are the comments:
    1) Developing GUI is better without any assistance from built in designers of IDEs (e.g. NetBeans or Visual Swing of Eclipse). Because, they put extra 'garbage" codes which are very much IDE specific.
    2) GUI development in NetBeans is faster and more productive than Eclipse
    3) Visual Swing for Eclipse is not a matured product and it is far inferior than NetBeans' capabaility
    Now I ask a question, what is the best practice to adopt for starting the GUI development ? NetBeans or Eclispse or IDE-less development ?
    Thanks.

    atomodachi wrote:
    Now I ask a question, what is the best practice to adopt for starting the GUI development ?
    NetBeansThis is my preference for IDE's. Please note that as I stated that is my preference. There isn't any best, some are clearly better than others for one reason or another, but once again, that boils down to personal preference.
    EclispseNot my preference.
    IDE-less development ?IMO: that is just silly. Unless you just enjoy tons of typing; why would you ever embark on doing something without a tool to speed up the process. Now that is not to say that in using your IDE you should start out by just dragging and dropping up a storm and merrily running down the road in ignorance until you hit a rough spot and have things dramatically pointed out that you've really not a clue about what is happening. Use the IDE, but learn how to do the manual processes along with it. That means that sometimes you'll not drag and drop to build your GUI, you'll actually code the entire thing. And you really should learn to do things command-line like compile. Do yourself a really big favor too, learn the debugger. The integrated debuggers is, perhaps, one of the best inventions in productivity tools that has as of yet been invented for developers.
    In any case, have fun... choose what you like, it really does come down to personal preference. I've worked in several shops over the years and most have come to the conclusion that if you can get the work done, and have projects that others can use, then to each their own preferences. The discussion rages on for and against each of the systems that you have mention--each have valid arguments--it boils down to what do you want and like.

  • Introducing JavaStates - a new API for state based GUI development in Swing

    JavaStates partially implements the semantics of D Harel' statecharts.
    It is currently hosted as source forge project:
    [https://sourceforge.net/projects/javastates/]
    , and has been used for several years for teaching Java Swing and the specification of man machine interfaces at ESIL
    [http://www.esil.univmed.fr]
    [http://laurent.henocque.com]
    The project provides several demos, including a full fledged swing text editor, and is stable.
    Details can be found here too:
    [http://javastates.posterous.com/]
    I'd be very happy to interact with both experts and users.
    I claim that Javastates tremendously improve the quality and speed of GUI development.
    Do you agree?
    Edited by: lhenocque on Mar 4, 2010 4:18 AM

    Thanks for the good practise hint, and many more thanks for your interest.
    I haven't tried anything but don't you get an explosion of states?
    explosion of states is controlled by concurrent regions. Two states in two concurrent regions can be active at the same time.
    There can be no 'explosion' anyway since the states are programmer declared. The list is finite, and under control.
    For example the program I'm working on has a table and actions are enabled based on:
    -no selection/single selection/multi selection
    -top/bottom row selected (move up/down action)
    -user read/write permission
    -properties of the object of the selected row
    The situation you describe is handled by (at least) four concurrent regions.
    The typical error is usually forgetting a particular one which result in action being enabled/disabled when the shouldn't. Currently solving that by having a callback method which enables all the action correctly and gets called whenever there is a selection/security/etc update.
    Javastates cares for both setting the properties of the states (including the callbacks to fire) and for the cleanup. Using this allows for defect free interfaces in the sense that nothing can be left over.
    Using Javastates helps you to separate your logic in the same way as object programming with virtual functions does. You should end up replacing a code with many if/thens by separate listeners, dynamically set by callbacks.
    Also fluent interface method chaining is nice until it becomes a flood in my opinion - similar to how GroupLayout is better handled by Matisse GUI builder than by hand, JavaStates might benefit more from a graphical tool.
    You are right. Both apis exist. The fluent api is provided for simplicity, since it prevents from declaring useless local variables.
    Also for a GUI builder. I created the foundation of Javastates for an interpreted language called WIZ in the IDE Openside around 1990 (that was in C).
    Then later I implemented a subset of the current Java features in C++, that were interfaced in the GUI Builder called ILOG Views.
    So yes I agree a GUI can help, but anyway the Java code resulting from using states is mare more concise and structured than it would otherwise.

  • What was the first GUI development tool of Oracle?

    Hi,
    I am an Oracle Developer and currently developing my own Website dedicated to Oracle, especially on the development tools. In my website I have a page dedicated to the history and development of the Oracle Developer tools, from SQL*FORMS 1,2,3,4 etc. to the Current Developer. What I want to know are the release dates of the first Windows based development tools by Oracle. I know that Forms 4 was the first Windows based GUI development tool Oracle released ( I think it was called Oracle CDE). But I don't know when it was released. Was it in 1993 or 1994? If you can tell me which month it would be even better and more accurate. I got to know through the Internet that Developer/2000 Version 1 was released in March/1995. Is this true? Any information on this would be greatly appreciated.
    Thanks & regards
    LS

    Hi,
    the first version of CE was 7.1. Followed by 7.11 and 7.20. But you have to be carefull. There was a netweaver release 7.0 which already included parts of the components shipped with CE (e.g CAF and WebDynpro). But these are different releases, so it is not possible to do an easy upgrade from NW 7.0 to CE 7.1
    Best regards,Stefan

  • JSE 8 - Tutorials covering GUI development?

    The version 7 tutorial doesn't match up - is there any good tutorial documentation covering GUI development with JSE 8 ?
    thanks!

    The tutorial from Netbeans 4.1 should fit - http://www.netbeans.org/kb/41/form_getstart.html

  • IDE for gui development

    Does any one know a good ide for java gui development other than JBuilder...
    thanks
    SP

    I use both JBuilder and Eclipse, but to be honest, I never created a GUI with any of them. In my experience, at least some GUI-creators produce a lot of junk - the GUIs always looked different during runtime than they did in the editor window. Do it like I do and manually code them.

  • GUI development direction

    I am trying to get a feel for where Sun is heading with GUI development tools. The visu tool (XDesigner) included with Forte C++ installs with "support" for integrating a numer of widget sets into the base program. However, I have never been able to create a fully functional widget set-specific version of the visu tool with the supplied integration files. The CDE widgets can be integrated somewhat successfully, but other user_widgets directories like that for Motif 2.0 are missing files, and it's clear that these were never tested before pressing the CDs. Without these additional widgets (combo boxes, tabbed panes,...), it's not possible to create a reasonably modern GUI. These problems are not addressed with each new release or update, which indicates that it must not be a priority for Sun or other developers. I've asked about this on various tech support calls to Sun, but no one had information. Does anyone have any clues to Sun's direction regarding modern GUI development with C++?

    Motif 2.x development is not supported in Forte Developer 6U2 and previous versions.
    It will be supported in Forte Developer 7 though.
    You can try out the FD7EA2 package with your code for now, but FD7EA2 does not honor the "visu" name and "VISUROOT" environment variable. You will have to change "visu" to "xdesigner" in any existing makefiles and "VISUROOT" to "XDROOT". Other than that it should be compatible.
    FD7EA2 is available at http://wwws.sun.com/software/Developer-products/info/features/fd7ea2.html .
    -Moazam

  • Tools for GUI development in Java

    hi,
    Can anybody tell me which r the tools available for GUI development using java?which could be the best

    Take care not to produce much source code! Use a suitable framework rather than a tool and save maintainability. E.g. http://www.must.de/cameleon.html

  • Understanding the Windows Phone Development Paradigm

    Hi all I have been developing WinForm apps for a long time and over the past year or so have moved over to WPF. I guess I am quite old school in my ways but I still cannot get my head around data bound WinPhone apps.
    I have no issue developing local WinPhone apps that just store data locally. However I cannot understand why it has to be so complex (is it?) dealing with databound apps on WinPhone.
    In my head all I want to do is make a call to a server, via a datareader or other object and then populate my datareader. Like wise to update/insert take the data from my model stick it through an adapter and send it off to the server.
    Can anybody explain why this cannot be done on WinPhone (or can it and I'm missing something?). Also I'm struggling to get my head around the service aspect of a WinPhone app.
    It seem to me that you have to create a mobile service on Azure (or similar) and then actually write the code for it in c# (why can't I do this in vb.net? Does this mean I have to write my service in c# regardless of the language I choose to develop my app
    in?) and then publish it to my mobile service. My phone app then connects to this published service.
    Any tips good posts about which explains the whole concepts and reasons why WinPhone apps need to be developed this way. The MSDN ones to be honest seem to assume everyone knows the paradigm, without really explain the reasons for it.

    DataReader/Dataset is not available in Windows Phone. To create databound app you have to create WCF Service which you can host on your server and consume it in your Windows Phone app. You can have a Azure Service or you can host WCF Service on our own server.
    Although most of the samples are  in C# but you can also write code in VB.NET. You can use C# to VB.NET Converter to convert sample into VB.NET
    http://converter.telerik.com
    Gaurav Khanna | Microsoft VB.NET MVP | Microsoft Community Contributor

  • Gui development tools

    im not exactly new to java, i have developed GUIs in the past . is there any good tools or software out there for rapid development of GUIs rather than writing code.
    Sincerely dotsy

    I think all gui creators suck.
    You still have to go into "their" code and try and figure it out.
    I have now created 3-4 very robust gui applications.
    I now have my own frame work that I work around.
    I can create complex guis within hours.
    It's that MVC thingy that made my View or Gui classes very portable.
    I think that is the best way, then you know your own code.
    and you can use it over and over again with different apps.

  • Should I use an IDE for GUI development?

    I have never wrote a GUI before and am wondering if I should use an IDE such as Glade (or something else) or if I should write everything by hand?  I want to develop with GTK.  What do you guys suggest? 
    EDIT:
    Also the reason I was thinking of using GTK was because I am making a front end for a project I wrote in C.  From looking around it seems people like QT over GTK.  Is it difficult to use QT (C++) with C code?
    Thanks
    Last edited by pavekt (2010-06-11 13:07:18)

    A lot of informal polls I've seen indicate coding GUIs by hand is more common than using a designer.  That said, there is nothing "wrong" with using a designer and they can be extremely helpful in some projects.
    To put it simply--try both and find what works best for you and your project. That is what you should use.
    Same goes for using an IDE.  If Vim gives you everything you want, great.  If you love Eclipse and use it for everything, well that's great too.  Choice FTW!!
    No one can make these decisions for you (except your boss... )
    Last edited by xenobrain (2010-06-11 20:08:10)

  • GUI development in NWDS

    Hi,
    Is there any visual editor for developing GUI in NWDS.
    I need to place my controls on the UI using the editor without having to specify the position in the code (something of a autogeneration of code for the components created in UI).
    I am creating the UI using Swings.
    regards
    Raja Sekhar

    Hi Jo,
    I have installed Visual editor on the top of eclipse 3.1.
    When I try to create a GUI in the eclipse, I am not able to place the controls on the UI properly. I am also not able to customize layout window to include controls in multiple colums adjacent to each other. When I click the Show customize layout window icon, "No layout options to customize the current selection" message appears.
    I have installed Visual editor 1.1, then installed GEF 3.1 and EMF 2.1.2.
    How do I set the Grid Layout manager. Is there any other  software that I need to install.
    Regards
    Raja Sekhar

  • Need some help with GUI development

    Hi ppl.. I am new to labview and I am currently involved in a testing equipment development. I need some help. firstly I need to know if multi-screen GUI (with icons and stuff)is possible in Labview. Secondly I need to interface the measurements to a database. Would it be possible to create just small executable to perform the measurement part alone and do the rest of database operation using VB. (or would it be advisable to do the whole lot in labview)
    the final sft should look something like this
    screen1 :setup screen... interface with database
    screen2 :actual test and test results
    screen3 :log file creation
    measurement is via daq board and i also need to send some control signals and set up TCP/IP for data transfer.

    Hello.
    I am not completely sure what you mean by "multi-screen", but I am pretty sure that doing the user interface using a tab control will work for you. I have attached an example VI which is a state machine (which in LabVIEW you do with a case structure inside a while loop). Notice how the configuration controls are in the first page of the tab control, associated with state 0 of the state machine, but in the block diagram, they are actually used in state 1 of the state machine. Instead of writing a very long description, I will let you take a look at the code (which I saved in LV 7.0 version). Let me know if you have questions or comments
    Attachments:
    MultiScreenStateMachineExample.vi ‏50 KB

  • GUI Developer job in Armonk, NY

    Hello everybody, i am looking for a GUI/Swing/Struts Developer for a financial services firm in Armonk, NY. This would be a 12 month contract, however it is likely to be extended. If you have a minimum of 2 years Java software development and you are a expert in GUI, SWING, Struts and have a valid work permit for the States, please contact me through email: [email protected]

    http://java.sun.com/siteinfo/conduct.html
    I quote -
    There is no place in these message boards for slander, third-party commercial advertisements (including links) or unauthorized information disclosure.
    1.2 While it is not our intent to monitor Your online communications, Sun reserves the right to edit or remove content that we become aware of and determine to be harmful, offensive or otherwise in violation of these Terms. Sun may also remove Content that contains third-party commercial advertisements, is inaccurate or includes unauthorized disclosure or personal information. Violation of these restrictions ("Restrictions") may also result in the termination or suspension of your account. These Restrictions apply to all content provided to or through the Services, including email messages, newsgroup postings, chat, and personal or business web pages.

Maybe you are looking for