RE: Simple Java Doubts

2001-05-10 Thread Peter Delahunty

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

2001-02-09 Thread Peter Delahunty


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

2001-02-09 Thread Peter Delahunty


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

2000-11-15 Thread Peter Delahunty

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

2000-11-14 Thread Peter Delahunty

 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.

2000-11-10 Thread Peter Delahunty


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.

2000-11-10 Thread Peter Delahunty

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??????

2000-11-08 Thread Peter Delahunty

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 !!!!

2000-11-07 Thread Peter Delahunty


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

2000-11-05 Thread Peter Delahunty

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

2000-11-05 Thread Peter Delahunty

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 ?

2000-10-30 Thread Peter Delahunty

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 ?

2000-10-30 Thread Peter Delahunty

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

2000-10-12 Thread Peter Delahunty

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

2000-10-12 Thread Peter Delahunty


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

2000-10-10 Thread Peter Delahunty

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.

2000-09-19 Thread Peter Delahunty

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

2000-09-18 Thread Peter Delahunty


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

2000-09-18 Thread Peter Delahunty

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

2000-09-18 Thread Peter Delahunty

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

2000-09-14 Thread Peter Delahunty

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

2000-06-28 Thread Peter Delahunty


Can you call CORBA objects from within Orion using rmi/iiop




RE: Corba from Orion

2000-06-28 Thread Peter Delahunty

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