Phone800.366.3472 SupportGet Support DocumentationDocumentation Resource CenterResource Center
search
close
Open Menu

Synergex Blog


Cloud and Sunlight at PDC09

By William Hawkins, Posted on November 18, 2009 at 4:26 pm

PDC09 is my first Microsoft conference, and I wasn't quite sure what to expect. Some excitement at seeing some of leading edge technologies being demonstrated by resident experts, Some trepidation at being presented with a huge variety of different technology and buzzwords.

The first session yesterday was a two hour keynote based around some of the non-UI technologies being presented – Windows Azure and Cloud. Today's keynote was based on the UI side of the equation – Silverlight and Sharepoint. There were some great demos from developers on how they had used Silverlight to develop new UI's that leverage the technology being provided, using web camera''s to import pictures directly from the device, playing video's and use multitouch to rearrange/resize on screen items. Part of the keynote discussed that Microsoft's employees don't really get involved in the hardware that is the platform for their great software, so they decided to get involved in the design of a PC. After a short discussion on the features of the PC, they announced that every PDC09 attendee was to get their own copy of the laptop. Imagine the reaction from 5000 attendees, when the clouds parted, and we realized that Microsoft was giving us a laptop to take home.

Of course, a cynical person would say that in order for Microsoft to get developers to write software for the Cloud and/or with Silverlight, they need the appropriate hardware, so a multitouch-enabled tablet PC with webcam is a great way to do this. Not to look a gift horse in the mouth, I'm trying out my new laptop in writing this blog 🙂 We had already started to discuss what Synergex PSG will have in stall for our conference attendees at SPC 2010, and the ability to run Synergy applications based upon multitouch applications, WCF & Silverlight have been topics of conversation. As laptops like this become more available, be prepared to leverage the hardware with your Synergy application.

The past two days have been a real eye opener for me, as I've seen the Microsoft technology that is coming down the pipe in the next few months. Of course the real trick for Synergex is to take this great technology and work out how it can be applied in the Synergy environment. While Microsoft only seem to see the "Cloud and Silverlight" in their future direction, I can see both Cloud and sunlight in the future for Synergy applications.


Cloudy Days at PDC09

By Steve Ives, Posted on November 17, 2009 at 5:19 pm

pdc09_logoLast week we heard about Richard Morris and Tod Phillips experiences when they visited the Microsoft TechEd conference in Berlin. Well, it's a whole new week, and now there’s a different conference to tell you about. This week Roger Andrews, William Hawkins and I are attending PDC09, which is Microsoft’s Professional Developer Conference, held at the Los Angeles Convention Center. As is usual in Southern California for most of the year the skies are blue, but for some reason everyone seems to be talking about Clouds!

Of course the reason for this is that during PDC08 Microsoft made several very significant announcements, and two of biggest were Windows 7 and the Windows Azure platform.

Of course Windows 7 is already with us now, and by all accounts is proving to be extremely popular with developers and users alike. Windows Azure on the other hand is still an emerging technology, and is causing quite a buzz around here! If you don't already know, Windows Azure is Microsoft’s upcoming Windows operating system for Cloud computing. It's been in CTP (community technical preview) since PDC08, and is on the verge of transitioning to full production use on February 1st 2010.

Much of the content at PDC09 is focused on Windows Azure, on the wider subject of Cloud computing generally, and on the many Microsoft tools and technologies that enable developers to start developing new applications for deployment in the Cloud. Of course there is also a considerable amount of discussion about how to modify existing applications, either for Cloud deployment, or to allow those applications to interact with other components or entities that are Cloud based.

When the Windows Azure platform was announced twelve months ago it was in its infancy, and it showed. But in the last year it seems that Microsoft have really gone to town, extending the capabilities of the platform and other related services, and adding the API’s and tools that will make Azure easier to embrace. Many of these tools and technologies are being developed and delivered as part of .NET 4 and the new Visual Studio 2010 (currently in a beta 2) includes many new features to help developers in this and many other areas. It's certainly going to be very interesting to see how developers are able to embrace the concept of Cloud computing platforms (Azure, and others). The possibilities are incredible, and the potential for increased efficiencies and cost savings is also considerable, but for sure there will be challenges to addressed and overcome.

