![]() |
||||||
| Customer Success Stories
SAS/C Compiler Software EMC Information Sharing Development -- Teaming with SAS and the SAS/C Compiler EMC Corporation is the world's leading provider of enterprise storage subsystems and software. The EMC Information Sharing software group builds application software and application programming interfaces (APIs) to enhance the value of the real-time data sharing technology of the Symmetrix storage subsystem. Through the E-Infostructure Developers Program, EMC provides these and other API products to independent software vendors for integration into their storage-related products and applications. The Information Sharing group chose the SAS/C Compiler and run-time library to implement two key products in EMC's SymmAPI family of APIs. SymmAPI-Access makes it possible for programs running under UNIX or Windows NT to read and write mainframe data sets directly from the Symmetrix physical disk devices, instead of transferring file contents over a TCP network. SymmAPI-Sockets enables applications running under heterogeneous platforms to move bulk data efficiently and at high speed without interfacing with the communication network. Modeled after Berkeley UNIX sockets, it provides a unique peer-to-peer communications facility using the Symmetrix channel attachments and integrated cache. Existing TCP/IP sockets programs can be converted with minimal effort to utilize this programming library. The business focus of Information Sharing requires multi-platform software, leveraging common code to maximize data sharing solutions. A common source storage platform with powerful source management tools and a common build environment is key to the success of such products. EMC's UNIX environment has the best mix of source management, code preparation, and build management, and the Information Sharing group chose the SAS/C Cross-Platform Compiler for its ability to support this development environment. It integrates well into the source management and build procedures, eliminating duplication and guesswork in the complicated tasks of code sharing. The SAS/C run-time library has efficiency, good performance, reliability, and an effective way to build mixed language applications. The ability to distribute the same run-time environment used to build products is a key advantage that is not available with other C language products. SAS/C software provides flexibility in an environment that could pose difficult coordination problems. All of this has resulted in a highly adaptive and productive development environment. The Information Sharing group has enjoyed a long and solid relationship with SAS/C technical support. "We have always gotten the highest level of support from the SAS/C support team; they are all skilled professionals who are focused, but they are also cheerful and at ease with customers. We have done some crazy things with our C code, and the support group is always there, ready to roll up their sleeves and work toward solutions," says Consulting Design Engineer Dave McLellan. "SAS Technical Support is among the best I have ever seen," says Jed Hickson, Consulting Design Engineer. "They have helped me to work through some difficult problems as we pushed the limits of what we thought was possible. These folks really know what they are doing."
High-Speed Mainframe File Access with SymmAPI-Access
SAS/C software is customizable in many ways. SymmAPI-Access takes advantage of some of the run-time library source that is delivered with the run-time library. For example: "We needed a few important tweaks in OSDYNALLOC and other library modules. We modified the source code and rebuilt the application with more control over the small things that some compilers and libraries overlook." The flexibility of the SAS/C BSD socket library is also a key factor in the continuing success the SymmAPI-Access server. The dynamic architecture of the library, with its general-purpose implementation, enabled the team to explore unusual TCP technologies on the mainframe, so that customers without IBM TCP/IP for MVS can use the product. The SAS/C Cross-Platform Compiler is helping the SymmAPI-Access group not only with MVS, but with the other supported mainframes -- Fujitsu MSP and Hitachi VOS3. Dave McLellan says it "is helping us improve performance on all mainframe platforms, pointing out wasted stack space for example. Even though we use the vendors' native compilers on those other platforms, we are using the optimizer's warning messages to clean up the code to run better on all the mainframes we support."
High-Speed Data Transfer with SymmAPI-Sockets
"Our code base is largely common to all of the platforms so we needed a development environment in which it was possible to react quickly to changes in the code repository without duplicating the code on different platforms," says Hickson. "The SAS/C Cross-Platform Compiler offered this flexibility, especially when combined with the Tachyon Cross Assembler." The UNIX source management tools, together with a PERL automated build tool, allowed the SymmAPI-Sockets group to keep all of the development on the UNIX platform. The build process ran from initial compile to final kit on the UNIX platform without having to switch between UNIX and OS/390 to complete the process. "The combination of SAS/C, Tachyon, and our PERL tools has allowed us to be flexible in our design and our coding and to be highly productive at the same time," says Hickson. The SAS/C socket library furnishes a TCP/IP interface module called LSCNCOM that provides access to the IBM TCP/IP protocol stack. There is also a programming interface for independent software vendors so that a new protocol stack can be developed. This interface has allowed SymmAPI-Sockets to provide transparent access to its protocol at run time by placing its version of LSCNCOM in the link pack path ahead of the SAS/C version. A sockets program can access SymmAPI-Sockets just by changing the STEPLIB order. "We can get a new ISV up and running quickly without any new programming," states Hickson, "while they learn how to take the best advantage of SymmAPI-Sockets features. SAS/C and LSCNCOM makes this all possible." For more information about EMC products and services, visit www.emc.com. |