Monday, December 22, 2008

Microsoft warns of SQL Server vulnerability

Microsoft issued an advisory late Monday confirming a remote code execution vulnerability affecting its SQL Server line.
The vulnerability affects Microsoft SQL Server 2000, Microsoft SQL Server 2005, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2000 Desktop Engine (MSDE 2000), Microsoft SQL Server 2000 Desktop Engine (WMSDE), and Windows Internal Database (WYukon). Microsoft said systems with Microsoft SQL Server 7.0 Service Pack 4, Microsoft SQL Server 2005 Service Pack 3, and Microsoft SQL Server 2008 are not affected by this issue.
From Microsoft's advisory:
Microsoft is aware that exploit code has been published on the Internet for the vulnerability addressed by this advisory. Our investigation of this exploit code has verified that it does not affect systems that have had the workarounds listed below applied. Currently, Microsoft is not aware of active attacks that use this exploit code or of customer impact at this time.
In addition, due to the mitigating factors for default installations of MSDE 2000 and SQL Server 2005 Express, Microsoft is not currently aware of any third-party applications that use MSDE 2000 or SQL Server 2005 Express which would be vulnerable to remote attack. However, Microsoft is actively monitoring this situation to provide customer guidance as necessary.
Microsoft said it was unaware of any active attacks utilizing the exploit code.
The advisory comes less than a week after Microsoft released a critical security patch to plug vulnerabilities in Internet Explorer amid malicious attackers taking advantage of the security flaws.

Thursday, December 4, 2008

Use a Java object from PB (using the Microsoft JVM)

Use the Microsoft javareg utility to register a java class as a COM server. Once registered, the Java class will be visible from all languages that can deal with COM objects. I am giving here some examples in VbScript, JScript, ASP and Powerbuilder.
NOTE: The class can compiled with any JDK but the actual execution will use the Microsoft JVM installed on the system.
The javareg utility is part of the Microsoft Java SDK which can be freely downloaded from the Microsoft Web site.
First a simple Java class.
[JavaSays.java]
package JavaCom;
public class JavaSays {
public String Hello() {
return "Hello world" ;
}
public String Say(String what) {
return what ;
}
}
Then this BAT file is executed to register our class.
javareg /register /class:JavaCom.JavaSays /progid:JavaCom.JavaSays
md c:\Windows\Java\TrustLib\JavaCom
copy JavaSays.class c:\windows\java\trustlib\javacom
That's it. The system now has a COM object called JavaCom.JavaSays installed.

Create an XML file

set xdoc = CreateObject("MSXML2.DOMDocument")
set html = xdoc.appendChild(xdoc.CreateElement("HOWTOS"))
set list = html.appendChild(xdoc.createElement("TOPIC"))
set item = list.appendChild(xdoc.createElement("TITLE"))
set text = xdoc.createTextNode("Java")
item.appendChild text
set item = list.appendChild(xdoc.createElement("URL"))
set text = _
xdoc.createTextNode("http://www.rgagnon/javahowto.htm")
item.appendChild text
set list = html.appendChild(xdoc.createElement("TOPIC"))
set item = list.appendChild(xdoc.createElement("TITLE"))
set text = xdoc.createTextNode("Javascript")
item.appendChild text
set item = list.appendChild(xdoc.createElement("URL"))
set text = _
xdoc.createTextNode("http://www.rgagnon/javascripthowto.htm")
item.appendChild text
xdoc.save "test.xml"

Connect to a database

Dim OdbcDSN
Dim connect, sql, resultSet
OdbcDSN = "DSN=Sybase Demo DB V6 DWB;UID=dba;PWD=sql"
Set connect = CreateObject("ADODB.Connection")
connect.Open OdbcDSN
sql="SELECT emp_fname, emp_lname FROM employee"
Set resultSet = connect.Execute(sql)
On Error Resume Next
resultSet.MoveFirst
Do While Not resultSet.eof
WScript.Echo resultSet("emp_lname") & " , " & _
resultSet("emp_fname")
resultSet.MoveNext
Loop
resultSet.Close
connect.Close
Set connect = Nothing
WScript.Quit(0)

Extract data from HTML page

theURL = "www.rgagnon.com/masters/wsh-vbs.html"
with CreateObject("InternetExplorer.Application")
.Navigate("http://" & theURL)
Do until .ReadyState = 4
WScript.Sleep 50
Loop
With .document
set theTables = .all.tags("table")
nTables = theTables.length
for each table in theTables
s = s & table.rows(0).cells(0).innerText _
& vbNewLine & vbNewLine
next
wsh.echo "Number of tables:", nTables, vbNewline
wsh.echo "First table first cell:", s
' get the data with an ID
' msgbox ie.document.getelementbyid("d1").innerHtml
End With
End With
Output is :
>cscript ieextract.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.
Number of tables: 1
First table first cell: VBScript

Detect Caps Lock state

[local function declaration]
FUNCTION int GetKeyState(int keystatus) LIBRARY "user32.dll"
[powerscript]
int li_keystate
li_keystate = GetKeyState(20)
IF li_keystate = 1 THEN
MessageBox("", "CAPS on")
ELSEIF li_keystate = 0 THEN
MessageBox("", "CAPS off")
END IF

Convert Win API calls to PB10

Function declaration needs to be modifed to specify ANSI:
FUNCTION long ShellExecuteA (ulong hWnd, &
string Operation, string lpFile, string lpParameters, &
string lpDirectory, long nShowCmd) LIBRARY "shell32.dll" &
ALIAS FOR "ShellExecuteA;Ansi"
From the PowerBuilder 10 Help:If your application makes calls to external functions, and there is a Unicode version of the external function, convert the calls to the Unicode versions of the functions. For example, a call to SQLGetInfo should be changed to SQLGetInfoW.
If the function passes a string, char, or structure as an argument or returns a string, char, or structure, you can use the same syntax in PowerBuilder 10 as in previous releases if the string uses Unicode encoding. For example:
FUNCTION int MyMessageBoxW(int handle, string content, string title, int
showtype) LIBRARY "user32.dll" ALIAS FOR "MessageBoxW"
As for structure with PB10, char is now 16 bit :
// before PB10
global type mystruct from structure
long l1
char pad1
char pad2
long l2
char pad3
char pad4
end type
// PB10
global type mystruct from structure
long l1
char pad1
long l2
char pad2
end type

Make a window popup "on top"

Declare the following fonction :
FUNCTION BOOLEAN SetForegroundWindow( LONG HWND ) LIBRARY "USER32"
and
long hWnd
hWnd = Handle(w_my_popup)
SetForegroundWindow( HWND )

Call HtmlHelp

Declare the following external function
FUNCTION long HtmlHelp(long hwnd, string pszFile, &
long uCommand, long dwData) LIBRARY "hhctrl.ocx" &
ALIAS FOR "HtmlHelpA"

hwnd is the handle of calling window (you may set it using handle(this)function)pszFile is the name of help file eg. myApp.chmuCommand usually is 0 or 1dwData is the "numeric" topic (for example, 1005).
NOTE: the hhctrl.ocx must be registered in your system. If you have IE4 installed, it's done already.
To display the HTMLHelp with left panel showing the Table of Content Tab and the right panel the first Help page
HtmlHelp( ll_handlewindow, ls_helpfile + ' > main', 0, 0)
To display the HTMLHelp with left panel showing the Search Tab and the right panel the first Help page
string nullstring
SetNull(nullstring)
HtmlHelp( ll_handlewindow, ls_helpfile + ' > main', 1, nullstring)
To display the HTMLHelp for a specific topic (no left panel).
CONSTANT long HH_HELP_CONTEXT = 15
HtmlHelp( ll_handlewindow, ls_helpfile , HH_HELP_CONTEXT, 1005)

Get the CDROM drive letter

[Function declarations]
FUNCTION ulong GetLogicalDrives() LIBRARY "Kernel32.dll"
FUNCTION uint GetDriveType( Ref String as_root_path )
LIBRARY "kernel32.dll" ALIAS FOR "GetDriveTypeA"
[PB function String of_GetCDRootPath()]
integer li_ctr
string ls_root
ulong lul_drives, lul_rem
lul_drives = GetLogicalDrives()
DO
lul_rem = MOD(lul_drives, 2)
IF lul_rem = 1 THEN
ls_root = Char(li_ctr + 64) + ":\"
IF GetDriveType(ls_root_path) = 5 THEN
Return ls_root_path
END IF
li_ctr ++
END IF
lul_drives /= 2
LOOP UNTIL lul_drives = 0
RETURN ""