pc_shooting_macjpgThere have also been lots of sessions detailing how applications can leverage many new capabilities in the Windows 7 platform. Most of us were just delighted to get our hands on a version of Windows that boots faster, looks better, is more robust and easier to use, and one which doesn’t exhibit many of the frustrating traits that we have endured with Windows Vista. But as is turns out there are also lots of new features in the Windows 7 platform that application developers can leverage in their products. In a recent post Richard mentioned some of the new features associated with explorer (such as jump lists), and there are also some interesting capabilities that allow applications to easily interact with “sensors” that may be present on the PC. Many modern PC systems already have some of these sensors present, sensors such as ambient light meters, temperature sensors, accelerometers, and location awareness sensors such as GSM interfaces and GPS devices. It is already possible to write code to use the information published by these sensors, and a new API in the .NET Framework 4 will make it very easy to do so.

When it comes to user interface it's now clearly all about WPF, and its Web counterpart, Silverlight. The visual presentation that can be achieved with these technologies is truly impressive, and it seems that the developer productivity tools such as Expression Blend have finally caught up with the capabilities of these underlying subsystems. This will make it so much easier for people learning these new UI technologies to get up and running more effectively.

pdc09_before_afterMy brain hurts! Well, those are my thoughts after my first interesting (and exhausting) day at PDC09, and there are two more action-packed days still to experience. It really is remarkable what can be achieved by leveraging the .NET environment, and it makes me look forward even more to the introduction of Synergy/DE for .NET. There are exciting times ahead, and so many possibilities


Live from TechED, Updated!

By , Posted on November 13, 2009 at 11:37 pm

The end of TechED is nigh, and to be honest I'm sort of happy.  It's been an intense week of presentations, workshops and in depth discussions with fellow developers, Microsoft techies and the guys at all the UI control vendors.  I know what our customers mean now after they have attended our SPC: info overload followed closely by brain fade!

As the vendors begin to pack up, Tod and myself unselfishly offered to burden ourselves by offering to help lessen the vendors packing toils by relieving them of any spare goodie-bag items they may have.  It's tough at times!  As we toil, we notice 6998 TechHeads filing off to catch a train that carries at maximum a few hundred people.  They must have all missed the multi-threading, delayed processing and smooth streaming sessions.  We on the other hand thread our way, via a routed URL, through the streets of Berlin, testing our interop skills with the locals.

On a more technical level this week has shown just how determined Microsoft are to be market leaders, and with the tools on show this week it's difficult to see why they shouldn't be.  And the best news of all?  Synergex, with our current capabilities to integrate with .NET and our emerging integration with Visual Studio, we'll be able to take full advantage of these latest technologies.  The future is looking good if you develop with Synergy.


More from TechEd Berlin – Windows 7 tips – It’s the little things…

By , Posted on November 12, 2009 at 11:38 pm

My last post from TechED was from my Windows Mobile phone, while having lunch with another 7000 TechHead's! 

Currently I'm waiting for the next presentation to begin, so I have a spare few minutes.  No more "swag" has been blagged today, although I did win a flashing blue pen for getting all the Windows 7 questions right!  Tod won one as well (the questions were not that hard:))

So, on the subject of Windows 7 – have you tried it?  If so you'll have noticed some subtle changes to the task bar.  Right click a program icon and you now get the "jump list".  Hover over and you get the frame view of all instances of that application.  The concept of the system tray and the ability to display notifications has changed, you now change the taskbar icon.  Much of this can be controlled programmaticaly and I plan to GenNet some synergy wrappers and post some sample code onto CodeExchange when I'm back in the office to show how we can implement this in Synergy.  It's the little things that can make a big difference.


Wave Goodbye to the MDU

By Steve Ives, Posted on at 5:41 pm

If you have ever developed with xfServerPlus and xfNetLink then, like me, you may have a “love-hate” relationship with the Method Definition Utility (MDU). You love it because it is an enabling technology … it is one step in the process of extending your Synergy applications with all types of cool client applications. But at the same time you hate it … because it’s an inconvenience to have to remember to run up the utility and update the method catalog each time you want to add a new method, or change the interface of an existing one. Today, using the MDU is a “necessary evil”. It has served us well over the years, but things are about to get a whole lot better.

Synergy/DE 9 introduced many new features to the language, and some of these new features could make entering information into the MDU kind of redundant. For example, rather than declaring a routine like this:

function get_product, ^val
  arg1 ,a ;Product code (passed in, a10)
  arg2 ,a ;Product record (returned, product record)

