Comments
paul.nowak wrote: Matt, thanks for the comments. I made an error on the version of Plone. It's 2.5 Plone running on Zope 2.9x. In regards to the additional products, we have a skin installed and we have a product that we had custom developed for us that connects to a PostgreSQL database. We've looked at slow PostgreSQL queries causing problems and have not been able to find an issue. We've also tested for the case where the PostgreSQL server is down and have not been able to create an issue. We therefor...
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


Sybase TechWave 2007: How to Develop a .NET Client/Server Application with PowerBuilder
PowerBuilder & EAServer Bonded Together

This article is based on my presentation at TechWave 2007 and is intended for the beginner or moderately experienced PowerBuilder developer. I hope to share some of the useful information I've picked up as an application developer using PowerBuilder and EAServer.

I work on Sybase's Enterprise Application Server (EAServer) team. We need to make sure that our server works with other Sybase products such as PowerBuilder. PowerBuilder 11 introduces .NET application development. EAServer 6.1 also has .NET client ORB support.

PowerBuilder & EAServer Work Great Together
EAServer's component target is built in as a PowerBuilder target (see Figure 1). Once you create a target and set up an application server profile, you can immediately deploy your PowerBuilder NVOs to run on EAServer. This is an easy way to develop and implement a robust application that uses J2EE EJB and JMS.

EAServer is a J2EE-certified application server, has industry-leading performance with fully configurable caching and load-balancing options, and provides enterprise-level performance while maintaining full data integrity. PowerBuilder NVOs are wrapped as EJBs to interact seamlessly with various kinds of clients.

PowerBuilder and EAServer have been together for a long time and many of you are already very experienced with them. For those who are not familiar with setting EAServer up, there's a PowerBuilder project wizard that can guide you through it step-by-step (see Figure 2).

EAServer 6.1 .NET Feature Design
The EAServer .NET Client ORB is used for .NET client applications, say a PowerBuilder .NET WinForm application to communicate with EAServer components through IIOP or IIOPS.

With netcc (Net Compiler) and an IDL for C# tools, C# stubs of the existing EAServer components can be generated. .NET client applications will use these C# stubs to communicate with EJB components running on EAServer through the .NET Client ORB. The .NET client applications can also use CORBA's client API to call EAServer components through the ORB.

A .NET client application that has to communicate with EAServer components won't work with existing Java or C/C++ ORBs. A .NET Client ORB should be implemented for these applications to call EAServer components through IIOP or IIOPS. PowerBuilder Win32 client applications can still call EAServer components using the existing EAServer Client ORB.

Below are the main supported features of the EAServer 6.1 .NET Client ORB:
• Simple data type marshalling
• Complex data type marshalling
• Helper/Holder data type marshalling
• Transaction management
• CORBA services
• GUI changes
• Data compression
• HTTP tunneling support
• SSL support
• HTTPS support using native https .NET APIs
• Clustering support

Using a .NET Generic Client to Call an EAServer JMS Component
The .NET client ORB enables the .NET client to send and receive messages from JMS servers. Two types of messages are supported: topic and queue.

The client can also work in offline mode when the network isn't available. In offline mode, the messages sent will be temporarily stored in local storage. Later when the client is working in online mode, the messages in local storage will be delivered to the remote server. Listing 1 shows an example of calling JMS using the JmsConnection API.

Using the PowerBuilder .NET Engine to Invoke an EAServer Web Services Component
Web Services let components be easily shared, provide cross-language compatibly, and are also used to implement an architecture according to Service Oriented Architecture (SOA) concepts. In PowerBuilder you can create a new Web Service proxy project from the project page in the New dialog box (see Figure 3).

The project page has two kinds of icons: ones that open wizards that help you set up a project and ones that open the project painter. Use the Web Service proxy wizard and you'll see something like Figure 4.

A proxy object that can be used by a PowerBuilder client to invoke a Web Service is defined in a Web Services Description Language (WSDL) file.

PowerBuilder 11 provides pbsoapclient110.pbx and pbwsclient110.pbx. pbsoapclient110 is used for the EasySOAP engine and pbwsclient110 is used for the .NET engine. You can include them using "Import PB Extension..." from the PBL.

To create a connection to EAServer, you'll write code like:

conn = create soapconnection
conn.createinstance(WSloan, 'deployloan')

In this case deployloan was created by the Web Services proxy using the .NET engine with a WSDL file of an EAServer component.


About Jian Yang
Jian Yang is a staff software engineer of Sybase. He joined Sybase in September 2000 and has been working in Enterprise Application Server group ever since. From August 1997 to August 2000, he was a senior application developer with Verizon. Jian received his MS in computer science from Bradley University, and his MBA from the University of South Florida.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Enterprise Open Source Magazine Latest Stories . . .
This is a deal that has been around for all of this year, and I know the NYC-based guy charged with pulling the technical pieces together. He has been looking at software platforms for months and separating contenders from pretenders based on the criteria he's established. To my knowle...
3Leaf Systems, the well-funded start-up, dropped its fig leaf Tuesday and took a running jump into the pools of memory, I/O and cache that it can construct and deconstruct at will based on the application, creating scale-up shared-memory SMP systems the likes of mainframes, proprietary...
Funambol, a provider of open source mobile cloud sync and push email for billions of phones, today announced it has acquired Zapatec, Inc., a leader of AJAX web 2.0 frameworks. The acquisition enables Funambol to uniquely address the industry pervasive device fragmentation challenge th...
Plone and Drupal are two leading open source Content Management Systems (CMS). Both were recognized in the 2009 Open Source CMS awards, run by Packt Publishing. Both also have large installed bases and large developer communities. This is made evident by some quick searching on Googl...
SOASTA, a provider cloud testing, today announced that performance engineers can now build web application tests in Apache JMeter, the most popular open source load testing tool, and run them in SOASTA's Global Test Cloud. Deploying JMeter tests to the Cloud has been a complex, time-co...
Yahoo! Inc. (Nasdaq:YHOO), a leading global Internet company, took its second major step in five months towards open-source cloud computing today, debuting an open source version of Traffic Server, a high performance application server for builders of cloud services. Traffic Server ena...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE