Sunday, December 11, 2011
Tuesday, November 29, 2011
Those already familiar with SQLite will know that it is a single user, self-contained transactional SQL database engine that does not require a server or any installation or configuration.
The SQLite gateway is integrated in uniPaaS and available with every installation of uniPaaS. SQLite can be thought of as a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite claims to be the most widely deployed SQL database engine in the world and the source code for SQLite is in the public domain.
SQLite supports rowid as the table position. The default position is ROWID. Every row of every SQLite table has a 64-bit signed integer key that uniquely identifies the row within its table. This integer is usually called the "rowid". The rowid value can be accessed using a special case-independent name: "rowid". The data for each table in SQLite is stored as a B-Tree structure containing an entry for each table row, using the rowid value as the key. This means that retrieving or sorting records by rowid is fast. Searching for a record with a specific rowid, or for all records with rowids within a specified range is around twice as fast as a similar search made by specifying any other PRIMARY KEY or indexed value.
To be clear, a B-tree is a tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions to occur rapidly and efficiently.
For SQLite, if the primary key is a single column that auto-increments, the Get Definition utility will not bring the key into the table structure. This is because there is not a separate index using the column. The index internally refers to rowid.
Hints are not supported and will be disregarded.
Isolation level cannot be changed. Any changes in the DBMS will be disregarded.
A join is used to combine rows from multiple tables. Inner Joins are the most common type of join. Inner joins return all rows from multiple tables where the join condition is met. Outer Join returns all rows from one table and only those rows from a secondary table where the joined fields are equal (the join condition is met).Inner and Outer joins should be implemented using the same syntax as in the SQL Server.
A transactional database is one in which all changes and queries appear to be Atomic, Consistent, Isolated, and Durable (ACID). SQLite implements serializable transactions that are atomic, consistent, isolated, and durable, even if the transaction is interrupted by a program crash, an operating system crash, or a power failure to the computer. In uniPaaS, SQLite physical /deferred transactions are supported.
SQLite does not support array fetching. Therefore, the array size setting will be disregarded and the records will be fetched one record at a time.
A single uniPaaS engine, or multiple engines on the same machine, may access SQLite via parallel programs. In such a case, only one thread/EXE can open a physical transaction, since the SQLite file is exclusively locked.
Using the Automatic Program Generator (APG) in DSQL SELECT statements will result in the Null Allowed column property being set to Yes.
Identity should be defined as Type INTEGER PRIMARY KEY.
SQLite does not allow more than one INTEGER PRIMARY KEY fields.
Identity fields are stored as INT64 data types in SQLite; therefore, you should create a Numeric field to hold 8 bytes of data.
Monday, October 24, 2011
Saturday, October 15, 2011
Creating a Branded App with Magic Software's uniPaaS Application Platform: Mastering the Z-Order of Controls
There is a lot of talk today about the branded app. These are usually mobile apps but sometimes a branded app needs to be a web app or at least an application delivered via the Internet such as a RIA app that floats in a window above the browser -free of all the security and reliability issues that the browser itself imposes. So recently, as the Magic teams from France, Germany, Israel and the Americas headed to Dreamforce ’11 (#DF11) I found myself wanting to keep track of all the sessions we would be participating in at the conference. Unfortunately, the Dreamforce Chatter application didn't have that functionality. It seemed to me that I ought to be able to add meetings and appointments to the My Calendar section of the Dreamforce app, but alas, I could only add the sessions for which I was eligible to register. So with a little creative daydreaming, I started to wonder, how I might create an event calendar application in uniPaaS and make it look like a branded app for Dreamforce. That exercise got me thinking about the Z-order of controls.
The uniPaaS Dot Net Tutorial provided the perfect sample program in Events .NET Calendar. But I wanted to make it look like a Dreamforce application. So with a little help from my browser, Photoshop and an understanding of the Z-Order of Controls in uniPaaS, I was able to get my sample application to look just the way I wanted. I wanted a branded app.
Friday, October 14, 2011
Thursday, October 13, 2011
Wednesday, September 28, 2011
Mobile app developers have to be the ninjas of programming because they have to get in, get the job done, and get out without consuming a lot of resources.
Wednesday, September 14, 2011
Tuesday, September 13, 2011
- When you want to use .NET forms capabilities, you can. It is not mandatory. Very rich applications can be designed using the core GUI capabilities within uniPaaS.
- Adding .NET managed code is simplified because your overall application leverages the benefits of the uniPaaS metadata-driven platform. Low-level programming is never required.
- uniPaaS’ tab and table driven interface allows you to avoid complex line-by-line scripting and coding. uniPaaS takes care of the typical programmer “housekeeping chores” so that there is less effort than normally expected to create a program.
Control, User Control and Form classes. The Control class constitutes the majority of classes available in the System.Windows.Forms namespace. Controls are key to visibility. In other words, a control class is sued to provide the base functionality for all program controls that are displayed on a form in your application. You can think of a form as a window within your application such as a dialog box, modeless windows, Multiple Document Interface (MDI) client and parent windows.
Menu and Toolbar classes. The library also includes a category of classes for building custom toolbars and menus with your desired look and feel. ToolStrip is used for creating toolbars. MenuStrip is used for creating menu bars. ContextMenuStrip is used to create context menus. And StatusStrip can be used to create status bars.
Standard GUI Control classes. The Windows forms library included a number of mainstream controls for input (such as TextBox and ComboBox) display of data (such as Label and ListView) and firing of commands (such as Button).
Layout classes. The layout classes in Windows Forms help control the layout of controls on a display surface, such as a form or control. For example, the FlowLayoutPanel lays out all the controls it contains in a series, and the TableLayoutPanel provides a control for laying out data in a fixed grid. More sophisticated layouts can be managed through the SplitContainer class which is a control that divides your display area into adjustable parts.
Data and Data Binding classes. You can also use Windows Forms to create the interfaces for binding to data sources such as databases, XML and flat files. The DataGridView is a sophisticated data control that allows for custom tables displaying information with specific cell, row, column, and border properties. Also, the BindingNavigator and BindingSource controls allow you to develop interfaces that navigate and work with data on a form in a standard way.
Helpful classes. It is possible to use a number of other helpful classes within the Windows Forms namespace that aid in the display of application related information in your application. Certain classes, provide Windows standard ways of displaying a ToolTip or an error (ErrorProvider). And the Help and HelpProvider classes are useful for displaying relevant Help information to a user of your applications.
Traditional Dialog Boxes. The final category of Windows Forms classes that we’d like to discuss are common dialog boxes. Dialog boxes give your application a consistent look and feel for common and repetitive functionality such as opening or saving a file, manipulating text properties such as font, size or color, printing or any of a number of other common processes within your application. For example, the OpenFileDialog and SaveFileDialog classes display dialog boxes for opening and saving files by users. The FontDialog class provides a user dialog box set Font properties used in a particular aspect of your application. The PageSetupDialog, PrintPreviewDialog, and PrintDialog classes display well-known and easily understood functionality in a standardized way as well. In addition to the common dialog boxes, a MessageBox class is also available to create a simple box to display and retrieve data from the user.
Conclusion. In addition to all the standard classes within the System.Windows.Formsnamespace, there are of course a number of very interesting third party controls libraries that are worth exploring when you’re looking for that “something extra” or special pizzazz in your user interface. The trick is finding the right balance between uniPaaS, standard .NET and third-party controls within your application. That’s all for this trip to the library.
Thursday, September 8, 2011
Wednesday, September 7, 2011
Tuesday, August 2, 2011
The new Magic Software Application Platform, uniPaaS 2.0, implements a new .NET deployment engine, which turns any existing uniPaaS application into a native .NET application. According to Microsoft, the .NET framework is comprised of a Common Language Runtime (CLR) that provides an abstraction layer over the operating system; Base Class Libraries that deliver pre-built code for common low-level programming tasks; and development frameworks and technologies offering reusable, customizable solutions for larger programming tasks. The new uniPaaS 2.0 engine uses the Windows Forms .NET library as the GUI front-end for applications. To be clear, Windows Forms is the name given by Microsoft to the graphical application programming interface (API) included in the Microsoft .NET Framework. Windows Forms provide access to native Microsoft Windows interface elements by wrapping the existing Windows API in managed code. uniPaaS 2.0 seamlessly leverages this capability to provide superb RIA and client/server GUI capabilities. In fact, uniPaaS 2.0 provides full integration with the Microsoft .NET framework to significantly enhance application design, functionality, and overall user experience. uniPaaS 2.0 also offers new RIA-related enhancements.
With uniPaaS 2.0, Magic Software will soon be offering its first Mobile Enterprise Application Platform with support for devices running the BlackBerry OS or Windows Mobile 6.5 as a client deployment platform immediately and both iPhone and Android in the near future .
In a press release last month, Magic Software Enterprises (NASDAQ:MGIC) included a quote from a Microsoft product manager regarding use of Magic Software’s integration platform for SharePoint integration. With the release of uniPaaS 2.0, it becomes clear that Magic Software is now even more closely aligned to leverage underlying Microsoft Windows and .NET framework technologies.
In fact, one might even say that uniPaaS 2.0 is a .NET programming language (just as one might also say that it is an IBM i programming language or an AIX programming language or a Linux programming language). So the difference is that last week you could only really say of uniPaaS 1.9 client/server programming was that it was a Windows programming language. Now, one can see Magic’s application platform as fully supporting and being fully supported by the .NET framework. In this sense it can sit alongside Visual Basic.NET and other .NET programming languages for Windows servers and clients just as it can sit alongside RPG and COBOL for creating IBM i server applications, etc.
The good news for enterprise IT departments that have adopted .NET application development as an enterprise standard is that uniPaaS 2.0 now meets (and even exceeds) the requirements for being a .NET framework application platform. This is good news because unlike existing .NET languages, uniPaaS supercharges .NET in a way that no other approach can.
How does Magic Software’s uniPaaS 2.0 application platform turbocharge the development and deployment of business applications? First, uniPaaS accelerates the development on .NET framework application by providing straightforward and streamlined development methodology that further abstracts the development process without sacrificing control. Then, it stabilizes the performance and operational integrity of applications by leveraging our proven, highly scalable application platform technologies.
This release is just another example of Magic Software's long history of providing solutions that protect your applications from the underlying changes in operating system , client, server and other technologies. By future-proofing your business applications with the use of the Magic Software application platform, you are able to outperform your competition and surpass all expectations for your ability to adapt to whatever changes the future may bring. To learn more, please access these resources.