Start the screen saver

/*
** WM_SYSCOMMAND 0x0112 274
** SC_SCREENSAVE 0xF140 61760
*/
send(handle(This),274,61760,0)

Autoselect an Editmask

[ItemFocusChanged event]
CHOOSE CASE this.Describe(dwo.name + '.editmask.mask')
CASE '?' , '!'
CASE ELSE
this.SelectText(1,999)
END CHOOSE
END IF
RETURN 0

Print to a file

dw_1.Object.DataWindow.Print.Filename = 'report.prn'
dw_1.Print()

Alternate row color

Place a rectangle with a transparent background color. Place fields on the rectangle. In the expression tab for the rectangle, in the backgound color field :
if ( mod(getrow(),2) = 0, oneColor, anotherColor )

Have a different color for newly inserted row

In the expression painter, code the following for the Background expression :
IF ( IsRowNew(), 1090519039, Long(Describe("datawindow.color")))
where 1090519039 is the regular window color.
Using the same idea, to make existing data read-only and newly inserted editable, code the following in the Protect expression :
IF ( IsRowNew() , 0 , 1 )

Create dynamically a DataWindow

string ls_select
string ls_where
string ls_dwsyntax
string ls_err
ls_select = &
"Select id, fname, lname, address, city, state, zip from customer"
ls_where = " where customer.fname like '" + is_cust + "%'"
ls_dwsyntax = SQLCA.SyntaxFromSQL ( ls_select, "Style(Type=grid)", ls_err )
dw_1.Create ( ls_dwsyntax, ls_err )
IF ls_err <> '' THEN
MessageBox ( "error - Syntax", ls_err )
ELSE
dw_1.SetTransObject ( SQLCA )
dw_1.Retrieve()
END IF

Create a table from PowerScript

Use EXECUTE IMMEDIATE. Set Autocommit to true because DDL SQL has to be executed outside of transaction.
SQLCA.AutoCommit = True
ls_sql = "create table #tmp (abc varchar(255))"
EXECUTE IMMEDIATE :LS_SQL USING SQLCA;

To alter a table, use the same idea:
ls_sql = 'ALTER TABLE dba.tbl_name ADD col_name'
EXECUTE IMMEDIATE :LS_SQL USING SQLCA;

Monday, December 1, 2008

Novalys PowerBuilder Worldwide Survey 2008


Please participate in this survey :

Fast Track to PowerBuilder Part II

"Fast Track to PowerBuilder Part II"Now includes new features in PowerBuilder 11.5 !
Dear PowerBuilder Developer:
DEV633: Fast Track to PowerBuilder Part II is perhaps the most important step you take in your training towards a level of expertise that will allow you to learn how to use PowerBuilder to build and deploy fully functional applications using its more advanced features. The course will be taught on PowerBuilder 11.5. However, most of the features you will learn will be available to you in earlier releases of PowerBuilder (for instance, PowerBuilder 9, 10 and 11) - so regardless of the release on which you are working, you will be able to continue to improve your skills by learning PowerBuilder development best practices for advanced client/server application development.
This intensive hands-on, instructor-led training class will give you access to a certified instructor, along with other near-expert level PowerBuilder client/server developers like yourself - whose goal is to learn PowerBuilder’s more advanced and powerful features. Register Now!

Schedule:
December 8, 2008 (Albany, NY)

December 8, 2008 (Bethesda, MD)

December 8, 2008 (SyberLearning LIVE)

December 15, 2008 (Dublin, CA)

December 15, 2008 (Boulder, CO)

February 2, 2009 (SyberLearning LIVE)

Free : Norton AntiVirus 2009 Definitions Update (Windows XP 64-bit/Vista 64-bit)

Publisher's description of Norton AntiVirus 2009 Definitions Update (Windows XP 64-bit/Vista 64-bit)

From Symantec:
Download this file for the latest in virus detection and repair. This definitions update is a complete replacement for any previous virus definitions set and will work with the following Symantec products:
Norton AntiVirus 2008 for Windows XP/Vista for 64-bit OS only
Norton Internet Security 2008 for Windows XP/Vista for 64-bit OS only
Symantec Endpoint Protection 11.0 for 64-bit OS only
Download :
http://www.zdnetasia.com/downloads/pc/swinfo/0,39043052,39386086s,00.htm

Amazon opens up SimpleDB to the public

Amazon on Monday opened up its SimpleDB cloud-based database service to an unlimited beta audience, after a year's private testing.

SimpleDB is just one of many components that make up the Amazon Web Services (AWS) cloud-computing initiative--the others being the Simple Storage Service (S3) hosted storage facility, the CloudFront content-delivery service and the Elastic Compute Cloud (EC2) cloud-computing service. The opening up of SimpleDB to the public means anybody can use the service for real-time querying of the structured data hosted in AWS.

On the AWS blog on Monday, Amazon wrote that it had "learned a lot during the beta and [has] fine-tuned the feature set in order to make sure that we are meeting the needs of current and future users".

As Amazon writes on the SimpleDB web page, the service "provides a simple web-services interface to create and store multiple data sets, query your data easily and return the results". The company said that SimpleDB has similar properties to a spreadsheet, except for the ability to associate multiple values with each attribute of an item. Another feature that Amazon is touting is the ability to add new attributes to a SimpleDB set when this is necessary, rather than having to predefine every attribute.

SimpleDB is being presented as an alternative to complex databases. "Amazon SimpleDB removes the need to maintain a schema, while your attributes are automatically indexed to provide fast, real-time look-up and querying capabilities", the web page states. "This flexibility minimizes the performance tuning required as the demands for your data increase". However, complex databases can be hosted in EC2 if they are needed.

A "simple set" of application programming interfaces (APIs) is provided for the purposes of storing, processing and querying data.

As with other AWS services, the pricing of SimpleDB corresponds with usage, with no up-front costs being involved. Data transfer costs from US$0.10 (7 pence) per gigabyte in and out, although that only refers to data coming into and leaving SimpleDB from outside other AWS services--data transferred between SimpleDB and other AWS services is free.

Amazon recommends that large files and objects be stored in S3, with pointers and metadata associated with those files being stores in SimpleDB--the charge for this is US$1.50 per gigabyte per month.

As an extra incentive, those wishing to try out SimpleDB will be able to use it on a limited basis for free over the next six months at least. This will include the consumption of up to 500MB of storage and up to 25 machine hours of usage each month, plus 1GB of data in and 1GB out.

Sun warns of 'fatal' bugs in MySQL 5.1

Sun has released version 5.1 of the open-source MySQL database software, but the software's founder simultaneously warned of a number of "fatal" bugs present in the new features that are still to be fixed.

Michael "Monty" Widenius, the founder of MySQL, stated

The new features introduced have been ranked as "beta" quality.

There are a number of issues associated with the partitioning feature, such as the difficulty to restore a partitioned table if it crashes, and the chance of losing all data in the event of a server crashing during the rename table feature of a partitioned table. Widenius highlighted that the feature was inefficient, particularly if there were many partitions in a database.

Row-based replication has not been enabled by default, because of a number of problems. Users are advised to test the latest MySQL version before deploying it to production systems.

Tuesday, November 25, 2008

Get data from Excel via the clipboard

OLEObject excel

Integer li_RetValue, li_rtn
Boolean lb_sheet_rtn
Long ll_cnt

excel = create OLEObject
li_rtn = excel.ConnectToNewObject("excel.application")
IF li_rtn <> 0 THEN
MessageBox('Excel erro','can not run Excel Program')
DESTROY excel
RETURN 0
END IF
excel.WorkBooks.Open( "c:\mysheet.xls" )
excel.Application.Visible = false
excel.windowstate = 2 // 1 : Normal, 2 : Minimize, 3 : Maximize
lb_sheet_rtn = excel.worksheets(1).Activate
excel.Worksheets(1).Range("A1:E5000").Copy // copy to clipboard
ll_cnt = dw_1.importclipboard()
IF ll_cnt <<= 1 THEN
Messagebox("Inf", "Could not find .")
END IF
excel.Worksheets(1).Range("A10000:A10000").Copy //reset clipboard
excel.Application.Quit
excel.DisConnectObject()
DESTROY excel

Monday, November 24, 2008

Scroll 2 datawindows in sync

[ScrollVertical event of dw_1]
dw_2.Object.datawindow.verticalscrollposition = scrollpos

