Expert's advise: share EJB components and business logic
Hi all,
I've a J2EE applicacion and I want to know if is posible share my ejb business logic with other components in other enviroments and differents programming languages.
for example, I show you my scenario...
I've a J2EE application that will be run in a WebSphere server (running over windows) for my JSP cliente side(you know... the web browser), all is ok!!! but my application need also receive request from remote clients (components from other business applications) that may be compiled in .net (over windows) or c++ (over AS400 or linux) and send the response to the respective client.
well...
my question is if is posible, which can be the protocols or java technologies that i will need to use for implements some like this.
thanks for your answer...
Web services is one possibility.
Similar Messages
-
Bean containing both UI components and business logic
Hello ADF design experts, please guide me. I came across a critical design aspects. I have main page having bunch of UI components, Region 1, Region 2. I will have to bind the UI components of the page to a managed bean having session scope and the reason is, when control goes to region 1 or region 2, I will be doing lot of processing of business logic and then based on this, I will have to update the UI components of the page. Same thing with region 2 also. And then, I should be able to access the information across regions and also across other UI components etc.
I am seeing only session scoped bean will be able to help me here to get my tasks done across regions and across all other UI components of the page because I am not in a position to pass too many parameters across regions. Now the problem is, I can not serialize this bean because as I mentioned lot of UI components are updated based on logic.
If I do not serialize the bean, I may have problem in future when application has to be deployed to cluster envt.
I do not know how should I go with my design now. Please provide me brilliant ideas and very thankful to your guidance.
thanksHi ADF,
I dont want to disturb the discussion with you and Alej. I'm rising some question from your first post.
I have main page having bunch of UI components,
ok fine.
Region 1, Region 2. I will have to bind the UI components of the page to a managed bean having session scope
1.why need to do this binding for all ui components .?
2.this question lead ask another question are you using ADFBc.? if so binding layer will take care why you bind all those things.
3.why you need to put session scope.?
if you are using region. the region can only be bounded TF right, then communicate with help of pageflow. inside the bounded you may have jsff/jspx,
reason is, when control goes to region 1 or region 2, I will be doing lot of processing of business logic and then based on this, I will have to update the UI components of the page. Same thing with region 2 also.
from the reason i have question? why you need to communicate between two region instead of using Taskflow communication.
And then, I should be able to access the information across regions and also across other UI components etc.
ok fine.
I am seeing only session scoped bean will be able to help me here to get my tasks done across regions and across all other UI components of the page because I am not in a position to pass too many parameters across regions. Now the problem is, I can not serialize this bean because as I mentioned lot of UI components are updated based on logic.
from my point of view. your are using all powerful feature session bean, region communication to do your requirement.
mixing all those things so only you can't able to get consistent results.
I do not know how should I go with my design now.
could you please explain your usecase.
Please provide me brilliant ideas and very thankful to your guidance.
yeah sure. people will do.
thanks -
How to import EJB components and Web Dynpro into WAS 6.4
I have EJB components and developed Web Dynpro application.
Is it possible to upload directly without using NWDS? My system is very slow while running NWDS.
I don't know how to upload or deploy those on WAS 6.4.
Can any one help me out on this.
Thanks,
MaheshHi,
The default SDM password is <b>sdm</b>, try this one.
1. Once login into SDM select <b>Deployment</b> tab.
2. Click the first Icon to add your .EAR files.
3. Continue the deployment process by clicking the <b>Next</b> button.
4. In last screen of the deployment <b>Confirm</b> the deployment.
Let me know if you need anything.
Thanks
Srinivasu Rao Sandaka -
Connecting servlet and business logic
Hi everybody,
in a server-client like architecture im using a servlet for communication with clients over http (not for creating web pages etc).
i wrote a parser class to get messages from servlet, parse them, and perform necessary actions.
According to the message content, parser must call methods from another java application running on the same machine.
The problem is how it can do that. If only static methods were called, it would be okey, but simply i have to reach the other application from the servlet, and i want to have them decoupled as much as possible.
any suggestions?I'm trying to make a sense of what you're trying to do. You have an already existing application with already existing objs, and you're trying to make a servlet communicate with that application ?
Now, what kind of app is it ? You can instantiate any class from a servlet through a business delegate, as long as the servlet container can find the classes or the jar files (in WEB-INF/classes,WEB-INF/lib or the server's global lib directory). I think you're telling me that you can't do that for some reason(s), and that backend app has already instantiated the objs you need ?
Can you edit that backend app and add a layer that serializes these famous objs you need into .ser files ?
The servlet would then just deserialize those objs, and use them in the parser. Of course, those objs would need to be serializable, and the servlet would still need to be able to access the objs class or jar files.
There are of course other ways to communicate : XML, JNDI, etc...
If you need to start that app from the servlet on the same machine, take a look at the java RunTime and the exec() method call.
If the above does not help, I'm afraid you'll have to make your problem even clearer... -
Badi and Business event( Urgent)
Hi experts,
I am new to badi and business event 1120P. Please post how this business event exactly comes in to picture in this badi. also how to find this business event?
And also Post the logic or code. The requirement is given below . Pls Post the solution. Its very urgent.
Enhancement Summary
Two user exits are needed to determine the correct G/L Account and Cost Center on Shipment Cost documents and post the Material Group on the Accounting document. BADI_SCD_ACCTG and Business Event 1120P can be used to accommodate the new functionality.
Business Process
Specific G/L Accounts and Cost Centers have to be determined to post on the Shipment Cost document. This is needed to provide accurate management reporting capabilities on shipments for Sales Order or Stock Transfer Order. A new custom table must be created which contains the following information: Distribution, Mode of Transport, Account, Cost Center Material group. Distribution is an identifier here if this shipment originated from an SO or STO.
There are no screens involved in this enhancement.
Components
Table: ZTABLE1
Field Data Element Type Length Description
MANDT MANDT CLNT (key) 3 Client
DISTRIBUTION Z_DISTRIBUTION CHAR (key) 1 Distribution
MOT ZZDEF_MOT CHAR (key) 2 Mode of Transportation
MATKL MATKL CHAR (key) 9 Material group
SAKNR SAKNR CHAR 10 G/L Account Number
KOSTL KOSTL CHAR 10 Cost Center
This table gets updated manually by the FI team.
Values for Distribution are:
1 = Primary Distribution to Refinery
2 = Primary and Secondary Excluding refinery
All entries must be checked against SAP config and master tables
User exit BADI BADI_SCD_ACCTG will be used to determine the correct G/L Account, Cost Center and Product Group based on Distribution and Mode of Transport. This BADI gets called only when a new Shipment Cost document get created.
Once the BADI determined the new values it populates field c_vfkn-sakto with the G/L account, field c_vfkn-kostl with the Cost Center and exports the Product group to memory.
There is no field on the Shipment Cost Document to store the Product group. Therefore another mechanism must be used to get the Product Group on the accounting document.
Business Event 1120P can be used to import the Product group out of memory and put it on BSEG-MATNR. Structure BSEG_SUBST must be enhanced with field MATNR for this purpose.
Function, Rules, Exits Description of Functionality, Rules, Exits
BADI_SCD_ACCTG Business Add-In for Shipment Cost Account Assignment
Business Framework Business Event 1120P can be used to import the Product Group from memory and to populate field BSEG_SUBST-MATNR.
This event gets called from different places. It needs to be ensured that it only populates the value when it was called from BADI_SCD_ACCTG.
Custom Table A look-up Table needs to be maintained for Distribution, Mode of Transport, G/L Account, Cost Center and Material Group
Transaction code To maintain the new table
Append Structure To enhance structure BSEG_SUBST with MATNR
Business Add-In BADI_SCD_ACCTG can be used to determine the account assignments for a shipment cost item to set the G/L Account and Cost Center. All data needed to determine the new information gets provided in this BADI.
Logic:
Determine if STO or SO based on Document Category from internal table I_REFOBJ-VTRLP field VGTYP If is C then Distribution type is Sales Order (Primary and Secondary Excluding Refinery 2 ) else we need to check the receiving plant. If the receiving plant (I_REFOBJ-VTRLK field WERKS) is a refinery the Distribution type is Primary (1) else its a (Primary and Secondary Excluding Refinery 2 ). Refineries can be identified via Function Module ZPLANTCLASSIFICATION. The plant must be passed into Import Parameter IP_SAPPLANT and field INT_PLANTCHAR-ATNAM must be looked up with value SAPTYPE. If it exists and field ATWRT contains RFY, the plant is a refinery.
Product Group can be determined from the Material master through Material group field MARA-MATKL.
Mode of Transport will be passed in the BADI in VTRLK-OIC_MOT.
Select single entry from table ZTABLE1based on Distribution, Mode of Transport and Material Group. If nothing gets selected, error message No entry exists in table ZTABLE1for Distribution (distribution), MOT (MOT) & Mat. Group (material group) should be triggered.
Move ZTABLE1-SAKNR to c_vfkn-sakto and ZTABLE1-KOSTL to c_vfkn-kostl
The Material group must be exported to memory in BADI_SCD_ACCTG
The Material group must be imported from memory in Business Event BP1120P
Free Memory in Business Event BP1120P
This is VI01 Creation of Freight Cost Item screen
and also code for function module ZPLANTCLASSIFICATION below
FUNCTION zplantclassification .
""Local interface:
*" IMPORTING
*" REFERENCE(IP_SAPPLANT) LIKE AUSP-OBJEK OPTIONAL
*" REFERENCE(IP_CPSPLANT) LIKE AUSP-ATWRT OPTIONAL
*" REFERENCE(IP_SISLOC) LIKE AUSP-ATWRT OPTIONAL
*" EXPORTING
*" VALUE(EP_SAPPLANT) LIKE AUSP-OBJEK
*" VALUE(EP_CPSPLANT) LIKE AUSP-ATWRT
*" VALUE(EP_SISLOC) LIKE AUSP-ATWRT
*" VALUE(EP_OWNERSHIP) LIKE AUSP-ATWRT
*" VALUE(EP_SMISTYPE) LIKE AUSP-ATWRT
*" VALUE(EP_SPOTREF) LIKE AUSP-ATWRT
*" VALUE(EP_SUBTYPE) LIKE AUSP-ATWRT
*" VALUE(EP_SUPPLYREGION) LIKE AUSP-ATWRT
*" VALUE(EP_TYPE) LIKE AUSP-ATWRT
*" VALUE(EP_DISTAREA) LIKE AUSP-ATWRT
*" VALUE(EP_GEOGAREA) LIKE AUSP-ATWRT
*" VALUE(EP_HMF) LIKE AUSP-ATWRT
*" VALUE(EP_IATACODE) LIKE AUSP-ATWRT
*" VALUE(EP_IRSTCN) LIKE AUSP-ATWRT
*" VALUE(EP_OPSAREA) LIKE AUSP-ATWRT
*" VALUE(EP_PLANTSTAT) LIKE AUSP-ATWRT
*" VALUE(EP_PORTCODE) LIKE AUSP-ATWRT
*" VALUE(EP_REFAREA) LIKE AUSP-ATWRT
*" VALUE(EP_SAPTYPE) LIKE AUSP-ATWRT
*" VALUE(EP_MFGWARRANTY) LIKE AUSP-ATWRT
*" VALUE(EP_USERTYPE) LIKE AUSP-ATWRT
*" VALUE(EP_TRMCENTER) LIKE AUSP-ATWRT
*" VALUE(EP_TRANSCENTER) LIKE AUSP-ATWRT
*" VALUE(EP_FEIN) LIKE AUSP-ATWRT
*" TABLES
*" INT_PLANTCHAR STRUCTURE ZPLANTCLASSIFICATION OPTIONAL
*" EXCEPTIONS
*" NO_OBJEK_FOUND
*" NO_CPSPLANT_FOUND
*" NO_SISLOC_FOUND
*" NO_INPUT_FOUND
*" VALID_PLANT_NO_CHARACTERISTIC
*" ONE_TO_MANY_ISSUE
*" PLANT_NOT_FOUND_ZDEF_DELPLANT
*" UNKNOWN_ERRORS
FM Name: ZPLANTCLASSIFICATION
Created By : SYUB *
Description : Function Module to retrieve plant characteristics *
The function module has two capabilities:
1. Retrieve only the necessary characteristics
2. Retrieve the whole characteristics into an internal table.
Parameter Description *
In the future, if there is a new characteristic added to the
plant classification tables, the characteristic has to be added
to the list of the export parameters and the loop statement.
TABLES: ausp, cabn, ksml, zdef_delplant.
DATA: ws_objek LIKE ausp-objek,
ws_countchar TYPE i,
ws_countplant TYPE i.
*Internal table for SAP plant
DATA: BEGIN OF int_plant OCCURS 0,
plant LIKE ausp-objek,
END OF int_plant.
*sap plant code is the input parameter.Move objek, atnam, and atwrt to
*internal table PLANTCHAR using inner join of AUSP, CABN, and KSML to
*synch up the internal characteristic numbers throughout the 3 tables.
IF NOT ip_sapplant IS INITIAL.
SELECT auspobjek cabnatnam ausp~atwrt
INTO CORRESPONDING FIELDS OF TABLE int_plantchar
FROM ksml AS ksml
INNER JOIN cabn AS cabn
ON cabnatinn = ksmlimerk
INNER JOIN ausp AS ausp
ON ausp~objek = ip_sapplant
AND auspatinn = cabnatinn
AND ausp~mafid = 'O'
AND ausp~klart = 'Z01'.
*Checking the existence of ip_sapplant in the table, if it doesn't
*exist, raise the exception else if it exists, check if it has
*characteristic values.
IF sy-subrc NE 0.
RAISE no_objek_found.
ELSE.
DESCRIBE TABLE int_plantchar LINES ws_countchar.
IF ws_countchar LT 2.
RAISE valid_plant_no_characteristic.
ENDIF.
ENDIF.
*cps plant code is the input parameter. Move objek from table AUSP to
*ws_objek using inner join of CABN and AUSP to match up the internal
*characteristic numbers from the 2 tables.
ELSEIF NOT ip_cpsplant IS INITIAL.
SELECT ausp~objek
INTO TABLE int_plant
FROM ausp AS ausp
INNER JOIN cabn AS cabn
ON cabn~atnam = 'OLDCODE'
WHERE auspatinn = cabnatinn
AND ausp~mafid = 'O'
AND ausp~klart = 'Z01'
AND ausp~atwrt = ip_cpsplant.
*Checking the existence of ip_cpsplant in the table
IF sy-subrc EQ 0.
*Counting the number of SAP plants in the internal table int_plant
DESCRIBE TABLE int_plant LINES ws_countplant.
*Moving the values of objek, atnam, and atwrt to PLANTCHAR using objek
*from ws_objek.
IF ws_countplant EQ 1.
LOOP AT int_plant.
SELECT auspobjek cabnatnam ausp~atwrt
INTO CORRESPONDING FIELDS OF TABLE int_plantchar
FROM ksml AS ksml
INNER JOIN cabn AS cabn
ON cabnatinn = ksmlimerk
INNER JOIN ausp AS ausp
ON ausp~objek = int_plant-plant
AND auspatinn = cabnatinn
AND ausp~mafid = 'O'
AND ausp~klart = 'Z01'.
ENDLOOP.
*If there more than one SAP Plants, then raise an exception.
ELSEIF ws_countplant GT 1.
RAISE one_to_many_issue.
ENDIF.
ELSE.
SELECT SINGLE werks FROM zdef_delplant
INTO ws_objek
WHERE cpsloc = ip_cpsplant.
SELECT auspobjek cabnatnam ausp~atwrt
INTO CORRESPONDING FIELDS OF TABLE int_plantchar
FROM ksml AS ksml
INNER JOIN cabn AS cabn
ON cabnatinn = ksmlimerk
INNER JOIN ausp AS ausp
ON ausp~objek = ws_objek
AND auspatinn = cabnatinn
AND ausp~mafid = 'O'
AND ausp~klart = 'Z01'.
if sy-subrc ne 0.
raise plant_not_found_zdef_delplant.
endif.
ENDIF.
*cps plant code is the input parameter. Move objek from table AUSP to
*ws_objek using inner join of CABN and AUSP to match up the internal
*characteristic numbers from the 2 tables.
ELSEIF NOT ip_sisloc IS INITIAL.
SELECT ausp~objek
INTO TABLE int_plant
FROM ausp AS ausp
INNER JOIN cabn AS cabn
ON cabn~atnam = 'SISLOC'
WHERE auspatinn = cabnatinn
AND ausp~mafid = 'O'
AND ausp~klart = 'Z01'
AND ausp~atwrt = ip_sisloc.
*Checking the existence of ip_sapplant in the table
IF sy-subrc EQ 0.
DESCRIBE TABLE int_plant LINES ws_countplant.
*Moving the values of objek, atnam, and atwrt to PLANTCHAR using objek
*from ws_objek.
IF ws_countplant EQ 1.
LOOP AT int_plant.
SELECT auspobjek cabnatnam ausp~atwrt
INTO CORRESPONDING FIELDS OF TABLE int_plantchar
FROM ksml AS ksml
INNER JOIN cabn AS cabn
ON cabnatinn = ksmlimerk
INNER JOIN ausp AS ausp
ON ausp~objek = int_plant-plant
AND auspatinn = cabnatinn
AND ausp~mafid = 'O'
AND ausp~klart = 'Z01'.
ENDLOOP.
*If there more than one SAP Plants, then raise an exception.
ELSEIF ws_countplant GT 1.
RAISE one_to_many_issue.
ENDIF.
ELSE.
SELECT SINGLE werks FROM zdef_delplant
INTO ws_objek
WHERE sisloc = ip_sisloc.
SELECT auspobjek cabnatnam ausp~atwrt
INTO CORRESPONDING FIELDS OF TABLE int_plantchar
FROM ksml AS ksml
INNER JOIN cabn AS cabn
ON cabnatinn = ksmlimerk
INNER JOIN ausp AS ausp
ON ausp~objek = ws_objek
AND auspatinn = cabnatinn
AND ausp~mafid = 'O'
AND ausp~klart = 'Z01'.
if sy-subrc ne 0.
raise plant_not_found_zdef_delplant.
endif.
ENDIF.
ELSE.
*Checking if there is an input parameter entered.
RAISE no_input_found.
ENDIF.
Modified 7/30 by RFOR to validate SAP plant is in plant master
data: wa_t001w like t001w.
read table int_plantchar.
SELECT SINGLE * from t001w into wa_t001w where
werks = int_plantchar-objek.
if sy-subrc ne 0.
raise NO_OBJEK_FOUND.
endif.
*Moving all the characteristic values to the export parameters
LOOP AT int_plantchar.
MOVE int_plantchar-objek TO ep_sapplant.
CASE int_plantchar-atnam.
WHEN 'OLDCODE'.
MOVE int_plantchar-atwrt TO ep_cpsplant.
WHEN 'SISLOC'.
MOVE int_plantchar-atwrt TO ep_sisloc.
WHEN 'OWNERSHIP'.
MOVE int_plantchar-atwrt TO ep_ownership.
WHEN 'SMISTYPE'.
MOVE int_plantchar-atwrt TO ep_smistype.
WHEN 'SPOTREF'.
MOVE int_plantchar-atwrt TO ep_spotref.
WHEN 'SUBTYPE'.
MOVE int_plantchar-atwrt TO ep_subtype.
WHEN 'SUPPLYREGION'.
MOVE int_plantchar-atwrt TO ep_supplyregion.
WHEN 'TYPE'.
MOVE int_plantchar-atwrt TO ep_type.
WHEN 'DISTAREA'.
MOVE int_plantchar-atwrt TO ep_distarea.
WHEN 'GEOGAREA'.
MOVE int_plantchar-atwrt TO ep_geogarea.
WHEN 'HMF'.
MOVE int_plantchar-atwrt TO ep_hmf.
WHEN 'IATACODE'.
MOVE int_plantchar-atwrt TO ep_iatacode.
WHEN 'IRSTCN'.
MOVE int_plantchar-atwrt TO ep_irstcn.
WHEN 'OPSAREA'.
MOVE int_plantchar-atwrt TO ep_opsarea.
WHEN 'PLANTSTAT'.
MOVE int_plantchar-atwrt TO ep_plantstat.
WHEN 'PORTCODE'.
MOVE int_plantchar-atwrt TO ep_portcode.
WHEN 'REFAREA'.
MOVE int_plantchar-atwrt TO ep_refarea.
WHEN 'SAPTYPE'.
MOVE int_plantchar-atwrt TO ep_saptype.
WHEN 'MFG_WARRANTY'.
MOVE int_plantchar-atwrt TO ep_mfgwarranty.
WHEN 'USER_TYPE'.
MOVE int_plantchar-atwrt TO ep_usertype.
WHEN 'TERMINALCENTER'.
MOVE int_plantchar-atwrt TO ep_trmcenter.
WHEN 'TRANSPORTATIONCENTER'.
MOVE int_plantchar-atwrt TO ep_transcenter.
when 'FEIN'.
move int_plantchar-atwrt to ep_fein.
ENDCASE.
ENDLOOP.
ENDFUNCTION.
Pls help me out from this problem its very urgent.
Thankshi SK ,
process like this .
in BADI
method.
1.Here u have to put ur logic based on the Requirement.
2.then u have to call BTE like this
<b>call function 'OPEN_FI_PERFORM_00001020_E'
tables
t_bseg = xbseg
t_bkpf = xbkpf.</b>
3.Update Ztables.
endmethod.
this is sample logic only.First get logic of TS then u will come to know how to do?
regards
prabhu -
How To Create A Technical And Business Systems For Web AS ABAP ???
Hi Experts,
How To Create A Technical And Business Systems For Web AS ABAP ???
Please Let me Know All the Step-By-Step Process to Create ????
Points Will be Given
Regards
KhannaHi Sumit,
When U Told the thing that first time to execute the RZ70 and All i Did this in XI System
So I got An Entry for the Technical System for XI System.
Now i Deleted that and Executed RZ70 in R/3.
When I Executed RZ70, I got this Error.
<b> "RFC Call failed: Error Opening an RFC Connection "</b>.
Now I am Unable to see Any Technical System Under Web As ABAP. It's Showing Empty Now.
Please Let me know
Regards
Khanna -
How to split presentation level and business level using two ATG instances
Hello All!
We are investigating possibility of splitting ATG presentation (web store with jsp pages and other presentation components) and business (ATG components such as Pricing, Catalog, etc.) levels. The first idea that we have is simply start two instances of ATG. One instance will serve client requests (presentation level) and communicates with another ATG instance (business level) where all ATG components are situated.
The main problem is a Nucleus container which is used for accessing all ATG components. And we don't know right solution how to point to a Nucleus container that is situated on a remote ATG instance. Right now we have two ideas how to establish communication between two ATG instances:
- try to replace local Nucleus container by remote one using RMI;
- do not replace Nucleus container by implementing some custom filter that can redirect all servlet requests to another ATG instance. In that case we will have two Nucleus containers.
What do you think about all this? Do you have any other solutions how to solve the task? Maybe we lost something? Can we deploy a cluster of ATG instances that will communicate between each other?
Thanks in advance.
Andrey.
Edited by: 945758 on Jul 11, 2012 7:00 AMYes ATG system can have multiple nodes grouped in one or more clusters managed by load balencer
If the services you are talking about are inherently ATG services like login, add to cart, checkout then its better to implement it with ATG.
ATG provides and support both REST and SOAP based Webservice and allows you to expose any ATG component as service thus making it available outside ATG space.
To be able to manage load better you can split your servers to page serving servers and services oriented servers and place them into multiple clusters.
Though I haven't seen anyone using this kind of topology so not sure whether it's there is any challenge in setting up this topology. -
Cannot capture the exception generated by EJB components.
Hi, All:
I got a strange problem when developing EJB application under SAP WAS server. I developed an EJB as below:
public class UserAccountBean implements SessionBean{
String getUserEmail(String accountID) throws SAPSystemException{
if(error){
throw new SAPSystemException("Specified user not found.");
Exception I defined as below.
public class SAPSystemException extends Exception {
@param message
public SAPSystemException(String message) {
super(message);
In client side I code as below:
public String getUserMail(String accountID){
UserAccount bean = home.create();
try{
String email = bean.getUserEmail(accountID);
}catch(SAPSystemException e){
// do something here;
}catch(Exception e){
// do some other thing here;
It is strange that the SAPSystemException I throw out in the bean cannot be caught by the block catch(SAPSystemException e), it is only captured as general exception and it is said as UndeclaredThrowableException.
When I deployed EJB components and Web components together, the exception can be captured successfully. But when I deployed them separately, it has problem for exception capture. I think it must be the protocol problem. Before I only use RMI-IIOP but SAP WAS server using RMI-P4. Is anything I can do to solve this problem?
I packed the remote and home interface for the EJB and common classes like value objects and exceptions in both components. Is there anything I forgot to set for the deployment?
Thanks in advance.
Message was edited by: Weimin Guo
Message was edited by: Weimin GuoThank you very much Gregor. In fact, I already defined this throws exception in the remote object interface.
public interface UserAccount extends EJBObject {
public String getUserEmail(String accountID) throws RemoteException, SAPSystemException;
This is application-specific interface and this mechanism works well in my previous in other application server.
I checked the SAP document and found if you using RMI-IIOP, you need to get the client package for your deployed EJBs and put in the path accessible by the WEB components. Based on this suggestion, I put the EJB jar file together with WEB application (Sure the EJB application still deployed in other host and JNDI point to that host. I remembered one book mentioned that if you don't want generate the client package from EJB containter, you can do it this way. For me, I just haven't found the way to get the client package with Administrator Tool it said.), It works!!!. I checked the remote object generated by home object, it is different with EJB jar file there or not. But in the document SAP said that only if you use RMI-IIOP you need do this way, for RMI-P4, you don't need that. Anyway, it seems that RMI-P4 use same way as RMI-IIOP(You only don't need narrow the home object after lookup).
I'll try to find how to get EJB client package from WAS server. For this is my first time to use SAP WAS Server, things a little strange.
Thank you very much for your great help.
Cheers. -
JNDI / EJB deployment and clustering
I'm aware that replication isn't supported for stateful EJBs. But the
"serialization of the handle isn't supported" statement has me concerned.
So I'm looking for a little clarification on this scenario:
Let's say I've got a stateful session bean, which is accessed from a
servlet. For performance reasons, you want to find the colocated instance -
the smart stub should do this, right? To have it colocated in all
instances, then I need to deploy it into each server of the cluster. This
essentially bind()/rebind()'s (whichever call the container does during a
deploy operation) the EJB n times. Does each of those JNDI bind/rebind
calls "overwrite" the previous one, or does the replicated JNDI tree somehow
"keep" all the entries?
What happens if I bind/rebind "non-cluster enabled" objects into the JNDI
tree in each server to the same name (like a reference data table - doesn't
really need to be an RMI object, one per server is fine)? Will they get
"overwritten"? Should I need to take into account the server name when
binding into the tree, and then also use that for subsequent lookups?
Thanks for any input!
--Jason
Guys,
Thanks for the information.
The problem was that classpath, some other packages required for the Bean
were not in the weblogic\classes directory.
so that was it.
Thanks
/selvan
Murali Krishna Devarakonda wrote in message
<7qjkr1$7dl$[email protected]>...
Are you using the HOT DEPLOY feature(startweblogic.bat does it)?
Then you could go to the WebLogic Console, select the Bean, and Redploy.
You could also do it from a command line utility "weblogic.deploy".
If you didn't start the server with the hot deploy, you need to restartyour
server after any changes.
You should read the weblogic docs on the Hot Deploy feature. A different
classloader is used for it. Also, the standard weblogic classpath cannot
coexist with it.
Hot Deploy uses: (assuming your weblogic installation is in D:/WebLogic
D:\WebLogic\classes/boot
It will throw an exception if you have D:\weblogic\classes or
D:\WebLogic\lib\weblogicaux.jar in the system classpath. You need to use
the weblogic.classpath instead.
Regards,
Murali Krishna Devarakonda
Tamilselvan Ramasamy <[email protected]> wrote in message
news:7qi0ln$kpc$[email protected]..
Hello,
I have created bunch of EJB Components and deployed for WLS4.0 using the
following way. It works fine under WLS4.0
To compile java code -> javac *.java
Create SER file -> java weblogic.ejb.utils.DDCreator -d .
DeploymentDescriptor.txt
Create JAR file -> jar cmf manifest Bean.jar /directory
EJBC and deployment -> java weblogic.ejbc -d /targetDirectory Bean.jar
and also add an entry in the welogic.properties file
weblogic.ejb.deploy= ...
When I do the samething in the WLS4.5, it doesn't work, first of all,
JNDI
is not finding the home interface. It throws a naming Exception
please give me an idea hw do I deploy my Beans in the WLS4.5 using the
command line option. I don't have Visual Cafe to do that automatically.So
I
have to do that manually.
Thanks
/selvan
Captura Software Inc
[email protected] -
Difference between impelementation rules and business logc.
Hi all,
Please tell me what is the exact difference between implementation rules and business logic?And more importantly when and where they should be used?
Thanks in advance.
Regards,
Jayant GuptaHi vasu,
from the point of view of possible transformation there are not differences.
The great difference is the following:
In Update Rules routines are defined for a single field for every key filed: for example you define the single routine for 0AMOUNT for every single Characteristic that define the key (0COSTCENTER - 0COSTELEMENT - ...). For every single DataField you can define a different routine also in terms of Key fields.
In transfer roules every routine is for every field without any kind of relation to the other fields.
Check also this doc:
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/dc43c445-0d01-0010-23a1-ca348ff5f975">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/dc43c445-0d01-0010-23a1-ca348ff5f975</a>
Ciao.
Riccardo.
Message was edited by: Riccardo Venturini -
Best Practice: Keeping business logic out of the servlet
In servlet programming, is it considered best practice keep business logic in the helper classes and only have session-related logic in the servlet?
Yes, it is best to keep your business logic separate from your servlet class, to prevent coupling between your servlet and business logic. Consider using EJB's or the DAO pattern for your business logic.
-
Transformation vs business logic
can anyone please tell me the difference between a transformation and business logic in the context of a Data Warehouse? do these terms mean the same thing?
thanks for the help.thanks Josh, i was thinkning that even in stored procedures, we perfrom some sort of transformations(joins, filtering etc). i've been doing researh and couldn't find an example of a business logic which isn't called "transformation"
Well sure, and that's another sort of fuzziness. A relational database exists exactly so you can do various kinds of algebraic manipulations as needed, it's not just to persist data without also including those manipulations. And even the
simplest select is a manipulation of a kind. But "transformation"? If the select returns the columns as stored, I think that's not transformed. Even a join to multiply or divide the result set and return a combined row I think would be allowed
under relational algebra and not considered a "transformation".
But as soon as you combine fields in any way, I guess you've cross the border into transformation.
When you look closely, there's very little about relational technology that's all as cut and dried as some might think!
Josh -
Difference between business components and EJB
hello guys, do anyone knows what is the core difference of using ADF Business components and EJB Session Beans ??
this blog might help http://blog.whitehorses.nl/2012/03/26/adf-11g-bc4j-or-ejb3/
Timo -
Business Components and OAS 4.0.8
I have several projects running in JDeveloper - one of them being a BC4J project, the others a mix of servlets and classes that make use of the BC4J project to interact with the database.
I have successfully managed to deploy the Business components application to OAS, but I get stuck after that.
How do I make use of this deployed BC4J application through a JServlet application?Hi,
A colleague of mine mentioned that one may encounter problems deploying to OAS 4.0.8.
I understand that OAS 4.0.8.1 has major bug fixes and may make deployment substantially easier. Having not attempted either, I cannot verify his statement.
Hope you have success!
G.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Subhadip:
I have created an application using Oracle Business Components and Oracle InfoSwing controls. Now I want to deploy the Business Components as EJB to OAS 4.0.8 and want to run the front end as an Applet which will connect to those EJB Session beans stored in OAS. Please let me know if its possible or not and any document detailing how to do it. To be more specific:
1) In the properties dialog for the Application Module, in the remote tab, there are options for Oracle8i EJB, CORBA and VISIBROKER, but nothing for OAS. So what to choose there?
2) If I run Deployment Wizard on the Business Components project with OAS option (selecting nothing in the Remote Tab), it fails (says nothing to parse in the source JAR file)
3) In the property pallette of the InfoProducer Session object, what to give in the remote proerties for OAS EJB.
4) It seems that no manual code change is required if they are deployed in Oracle8i or VisiBroker whether they are deployed in Local or EJB or CORBA(the deployment wizard takes care of it). Is it same for OAS EJB deployment also?
Please help. It's Very Very urgent.<HR></BLOCKQUOTE>
null -
Why ADF Business Components and TopLink
Hi All,
Why are there two types of components in Businses Tier? (ADF Business Components and TopLink). Even through there are other types, I can visualize the use of other components but ADF Business Components & TopLink seems to serve the same requirement.
Can some one provide me information on what is the difference between these two and when to use which one?ADF Business Components (aka BC4J) are different from Toplink from approach point of view. Basically if you are more comfortable with SQL and want fine grain control over what and how SQL are run against the database, BC4J is the way to go, because, it's you who write the queries(in ViewObjects)
If you are from more of java backgroup and can visualize things in term of Object and relationships among objects, so on and so forth then Toplink would be the right choice.
Pls see the post by Shay in his blog:
http://blogs.oracle.com/shay/2006/03/10
regards - rutwik
Maybe you are looking for
-
When I connect my external screen ( iiyama vision master pro 410 ) to my macbook via the mini dvi to vga connector the screen of the iiyama is blurred. ( not just the text, everything ) It is on it's native resolution, and if i hook up any other pc t
-
Can't play more then 4 stream at a time
We are doing the project called player. In this we have tried to play actual call and its related calls ( in and out voice separately) But we can play 4 stream at a time, but if it reaches more then 4 its throwing below error. In this we are using JM
-
Bought new iMac & moved (or thought I had) all of my music from the old PC to the new iMac. Have discovered several hundred songs are orphaned on old PC; I can "see" them with both machines turned on & iTunes open. "Missing" songs show in iMac itunes
-
Need help setting up wirless network
Hi all, I am new at setting up wireless networks. I am thinking about setting up a wireless network and share out my internet connection with a neighbor. The only problem is my neighbor is 800ft away from me. There is also a line of trees in the way.
-
Syntax error in join operation
Hi , I am getting an syntax error for the following sql statement. i am trying to join data from 2 excel sheets to paste data in 3rd sheet. strSQL = "SELECT data.*, franchise.* FROM [franchise$] " & _ "INNER JOIN [data$] ON franchise.Lo