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
PaulIs 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 Connection1Functions 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 -
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,
curtCurt,
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?
ThanksI 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 theres 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 JDevelopers 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?
Weve 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,
CharlesThe 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
AdiHI 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
nullBC4J 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
nullthanks.
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
-
Is there a way to create 'Book Color's with CS Extension Builder?
Dear all Is there a way to add a spot color with color mode "Book Color" as those from the swatch libary, the PANTONE color book for example. I see those Book Colors have fixed Lab Values and cannot be changed. So they would be fixed for the user. Is
-
The hard drive on my laptop that contained Elements just died. Can I get a second copy for installation on my new PC?
-
How to include Aperture web gallery in dreamweaver site
With the demise of mobile me I need to find a way to keep my personal website photo albums (web galleries) that I currently publish via Aperture web gallery and then use a hyperlink from my Dreamweaver web site. This means visitors can view the photo
-
Trying to download trial of Adobe acrobat.
Trying to download trial of Adobe acrobat. After I sign in, the Adobe download assistant says: "Error 100. Error communicating with Adobe.com. Check your network connection and restart Adobe download assistant. Did that several times with the sa
-
Problems about creating an application client using Netbeans 5.0
Dear all, I have created an "enterprise application" project in Netbeans 5.0 and I want to create an AppClient to access the EJBs in the project. Since Netbeans 5.0 did not contain automatic support for AppClients. I need to do some configurations to