Detect if a row is new

dwitemstatus rowstatus
IF dw.GetRow() > 0 THEN
rowstatus = dw.GetItemStatus( dw.GetRow(), 0, Primary! )
IF rowstatus = New! OR rowstatus = NewModified! THEN
// new row
ELSE
// not new
END IF
END IF

Display only distinct rows

First you need to Sort() the datawindow based on the columns that need to be distinct. After you apply a Filter(), to filter out the non-distinct rows.
For example, we have a datawindow with a column named prod_id and we want to display only one row for each prod_id.
First we turn off the datawindow redraw function to speed up the operation

dw_1.setredraw(false)
Sort the rows based on the prod_id column
dw_1.setsort("prod_id a")
dw_1.sort()
Define the appropriate Filter
dw_1.SetFilter("IsNull(prod_id[-1]) OR prod_id[-1] <> prod_id")
dw_1.filter()
Finally turn back on the datawindow redraw
dw_1.setredraw(true)

Make the ENTER key act as TAB key

First, define a user event to correspond with the pbm_dwnprocessenter event on a datawindow. Then in that event :
Send(Handle(this),256,9,Long(0,0))
RETURN 1

Memory usage with PB7 and MS SQL direct driver

The memory used on the client is very large during a connection and on disconnect it comes back down again.
The fix is to put something in the DBParm property of the SQLCA object. Something like "Application='MyApp'" or whatever. In the development environment, edit the connection properties and make sure something is in the Application Name or Workstation Name on the Network tab.

Display PDF into a Window

Insert the "Adobe Acrobat ActiveX control" OLE control on the window.
Then to load a document from Powerscript
ole_1.object.LoadFile("C:\realhowto-pdf")
With a tool to explore the pdf.ocx, there are more functions :
function LoadFile(none fileName: WideString): WordBool [dispid $00000002]; stdcall;
procedure setShowToolbar(none On: WordBool) [dispid $00000003]; stdcall;
procedure gotoFirstPage [dispid $00000004]; stdcall;
procedure gotoLastPage [dispid $00000005]; stdcall;
procedure gotoNextPage [dispid $00000006]; stdcall;
procedure gotoPreviousPage [dispid $00000007]; stdcall;
procedure setCurrentPage(none n: Integer) [dispid $00000008]; stdcall;
procedure goForwardStack [dispid $00000009]; stdcall;
procedure goBackwardStack [dispid $0000000A]; stdcall;
procedure setPageMode(none pageMode: WideString) [dispid $0000000B]; stdcall;
procedure setLayoutMode(none layoutMode: WideString) [dispid $0000000C]; stdcall;
procedure setNamedDest(none namedDest: WideString) [dispid $0000000D]; stdcall;
procedure Print [dispid $0000000E]; stdcall;
procedure printWithDialog [dispid $0000000F]; stdcall;
procedure setZoom(none percent: Single) [dispid $00000010]; stdcall;
procedure setZoomScroll(none percent, left, top: Single) [dispid $00000011]; stdcall;
procedure setView(none viewMode: WideString) [dispid $00000012]; stdcall;
procedure setViewScroll(none viewMode: WideString; none offset: Single) [dispid $00000013]; stdcall;
procedure setViewRect(none left, top, width, height: Single) [dispid $00000014]; stdcall;
procedure printPages(none from, to: Integer) [dispid $00000015]; stdcall;
procedure printPagesFit(none from, to: Integer; none shrinkToFit: WordBool) [dispid $00000016]; stdcall;
procedure printAll [dispid $00000017]; stdcall;
procedure printAllFit(none shrinkToFit: WordBool) [dispid $00000018]; stdcall;
procedure setShowScrollbars(none On: WordBool) [dispid $00000019]; stdcall;
procedure AboutBox [dispid $FFFFFDD8]; stdcall;
But there is no documentation about them. You can download a free SDK (you need to register) but I believe that you need the Acrobat package to fully use it.
http://partners.adobe.com/asn/acrobat/download.jsp#fullinstall

POWERMIGRATOR


PowerMigrator™ as a service is basically a combination of tool, process & methodology to migrate PowerBuilder application to J2EE or .Net platform based on the requirement.
PowerMigrator™ Components
PowerMigrator™ comprises of a tool (front-end GUI generator) and a Framework (Server side components and environment), which will work in conjunction or insync with each other.
PowerMigrator™ - The Tool
The PowerMigrator™ is a tool, which migrates the Power Builder client/Server application to the web with a minimal of effort. This tool automatically generates GUI components with the same look and feel of the Rich client depending on the required target platform, J2EE or .Net
The PowerMigrator™ tool environment also assists in segregating the business logic and data access logic which in turn will be deployed in the application server.

PowerMigrator™ - The Framework
PowerMigrator™ is a framework, which is deployed in the application server and the web server respectively. This framework will work as a core technology. The migrated business logic and data access logic component will reside on top of this core and work seamlessly to coordinate between web server, application server and database server.
The PowerMigrator™ framework also contains many pre-developed components such as report management, query generation, lookup generation, error handling, dropdown data population etc to name a few, which can be reused and customized according to the user requirement. The benefits are that it reduces the development and testing time.
PowerBuilder to Web
Migrate your PowerBuilder client/ server application to the J2EE based application retaining the look and feel, and functionality of your original application. Our automated process is inexpensive with a faster time to market.
PowerBuilder to .Net
If your organization's direction is in moving to the .Net Platform, we will help you, recover the investments made on PowerBuilder, by migrating your PowerBuilder application to the .Net platform.
PowerBuilder to VB.Net
PowerMigrator™ for VB.Net: - The tool, migrates the Power Builder client/Server application to VB.Net application. This tool automatically generates the WinForm for GUI from PowerBuilder window and Datawindow objects with the same look and feel of the existing PowerBuilder application, offering user friendliness. The GUI code generation will drastically reduce the development time while migrating to .Net platform.
The PM.Net (Framework), deployed in .Net server will take work in synchronization with the business components migrated from the original application.
PowerBuilder to ASP.Net
PowerMigrator™ for ASP.Net: - The tool, migrates the Power Builder client/Server application to .Net application. This tool automatically generates the WebForm for GUI from PowerBuilder window and Datawindow objects with the same look and feel of the existing PowerBuilder application, offering user friendliness. The GUI code generation will drastically reduce the development time while migrating to .Net platform.

The PM.Net (Framework), deployed in .Net server will take work in synchronization with the business components migrated from the original application.
Reference : http://www.ewaksoft.com/html/overview.html

PowerBuilder Maintenance , Performance and Tuning

Today's dynamic business environment requires that businesses update their applications continuously, thereby smoothly reflecting changing business processes. Taking into account that the PowerBuilder applications in most of the organizations are still legacy applications it is all the more necessary to maintain them. Ewak’s Application Maintenance services provide the legacy system maintenance and enhancement services to relieve your programmers to stay focused on enhancing your business requirements that are more crucial to your business. Statistics have proved that the application Maintenance, takes up a lot of time and your in-house resources, leaving them with little time to focus on developing and directing new strategies for your immediate business needs.
Outsourcing your Power Builder Application to Ewak:Ewak is a software company with core competencies in PowerBuilder over the last few years. The benefits of outsourcing your PowerBuilder application are
- Reduction in maintenance, support and enhancement costs
- Faster time to market for new initiatives
- Redeployment of your staff to other projects.
Some of our maintenance offerings:
- Maintenance
- Preventive and Corrective Maintenance
- Bug Fixing (Root Cause Analysis)
- Analysis and Problem Resolution
- 24 X 7 support
- Technical help desk support
- Code review
Production Support
- Monitoring of Environment.
- Database Backups.
- Remove Redundant tables.
- Account Maintenance.
Additional Services
- Upgrade the application from lower version of PowerBuilder to Latest Versions of PowerBuilder.
- We upgrade PowerBuilder version PB3.0, PB4.0, PB5.0, PB6.0, PB6.5, PB7.0,PB8.0, PB9.0 to the latest version PB11.0
Source : http://www.ewaksoft.com/html/pbmaintenance.html

Migrate your PowerBuilder Applications to WEB

