Hi Darryl

Yes, I use a ResourceLocator, which does that same thing. In addition, it
does caching of home interfaces and  storing of application context
constants, thus not called a ServiceLocator (locating a service is only one
of it's jobs).

I have made the ServiceLocator a Singleton, thus avoided having a
ServiceHelper. So, to get an EJB, I just go:

DummyService dummyService = (DummyService)
ResourceLocator.getInstance().getEjb (DummyServiceBeanHome.class);

One line, simple and tidy. Also, the JNDI name is in the home interface,
thus the ResourceLocator uses reflection to get that. Optionally, you can
choose to supply a JNDI name.

Hope this helps.

Keith

-----Original Message-----
From: Thompson, Darryl [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, 13 February 2002 10:18 a.m.
To: Struts Users Mailing List
Subject: RE: Best Approach for Database Access?


Hello Keith,

 In my environment we employ options 2 and 3 but with this little twist:

  3) EJB environment (CMP)
     JSP -> ActionBean -> ( ServiceHelper -->ServiceLocator ) - >
ServiceBean -> DB

The ServiceLocator is a regular Java class that encapsulates all jndi Home
lookup logic, and the ther ServiceHelper is also a regular Java class that
contains methods to
support the business model. All ServiceHelper methods are static and the
Action Class calls these from the appropriate exec(..) method.

We are still trying to get a handle on this framework so if this is in left
field let me know.

Regards,
Darryl

> -----Original Message-----
> From: Keith Chew [SMTP:[EMAIL PROTECTED]]
> Sent: Tuesday, February 12, 2002 2:47 PM
> To:   Struts Users Mailing List
> Subject:      RE: Best Approach for Database Access?
>
> Hi Paul
>
> I follow this design practice for both EJB and non-EJB applications. The
> ones marked with * live at the application server JVM.
>
> (1) Non-EJB environment
> =======================
> JSP -> ActionBean -> ServiceBean -> DaoBean -> DB
>
> (2) EJB environment (BMP or Session)
> ====================================
> JSP -> ActionBean -> * ServiceBean -> * DaoBean -> DB
>
> (3) EJB environment (CMP)
> =========================
> JSP -> ActionBean -> * ServiceBean -> DB
>
> Notes:
> ======
> ActionBeans are the action classes of Struts
> DaoBeans are normal JavaBean classes which knows how to communicate with
> the
> DB, ie all SQL code goes here.
> In (1), you need to take care of transactions on your own.
> The ServiceBean in (1) is a normal JavaBean, but an EJB in (2) and (3)
> In (3), we do not need a Dao, since the CMP does all that work for us.
>
> Hope this helps
> Keith
>
> -----Original Message-----
> From: Paul Idusogie [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, 13 February 2002 9:38 a.m.
> To: [EMAIL PROTECTED]
> Subject: Best Approach for Database Access?
> Importance: High
>
>
> Could you kindly provide guidance on the best approach to implement
> database
> access.?
> I have encountered various schools of thought in my reading, that suggest
> extracting the business logic and database code from the jsp into a jsp
> bean
> or ejb or servlet.
>
> Thanks,
>
> Paul Idusogie
> Technical Architect
> Consulting Services
> Stellent Inc.
> 7777 Golden Triangle Drive
> Eden Prairie, MN 55104
> Desk: 952.656.2755
> Fax: 952.903.2115
> Email: [EMAIL PROTECTED]
> website: http://www.stellent.com
>
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
>
>
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to