Develop/Deploy Adapters/Connectors using split development directories

BEA documentation says that 8.1 does not support resource adapter split development/deployment
for writing adapters from scratch. We will be using split directories and writing
connectors for these. What are our options ? (we would still like to develop and
deploy ejbs and web applications using the split dev/deployment).

wlcompile won't recognize them or do anything special. It would just
compile them into APP-INF/classes. You could just exclude that module
and compile it yourself if you wanted more control over it.
wlappc works fine with them, and split-directory should work fine as well.
-- Rob
DP wrote:
BEA documentation says that 8.1 does not support resource adapter split development/deployment
for writing adapters from scratch. We will be using split directories and writing
connectors for these. What are our options ? (we would still like to develop and
deploy ejbs and web applications using the split dev/deployment).

Similar Messages

  • Exploded vs. Archived EAR structure (when using split development)

    Using the split development structure suggested in Weblogic 8.1 with wlpackage
    ant task, I noticed that the exploded ear and the archived ear generation creates
    a "flat" deployment structure. i.e. all the files inside the ear hierarchy are
    bundled without any intermediate respective jars.
    Is there a provision to package the ejb modules in one or more jar files when
    building a qa and/or production ear ? Is this possible to accomplish or do I need
    to write separate ant "targets" in the ant script that would manually jar up the
    necessary ejbs. If so, how would this work in conjunction when I have a "ant ear"
    target ?
    I also noticed that the medrec example app has application specific value/dto
    classes bundled in a separate jar file using a build.xml file. My question, when
    running wlcompile at a higher level how does it know NOT to put the value classes
    separately under APP-INF/classes, i.e. why does the build not build/see these
    common value classes twice.
    Thanks for your help!

    DP wrote:
    Using the split development structure suggested in Weblogic 8.1 with wlpackage
    ant task, I noticed that the exploded ear and the archived ear generation creates
    a "flat" deployment structure. i.e. all the files inside the ear hierarchy are
    bundled without any intermediate respective jars.
    Is there a provision to package the ejb modules in one or more jar files when
    building a qa and/or production ear ? Is this possible to accomplish or do I need
    to write separate ant "targets" in the ant script that would manually jar up the
    necessary ejbs. If so, how would this work in conjunction when I have a "ant ear"
    target ? You would have to do this manually. Typically wlpackage would have to
    modify your application.xml to archive the modules. For instance, your
    application.xml probably has uris like myweb, myejb in it now because
    that's how you named your directories. If we archived those, they'd
    become myweb.war and myejb.jar, and the application.xml would need to be
    modified to reflect the new uris.
    It's all possible for us to do, but we ran out of time during 8.1 to get
    this one in.
    >
    I also noticed that the medrec example app has application specific value/dto
    classes bundled in a separate jar file using a build.xml file. My question, when
    running wlcompile at a higher level how does it know NOT to put the value classes
    separately under APP-INF/classes, i.e. why does the build not build/see these
    common value classes twice. I'm not sure I exactly understand your question, but let me explain how
    wlcompile works and see if that answers your question.
    wlcompile looks at each directory under the srcdir and decides whether
    it's an EJB, a webapp, or a java module. It supports an
    includes/excludes list to let you filter those directories.
    Anything that's not recognized as an EJB or webapp is compiled into
    APP-INF/classes.
    -- Rob
    >
    Thanks for your help!

  • Can i develop for another company using my developer account ?

    There are in app purchases in the app and i don't know if i have to submit app with my account or if the company have to create an account to earn money of in app purchase ? Thanks, regards.

    Wow super fast answer ! Thanks a lot

  • How to use the "split development directory structure" in JBuilder9 ?

    How to use the "split development directory structure" in JBuilder9 ?
    Have /APP-INF supported ?

    I've not used JBuilder much, but if it has ant support, then it should
    be pretty straight-forward.
    -- Rob
    Rick Ni wrote:
    How to use the "split development directory structure" in JBuilder9 ?
    Have /APP-INF supported ?

  • How to develop connector using identity connector framework in OIM 11g

    How to develop Ldap connector using identity connector framework in OIM 11g. A sample would be helpful (specifically LDAP). In some thread it is written to download org.identityconnectors.ldap-1.0.5119.jar file but none of the existing links works. Please let me know if anyone has this jar file.

    Thanks. I started developing connector using the ICF. When I depoyed my connector and tried to invoke it from a stand-alone client I encounterd the following error :
    Exception in thread "main" java.lang.NullPointerException
         at org.identityconnectors.framework.impl.api.local.ConnectorBundleManifestParser.getAttributes(ConnectorBundleManifestParser.java:55)
         at org.identityconnectors.framework.impl.api.local.ConnectorBundleManifestParser.<init>(ConnectorBundleManifestParser.java:50)
         at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.processURL(LocalConnectorInfoManagerImpl.java:193)
         at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.expandBundles(LocalConnectorInfoManagerImpl.java:91)
         at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.<init>(LocalConnectorInfoManagerImpl.java:72)
         at org.identityconnectors.framework.impl.api.ConnectorInfoManagerFactoryImpl.getLocalManager(ConnectorInfoManagerFactoryImpl.java:81)
         at org.identityconnectors.framework.impl.api.ConnectorInfoManagerFactoryImpl.getLocalManager(ConnectorInfoManagerFactoryImpl.java:66)
         at org.identityconnectors.ent.Main.main(Main.java:35)
    Any input on the same would be helpful.

  • What is the plugin used for jsp/servlet development , deployment in eclipse

    what is the plugin used for jsp/servlet development , deployment in eclipse?
    can some body tell me what are the other plugins to be used in enterprise java developement
    is eclipse would be a best choice j2ee application development?
    thanks

    what is the plugin used for jsp/servlet development ,
    deployment in eclipse?There are several J2EE plugins I think. One is Lomboz.
    can some body tell me what are the other plugins to
    be used in enterprise java developementPfft...
    1) Might depend on what you're doing. J2EE is not just JSP, you know?
    2) Why do you ask about Eclipse IDE at Sun's Java Programming forum?
    3) Do you really want me to list the 5000 plug-ins someone might use for J2EE-related development?
    4) Open fucking Google and search yourself
    is eclipse would be a best choice j2ee application
    development?IMO: no. Simply because you have to look for J2EE plugins. I'm too lazy for that. Though it has other benefits that might outweigh the plug-in-searching issue.

  • Need help to develop a custom connector

    I need some help on developing the custom connector to Homegrown application and the version i am using is OIM9.0.3
    First of all what are the steps do we need to care while developing a custom connector.
    I can't able to find the process in google to develop the custom connector.
    If you have any data regarding the development of custom connector, plz share to me....
    What are the thing do we need to take care while developing the connector.
    I referred in OIM9.1 version there was an option to develop the Custom connector by using Genric technology, can we create the custom connector by using the GTC feature in OIM 9.1
    early response will be appreciated

    The docs for the new GTC framework are here: http://download.oracle.com/docs/cd/E10391_01/doc.910/e10360/about.htm#Toc153968019. GTC is useful if you target application exposes standards-based SPML (Service Provisioning Markup Language) user management interfaces, although it sounds like this isn't the case for you.
    You will most likely need to go the traditional route in terms of connector development, which involves building OIM Process Task Adapters to invoke the application API's (I assume they're Java?) and invoking those adapters from within an OIM Provisioning Process.
    Rob

  • [b]Tutorial:[/b] Simplify Developing OLE Automation Code Using VBA

    INTRODUCTION
    Automating Office applications from Oracle Forms can be a tedious, frustrating, and time-consuming process. Because the OLE2 and CLIENT_OLE2 built-ins do not validate the automation commands that they relay, code that compiles without errors often dies at runtime with a not-so-helpful error code. This tutorial will demonstrate how to simplify the development of automation code using a tool that ships with all Microsoft Office editions -- the Visual Basic for Applications (VBA) IDE.
    The VBA IDE, a core Office component, is a full-fledged development environment featuring code completion, basic syntax highlighting, context-driven help and a runtime debugger. Its Object Browser provides a convenient means of browsing the Word object model, as well as searching by keyword.
    For those who may not interested in following this tutorial in detail, I would like to stress the usefulness of the Object Browser as a tool for inspecting the functions supported by OLE server applications and, perhaps more importantly, valid values for function arguments. Whether/not anyone buys the assertion that starting with VBA prototypes is far more productive than pounding out OLE2 code from the very start, they will find the Object Browser invaluable as a reference -- I rely on it exclusively for this sort of documentation.
    A BRIEF INTRODUCTION TO THE VBA IDE & THE OBJECT BROWSER UTILITY
    Try this:
    1. Open Word
    2. Launch the VBA IDE by pressing <Alt><F11>
    3. Open the Object Browser by pressing <F2>
    The Object Browser allows you to visually navigate Word's class hierarchy. Its user interface is a bit crowded, so controls are unlabeled. Hovering the mouse cursor above a control will display a tooltip explaining that control's purpose. The browser's scope can be narrowed by using the Project/Library combo. Typing a keyword or substring in the Search Text combo and clicking on the Search button will cause all classes/members whose name contains the specified search text to be listed in the Search Results pane. Selecting an item from this list will update the two panes below it, showing the selected class, and its members. Beneath the Classes and Members panes is an untitled pane, gray in color, which displays details for the selected class/member, including hyperlinks to relevant information such as arguments, their types and allowable values. If Visual Basic Help is installed, pressing <F1> will display help on a selected class/member. (This feature can be installed from your Office install CD, if necessary.)
    NOTE: While it is possible to cut-and-paste the code examples that follow, I highly recommend that they be typed in by hand. Doing so will provide a better understanding of how the IDE's code completion behaves. Use code completion most efficiently by not using the mouse or <Enter> key when selecting from completion lists. Instead, just type enough letters to select the desired list element, then continue along as if you had typed the entire element, typing the next operator in your statement. It really is slick!
    HELLO WORLD - VBA-STYLE
    1. Open Word
    2. Launch the VBA IDE by pressing <Alt><F11>
    3. Select Module from the Insert menu.
    4. In the blank area that appears, enter the following code:
      Public Sub HelloWorld()
          Documents.Add
          Selection.TypeText ("Hello, world!")
      End Sub5. Press <F5> to run the code.
    If you switch back to Word by pressing <Alt><F11>, there should appear a newly-created document containing the text Hello, world!.
    A MORE AMBITIOUS EXAMPLE
    In this example, we will launch Word, type some text, and alter its formatting. For the purposes of this tutorial, consider it the process we wish to automate from within Forms.
    1. If Word is running, close it.
    2. Open any Office application except Word, such as Excel, Outlook or PowerPoint
    3. Launch the VBA IDE by pressing <Alt><F11>.
    4. Select References from the Tools menu -- a dialog should pop up.
    5. From within this dialog, locate and select Microsoft Word <version> Object Library, then click OK.
    6. Select Module from the Insert menu.
    7. In the blank area that appears, enter the following code:
    Public Sub LaunchWord()
        Dim app As Word.Application
        Set app = CreateObject("Word.Application")
        app.Visible = True                          '!!! IMPORTANT !!!
        app.Documents.Add
        With app.Selection
            .TypeText "This is paragraph 1."
            .TypeParagraph
            .TypeText "This is paragraph 2."
            .TypeParagraph
            .TypeText "This is paragraph 3."
        End With
        With ActiveDocument
            .Paragraphs(1).Range.Words(3).Bold = True
            .Paragraphs(2).Range.Words(3).Italic = True
            .Paragraphs(3).Range.Words(3).Underline = True
        End With
    End Sub8. Press <F5> to run the code.
    A new Word session should have been launched. Switch to it, to view the results of our handiwork!
    TAILORING VBA CODE INTENDED FOR OLE2 CONVERSION
    Now, things get a bit uglier. The code listed above gives a good idea of how concise VBA code can be, but With blocks and chained object references do not translate readily into OLE2 code. Here's the same process, rewritten in a more OLE2-friendly style. Note the numerous intermediate object references that have been declared.
    Public Sub LaunchWord()
        Dim app As Word.Application
        Dim doc As Word.Document
        Dim docs As Word.Documents
        Dim pars As Word.Paragraphs
        Dim par As Word.Paragraph
        Dim wrds As Word.Words
        Dim sel As Word.Selection
        Dim rng As Word.Range
        Set app = CreateObject("Word.Application")
        app.Visible = True                          '!!! IMPORTANT !!!
        Set doc = app.Documents.Add
        Set sel = app.Selection
        sel.TypeText "This is paragraph 1."
        sel.TypeParagraph
        sel.TypeText "This is paragraph 2."
        sel.TypeParagraph
        sel.TypeText "This is paragraph 3."
        Set pars = doc.Paragraphs
        'select third word of first paragraph and make it bold
        Set par = pars.Item(1)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Bold = True
        'select third word of second paragraph and italicize it
        Set par = pars.Item(2)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Italic = True
        'select third word of second paragraph and underline it
        Set par = pars.Item(3)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Underline = True
    End Sub
    TRANSFORMATION: CONVERTING VBA CODE INTO PL/SQL
    Here is the PL/SQL counterpart to our previous VBA routine. Compare printouts of the two and note their similarities. Notice the need for argument lists -- this causes the code to fluff up quite a bit, and really interferes with readability.
    PROCEDURE LAUNCH_WORD IS
      v_app OLE2.OBJ_TYPE;     -- Application
      v_doc OLE2.OBJ_TYPE;     -- Document
      v_docs OLE2.OBJ_TYPE;    -- Documents collection
      v_pars OLE2.OBJ_TYPE;    -- Paragraphs collection
      v_par OLE2.OBJ_TYPE;     -- Paragraph
      v_wrds OLE2.OBJ_TYPE;    -- Words collection
      v_sel OLE2.OBJ_TYPE;     -- Selection
      v_rng OLE2.OBJ_TYPE;     -- Range
      v_args OLE2.LIST_TYPE;   -- OLE2 argument list
    BEGIN
      /* launch Word and MAKE IT VISIBLE!!! */ 
        v_app := OLE2.CREATE_OBJ('Word.Application');
        OLE2.SET_PROPERTY(v_app, 'Visible', TRUE);
      /* initialize key object references */ 
        v_docs := OLE2.GET_OBJ_PROPERTY(v_app, 'Documents');
        v_doc := OLE2.INVOKE_OBJ(v_docs, 'Add');
        v_sel := OLE2.GET_OBJ_PROPERTY(v_app, 'Selection');
      /* type first paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 1.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      /* type second paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 2.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      /* type third paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 3.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
      /* set reference to Paragraphs collection */
        v_pars := OLE2.GET_OBJ_PROPERTY(v_doc, 'Paragraphs');
      /* select third word of first paragraph and make it bold */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 1);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Bold', TRUE);
      /* select third word of second paragraph and italicize it */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 2);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Italic', TRUE);
      /* select third word of second paragraph and underline it */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Underline', TRUE);
    END;
    REFACTORING FOR REUSABILITY AND READABILITY
    While the previous procedure runs without errors, it suffers from poor readability which, in turn, makes it difficult to maintain. Here, we address those issues by moving repetetive low-level operations into separate procedures.
      PROCEDURE LAUNCH_WORD IS
        v_app OLE2.OBJ_TYPE;    -- Application
        v_doc OLE2.OBJ_TYPE;    -- Document
        v_docs OLE2.OBJ_TYPE;   -- Documents collection
        v_sel OLE2.OBJ_TYPE;    -- Selection
        v_args OLE2.LIST_TYPE;  -- OLE2 argument list
      BEGIN
        /* launch Word and MAKE IT VISIBLE!!! */ 
          v_app := OLE2.CREATE_OBJ('Word.Application');
          OLE2.SET_PROPERTY(v_app, 'Visible', TRUE);
        /* create a new Word document */ 
          v_docs := OLE2.GET_OBJ_PROPERTY(v_app, 'Documents');
          v_doc := OLE2.INVOKE_OBJ(v_docs, 'Add');
          v_sel := OLE2.GET_OBJ_PROPERTY(v_app, 'Selection');
        /* add a few paragraphs */
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 1.');
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 2.');
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 3.');
        /* apply formatting */
          APPLY_FORMATTING(v_doc, 1, 3, 'Bold', TRUE);
          APPLY_FORMATTING(v_doc, 2, 3, 'Italic', TRUE);
          APPLY_FORMATTING(v_doc, 3, 3, 'Underline', TRUE);
      END;
      PROCEDURE APPLY_FORMATTING(
        v_doc OLE2.OBJ_TYPE,
        v_paragraph_num NUMBER,
        v_word_num NUMBER,
        v_attribute VARCHAR2,
        v_value BOOLEAN) IS
        v_pars OLE2.OBJ_TYPE;   -- Paragraphs collection
        v_par OLE2.OBJ_TYPE;    -- Paragraph
        v_wrds OLE2.OBJ_TYPE;   -- Words collection
        v_rng OLE2.OBJ_TYPE;    -- Range
        v_args OLE2.LIST_TYPE;  -- OLE2 argument list
      BEGIN
        /* set reference to Paragraphs collection */
          v_pars := OLE2.GET_OBJ_PROPERTY(v_doc, 'Paragraphs');
        /* get specified paragraph */   
          v_args := OLE2.CREATE_ARGLIST;
          OLE2.ADD_ARG(v_args, v_paragraph_num);
          v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
          OLE2.DESTROY_ARGLIST(v_args);
        /* get words for specified paragraph */
          v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
          v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        /* apply formatting to word found at specified index */
          v_args := OLE2.CREATE_ARGLIST;
          OLE2.ADD_ARG(v_args, v_word_num);
          v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
          OLE2.SET_PROPERTY(v_rng, v_attribute, v_value);
      END;
      PROCEDURE PRINT_PARAGRAPH(v_sel OLE2.OBJ_TYPE, v_text VARCHAR2) IS
        v_args OLE2.LIST_TYPE;
      BEGIN
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, v_text);
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      END;
    CONCLUSION
    It is my hope that this tutorial, despite it's introductory nature, has demonstrated the value of the VBA IDE, the ease with which automation processes can be prototyped using VBA, the noticeable similarity between VBA automation routines and their Forms PL/SQL counterparts, and the advantages of testing automation processes within the VBA IDE. Please feel free to follow up with any specific questions or concerns you may have.
    Thanks,
    Eric Adamson
    Lansing, Michigan
    FINAL NOTE: These examples use the OLE2 built-in, and will operate correctly when called from forms running in the Form Builder OC4J. Deploying them to an Oracle Application Server will launch Word on the server itself (if available), which is usually not the developer's intent! Automating Word client-side via web forms requires adding WebUtil support. Adapting the code for WebUtil is trivial -- just replace all instances of OLE2 with CLIENT_OLE2. Adapting forms for WebUtil and configuring OLE support into your Oracle Application Server, however, are beyond the scope of this tutorial.
    REVISION HISTORY
    This promises to be something of a 'living document'. I've snuck changes through without comment in the past, but in the future, I'll try to document significant changes here.
    2006-08-21
      * Prefaced boring subject line with text: 'Tutorial:' to clarify purpose
      * Added emphasis on value of Object Browser as a reference

    Thanks James, for your kind words. I do hope this information will help folks out. I honestly believe that tinkering around in the VBA IDE will prove highly gratifying for automation developers. It can be assured that learning to make Word jump through hoops is much more straight-forward in this environment. I'm not one for mottos, but if I were pressed for a cheesy motto, I would say: First, make it work. Then, make it work in Oracle!
    Once the idea has sunk in, that Visual Basic routines for automating Word are exact analogs to their OLE2 counterparts, we can remove keywords like Oracle and PL/SQL from our Google searches on Word automation which, at least in this context, are the proverbial kiss of death. Suddenly we find ourselves liberated by the possibility of steal-, ahem... borrowing ideas from the Visual Basic* community!
    As for links, my link of choice is invariably http://groups.google.com -- if you don't already use it at least ten times a day, you must try it. This is the venerable USENET archive, including the holdings of now-extinct DejaNews. Another possible site of interest is http://word.mvps.org/FAQs/MacrosVBA, which may serve as a good starting point for those who wish to learn how to do fancy tricks with Word using VBA.
    If these links don't prove immediately helpful, please feel free to give specifics on the sort of operations you are interested in automating, and I'll see if I can post an example that addresses it.
    Regards,
    Eric Adamson
    Lansing, Michigan
    PS: I do hope, as people read my posts, with every other acronym being VBA, that they are not mistakenly hearing a call to learn Visual Basic. I say this, not because I believe learning VB would be a Bad Thing, but because I assume that few of us feel we have the time to learn a new programming language. Despite having come to the Oracle camp already knowing VB/VBA, and having acquired a fair bit of experience with automating Office applications as an Access developer, I remain confident that what I am suggesting people attempt does not rise to the level of learning a language. What I am suggesting is that they learn enough of the language to get by.
    *VB vs. VBA
    Just a quick word on this, as readers may wonder why I seem to use these terms interchangeably. Visual Basic (VB) can refer to either a development platform or a programming language. Visual Basic for Applications (VBA) is a language -- more precisely, it is a subset of the Visual Basic language. One purchases VB, usually quite intentionally. VBA is included with Microsoft Office, as is VBA's development environment, the VBA IDE. The key distinction between VB and VBA is that VBA cannot be used to create self-contained executables. Rather, VBA relies on VBA-enabled applications, such as Microsoft Office applications, to serve as a container for VBA code, and to provide a runtime environment for that code. For the purposes of discussing OLE Automation, VB and VBA are quite interchangeable.

  • Hi, I developed a web application using HTML5-Offline Application Cache mechanism. Inspite of deleting the cache as mentioned in the above steps, Firefox still maintains a copy of the page in it's cache. Also, a serious bug is, even though we delete all

    == Issue
    ==
    I have a problem with my bookmarks, cookies, history or settings
    == Description
    ==
    Hi,
    I developed a web application using HTML5-Offline Application Cache mechanism. Inspite of deleting the cache as mentioned in the above steps, Firefox still maintains a copy of the page in it's cache. Also, a serious bug is, even though we delete all temp files used by Firefox, and open the previously cached page, it displays it correctly, but upon refreshing/reloading it again shows the previous version of the page maintained in the cache.
    == Troubleshooting information
    ==
    HTML5: Application Caching
    .style1 {
    font-family: Consolas;
    font-size: small;
    text-align: left;
    margin-left: 80px;
    function onCacheChecking(e)
    printOutput("CHECKINGContents of the manifest are being checked.", 0);
    function onCacheCached(e) {
    printOutput("CACHEDAll the resources mentioned in the manifest have been downloaded", 0);
    function onCacheNoUpdate(e)
    printOutput("NOUPDATEManifest file has not been changed. No updates took place.", 0);
    function onCacheUpdateReady(e)
    printOutput("UPDATEREADYChanges have been made to manifest file, and were downloaded.", 0);
    function onCacheError(e) {
    printOutput("ERRORAn error occured while trying to process manifest file.", 0);
    function onCacheObselete(e)
    printOutput("OBSOLETEEither the manifest file has been deleted or renamed at the source", 0);
    function onCacheDownloading(e) {
    printOutput("DOWNLOADINGDownloading resources into local cache.", 0);
    function onCacheProgress(e) {
    printOutput("PROGRESSDownload in process.", 0);
    function printOutput(statusMessages, howToTell)
    * Outputs information about an event with its description
    * @param statusMessages The message string to be displayed that describes the event
    * @param howToTell Specifies if the output is to be written onto document(0) or alert(1) or both(2)
    try {
    if (howToTell == 2) {
    document.getElementById("stat").innerHTML += statusMessages;
    window.alert(statusMessages);
    else if (howToTell == 0) {
    document.getElementById("stat").innerHTML += statusMessages;
    else if (howToTell == 1) {
    window.alert(statusMessages);
    catch (IOExceptionOutput) {
    window.alert(IOExceptionOutput);
    function initiateCaching()
    var ONLY_DOC = 0;
    var ONLY_ALERT = 1;
    var BOTH_DOC_ALERT = 2;
    try
    if (window.applicationCache)
    var appcache = window.applicationCache;
    printOutput("BROWSER COMPATIBILITYSUCCESS!! AppCache works on this browser.", 0);
    appcache.addEventListener('checking', onCacheChecking, false);
    appcache.addEventListener('cached', onCacheCached, false);
    appcache.addEventListener('noupdate', onCacheNoUpdate, false);
    appcache.addEventListener('downloading', onCacheDownloading, false);
    appcache.addEventListener('progress', onCacheProgress, false);
    appcache.addEventListener('updateready', onCacheUpdateReady, false);
    appcache.addEventListener('error', onCacheError, false);
    appcache.addEventListener('obsolete', onCacheObselete, false);
    else
    document.getElementById("stat").innerHTML = "Failure! I cant work.";
    catch (UnknownError)
    window.alert('Internet Explorer does not support Application Caching yet.\nPlease run me on Safari or Firefox browsers\n\n');
    stat.innerHTML = "Failure! I cant work.";
    == Firefox version
    ==
    3.6.3
    == Operating system
    ==
    Windows XP
    == User Agent
    ==
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729; .NET4.0E)
    == Plugins installed
    ==
    *-Shockwave Flash 10.0 r45
    *Default Plug-in
    *Adobe PDF Plug-In For Firefox and Netscape "9.3.2"
    *NPRuntime Script Plug-in Library for Java(TM) Deploy
    *The QuickTime Plugin allows you to view a wide variety of multimedia content in Web pages. For more information, visit the QuickTime Web site.
    *Google Update
    *4.0.50524.0
    *Office Live Update v1.4
    *NPWLPG
    *Windows Presentation Foundation (WPF) plug-in for Mozilla browsers
    *Next Generation Java Plug-in 1.6.0_20 for Mozilla browsers
    *Npdsplay dll
    *DRM Store Netscape Plugin
    *DRM Netscape Network Object
    Thanks & Regards,
    Kandarpa Chandrasekhar Omkar
    Software Engineer
    Wipro Technologies
    Bangalore.
    [email protected]
    [email protected]

    We have had this issue many, many times before including on the latest 3.6 rev. It appears that when the applicationCache has an update triggered by a new manifest file, the browser may still use only its local network cache to check for updates to the files in the manifest, instead of forcing an HTTP request and revalidating both the browser cache and the applicationCache versions of the cached file (seems there is more than one). I have to assume this is a browser bug, as one should not have to frig with server Cache-Control headers and such to get this to work as expected (and even then it still doesn't sometimes).
    The only thing that seems to fix the problem is setting network.http.use-cache to false (default is true) in about:config . This helps my case because we only ever run offline (applicationCache driven) apps in the affected browser (our managed mobile apps platform), but it will otherwise slow down your browser experience considerably.

  • Creation of custom page without using NetWeaver Developer Studio

    Hi Experts,
    In my project, we have not installed NetWeaver Developer Studio. We are using EP 7.0.
    We have to create a custom page for the project. In this page, we have to provide seperate iViews links.
    The page should look like this:
    iView 1 - Link                iView 2 - Link        iView 1 - Link
    Help iView 1-Link        Help iView 1-Link     Help iView1-Link
    I tried to do so by creating a page. In the page, I tried to use 'Three Coloumn Page' layout. The iviews are getting displayed in following way:
    iView 1 (iView is getting displayed .Link not getting displayed)
    Help iView 1 (iView is getting displayed .Link not getting displayed)
    iView 2(iView is getting displayed .Link not getting displayed)
    I can not display link of all six iViews. Further more iViews are getting displayed in one coloumn and 3 rows. I can see the iViews directly. I am not able to display links for iViews.
    I need 3 coloumns and 2 rows layout.
    Can you please let me know how to achieve this?
    Whether I have to create new layout? For this whether we will need NetWeaver Developer Studio?
    Can we do it by creating HTML page. In the HTML page, we will have many links. These links will point to the iViews stored in SAP EP's KM. If so, what be the steps?
    I know that it can be done by creating a PAR file and deploying it. But, we don't have Netweaver Developer Studio.
    Can we acheive above without using NetWeaver Developer Studio?
    Please help me.
    Regards,
    Brian

    Hi Kedar,
    Thanks. My requirement is that six iViews links should be shown in the portal content area.
    The iViews links should be like
    iView 1-Link         iView 2-Link           iView 3-Link
    Help iView 1-Link Help iView 2-Link    Help iView3-Link
    When user will click on any iView link, the relevant iView should be displayed.  The iView can be displayed in seperate new page. So naturally five iView link will not be displayed.
    I am planning to create one HTML page and store it in KM. I will call this page in portal content area.
    There will be hyperlink on this HTML page. The hyper link will be attached to other iView links in  KM.
    Whenever user will click on any Help link or iView link the corresponding iView will be called from  KM.
    So in KM we will store 7 objects. 3 HTMLpages for help. 1 HTML page for main page.
    Other 3 will point to iView-Link1, iView-Link2 and iView-Link3.
    Can I do so? Will it sort out my problem?
    Thanks

  • Security-role for java web services developed using j-developer 10.1.2.1

    I have developed a java web service using j-developer 10.1.2.1, I have deployed this web service to oracle 10g (10.1.2.1) application server successfully. Now I want to add security-role to my web service deployment descriptor so that only a group of users that belong to a group can access my web service.
    How can I do this? Can any one please let me know.
    Thanks,
    SC.

    Hi.
    I suspect you have a proxy server between your localhost and the
    drive-app1.drivesoftwaresolutions.com
    Probably in Jdev that proxy is setup nicely in Tools->Preferences->Web Browser and Proxy
    But maybe your OC4J container running BPEL on localhost does not have that proxy setup.
    You need to add startup parameters to the JVM. In 10.1.3 you can do this via the "AS Control" administration pages (there is a link on the SOA suite welcome page). Go to JVM, click on the container and switch to the "Administration" tab.
    The properties are proxySet, proxyHost, proxyPort and nonProxyHosts
    When deploying from JDev, the compilation in JDev works fine (uses the proxy). But when the JAR is transferred to the server, it is compiled again. This fails because the proxy is not used on the server side and it cannot read the wsdl.

  • Is it possible to develop struts application without using JPF in workshop 8.1?

    Hi,
    Is it possible to develop application based on struts framework without using
    Java Page Flow in workshop 8.1?
    I developed one application without using JPF , but it is showing some Deployment
    errors.
    rgds,
    girish

    Girish--
    Sure, though, I'd still encourage you to take a look at JPF. :)
    If you remove the JPF runtime files from WEB-INF/, WEB-INF/lib, and JPF specific entries in
    web.xml, you can start defining a struts-config.xml file against the Struts 1.1 runtime in the
    webapp, or you can replace that with a different version as you need. You'll also need to define
    the Struts runtime in web.xml including the servlet, taglibraries, etc.
    One note, the JPF flow view and other JPF specific editors don't work over a normal
    struts-config.xml file.
    Hope that helps...
    Eddie
    Girish wrote:
    Hi,
    Is it possible to develop application based on struts framework without using
    Java Page Flow in workshop 8.1?
    I developed one application without using JPF , but it is showing some Deployment
    errors.
    rgds,
    girish

  • Split development env + wlcompile + EJB3

    Hi Bea,
    in a Weblogic 10 environment using EJB3 annoted stateless session beans in a split development directory structure. The wlcompile ant task does not recognizes the module as EJB module around the EJB3 beans and compiles all of the sources into the APP-INF/classes dir.
    The wlappc fails because there are no any EJB module as the application.xml descibes.
    thanks forward,
    Zsolt

    I ended up finding the solution to my own problem, so here it is in case anyone else runs into this problem. Turns out I was missing the file EAR/META-INF/application.xmlThe splitdir example contains a sample file.

  • Modularizing large FX gui apps, esp. using fxml developed by Scene Builder

    StarterApp - One large java source file.
    Trying Out the JavaFX UI Controls (Using the JavaFX UI Controls)
    StageCoach is a simpler app, but with fxml, controller, and main code in separate files.
    Allows manipulation using Scene Builder.
    https://code.google.com/p/jfxtras/source/browse/ProJavaFX/Chapter03/StageCoach?repo=samples&r=322042d9ac293fcd9dd8f63e1664df45a0c4746f
    I was lead to these by the book, Pro JavaFX 8:
    http://www.apress.com/9781430265740
    Rich as it is, the StartApp is one big piece of code, with no modules such as an fxml file.
    By spreading out the code for StarterApp and StageCoach and studying it carefully
    I should be able to build a system as large as StarterApp, but as a three-file combo.
    StarterApp has nothing that deals with concurrency or persistence - those will be my jobs.
    I'm doing this because I'm building a large NLP app.
    It needs a GUI for future users.
    - Bob F

    Take a look at some app examples from the open-jfx repository
      https://wiki.openjdk.java.net/display/OpenJFX/Quick+Start
    For a smallish app, see the ConferenceScheduleApp:
       openjfx/8u-dev/rt: 3d138300d935 /apps/experiments/ConferenceScheduleApp/
    For a (much) larger app, see SceneBuilder:
       http://hg.openjdk.java.net/openjfx/8u-dev/rt/file/3d138300d935/apps/scenebuilder
       Ladstatt: Home made JavaFX SceneBuilder
    For a minimal framework which features FXML and dependency injection, see afterburner.fx:
       http://afterburner.adam-bien.com
    You can skip all of the stuff below if you don't like reading and just want to go code...
    In general for app code, use aggregation over inheritance in most places, though inheritance is useful sometimes.  Don't try to create your own controls by extending the Control class unless you are writing control libraries - that is complex and not well documented as well as largely unnecessary for app code.  Similarly PopupWindow isn't all that great or at least I have never found a need for it in app code - a basic Stage works fine for pretty much every case except perhaps very specialized things like context menus.  Java 8 has built-in dialogs and alerts in 8u40, so for standard dialogs or some reasonably customized dialogs, using those is better than creating your own.  If the standard controls aren't enough, try ControlsFX, it is (mainly) great and high quality.
    Let resizable layout managers do the layout work for you and use constraints in the layout managers and nodes rather than mucking around with fixed sized layouts or layout through binding.
    Don't try to implement a spreadsheet in a JavaFX TableView - just use the built-in controls for what they are good at and either develop a new control for specific functionality not provided by the built-in controls or just skip that feature if it would be too expensive to build it from scratch yourself (and it probably will be expensive - you just have to justify that against your project budget whether that is money or your own time).
    Make use of WebView to bring in web components (e.g. Google Docs or Google Maps).  Don't try and pass a lot of data back and forth between a WebView and your app.
    Don't do any style in code nor in FXML, put it all in a CSS style sheet.
    For medium sized apps - use FXML to design and mark-up your GUI, and use SceneBuilder to create and edit the FXML, don't hand code basic form style UIs - in the long run the FXML based app will be easier to maintain.
    For really small apps and learning tasks, write everything in code against the API so you understand that - use no FXML at all.
    With JavaFX you are writing user interfaces, follow basic user interface design heuristics for which there are some principles to keep in mind.
    Once you have a few FXML pages, passing parameters or sharing data between them is a question that most people run into as well as how to deal with navigation.  That navigation framework I linked is super basic and just meant for pretty simple applications.  A nicer framework which worked in general like a Browser navigation model would be useful - but I haven't seen a generic implementation of such a thing yet - I guess you could create one, but I definitely wouldn't start out trying to do that - instead focus on the basics of your application and get that implemented first.  If you end up needing a reasonably sophisticated navigation framework, eventually you will know it and can evaluate what to do then.
    You can do an awful lot with CSS and styling the built-in controls.  It really is very flexible.  Learn CSS and the JavaFX variant by reading general CSS tutorials (then forget everything HTML specific) and study in depth the JavaFX CSS reference guide and understand its extensions like looked up colors and derivation functions.  When you want to know how some inbuilt thing is styled, go to the modena.css source (which can be hideously obtuse and complicated).  Use ScenicView and SceneBuilder CSS analyzer to understand how CSS is applied to elements.  Don't style borders with boxes - use layered backgrounds, that is how every control modena.css works and how your app should also work.
    Deployment is a difficult topic - so sad and depressing.  For development, just build and run in your IDE.  For production, package the app as a self-contained application. Maybe one day there will be a better deployment model for JavaFX - but that is the best you can get for now.  Completely ignore webstart and web deployment models - any time spent investigating such technologies is completely wasted.
    Do not try to integrate JavaFX and Swing or SWT.  Just write pure JavaFX apps.
    For larger apps you intend to deploy to production, use Maven or Gradle as your build system (you can google the JavaFX plugins for each).  Do not spend any time with the stand-alone JavaFX packager or the JavaFX ant tasks and do not rely on your IDE to do your production builds.
    Get help to targeted questions on StackOverflow.
    Only code to Java 8+ and make use of functional programming techniques.
    Don't write multi-threaded apps unless you know what you are doing.  When you do write multi-threaded apps, use the JavaFX concurrency utilities.  Never modify the active scene graph from another thread, nor touch a property which might trigger an event which might modify the scene graph.  Do use the concurrency utilities if you have network I/O otherwise you will freeze your app while the network I/O occurs and that is a "bad thing".
    The Oracle JavaFX 8 documentation is good - read it and run a lot of the examples (except the ant based deployment ones and the Swing/SWT integration ones).
    Ensemble is great, play with it and study the code to see for the samples (which you can view within Ensemble).
    Binding is programming by side-effect, so be aware that when you change a property, it may trigger some potentially unrelated action through bindings or attached listeners.
    Programming JavaFX in any language other than Java is an experimental thing, so only do that if you like experimenting and are prepared to do so without a lot of support.
    Targeting embedded devices, iOS or Android for a JavaFX app is an experimental thing, so only do that if, yada, yada, yada.
    JavaFX is a mid-level UI system, not a full application stack - it abstracts away the basics like rendering, controls and animation but does not provide comprehensive OS hooks, navigation frameworks, model/view/presenter frameworks, full dependency injection, client/server messaging, data <-> controls serialization and deserialization, etc.  FXML is just a markup system with a binding capability to Java code.  JavaFX and FXML do not constitute a full application framework.  There is no widely-used full application framework for JavaFX.  Sure some people have tried to create one, but none of those solutions have achieved critical mass of usage and features - plus a one-size fits all application framework will never exist anyway - client applications (e.g. a game versus a line-of-business app) differ greatly and deserve completely different architectures.
    There are many things in the Java EE world which can be used in JavaFX (e.g., its dependency injection, its web socket or rest APIs and implementations, its server based systems to allow your app to access cloud based logic and storage, etc) - so feel free to use the bits you need, usually it's as simple as adding additional library dependencies to your maven or gradle project.  A typical medium sized JavaFX application will include multiple third party libraries (mostly non-UI libraries) to get its job done as this will be more convenient than coding everything against the JRE API - though there is an awful lot of out the box functionality you get from the JRE.
    JavaFX is more complicated to use than Delphi and in some respects doesn't supply as much functionality in terms of built-in stuff like data base backed tables (though it supplies a ton more functionality in style).  It is not easier to create a complete business app using JavaFX than it would be to create a similar thing in Microsoft Access in the 90's.  Such is progress.
    JavaFX is portable across desktop environments (OS X, Windows, Mac).  JavaFX apps have their own look and feel which is not like the native OS, but that is probably fine for a lot of apps.  AquaFX does an amazing job of making a JavaFX app looks like OS X apps (kudos to the creators of both AquaFX and the JavaFX built-in styling capabilities).
    Unlike some other portable frameworks like QT, you don't have to write C code, you can write Java code (which to me at least is a win).  Similarly unlike HTML/CSS/JavaScript you don't have to write untyped JavaScript or make use of some obscure code snippet you pulled off the web for your button control.  You don't have to use the web framework of the day which withered yesterday.  Instead you have the (benefit?) of hardly any framework at all for JavaFX.  You don't have to have your app live within a browser sandbox that another developer once described as the ghetto of application sandboxes.
    So, as compared to HTML - I think JavaFX is kinder to the developer, though end users don't really seem to care that much and are fairly accepting of HTML applications even when their functionality is often inferior to many more traditional GUI apps.  HTML is standardized, its full of standards, even the non-standard parts.  Everybody used to implement all the standards differently or make their own standards, however now the standards are so painstakingly, nitpickingly prescriptive that everybody implements pretty much the same thing - except when they don't.  JavaFX has no standard but its public API docs, it has just one implementation.  If you code against the API, your app is probably going to work forever - at least if you bundle the runtime with your app, cause if you don't you might end up like the poor guy in the previous question who can't figure out how to update his app specific CSS rules to get his app to look the same with a newer Java version.  JavaFX is a relatively niche technology and you don't have the legion of developers, tinkerers, industry investments and people just plain getting stuff done in any which way that you have with the whole HTML juggernaut.  The major thing that HTML provides that JavaFX does not is: Sharable, browsable deep links to stuff with search indexed content.  With HTML, Google will index it and you can link to and refer to other docs and other docs can link to yours.  It is the HT in HTML which makes the web so amazing and the F in FXML doesn't match it.  What is the F anyway?
    That's a huge wall'o'text.  Just some random thoughts and opinions.  All opinions are my own.  Your opinions may vary.  That's OK.  I don't think a discussion is needed.  If you would like any clarification or further advice you can ask in new questions.

  • Developer deployment to OC4J without oc4jadmin account?  10.1.3...

    I'm an OC4J system administrator (among other things) and have recently started to migrate to OC4J 10.1.3. Our developers deploy code to our Integrated Development Server (Linux) numerous times a day to many different instances.
    Is there a way for them to deploy without having oc4jadmin access?? I'd like them to use the oc4j admin_client.jar to do deployments from their local development boxes (Windows XP), but the oc4jadmin ID and password are needed to run these scripts.
    Any ideas on a simple yet secure way for them to deploy there ear's without having access? Thanks!

    Theoretically you can specify a different account per oc4j instance starting with 10.1.3.1+, but this appears to be not working correctly and hence is not supported. You could contact Oracle Support and ask for the latest status on this often requested feature.

Maybe you are looking for