I would (as per standard practice in many shops) a) create a user for each application (or group of applications) that needs to use the package - that way you will always be able to trace who is using your package. Say users APP_1, APP_2,.. b) grant execute on your package to APP_X c) [maybe] create a private synonym on APP_X that points to the package - just to make life easier for them and hiding the schema name in which the package resides. I would create a web service only if required by the apps, no need to introduce yet another non-performant layer (and frankly, code that calls a package directly is much easier to write and maintain than the equivalent using web services). Maybe if some applications are J2EE, I might consider creating a mapping EJB (one method for each procedure/function) - but I would still prefer direct JDBC calling (for simplicity and performance). "simplicity" for both you and the applications developers. HTH Al On 9/14/07, Doug Gernaat <dag@xxxxxxxxxxxxxxx> wrote: > i am by no means a developer and want to throw this > out to the list. > > i got a pl/sql pkg with some functions and procedures in it. > it's working beautifully for other programs that use it within > the same database environment. > > if i were to make this available to other depts within our > enterprise, what route might you take? these other depts > are using diff programming languages and databases for > their web apps. > > not sure if this is a web service candidate or what. > > i'm working with oracle 10.2.0.2 db and 10.1.2.2 iAS. -- Alberto Dell'Era "the more you know, the faster you go" -- //www.freelists.org/webpage/oracle-l