Synergy 9 allows us to define the routine like this:

function get_product, boolean
  required in productCode ,a10
  required out productRecord ,sProduct

 

As you can see, we can now specify much more information about the external interface of a routine actually in the source code … and this additional information is the same as the information that we specify when defining the routine in the MDU. But in 9.1 the picture wasn’t complete. There is still information that xfServerPlus (and tools like GENXML and GENCS) require from the method catalog, for which there is no language syntax to allow that information to be expressed in the actual code. For example, at a minimum we need to specify the name of the “interface” that the routine (method) will belong to, and the name of the library in which the routine in located.

Enter Synergy/DE 9.3, and an array of new features. One of those features is the introduction of support for “attributes”. Attributes are a mechanism which allows a programmer to “decorate” source code with additional information, or metadata, which provides information about the code. The metadata can then be used by compilers, or other tools that may process the source code in order to extract information, or take some other action.

We’re likely to see many and varied uses for attributes in Synergy/DE for .NET, but for now, as well as adding support for attributes in the language, 9.3 introduces the first use of attributes for Synergy/DE xfServerPlus developers. Attributes can be used to provide all of the remaining information needed to automatically populate the method catalog!

Here’s the same function that we looked at earlier, but with an attribute added:

{xfMethod(interface="MyRoutines",name="getProduct",elb="EXE:MyLibrary")}
function get_product, boolean
  required in productCode ,a10
  required out productRecord ,sProduct

By the way, this is a simple example. There are many properties that can be specified in the xfMethod attribute, and there is also an xfParameter attribute which allows you to provide information about the routines parameters.

It’s also possible to specify “documentation comments” within source code, and these comments can be used to populate the method, parameter and return value description fields in the method catalog. A routine with documentation comments would look something like this:

;;;<summary>Retrieves a product record.</summary>
;;;<returns>Returns true for success or false for failure.</returns>
;;;<param name="productCode">SKU of product to retrieve</param>
;;;<param name="productRecord">Returned product record</param>
{xfMethod(interface="MyRoutines",name="getProduct",elb="EXE:AttrTest")}
function get_product, boolean
  required in productCode ,a10
  required out productRecord ,sProduct

Once you have “decorated” your code with attributes and doc comments, it is possible that you may never have to interact with the MDU ever again! But wait a minute … how does all this work?

Well, there is a new utility called dbl2xml, and this utility reads all of the information that is now contained in your source code and it creates an XML file containing just that information. You can then load that XML file into the method catalog using a command-line invocation of the MDU program. Of course you’ll probably automate these steps in the script that you already use to build your methods. The additional steps you’ll need will look something like this:

dbl2xml -out XFPL_SMCPATH:smc.xml SRC:AllMyMethods.dbl
dbr DBLDIR:mdu -i XFPL_SMCPATH:smc.xml

There is one “gotcha” with this new approach, and that is that you have to use the dbl2xml utility one time and process ALL of the code for all of the routines that are to be included in your method catalog. They don’t all have to be in the same source file, but the dbl2xml utility needs to process them all at once so that it can create the entire method catalog in a single pass. But that shouldn’t be a problem.

If you’ve ever done xfServerPlus development then I’m sure you’ll agree with me that this is a very nice new feature in Synergy/DE 9.3 … and it’s just one of many.

By the way 9.3 has been in beta for a while now. So if you want to check out the new features early, then why not help us to validate the release? Head on over to www.synergyde.com, log in to the Resource Center, and download the beta today.


Live from Microsoft TechED 2009

By , Posted on November 11, 2009 at 11:39 pm

Time check: November, 2009, 11. 14:00 hours.We are exactly half way through Microsoft TechED 2009.Tod Phillips and myself are in attendance, and I can tell you it's an amazing conference.Thus far we have sourced 5 T-shirts, two yoyos, one boomerang, one flashing bouncy ball, and our welcome pack that includes a top of the range laptop bag.I've also won a years subscription of the DevExpress UI development tools.

But to more serious news: TechED is the perfect opportunity to discuss software and development solutions with our peers and the developers of not only the microsoft tools, but the UI control makers, who are all here showing off their products.I've already got several code snippets and cool solutions to lots of my questions.I'm also going to download an evaluationcopy of ComponentOne's WPF's control suite, which looks really flashy, and is cheaper than some of the others!

