Thursday, July 18, 2024    
Skip Navigation Links
My Account
Try It!
Buy It!
Skip Navigation Links
Contact Us
Site Map
Skip Navigation LinksHome > Application Framework > Other Features

In addition to the primary components of the framework, StrataFrame provides many side classes and routines that are commonly needed in application development.

Application Security Hooks

StrataFrame does not lock any developer into a certain methodology for handling security. Rather than creating a role-based or user-based security method that developers are required to “work around,” StrataFrame provides security hooks that empower developers to implement their own security. Some of the security hooks provided are:
Show Login Form Raised when the application starts up to show a login form and select the application’s main form.
Check Security Raised when a business object attempts to add, edit, or delete a record to determine whether the end-user has the required permissions.
Check Field Security Raised when a bound control is refreshed to determine whether the end-user has the required permissions to view and/or edit the field.

File Compression Classes

A proprietary file compression tool is included within the StrataFrame class library. The tool consists of a simple GUI and a collection of classes that allow the developer to create and maintain compressed package files programmatically without the need for an external compression tool and its associated assemblies and licensing. The compression classes support encryption and password protection and utilize the GNU zip (gzip) algorithm. 

File Compression End-User Progress UI
View Larger Image
Attractive UI

All compression and decompression processes can display an attrative progress indicator that has animation support to the end-user. All of these process can run silent or be handled by the developer as well if a custom interface is desired. When running in "loud" mode, the compression progress windows will automatically be presented to the end-user when adding or extracting files without adding a single line of code. The UI is threaded so the display to the end-user will not freeze while doing the actual compression.

Full Programmatic Access
Every aspect of the compression tools can be programmatically managed and controlled. Easily add and extract files, encrypt, password protect, and retrieve information about the package. One major benefit to the StrataFrame compression tools is that the package file is a proprietary structure that cannot be controlled by a third party tool. This improves security and reduces tampering with the package files.

VB.NET Example:
loPackage = New PackageFile("c:\temp\sample.pkg", False, True)

C# Example:
loPackage = new PackageFile("c:\\temp\\sample.pkg", false, true);

End-User Package File Editor
View Larger Image
End-User Front End Provided

A complete GUI fron end is provided and can be freely distributed to end-users. This GUI is an application that is similar to WinRar and WinZip from the perspective of the end-user. This is a great benefit to developers since they can freely distribute this executable while maintaining the the integrity and security of any package. However, if desired, a developer can easily write a fron end in place of the provided end-user GUI interface.

Advanced Tools

Credit Card Validation Classes
Many applications require credit card entry and when these situations arise, StrataFrame provides easy to use classes to validation the credit cards. All credit card validation uses the LUHN Formula which is the industry standard. The classes includes features such as:
  • Determine Credit Card Type by Number
  • Verify Credit Card Number is Valid
  • Credit Card Validation Scrubbing Before Processing
Note: This is for credit card validation only and does not process the credit card with an online entity.

Screen Capturing Tools
There are times that a window or a screen needs to be captured and saved to disk. At times this can be a very effective tool for creating built-in support features within an applications. With StrataFrame, programmatically taking a screen shot is simple and fast.

VB.NET Example:
'-- Capture full screen to image object
loImage = ScreenCapture.CaptureScreen()

'-- Capture full screen and save to disk
ScreenCapture.CaptureScreenToFile("c:\temp\myscreen.jpg", ImageFormat.Jpeg)

C# Example:
//-- Capture a window to image object
loImage = ScreenCapture.CaptureWindow(this.Handle);

//-- Capture a window and save to disk
ScreenCapture.CaptureWindowToFile(this.Handle, "c:\\temp\\mywindow.jpg", ImageFormat.Jpeg);

Windows API Interface
There are many times when a developer needs to interact directly with the Windows API. This generally entails creating DLL imports and formatting structures in order access these methods. StrataFrame already has many of the most common API methods wrapped and ready for use. API references have been created for the User32, ComDlg32, GDI32, and UxTheme libraries. 

GAC Interface Classes
Most times developers allow the installation process to handle the interaction of DLLs with the Global Assembly Cache. However, there are times, though they may be few, that a developer needs to programmatically access the GAC. This is a difficult and cumbersome process. StrataFrame provides classes that make this process quick and simple. With a few lines of code, take control of the GAC and create code to automatically manage assembly versions, for example.

VB.NET Example:
AssemblyCache.InstallAssembly("c:\temp\MyAssembly.dll", Nothing, AssemblyCommitFlags.Force)

C# Example:
AssemblyCache.InstallAssembly("c:\\temp\\MyAssembly.dll", Nothing, AssemblyCommitFlags.Force);

3DES, SHA, and MD5 Encryption Classes
When dealing with any type of encryption things can get complicated fast. StrataFrame comes with classes that make reversable and one-way hash encryption simple. Encryption features include file encryption, string encryption, seed and vector keys, and shared methods for easy access.

VB.NET Example:
'-- Encrypt/Decrypt a string
lcEncrypted = lo3DES.Encrypt("Simple Text")
lcDecrypted = lo3DES.Decrypt(lcEncrypted)

'-- Encrypt/Decrypt a file

C# Example:
//-- Encrypt/Decrypt a string
lcEncrypted = lo3DES.Encrypt("Simple Text");
lcDecrypted = lo3DES.Decrypt(lcEncrypted);

//-- Encrypt/Decrypt a file

Automated XML Structure Updates and Encryption

Structure Conversions
Dynamically creating XML files at run-time can be done relatively easily, but updating an existing XML file structure is extremely difficult without recreating the file and losing any data. StrataFrame provides advanced XML classes that allow XML files to be created and updated dynamically at run-time. This is especially beneficial when XML is used as a data source and existing structures need to be updated with a program change. By opening all XML files through the XML classes, the existing structure is compared to the desired structure. If they do not match, the XML file is automatically updated to the new structure without any data loss. The end-user never even knows the conversion took place. Better yet, this allows the developer to reliably add and remove fields from and XML data source without the worry of updating any existing files.

Full File Encryption
At times, it is necessary to encrypt an entire XML file which prevents any prying eyes from looking at the data through an XML viewer such as Internet Explorer. Simply pass a value of "true" when opening the XML file and the encryption process is automatic.

Site Map - Home - My Account - Forum - About Us - Contact Us - Try It - Buy It

Microsoft, Visual Studio, and the Visual Studio logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.