Legacy applications are frequently large, monolithic and difficult to modify, and scrapping or replacing them often means reengineering an organization’s business processes (workflow) as well. Legacy migration is about retaining and extending the value of the legacy investment through migration to new platforms. Re-implementing applications on new platforms in this way can reduce operational costs, and the additional capabilities of new technologies can provide access to valuable functions such as Web Access to the client. Once migration is complete the applications can be aligned more closely to current and future business needs through the addition of new functionality to the migrated application. The goal of Ewak’s Power Migrator™ , migrating PowerBuilder™ to J2EE addresses the above business need. J2EE defines the standard for developing multi-tier enterprise applications. The J2EE platform simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically. Portability and scalability are also important for long-term viability. Enterprise applications must scale from small working prototypes and test cases to complete 24 x 7, enterprise-wide services, accessible by tens, hundreds, or even thousands of clients simultaneously Ewak’s Power Migrator™ enables the legacy PowerBuilder client Server application’s business code to be ported to the middle tier as components for portability and scalability

PFC Security Q and A

- How do I enable the PFC security service?
A common place to do this the pfc_postopen event of w_frame
gnv_app.of_SetSecurity(True) //Enable security service
- How do I force security to run on a particular object
Argument can be Window, GraphicObject, or DataWindow variable containing the window, DataWindow, or window control for which security is applied.
lb_rc = gnv_app.inv_security.of_SetSecurity(lw_frame)
- How do I initialize the security service?
When initializing the security service, the last argument is used if the user was not assigned to any other group.
inv_security.of_InitSecurity(SQLCA, ClassName(iapp_object), of_GetUserID(), “Default”) //Initialize the security service
- How do I enable security on each applicable window?
In the window open or pfc_preopen event
gnv_app.inv_security.of_SetSecurity(This)

Adding PFC Help to the PowerBuilder Menu

- In the development environment, right click on the menu and select “Customize”
- Click on the Custom radio button
- Drag a new icon to the spot on the menu
- A modal window pops up:
- Command line should have the following text: (note the location of the PFC help file on your PC may be different)
winhlp32.exe C:\Program Files\Sybase\PB6\pbpfc60.hlp
- Add Item Text
- Add Item Microhelp

Remove extra padding blanks in char column

If a char(5) column contains only "a", some drivers are returning "a " and some "a" with the extra spaces removed.
For example, the trimming is done with SQLServer or Access but not for DB/2 or Ingres DBMS. Padding blanks in Char column are Ok according to the ANSI SQL standard it may be easier to assume that extra right spaces are trimmed.
You can let PB do the job for you by adding this parameter in the PBODB60.INI file (in the Sybase Shared folders) :
PBTRIMCHARCOLUMNS='YES' in the section for your DBMS. With that setting, Pb will trim blanks in datawindows only.

Allow user:password in URL

The following URL syntax is no longer supported in Internet Explorer or in Windows Explorer after you install the MS04-004 Cumulative Security Update for Internet Explorer (832894):
http(s)://username:password@server/resource.ext
This change in the default behavior is also implemented by security updates and service packs that were released after the 832894 security update.
By default, this new default behavior for handling user information in HTTP or HTTPS URLs applies only to Windows Explorer and Internet Explorer. To use this new behavior in other programs that host the Web browser control, create a DWORD value named SampleApp.exe, where SampleApp.exe is the name of the executable file that runs the program. Set the DWORD value's value data to 1 in one of the following registry keys.
For all users of the program, set the value in the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\
Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
For the current user of the program only, set the value in the following registry key:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\
Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
To disable the new default behavior in Windows Explorer and Internet Explorer, create iexplore.exe and explorer.exe DWORD values in one of the following registry keys and set their value data to 0.
For all users of the program, set the value in the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\
Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
For the current user of the program only, set the value in the following registry key:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\
Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
ref Microsoft Article ID : 834489

Disconnect an inactive application

[application idle event]
gnv_app.event pfc_idle()

[appmanager contructor event]
Idle(3600) // that's 3600 seconds


[appmanager pfc_idle event]
IF SQLCA.of_IsConnected() THEN
SQLCA.of_Disconnect()
// HALT CLOSE the application
// or call the pfc_logon event
END IF

PowerBuilder wins Visual Studio Magazine Award Readers Choice Merit Award

Sybase announced that it has been recognized by Visual Studio Magazine with a Readers Choice Merit Award in the category of Software Design, Frameworks and Modeling Tools. The annual awards honor the best Visual Studio-focused tools in 22 categories, and the winners are selected by readers of Visual Studio Magazine. Winners are recognized in three overarching categories, including Readers Choice, Readers Choice Merit and Editors Choice. The Readers Choice Merit category, in which PowerBuilder was recognized, is reserved for products that received a high number of votes, and also demonstrated clear value to Visual Studio Magazine readers. The editors of the magazine note that the Readers Choice awards are particularly significant because they reflect the preferences of the actual users who have daily experience with a broad range of Visual Studio developer tools. The winning products were chosen because they help professional developers do their jobs more efficiently and cost-effectively.

SQL Anywhere for the BlackBerry

Sybase iAnywhere announced it will preview SQL Anywhere for the BlackBerry platform from Research In Motion at the Wireless Enterprise Symposium 2008, and deliver the product as part of the upcoming SQL Anywhere 11 release. With the release, SQL Anywhere’s proven mobile database and synchronization platform is extended to the BlackBerry platform, providing application developers the ability to develop data rich applications for the frontlines of their business.


SQL Anywhere, with over 10 million deployed licenses and powering thousands of embedded and mobile database applications, now offers the increasing number of BlackBerry developers a full SQL relational database and data synchronization client. Developers now will be able to build powerful mobile-centric line-of-business applications such as field service, CRM, asset management, and survey applications on the BlackBerry platform, and integrate them with enterprise systems. Highly mobile industries — from healthcare to transportation/logistics — will benefit from the ability to approve work orders, check inventory and manage customer data in the field and on the go.

SQL Anywhere ADO.Net 3.5 provider

Sybase iAnywhere continues its long-standing commitment and early release of .NET enhancements, announcing delivery on its promise to support ADO.NET Entity Framework and LINQ to Entities. .NET developers can download the SQL Anywhere(R) Entity Framework and ADO.NET 3.5 provider by registering for the SQL Anywhere 11 beta.


SQL Anywhere, with over 10 million deployed licenses and powering thousands of embedded and mobile database applications, is enabling .NET application developers to remove complexity and increase productivity by using .NET objects and IntelliSense. Developers can use the Entity Data Model Designer to define a stable, secure object database layer for their Windows and ASP.NET applications, avoiding SQL statements, complex joins, and parameter binding.

Speed in Development. Speed in Deployment. Speed in Performance.


PowerBuilder 11.2 will be available shortly and we are holding a Web seminar with John Strano to highlight the key features of this release. During this Web seminar, John will show you the new capabilities found in PowerBuilder 11.2 that bring increased performance to your mission-critical applications, including using AJAX and .NET development to EAServer. In addition, John will show you a range of as well as database, UI, and usability enhancements.

The PowerBuilder 11.2 webcast will cover:


Certificate Store Support for Smart Client-published Applications
Usability and UI Enhancements
Database Connectivity Enhancements
Enabling the DEBUG Condition for ORCA and OrcaScript
Application Pools for Web Forms in IIS7
EAServer Support for .NET-deployed PowerBuilder Clients
AJAX Functionality for WebForm-Deployed Applications

Monday, November 17, 2008

Sybase PowerBuilder Takes Honors in Mobile Star Awards

Sybase took honors in several categories of the Mobile Star Awards, including a Gold in the Application Development category for PowerBuilder.

Application Development
Gold Star - Sybase PowerBuilder

Database
Gold Star - Sybase SQL Anywhere

Email
Silver Star - Sybase iAnywhere - Mobile Office

Middleware
Gold Star - Sybase iAnywhere Suite

PowerBuilder in a .NET World seminars in Australia

PowerBuilder in a .NEW World seminars will be held Friday November 14th in Sydney and Thursday November 20th in Melbourne.

Also, special Moving to PowerBuilder 11.5 Masterclasses will be held in Sydney and Melbourne.
PowerBuilder Advanced Development Tour :

PowerBuilder 11.5 just came out and Sybase will share how the new features and capabilities will help accelerate your development, bring aesthetic enhancements to your PowerBuilder applications, and simplify .NET development at the PowerBuilder Advanced Development Tour. So far the dates include:

Washington DC: November 13th 2008 at the Hyatt Regency
Boston: November 19th at the Burlington Marriott
New York City: November 17th 2008 at the Grand Hyatt

PowerBuilder Accelerated Development Tour

Sybase hitting the road to bring the latest in PowerBuilder news, code, and goodies to you.

