Trouble viewing the newsletter? Click here to read the online version.
 
SPC 2009: Stand out from the crowd
Quick Links  

3/17/2009


Synergex’s Success Partner Conference

Learn why it is a must-attend event for all Synergy (or DBL) developers

Silverlighting Your Synergy Code with the .NET Assembly API

By Jeff Greene, Software Engineer, Synergy/DE

The Vista Performance Saga—Final Chapter

By Roger Andrews, Synergex CTO

Check Out the New Synergy/DE Data Provider for .NET Product

Beta version available; learn more

Synergy/DE SQL Connection to Support SQL Native Client 10

Learn more

Support Tech Tip

Configuring xfODBC access to multiple databases on a single OpenVMS machine

Quiz

Synergy/DE pros, see if you can answer this question

Platform News

Read a selection of recent articles

Synergex Events and Education

Find out what's coming soon

Synergy/DE 9
Synergy/DE blog
Synergy/DE and OS versions
Subscribe to Synergy-e-News
 
 

Synergex’s Success Partner Conference

Learn why it is a must-attend event for all Synergy (or DBL) developers

Boston :: May 19-21 | London :: June 9-11

Today it is more critical than ever to sharpen your skills and be a superstar at the office. That’s no easy task when resources are limited and there’s increased pressure to create better products, and to create them faster. Attending the SPC is the fastest, most effective way for you to learn the latest Synergy/DE features and technologies so that you can be sure you are developing at optimum efficiency and creating the best applications possible.

“Do yourself a favor—learn about the .NET interface and API so you can stay on top of all of the new developments and keep your programs up to date—you don't want to lose your customers to someone who has made a prettier product, when you know you have a better product. ... The information obtained will easily save me days of work trying to figure it all out, plus I had the chance to network with others, which is priceless.”

Gary Hoffman, SPC 2008 attendee, TechAnalysts


Register before April 17th and take advantage of the special early-bird pricing, plus be entered to win a Flip Mino HD camcorder! For more information, visit spc.synergex.com.

calendar icon Add SPC Boston 2009 to my calendar*
*when the dialog box appears, click Open to add the event to your calendar

calendar icon Add SPC London 2009 to my calendar*
*when the dialog box appears, click Open to add the event to your calendar

top


Silverlighting Your Synergy Code with the .NET Assembly API

By Jeff Greene, Software Engineer, Synergy/DE

Silverlight: it’s shiny, new, and buzzword compliant. And, aside from all of the hype, it really does make a nice rich Internet application (RIA) front-end for your Synergy code. Until recently, you had one option in the world of Synergy remoting: xfServerPlus. xfServerPlus does a great job exposing your Synergy code to various .NET, Java, COM, and Synergy clients. But what if your platform of choice (Silverlight, AJAX, .NET Compact Framework, Flash, etc.) isn’t directly supported? Well now that we have the Synergy .NET assembly API, you have more options. With a little C# voodoo and some .NET assembly API black magic, I’m going to show you how to expose and host some Synergy code via the .NET assembly API and Windows Communication Foundation (WCF). I’ll do this in a way that works well for development purposes. Later we’ll expand on this to make it enterprise ready.

The nice thing about WCF is that you can use it to communicate with almost any client imaginable. WCF uses web standards to communicate, and out of the box it lets you choose between SOAP 1.1, SOAP 1.2, and JSON. But wait; there’s more: you can also change the transport layer. If HTTP meets your needs, you can choose that, and if bare TCP/IP is what you need, that’s available too. There is a huge amount of configurability in WCF, much more than I’ve just mentioned. Here’s a picture of the general process:

the general process

Click here to read the full article.

top


The Vista Performance Saga—Final Chapter

By Roger Andrews, Synergex CTO

In January we finally determined why file I/O on Vista and Server 2008 disks is slower than on Windows 2003. In a previous blog post I stated that

“The performance problem on disks that have been hooked by applications that use the new Vista/Server2008 filter manager infrastructure – can cause CPU overheads of at least 40% on all I/O operations including cached I/O and locks reducing throughput.”

So what applications use the new filter manager? Well UAC on system disks using the UAFv.sys file system re-director use the filter manager, and many current antivirus applications use the filter manager on all the disks where they are set to perform real-time scanning.

Click here to read the entire blog.

top


Check Out the New Synergy/DE Data Provider for .NET Product


Synergex has developed an ADO.NET 3.5 provider that will enable you to use the ADO.NET Entity Framework to access Synergy databases. It will also enable you to interoperate with the Entity Framework and the Entity designers in Visual Studio 2008 SP1.

See Roger Andrews’ blog for more information about the Entity Framework. For more information about the beta test, and to download the beta software and documentation, see the Synergy/DE Beta Program* page.

*In order to participate in the beta test, you must have Developer Support. If you do not have Developer Support, contact your account manager for more information.

top


Synergy/DE SQL Connection to Support SQL Native Client 10


A few customers have encountered issues trying to access SQL Server 2008 with SQL Connection, and the reason for this is that they are trying to use it with SQL Native Client 10 (SNAC10). Please be aware that Synergy/DE SQL Connection will not support SNAC10 access to SQL Server 2008 until our next patch, Synergy/DE 9.1.5b.