Some of the capabilities available to us developer types to enhance our Windows applications or web site are mind boggling!

TechED to Microsoft has the same importance as the SPC has to Synergex.It's presented by the people that develop, use and are passionate about their respective products.Both offer a unique learning opportunity.

In my next post I'll highlight some of the cool things I've seen this week, and how in Synergy we can take advantage of them.


It’s a good time to clean up your old Synergy DBMS data

By William Hawkins, Posted on at 4:27 pm

Synergy/DE is a pretty forgiving environment when it comes to dealing with fields containing unexpected data. For example, you can have a d field that is either all spaces, all numbers, or some combination, and Synergy/DE will treat the spaces as zeros. (For those of you old enough to remember DBL version 2, back then you could even increment a decimal field that was all spaces, resulting in a field that was all spaces except for the last character which was a !, and DBL would still see the decimal field as a numeric 1. When that occurred, it made for some interesting debugging!)

Now that the world of Synergy/DE for .NET is imminent (a beta version is available for those who are interested), the issue of data interoperability and ensuring that C#/ VB.NET/Framework-language-of-choice can work with Synergy data is also moving to the forefront. For those of you who have been using xfODBC and/or SQL Connection, some of these issues may be familiar, but a lot of developers will foray into this arena for the first time with Synergy/DE for .NET. This is especially true for those of you using xfNetLink .NET edition and looking to bypass the xfNetLink layer and use your code directly from Synergy/DE for .NET. (xfNetLink shelters you from these issues, as it can coerce inappropriate data into a usable native form.)

Synergy/DE basically has three “native” data types: integer, alpha, and decimal. Here are some of the issues that you’ll need to think about for each:

· Synergy integer fields (not to be confused with System.Integer fields) – No issue here; you really cannot store inappropriate data in a Synergy integer field. All you really need to watch for is storing an integer field that is all spaces. Of course, this is still a valid integer; it’s just not the zero value that you may have expected.

· Synergy alpha fields – Non-printable characters (outside the 7-bit characters space thru tilde) really need to be processed as a byte array and not thought of as a string (or alpha) field. But for most situations, alpha fields are relatively problem-free.

· Synergy decimal fields – Here’s your main problem area. I think of Synergy decimals as a special form of Synergy alphas that only contain numeric data and that you can perform math functions on. So, you need to ensure that decimal fields only contain the characters 0 thru 9, with the last character optionally being p thru y (to deal with trailing over-punch data). It’s not uncommon for decimal fields to be all spaces or to have spaces inside the field instead of zeros. It really depends on your code and the last time that you wrote the data to the file. It’s not all that uncommon to have data that’s over 10 years old and hasn’t ever been updated.

Another common issue is that Synergy/DE allows a d8 date to have a value of 00000000. In most other languages, this is an invalid date. If you don’t have a date, other languages use null, not zero, to indicate this. When you move your d8 date field to a datetime field in .NET, you’ll need some conditional logic to cope with this. Your code may also deal with a date field that contains a value such as 20090230, and it will just ignore the fact that this a bad date and display 02/30/2009 (U.S. format) or 30/02/2009 (rest of the world). Try to do this in other languages and you could be in for an unpleasant surprise.

Hopefully, most of the reasons for having inappropriate data in your Synergy DBMS files have been addressed over time. However, you may still have residual data out there that is technically “bad” but is hidden due to the forgiving nature of Synergy/DE. In our experience, adding logic to the intermediate layer to check and fix the data as it’s being pushed to non-Synergy/DE systems can add significant overhead to the application. It’s much more efficient to fix the data (hopefully as a one-off exercise) and modify your application to stop adding bad data to the Synergy DBMS database. For example, commands such as the INIT statement can help ensure that decimals and integers contain correctly initialized data. There are probably a few of you out there who have cleared a Synergy record and then realized that an ISAM key contained a number that got stored as a space and not a zero, so that the key contained records that were “out of order.”

To help, we have added a utility to CodeExchange (fixdata.dbl) that will allow you to apply a Synergy Repository structure definition to a Synergy DBMS file, forcing fields to contain valid characters and (for example) date fields to contain valid dates. We will be extending the utility to include other features, such as validation logic based on Synergy Repository definitions, so that it will be able to detect when a field contains an “out of range” value. If you already expose or plan on exposing your data to .NET, xfODBC, or SQL Connection, I encourage you to download and run this utility. If you have any comments or suggestions on this utility, please email me at William.Hawkins@Synergex.com.


