RE: Simple Java Doubts
alternatively make the singleton stateless. Then you pass in everything you need when the method is called. Everything is a local varible and so has no threading problems. -Original Message- From: Alex Paransky [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 08, 2001 6:41 PM To: Orion-Interest Subject: RE: Simple Java Doubts 1. Use synchronization with the synchronized keyword 2. Since a server cannot open an http port to the remote client, I don't think HTTP can be used from the server side to notify client of changes. Client would have to either: a. Use polling, by making http requests every so often b. Use persistent socket connection to the server c. Use open http request strategy to always keep an http request outstanding -AP_ -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Santosh Kumar Sent: Tuesday, May 08, 2001 8:17 AM To: Orion-Interest Subject: Simple Java Doubts Question 1: How does an elementary Singleton pattern based Object behave in a multi-threaded environment? What is this phenomenon called? How do you make such a Singleton Object thread safe? Question 2: What are the two methods typically employed to notify remote clients distributed over the Internet of events that take place on a central server? Like changes in the price of options, market depth, or an order execution? What are the relative advantages/disadvantages of each of these strategies? Specifically, how can they be implemented in Java to allow for firewall tunneling over HTTP?
FW: ClassNotFoundExcpetion running xalan extensions under Orion app s erver
Hi guys i am having problems now that you may know about. I am calling xalan from a servlet running under orion which is working ok. However in the xslt stylesheet that i am running through xalan i call out to a java class using the xalan extensions mechanism. This xslt works fine when i run it though the commandline however when i run it under orion, xalan cannot find the class. The class is in the my-app/web-inf/classes directory (standard place for classes accessed by a servlet). I can see the class from the servlet that calls xalan but xalan throws a "ClassNotFoundException" when it trys to load the classes. Do you know where my classes need to be in this situation. I looked though the source of xalan an it seems to use the ContextClassLoader to load the classes. Does this conflict with orion's class loader. comments... regards peter
Controlling the Class path order for XALAN
Hi guys i am trying to run Xalan with Orion. However i am having some problems. i get "Namespace not supported by SAXParser" error. Now i have found that this is because jaxp.jar is also on the classpath. However Orion requires this to work. So to solve this problem i need to have jaxp.jar come after xalan.jar on the class path for me running my application under orion. eg. xalan.jar;jaxp.jar This way the classes in xalan.jar are loaded first and are used instead of jaxp.jar as far as i know the avaiale classpath directories are, in this order i think 1. /orion root (currently contains jaxp.jar and orions versions of xalan.jar and xerces.jar) 2. /orion/lib for golbal files (currently does not contain any files related to me) 3. my-app-directory/web-inf/lib (currently contains the lastest versions of xalan.jar and xerces.jar) So my question is how do i get my version of Xalan.jar and xerces.jar to load before jaxp.jar cheers
I have solved the security problem in Orion
Although a lot of you do not seem to be using security yet as no one has answered my posts, Well i have not solved it, it is a Bug. The bug is that a two or more security roles cannot have access to the same methods. for example say i have a method on Mybean called. methodA() and i have 2 defined security roles: security-role descriptionrole 1/description role-namerole1/role-name /security-role security-role descriptionrole 2/description role-namerole2/role-name /security-role then this method permission configuration is not possible in orion. method-permission descriptionpeter/description role-namerole1/role-name method ejb-nameejb/MYBean/ejb-name method-namemethodA/method-name /method /method-permission method-permission descriptionpeter/description role-namerole2/role-name method ejb-nameejb/MYBean/ejb-name method-namemethodA/method-name /method /method-permission This says that both "role1" and "role2" have access to call methodA. However if i have a user who is in "role2" (eg by putting them in an orion group that is mapped to role1) if i try to access methodA then then Orion will only check if user1 is in "role1" (eg by checking if the user is in an orion group mapped to role1). If they are not (as in this case), Orion does not check if they are in role2 (eg by checking if the user is in an orion group mapped to role2). It seem to me orion checks the first role that can access a method an uses that role. So you get a one to one relationship between methods and roles. so the relationship above is: methodA can be accessed by "role1" So a solution to this. One role per method. This means we have this. security-role descriptionrole 1/description role-namerole1/role-name /security-role security-role descriptionrole 2/description role-namerole2/role-name /security-role method-permission descriptionpeter/description role-namerole1/role-name method ejb-nameejb/MYBean/ejb-name method-namemethodA/method-name /method /method-permission method-permission descriptionpeter/description role-namerole2/role-name method ejb-nameejb/MYBean/ejb-name method-namemethodB/method-name /method /method-permission methodA accessed by role1 methodB accessed by role2 So if i want a user to access methodA and methodB then they have to be in role1 and role2, no this works fine because Orion has a one to one relationship. HOWEVER: As we know this is a bug and the relationship between methods and roles should be one to many. A method can be accessed by many roles. So in one of my requirements i have a method methodA() That needs to be access by 2 roles "super" and "editor". Now role "super" can always access the method and execute the contents. However role "editor" can always access the method but depending on an internal value then role "editor" may or may not be able to excute the contents of the method. So i need a one to many mapping between my methodA and my two roles. This is not possible at the moment. Comments...
Big Bug with the EJB security implementation
Hi I think i have found some major bugs with Orion Security. I have wrote a small app to test things out. Can you have a look over things and tell me if i am doing something wrong before i submit a bug report. :) First Bug: Orion throws an "OrionRemoteException" when a security exception occurs. The EJB1.1 spec says that a "RomoteException" should be thrown. Second Bug: The short-cut for declaring a method permission for all methods does not seem to work in the context below. eg method ejb-nameejb/MyBean/ejb-name method-name*/method-name /method Third Bug: This is a major bug. I have built my own UserManager, User and Group classes. And my security settings follow the following steps. I have a Stateless Session bean with 7 methods exposed to the client. create( ) methodA( ) methodB( ) methodC( ) methodD( ) methodE( ) methodF( ) i have 4 roles role1 role2 role3 role4 These are the permissions: role1 can access ALL METHODS role2 can access create(), methodA(), methodB() and methodC() role3 can access create(), methodD(), methodE() and methodF() role4 can access create(), methodA(), methodD() and methodE() These are the orion groups and mappings to roles group1 maps to role1 group2 maps to role2 group3 maps to role3 group4 maps to role4 These are the orion users and the mappings to groups user1 maps to group1 user2 maps to group2 user3 maps to group3 user4 maps to group4 The problem is this. If i connect to orion from an Java application client as "user1" and call all the methods of the session bean then everythings seems to work fine. 1. Orion uses my custom UserManager to authenticate my user which is fine 2. then i try to call create on the session bean home interface remember from above all roles and so all groups can call create() so 3. Orion then calls isMemberOf() passing in "group1" . Now user1 is a member of group1 so my custom UserManager returns true. 4. I then call all the other methods. Each time Orion calls isMemberOf() passing in "group1" each time. 5. Finally all the remote methods are executed ok, as expected. however if i connect to orion using "user2" or any other user. This is where problems seem to occur. 1. Orion uses my custom UserManager to authenticate "user2" which is fine 2. then i try to call create on the session bean home interface. 3. at which point Orion calls isMemberOf() passing in "group1". "user2" is not in group1 so i return false. However i now expect Orion to call isMemberOf() passing in "group2". But this does not happen. Rather Orion does not call this method again and throws an OrionRemoteException. It seems that Orion thinks that only users in "group1" (mapped to role1) can call the create() method. I presum isMemberOf( ) should be called for all groups that can access the method being called until one of the groups gets a match or there is no more groups left. I have attached my code and config files if they help ... Src.zip Src.zip
HELP: Security !!! How to do it.
Hi guys I don't know if anyone has done this yet but i want to connect to Orion from a Java application using user authentication and authorisation. I have checked the archives but there is no solid advice there. My aim is to get a "username" and "password" from a user. Then i want to authenticate them using orion, how ? Do i use RoleManager.login()cos when i try to find it using "java:comp/RoleManager" then orion gives me naming exception that say that that name does not exist. Anyway if i was to authenticate the user, i then want to test my security settings below... So far i have this setup: So here is my test. i have a Session Bean with 6 methods methodA() methodB() methodC() methodD() methodE() methodF() i have 5 roles role1 role2 role3 role4 role5 these are the permissions role1 access ALL methods role2 access ABC role3 access DEF role4 access ADE role5 NO ACCESS then orion stuff i have 5 groups group1 mapped to role role1 group2 mapped to role role2 group3 mapped to role role3 group4 mapped to role role4 group5 mapped to role role5 i have 5 users user1in group1 role1 user2in group2 role2 user3in group3 role3 user4in group4 role4 user5in group5 role5 for example "user1" is linked to "role1" and "role1" can access all methods. However if i connect to orion with the following JNDI configurations java.naming.factory.initial=com.evermind.server.ApplicationClientInitialCont extFactory java.naming.provider.url=ormi://localhost/securityApp java.naming.security.principal=user1 java.naming.security.credentials=user1 i can manage to sucessfully call "create()" to get back the remote interface of my session bean. However if i call any of the bussiness methods then i get a security exception like below... " Error: user1 is not allowed to call this EJB method, check your security settings (method-permission -application.xml)." so what i am i doing wrong !!! here are my config files. APPLICATION.XML snip module ejbejb/ejb /module security-role role-namerole1/role-name /security-role security-role role-namerole2/role-name /security-role security-role role-namerole3/role-name /security-role security-role role-namerole4/role-name /security-role security-role role-namerole5/role-name /security-role /snip PRINCIPALS.XML principals groups group name="group1" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group group name="group2" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group group name="group3" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group group name="group4" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group group name="group5" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group /groups users user username="user1" password="user1" group-membership group="group1" / /user user username="user2" password="user2" group-membership group="group2" / /user user username="user3" password="user3" group-membership group="group3" / /user user username="user4" password="user4" group-membership group="group4" / /user user username="user5" password="user5" group-membership group="group5" / /user /users /principals ORION-APPLICATION.XML snip security-role-mapping name="role1" group name="group1" / /security-role-mapping
RE: HELP: Security !!! How to do it.
Another thing to add in the ATM example they authenicate a user usings the Servlets built in form authentication login form eg form method="POST" action="j_security_check" input type="text" name="j_username" input type="password" name="j_password" /form this i presume creates princepal that is passed to the EJB layer to be checked. So my question is how the hell do i do the same thing from a Java Application. -Original Message- From: Peter Delahunty [mailto:[EMAIL PROTECTED]] Sent: Friday, November 10, 2000 10:07 AM To: Orion-Interest Subject: HELP: Security !!! How to do it. Hi guys I don't know if anyone has done this yet but i want to connect to Orion from a Java application using user authentication and authorisation. I have checked the archives but there is no solid advice there. My aim is to get a "username" and "password" from a user. Then i want to authenticate them using orion, how ? Do i use RoleManager.login()cos when i try to find it using "java:comp/RoleManager" then orion gives me naming exception that say that that name does not exist. Anyway if i was to authenticate the user, i then want to test my security settings below... So far i have this setup: So here is my test. i have a Session Bean with 6 methods methodA() methodB() methodC() methodD() methodE() methodF() i have 5 roles role1 role2 role3 role4 role5 these are the permissions role1 access ALL methods role2 access ABC role3 access DEF role4 access ADE role5 NO ACCESS then orion stuff i have 5 groups group1 mapped to role role1 group2 mapped to role role2 group3 mapped to role role3 group4 mapped to role role4 group5 mapped to role role5 i have 5 users user1in group1 role1 user2in group2 role2 user3in group3 role3 user4in group4 role4 user5in group5 role5 for example "user1" is linked to "role1" and "role1" can access all methods. However if i connect to orion with the following JNDI configurations java.naming.factory.initial=com.evermind.server.ApplicationClientInitialCont extFactory java.naming.provider.url=ormi://localhost/securityApp java.naming.security.principal=user1 java.naming.security.credentials=user1 i can manage to sucessfully call "create()" to get back the remote interface of my session bean. However if i call any of the bussiness methods then i get a security exception like below... " Error: user1 is not allowed to call this EJB method, check your security settings (method-permission -application.xml)." so what i am i doing wrong !!! here are my config files. APPLICATION.XML snip module ejbejb/ejb /module security-role role-namerole1/role-name /security-role security-role role-namerole2/role-name /security-role security-role role-namerole3/role-name /security-role security-role role-namerole4/role-name /security-role security-role role-namerole5/role-name /security-role /snip PRINCIPALS.XML principals groups group name="group1" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group group name="group2" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group group name="group3" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group group name="group4" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group group name="group5" descriptionusers/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group /groups users user username="user1" password="user1" group-membership group="group1" / /user
RE: HIGH PRIORITY:Contact Information??????
The contact i used for questions was Elin Bjällhage, [EMAIL PROTECTED] Then to buy orion just fill in the purchase form on the web site. If your wondering about versions like i was this is what Elin said. Hello Peter, With the license you get 6 months of free upgrades so there will be no problem for you to use version 1.3.8. Regards, Elin Bjällhage, Orion -Original Message- From: Denis Hennessy [mailto:[EMAIL PROTECTED]] Sent: Wednesday, November 08, 2000 10:50 AM To: Orion-Interest Subject: RE: HIGH PRIORITY:Contact Information?? I've just gone through the same experience. I've sent multiple mails offering to license the server but no-one mails me back. (I hate to think what would be happening if I was trying to get support!!). Does anyone have hard contact details? Names? Phone numbers? I think the technology looks good but without a company supporting it or source available to dig in myself it might just be too risky.. Regards, Denis -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of J Davis Sent: 31 October 2000 00:58 To: Orion-Interest Subject: HIGH PRIORITY:Contact Information?? Does anyone have any contact information for Orion. We have been trying to contact them for over two weeks about purchasing and licenses, and no one has gotten back to us. The seem to only have an E-mail address for sales on their site and we cannot find any sort of phone number or other e-mail that will work. Any help here would be greatly appreciated. Orion has been by far the fastest, smoothest EJB server we have found for it's cost and we want to purchase it. Unfortuanately if we cannot get a hold of anyone we will have to take our business elsewhere. Thanx Greg
RE: There has GOTTA be a BETTER way !!!!
Am I off base here, or are ejb's a lot more work? How can people talk about how EJB's "speed development time"?!? alot more work than what ? I to solve a problem using EJB's you should have a problem that EJB's were designed to solve. And so if you have one of those problems. Then EJB will be the fastest development process... -Original Message- From: Keith Kwiatek [mailto:[EMAIL PROTECTED]] Sent: Friday, November 07, 2003 3:35 PM To: Orion-Interest Subject: There has GOTTA be a BETTER way Hello, EJB's are great if you like tripling the amount of code you have to write How is everyone building their web apps with hand coded programs, or using automagic tools? It sure seems like there should be some sort of tool that you can just point at database tables, and have it build the jsp or ejb entity bean. AND shouldn't there be a tool that you can just drop the bean on an html template thus allowing visual access to the bean fields? You can't access ejb's directly from a jsp page (like a normal bean) can you? Any tools that will automagically wrap an ejb in a bean for presentation in a JSP? Am I off base here, or are ejb's a lot more work? How can people talk about how EJB's "speed development time"?!? Keith
Remote vs Local Method Call Optimization
Hi Does anyone know if local/remote method calls from EJB to EJB are optimized on Orion. For example if Entity Bean A calls Entity Bean B and they are both located in the same app server (e.g. now a local call) then does orion optimize this call. What I mean is does orion know that the call is local and so does not go through all the remote call overheads. To me the EJB spec seems to indicate that this sort of optimization should be done. For example if Entity Bean A calls Entity Bean B then I have to put an EJB reference in the deployment descriptor. Now to me this is telling the container which EJBs you are calling and so at deployment time the container works out if a call from Entity Bean A is a remote call to Entity Bean B by checking if the two beans will be on the same app server. if the situation changes eg Entity Bean B is put on a different app server then they will have to be re-deployed at which point the optomisation can be changed. Make perfect sense to me, or am i missing some thing
RE: Remote vs Local Method Call Optimization
Hi Robert how do you know this ? Also how does orion do this, will it just call methods normally in java when the Entity Beans are local. cheers -Original Message- From: Robert Krueger [mailto:[EMAIL PROTECTED]] Sent: Sunday, November 05, 2000 7:08 PM To: Orion-Interest Subject: Re: Remote vs Local Method Call Optimization At 17:54 05.11.00 , you wrote: Hi Does anyone know if local/remote method calls from EJB to EJB are optimized on Orion. For example if Entity Bean A calls Entity Bean B and they are both located in the same app server (e.g. now a local call) then does orion optimize this call. What I mean is does orion know that the call is local and so does not go through all the remote call overheads. yes, orion optimizes these calls. snip/ (-) Robert Krüger (-) SIGNAL 7 Gesellschaft für Informationstechnologie mbH (-) Brüder-Knauß-Str. 79 - 64285 Darmstadt, (-) Tel: 06151 665401, Fax: 06151 665373 (-) [EMAIL PROTECTED], www.signal7.de
RE: requestQueryString bug or not ?
try this http://localhost/e2/tester.jsp?url=/myUrl/mypage.jspparam1=1param2=2 then when tester.jsp runs simply get the value of "url" and the other parameters. The other parameters should represent the parameters that go with the value of "url" so. so when you have the all the parameters . simply add the parameters to the request object and forward the request to the value of "url" :) -Original Message- From: Vlad Petric [mailto:[EMAIL PROTECTED]] Sent: Monday, October 30, 2000 10:20 AM To: Orion-Interest Subject: requestQueryString bug or not ? Orion 1.3.8 IBM JDK 1.3 (aug 14) Linux having the following jsp (just for the sake of replicating the error): %=request.getQueryString% http://localhost:8080/e2/tester.jsp?x=x?x=z prints: x=x?x=z BUT http://localhost:8080/e2/tester.jsp?x=x;x=z?x=z prints x=z (so a ';' makes a big difference) I am very well aware of the fact that what I'm doing is highly unorthodox, but I have very strong reasons NOT to use URL encoding (basically I built a WML proxy with the URL passed as a parameter; many sites use WML variables in the URL to pass values - an URL encoding would simply kill these references) Vlad
RE: requestQueryString bug or not ?
What control do you need, you need to elaborate more on what you are trying to do... ? -Original Message- From: Vlad Petric [mailto:[EMAIL PROTECTED]] Sent: Monday, October 30, 2000 2:33 PM To: Orion-Interest Subject: Re: requestQueryString bug or not ? So you're basically saying to replace the '?' from the URL with a '' ? I did something similar to make it work, but the problem is that I have no control whatsoever on the URL that I have to process, so this is more like a workaround than a solution. Thanks, Vlad try this http://localhost/e2/tester.jsp?url=/myUrl/mypage.jsp http://localhost/e2/tester.jsp?url=/myUrl/mypage.jspparam1=1param2=2 param1=1param2=2 then when tester.jsp runs simply get the value of "url" and the other parameters. The other parameters should represent the parameters that go with the value of "url" so. so when you have the all the parameters . simply add the parameters to the request object and forward the request to the value of "url" :) -Original Message- From: Vlad Petric [ mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ] Sent: Monday, October 30, 2000 10:20 AM To: Orion-Interest Subject: requestQueryString bug or not ? Orion 1.3.8 IBM JDK 1.3 (aug 14) Linux having the following jsp (just for the sake of replicating the error): %=request.getQueryString% http://localhost:8080/e2/tester.jsp?x=x?x=z http://localhost:8080/e2/tester.jsp?x=x?x=z prints: x=x?x=z BUT http://localhost:8080/e2/tester.jsp?x=x;x=z?x=z http://localhost:8080/e2/tester.jsp?x=x;x=z?x=z prints x=z (so a ';' makes a big difference) I am very well aware of the fact that what I'm doing is highly unorthodox, but I have very strong reasons NOT to use URL encoding (basically I built a WML proxy with the URL passed as a parameter; many sites use WML variables in the URL to pass values - an URL encoding would simply kill these references) Vlad
Invalidating an Entity bean
Hi gurus How do I do this cleanly. I have and Entity that has attributes A,B,C and D. These attributes are all read from database tables. A and B are read from Table 1 C and D are read from Table 2 So I have Entity Bean 1, this is loaded by the app server (perhaps by a findByPrimaryKey) method. This means that Entity Bean 1 is now a cache of the data in A,B,C and D. However while this entity bean is in the cache, via a session bean I change the data of C and D in table 2. This mean that Entity Bean 1 now has dirty data. So the question is how do I force the Entity beans to do and EJB Load. Also the data in C and D in table 2 may be shared by N number of entity beans so I may need to refresh N number of Entity Beans depending on which ones are in the cache. I only want to call EJB load for Entity beans currently in the cache and of these I only want to call ejb load for the ones that refer to the changed data. Cheers Peter
RE: Invalidating an Entity bean
the situation is this. this is the current data model I have and entity bean called "Content" this repsents 1 row in a table called "content". The content enitity bean can have N number of images (corresponds to n number of rows in the images table) and N number of text blocks (corresponds to n number of rows in the text table). However images and text blocks are independent of content. Content is only a grouping of these assets if you like. So we get a many to many relationship. 1 content can reference many images 1 image can be referenced by many content. (same for text) so when a content entity bean loads up it loads into its attributes all the data from the images and text that it references. So lets assume all this data is now in a cache. if i then change the data in an image or text independently of the entity bean (perhaps by a session bean) then the data that is cached in the entity bean is dirty (does not match what is in the database). SO how do i notify the entity bean to refresh it's self ? Another model you hinted on was that Image and text could be enitity beans. They are certainly independent enities (qualify as enities). However i consider them to be too fine grained. For example text block could be as small as "hello this is a sentance" which is just a small string and so wrapping this small string in an entity bean seem way too much overhead. But the flip side is it would so the cache problem. the session bean would do updates via the image and text beans and so they would always contain the correct data. And content would get the data from the image and text entity bean each time. However if the content has 50 text block and 50 images that is 100 calls (one to each of the entity beans that represent this data), which as you see is a major overhead Any thoughs on how i best model this. cheers -Original Message- From: Nick Newman [mailto:[EMAIL PROTECTED]] Sent: Thursday, October 12, 2000 5:08 PM To: Orion-Interest Subject: Re: Invalidating an Entity bean Hi Peter, I'm not claiming guru-hood, but as far as I know you CAN'T do that cleanly. My thoughts on your best options are: 1) Tell Orion that the entity beans do not have exclusive write-access to the database by setting exclusive-write-access="false" in the orion-ejb-jar.xml (which is orion-specific). I believe this causes the data to be re-read at the start of every transaction. 2) Re-write your session bean to makes its database changes through the entity beans rather than through direct JDBC. Nick At 12:02 PM 10/12/00 +0100, you wrote: Hi gurus How do I do this cleanly. I have and Entity that has attributes A,B,C and D. These attributes are all read from database tables. A and B are read from Table 1 C and D are read from Table 2 So I have Entity Bean 1, this is loaded by the app server (perhaps by a findByPrimaryKey) method. This means that Entity Bean 1 is now a cache of the data in A,B,C and D. However while this entity bean is in the cache, via a session bean I change the data of C and D in table 2. This mean that Entity Bean 1 now has dirty data. So the question is how do I force the Entity beans to do and EJB Load. Also the data in C and D in table 2 may be shared by N number of entity beans so I may need to refresh N number of Entity Beans depending on which ones are in the cache. I only want to call EJB load for Entity beans currently in the cache and of these I only want to call ejb load for the ones that refer to the changed data. Cheers Peter
RE: EJB vs Servlets
Hi Kevin You seem to be missing the big picture here. With using a Servlet engine for handling all your logic you are putting all your eggs the same basket. You may have partitioned your logic up in the servlet container envirionment (MVC) but this is only at class level. EJB gives you distinct partioning at the component level. If you model all your Data and business logic at the EJB level then you create yourself a reuseable component layer. This way you can connect to this EJB layer from any clients, (Java) Servlets, (Java) jsp , (java) desktop client , (java) mobile client, (VB) desktop client, (CORBA) client and many more. At the moment you can only access your model layer through the servlet contain (or at least you can't easily access the same model from servlets and standalone clients, due to classloading etc) When you are accessing DB's from servlets you find yourself reinventing the wheel , for OR mapping, calling frameworks and data caching algorithims all the things that the best (like orion) app servers support :) -Original Message- From: Duffey, Kevin [mailto:[EMAIL PROTECTED]] Sent: Monday, October 09, 2000 6:22 PM To: Orion-Interest Subject: EJB vs Servlets Hey all, I know this is a little off-topic, but seeing as how Orion is about the only fully compliant EJB server, I figured this would be a better place to ask. Lately I have talked to a number of people that have been moving towards EJB and pulled back because they have found it to be more tedious to develop, as well as the end result was slower than just using Servlets. I ask this because it appears to me that the servlet engine (at least with 2.2) being able to be failed over, load-balanced, etc, seems to be quite as capable for scalability and fault-tolerance as the ejb engine used to be. I do realize that the EJB container offers transaction management, but connection pooling is available in the servlet engine at the server level as well. So, if you lose speed in development time and performance, what is the real benefits of moving to EJB? I should say this with caution..I am sure the EJB engine/container offers some things the servlet container doesn't, but I would think its possible to actually put those abilities in the servlet container. Anyways..I'll be interested in hearing any feedback on this. Thanks.
RE: Accessin EJB from a stand alone client.
create a file called jndi.properties and put it in your class path. the content of the the JNDI should look something like this. java.naming.factory.initial=com.evermind.server.ApplicationClientInitialCont extFactory java.naming.provider.url=ormi://localhost/MyApp java.naming.security.principal=admin java.naming.security.credentials=123 where MyApp is replaced by the name of your application, the name you gave it when you put an entry in the server.xml file. Also the principal and credential should match a user in the principals.xml file. -Original Message- From: Martin Andersson [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 19, 2000 9:29 AM To: Orion-Interest Subject: Accessin EJB from a stand alone client. Please give me som pointers. I'm stuck in my work due to this problem... I would like to know how to use a standalone client to access EJB in Orion. I have no problem using these beans from a JSP-page within Orion but trying to access them from outside Orion doesn't work. It has something to do with the JNDI-context. It would save me a lot of time if somewhone could tell med how to configure Orion the right way. Thanks in advance /M Andersson
how to generate orion specific code first without deploying
Hi i want to be able to generate orion classes and xml files without deploying my application on orion first. Currently i create my (ejb/xml stuff) etc then give it to orion. orion then generates all it's classes then deploys the application. well i just want to do the generating first. This is because i have a CMP bean an i want it to use a different database than the default one. And the only way i can do this, that i can see it to edit orions xml files. so i want to generate orions stuff then edit the database entry then deploy the application. Any ideas ?
ejb 2.0 examples
is there any ejb2.0 examples available, i want to see examples of CMP entity beans with many to many relationships with dependent objects.
RE: Creating tables in Hypersonic
cheers the jsp I did manage to get hypersonic datamanager to work though. when you start it up you need to select standalone mode then then further down in the menu put the path to your database. if you put a new name in here then the tool will create a new database for you. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Monday, September 18, 2000 7:43 AM To: Orion-Interest Subject: RE: Creating tables in Hypersonic Hi Peter, I tried using the database manager tool that comes with the Hypersonic package, but I couldn't connect to the instance of Hypersonic that I was using with Orion. I instead wrote a "quick and dirty" JSP page using simple JDBC to do the same job. Just place it in the document root of your app and insert the correct username and password. It runs SQL commands such as CREATE TABLE. -Original Message----- From: Peter Delahunty [mailto:[EMAIL PROTECTED]] Sent: 14. syyskuuta 2000 12:51 To: Orion-Interest Subject: Creating tables in Hypersonic Hi i am currently developing using orion verion 1.2.9. This version comes with Hypersonic, so i want to use this with some enity beans. I want to create a BMP entity bean and so to do this i need to add my own tables in the Hypersonic database. So my question is how do i create tables in the instance of hypersonic that comes with Orion? regards
Creating tables in Hypersonic
Hi i am currently developing using orion verion 1.2.9. This version comes with Hypersonic, so i want to use this with some enity beans. I want to create a BMP entity bean and so to do this i need to add my own tables in the Hypersonic database. So my question is how do i create tables in the instance of hypersonic that comes with Orion? regards
Corba from Orion
Can you call CORBA objects from within Orion using rmi/iiop
RE: Corba from Orion
EJB 1.1 requires that the vendor allows clients to call methods using the RMI/IIOP API eg. you use PortableRemoteObject.narrow() when you do lookups However the EJB server may not be sitting on top of a CORBA server (ie not using IIOP) like Orion i think. So this is why i didn't think you could call corba objects from orion. -Original Message- From: David Sierra Fernandez [mailto:[EMAIL PROTECTED]] Sent: Wednesday, June 28, 2000 5:12 PM To: Peter Delahunty Cc: Orion-Interest Subject: Re: Corba from Orion I think Orion supports RMI across servers but it doesn't supports RMI over IIOP. I'm afraid you'll have to wait until a next release of Orion supports the latest EJB 2.0, which requires RMI/IIOP protocol. - David Sierra Fern ndez E.T.S.I. Telecomunicaci¢n Universidad de ValladolidAULA CEDETEL Campus Miguel Delibes E-Mail: [EMAIL PROTECTED] 47011 Valladolid (SPAIN) -- -- Sierr@ -- On Wed, 28 Jun 2000, Peter Delahunty wrote: Can you call CORBA objects from within Orion using rmi/iiop