For 9.1.5b, we are updating the VTX12_SQLNATIVE driver for SQL Connection to support SNAC10 access. (Support for SQL Native Client 9, or SNAC9, was added in Synergy/DE 9.1.3.) The 9.1.5b driver will continue to support SQL Server 2000, SQL Server 2005, and SNAC9, and it will support the same functionality for SQL Server 2008 via SNAC10 as it supports for SQL Server 2005. Additionally, it will support the SNAC10 and SQL Server 2008 data types: DATE, DATETIME2, DATETIMEOFFSET, and TIME. (When you retrieve data that uses one of these types, you can load the data into alpha or System.String variables.)

However, if you plan to use SQL Server 2008 and SNAC10 with SQL Connection, note that Microsoft has discovered several critical issues with SNAC10, so we don't recommend using it with SQL Connection until the first service pack for SQL Server 2008 is released. (See Microsoft’s Web site for information about SQL Server updates.) If you choose to use SNAC10 before then, we recommend installing Cumulative Update Package 2 for SQL Server 2008 (see Microsoft KB article 958186). This includes fixes for several critical bugs, including issues with SNAC10 that could cause data corruption and prevent results from being returned for valid queries. We also recommend that you have a Premier support contract with Microsoft so you can log and get fixes for any issues you discover.

Also note that although you can use VTX12_ODBC to access SQL Server 2008, we do not support this configuration because Microsoft doesn't recommend ODBC API access to SQL Server 2008. However, if you choose to use VTX12_ODBC, we recommend installing the hotfix listed in Microsoft KB article 954920.

We’re planning to release the Synergy/DE 9.1.5b patch in April. If you have any questions about the information in this article, please contact Synergy/DE Developer Support or your account manager.

top


Support Tech Tip

Configuring xfODBC access to multiple databases on a single OpenVMS machine

Question:
I have several customer databases on the same OpenVMS server. How do I configure xfODBC to use them?

Answer:
You can use xfODBC to access multiple databases on the same OpenVMS server by using process-level logicals and setting up a separate SQL OpenNet server for each database. Do the following on the server:

1. Modify the DICTSOURCE line of the connect file to specify a logical. For example:

DICTSOURCE DB1_TABLES

2. Make copies of the STARTNET.COM file so that there's one STARTNET.COM file for each database. For example, if you have three databases, create two copies and name them something like STARTNET1.COM and STARTNET2.COM.

3. In each new file, change the SQL OpenNet process name so that it is unique among the files. By default, the process name is VTXSERVER, so if you have STARTNET.COM, STARTNET1.COM, and STARTNET2.COM, you could change the process name for STARTNET1.COM to VTXSERVER1 and the process name for STARTNET2.COM to VTXSERVER2.

4. Edit the STARTNET.COM files so that they each reference different NET.COM, NET.OUT, and NET.ERR files. For example, you could leave the original STARTNET.COM file as is, but edit STARTNET1.COM to have the following:

/input=CONNECTDIR:NET1.COM-
/output=CONNECTDIR:NET1.OUT-
/error=CONNECTDIR:NET1.ERR-

Then edit STARTNET2.COM to have

/input=CONNECTDIR:NET2.COM-
/output=CONNECTDIR:NET2.OUT-
/error=CONNECTDIR:NET2.ERR-

5. Create copies of the NET.COM file so that there's one NET.COM file for each database. Use the names you used in step 4, which would be NET.COM, NET1.COM, and NET2.COM for the example above.

6. Define the data location logicals and the logical used in the DICTSOURCE line as process-level logicals by doing one of the following:

-- Defining them in each of the NET.COM files.

-- Creating a command file for each database, defining the logicals in these command files, and then, in each of the NET.COM files, adding a command to execute one of the new command files.

If you have any questions about this Tech Tip, please contact Synergy/DE Developer Support.

top


Quiz

Synergy/DE pros, see if you can answer this question!

How do you write a function that can return more than one type, depending on the type of its argument (including primitives)?

a. You can’t. Functions can only have one return type.
b. Declare the function as type @* (object), and return primitives boxed as objects.
c. Same as b, but make it a method of a class instead of a function.
d. Overload a method for each argument/return type.

Click here for the answer and explanation.

top


Platform News

Read a selection of recent articles

Microsoft

SP2 RC for Vista and Server 2008 Goes Public
March 4, 2009

Microsoft Makes IE8 Optional in Windows 7
March 4, 2009

Linux

Debian 5.0 Continues Strong Linux Tradition
March 2, 2009

OpenVMS

The OpenVMS Consultant: DCL Symbols: Starting at the Beginning
March 2, 2009

top


Synergex Events and Education


SPC 2009 Boston
May 19-21
Learn more and register

SPC 2009 London
June 9-11
Learn more and register

On-Demand Seminars (view at your desk)

MDU Enhancements in Synergy/DE 9
6 minutes

From UI Toolkit to .NET: Updating a Legacy Application (A Customer's Perspective)
75 minutes

Synergy/DE 9.1 Highlights
70 minutes

UI Toolkit Composite Windows
30 minutes

Synergy Objects Parts 1
65 minutes

Synergy Objects Parts 2
25 minutes

Synergy Objects Parts 3
30 minutes

top