New select classes are a home run

By , Posted on September 23, 2009 at 4:18 pm

Early last week, I was given a copy of the beta build of Synergy/DE 9.3.  My task was to do some testing of one the exciting new features it includes: The Select classes.

Now, testing isn’t always fun, and it can be frustrating trying to figure out if a bug is really a bug, or just a problem born of having no clue what I’m doing.  This time, however, any minor problems I encountered were completely overshadowed by the sheer awesomeness of the new classes.

The Select classes provide a SQL-like syntax for communicating with Synergy databases, and it’s amazing just how simple they are to use.  Once I had a basic understanding of how they worked, I was able to compress a simple READS loop – complete with “filters” and error checking – into a single line.

Consider the following code, which loops through active customer records and prints out the customer number, name and last sales date of anyone with no sales for more than a year:

    repeat
        begin
        reads(ch_cusmas,cusmas)  [err = eof]
    if (cusmas.status .ne. ‘A’); If customer is not Active, ignore it
    nextloop
        if (cusmas.last_sale.year < lastYear)
        call printLine
    end
eof,    etc…

The basic syntax and usage of the Select Class is:

    foreach myRecord in @Select(@From[, @Where][, @OrderBy])
    doSomething

And so, using the Select classes, I condensed everything into:

customers = new From(ch_cusmas,cusmas)
noNewSales = new Select(customers,(where)status.eq.’A’ .and. last_sale.year < lastYear)
foreach cusmas in noNewSales
    call printLine

(I actually condensed the first three lines into just one foreach statement, but the result is a line of code that doesn’t fit nicely into a blog entry, and therefore becomes more difficult to read.)

The syntax is neat, but it’s not the best part; the really cool stuff is happening under the hood.  The actual database I/O layer is now handling all of the “filter” logic, and it’s doing it faster than a regular READS loop can handle.  In fact, during my tests, a filtered return of around 18,375 records showed a performance benefit that ranged from 11 to 21 percent.  Now, that’s a small data set and we’re only talking about milliseconds, but it demonstrates a performance boost nevertheless – and that’s for a local application, running against a local database.  The savings over a network connection to a remote database (i.e., xfServer) is likely to be enormous, as the I/O layer on the server is now doing the filtering, rather than returning the data to the client to handle.

Other features include the OrderBy class, which (as expected) sorts the returned data in either ascending or descending order based on the key being read.  The classes also provide for a sparse record population, in which only the fields needed by the application are actually returned.  There are even methods available to get at each individual record returned in the set, write back to the file, etc.

The fact that an update to Synergy/DE 9.3 is all that’s required is impressive as well.  There’s no need to perform any database conversions, or add additional services or products; the Select classes work right out of the box.

The Select classes represent a significant addition to the language, and I can imagine a time in the not-too-distant future when they become the primary Synergy database access mechanism.  My hat’s off to the Synergex development team; it appears that they’ve hit this one out of the park.


The message is the same; it’s just the words that have changed

By William Mooney, Posted on September 2, 2009 at 4:24 pm

I dropped my daughter off at her first day of high school this week and got caught up in a “get back to business/summer’s over” mentality–get to the office, sharpen my pencils, and focus on what’s really important.

First order of business: Blogging. It’s been weighing on my mind that I haven’t posted in a while, and as I mentioned previously, I’ve been anxious to talk about our new tagline, Advancing Applications. Partnering for Success.

Our tagline for years was “Take Part in Creating Success.” These five words were plastered on everything we sent out. The concept was to convey to our customers, employees, and vendors that we are only successful when our customers are successful. I polled some Synergex new-hires for candid comments, however, and learned that they found the tagline confusing – i.e., who was taking part in whose success? We slowly backed away from the mantra to the point that we got rid of it all together.

This troubled me. Taglines articulate a company’s vision and empower people – employees, customers, vendors – to make decisions in line with the company’s overall objectives. (Think FedEx when they were just an overnight service – Surely “When it absolutely, positively has to be there overnight” empowered their employees to make that happen, at whatever cost, without having to ask permission first.) So, we recruited some Mad Men types (in our case Mad Women) to help us find a way to convey the original message without the confusion. We white-boarded ideas around customers, products…everything. We finally chose “Advancing Applications. Partnering for Success.”

