Java for business logic and CFMX for GUI?

For those familiar with ColdFusion MX, does it make since to use Java at the business logic and possibly data tier and have CF handle the GUI?
What are the advantages/disadvantaes (methology, threading, memory use, performance, etc)?
Thanks,
Brett

I can't think of any advantages to doing this except that you won't have to listen to people whine about learning something new. Go with Java Server Pages and Servlets to split this functionality. Once you get over the learning curve, you will be much happier.

Similar Messages

  • How can I use JTA in my business logic and execute process with PAPI?

    HI All,
    How can I use JTA in my business logic and execute process with PAPI?
    When my business logic has exception, the process will rollback.
    or the process has some exceptions, my business logic also will rollback.
    I don't know how to do it.
    Does anyone know how to do it?

    Thank you for your reply, Daniel.
    But I think I did not express my mind clearly.
    There is a scene that I have 2 Application Server.
    My business code is deployed in one Server.
    The BPM is deployed in another Server.
    I want to execute Task use PAPI.(ProcessServiceSession.runActivity)
    In my business code, I will do something before execute Task.
    I need my business logic and Task in same transaction.
    To ensure them "all-or-nothing" .
    As you say, if The transactions are managed by Oracle BPM.
    then can I retrieve OBPM transcaction in my business code?

  • Business Logic and Business Rules

    Hi,
    I have a very basic question. If we develop a new screen on top of ECC using Webdynpro ABAP to replace a ECC default screen, say for an example, ME51n screen for purchase requisition to be replaced by a custom screen developed in ABAP Webdynpro, then how do we incorporate the inbuild business logic and the business rules of me51n in to this new screen developed in ABAP Webdynpro? In short, how do we incorporate business logic and rules in to ABAP Webdynpro application?
    do we have to code all the logic from scratch or we can use existing logic? If we can, how.
    Thank you for your help.
    Shai

    Duplicate thread
    Business Logic and Business Rules
    could you please close it.
    thanks
    sarbjeet singh

  • Bean containing both UI components and business logic

    Hello  ADF design experts,  please guide me.   I came across a critical design aspects.  I have main page having bunch of UI components,   Region 1,  Region 2. I will have to bind the UI components of the page to a managed bean having session scope and the reason is,  when control goes to region 1 or region 2, I will be doing lot of  processing of business logic  and then based on this,  I will have to update the UI components of the page.   Same thing with region 2 also.  And then,  I should be able to access the information    across regions and also across other UI components etc.
    I am seeing only  session scoped bean will be able to help me here to get my tasks done across regions and across all other UI components of the page because I am not in a position to pass too many parameters across regions.     Now the problem is,  I can not serialize this bean  because as I mentioned  lot of UI components are updated based on logic. 
    If I do not serialize the bean, I may have problem in future when application has to be deployed to cluster envt.
    I do not know how should I go with my design now.   Please provide me brilliant ideas and very thankful to your guidance.
    thanks

    Hi ADF,
    I dont want to disturb the discussion with you and Alej. I'm rising some question from your first post.
    I have main page having bunch of UI components, 
    ok fine.
    Region 1,  Region 2. I will have to bind the UI components of the page to a managed bean having session scope
    1.why need to do this binding for all ui components .?
    2.this question lead ask another question are you using ADFBc.? if so binding layer will take care why you bind all those things.
    3.why you need to put session scope.?
    if you are using region. the region can only be bounded TF right, then communicate with help of pageflow. inside the bounded you may have jsff/jspx,
    reason is,  when control goes to region 1 or region 2, I will be doing lot of  processing of business logic  and then based on this,  I will have to update the UI components of the page.   Same thing with region 2 also.
    from the reason i have question? why you need to communicate between two region instead of using Taskflow communication.
    And then,  I should be able to access the information  across regions and also across other UI components etc.
    ok fine.
    I am seeing only  session scoped bean will be able to help me here to get my tasks done across regions and across all other UI components of the page because I am not in a position to pass too many parameters across regions.     Now the problem is,  I can not serialize this bean  because as I mentioned  lot of UI components are updated based on logic. 
    from my point of view. your are using all powerful feature session bean, region communication to do your requirement.
    mixing all those things so only you can't able to get consistent results.
    I do not know how should I go with my design now.
    could you please explain your usecase.
    Please provide me brilliant ideas and very thankful to your guidance.
    yeah sure. people will do.
    thanks

  • UCES Business logic / Implementation question

    Hello,
    I hope this is the right forum for this, I found nothing relevant about it with the search...
    I hope you can help me or perhaps at least point me in the right direction or give me some links.
    It's really hard to find anything substantial about UCES on the net, so ANY help is greatly appreciated!!!
    Okay here we go:
    I have a requirement for a client who wants a Web 2.0 Portal with the Business logic implemented with UCES (Utility Customer E-Services)
    What I now (for a start) need to know is:
    1.
    How is business functionality in UCES implemented? With Java or with ABAP? Does anyone know this? Are both approaches possible?
    2.
    How does a possible interface between UCES business logic and the frontend look like?
    - JSP -> EJB -> Java Connector -> ABAP?
    - JSP -> EJB ?
    - JSP -> EJB -> ABAP over Web Services ?
    - or other ?
    Like you see, I'm really just trying to get a grip on the basics, a starting point from which to find further information. So really, anyone who has experience with this, please answer, it's greatly appreciated.
    Thanks
    Ralf

    Hello Ralf,
    This seems to be the wrong forum but a quick check and I found
    Re: SAP Utilities Customers E-Services (SAP-UCES) - Documentation?
    Maybe this can help.
    Regards
    Mark

  • Seprating Persistence logic from business logic

    Hi all !!
    I was thinking about that is there any known way or a possible way by which i can write a Entity Bean in which i can seprate the business logic and Persistence logic. Like what if i want to decide at the deployment type whether my Bean is gonna be BMP or CMP.Becuzz it may be possible that CMP may work fine with a particular container but does'nt work with some other vendor's container , so at the deployemnt time i can juzz switch it to BMP rather than CMP.
    Any comments?
    Thankzz

    Greetings,
    Hi all !!
    I was thinking about that is there any known way or a
    possible way by which i can write a Entity Bean in
    which i can seprate the business logic and Persistence
    logic. Like what if i want to decide at the deploymentYep! It's called a DAO (Data Access Object). Of course, this is only useful for BMP beans...
    type whether my Bean is gonna be BMP or CMP.Becuzz it
    may be possible that CMP may work fine with a
    particular container but does'nt work with some other
    vendor's container , so at the deployemnt time i can
    juzz switch it to BMP rather than CMP.
    Any comments?Absolutely. First implement your bean class for CMP, then extend from it to make a BMP version. Then during assembly/deployment select the version appropriate to the environment. You can increase your application's portability even further by encapsulating the persistence logic in a DAO which could then be accessed from a JavaBean in JSPs/servlets (or applications) directly. :)
    ThankzzRegards,
    Tony "Vee Schade" Cook

  • Business Logic across applications

    Is it possible to share business logic between multiple applications (different workspaces). If yes, what is the bext way to do it so that when the business logic (in a centralized location) changes all the applications will be updated with the new change. Is this even feasible and will that require re-deployment?
    Any thoughts on this is appreciated.
    Thanks.

    You didn't specify what type of business logic and what technologies you are looking at.
    But for example with ADF Business Components here is what you can do:
    http://download.oracle.com/docs/html/B25947_01/bcadvgen007.htm#CHEFECGD

  • Java Swing/AWT and FX is so old school! Give me HTML and CSS for GUI!

    Dear Java,
    I am a seasoned programmer and I feel it's time JAVA implements a GUI system where it uses HTML and CSS for the GUI. For the love of god just look at the interfaces you can make using HTML and CSS alone. I am a big fan of Java Swing and the recent GUI designer for FX is quite cool. But they are just not as simple as HTML and CSS. And JavaFX has some interesting requirements for the graphics.
    I know it is possible to use JavaFX and implement the WebView/WebDriver and make it load a HTML page, etc... but why go through all the trouble?
    Just imagine... if you make Java where it has powerful back-end to do what it does best and the HTML/CSS powered GUI on the front-end. It will make the lives of many developers much much easier.
    I am not sure whether a Swing designed GUI will be faster than a HTML designed GUI... but if you look at a traditional browser and how fast it renders HTML/CSS, I am sure if Java had a native Form where it uses HTML and CSS to render the GUI, Java will make the dreams of many programmers a reality.
    Make it happen!!!!

    Check this i solve problem just now using this
    https://wiki.archlinux.org/index.php/Ja … ow_Manager

  • Packaging concept for GUI and Background, using SwingWorker

    How to set up the following structure, in order to meet the requirements of SwingWorker (doInBackground, publish, process):
    1. There is a class SGui - contained in a package of Swing GUI methods SGui, located in package ...sgui - which will
    - start a background thread, by using SwingWorker, which does some complex logics (the methods from class SSolv, see item 2)
    - it passes initial data to that background process, which have been entered into the GUI
    - displays the intermediate results from the background threat
    2. There is another class SSolv, in package ...ssolv, which contains some complex logics, and should deliver intermediate results to be displayed by the GUI
    From all the information from tutorial etc., I put up a structure like this, for SSolv:
    package ...ssolv;
    class SSolv {
    void senderMethod {
    publish (ComData...)   // should transfer the data to the EDT
    : class ComData {
    //  ... puts up the objects for transferring the data to the GUI, by method publish
    }All the rest of Swing methods goes to package SGui.
    This stub already shows the issue, which comes from structuring the application in two (or even more) packages : compiling package SSolv produces the error publish(V...)
    has protected access in javax.swing.SwingWorker ! I understand that this protected method could only be used in this context, after instancing a subclass of SwingWorker,
    - however I thought it would most senseful to get the "sender" (+publish+), and the "contents" (+ComData+) to the package, where the data will be produced.
    This is evidently in contradiction to the requirement, that publish - as a protected method of SwingWorker - should be defined in the SGui class, as it has to apply the (overriden) methods process (including get), done etc.
    With my application, the SGui class will be compiled later ! So I had to reference a method from SGui that is not known during compiling of SSolv !
    Unfortunately, all the examples shown in the tutorials (as far as I can already know them...) only use one package; so all the classes are compiled from one file, and they will not get this dilemma.
    Please give me some idea, how I will have to restructure / workaround / use advanced methods, to solve this ?
    Edited by: GW.G on 16.07.2010 17:27

    Bad news: I did some homework, but I didn't get it working...
    One reason may be, that your demo doesn't cover my reqs. exactly, regarding implementation of MySwingWorker, because my SSolv - which does all the processing - has to be in the doInBackground() method, and the 'senderMethod' (called dumpExFlags in my SSolv.java) is running integrated from within, because the application SSolv decides, when we have data ready for publishing. See code below...
    Secondly, I really did not get the point with your design, especially with the following segment from MySwingWorker, regarding the use of the private objects sgui and ssolv, and the mechanism of the constructor ?
    import yr2010.m07.d.ssolv.ComData;
    import yr2010.m07.d.ssolv.SSolv;
    public class MySwingWorker extends SwingWorker<Void, ComData> {
       private SGui sgui;
       private SSolv ssolv = new SSolv(this);
       public MySwingWorker(SGui sgui) {
          this.sgui = sgui;
       @Override
       protected Void doInBackground() throws Exception {
          ssolv.senderMethod();
          return null;
       }{code}
    By the way, I analysed the java files with PMD, and didn't find any relevant
    hints why things should not work like that.
    Another tricky detail: the compiler (as well as PMD) reports, that method 'publish' does not 'override', except calling the super method, but your example works !?
    Finally, to my knowledge any type that is overriden, should have his own @Override 'tag'. So did you purposefully omit that in your design ?
    Worst of all, I just ran into the problem that the compiler will not
    recognize all the the variables and methods I imported to the
    DoSolver(SwingWorker subclass). (This may be an issue from my 'bottom
    up' design of my 1000 lines of this first Java example I produced), but:
    I don't see why, in this case, javac ignores all the imports from other
    packages, and reports 'cannot find symbol' on ANYTHING ... ? This puts my debugging efforts on the major problem to halt ...
    {code}
    package s3forum.sgui;
    import javax.swing.;
    import java.util.;
    import s3forum.ssolv.SSolv;
    import s3forum.ssolv.ComData;
    import s3forum.sgui.SGui;
    public class DoSolver extends SwingWorker< Void, ComData > { // SSolv definiert Datenformat
      // DoSolver() - shouldn't be necessary. implicitly defined by instancing with
      // DoSolver dSol = new DoSolver() - should get the overriden methods ready for use
    // ========== Background process, will start when instancing DoSolver
    @Override
    protected Void doInBackground() {
      SSolv slv=new SSolv(vArr); // Instance of solver. vArr=start-values from SGui
    return null;
    //============ Gets data from SSolv coninuously
    @Override
    public void process (java.util.List cDList) {
      if (cDList.size() > 1) { //### Prelim: ignore multiple datasets!
        System.out.println(" ### Multiple values !! ### ");
      ComData cD = cDList.get( cDList.size()-1 );
      dispMLabel (cD.getX, cD.getY, cD.getD);
      if (cD.getIS) {
        dispMText (cD.getX, cD.getY, cD.getD);
    } //Process
    //=========== Postprocessing after SSolver finishes
    @Override
    public void done() {
         // Message
      dispGuiMsg ("Solver ist beendet. FERTIG dr&uuml;cken zum Beenden >");
        // modify button, forcing System.exit()
      fertigB.setActionCommand("fertigWaitEnd");
      fertigB.setEnabled(true);
    //=================== publish, should override method from SwingWorker
    @Override
    public void publish( ComData cd ) {
      super.publish(cd);
    } // Class DoSolver
    {code}
    Could you please further comment on this ? Thank you !
    Edited by: GW.G on 20.07.2010 12:46
    Edited by: GW.G on 20.07.2010 12:48                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Accessing LCDS Persistence Layer for use in Server-Side Business Logic

    Within server-side business logic, I want to be able to get a persisted object from LCDS, manipulate  that object, and then use LCDS to persist those changes to the database  as well as send those changes to the client.
    Is it possible to access LCDS' persistence layer (Hibernate) to be used by server-side business logic?
    I have attempted to use DataServiceTransaction.getItem(...).  However, for objects that contain a collection of other objects I get this error:
    [LCDS] Runtime exception while trying to fetch a property from hibernate: flex.data.DataServiceException: There is no current message broker to return.
    When calling DataServiceTransaction.updateItem(...) for objects that contain a collection of other objects, I get this error:
    org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.sd.pojo.Book.chapters, no session or session was closed
    Also, it appears that DataServiceTransaction.updateItem does NOT update the database?
    I have resorted to building my own Hibernate SessionFactory, but that seems unnecessary.
    One other piece of information is that I am using the Fiber modeling tool to build and deploy the model to the server.  I am generating the Java classes with Fiber and making them available to be used on the server.
    Thanks,
    Collin

    Thanks for the help guys.
    I guess what I'm really trying to get straight in my own mind is whether supporting interraction and control of eJB database interraction is still using the same functionality as having a stand alone app interracting with a db.
    I'm thinking about; the implications of using eJBs specific query language and the different way in which eJBs use db connections (either for the period of their lifetime or just for the duration of one interaction) compared with a stand alone app, which would maintain a connection to the database(s) while it is open.
    Connection pooling and caching of DB objects is often quoted as being a middle tier activity, but what does this mean when all 3 tiers reside on the same machine?
    Once again thanks for your comments and advice.
    Mark

  • Future support for using PL/SQL core business logic with ADF BC

    We want to migrate our large Forms client/server (6i) application to ADF, possibly using a migration tool like Ciphersoft Exodus.
    One scenario could be to use ADF BC and ADF-Faces or a different JSF-Implementation for presentation and business layer but keep our heavy PL/SQL-businesslogic inside the Oracle database in packages, triggers, functions and procedures.
    This scenario could be chosen due to the huge amount of interconnected logic inside the database (10 years of development; no technical components; any package may access any table and more of this kind of dependencies). The business logic nowadays held in Forms client will be moved mainly into the database as a prerequisite to this scenario.
    Choosing this "keep-logic-in-DB"-scenario we need a good support by ADF BC to do so. We know and prototyped that it is possible to call some PL/SQL via JDBC from ADF BC and it is possible to use stored procedure calls for standard business entity data access (ins, del, upd, ..). But this does not solve our problems. We want to reuse core business logic coded in PL/SQL. This is much more than change the ADF standard behavior for an update with an own PL/SQL-call.
    Now my question:
    Will there be a kind of sophisticated support to use ADF BC in combination with database-kept logic?
    If so, when will this happen and how will the common problems of transactional state inside the database and inside the ADF BC be solved? Any plans or ideas yet?
    Many other clients do have similar applications built in Forms and PL/SQL and would be glad to hear about a path of direction.
    I've read the technical article 'understanding the ADF BC state management feature' which you have contributed to. One current limitation is pointed out there: Using PL/SQL with ADF BC limits ADF AM pooling to 'restricted level' which reduces scalability.
    Are you aware of additional main problems/tasks to solve when using PL/SQL heavily with ADF BC, which we have to think about?
    Thank you for any response.
    Ingmar

    My main problem is two 'concurrent' areas holding state in an application system based on DB-stored PL/SQL-logic in combination with ADF BC.
    For a new System everything can be made ok:
    Sure, it is possible to build a new system with the business logic included in ADF BC only. All long-living state will be handled in the BC layer ( including support for UnitsOfWork longer than the webside short HTTP-requests and HTTP-sessions and longer than the database transactions.
    For an old system these problems arise:
    1. DB data changes not reflected in BC layer:
    Our PL/SQL-logic changes data in tables without notifying the ADF BC layer (and its cache). To keep the data in ADF BC entity objects identical to the changed database content a synchronization is needed. BC does not know which part of the application data has been changed because it has not initiated the changes through its entity objects. Therefore a full refresh is needed. In a Forms4GL environment the behavior is similar: We do frequently requeries of all relevant (base)tables after calling database stored logic to be sure to get the changed data to display and to operate on it.
    -> Reengineering of the PL/SQL-logic to make the ADF BC layer aware of the changes is a big effort (notifying BC about any change)
    2. longer living database transactions
    Our PL/SQL-logic in some areas makes use of lengthy database transactions. The technical DB-transaction is similar to the UnitOfWork. If we call this existing logic from ADF BC, database state is produced which will not be DB-committed in the same cycle.
    This reduces scalability of ADF BC AM pooling.
    Example:
    a) Call a DB-stored logic to check if some business data is consistent and prepare some data for versioning. This starts a DB-transaction but does not commit it.
    b) Control is handed back to the user interface. Successful result of step a) is displayed
    c) User now executes the versioning operation
    d) Call another DB-stored logic to execute the versioning. DB-transaction is still open
    e) Business layer commits the transaction automatically after successful finishing step d). Otherwise everything from a) to e) is rolled back.
    -> redesign of this behavior (= cutting the 1to1 relation between LogicalUnitOfWork and the technicalDatabaseTransaction is a big effort due to the big amount of code.

  • How To Set the Resultstate of Business Logic CO for Loop Decision Action

    Hi,
    I'm using a pre-conditional loop block in my GP process and using a Business Logic CO for the loop decision action. My expectation is the business logic CO should be executed at background and based on its resultstate the loop flow will happen. I've 2 resultstates in the loop decision (bus logic CO) - Continue and Break. I'm setting these two resultstates in the following way :
    Continue : BOOL(@currentLevel < @totalLevel)
    Break : !BOOL(@currentLevel < @totalLevel)
    currentLevel and totalLevel are the two input parameters (unsigned int type) of the business logic CO. If I test the CO it works fine and displays the correct resultstate. But at runtime the process gets paused at the loop decision action CO. I see the loop decision action link in my GP workcenter and UWL and on clicking of it nothing happens. If I refresh the screen still it's there as before.
    Anybody who can throw any light on this issue will be highly appreciated. And reward points guranteed for any help to solve the issue
    Thanks in advance,
    Dipankar

    Hi,
    Well I solved this issue myself ! After lot of research I found out that the resultstates should be in all small case <b>continue</b> and <b>break</b> and NOT Continue or Break.
    But now I've a different issue:
    I've an initial action under a sequential block. Then the pre-conditional loop block with a loop decision action and a loop body block(seq block).
    The expectation is initially the decision action should get the output param passed by the initial action and then in the iterations it will get the values passed by the output params of the loop body action. To achieve that I have mapped the output param of the initial action to the input param of the decision action and the input and output param of the loop body action. But it seems that the loop decision action though mapped to both the output of the initial action and the loop body action takes the value only from the initial action over the iterations and the values from the loop body action are not getting passed to the loop decision action. The context parameter value of the loop decision action remains static and it becomes an infinite loop.
    Any help to resolve this issue will be highly appreciated.
    Thanks,
    Dipankar

  • How to get Custom Time Correction business logic implement for ESS in R/3?

    Hi Experts,
    I am in trouble of implementing the custom requirement of correcting the time in ESS. I have to implement the time corrections as per business logic.
    Can any body tell me where to do this?
    What I need is suppose employee DWS is from 9:30 AM to 6:00 PM and suppose he forgot to punch the In time and then corects the entry for 9:30 AM in ESS then it get inserted into the R/3 data but now requirement is if support the employee has punched but at 10:00 AM and then corrects to 9:30 AM then it does not change the 10:00 AM and we wanna deleted these 10 AM entry.
    Thanks in advance.

    I have solved by created enhancement spot in PT_COR_REQ
    for method IF_EX_PT_COR_REQ~POST_VIA_BLOP
    Regards,
    Gaurav Patwari

  • Powershell to classify files ( confidential, highly confidential, Business use, and Public ) and encrypt it for confidential & highly confidential types.

    Hello Experts  !!
    I am wondering if PowerShell can be used to classify files (  confidential, highly confidential, Business use, and Public ) and encrypt it for confidential & highly confidential types.
    I found some material for Windows Server 2008 R2 and Windows 8.1 but that doesn't seem convincing. I need it for Xp and Windows 7.
    Thanks !

    You may want to consider using FCI (File Classification Infrastructure) in Server 2012 R2. You will need FSRM (File Server Resource Manager), AD RMS (Active Directory Management Services), AD CS (Active Directory Certificate Services, and DAS (Dynamic Access
    Control). You will also need a 2012 level forest and domain, and KDC support for claims, compound authentication, and Kerberos armoring. 
    Microsoft has already developed the software foundation to do exactly what you're looking for at an enterprise scale. It may be easier to implement it, instead of reinventing the wheel..
    Sam Boutros, Senior Consultant, Software Logic, KOP, PA http://superwidgets.wordpress.com (Please take a moment to Vote as Helpful and/or Mark as Answer, where applicable)

  • Which IDE is suitable for GUI in Java?

    Which IDE is suitable for GUI in Java?
    I have kind of complex form with many text fields and buttons in a Java application. I have been trying with Netbeans, everything is fine with Netbeans but it is a huge problem when all the graphics components move around when you have too many graphic....
    I am looking for IDE with GUI tools??? Any suggestions???
    Many thanx for all advices

    I tested Eclipse 3.2 and NetBeans 5.5. NetBeans definitely has the more stable, reliable and more user friendly GUI editor.
    From the rest of the development - the features of the IDE - I see that Eclipse offers more but with the drawback for the beginner (as I am) that some things are harder to figure out how they work in Eclipse. NetBeans seems more "intuitive" and easier for me. - Emphasizing again that I am a beginner.

Maybe you are looking for