Best practice/howto create extendable, modular, client-distributed java app

Hi!
I was adviced to re-post here, following advice from this post http://forums.sun.com/thread.jspa?messageID=10611662
I'll try to be consise, here's what I wonder about:
The application:
I am writing an application which I plan to offer for download and easy installation to end-users. The application will offer a set of services to the user. It is designed to run in the background on the desktop with a tray icon for easy administration.
What I need help with:
I am trying to make this application modular. E.g so that I can offer new services/extensions to the application for download at a later time. The user should then only need to download the new "plug-in" or module, install it on his computer with minimum effort and it should be plugged into the already installed application.
The question:
What is the "best / easiest" way of doing this?
I have been looking into the OSGi frameworks out there e.g. Knopflerfish and Equinox and have started reading about JPF the "Java Plug-in Framework"
I also just came across Platonos Plugin Engine
What I want is a solution which does not create a huge code overhead or is difficult to use, I want to keep it simple, both for me as developer and especially the user, is this possible?
- Looking forward to some input!

genernic wrote:
What I want is a solution which does not create a huge code overhead or is difficult to use, I want to keep it simple, both for me as developer and especially the user, is this possible?For the user? Certainly. For you, the developer? Not so much. Writing software is difficult, that's all there is to it. Frameworks like Equinox (Actually, Eclipse RCP might well be right up your street) do indeed relieve you of some of the burden of, say, writing a plugin mechanism, but they come with their own learning curve. They won't just do it for you, with a couple of easy clicks of a button. Generally, the easier you make things on your user, the more pain it is for you as a developer.
Eclipse RCP gives you some good wizards for getting started, but you'll still need to get an understanding of what's going on, or you'll be stuck when you hit a problem.

