Designing an application so extra comopnents can be added later

Hi all
I'm about to start designing a new application, but would like to design it in away that I can add new modules at a later date without me having to alter the existing app.
Basically these new modules will be small apps that will do there own thing, but will be fired from the main app, and when they are closed you return to the main app. So after a while I will have an application with loads of seperated modules which will be optional for the user to add when installing the app depending on whether they need them.
I was thinking of having some sort of add/remove module dialogbox which will allow the user to select a new module to add or remove etc. But what is the best way to design the app so that these modules can be added. Do i use the class loadder to load the classes dynamically at runtime or develop the modules as seperated programs and fire them up from main program as needed?
Any ideas would be great.
Thanx
Gerard

Hey,
First off, I don't know if I stated it wrong earlier, or perhaps I am not understanding what you mean, but my UI framework has nothing to do with eclipse at all. It is built around my plugin engine and Swing, completely. It has no outside dependencies other than my plugin engine, the rest is all JDK (thus far). The engine itself has a embeded xml parser, that is it. It doesn't rely on any logging api, or any other outside api. So using my UI framework is thus far all wrapped around the JDK API.
Can you elaborate a bit more on what you mean by allowing a specific mandatory list of plugins, and optional? Should an application specify required plugins, then anything else found in some dirs are loaded after that? I ask this because a dilema I am running into with my UI framework is how to apply menu items in a certain order. My engine does not load plugins in a specific order or priority, first come first server as they are found. Problem is, if one plugin adds a QUIT menu item, and another an OPEN item, and OPEN appears AFTER QUIT because it is loaded after the plugin that provides QUIT, it looks wrong. So I am sort of stuck right now on how to allow plugins written by different people to build a solid menu tree without an inconsistent structure. We wouldn't want Help on the left and File on the right, but that is possible right now with my UI framework. One thought was to make my UI plugin set up the basic menu structure, with File -> Open, Save, Save As, and Exit, and a Help on the far right, and anything else gets added in between. This would be partially ok, only that some apps may not need a File menu, or a Help menu, so I don't want to enforce this behavior.
I am also not sure I understand what you mean by a plugin specifying requirements? Can you elaborate a bit more on that? Maybe give an example, something you may already do with your code?
Finally, some good ending points. I agree the end result is what the client wants, assuming the app you are working on is for a client. I also see where a pluggable architecture appeals greatly to a development community, such as in the case of Eclipse. 90% of the recipients of plugins are developers themselves. Naturally, it being a productivity tool for developers, this makes sense. But having worked with audio applications that are also heavily plugin centric, it seems to me a lot of clients are well aware of what plugins are and how to obtain them for their needs. What I am saying is that while the end result may be that a client doesn't much care about the concept of a plugin, just that it works, there are plenty of cases where client applications are heavily plugin centric and would require some knowledge of what a plugin is, how to obtain updates, possibly how to turn them on/off, add/remove, etc. Perhaps in some cases these types of tasks are higher level, such as turning on an FX option in a photo program may actually load the plugin, without the end user realizing they are dealing with a plugin.
At any rate, I thought I said, but if not, I in no way was trying to imply what you have done is "easy". No doubt you have spent a lot of time developing and know what you are doing. I guess my focus is the underlying manner in which my engine handles plugins. It is more like a servlet or ejb container in that it provides a number of services for plugins to use and maintains a number of things so that plugin developers don't have to worry about it.
At any rate, I appreciate the continued correspondence. I would enjoy your looking at what I have done, check out the source, taking it for a spin, see what you think. More eyes are better, and hopefully offer more ideas, better ways of doing something, etc.
Thanks.