That’s it. Our application of the Law of the Little Shovel. Our existence is based on these simple words: “Advancing Applications” because that’s what we’ve been doing since the early days of helping customers migrate from one platform to another; to today’s customers who want to implement new Windows user interfaces and Web front ends, or integrate data with Oracle and SQL Server, hand held apps, and a lot more. And “partnering for success” because we recognize that we are partners with our customers.

Our role extends much farther than providing products and services to help customers advance applications. It means coming up with ideas and ways to help them succeed – from designing new logos for them, to sending out mailings to help them get new business, to training their support departments on new technology — simply, partnering with them however we can to ensure their continued success.

So, armed with my sharp pencils and little shovel, empowered by the vision present and clear, I am eager to help my partners advance their applications to ensure success. Please call on me to let me know how we can help you.


I’m baaack…

By Don Fillion, Posted on August 27, 2009 at 4:28 pm

 

A few of you may remember me from my days with various software companies, where for many years I developed vertical market software. We may have rubbed elbows at an SPC, or met more recently while I was a Synergex PSG Consultant. After a really quick year or so in that role, I have now moved into a managerial position with Synergex, so, this is now Don Fillion, Director of Professional Services, kicking off PSG’s contribution to the blogosphere, the Synergy/DE PSG Blog!

As you are probably aware, we have some pretty fine consultants in the Professional Services Group: masters at working with customers to apply the technology Synergex develops. This blog is really their forum, a place for them to expound on their thoughts concerning software application development in the land of Synergy/DE (and beyond…!)—and hopefully pass along some insight gained during their various engagements. But it’s your place too, as we hope posts will engender some lively discussion.

So, welcome! If you have ideas or suggestions about future posts, or you would just like to discuss the latest technology trends and how they impact you, please feel free to email me at don.fillion@synergex.com. I look forward to working with you!

Don Fillion

PS… As I was researching weblogs, I came across some pretty cool sites. One of the best was LIFEHACKER – tips and downloads for getting things done. It’s kind of a toolbox and discussion forum for modern (techie) life. Check it out!


Preventing performance issues related to antivirus software

By Roger Andrews, Posted on August 10, 2009 at 7:19 pm

We get quite a number of support calls with either performance or system-down issues related to installation security suites, mostly related to antivirus software. In most cases the culprit ends up being the incorrect setup of the antivirus software.

Let’s first consider what antivirus software has to do and how it ships by default.

In today’s cat and mouse game, the security software vendors are trying to keep up with all of the malware generators that pop up daily. A typical antivirus signature file contains over 80 Mb of compressed signatures, and  the major players like Trend, McAphee, Symantec, VIPRE, and Kaspersky provide multiple updates to signatures daily. The problem then is deciding what to scan and when to scan—you obviously don’t want to miss an infected file that’s downloaded between updates to the scan databases, but you also don’t want to bog down your system unnecessarily. By default, most security products scan all files once daily, and use real time scanning to scan infectable files on both read and write. Some even default to continuously scanning all files. Though each vendor has different terminology for “scan on read” and “scan on write” (in fact some confuse read as write and write as read), “scan on read” effectively means scan every time a file is opened and “scan on write” effectively means only scan when a file opened for write is closed. Some vendors even have a flag to scan all files on close. And some products, like VIPRE, don’t have any concept of scan on write only.

Now that we know how these products handle file access, let’s consider some scenarios on live systems.

Scenario 1 – When “scan all files” is set

In this scenario, every file may be scanned for a virus on open and close, regardless of writeability. Consider scanning a .vhd for a virtual image, or a Synergy DBMS file every time a user opens or closes the file. (Both file types are usually opened even for write.) The same would even apply to every file accessed in your SQL Server and Oracle databases, and to all of your Synergy .dbr and .elb files.  The implications to your system performance are obvious.

Scenario 2 – Scan only infectable files

In this scenario, infectable files may be scanned on open and close. By default in most vendors’ products, this includes Synergy .ism files as well as .vhd files.  This scenario as well has a significant impact on your system performance due to the overhead of scanning large files.

Scenario 3 – Scan only infectable files on Write

In this case, .exe and .dll files are only scanned when updated, but a .vhd and a Synergy .ISM file would also be scanned on close because they are usually opened for write. This technique might be good for a general purpose file server of Word documents, for example, but not for a data server.