PowerBuilder 11.5 just came out and we want to share how the new features and capabilities will help accelerate your development, bring aesthetic enhancements to your PowerBuilder applications, and simplify .NET development. We are also working fast and furiously on delivering PowerBuilder 12, which blend the Visual Studio Isolated Shell with the prowess of DataWindow and PowerBuilder technology. Fresh from the labs, we will give you a sneak peek of arguably the biggest news for PowerBuilder since its inception: PowerBuilder 12.



Detailed Overview of Topics

PowerBuilder 11.5
The release of PowerBuilder 11.5 brings a multitude of new capabilities and features that will help accelerate your development, bring aesthetic enhancements to your PowerBuilder applications, and simplify .NET development. Topics covered will include DataWindow® innovations, Native ASE 15, SQL Server® 2008, and Oracle 11g drivers, .NET enhancements: Strong Named Assemblies and IIS7 Support, Security features such as.NET CAS and FDCC, and new premiums included with PB Enterprise: PocketBuilder™ and PowerBuilder Application Server Plug-in.



Sneak Peek at PowerBuilder 12
We're going to cover the new exciting and revolutionary features being built into PowerBuilder 12 including:

Visual Studio Isolated Shell
Front to back WPF
Fully Managed Code @ Runtime
WPF DataWindow
WCF Support
Latest in Web Services technologies
Oracle, Sybase, Informix, and SQL Server Support

Wednesday, October 22, 2008

Novalys PowerBuilder Survey 2008: First results available!

Dear PowerBuilder users,
As every year we hold a worldwide survey about PowerBuilder.
Take the survey now and see the 2007 results and a preview of 2008 answers!Last year's results show:- How PowerBuilder projects have evolved between 2001 and 2007- How large projects differ from small ones in terms of architecture- How .NET is now beatting with Java on the field of New technolgies- How many PB projects are also developing .NET applications
Let's keep up with the evolution of PowerBuilder!
Do not hesitate to forward this email to your colleagues concerned with PB.No doubt they will be interested!
Sandra LEVYNovalys - SYBASE Partner since 1995http://www.visual-expert.com

Appeon 6.0 for Powerbuilder


Appeon 6.0 for PowerBuilder is the most powerful and flexible version to date.
Appeon 6.0 for PowerBuilder is the most powerful and flexible version to date. Now it enables you to develop and deploy extremely complicated PowerBuilder applications to both Java and .NET platforms. There is no easier or faster approach to develop robust user-friendly business applications.

New features in Appeon 6.0 include:

- Build .NET-based Web Applications
- Deploy Java-based Web Applications to Linux
- Deploy to Java & .NET With a Single Application Profile
- Support Web-enabling All DataWindow Presentation Styles (except OLE)
- Support Web-enabling All UI Controls
- And many other enhancements on functionality and performance

This new release is compatible with:
- PowerBuilder 11.1 or previous versions
- All Popular Operating Systems, Application Servers, and Databases

