Nebula Research and Development

Web Services and .NET

 

MultiValue Tools

This page contains follow-ups to the article : Web Services and .NET (Part 3)
If you have questions about this article, please e-mail .

Before we get started with the notes, I'd like to acknowledge that the technologies mentioned in the article can be used in many ways and that there are no absolute ways of doing anything. I'm sure many of you will be able to cite some parts of this article as having a rather narrow view of some of the products discussed. In some cases I lump products together as though they are exactly the same, or I neglect to mention how each is different from the others. But there is only so much space available to convey a lot of information, and the small nuances in various products are not unique enough to merit digression from the overall message. I wish we had more WS options, but I'm confident that Pick/MV developers can develop whatever they want with almost any tool we have available to us. As I've said in other places, the answer is not in the tools but in how we use them. If someone is more interested in the capabilities or usage of the tools mentioned, I'm sure they will ask the vendors. -- Tony

Follow-up to: …mainstream*

Follow-up to: Web Services are huge*

Follow-up to: …packaging/messaging protocols*

Follow-up to: …MessageQueue-like*

Follow-up to: …Capacity Planning*

Follow-up to: …freeware*

Follow-up to: …special web server component*

Follow-up to: …via a socket*

Follow-up to: …WSDL*

Follow-up to: …Windows and D3*

Follow-up to: …XML server product*

Follow-up to: …web connectivity components*

Follow-up to: The Sprezzatura Group*

Follow-up to: …unable to find other toolkits*

Follow-up to: …PDP.NET does not directly create or support Web Services*

Follow-up to: IBM is firmly behind Web Services.*

Follow-up to: …any environment which supports a Java interface*

Follow-up to: …business benefits*

Follow-up to: OBjEX is a library*

Follow-up to: …middle-tier component*

Follow-up to: …Viságe*

Follow-up to: …return text to a web server*

Follow-up to: …part or all of the transport via HTTP*

Follow-up to: …considerations*

Follow-up to: …sockets*

Follow-up to: …cURL*

Reference to: Products mentioned in the article


Mainstream

Many people hate separating MV products from others with the term "mainstream", but many people also perceive Pick-related products as very non-mainstream. I put quotes around the term "mainstream" to acknowledge both sides of the argument.

top


Web Services are huge

I've seen a quote that says "Gartner Dataquest estimates that the software and IT professional services opportunity related to Web services will reach $28 billion by 2005."
http://www.infosysintel.com/detail.asp?ID=106

I don't know if that's accurate but it sure sounds encouraging. Here is a link to Gartner's Web Services page so you can see exactly what they have to say:
http://www4.gartner.com/research/focus_areas/asset_48272.jsp

According to Gina Poole, VP of Developer Marketing and Web communities for IBM and Developer Relations, "We have a number of programs to help developers get started. We have had over 100,000 developers participate in the Speed-start Linux program. The Speed-start Web services program is newer but we already have 40,000 developers participating. It's interesting to see the groundswell around Linux and Web services." - Database Trends and Applications interview entitled "Web Services Will Reshape How Developers Think":
http://dbta.com/poole/index.html

top


The SOAP Gateway

packaging/messaging protocols
These and Transport protocols are defined in Article 2.

MessageQue-like
This is a reference to Message Queue software like Microsoft's MSMQ and IBM's MQ Series.

Capacity Planning
You need to make sure the volume of data is properly taken into account, transactions aren't lost due to bandwidth or other issues, and errors are properly reported. A serious book on this topic is "Capacity Planning for Web Services: Metrics, Models, and Methods" by Daniel A. Menasce and Virgilio A.F. Almeida.

top


Capillary

freeware
A lot of people wonder how anyone makes a profit with freeware. In the case of Capillary, Steve Lake and other developers are employed by a medical facility. The technology developed and used in this environment must be as stable as possible. Steve donated Capillary to the MV community and in return he gets reports from users about any issues that are found. So Capillary users get free software and Steve's employer gets free quality control - everyone wins. Like most Open Source developers, Steve also feels good about giving away non-proprietary code that other people can use. Try it sometime, you might like it.

special web server component
http://www.intorel.com/wsvr/default.htm
http://www.octopod.net/index.htm

via a socket
See article on this site: What are sockets?

WSDL
See Article 1 and the Article 1 notes for a definition of WSDL.

Windows and D3
The Capillary web server component is Windows-only but the D3 DBMS that connects to that component can be running over Windows or Unix/Linux.

top


Fusionware

XML server product
Details aren't known about the product at this time. Here is a link to the Fusionware web site and we'll add more info as it becomes available. http://fusionware.net/products.htm