Similar Messages

  • What are the best practices to create surrounding borders?

    Good day everyone,
    I was wondering what is the best practices to create a look in my iOS app like the one below? How are they accomplishing the creation of the borders, is there a tool in Xcode IB to do that?
    Thank you in advance

    Once again thanks for your input, however I am still not clear how you have accomplish the rounded corners, you do not mention that in your reply.
    I did some research on my end and I was able to accomplish what I want with a UIView using the code below in an outlet:
    redView.layer.cornerRadius = 10;
    redView.layer.borderColor = [UIColor greenColor].CGColor;
    redView.layer.borderWidth = 5;
    However, I cannot do the same for the UITableView or UITableView cell.
    Thanks

  • BEST PRACTICES FOR CREATING DISCOVERER DATABASE CONNECTION -PUBLIC VS. PRIV

    I have enabled SSO for Discoverer. So when you browse to http://host:port/discoverer/viewer you get prompted for your SSO
    username/password. I have enabled users to create their own private
    connections. I log in as portal and created a private connection. I then from
    Oracle Portal create a portlet and add a discoverer worksheet using the private
    connection that I created as the portal user. This works fine...users access
    the portal they can see the worksheet. When they click the analyze link, the
    users are prompted to enter a password for the private connection. The
    following message is displayed:
    The item you are requesting requires you to enter a password. This could occur because this is a private connection or
    because the public connection password was invalid. Please enter the correct
    password now to continue.
    I originally created a public connection...and then follow the same steps from Oracle portal to create the portlet and display the
    worksheet. Worksheet is displayed properly from Portal, when users click the
    analyze link they are taken to Discoverer Viewer without having to enter a
    password. The problem with this is that when a user browses to
    http://host:port/discoverer/viewer they enter their SSO information and then
    any user with an SSO account can see the public connection...very insecure!
    When private connections are used, no connection information is displayed to
    SSO users when logging into Discoverer Viewer.
    For the very first step, when editing the Worksheet portlet from Portal, I enter the following for Database
    Connections:
    Publisher: I choose either the private or public connection that I created
    Users Logged In: Display same data to all users using connection (Publisher's Connection)
    Users Not Logged In: Do no display data
    My question is what are the best practices for creating Discoverer Database
    Connections.
    Is there a way to create a public connection, but not display it in at http://host:port/discoverer/viewer?
    Can I restrict access to http://host:port/discoverer/viewer to specific SSO users?
    So overall, I want roughly 40 users to have access to my Portal Page Group. I then want to
    display portlets with Discoverer worksheets. Certain worksheets I want to have
    the ability to display the analyze link. When the SSO user clicks on this they
    will be taken to Discoverer Viewer and prompted for no logon information. All
    SSO users will see the same data...there is no need to restrict access based on
    SSO username...1 database user will be set up in either the public or private
    connection.

    You can make it happen by creating a private connection for 40 users by capi script and when creating portlet select 2nd option in Users Logged in section. In this the portlet uses there own private connection every time user logs in.
    So that it won't ask for password.
    Another thing is there is an option of entering password or not in ASC in discoverer section, if your version 10.1.2.2. Let me know if you need more information
    thnaks
    kiran

  • Best practice to create multi tier (atleast 3 level) table

    What is the best practice to create multi tier (minimum 3 levels) of table?. Could any one provide a sample structure?.
    Thanks.

    Can u b more specific as to what you are trying to do. What u mean by 3 level table?

  • Best practice to create Voyager conn on SAP BI INFOCUBE OR  SAP BI Query

    I wanted to know which is the best practice to create a Voyager connection on SAP BI Infocube or SAP BI  Query?
    which is gud for more performance?

    Hi Nirmansyah,
    Please check the below link.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/business-intelligence/s-u/step-by-step%20procedure%20for%20creating%20customized%20bex%20maps.pdf
    Hope this helps.
    Veerendra.

  • Best practice to create a database

    please can you send me the best practice to create a database which is want to be used in the future for a dataware house

    Hi,
    For Dataware housing purpose only means you can create the database by using DBCA. or for only transctional purpose means you can create manyally. like create control file , datafiles and all.
    Thanks and Regards
    Venkat.K.Raju
    Mindlance,
    Oracle Applications Team
    BANGLORE..66
    Mobile:+919986556688
    Land:080-41464843 Ext-4942
    [email protected]

  • Best practice to create users - Hybrid scenario

    I would like to know what is the best practice for creating new users in a Hybrid scenario with all mailboxes hosted and no mailboxes on-premise.
    Currently when creating a new user we go to our local EMC and create a 'New Remote Mailbox'.  This creates the mailbox in Office365 and the local user account in one wizard.
    After the new user is created we have to manually add the user to the correct distribution groups, and security groups.
    We would like a way to create new users using a template which already has the correct distribution groups and security groups.  This is how we did it prior to setting up the Hyrbrid scenario.
    Is this possible?  Can we create a user from a template and have the mailbox created in Office365 at the same time?  We do not wish to create the mailbox locally then migrate it.

    Thanks for the response DJStatik.  I think this tool might be useful for creating users in bulk, however we are looking for a user template in the traditional sense.
    Occasionally we have a new user and (prior to O365) would 'copy' the template user to ensure correct groups etc.
    We have tried making users from the existing template we have, but in order to create the mailbox in O365, you need to 'mail enable' the user.  We have noticed that doing this process causes issues with Autodiscover for that particular user.
    To avoid the autodiscover issue, we have found it best to create the user and the mailbox in the same wizard - hence our new process that we would like a template.

  • Best practices to create Universe on top of SAP BW

    Hi Experts,
    I would like to know the Best Practices for Creating Universe on top of SAP BW.
    1. is it advisable to create Universe on top of SAP BW CUBE directly. in my case , we are starting a fresh BW implementation for one application on SAP BI.7 ; and BOE 3.1
    2. if we create a universe on top of BEX Query, what need to be done if want to upgrade to Business Objects 4.0 version.
    3. if we create a universe on BEX Query, will  SAP is going to support  universe on BEX for future releases.
    4. what is the support period for BEX and its integration with Business objects.
    Thanks
    Bhnau.

    Hi,
    1. is it advisable to create Universe on top of SAP BW CUBE directly. in my case , we are starting a fresh BW implementation for one application on SAP BI.7 ; and BOE 3.1
    First go through by below link.This guide describe how you can create universe based on Cube and Query and what features are available via Cube and Query.
    http://help.sap.com/businessobject/product_guides/boexir3/en/xi3_sap_olap_universes_en.pdf
    You can check on the Page 12 in the PDF what supported by Cube and BW Query while designing of a universe.
    Best practices says to design universe on top of one generic query for one Cube because CFK,RFK can not generate in the universe on top of BW Cube.
    2. if we create a universe on top of BEX Query, what need to be done if want to upgrade to Business Objects 4.0 version.
    check below links.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0d937fa-1261-2e10-6388-e71afb6b5ff6?quicklink=index&overridelayout=true
    http://biguru.wordpress.com/
    Thanks,
    Amit

  • Best Practices for creating reports/Dashboards from BW systems

    HI Gurus,
    Best  Practices of creating BO Dashboards / Xcelsisus from BW systems
    Prasad

    You can use the BICS connector that leverages BW queries directly.  It is listed in the Connection Manager as "SAP NetWeaver BW Connection".  You will need both the ABAP and Java stack and SSO configured between the two.  You will also need to have SAP GUI and BEx installed on the machine you are doing development on.  Note that dashboards using this connection can only be hosted in NW Portal for the time being until the next release of BI 4.x platform.
    Here are some links on getting started with the BICS connector:
    [Building Fast and Efficient Dashboards with BW and Xcelsius|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/d0ab8cce-1851-2d10-d5be-b5147a651c58]
    [Requirements for BICS|http://wiki.sdn.sap.com/wiki/display/BOBJ/prerequisitestoXcelsiusandSAPNetWeaverBW+Connection]

  • Best practice for creating JCO destinations

    Hi All,
       I have a project which uses 10 to 12 BAPIs.What is the best practice
      1) Create 10 JCO destinations one for each BAPI .
      2) Create one JCO and use it for all BAPIs.
         Can some one tell me what is the best practice.What are the advantages and the disadvantages.
    Regards,
    Rajini.

    Hi,
    these docs helps you to get idea over the jco best practices.
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/705f2b2e-e77d-2b10-de8a-95f37f4c7022
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/85a483cb-0d01-0010-2990-c5168f01ce8a
    Regards,
    ramesh

  • Looking for best practices when creating DNS reverse zones for DHCP

    Hello,
    We are migrating from ISC DHCP to Microsoft DHCP. We would like the DHCP server to automatically update DNS A and PTR records for computers when they get an IP. The question is, what is the best practice for creating the reverse look up zones in DNS? Here
    is an example:
    10.0.1.0/23
    This would give out IPs from 10.0.1.1-10.0.2.254. So with this in mind, do we then create the following reverse DNS zones?:
    1.0.10.in-addr.arpa AND 2.0.10.in-addr.arpa
    OR do we only create:
    0.10.in-addr.arpa And both 10.0.1 and 10.0.2 addresses will get stuffed into those zones.
    Or is there an even better way that I haven't thought about? Thanks in advance.

    Hi,
    Base on your description, creating two reverse DNS zones 1.0.10.in-addr.arpa and 2.0.10.in-addr.arpa, or creating one reverse DNS zone 0.10.in-addr.arpa, both methods are all right.
    Best Regards,
    Tina

  • Best way to create a UI for a Composite app

    Hi all,
    What is the best way to create a UI for a Composite app that we are developing using CAF and GP.
    1) WebDynPro Callable Object that implements GP Interface.
    2) Consume the Application services(exposed as web services) in WebDynPro app
    3) Creating a WebDynPro Model for the CAF Services.
    4) Create a WebDynPro Application Callable Object (If yes how can we map the input and output params b/n WebDynPro app CO and CAF Application service).
    Plz do remember we are using GP here.
    Thanks in advance,
    Best Regards,
    Sudheer.

    Hi,
    You can use Web Dynpro or Visual Composer for designing UI for your CA.
    1) WebDynPro Callable Object that implements GP Interface.
    You can use Web Dynpro Component CO to use a single Web Dynpro component in your GP Activity.
    4) Create a WebDynPro Application Callable Object :This is for entire Web Dynpro Application(multiple components).
    2) Consume the Application services(exposed as web services) in WebDynPro app :
    3) Creating a WebDynPro Model for the CAF Services.
    For example, in updating operations first we have to get the existing data from Database.For getting this data you can use application services in your Web Dynpro component.Later expose this WD component as CO insert in a GP activity.
    For creating operations, you can use Web Service CO(Application Service)  directly in GP Activity.
    These links are useful for you.
    [link1|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a00c07d0-61e0-2a10-d589-d7bc9894b02a]
    [link2|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10b99341-60e0-2a10-6e80-b6e9f58e3654]
    [lnk3|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1078e3b0-ec5d-2a10-f08a-c9b878917b19]

  • Best practice for creating RFC destination entries for 3rd parties(Biztalk)

    Hi,
    We are on SAP ECC 6 and we have been creating multiple RFC destination entries for the external 3rd party applications such as Biz-talk and others using TCP/IP connection type and sharing the programid.
    The RFC connections with IDOC as data flow have been made using Synchronous mode for time critical ones(few) and majority through asynchronous mode for others. The RFC destination entries have been created for many interfaces which have unique RFC destinations with its corresponding ports defined in SAP. 
    We have both inbound and outbound connectivity.with the large number of RFC destinations being added we wanted to review the same. We wanted to check with others who had encountered similar situation and were keen to learn their experiences.
    We also wanted to know if there are any best practices to optimise on number of RFC destinations.
    Here were a few suggestions we had in mind to tackle the same.
    1. Create unique RFC destinations for every port defined in SAP for external applications as Biztalk for as many connections. ( This would mean one for inbound, one for outbound)
    2. Create one single RFC destination entry for the external host/application and the external application receiving the idoc control record to interpret what action to perform at its end.
    3. Create RFC destinations based on the modules it links with such as materials management, sales and distribution, warehouse management. This would ensure we can limit the number of RFC to be created and make it simple to understand the flow of data.
    I have done checks on SAP best practices website, sap oss notes and help pages but could not get specific information I was after.
    I do understand we can have as unlimited number of RFC destinations and maximum connections using appropriate profile parameters for gateway, RFC, client connections, additional app servers.
    I would appreciate if you can suggest the best architecture or practice to achieve  RFC destinations in an optimized manner.
    Thanks in advance
    Sam

    Not easy to give a perfect answer
    1. Create unique RFC destinations for every port defined in SAP for external applications as Biztalk for as many connections. ( This would mean one for inbound, one for outbound)
    -> be careful if you have multi cllients ( for example in acceptance) RFC's are client independ but ports are not! you could run in to trouble
    2. Create one single RFC destination entry for the external host/application and the external application receiving the idoc control record to interpret what action to perform at its end.
    -> could be the best solution... its easier to create partner profiles and the control record will contain the correct partner.
    3. Create RFC destinations based on the modules it links with such as materials management, sales and distribution, warehouse management. This would ensure we can limit the number of RFC to be created and make it simple to understand the flow of data.
    -> consider this option 2.
    We send to you messagebroker with 1 RFC destination , sending multiple idoctypes, different partners , different ports.

  • Best Practice for creating Excel report from SSIS.

    I have a requirement to create an Excel report on a daily basis which pulls data from SQL. I have attempted to resolve this by creating a stored procedure to save the results in SQL, a template in Excel to hold the graphs & pivot tables and an SSIS package
    to copy the data to the template.
    Problem 1: When the data turns up in Excel it is saved as text rather than numbers.
    Problem 2: When the data turns up in Excel it appends the data rather than overwriting it.
    I resolved problem 1 by having another sheet which converts the text to numbers (=int(sheet1!A1))
    I resolved problem 2 by adding some VB script to my SSIS package which clears the existing cells before copying the data
    The job runs fine, however when I schedule the job to run overnight it complains "System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID". A little googling tells me that running the client side commands in
    my vb script (workSheet1.Range("A2:F9999").Clear(), workBook.Save(), workBook.Close() etc) from a server side task is bad practice.
    So, I am left wondering how people usually get around this problem; copy a SQL table into an existing Excel file and overwrite the data, without having the numbers turn up as text. My requirements are that the report must display pivot charts with selectable
    options and be automatically updated overnight.
    Help appreciated,
    Bish.
    Office 2013 on my PC, Office 2010 on the server, Windows Server 2008R2 Enterprise, SQL Server 2008R2.

    I think that the best practice in case like this is to Link an excel file to a view or directly to a table. So you don't have to struggle with changing template, with overnight packages, etc. If the data are too much complex and the desiderate too excessive
    then I tend to create a Cube and that's it...dashboard, graph and everyone is happy. In your case if the request is not too much try to don't use SSIS but directly build a view and point directly on SQL.
    SSIS is really strong for the ETL, to run some stored procedure too heavy, to use a cut time scheduled, etcetera , etcetera, etcetera...I love it. But sometimes we need to find the easier solutions...
    I hope this post helped you

  • Best practice: Developing report in Rich Client or InfoView?

    Hi Experts,
    I have a question on the best practice of developing webi reports.
    From what I know, a Webi report can be created in Rich Client and then exported to one or more folders. From InfoView, the report can also be changed, but the change is only local to the folder.
    To simplify development and maintenance, I believe both creation and change should be done solely in either Rich Client or InfoView. However, some features are only available in InfoView, not in Rich Client. One example is hyperlink for another Webi report. As a second step, I can add the extra features in InfoView after the export. However, if I change the report in Rich Client and re-export it, the extra features added via InfoView (e.g. report hyperlink) will be overwritten.
    As I'm new to BO, may I have some recommendations on the best practice for building reports? For instance:
    1) Only in Rich Client - no adding of feature via InfoView
    2) First in Rich Client, then in InfoView - extra features need to be added again after each export
    3) Only in InfoView -  all activities done in InfoView, no development in Rich Client
    4) Others?
    Any advice is much appreciated.
    Linda
    Edited by: Linda on May 26, 2009 4:28 AM

    Hi Ramaks, George and other experts,
    Thanks a lot for your replies.
    For my client, the developers will build most of the reports for regular users to view. However, some power users may also create their own reports to meet ad-hoc reporting requirements.
    It's quite unlikely for my client to develop reports based on Excel or CSV data files. And we need to use features such as hyperlink for documents (which is not available in Rich Client). Based on these considerations, I'm thinking of doing all development in InfoView (both developers and power users). Do you foresee any issue if I go for this approach?
    Thanks in advance.
    Linda

Maybe you are looking for