|By Jim O'Neil||
|July 15, 2008 04:30 PM EDT||
In PowerBuilder 11.2, .NET meets J2EE head-on with the capability to deploy .NET Windows Forms and Web Forms applications (as well as assemblies and Web Services) that access Enterprise JavaBeans (EJBs) in Sybase’s own EAServer. As you’ll see over the course of this article, integrating these “competing” technologies is quite straightforward and leverages mechanisms that have been available since PowerBuilder 7.
The enabling technology for the .NET to J2EE functionality in PowerBuilder is the new client support introduced in EAServer 6.1. The EAServer .NET runtime includes three fully managed code assemblies:
- com.sybase.iiop.net.dll: supporting the Internet Inter-ORB Protocol (IIOP), data marshalling, and secure sockets layer (SSL)
- com.sybase.ejb.net.dll: supporting invocation of EJBs as well as PowerBuilder components (NVOs)
- com.sybase.jms.net.dll: supporting interaction with the Java Message Service (JMS)
The first two these assemblies are the .NET analog of the C++ client ORB (implemented by libjcc.dll) and so provide the underlying implementation for the following PowerBuilder classes:
These assemblies are automatically installed by PowerBuilder 11.2 in the Global Assembly Cache (GAC) since they need to be available for deploying .NET targets as well as at runtime. To aid in distributing end-user applications that access EAServer, the PowerBuilder Runtime Packager automatically installs these two assemblies in the GAC as well. If you forego use of the Runtime Packager, you can use the .NET gacutil utility to explicitly add the assemblies. You would also use gacutil to update the runtime environment with any patches issued for EAServer.
As for the last assembly, com.sybase.jms.net.dll, PowerBuilder does not offer direct access to the Java Message Service, so the file is not automatically installed; however, methods in that assembly can be accessed in conditional compilation blocks in your PowerScript code, just like other third-party and .NET Framework classes. Alternatively, you can access the message service functionality in your applications via EAServer’s CtsComponents::MessageService API provided for CORBA clients such as PowerBuilder.
The techniques to access components in EAServer 6 from classic (Win32) PowerBuilder applications do not differ from previous versions of the server; however, the .NET client capability in EAServer 6.1, which is used by PowerBuilder .NET targets, does necessitate changes in application implementation and deployment. For the most part, though, you’ll find that your job as a developer is actually made easier! Let’s take a further look now at the changes to be aware of when using the Connection object, the JaguarORB object, and secure connections in .NET applications developed with PowerBuilder. A complete application demonstrating the various PowerBuilder-to-EAServer connectivity options is available in the “PB & EAServer” section and may help clarify the concepts discussed here.
- Where Are RIA Technologies Headed in 2008?
- PowerBuilder History - How Did It Evolve?
- Creation and Consumption of Web Services with PowerBuilder
- Cloud People: A Who's Who of Cloud Computing
- DDDW Tips and Tricks
- Cloud Expo 2011 East To Attract 10,000 Delegates and 200 Exhibitors
- Working with SOA & Web Services in PowerBuilder
- Dynamically Creating DataWindow Objects
- OLE - Extending the Capabilities of PowerBuilder
- DataWindow.NET How To: Data Entry Form