Similar Messages

  • Any suggession on Tools for Performance testing of application designed for Blackberry phones.. which can get some details on CPU usage, memory, response time?? any help on the same is much appriciated.

    Hi Team,
    Any suggession on Tools for Performance testing of application designed for Blackberry phones.. which can get some details on CPU usage, memory, response time?? any help on the same is much appriciated.
    Thank You,
    Best Regards,
    neeraj

    Hi Team,
    Any suggession on Tools for Performance testing of application designed for Blackberry phones.. which can get some details on CPU usage, memory, response time?? any help on the same is much appriciated.
    Thank You,
    Best Regards,
    neeraj

  • Design web application API codes to extensible and can adapt to change

    Design web application API codes to extensible and can adapt to change with little effort to cater to SOA architecture.
    How will you all design to cater for this kind of requirement?

    RonaldMacdonald wrote:
    Design web application API codes to extensible and can adapt to change with little effort to cater to SOA architecture.I don't worry about change until I can write something that can actually be used once. I worry about use before reuse.
    >
    How will you all design to cater for this kind of requirement?I use Spring. It helps.
    %

  • How to design this application with Struts?

    I want to disign an application like this:
    Input the students data to the database(or xml)
    e.g:student_id,student_name,subject_id,subject_name,achievement...
    If i submit one record each time, it's easy to do it.
    use the tag of Struts as:
    <html:form ...>
    <html:text property="student_id"/>
    <html:text property="student_name"/>
    <html:text property="achievement"/>
    </html:form>
    And then create an ActionForm which attributes are correspondint to these input fields and create the Getters and Setters.
    But,if i want to input multi-record(e.g:10 records each time), how can i design the input page and how can i design the ActionForm?
    Frustrating...

    You could use struts indexed properties.
    http://struts.apache.org/faqs/indexedprops.html
    It is quite fiddly, but it does work.

  • Running Design studio application in Netweaver platform

    HI All,
      I have developed a complex Dashboard project with nearly 105 queries in Design Studio(1.2) application in BI BOBJ 4.1 SP 3 and its working fine.
    All my data sources are BW queries.
    Now we want to see if we can deploy the application directly on Netweaver  platform instead of BOBJ and create an Portal iView based out of Design Studio application.
    Please let me know the steps to migrate the reports.
    Thanks for your help,
    Manju

    Hi Dirk,
    Thanks for the replay.
    Sorry for the confusion. I have 18 DS application which is using 105 queries.
    When i try to connect to Netwever from DS i am getting the following error.
    Thanks,
    Manju

  • Accessing a SAP BW table data to display content in Design Studio Application

    Hi,
    I am working on a Design Studio application that contains a link to all the reports for different business users in an organization. The end user should see the links to only those reports he/ she has access to. This access rights are stored in a SAP BW table. I want to pull that data from SAP BW table to my application so that I can implement a layer of security in my application.
    1) What would be a good idea to get SAP BW table data in a design studio application.(This data is not used to populate my application, but will be used to check access rights for a user who is going to open this application).
    2) What will be a good option for deployment of this application ? On SAP Netweaver platform or on SAP BI Platform

    Hi Michael,
    Let me present my issue in a more clear format,
    I have a web template launch page that was created using BW 3.5. This web template has only one web item and that is 'role menu'. This role menu will display all the available list of web templates for each user as per the access rights of each user. Hence this web template was the only door for my end users to access BEx reports.
    While we were migrating to 7.x we found that there were no equivalent item available in 7x  version. As a workaround, I migrated all the queries and web templates from 3.5 to 7x but I didn't migrate the door. I asked my Basis team to replace the connection parameters for the links present in the door.
    So now all my users still use the 3.x web template but when they click on items in the list, they will be accessing reports that are of 7x version.
    Now my IT is planning to upgrade IE and knowing that bex 3.5 tools are not compatible with BW 7.4. This sounds like the role menu won't work at all with 7.4.
    I started exploring Design Studio to search for an alternative for Role Menu component. I created an application using HTML template in Design Studio. Now I am looking for different approaches to implement the same functionality in Design Studio. Can you please provide some inputs on this scenario.

  • Ad Hoc Query Designer - Web Application

    Hello,
    I have created a Web application that has the 'Ad-Hoc Query Designer' item.
    When I go to create a new query I don't have the option (or I can't find it) to use any variables.
    Like in Analyzer I can run a query and it will ask me the values for the variables I have embedded in the query.
    How do I make that work using the 'Ad-Hoc Query Designer'
    Also I have problems with the application timing out, what timeout variable needs to be adjusted?
    Thanks,
    Nick

    You have to run the Launch query in browser from the query designer window, it will be the second icon from the top. This will open up the query in a browser and if the query has a selection screen the browser will launch the selection screen.
    For the application timing out, it is a parameter that has to be set in the instance profile of the BI application server. You can ask your basis team to increase the parameter 'rdisp/j2eetimeout'.
    Hope this helps
    EmJay
    Assign points if helpful

  • Unable to open Design Studio Application in BI Launchpad after installing a plugin

    Hi,
    I have developed one Design Studio Application and deployed the same in the BO Dev launchpad. At that time the application was running fine.
    After that I have developed one plugin extension and installed it in Design Studio Client in the local desktop, then I have installed the same plugin in BI Platform too as shown below:
    After the installation of this plugin, whenever I try to open the Application in BI Launchpad I am getting an error screen as shown below:
    BI Platform is SAP BO 4.0.
    Please help me to solve this issue ASAP, as I have to submit this to the user for testing.
    Regards,
    Arun Krishnan.G

    Hi,
    this exception is a server side exception. This means, the content is in the server logs. Please follow the support note for BIP which you can take from Design Studio 1.2 Release Information -> Design Studio - Support Note for BIP Add-On and you can attach the last exception callstack (you should be able to find this log ID).
    the first step would be to get the server run again - you can try to "uninstall" the extension, doe this help (always APS restart is requried).
    having the exception we can see what is wrong. Definitely something on the extension installation - is this plugin created by your own - any specialities there?
    Regards, Karol

  • Designing an application

    Hi All
    I want to design an application which can take an input of database,text,csv,xml files. So I want to do it using design patterns. Which design pattern I should use?
    Any help would greatly appriciated.
    Thanks
    Diana

    Diana12 wrote:
    I want to design an application which can take an input of database,text,csv,xml files. So I want to do it using design patterns. Can you at least explain WHY you think you want to use a design pattern? It seems to me you have fallen prey to buzzword bingo.

  • Design biztalk application

    What are the best way to design biztalk application ?

    The best way to design BizTalk application (or any application) is to understand the requirement clearly and understand what BizTalk can provide to solve/fulfil the requirement. Its a big topic, here are some you have to consider..
    Keep it simple : Don't impose any design pattern for the sake of implementing a pattern. Try to find a solution which is simple to maintain.
    Keep operational support in mind: While designing a solution keep how this is going to be maintained/ supported during production. Thinking about the operational support up front is key to the success of BizTalk projects (again any project
    in general not just for BizTalk).
    Maintain Documentation: Document the requirement and proposed solution. try to document your work, which would help.
    Consider performance: Don't just implement the solution technically, consider about the performance. As questions like ..Do you really need BizTalk for your requirement? Do you really need Orchestration? etc..
    monitoring system: Consider about implement good monitoring system. Consider using SCOM/Openview/BizTalk360 for operational support and start designing your solution in line with this monitoring requirements.
    Release process: Have proper release process. Use different environment for development/build/test/integration/UAT and production.
    Project management methodologies: Use good project management methodologies like Lean, Agile etc
    Then there are standard best practices like project/solution structure, coding standards, etc..
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Design Model applications?

    The last step in creating a new application has a checkbox with "Save this definition as a design model for reuse" next to it. I could not see an explanation of "design model" in the HTML DB user's guide or on the Internet.
    Questions
    1) Does this mean you can have one or more template applications to speed up the development of new application?
    2) How do you change an application from not being a Design Model to being one? I created a template application without marking it as a Design Model. How can I make it one? I have the application export, but when I import it, I cannot designate it as a Design Model application.
    3) In the past I created some "test" applications with the checkboxs checked. I have since deleted these "test" applications, but they are still in the list of Design Model applications. How do I remove them from the Design Model list?
    Mike

    Mike,
    When you use the create application wizard, then the page definitions of the pages you’re adding to your application are saved as a model. So all the information about your form pages, report pages, tabular form pages, and if selected, your analysis pages, are all saved if you choose that option. When you use the create application wizard the next time, you will be able to re-use that application definition, perhaps modify it, add new page definitions, change existing page definitions, etc. And then you can create a new application based on that updated model. You can not go back to a model to modify an existing application, nor can you create a model for an application that previously didn’t have one.
    Please note that a model only stores information about your pages. Your other selections, like what theme you want to use, if you want to copy over any shared components, what kind of authentication you want to use, etc. are not stored in the model. So if you want to save a full application for future re-use, it’s best to export it, or create copies of the application.
    In order to delete an application model, you can go to your application administration, then click on manage service and go to application models. There you’ll find a list of models and a button to delete those that are no longer needed. Deleting a model has no effect on any existing applications.
    Regards,
    Marc

  • How to design Java application?

    What are the general guidelines and best practices to keep in mind while designing Java application?
    Hi
    I recently completed Java programming tutorial from Sun and practised core java (I have previous programming experience). Now I understand the basics of Inheritance, Abstraction , Polymorphism,Encapsulation
    Now i am writing Java code without much difficulty, but am not sure of application design. This is my main problem: "DESIGNING" the application. Say if i have given a task to create an application in Java, What should I start up with? How to think about? Any formal/informal guidelines I should follow while developing class hierarchies? I am really confused (abstract class or interface or sub class..?). Should I start by model everything, before writing code?
    It would be very useful for people like me to have a SET OF GENERAL GUIDELINES/BEST PRACTICES, which we can follow while start developing a new java application.
    Please provide me some guidelines/thoughts/books/resources/tools I should read or Use
    Thanks in advance
    Scott

    Not necessarily. While some programmers may be Software Engineers others may not have the knowledge base of someone who has read at least one SE book. An practical example is outsourcing. Typically, the code writing (programming) bit is outsourced with the requirements gathering (an SE task), cost management (project mgmt. or SE task), time management (PM or SE), etc. kept locally.
    Look, I'm not going to reply further because this is going to run on and on and on. To put it into my local patois, "Alz I'm gonna tell youse is ta read da software engineering book, okay?"*
    *Where's Kel when youse need 'em?  Yo! Kel!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Designing SAPUI5 Application

    Hello, I am trying to gather some feedback regarding development of complex applications using SAPUI5. The scenario I have is to replicate an application which was developed in WebDynpro Java a couple of years back in SAPUI5. The WebDynpro Java Application is a loose replica of transaction IW32.
    How would I go about designing an application that has more about 100 fields spread out across 5 steps? What would the data design need to look like from a Gateway service perspective? Also how would I handle dynamic screen design i.e. Not all 100 fields are visible to all users of the application, in WebDynpro Java I play with visibility by reading the data from ECC - doing this in Java Script seems to be more challenging.
    Any thoughts / ideas will be appreciated!
    Thanks,
    Dan

    Hi Dan,
    I would follow the below step for developing Fiori like app:
    1. Design Thinking - Take the 1:1:3 approach - 1 user, 1 Role and 3 Screens
    2. Do the prototyping of your app with the help of kit, see below for the link
    3. Build the Odata Model to get data from business suite
    4. Develop the app using ECLIPSE with SAPUI5 add-ins.
    Here the link for Fiori design guidelines
    http://experience.sap.com/fiori-guidelines/
    Link for prototyping kit for Fiori Apps:
    http://experience.sap.com/fiori-guidelines/FioriDesign/52_Fiori_Design-Prototyping-Kit.html
    Link for Application Best Practices:
    SAPUI5 SDK - Demo Kit
    Netweaver Gateway can be leveraged to get data from the business suite using the Odata, find below the link for the same.
    SAP NetWeaver Gateway Foundation Master Guide - SAP NetWeaver Gateway Foundation (SAP_GWFND) - SAP Library

  • Troubleshoting help needed:  My iMac keeps crashing and restarting with a report detail: "spinlock application timed out"  What can I do to fix this?timed out"

    Troubleshooting help needed:  My iMac keeps crashing and restarting with a notice: "Spinlock application timed out"  What can I do?

    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Console in the page that opens.
    Select the most recent panic log under System Diagnostic Reports. Post the contents — the text, please, not a screenshot. In the interest of privacy, I suggest you edit out the “Anonymous UUID,” a long string of letters, numbers, and dashes in the header and body of the report, if it’s present (it may not be.) Please don't post shutdownStall, spin, or hang reports.

  • I down loaded sygic on my iPhone 3s but the icon is missing even in the search but when I want to download it again ,it say this application is present, how can I make the icon to show up

    I down loaded sygic on my iPhone 3s but the icon is missing even in the search but when I want to download it again ,it say this application is present, how can I make the icon to show up

    - Have you tried a reset. Nothing is lost
    Reset iPod touch: Hold down the On/Off button and the Home button at the same time for at
    least ten seconds, until the Apple logo appears.
    - Try syncing  the iPod to your computer. Then delete from iTunes and sync. that should delete it from the iPod. Then redownload it.

Maybe you are looking for