<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1833598322622219849</id><updated>2012-02-16T01:03:13.267-08:00</updated><category term='microsoft'/><category term='web development'/><category term='wavemaker'/><category term='powerbuilder'/><title type='text'>Free Alternative To Microsoft Access</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://replace-ms-access.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://replace-ms-access.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Christopher Keene</name><uri>http://www.blogger.com/profile/04452233158192995749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://farm2.static.flickr.com/1265/902180666_e77e28f802.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1833598322622219849.post-2902985318960366364</id><published>2010-07-21T11:29:00.000-07:00</published><updated>2010-07-21T13:02:42.578-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='wavemaker'/><category scheme='http://www.blogger.com/atom/ns#' term='powerbuilder'/><title type='text'>WaveMaker Emerges As PowerBuilder Alternative</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EeVtI2HFBfo/TEdSUXCRZ_I/AAAAAAAACio/FiuFEpBrG5s/s1600/powerRangersIcon.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 290px;" src="http://4.bp.blogspot.com/_EeVtI2HFBfo/TEdSUXCRZ_I/AAAAAAAACio/FiuFEpBrG5s/s320/powerRangersIcon.jpg" alt="" id="BLOGGER_PHOTO_ID_5496452379963385842" border="0" /&gt;&lt;/a&gt;Rich Bianco over at the &lt;a href="http://www.displacedguy.com/"&gt;Displaced Guy blog&lt;/a&gt; just wrote a post entitled &lt;a href="http://www.displacedguy.com/?p=305"&gt;WaveMaker delivers for the cloud like PowerBuilder did for client-server&lt;/a&gt;. In it, he talks about using WaveMaker to migrate PowerBuilder applications to Java.&lt;br /&gt;&lt;br /&gt;He makes a number of great point in his post. Here are the key take-aways&lt;br /&gt;&lt;br /&gt;1. PowerBuilder is a powerful product but developers need a rich internet alternative.&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;"I’ve spent most of my career doing PowerBuilder development against every major DBMS and I still believe it offers productivity beyond anything on the market for client-server applications.  But the writing is on the wall for client-server and rich internet applications and WaveMaker are the future."&lt;/blockquote&gt;2. WaveMaker is particularly easy to learn for PowerBuilder developers because it uses the same visual development and data window-like concepts&lt;br /&gt;&lt;blockquote&gt;"WaveMaker is the first development tool since PowerBuilder to catch my attention and keep it.  WaveMakers’ claim of building a functional enterprise web application without needing to write Java code is for real.  In a single day, I’ve taken an existing PHP / MySQL web 1.0 application and re-created a good portion of the core functionality using WaveMaker."&lt;/blockquote&gt;3. WaveMaker is just plain fun, particularly for PowerBuilder develop&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;"From the day I downloaded WaveMaker and gave it a test run I knew that it was the next step for me as a former PowerBuilder developer. Not and not only am I still having a blast but I feel as confident as ever to tackle the challenge of developing enterprise web applications, or robust SaaS solutions."&lt;/blockquote&gt;It has taken WaveMaker almost 3 years to build a worthy replacement for PowerBuilder. We certainly have not achieved the full breadth of functionality that developers can get from mature client/server tools like PowerBuilder, MS Access and Oracle Forms. However, for developers who want a fast and easy way to build Web 2.0 applications, WaveMaker rocks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1833598322622219849-2902985318960366364?l=replace-ms-access.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://replace-ms-access.blogspot.com/feeds/2902985318960366364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://replace-ms-access.blogspot.com/2010/07/wavemaker-emerges-as-powerbuilder.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default/2902985318960366364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default/2902985318960366364'/><link rel='alternate' type='text/html' href='http://replace-ms-access.blogspot.com/2010/07/wavemaker-emerges-as-powerbuilder.html' title='WaveMaker Emerges As PowerBuilder Alternative'/><author><name>Christopher Keene</name><uri>http://www.blogger.com/profile/04452233158192995749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://farm2.static.flickr.com/1265/902180666_e77e28f802.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_EeVtI2HFBfo/TEdSUXCRZ_I/AAAAAAAACio/FiuFEpBrG5s/s72-c/powerRangersIcon.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1833598322622219849.post-7045714492055188716</id><published>2010-07-15T09:12:00.000-07:00</published><updated>2010-07-15T09:14:44.156-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='wavemaker'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Best Practices - Replacing Microsoft With Open Cloud Tools</title><content type='html'>&lt;a onblur="try  {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EeVtI2HFBfo/TD5KjHvKBiI/AAAAAAAACh4/dWIauvHlBPQ/s1600/mind-the-gap4.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_EeVtI2HFBfo/TD5KjHvKBiI/AAAAAAAACh4/dWIauvHlBPQ/s320/mind-the-gap4.jpg" alt="" id="BLOGGER_PHOTO_ID_5493910562671298082" border="0" /&gt;&lt;/a&gt;A  recent survey of WaveMaker's 15,000 developers found that over 20% had  moved to WaveMaker as an alternative to Microsoft development tools like  MS Access and MS .NET.&lt;br /&gt;&lt;br /&gt;"Microsoft shops" typically employ a  variety of Microsoft products and have dozens to hundreds of  applications that now need to be migrated.&lt;br /&gt;&lt;br /&gt;Having worked with  many companies going through this migration process, here are some best  practices I have seen:&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;Triage,  triage, triage&lt;/span&gt; - figure out which apps are really critical to  your business/users and focus on them. Often, as you migrate them from  Microsoft to WaveMaker you will find that you can combine several clunky  client/server apps into a single rich internet application.&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;Good tools make open a lot easier&lt;/span&gt; -  WaveMaker hides most of the alphabet soup web technologies from the user  (html/css/javascript/java etc). This flattens the learning curve to get  out from under all those MS technologies. From our survey, we found  that fear of the steep web development learning curve is one of the main  reasons companies stick with the proprietary Microsoft tools.&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;Open can be a lot more productive&lt;/span&gt; -  we find that MS .NET apps can typically be rebuilt in WaveMaker with  80%+ fewer lines of code. See the &lt;a href="http://www.wavemaker.com/_media/NationalCityBankCaseStudy.mov"&gt;Nationwide  video on the WaveMaker web site for a case example&lt;/a&gt; that resulted in  98% fewer lines of code! That translates to big savings in productivity  and quality, both in development and maintenance.&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;Open is still a bit messier&lt;/span&gt; - even  though WaveMaker hides most of the hard stuff, it can't hide all of it.  Microsoft's great advantage is that everything is tightly integrated  into one convenient but proprietary package. In contrast, WaveMaker  integrates with many databases, report writers, etc, which is more  flexible but puts more work on the developer to manage their  environment.&lt;br /&gt;&lt;br /&gt;In short, open source and easy to use tools like WaveMaker provide a much gentler path for  migrating from the Microsoft Borg to the wonderful world of open  standards, but there is still a cost for all that flexibility.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1833598322622219849-7045714492055188716?l=replace-ms-access.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://replace-ms-access.blogspot.com/feeds/7045714492055188716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://replace-ms-access.blogspot.com/2010/07/best-practices-replacing-microsoft-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default/7045714492055188716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default/7045714492055188716'/><link rel='alternate' type='text/html' href='http://replace-ms-access.blogspot.com/2010/07/best-practices-replacing-microsoft-with.html' title='Best Practices - Replacing Microsoft With Open Cloud Tools'/><author><name>Christopher Keene</name><uri>http://www.blogger.com/profile/04452233158192995749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://farm2.static.flickr.com/1265/902180666_e77e28f802.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EeVtI2HFBfo/TD5KjHvKBiI/AAAAAAAACh4/dWIauvHlBPQ/s72-c/mind-the-gap4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1833598322622219849.post-3056782605422465654</id><published>2010-06-29T10:12:00.000-07:00</published><updated>2010-06-29T10:25:01.098-07:00</updated><title type='text'>Alternatives to Microsoft Access from kmfms.com</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EeVtI2HFBfo/TCosWCrG9gI/AAAAAAAACbs/gE7d6e-6ZtY/s1600/kmfms.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 247px; height: 320px;" src="http://3.bp.blogspot.com/_EeVtI2HFBfo/TCosWCrG9gI/AAAAAAAACbs/gE7d6e-6ZtY/s320/kmfms.jpg" alt="" id="BLOGGER_PHOTO_ID_5488247853090797058" border="0" /&gt;&lt;/a&gt;The &lt;a href="http://www.kmfms.com/index.html"&gt;KMFMS&lt;/a&gt; web site (the name stands for "kein mitleid fur Microsoft" = "no sympathy for Microsoft") is a labor of love by &lt;a href="http://www.twmacinta.com/resume/"&gt;Timothy Macinta&lt;/a&gt;, a Java programmer (and published  &lt;a href="http://www.amazon.com/Web-Developer-com-Guide-Search-Engines/dp/0471246387"&gt;author on Search Engines&lt;/a&gt;) who is getting the word out on free and open source alternatives to Microsoft.&lt;br /&gt;&lt;blockquote style="font-style: italic; color: rgb(102, 102, 102);"&gt;If you're sick of the unreliability, the bloat, the insecurity, and the perpetual upgrading associated with Microsoft products you'll be happy to know that there are some excellent alternatives out there. &lt;/blockquote&gt;KMFMS includes several very good sections:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.kmfms.com/alternatives.html"&gt;A list of free Microsoft alternatives&lt;/a&gt;, including Microsoft Office and Microsoft Access&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.kmfms.com/forums/"&gt;A forum on free alternatives to Microsoft&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.kmfms.com/links.html"&gt;Links to other sites that discuss replacements for Microsoft products&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="seolinx-tooltip" style="border: 1px solid rgb(0, 0, 0); margin: 0pt; padding: 0pt; display: none; opacity: 0.9; position: absolute; width: auto; z-index: 99999;"&gt;&lt;table style="border: 0pt none ; margin: 0pt; padding: 0pt; border-collapse: separate; width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td id="seolinx-table" style="border: 0pt none ; margin: 1px; padding: 0pt; font-family: Tahoma; font-size: 11px; font-weight: bold;"&gt;&lt;div style="margin: 0pt; padding: 0pt; overflow: auto; width: auto;"&gt;&lt;table id="seolinx-paramtable" style="border: 1px solid gray; margin: 0pt; border-collapse: separate;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://toolbarqueries.google.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; PR: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="0" type="param" title="Google pagerank" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://www.google.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; I: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="1" type="param" title="Google index" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://www.google.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; L: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="2" type="param" title="Google links" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://siteexplorer.search.yahoo.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; LD: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="12" type="param" title="Yahoo linkdomain" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://www.bing.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; I: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="20" type="param" title="Bing index" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="40" type="param" title="Sitemap.xml" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://www.semrush.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; Rank: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="41" type="param" title="SEMRush Rank" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://www.semrush.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; Traffic: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="42" type="param" title="SEMRush SE Traffic" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://www.semrush.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; Price: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="43" type="param" title="SEMRush SE Traffic price" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid gray; padding: 2px; background: rgb(240, 240, 240) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: darkgreen; font-family: Tahoma; font-size: 7pt; font-weight: bold; white-space: nowrap;"&gt;&lt;img src="http://siteanalytics.compete.com/favicon.ico" style="vertical-align: middle;" height="12px" width="12px" /&gt; C: &lt;a style="color: blue; font-family: Tahoma; font-size: 7pt; font-weight: bold; text-decoration: underline;" index="108" type="param" title="Compete Rank" href="javascript:{}"&gt;wait...&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border: 0pt none ; margin: 0pt; padding: 1px; cursor: pointer; vertical-align: middle; width: auto;" id="seolinx-tooltip-close" title="close"&gt;&lt;img src="chrome://seoquake/content/skin/close.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1833598322622219849-3056782605422465654?l=replace-ms-access.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://replace-ms-access.blogspot.com/feeds/3056782605422465654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://replace-ms-access.blogspot.com/2010/06/alternatives-to-microsoft-access-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default/3056782605422465654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default/3056782605422465654'/><link rel='alternate' type='text/html' href='http://replace-ms-access.blogspot.com/2010/06/alternatives-to-microsoft-access-from.html' title='Alternatives to Microsoft Access from kmfms.com'/><author><name>Christopher Keene</name><uri>http://www.blogger.com/profile/04452233158192995749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://farm2.static.flickr.com/1265/902180666_e77e28f802.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EeVtI2HFBfo/TCosWCrG9gI/AAAAAAAACbs/gE7d6e-6ZtY/s72-c/kmfms.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1833598322622219849.post-5081635178576948227</id><published>2010-05-28T14:26:00.000-07:00</published><updated>2010-05-28T15:45:34.695-07:00</updated><title type='text'>Free Alternative To Microsoft Access - WaveMaker</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Times New Roman';font-size:medium;"  &gt;&lt;div   style="margin: 6px; padding: 0px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); min-height: 1100px; counter-reset: __goog_page__ 0; line-height: normal;font-family:'Times New Roman';font-size:12pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Enterprises are increasingly moving from proprietary platforms like Microsoft Access to open Java platforms. Yet migrating Access applications and re-training Microsoft Access developers to use standard Java tools can be time consuming and costly.&lt;/span&gt;&lt;/span&gt;&lt;p style="margin: 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;There is a very steep learning curve for MS Access developers to use complex coding frameworks like Java/J2EE. A visual development tool like WaveMaker can flatten this learning curve - minimizing hand coding while generating standard Java applications.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Industry best practices for modernizing MS Access Applications include:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol style="margin-top: 0px; margin-bottom: 0px;" type="1"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Rebuild the schema&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: create a new relational schema that reflects SQL best practices rather than trying to simply recreate the Access schema in a relational database.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Clean the data&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: extract the data from the Access database, cleanse the data, then import the data into a new&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;relational database&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Rewrite the application&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: rebuild the Access&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;application&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;using open and standards-based &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;development&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;tools&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;like WaveMaker&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2  style="margin-left: 0pt; margin-right: 0pt;font-size:14pt;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;Open Alternative to MS Access - WaveMaker&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/h2&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;WaveMaker is an open source, visual development environment that provides an easy way to move Microsoft Access developers and applications to open Java standards. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;The following screenshot shows the WaveMaker studio:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EeVtI2HFBfo/TAA9-rlDGqI/AAAAAAAACVU/MUDyUboBJwY/s1600/wm6_1maclarge.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_EeVtI2HFBfo/TAA9-rlDGqI/AAAAAAAACVU/MUDyUboBJwY/s400/wm6_1maclarge.jpg" alt="" id="BLOGGER_PHOTO_ID_5476445293941824162" border="0" /&gt;&lt;/a&gt;&lt;div id="l_2r" style="margin-top: 0px; margin-bottom: 0px; text-align: left;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;WaveMaker's visual, drag and drop development tools are easy for Microsoft Access developers to use, while generating standard Java applications. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;WaveMaker's WYSIWYG studio is ideal for developers who want to focus on creating enterprise applications, not coding. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Over 15,000 developers depend on WaveMaker today, including Fortune 500 customers like Macy's, National City Bank and Pioneer Energy. WaveMaker is available as a free, open source Community Edition or in a Enterprise Edition that adds &lt;span class="Apple-style-span"  style="font-size:100%;"&gt;commercial&lt;/span&gt; security, scalability and support.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;The following table compares&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; MS Access and&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; WaveMaker&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt; &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;table  style="line-height: inherit; border-collapse: collapse; margin-left: 0pt; width: 464.4pt; color: rgb(102, 102, 102);font-size:1em;" border="1" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="background-color: rgb(192, 192, 192); vertical-align: bottom; width: 122.4pt;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;Features&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: rgb(192, 192, 192); vertical-align: bottom; width: 162pt;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;MS Access&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: rgb(192, 192, 192); vertical-align: bottom; width: 180pt;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;WaveMaker&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top; width: 122.4pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;How does it work?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 162pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Visual builder for desktop apps&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 180pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Visual&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt; builder for web &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;2.0 &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;apps&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top; width: 122.4pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Who should use?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 162pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a id="OLE_LINK5" name="OLE_LINK5"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;&lt;span class="Apple-style-span"&gt;Departmental developer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 180pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;&lt;span class="Apple-style-span"&gt;Departmental or enterprise developer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top; width: 122.4pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;When to use?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 162pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Dept apps with few users&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 180pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Enterprise apps, up to 1000s of users&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top; width: 122.4pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Model&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt; definition?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 162pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Visual definition of tables&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 180pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Visual definition or database import&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top; width: 122.4pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;View&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt; creation?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 162pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;WYSIWYG definition of forms&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 180pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;WYSIWYG definition of forms&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top; width: 122.4pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Custom logic?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 162pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Custom logic in Visual Basic&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: top; width: 180pt; color: rgb(0, 0, 0); font-family: verdana;"&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Custom logic in JavaScript, Java&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt; &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Building a WaveMaker application is as simple as following an iterative, three step process based on the Model-View-Controller (MVC) design pattern:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;ol style="margin-top: 0px; margin-bottom: 0px;" type="1"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;Define application data (model)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;. The model defines the data used in the application, including database tables and relationships between tables. The developer specifies this information by importing an existing database schema or using a visual data editor.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;Create&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt; web pages (views)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;. WaveMaker can create default &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;web pages to create, read, update and delete data directly from database schema, or the developer can create new web pages using a drag and drop screen builder.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;Connect data to web page elements (controllers)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;. WaveMaker provides visual tools to connect data and events with visual elements in the application such as buttons and datagrids. The developer can define new actions using a visual action editor that call web services or custom code modules written in Java or JavaScript.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2  style="margin-left: 0pt; margin-right: 0pt;font-size:14pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;Motivations and Issues in Modernizing MS Access Applications&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/h2&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access is the default choice of departmental developers with moderate technical skills. Often, &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; applications are &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;built&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; by downloading corporate data to Excel, converting the spreadsheet to an Access database, then adding ad hoc forms and reports. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Because they grow organically, these applications &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;usually&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; lack formal requirements.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt; &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Many developers are finding &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;increasing pressu&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;res to migrate &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; applications to more open and manageable platforms&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;:&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;Low d&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;ata &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;quality&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: Access applications often have out-of-date corporate data or corrupt data based on poorly defined schemas.&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;Poor s&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;ecurity&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: Access applications do not integrate with corporate security and do not allow advanced security such as role-based access controls.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;Limited m&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;anageability&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: Access applications can not be centrally managed by IT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;No w&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;eb-based distribution&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; Access applications cannot be accessed over the web&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;SOX c&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;ompliance&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: Access applications are often identified in corporate audits as a significant source of risk.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Because MS Access applications were often created in an ad hoc fashion, migration can pose particular challenges. These include:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;Data &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;migration issues&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: MS Access data conversion is often complicated by poor schema design and even low data quality.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;Application migration&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt; issues&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: MS Access applications often contain logic or design errors in their forms and reports, making them impossible to convert&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; automatically&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;Addressing Data&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;Migration&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;Issues&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Many databases provide automated conversion utilities. For example, MySQL provides a&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;data migration tool, the&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;MySQL Migration Tool&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;. However&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;, this tool is only as good as the underlying schema and data of the database to be converted.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;Because schema and data quality issues are so pervasive with Access, developers sometimes find it easier to rebuild the data schema from scratch.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;The two most c&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;ommon&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;data quality&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;issues&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;with&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;Access migration&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;are:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access data s&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;chema is not SQL-ready&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;:&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access developers are&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;typically&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;not&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;familiar with the basics of SQL schema design&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;.&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;schemas often resemble an Excel spreadsheet.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;For example, the schema may lack primary, foreign key, and referential in&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;tegrity constraints.&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access d&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;ata is not clean&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: in part b&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;ecause the tables were not def&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;ined rigorously, the data in&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access databases is often corrupt.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2  style="margin: 12pt 0pt 3pt;font-size:14pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;Addressing Application Migration Issues&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Porting the data from&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access to a relational database only addresses part of the problem.&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;There is still the issue of what to do with the forms and reports associated with the&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;application.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;In addition, it is often possible to consolidate multiple Access applications into a single web application.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;Similarly, it is often possible to consolidate several Access forms into a single, well-designed web page.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Although there are tools available &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;that&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; automate the conversion of a MS Access application&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; to Java&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;, developers often report little success with automated conversion. Instead, the preferred approach is to port &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;MS Access&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; applications to standards-based Java using a visual development platform like WaveMaker&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;While is possible to&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;use ODBC to access relational data from&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;, most developers choose&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;to&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;rewrite&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;the application.&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;The reasons for rewriting&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Access&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;application&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;include:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Quality issues&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: many developers feel that the logic for MS Access applications is suspect and would rather recreate the logic on an open platform like Java.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Desire to make application web-based&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: most developers would prefer to migrate “legacy” MS Access applications to more robust web architectures.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;S&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;ecurity requirements&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: developers often want to add “enterprise” security features like Siteminder/LDAP authentication and role-based access controls.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2  style="margin: 12pt 0pt 3pt;font-size:14pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;A Process for Modernizing MS Access&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;Applications Using WaveMaker&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;The consensus of most developers is that automated conversion tools&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;for MS Access&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;do not work. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Instead, the best practice for Access migration is to rebuild the schema, cleanse the data and then rewrite the application. This is the only way to ensure that the resulting application is of sufficient quality to be maintainable.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;This lays out a step-by-step process to migrate an MS Access application to open Java using WaveMaker:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol style="margin-top: 0px; margin-bottom: 0px;" type="1"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Rebuild the schema&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: create a new schema in a relational database like MySQL that reflects SQL best practices rather than trying to simply recreate the MS Access schema in a relational database.&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Ensure proper definitions for the following elements&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol style="margin-top: 0px; margin-bottom: 0px;" type="a"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Primary keys&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Indexes&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;for common search and join columns&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Foreign keys for all relationships, along with cardinality constraints and delete propagation&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;constraints&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Default values for columns and &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Null-allowed columns&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Views&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Clean the data&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;: extract the data from the MS Access database,&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt; for example by using a data migrati&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;on tool or a simple .CSV export. Before importing the data, perform data cleansing:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol style="margin-top: 0px; margin-bottom: 0px;" type="a"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Ensure primary key uniqueness&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Ensure referential integrity: check that primary key exists for all foreign keys, ensure foreign key uniqueness for 1..1 relationships&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Ensure that non-null columns have a value&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Ensure that data types agree, particularly for date, integer, decimal data types&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Import cleansed data into new relational database schema&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Rewrite the application&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;:&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;review the forms, reports and queries of the Access application and re-design them to follow Web 2.0 best practices. R&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;ebuild the application forms and reports using web tools rather than trying to convert the existing application and scripts.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol style="margin-top: 0px; margin-bottom: 0px;" type="a"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Import relational data schema into the WaveMaker visual builder &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Create new web pages that provide graphical interface for application using the WaveMaker page designer&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Define actions that provide needed functionality for application using the WaveMaker action editor, custom Java or JavaScript code, or web services.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;p style="margin: 0pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;In summary, best practices for Access migration require careful migration of data to a new schema along with a requirements-driven rebuilding of the application forms and reports using web-based development tools like WaveMaker.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2  style="margin: 12pt 0pt 3pt;font-size:14pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;Other resources&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin: 0pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;There are a number of additional resources on the web describing MS Access modernization:&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Open source alternatives to Microsoft &lt;a href="http://www.osalt.com/" style="color: rgb(85, 26, 139);"&gt;http://www.osalt.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;MS Access alternatives &lt;a href="http://alternatives.rzero.com/db.html" style="color: rgb(85, 26, 139);"&gt;http://alternatives.rzero.com/db.html&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;MySQL Migration Toolkit&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;:&lt;/span&gt;&lt;/span&gt; &lt;a href="http://www.mysql.com/products/workbench/" style="color: rgb(85, 26, 139);"&gt;http://www.mysql.com/products/workbench/&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;WaveMaker&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;developer forum:&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;a href="http://dev.activegrid.com/"&gt;http://dev.WaveMaker.com&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1833598322622219849-5081635178576948227?l=replace-ms-access.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://replace-ms-access.blogspot.com/feeds/5081635178576948227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://replace-ms-access.blogspot.com/2010/05/free-alternative-to-microsoft-access.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default/5081635178576948227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1833598322622219849/posts/default/5081635178576948227'/><link rel='alternate' type='text/html' href='http://replace-ms-access.blogspot.com/2010/05/free-alternative-to-microsoft-access.html' title='Free Alternative To Microsoft Access - WaveMaker'/><author><name>Christopher Keene</name><uri>http://www.blogger.com/profile/04452233158192995749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://farm2.static.flickr.com/1265/902180666_e77e28f802.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_EeVtI2HFBfo/TAA9-rlDGqI/AAAAAAAACVU/MUDyUboBJwY/s72-c/wm6_1maclarge.jpg' height='72' width='72'/><thr:total>3</thr:total></entry></feed>