As you can see, without some degree of tuning, virus scanning products can have disastrous effects on system performance.  (You can use the Sysinternals Process Monitor to see the overhead your virus scanning tool is causing.)

For obvious reasons, scanning of files takes place at a high priority in the kernel mode of the operating system. This usually impacts both system time and user processing time. Additionally, many vendors now use the VISTA filter manager, and I previously bloggedabout the performance penalties of such hooking on Vista and Server 2008. Luckily the overhead is significantly reduced in Server 2008 R2 and Windows 7.

In our recent internal use of Microsoft’s SharePoint server, we were seeing dramatic performance problems when installing and uninstalling software, and even when the IIS SharePoint services (which are .NET-based) were loading and jitting. By correctly disabling the “scan on open for read” options, the performance significantly improved. We also tried the VIPRE product, and this improved performance even further – however, for a very specific reason. VIPRE, as stated previously, scans all files on open and close, and gains its performance edge because it recognizes signed, read-only EXE/DLL files and caches them if they have not changed so that the re-scan is not required. This is what gives it a seemingly large performance gain. However, once you throw in files that are not signed, its scan requires significantly more resources because you can’t disable the “scan on read” functionality (which would require a scan of such products as Diskeeper moving around files). Additionally, VIPRE also scans (but does not report issues with) other excluded files, so the overhead is pretty much permanent for unversioned files like Synergy DBMS files.

The key is, after you have a clean full-file scan on a system, set scan on write only, scan infectable files, and make sure that the file extensions of your databases and VHD files are set to no scan. And, due to its inability to scan on read, we do not recommend VIPRE for use with Synergy/DE installations.

(Of course I’m providing this information for information purposes only, and it is up to each company to set its security policies.)


SPC Boston comes to a close

By William Mooney, Posted on May 28, 2009 at 6:55 pm

We just wrapped up the SPC in Boston and it went great. Customers seemed to really like the ChronoTrack demo app (and all that sample code to take home!) and the Code Phantom’s challenge was answered by nearly all of the attendees – in fact, many stayed late just to make sure they’d completed it. (We kept them energized with pizza and beer, of course.)  I received lots of positive comments from customers about the conference and Synergy/DE in general. One customer mentioned that he had written us off 10 years ago but is absolutely amazed at how far we have come and what can be done with Synergy/DE. Another customer at one of the lunches referenced how much he had learned about what is possible with Synergy/DE that he hadn’t known about because he’d been “heads-down” for so long with his current project. Overall, customers were really pleased about learning what they can do right now with their existing Synergy/DE-based applications to make them more powerful.

We were also joined by Bigbah and his team (MannyJodah, and Mark), who seemed to really enjoy the conference – at least according to their Facebook pages!

It was a really informative conference and a great time was had by all. We’re looking forward to seeing our friends “across the pond” in a couple of weeks.


Protecting the Spread of Security Infections in Places You Might Not Think About

By Roger Andrews, Posted on May 6, 2009 at 10:20 pm

Several weeks ago we had a new Ikon color printer installed. It has a separate Kodak PC running the printer drivers and color matching software. I noticed that it was Internet connected and that software updates were not being applied.

When we contacted the manufacturer, we were told the PC was an embedded XP device and did not need the XP SP3 nor the security patches. We immediately disabled the Internet connection (embedded XP devices are susceptible to viruses too)—but that’s not really good enough. To date the manufacturer still has not authorized XP SP3 nor the regular monthly security patches, yet all printed documents go through this machine and users can go to the console and copy documents from a USB drive or internal network locations. Once infected with a virus or worm — or even a botnet — we’re SOL, because the manufacturer of the device doesn’t support installing anti-virus software, and any such changes would require an engineer to reload the system from scratch.

The problems are not just with Microsoft. Adobe has had to patch its Flash Player and Reader already this year, and another Reader patch is due. How many of us keep the Adobe Reader and Flash players up to date?

Why is this such a big issue? Well, the problem is that these embedded XP systems can get infected. One example is the Conficker worm. In most cases Conficker is benign until it is woken up by its creators. Users don’t even know they have it, may not even have Internet access (or may not know that they do), and/or may have been infected internally. The only way to detect these kinds of issues other than with a virus scanner is to look at network traffic going back to “phone home.” I think an article from the San Jose Mercury News illustrates the problem well. Even if you have a patch available to avoid infecting a machine, what if every patch and/or daily antivirus update required a 90-day approval process?