Visit Appeon Website (http://www.appeon.com/) or contact local Appeon resellers to get a free trial today!

Appeon 5.1 for PowerBuilder


Appeon transforms PowerBuilder enterprises to the Java or .NET Web platform. No need to retool your PowerBuilder development team and force them to work with less productive tools. No need to throw away man-years of investments in your existing PowerBuilder applications. No need to retrain your end-users to work with a foreign and inferior user interface. From the enterprise developer to end-users, everyone pumps out the superior 4GL productivity that is hallmark of PowerBuilder.

The Appeon Approach
Appeon for PowerBuilder enables developers to rapidly transform PowerBuilder Client/Server applications into Web applications that deployment to the Java platform. A complete set of PowerBuilder-equivalent visual objects and controls are available for replicating the rich Client/Server-style UI on the Web.

Thousands of PowerBuilder properties, functions, and events can be used to make the application come alive. Support for event-driven and object-oriented programming models, including support for inheritance, encapsulation and polymorphism, further boosts Web development productivity. Using Appeon for PowerBuilder, enterprises can maximize the potential of their PowerBuilder source code and greatly decrease the development cycle and resources needed to build and maintain the enterprises' Web applications.

For Independent Software Vendors (ISVs)

- Transform your existing Client/Server product portfolio into true n-tier Web applications in just a few months
- Enhance your existing product portfolio with new Web products in just weeks or months
- Differentiate your offering by offering the richest and most productive Web application UI
- Standardize on one code base for both Client/Server and Web
- Integrate your Web products with other desktop and Client/Server applications seamlessly
- Communicate with desktop hardware and peripherals unlike typical Web applications
- Reduce your customers' application deployment/maintenance costs and headaches

For PowerBuilder Enterprises

- Embrace the .NET and Java faster than any other option
- Extend the life of your mission critical applications for years to come
- Eliminate developer retooling costs, downtime, and the on-going productivity loss of using less productive development tools
- Eliminate user retraining costs, downtime, and the on-going productivity loss of moving to inferior page-based Web application interfaces
- Simplify IT complexity and reduce deployment costs
- Minimize the risk of project delay, budget overruns, or worse

For Software Developers
- Instantly begin embracing the .NET and Java without any learning curve
- Enjoy the unbeatable productivity of PowerBuilder and rich Client/Server UI in building Web applications
- Do the work of at least 4 typical Web developers or just work 2 hours a day and still look like a star
- Focus on building application business logic rather than wasting time on mundane and technical details
- Deploy your existing PowerBuilder projects to the .NET and Java platform
- Take advantage of powerful Web technologies including Web Services, XML and JMS

REX (Runtime Explorer ) for Powerbuilder

Automatic Source Change from Runtime!

Your applications evolve continuously. Now you can explore and change them at runtime, leaving it to Rex to update your source code... safely and automatically!

Move/resize controls, change properties/object scripts/DW SQL state-ments... and see the effects immediately at runtime. After appropriate review, just confirm and, like magic, the relevant source code will be changed for you. You can even add new code in the same way. No more frustrating iterations between designtime and runtime. Get it right first time!

Standard plug-ins to explore and fix problems in the development cycle: activate ObjectX, PropertyX, Layout.
Other plug-ins to trace bugs, even without access to the source code, by analyzing the content of DataWindows and DataStores: use BufferX, DWExport, DWSnapShot.
Reporting plug-ins (Put a Note, Img Capture) to identify the exact library, control/ DWO, for precisely commenting on specific PB objects.

Need more? New Rex plug-ins are being released all the time, but you can also write your own and benefit directly from Enable's new automatic source change technology.

Looking beyond development work, Runtime Explorer can be licensed for distribution royalty-free together with your live applications (subject to access controls), in order to expedite technical support activities.

More about Rex
Enable Runtime Explorer (or simply Rex) is a runtime component that helps developers with their development, debugging and technical support work. The introduction of our new Automatic Source Change technology means that those frustrating iterations between runtime and designtime are now ancient history! Read the article in PBDJ!

Enable Source Change
Security and accuracy are a priority for automatic source changes. Each code change is a documented ESC transaction, so it can be undone and repeated. Before each modification, the relevant libraries are automatically backed up by ESC. SCC systems are also supported, with automatic check-out if desired.

ESC’s sophisticated parser easily identifies the code to be changed, checking the consistency of old values to avoid possible conflicts with concurrent developers. In addition, ESC overcomes tolerance issues to ensure the accuracy of move/resize coordinate changes.

New Development Cycle

Working in runtime, you often find problems with the business logic, properties, SQL statements, the user interface etc. Before now, this marked the start of the trial-and-error cycle:

- observe the unsatisfactory result
- exit, abandoning the current state
- make best-effort code changes
- run the application, log in and re-open the necessary windows (thus restoring the state of the application)
- repeat until happy (…or exhausted!)

Rex eliminates this trial-and-error effort, improving productivity and accuracy. Now you see the problem, fix it with Rex, review your changes and then let ESC apply them automatically to your source code. It really is that simple! Click here to see the rolling demo.

An example using BufferX

You’re working on your application and, inevitably, you find something that doesn’t ring true. Is it a bug? Maybe the data? Wouldn’t it be good to find out what is going on immediately, without having to exit and return to design mode? Now you can!

Take this example: your graph looks odd and you want to understand the data behind it. You need BufferX…


Graph with Rex already activated

Here is the data held in the primary buffer:


BufferX takes a look inside the primary buffer

Now it’s clear! Philip Chin has transferred from Sales to Marketing (with a raise), but the database hasn’t been updated. We can fix this easily… by updating the primary buffer in runtime!


The changes made to the primary buffer are highlighted


Updated graph and summary of BufferX activity

That’s better! But just imagine the process you would have gone through to make and check this simple change without using BufferX… Rex offers many opportunities of this kind to save you time and effort.

Users

Who uses Enable Runtime Explorer?

Developers: understand the nature and structure of windows; eliminate the trial-and-error cycle, simulating the effects before automatically changing the source code; find and deal with bugs faster

Trainers: demonstrate the behavior of properties; show how status/buffers work; show the architecture of windows and methods, before going into detail

Test Engineers: understand the nature of problems; document issues more effectively and precisely

Technical Support: gather information about issues directly when they arise; deal with critical situations and accurately document them for further analysis by the development team.

Tuesday, October 21, 2008

Enable for PB


Enable is a tool used by PowerBuilder developers to make their applications multilingual.

Using Enable, developers can usually upgrade a simple, monolingual PowerBuilder program with just a few changes to the original code. Excluding translation time, your software can become ready for distribution, with its own multilingual database (.ena) and the royalty-free Enable engine (various .dll and .pbd files), in a matter of hours!

Adding new languages or altering translated text is easy. Just update the multilingual database: no further changes are needed to the source or executable codes.

Enable provides a comprehensive solution for the localization of PowerBuilder applications, covering all properties of all controls, as well as every type and style of DataWindow and MessageBox. This means that even the most complex software can be localised: nested tabfolders, parametric messages and calculated fields? No problem!

Reports can be translated and printed in several languages simultaneously, even without changing the user interface.

Benefits :
Allow end-users to work in their preferred language (multilingual interface)
Reduce development time to market and cost of localising applications (no multiple builds,
elimination of functional quality assurance), managing the whole process directly
Deploy in several languages simultaneously, add languages at any time
Streamline maintenance (single source code) and distribution (single executable code)
Expand commercial markets for existing applications quickly and easily
Extend life-cycle of existing applications
Support national ethnic groups / regional language differences
Enter exotic / niche markets with minimum investment

Features :
Dynamic change of displayed language: high-performance engine, full developer control
Simple, fully-integrated enabling of source code (once only, low profile)
Change of language even after window is opened (both displayed and non-displayed elements,
e.g. text files)
Developer can decide which parts / controls should be translated
Supports all versions of PowerBuilder
Prints in desired language, without resetting current language
Supports all character sets
Stand-alone tools for assisted translations (merges work of multiple translators)
Modifies translations / adds languages without rebuilding enabled applications
Optimised language database protected from unauthorised changes
Simple distribution: just install libraries and language database (no DBMS necessary)
Developer license: multi-project, no runtime royalties

Use Cases :
Work in preferred language: multilingual employees, international branches, personnel visiting
from abroad
Print invoices (as well as fiscal and other documentation) in the language of the client / supplier
Change the current language instantly and temporarily to demonstrate the application and its
results without interrupting the user session: inspections (audit, quality), external consultants,
visits from suppliers/clients, technical / user support
Generate technical logs in the language of support personnel
Send translated messages to mobile devices (mobile phones, portable terminals)

Visual Guard for PowerBuilder

What is Visual Guard?
Visual Guard is a tool designed for managing user profiles and permissions in PowerBuilder applications. With Visual Guard, you determine what each user can do, see and modify.Administrative tools simplify the daily management of users and their permissions.No need to change the application code: Visual guard dynamically changes the application’s behavior according to the user profile.Visual Guard supports PowerBuilder up to version 11, as well as PowerBuilder code migrated to .NET applications (Winforms and ASP.NET Webforms).


Authentication in RBAC consists of verifying the identity of the user through a two step process:
• Identification: Stating who you are;
• Authentication: Proving who you are.

Two types of needs:

• You may need to create a list of user accounts/passwords from scratch.
• You may already have Windows accounts stored in Active Directory and need to re-use it at application level.

The solution:

Visual Guard PowerBuilder supports login/passwords authentication.
A user account declared in Visual Guard is available for all your PowerBuilder applications.

It supports the following authentication modes:
• Visual Guard Accounts (created and managed by Visual Guard)
• Windows Accounts (local account or Active Directory account) (coming soon)

- Windows accounts/Active Directory

If you use the Windows authentication mechanism, passwords are created, stored and administered in Active Directory. You will be able to re use Windows authentication mechanism to identify users of your applications, and then assign Visual Guard profiles and permissions to this user.

- Single sign-on

If you use Active Directory to manage user accounts you may want to implement a single sign-on process: once a user is logged on in a Windows session, any application opens without asking for further credentials.
Visual Guard supports Single Sign-On configurations for Windows accounts.

- Visual Guard PowerBuilder Accounts

Visual Guard PowerBuilder has its own membership provider to manage user accounts and passwords.
Credentials are stored in the Visual Guard repository.



What type of permission can Visual Guard manage?
How Visual Guard PowerBuilder does defines permissions?

Permissions define what a user can do in an application:
Basically, you define what the user is allowed to see, do and modify in your applications based on his profile.
Specific words are used to define permissions: authorization, Rights, Restrictions, Privileges…

There are two ways of defining permissions:

The most secure way is to forbid everything by default, and then grant permissions to allow possibilities.
This way, if you forget to define a permission, the user won’t be able to do something he should, rather than accidentally do something he shouldn’t.

The faster way is to allow everything by default, and then you assign restrictions to forbid some actions.
This way is faster because typically there are fewer restrictions than permissions.
But as a result you usually end up with a role based access solution that is complex, costly to maintain and difficult to update.

The need:

By default, an application includes code that defines the permissions to run it. But this means that each time you define a permission, you need to go through the entire development process again (specification, coding, testing, deployment, etc).

This is a sharp issue because:
Applications typically are updated only every 2 or 3 months, whereas permissions can require much more frequent updates.
Bridging the gap between the functional requirements and permission’s technical implications can be very time consuming.
Complex permissions are often identified only when the application is in production, requiring an immediate fix.

The solution: Modify dynamically your applications

With Visual Guard PowerBuilder, you do not write code in the application to define permissions. Your code is dynamically modified in runtime.
You can create or modify permissions without going through the entire development cycle of coding, testing, deploying, waiting for feedback…
You can define permissions any time, even when the application is in production. They are effective immediately.

What types of permission can Visual Guard manage?

There is no limitation on what permission you can implement with Visual Guard. Any change you want to make in your PowerBuilder application and any restriction are possible.
For instance, you can:
Hide or disable fields, menu options, tabs, controls…
Switch a Window into “read only”
Filter data in a list
Modify business rules…

How Visual Guard PowerBuilder does defines permissions

Visual Guard can list all the objects and their properties. The developer uses the Developer Workshop to identify the object related to the permission and assign a new value to one of its properties (like “visible” = “false” if you want to hide a control). This permission definition is then stored in the Visual Guard repository. The application code remains unchanged. Visual Guard modifies the application at runtime according to this permission.

How to Combine Authentication and Permissions?

• Do you need to verify the identity of end users and control their access to your applications?• Do you need to Manage Authentication and Permissions in a single solution?• Are you looking for a ready-to-use solution to manage the security of your applications?
If so, discover Visual Guard and save months of complex developments!Visual Guard is an all-in-one solution to combine end-users authentication and permissions. Authentication: you can verify user's Identify with Active Directory accounts (Single Sign-On available) or manage username & password accounts.Permissions: Define roles and permissions without coding.Audit: Generate automated reports about the security of the application.
Integration is fast and easy: it only takes a few lines of code.Administration tools let you delegate Users accounts Management to non technical staff.All PowerBuilder and .Net applications are supported (Winform, Webform, Webservices, WCF, WPF…).Try Visual Guard now! • Read more about Visual Guard for PowerBuilder... • Read more about Visual Guard for .NET...

Do not hesitate to contact us should you have any questions.Sandra LEVYNovalys - Sybase and Microsoft Partnerhttp://www.visual-guard.com

Thursday, October 16, 2008


Dear PowerBuilder Developer:

DEV633: Fast Track to PowerBuilder Part II is perhaps the most important step you take in your training towards a level of expertise that will allow you to learn how to use PowerBuilder to build and deploy fully functional applications using its more advanced features. The course will be taught on PowerBuilder 11.5. However, most of the features you will learn will be available to you in earlier releases of PowerBuilder (for instance, PowerBuilder 9, 10 and 11) - so regardless of the release on which you are working, you will be able to continue to improve your skills by learning PowerBuilder development best practices for advanced client/server application development.

This intensive hands-on, instructor-led training class will give you access to a certified instructor, along with other near-expert level PowerBuilder client/server developers like yourself - whose goal is to learn PowerBuilder’s more advanced and powerful features. Register Now!

Schedule:

October 6, 2008 (Dallas, TX)
October 13, 2008 (Bethesda, MD)
October 20, 2008 (Albany, NY)
October 20, 2008 (SyberLearning LIVE)
November 3, 2008 (Atlanta, GA)
November 10, 2008 (Ottawa, CAN)
November 17, 2008 (Chicago, IL)
December 1, 2008 (Irvine, CA)
December 1, 2008 (Manhattan, NY)
December 8, 2008 (Albany, NY)
December 8, 2008 (Bethesda, MD)
December 8, 2008 (SyberLearning LIVE)
December 15, 2008 (Dublin, CA)
December 15, 2008 (Boulder, CO)
February 2, 2009 (SyberLearning LIVE)

TechWave 2008 response to PowerBuilder 11.5 training was the best ever!

PowerBuilder 11.5 training at TechWave Pre-Conference left developers excited and wanting to know more about PowerBuilder 11.5. If you have already attended any previous release of the "Fast Track to PowerBuilder Part II" class, you can still get the new PowerBuilder 11.5 training you need by attending our new "DEV545: Moving to PowerBuilder 11.5" class.

Moving to PowerBuilder 11.5 Course Description:

Gain hands-on experience with all the new features in PowerBuilder 11.1, 11.2 and 11.5. Learn about the .NET enhancements such as the AJAX functionality that was added to WebForms, .NET target integration with EAServer 6.1 and the ability to perform incremental or full builds of .NET targets. You can also interact with Web Services in WinForm and WebForm applications now. PowerBuilder 11.5 will allow you to create Strong-named assemblies that are digitally signed as well as build applications that can be run in partial trust environments. PowerBuilder 11.5 will also allow you to configure CAS (Code Access Security) security zones for .NET targets, minimizing the amount of trust needed before an application or component is run by an end user. View full Course Description for all topics. Register Now
http://www.sybase.com/detail?id=1057829

Wednesday, October 15, 2008

Visual Expert for PowerBuilder

Visual Expert for PowerBuilder detailed features :
CODE EXPLORATION PowerBuilder Components After analysing your project, Visual Expert can list in a treeview:
* The PBL included in the application and the components of each PBL
* The PowerBuilder object - by type - included in the application (all the DW of the project for instance).
* The controls, functions, events, attributes, variables, parameters defined in a PowerBuilder object.

While exploring the code in the treeview, you can also display:
* The container of the selected item (for example, the PBL containing an object, the object containing a control, the control containing an event or the event containing a local variable,...)
* The containier hierarchy (the list of all successive containers of an item). For instance, the container hierarchy of an event may display the Control/Objet/PBL/Projet where this event was defined.

You may display in the treeview some information about menu objects:
* The complete hierarchy of the menu options defined in a menu object.
* Same hierarchy, plus all events defined for each menu item.

Database
Components While analyzing your code, Visual Expert will find all references to database items.
Therefore, you can list in the treeview:
* The database tables referenced by the PowerBuilder code (both from Datawindows and embedded SQL)
* For each table found, you may list the columns referenced by the PowerBuilder code.
* The stored procedures called by the PowerBuilder code (both from Datawindows and PB scripts)

If your application is also composed of DB code (PL/SQL or Transact-SQL), Visual Expert finds all references to tables, columns and stored procedures from this DB code.
See Visual Expert for Oracle, Visual Expert for Sybase ASE or Visual Expert for SQL Server pages for more details.

You can have a global overview of your project (PowerBuilder + DB code) by installing the appropriate versions of Visual expert on the same machine. For instance, if your application is composed of PB code and sybase stored procedures, you may combine Visual Expert for PowerBuilder and Visual Expert for Sybase ASE or Visual Expert for SQL Server on the same PC.
SQL Queries After analysing your project, Visual expert may display several lists of Procedure:
* SQL statements defined in the application
* SQL statements containing a given string (text search focused on the SQL statements of the project).
* SQL statements by access type (select, insert, update or delete Statements)
* SQL statements by definition type (defined in PowerBuilder Script, Datawindow, Transact-SQL code(1) or PL/SQL code(2) ).
(1) requires Visual Expert for Sybase ASE or Visual Expert for SQL Server
(2) requires Visual Expert for Oracle

Inheritance
dépendencies Visual Expert analyses all inheritance dependencies. As a result, you can display:
* The direct descendants (childs) of a PowerBuilder object
* The descendant hierarchy (multi-level treeview of all successive descendants objects). For instance, you can get the complete inheritance hierarchy of your application, including Framework and business objects.
* The direct ancestor of a PowerBuilder object
* The complete ancestor list of an object (all successive ancestors of a given object).

When an object is inherited, the scripts defined in this objects may be modified in the descendant Object.
In such a situation, Visual Expert keeps track of the "inheritance" relationship between the "ancestor" and the "descendant" script.
String search You may search for a string in your project. Several options are available:
* Global Search in the whole project (including PowerBuilder Code, PL/SQL, Transact SQL, SQL files, ...)
* Search restricted to a given type of component (For instance, you may search in Windows only).
* You may search in the name and/or the source code of components.
* You use regular expressions in a search (click here to read about regular expressions)
* You may search into a selection of components (for instance after selecting some procedures in the treeview).
Dll Calls While analyzing your PowerBuilder code, Visual Expert will find all referencies to dll functions.

As a result, you can list in the treeview:
* The dll used by the application
* For a given dll, which dll functions are declared in the PowerBuilder code
* For a given dll, which PowerBuilder objects are declaring the dll functions
* For each dll function declared in PowerBuilder, all PowerBuilder references to this dll function
(Impact analysis in the PowerBuilder application on a dll function).
System and
Application
Globals
* List of the Global variables declared in the PowerBuilder application (name+number of calls to each variable)
* List of the Global functions defined in the PowerBuilder application (name+number of calls to each function)
* List of the system properties referenced in the PowerBuilder code (e.g. visible, title, with...)
* List of the system functions referenced in the PowerBuilder code (e.g. close, opensheet, setpointer...)

Reference : http://www.visual-expert.com

Team Foundation Server Version Control for Powerbuilder

The Visual Studio Team Foundation Server MSSCCI Provider enables integrated use of Team Foundation Version Control with products that do not support Team Explorer integration.

This version (1.2) includes:


- Enable handling branched solutions in Visual Studio 2003.

- Fixed issues to enable provider to support Toad for SQL Server 2.0.

- Enhanced the "Choose Folder in Team Foundation Server" dialog.

- Fixed bug which prevented Properties Dialog from displaying local path.

- Work Items Query list in the Checkin Dialog is loaded and saved on the disk.

- "Get" operation performance improvements.

- Defect fixes


The TFS MSSCCI provider plugs into a great many IDEs but, for now, only a subset of them will be supported by customer support. Visual Studio Team Foundation Server MSSCCI Provider.msi on a computer with one of the following products:

Visual Studio .NET 2003
Visual C++ 6 SP6
Visual Visual Basic 6 SP6
Visual FoxPro 9 SP1
Microsoft Access 2003 SP2
SQL Server Management Studio
Sparx Systems Enterprise Architect 6.1
Sybase PowerBuilder 10.5
Toad for SQL Server 2.0

Microsoft Unveiled Visual Studio 2005 Team Foundation Server MSSCCI

Microsoft has made available for download an upgraded version (build 1.2) of the Visual Studio 2005 Team
Foundation Server MSSCCI Provider, designed to deliver integrated use of Team Foundation Version Control
for the products that lacked Team Explorer integration support. "This tool enables a wide range of IDEs to
access TFS. It is available for download and is for use by anyone who owns a Team Foundation Server
Client Access License CAL either by purchasing a VSTS role product (e.g. Visual Studio Team System for
Developers) or by purchasing a CAL directly," revealed Brian Harry, Microsoft Product Unit Manager for
Team Foundation Server.What this means is that - via the enhancements introduced in this upgrade -
multiple integrated development environments will be able to access Microsoft's collaboration server and
benefit from application life-cycle management. The Visual Studio 2005 Team Foundation Server MSSCCI
Provider enhancements will enable branched solutions in Visual Studio 2003 and support for TOAD for SQL
Server 2.0. Apart from these extensions, Team Foundation Server MSSCCI Provider also resolved numerous
issues from the past version, including the bug in Properties Dialog."The biggest improvement is in the area
of branched projects. The experience is still not perfect but it is dramatically better than it was. The one
issue that remains is that the first time you open a project/solution after branching it, you need to use Open
from Source Control (can also be done by double clicking on it in the Source Control Explorer) rather than
opening it from your local hard drive. This has to do with the way the underlying MSSCCI infrastructure
works in Visual Studio and allows VS to fix up some of its references," added Harry.Microsoft additionally
revealed that the supported IDEs have also been extended to comprise:Visual Studio 2003 Visual Basic 6.0,
SP6 Visual C 6.0, SP6 Visual FoxPro 9, SP1 Visual Studio .NET 2002 Microsoft Access 2003, SP2 SQL
Server Management Studio 2005 Sparx Enterprise Architect 6.1 Sybase PowerBuilder 10.5 TOAD for SQL
Server 2.0
Page

Sybase Announces Availability of Sybase PowerBuilder 11 for .NET in India

New Version Enables Fast and Easy Deployment of Data-Driven Applications
Sybase Software (India) Pvt Ltd. ("Sybase India"), one of the leading providers of enterprise infrastructure and mobile software, today announced the availability of Sybase® PowerBuilder® 11, the premier 4GL rapid application development (RAD) tool in India. Building on its strength in quickly developing data-driven applications necessary to critical business functions, PowerBuilder 11 provides PowerBuilder developers with the simplest, easiest and most cost-effective way to deploy applications on the .NET platform.
PowerBuilder 11 dramatically simplifies .NET development and is part of Sybase's plan to deliver robust support for the .NET framework. With this release, PowerBuilder 11 provides developers the flexibility to deploy applications as .NET Windows® Forms, Web Forms, and .NET Smart Clients, as well as develop traditional client server business applications and Web Services.
PowerBuilder 11 continues to support integration with J2EE™ environments and Win32® applications. Integration with the leading development platforms provides a more open, flexible environment for developers with heterogeneous platform requirements. PowerBuilder also offers increased productivity as it enables less complex coding and shorter development cycles than applications built with 3GL level tools.
"PowerBuilder's speed and flexibility means customers can develop business critical applications for use anytime, anywhere," says Dave Fish Technical evangelist at Sybase, Inc.
Based on technology so powerful it holds several patents, DataWindow .NETTM helps you rapidly build and deploy data driven applications, easily incorporate your complex business rules and deliver sophisticated data presentation. Sybase's DataWindow .NET includes a highly productive 4GL development environment that is used in tandem with Visual Studio .NET or any .NET development environment to build robust presentation layers for data-driven applications. DataWindow .NET is designed to simplify and accelerate the creation of enterprise class, data-driven applications, whether they are rich client, smart client, mobile or wireless applications. DataWindow .NET is designed to help with the standard data access components in a .NET framework and development environments that require tedious, time consuming coding.
DataWindow .NET provides a set of plug-ins that enable developers to create their DataWindows inside of Visual Studio .NET without ever having to leave the IDE. And, with a new Web services DataWindow, you can easily access, manipulate and display data from Web services.
PowerBuilder 11 incorporates new and emerging technologies that enable you to build traditional two-tier applications, distributed applications, Web applications and Smart Clients with speed and ease.
New features in PowerBuilder 11 include the following capabilities:
• Deploy PowerBuilder non-visual objects (NVOs) as .NET assemblies and .NET Smart Client applications
• Deploy PowerBuilder NVOs as Web Services and PowerBuilder applications to the Web quickly using ASP.NET
• Support for Microsoft® SQL Server™ SNC and Oracle® 10g RAC
• Ability to use Web Services as a data source for DataWindow®
Marking the India launch of PowerBuilder 11.0 is a road show across 5 cities in India, namely, Delhi, Ahmedabad, Mumbai, Bengaluru and Chennai. Presenting at these interactions will be Dave Fish & John Strano, our two very experienced Technical evangelist at Sybase, Inc. who have been working on PowerBuilder for the last 14 and 16 years respectively.

Sybase unveils PowerBuilder 11.5

Sybase Inc.,The company revealed plans for its PowerBuilder 11.5 tooling at its annual TechWave User Training and Solutions Conference in early August. Despite its legacy as a 4GL RAD tool dating back to the client/server era, PowerBuilder remains a strong presence. Moreover, Sybase has continued updating it to take advantage of the .NET Framework.
The new version of the Dublin, Calif.-based company's tool, PowerBuilder 11.5 for .NET, will sport a more visually appealing user interface, native driver support for Microsoft's newly released SQL Server 2008 and Oracle 11g databases, a plug-in for third-party app server deployment directly from the PowerBuilder IDE and added security-compliance features.
That app-server plug-in also allows PowerBuilder objects to be deployed to JEE application servers, where, the company says, "they will act just like EJBs." The PowerBuilder 11.5 package will include PocketBuilder for agile Windows Mobile development and deployment.
On the Right Track
At the heart of this release is Sybase's commitment to "continuous, timely updates in tandem with releases of Microsoft technologies for .NET, including support for Strong Named Assemblies, access to .NET static, primitive and enumerative classes and support for IIS7." In fact, that's the reason we're seeing a ".5" release right now, says Sue Dunnell, product manager for Sybase's PowerBuilder group.
"Even though it has '.5' in the name," Dunnell says, "this is a major release. We were set to go with version 12, but we've been working closely with Microsoft and we learned about their commitment last year to the Windows Presentation Foundation [WPF], and we decided that it made more sense to our PowerBuilder customers to give them the ability to leverage this Microsoft technology now -- especially as it was clear they wouldn't be enhancing WinForms and WebForms technologies as much anymore."
Sybase appears to be on the right track, says Gartner Inc. analyst Mark Driver. "WinForms is as close to legacy .NET as we have today," Driver says. "Most of the new stuff going forward is going to be around WPF. With that said, they've got a long way to go, and WinForms isn't going away anytime soon."
Back in 2002, Sybase implemented a four-phase plan to support .NET with PowerBuilder, Dunnell says. Starting with version 9, the company added Web services support; version 10 saw the DataWindow integrated with the .NET Framework; and version 11 allowed users to deploy their PowerBuilder business logic as a .NET assembly, consume .NET assemblies, and deploy entire applications as .NET WinForms or WebForms.

New in PowerBuilder 11.5
• Improved user interface
• Native driver support for SQL Server 2008 and Oracle 11g
• Plug-in for third-party app servers directly from the IDE
• Added security and compliance features
• PocketBuilder for agile Windows Mobile development
• Windows Presentation Foundation support
--J.K.W.
"This is a release that focuses on core Data Windows enhancements and .NET enhancements and functionality, as well as the typical updates you'd expect in any PowerBuilder release," Dunnell says.
Among the new DataWindow enhancements in this release are features designed to allow developers to create more visually appealing, data-driven applications with 3-D chart rendering, special gradient and transparency features, support for .PNG files, and Rich Text Edit style for columns.
Key New Capabilities and Developer Benefits Include:
• PowerBuilder for .NET - continuous, timely updates in tandem with releases of Microsoft technologies for .NET, including support for Strong Named Assemblies, access to .NET static, primitive and enumerative classes, and support for IIS7.
• New DataWindow Innovations - developers can create even more visually appealing, data-driven applications with advanced 3D chart rendering, special gradient and transparency features, support for PNG files, and the addition of Rich Text Edit style for columns.
• New Native RDBMS Drivers - new native driver support for SQL Server 2008 and Oracle 11g facilitates utmost developer efficiency and productivity.
• Flexible Deployment Options - PowerBuilder 11.5 will include an Application Server Plug-in for third-party application server deployment directly from the PowerBuilder IDE. Now, PowerBuilder objects can be deployed to JEE application servers where they will act just like EJBs. Furthermore, PowerBuilder 11.5 will also include award winning PocketBuilder for agile Windows Mobile development and deployment.
• Simplified Security - will enable delivery of applications that meet today's protection, compliance, and integrity needs with support for the US Federal Desktop Core Configuration (FDCC), a security standard where users are restricted to work only in a standard user context without elevated system administration privileges. In addition, PowerBuilder 11.5 comes with support for CAS (Code Access Security), which allows .NET applications to run in partially trusted zones.
Custom Search