top


Sprezzatura

web connectivity components
An older CGI program for web access with OpenInsight from Revelation is called OICGI.exe. A newer and more advanced component is OECGI.exe. For product and licensing information on these components, go to Revelation's web site and use the Search box for "OECGI".

The Sprezzatura Group
In discussion with Andrew P. McAuley at TSG, I was provided with the following quote for general release. For space considerations and to keep focus, I was only able to include a small subset of this information in my article, but it's provided here in full for your benefit.

top


Other Toolkits

If you know of a toolkit in our market then this is the place where people will find out about it. Please e-mail me with updates and I'll be happy to post them right here. I recommend visitors come back here in about a month to check for updates.


Pick Data Provider .NET

The End User License Agreement for PDP originally expressly prohibited its usage in a Web Services architecture. I've verified that this is no longer the case, and recent PDP Marketing confirms that Raining Data advocates and approves this use of PDP.

top


WebSphere


IBM is firmly behind Web Services
It's impossible to go into detail about just how much IBM supports WS use, but it's very encouraging. For a view into IBM's world, see:
http://www.alphaworks.ibm.com/webservices and
http://www-136.ibm.com/developerworks/webservices/

Other links are provided in notes for previous articles (Article 1 and Article 2).

For a focus on WebSphere and Web Services, I didn't go through this tutorial yet, but it looks interesting. If anyone does go through it, please let me know what you think.
http://www-106.ibm.com/developerworks/edu/i-dw-wes-ws511pt1-i

IBM announced a new UO.NET at the Spectrum conference in Las Vegas. This will be a fully .NET compliant version of UniObjects. I'll provide more info here and elsewhere when IBM releases more information about it.

environment which support a Java interface
Many MV environments don't "natively" support a Java interface, but it is nevertheless possible to interface with any MV platform, old and new, using modern tools like Java and .NET. If you need a connectivity solution between your MV environment and Java or .NET components, give us a call at Nebula R&D - that's what we do…

Back to Java, there are many tools that are available and in development which facilitate creating Web Services which can then be tied to MV applications via Java components. One example is JavaServer Faces. Mike Peternell of IBM is scheduled to give a presentation on Web Services at the Spectrum conference in March. Here is what he had to say to me on the topic. "…enter Java Server Faces (JSF) into the picture and it's a whole new ballgame. WebSphere Studio Application Developer (WSAD) with JSF is basically Visual Studio for Java. It's a very, very cool thing." Mike also mentioned a RAD tool called Rapid Developer brought to IBM as part of the Rational acquisition. Mike believes this will be a nice tool for the MV community.

business benefits
It's no surprise that big names give some amount of instant credibility to an offering. Software over any MV DBMS can be integrated with IBM and/or Microsoft components. To increase or at least facilitate sales, it's important for MV developers to adopt technologies which are perceived to be mainstream. There are other benefits offered by bigger companies like better support and partnership programs which help with marketing and sales.

So How do you access U2 from WebSphere?

WebSphere can take a class definition and create a server-side Web Service interface for it, including WSDL. Connecting the dots: a WS client makes a SOAP call to this WebSphere interface, the call is passed to the RedBack object on the RedBack Business Object Server where a connection has already been established to U2, and your BASIC business rule is executed. Voilá!

Thanks to Scott Rau and Mike Peternell of IBM, and to Paul Batten of AdvancedWare, for providing information about Web Services integration with U2 using RedBack and WebSphere.

top


OBjEX and jRCS

Fundamentally, all of these connectivity components and their ODBC/JDBC counterparts are the same. Traditionally we have some client code (maybe a GUI) using the library to access our MV back-end. With a Web Service we replace that client tier with code to accept a request from the web and parse the XML for the information required to satisfy the request. Only the data is passed through the connectivity component to the MV server. The result is returned from the application, transparently wrapped in XML, and then passed back to the WS client.

There are few, if any connectivity components like this in our market which are 100% cross-platform compatible with all MV environments. This means, for the most part, that the tools you choose may primarily depend on the MV platform you plan to support.

middle-tier component
It's actually more than just a component, jRCS uses an XML interface between clients and the jBASE server. Other products use a proprietary communication protocol from the middle-tier to the server. Proprietary isn't necessarily bad, but it does limit options. The jCML, as jBASE calls it, has the potential to open some interesting doors for jBASE developers, but so far it doesn't look like jBASE is promoting direct developer of jCML itself.

top


Web Tools

Viságe
Ross Ferris of Stamina Software has mentioned that the popular Viságe software has a Web Service interface in development.

