Sharing BC4J components

In JDeveloper, I created a project that contains a business component package called "common". This package will contain reusable BC4J components that I want to be used by other projects. What's the best way to do this? Would I just deploy this "common" business component package to a JAR file? Would I deploy it to a JAR file and then bring it into other projects? If so, how can I have an application module in another project recognize these reusable BC4J components so that I can use them? Any best development practices are welcomed.
--Quoc                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Sharing components is a good design pattern to follow. And from your description, you are already on the right track. Put your shared components in a single project, then deploy the class files to a jar file. In your other projects, add a library containing the jar file(s) that you just created containing your shared business components. Then in the context menu for either the jpr or jpx file, there is a menu item called "Import Business Components..." In the file dialog that comes up, navigate to your jar file and select the package xml file and click ok. This should bring the shared components into your new project, which you can now use freely.
Hope this helps.
Ray

Similar Messages

  • Importing BC4J Components in 10.1.2

    No matter what I do, I cannot get this to work?
    Always get "Unable to load Business Components. The package xml file is not in the proper package."
    Anyone else having this problem? Even if a create a new 10.1.2 project, create a new VO, rebuild and save all, remove VO from the project and then try to import it, I get this message....
    How do I get this to work?
    Thanks
    Paul

    Is your goal to simply reference them in the new project, or also be able to edit them there?
    By your saying "move" I'm assuming the latter.
    Here's what I would recommend doing.
    Let's say the VO's are VOOne and VOTwo in package "x.y.z"
    And let's say they currently live in a directory like:
    C:\mywork\old_workspace\old_model_project\src\x\y\z
    And you are currently working on a new workspace and a new project whose source lives in:
    C:\mywork\new_workspace\new_model_project\src
    To "move" the bc4j components in package "x.y.z" from the old project to the new project, do the following:
    1. deep-copy the .\x\y\z directory from C:\mywork\old_workspace\old_model_project\src to C:\mywork\new_workspace\new_model_project\src
    2. In the new project, click (+) to add a new element to the project, and select the C:\mywork\new_workspace\new_model_project\src\x\y\z\z.xml file. This is the package XML file for the "x.y.z" package.
    3. Acknoledge the alert that should appear "Add Z as a business components package" (or something similar to that).
    That should do it.

  • Generate BC4J components from Designer

    Oracle Designer 9.0.2.80.1 vers: 4.0.12
    Oracle SCM RON: 9.0.2.80.1 vers: 4.0.12
    Oracle Jdeveloper 9.0.4.0 (Build 1419)
    I try to generate BC4J components from Designer definitions from SCM.
    In Designer:
    I make workarea (WA27) as rep_owner
    and child application (AP27) below WA.
    I create one table (TABLE1) and one (Java) module to that simple table (TABLE1).
    I check in and out application table and module.
    In JDeveloper:
    I make connection to SCM Database as user rep_owner
    Test succeed and I see below “Connection1”Functions tables , procedures .. of the repository.
    I do not see among tables just created table (TABLE1).
    I make workarea an project below that WA.
    Then I right-click on new project and choose Business Tier/Designer Generation +
    Designer BC4J and click OK
    Designer BC4J Generator Wizard starts
    Wiard continues and I choose to workarea: WA27 and next
    In next phase wizard shows only workarea WA27 not application below that.
    I designer too old or do I need changes to definitions of the repository.

    Language of the module have to be Oracle Forms (not JAVA).
    After change wizard will find that container (= application) AP27 and modude(s) below that. OK!!!!
    Fine !

  • ACS 4.1 Shared Services Components problem

    I'm not able to edit the Shared Profiles Components for CiscoWorks in ACS. Error:
    Failed to edit Ciscoworks Campus Manager.
    Reason: You have insufficient privilege to Add/Edit Ciscoworks Campus Manager.
    I logged in with admin account in ACS with all permissions. When opening the properties of my admin account, all the CiscoWorks rights are deselected. I can select all the rights, apply the changes, but the rights are not applied !

    Seems like it is a windows AD-problem. every 30 min the server gets an gpoupdate (depending on who is logged in to the server) and if i have unchecked the box "use proxyserver" (IE - Options - connections - Lan settings) this update changes everything back to default, ie checks that box back. So next step: talk to some windows-people.
    thanks anyway!
    /lina

  • Removing a BC4J Components

    When we right click on any BC4J components it gives two option 1) Remove from project 2) Remove from disk.
    what is the difference between both of them ?
    Does Remove from disk also remove it from project ??

    The two menu items are very similar and mirror the functionality found in the JDeveloper File menu on the menu bar.
    - Remove from Project will remove the object and its files from the project, but will leave the files on your hard drive, in case you wanted to use them for reference later.
    - Erase from Disk will also remove the object and its files from the project, but will also delete them from the hard drive. This helps to keep your disk a little cleaner by getting rid of files you don't intend to use later.
    Hope this helps

  • UN-import BC4J components?

    I've imported BC4J components into one project from another.
    Now I see the package and component xml files under Navigator-->Misc files
    How to I remove these imports?
    Highlight -- remove from IDE cmd is not active ??
    How do I refresh the import inorder to get additional components that are now
    in the "from" project's package.xml ?
    Thanks,
    curt

    Curt,
    Can you recreate the problem using Emp and Dept tables and describe the steps so I can exactly reproduce what situation you are in?My latest test (live project) is to import components; navigate to the map directory of that
    project, walk out to the package dir of my components and click on the package.xml. All components
    at that time are then imported and visable under -Miscellaneous Files
    - Ok now how to?
    - un-important one or all of the components shown under Misc? Highlight and remove is not active.
    - refresh the import? You've added new components to the imported pkg.xml. I now want to see the
    new compoents?
    When JDeveloper is not running, you can carefully edit your .jpr file and remove the <Item> entries (ON A BACKUP COPY) of your Project.jpr file and see if that helps remove them. But to fix the problem we'll need to reproduce it.:) Yes I just was successful at this tact. You forgot to mention having to also hack
    src/myProj.jpx
    in addition to the myProj.jpr
    Then I re-imported and now see the new components that I added to the common project.
    Thanks, curt

  • Publishing BC4J Components as a Web Services Link????

    Hi,
    can someone give us the link about the tutorial
    "Publishing BC4J Components as a Web Services" for Jdeveloper 10g?
    Thanks

    I copied your question and pasted it to Google. And here is the link
    http://www.oracle.com/technology/tech/webservices/htdocs/series/pattern/
    To use Google for your search, type www.google.com in a web browser URL field. You will be amazed what you find by using it
    Frank

  • Resetting/Deleting Shared Profile Components

    we have ACS4.1 and LMS2.6
    LMS registered all apllications on ACS and was configured in ACS mode.
    There was a test installation of Cisco Unified Operations Manager and it also registered all aplications on the same ACS server.
    After this we have RME authorizations problem. User having all permissions in Shared Profile Components for RME can not access RME jobs.
    So the quiestion is - Can I somehow delete or reset Shared Profile Components? I want to register LMS applications again, but can not see how I can delete Shared Profile Components. I can only delete any roles in it.

    This chapter addresses the CiscoSecure ACS for WindowsServer features found in the Shared Profile Components section of the HTML interface
    http://www.cisco.com/en/US/products/sw/secursw/ps2086/products_user_guide_chapter09186a0080205a4a.html#wp737145

  • Anyway to have JDeveloper dynamically load BC4J components in memory?

    We are dealing with a large BC4J based application that contains large amount of application modules. So far, 300 application modules and total 4000 BC4J objects have been created. The size of the application still keeps growing daily... may up to twenty times than what we are having right now.
    While the application size growing, some unusual problem comes out. The biggest problem is that it makes JDeveloper very sluggish. It takes 15 minutes to just open JDeveloper and may need a few minutes to open the application module editor. (FYI: in our team, most developers have 1G memory and 1.8G CPU or up.) This is probably still OK for right now, but it will become a big problem later when the project size grows.
    When we analysis the project structure, we know that most of time, developer does not need to load all the application modules. For example, we have a core package that contains about 30 application modules. This core package needs to be shared and should be loaded. But, the other nine packages contain about 30 application modules each do not need to be loaded into memory at the same time in most cases. Since BC4J is XML based, we could not find a way to just partially load those application modules, especially when there’s cross references between them.
    When we check the project.jpr file, looks like all BC4J objects are referenced there. We have 40K lines in our project.jpr file now. When open JDeveloper, we believe JDeveloper will try to load all referenced BC4J XML content into memory. This consumes 500M memory and makes the overall performance very sluggish. The situation may become even worse when the project size keeps growing. For example, we cannot have 5000M (5G) memory in a development machine for 3000 application modules.
    We do know that by checking out the "ScanSource Paths to Determins Project Contents" in the Input Paths of Project Settings, we can short the JDeveloper’s open time, but this will not give BC4J relationship information and some other useful information… Not a practical solution.
    So, any idea to make JDeveloper dynamically loaded BC4J based on need?
    We’ve tried a few ways. One is to partition the application into different project and import the core one into the other projects. Only open the project in workspace when need. But this is not officially documented by Oracle and we are not sure whether it is possible/correct or not. Another thought is to remove the NOT-CURRENTLY-USED package from the project. But JDeveloper only support file level remove.
    Any help on this dilemma will be highly appreciated.
    Thanks,
    Charles

    The package is the unit of loading in the IDE for ADF business components.
    To edit components, they must belong to the project.
    To refer to components in a read-only way, they can be imported. This allows other editable or read-only components to refer to them without allowing the imported components to be edited.
    Both editable and imported components need to be loaded in memory to use them, so you can save memory at design time by creating projects that leave out as many packages as possible.
    Is there a way we can get your existing project in house to study its design time performance?

  • Jdev 12.1.3 OAF- MsgBundle warning does not allow edit of BC4J components

    Hi,
    I have a OAF project in JDev 12.1.3 which has only custom components for an extension to Oracle HRMS. While trying to edit a couple of EO and VOs, I am getting the following message. The rest of the EO/VOs are editable.
    Warning: There are java errors for this object. The wizard will be read-only until they are corrected.
    file:C:/Jdev10gR1213/jdevhome/jdev/myprojects/custom/oracle/apps/xxh/wde/schema/server/common/BatchAbsLinesEOImplMsgBundle.java
    I do not have any such a java file in my project directory. The only file in the above common folder is bc4j.xcfg.
    There was the following reference to this java in the EO.xml file (not sure where it came from though) and I have tried editing the EO.xml to remove this reference but this has not changed the warning and I am unable to edit the EO and VO using the wizard. Any help is appreciated.
    MsgBundleClass="custom.oracle.apps.xxh.wde.server.common.BatchAbsLinesEOImplMsgBundle"
    Thanks
    Adi

    HI Anand,
    I have edited the reference to the MsgBundle class in the EO.xml but it has not helped. I then compared the EO.xml to some others and found that this EO.xml had the following extra line in the designtime area. Removing this line did resolve this issue.
    <Attr Name="_codeGenFlag2" Value="Init|Delete|Access|DML|Val|Msg" />
    But I am still facing the original message when editing the VOs for this EO. The VO.xmls do not have the above line.
    Thanks
    Aditya

  • Using BC4J Components with different App Servers

    Can we use BC4J with 3rd party Application Servers (WebSphere, Weblogic, iPlanet etc)?
    If so any advantages (Performance, Implementation, installation) in using these components with Oracle iAS?
    Thanks
    null

    BC4J allows different ways of deploying your application.
    1) Local Mode : where your client application and BC4J application are colocated togther and running in the same VM
    2) As a EJB session bean
    3) As a corba server object.
    Using the Local mode deployment option you can deploy the BC4J application to any appservers (weblogic, websphere, iplanet) as long as they have standard VM and if your client application is JSP or Servlet then the appservers need a JSP or Servlet engine.
    In JDeveloper 3.1 you can deploy BC4J applicaiton as EJB session bean to Oracle8i
    In JDeveloper 3.2 ( which will released in next few weeks) you can deploy BC4J application as EJB session bean to Oracle8i , Oracle iAS and weblogic .
    iAS comes preconfigured with BC4J runtime by default
    raghu

  • Sharing ColdFusion Components (CFC)

    I have several ColdFusion Components in a Flex Library Project which I would like to share with several Flex / FB projects. is there a practical way of being able to to this?
    Right now I includ the CFCs directory in the 'Flex Build Path/Additional source folders outside the main source folder' of each project, this is OK except that Flex puts the CFC's in the root directory of the debug folder which becomes a mess. Does anyone know of a better way of doing it, so that I can share my CFC components in a well organized way and maybe put them in a folder like 'cfc_components'.
    Any ideas, suggestions, or tips would be greatly apreciated!!!

    Thanks for the input and insight, it's very much apreciated!!!
    You're quite right that you don't really share CFC's, I misused the word. I was hoping that I could've kept the CFC's in a library project and Flex (Ecclipse) would've been able to create links as it seems to do if you include their directory in the source path, but keep them in the same folder they're in and put them under the src folder instead of the root directory which is what it seems to do. I was hoping I had missed something and be able to do what I wanted to do.
    The reason I was hoping to keep the CFC's in a library project is that eventually I want to shared them with others.
    What I've been doing is put the CFCs in a main project application and the other applications, which are sub-modules, compile to the main applicaton's debug folder. clunky... messy... perhaps but it's been doing the work.  Like I said I would like to find a way to shcare my CFC's without also sharing my main app's files.
    Again thanks for the input.

  • Sharing business components across projects

    i have created a project in jdeveloper that contains all my required entity and view objects. this project has been placed on a central machine. during the development phase, all the team members need to use the same project and make changes to the entity/ view objects. but the changes made by one are overwritten when the same project is saved by the other member. is there any way to get around this problem.
    also, i created an entity and view object on one machine and copied the xml and java files to another machine. here i tried to include them in a new project but got errors and was unable to do so. what are the steps to be followed to include existing entity/view objects in a new project.

    If you are looking at extending your existing business components check out customizing applications in the help system
    Open help system
    Select Developing Business COmponents
    Select Customizing your applications
    raghu

  • Unable to Integrate to BC4J Components & Running PL/SQL Procedure

    I recently shifted to bc4j technology.
    i am having problem in calling one application module from
    another application module, using same transaction context.
    Another problem is running pl/sql procedure from doDML method of
    entity object, i also want to pass user's input to these
    procedures.

    Anant,
    If you want to call one application module from another, you
    should nest them in a root application module. The documentation
    describes how to nest application modules; basically you select
    the Application Modules tab in the application module editor.
    Nested application modules all share the transaction context of
    the root app module, so when you call one app module from another
    you're automatically using the same transaction context.
    The Oracle9i JDeveloper Release Candidate (which you can download
    from OTN) contains a sample that calls a PL/SQL stored procedure
    from BC4J. It's in <jdev_home>\BC4J\samples\StoredProc.
    Blaise

  • Starting up BC4J components at 9IAS startup

    Hi,
    How to make the BC4J files (jsp files, java and xml files used for creating views and entities) deployed on 9ias to start up when 9ias is started.
    That is to make access to these jsp pages faster
    when called for the first time.
    ( In the servlet case, it is simple, one just add the servlet name to the file jserv.properties by calling the servlet.startup method).
    Thank you
    null

    thanks.
    but the problem is that I want my application to go on its own in the auto start mode. now I only have 2 options.
    firstly I will have to use the windows api for my task.
    but that is not possible because I am using java. second option is that I will have to make some arrangement wherein my application goes into auto startup mode.
    please suggest some solution

Maybe you are looking for