My recommendation is that you get with the manufacturers of all embedded XP devices that are connected to your network and get the regular updates and XP SP3, and ensure that Internet Explorer is disabled in such a way that the machine’s users cannot re-enable it. And also be sure to keep your Adobe Reader, Flash players, and similar products up-to-date.


Customers going to great lengths to attend the SPC

By William Mooney, Posted on April 23, 2009 at 9:04 pm

Not surprisingly, the upcoming SPC (Success Partner Conference) has been prevalent in my recent conversations and customer visits.

Today I was speaking to a customer in the Midwest who told me the Boston SPC overlaps his company’s conference, so he’s trying to make it to the London SPC instead.  Another customer is paying out of his own pocket to get the conference because his company has limited travel this year.  And another customer is using his own money *and* vacation time to get to the conference for the very same reason.

It really struck me how much our customers value our conference—both for the benefits it provides to their companies, and to them professionally— and reassured me about all of the man-hours we have put into preparing all of the content for the conference.  Our Professional Services Group has been working since last June on this year’s sessions and demo application, making sure they cover all of the recent enhancements to the Synergy/DE product line.  When I hear the lengths customers go to be a part of this knowledge transfer, and I see the resulting impact on their applications and their businesses, I know our investment has paid off.

I’m looking forward to a great conference – see you in Boston or London!


My initiation into the blogosphere: SPC 2009

By William Mooney, Posted on April 2, 2009 at 7:40 pm

OK, time to jump into the blog scene. It’s either that or start “tweeting”—and I’m just not there yet. I was asked to start a blog, so here goes…

The biggest hurdle I’ve faced re. starting a blog is Where To Start. There is so much to talk about! Most of the things I expect to blog about are recurring themes from conversations I have with customers—it will be great to document and share these. Other blogs will cover random topics that I feel would be of interest to you. So my first blog will be a hybrid of the two, with the subject being our upcoming SPC (Synergex Success Partner Conference). Some of you may remember that the original name of the SPC was DC for “Developer Conference.” Today, still, the conference primarily targets developers, but the overall theme is, as it always has been, “Partnering with our customers to help them succeed.” (On that note, stay tuned for a future blog about our new tagline: “Advancing Applications. Partnering for Success.”) While most of our customer contact is with the actual developers of Synergy/DE-based software, Synergy/DE products also impact those in an organization who are not developers. It is for that reason that we strive to partner with several different types of players in an organization to help the company overall make the best use of our products.

To that end, we have expanded our communications this year to target those different players specifically. Our Marketing team has developed four characters: Jodah VeloperMark Etting, Manny Jurr, and Bigbah Smann. Each character is an exaggerated representation of his role’s interests within an organization and how they may interact with those of another role’s. So far, we have had some good success with this expansion of communication and are having a lot of fun with the characters. (Look for them on Facebook!)

The message is that no matter what role you play in your organization, the SPC will benefit you – by providing a firsthand look at how easily you can advance your applications with today’s Synergy/DE; by helping you hone your development skills; and/or by showing you the new features your development team should be taking advantage of.

  • Presidents, CEOs, VPs, General Managers—basically those who are responsible for your P/L (AKA Bigbah Smann): Your Synergy/DE-based application(s) are among your company’s most important assets. I recommend you attend at least the first day of the conference so you can get a firsthand view of all of the functionality that can be immediately attained to make your applications more powerful, and for ISVs, more marketable. I’m confident you’ll be very surprised. In fact, I’ll even comp the first day of the conference for any CEO/CIO/CTO/GM who accompanies a developer to the SPC.
  • Those who are responsible for the sales and marketing of your Synergy/DE based applications (AKA Mark Etting): Like the person (above) who is responsible for the bottom line, you can gain significant benefits by attending the conference. It’s a great opportunity to see what your application is capable of, and what other Synergy/DE customers have done to make their applications more marketable.
  • And of course the people responsible for the development of your applications (AKA Jodah Veloper and Manny Jurr): I recommend you attend all three days of the conference – this will enable you to take away the skills and knowledge required to quickly and easily advance your applications.

So, whatever role you play in your organization, I look forward to catching up with you at the conference, or meeting you if we have not yet had the opportunity.

OK, that first blog was relatively painless! I look forward to blogging again soon.


Recent Posts Categories Tag Cloud Archives