return text to a web server
Yes, I know Coyote is a web server. Please see the opening comments for these notes and the comments immediately below.

part or all of the transport via HTTP
In this scenario a WS client communicates with a web server, and that server then forwards the request through our MV tool to the real Web Service server. This concept is known as a Proxy, and is becoming more common as WS usage increases and people come up with new ways to architect and manage their solutions. In the case of RealWeb and Coyote, the web server is in the MV environment, nevertheless, there is a web server component somewhere.

Special note: Bryan Shumsky, Director of Engineering for Via Systems, informed me that WebWizard is available from Via Systems as well as from EagleRock Information Systems. (Thanks Bryan!)

top


MV as Web Service Client?

considerations
There are issues associated with using client-side technology for an MV server to allow MV to behave as a client to remote servers. Extensive error handling is required in these environments in order to prevent scenarios where things just stop working and no one can figure out what happened.

We at Nebula R&D have successfully implemented a number of these architectures and we're prepared to assist with your projects. Our new NebulaPay Payment Processing software internally uses HTTP to communicate with other processes. NebulaPay will soon be available for most MV DBMS platforms.

sockets
The lowest-level tool available to us is probably the set of socket libraries that are provided in some MV platforms. D3 has %functions, jBASE has jBCSOCKS, etc. I didn't want to go into this in the article itself, but you can write a complete end-to-end WS client/server environment using nothing but BASIC and called socket functions. It may be better to use external libraries for communications and XML, and leave MV to handle nothing but data, but some people prefer to have everything localized. Personally I prefer to use MV for business rules and data manipulation, and leave communications to external tools, but I keep an open mind for whatever works best for a given scenario.

Note that some people used to think of sockets as being a way to get free access to and from their MV environment, but MV vendors need to protect their assets, and they are entitled to compensation when their products are being used. Please be sure to check your End User License Agreement (EULA) regarding legal use of sockets and other forms of connectivity outside of common telnet and serial ports.

See also the special article on this site about sockets.

cURL
This is open source freeware that allows a command-line to execute HTTP, FTP, and many other types of calls to remote systems.

top


Products mentioned in the article

(Some products don't have web pages or I may have simply missed them. Please e-mail me for leads to product information.)

Capillary :
http://www.liv.ac.uk/~splake/

cURL - Information about cURL is available at SourceForge (http://sourceforge.net/projects/curl/) and (http://curl.haxx.se/)

Nebula R&D has a lot of experience working with cURL and other interfaces from MV to the web, and we'll be happy to work with you to implement connectivity like this with your business applications.

WebWizard:
Eagle Rock Information Systems: http://eriscorp.com/wwiz.asp
Via Systems: http://via.com/external/webwiz.htm

Easy Computing Company LLC
Coyote : http://coyote.easyco.com/

Fusionware : http://fusionware.net/products.htm

IBM® :
RedBack® : http://www-306.ibm.com/software/data/u2/redback/
Intercall and UniObjects : http://www-306.ibm.com/software/data/u2/middleware/
WebSphere™ : http://www-136.ibm.com/developerworks/websphere/ and SO many other pages on the net.
Rational® Rapid Developer:
http://www-106.ibm.com/developerworks/rational/library/1706.html
(also, search for the quoted text "rapid developer" on the IBM web site.)

jBASE
OBjEX : http://www.jbase.com/products/objex.html
jRCS : http://www.jbase.com/products/jrcs.html
Web Builder : http://www.jbase.com/products/jwb.html

Northgate :
Reality and RealWeb :
http://portal.northgate-is.com/portal/content/read/Public/External/Reality/RealityOverview.html

Raining Data:
Pick Data Provider .NET : http://www.rainingdata.com/products/connect/dotnet/index.html
FlashCONNECT : http://www.rainingdata.com/products/connect/fc/index.html
D3 Class Library : It's difficult to find information on this. If you go to this page you will find a link to Raining Data's books on-demand library, where you will find Visual Basic for Pick Programmers, written by Mark Brown. http://www.rainingdata.com/support/documentation/d3sup.html

Revelation:
OpenInsight and other products: http://www.revelation.com

Stamina Software:
Viságe : http://www.stamina.com.au

Sun Microsystems :
JavaServer Faces : http://java.sun.com/j2ee/javaserverfaces/index.jsp

top


 
 

© 2009 Nebula Research and Development

Home | About Us | News | FAQ | Products
Services | Articles | Contact Us | Search Site

E-mail for Product and Service inquiries.
Please report site issues to . Thank you!