<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;C08EQXkzeCp7ImA9WhRUE08.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966</id><updated>2012-01-23T04:30:00.780-08:00</updated><category term="deliberate practice" /><category term="multi-tenancy" /><category term="Magic Devnet" /><category term="source code control. SCC" /><category term="programming jokes" /><category term="uniPaaS GUI" /><category term="software prototyping" /><category term="uniPaaS installation" /><category term="fsm" /><category term="C3" /><category term="RAWartists.org" /><category term="top ten programming jokes" /><category term=".NET forms. .NET forms library. .NET controls" /><category term="Magic 4GL" /><category term="RM" /><category term="SCC API" /><category term="client server" /><category term="uniPaaS tutorials" /><category term="uniPaaS RIA" /><category term="Sacramento software companies" /><category term="software modernization" /><category term="events" /><category term="Gartner SaaS" /><category term="mobile appdev" /><category term="upgrade" /><category term="RIA" /><category term="Magic eDeveloper" /><category term="AS/400" /><category term="application development" /><category term="software development" /><category term="Chuck Norris" /><category term="erp integration" /><category term="MGIC" /><category term="EJB" /><category term="resource repository" /><category term="iPhone development" /><category term="client server programming" /><category term="timebox" /><category term=".NET platform" /><category term="code optimization" /><category term="top ten programmer jokes" /><category term="incrementing" /><category term="unipaas programming" /><category term="client server deployment" /><category term="limited battery life" /><category term="programming lessons" /><category term="software integration" /><category term="RIA programming courses" /><category term="uniPaaS workshops" /><category term="Sacramento software development" /><category term="top ten chuck norris jokes" /><category term="application development project management" /><category term="mainframe extensibility" /><category term="Google Android" /><category term="client server development" /><category term="mobile app development" /><category term="development productivity" /><category term="KPI" /><category term="new york custom software development" /><category term="agile development methods" /><category term="SaaS Enabled Application Platform" /><category term="software efficiency" /><category term="uniPaaS Jet" /><category term="uniPaaS Discovery" /><category term="custom software" /><category term="RIA classes" /><category term="communication issues" /><category term="mobile enterprise application platform" /><category term="full client" /><category term="Chicago programming" /><category term="Magic International Users Group" /><category term="balanced scorecard" /><category term="rich web experience" /><category term="ffa" /><category term="uniPaaS download" /><category term="meap" /><category term="Gartner summitt" /><category term="fat client" /><category term="Mainframe RIA" /><category term="data relationships" /><category term="new york programming" /><category term="governance" /><category term="Converter" /><category term="rich internet applications" /><category term="purchasing" /><category term="Z-order" /><category term="Ofer Spiegel" /><category term="Gartner SEAP" /><category term="J2EE" /><category term="unipaas videos" /><category term="software change management" /><category term="smartphone development" /><category term="programmer jokes" /><category term="HTML5 programming" /><category term="Java comparison" /><category term="PaaS" /><category term="static method" /><category term="Microstrategy" /><category term="server-side logic" /><category term="LAN applications" /><category term="client-side logic" /><category term="uniPaaS Jet download" /><category term="IT spending" /><category term="Nasdaq MGIC" /><category term="uniPaaS blogs" /><category term="software development problems" /><category term="one-to-many programming" /><category term="SOA" /><category term="mainframe refactoring" /><category term="triggers" /><category term="Record Main" /><category term="learning to program" /><category term="Tennessee software development" /><category term="prototyping" /><category term="software usage" /><category term="programming fail" /><category term="function point analysis" /><category term="software components" /><category term="Chuck Norris jokes" /><category term="emerging programmers" /><category term="SQLite programming tools" /><category term="edeveloper upgrade" /><category term="portland programmers" /><category term="software licensing" /><category term="requisition" /><category term="database programming" /><category term="Windows forms" /><category term="appdev" /><category term="uniPaaS" /><category term="metadata driven platform" /><category term="fit client" /><category term="uniPaaS upgrade" /><category term="Mary Poppendieck" /><category term="field service automation" /><category term="application architecture" /><category term="tree control" /><category term="JNI" /><category term="field service" /><category term="cloud computing" /><category term="field force automation" /><category term="unipaas conversion" /><category term="Visual Studio.NET" /><category term="Microstrategy 9" /><category term="RIA programming" /><category term="4gl" /><category term="eDeveloper" /><category term="iterative programming" /><category term="cloud computing platform" /><category term="Motorola" /><category term="System i" /><category term="Power Systems" /><category term=".NET controls" /><category term="application platform" /><category term="concurrent parallel development" /><category term="RIA developers training" /><category term="version control system" /><category term="Chicago software development" /><category term="mobile development" /><category term="supplier relationship management" /><category term="SQLite programming" /><category term="license estimating" /><category term="multitenancy" /><category term="BI" /><category term="mobile field service applications" /><category term="metadata definition" /><category term="RIBA" /><category term="RAD" /><category term="mobile" /><category term="Magic application platform" /><category term="cloud computing market" /><category term="Heidi Schuppenhauer" /><category term="Michael Singer" /><category term="one-to-many application platform" /><category term="asynchronous programming" /><category term="C" /><category term="rich Internet application development" /><category term="Forrester SEAP" /><category term="multitenancy definiition" /><category term="high reliability" /><category term="RAWcross America" /><category term="cloud computing forecast" /><category term="SaaS programming" /><category term="alternatives to Visual Studio" /><category term="ABI Mastermind" /><category term="handlers" /><category term="mobile application development" /><category term="application security" /><category term="limited screen size" /><category term="software security" /><category term="c#" /><category term="MSDN" /><category term="client server application development" /><category term="supplier relationship management software" /><category term="programming courses" /><category term="Web 2.0 programming" /><category term="field service management" /><category term="Magic Software" /><category term="RIA developer training" /><category term="one to many application platform" /><category term="ATT Park" /><category term="Gartner" /><category term="uniPaaS gateways" /><category term="Sacramento software jobs" /><category term="field force management" /><category term="java weaknesses" /><category term="Seattle Programming Community" /><category term="mainframe rich internet applications" /><category term="mobile app dev" /><category term="reporting" /><category term="one-to-many data relationship" /><category term="RIA development" /><category term="procurement software" /><category term="application platform benefits" /><category term="mobile integration" /><category term=".NET weaknesses" /><category term="application development productivity" /><category term="metadata driven development. metadata" /><category term=".NET events" /><category term="high-level software security" /><category term="composite applications" /><category term=".NET programming" /><category term="cloud" /><category term="uniPaaS user experience" /><category term="IT market" /><category term="LDAP" /><category term="3GL" /><category term="limitations" /><category term="timeboxing" /><category term="enterprise mobile mashup" /><category term="VCS" /><category term="ambient enterprise" /><category term="browser compatibility" /><category term="errors" /><category term="Chicago programmers" /><category term="coding" /><category term="Seattle software development" /><category term="Rich Client" /><category term="components" /><category term="coding fail" /><category term="Avigdor Luttinger" /><category term="iBOLT" /><category term="blackberry development" /><category term="SEAP" /><category term="HTML5 mobile app development. programming" /><category term="application platform security" /><category term="application development managers" /><category term="cloud applications" /><category term="iSeries" /><category term="Windows Mobile" /><category term="fire rescue resource tracking" /><category term="JAVA" /><category term="unipaas migration" /><category term="The Code Shack Redemption" /><category term="cloud application platform" /><category term="Thin client" /><category term="new york software development" /><category term="rich internet" /><category term="ISV" /><category term="business intelligence" /><category term="Magic Software University" /><category term="fire department asset managent" /><category term="many to many application platform" /><category term="uniPaaS training" /><category term="HTTPCall" /><category term="C++" /><category term="Tennessee software jobs" /><category term="branded app" /><category term="beginners programming" /><category term="SaaS" /><category term="Magic Software Enterprises" /><category term="And So You Code" /><category term="Android development" /><category term="agile development" /><category term="Visual Basic" /><category term="underground programming" /><category term="smartphones" /><category term="product line analysis" /><category term="MAGIC PC" /><category term="srm software" /><category term="uniPaaS classes" /><category term="IBM i" /><category term="MIUG" /><category term="Craig Martin" /><category term="cloud computing market forecast" /><category term="Tennessee computer programming" /><category term="Magic" /><category term="mainframe access" /><category term="Restful Web Services" /><category term="windows mobile development" /><category term="fsa" /><category term="sample programs" /><category term="sharepoint integration" /><category term="REST" /><category term="Portland Mobile application development" /><category term="programming" /><category term="client-server" /><category term="performance dashboard" /><category term="business software efficiency" /><category term="mobile programming" /><category term="license forecasting" /><category term="event-driven programming" /><category term="SQLite database programming" /><category term="java class" /><category term="buy unipaas" /><category term="uniPaaS engine" /><category term="limited memory" /><category term="programmer rant" /><category term="team development" /><category term="application infrastructure" /><category term="decalrative programming" /><category term="metadata platform" /><category term="World Series Game 1" /><category term="Forrester SaaS" /><category term="unitary development" /><category term="rich internet client" /><category term="application platforms" /><category term="artifacts" /><title>The Magic of uniPaaS</title><subtitle type="html">Magic Software's  application platform: develop smarter, future-proof results.........         
The Magic of uniPaaS blog explores Magic Software's latest  application development and deployment platform. Come here to see content ranging from how-to to how-come? and more. Blog by Glenn Johnson, a Senior VP at Magic Software Enterprises, Inc. in Laguna Hills, California, the information contained is not offical commentary on behalf of Magic Software Enterprises and represent the author's opinion.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>120</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/UnipaasBlogMagic" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="unipaasblogmagic" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">UnipaasBlogMagic</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;C08EQXkzfyp7ImA9WhRUE08.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-1083131369544734145</id><published>2012-01-23T04:30:00.000-08:00</published><updated>2012-01-23T04:30:00.787-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-23T04:30:00.787-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="C" /><category scheme="http://www.blogger.com/atom/ns#" term="software components" /><category scheme="http://www.blogger.com/atom/ns#" term="software change management" /><category scheme="http://www.blogger.com/atom/ns#" term="communication issues" /><category scheme="http://www.blogger.com/atom/ns#" term="3GL" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="errors" /><category scheme="http://www.blogger.com/atom/ns#" term="C++" /><category scheme="http://www.blogger.com/atom/ns#" term="JAVA" /><category scheme="http://www.blogger.com/atom/ns#" term="concurrent parallel development" /><category scheme="http://www.blogger.com/atom/ns#" term="application platform benefits" /><title>The Problem of Communication in Software Change Management</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-wzdt55HiUjw/TjcOWuaq6UI/AAAAAAAAAMk/HZeR71JqA8M/s1600/unipaas+2+thought+cloud.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://3.bp.blogspot.com/-wzdt55HiUjw/TjcOWuaq6UI/AAAAAAAAAMk/HZeR71JqA8M/s400/unipaas+2+thought+cloud.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: 19px; line-height: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;In our previous discussion of &lt;b&gt;software change management&lt;/b&gt;, we
focused on &lt;a href="http://unipaas.blogspot.com/2012/01/problem-of-analysis-and-identification.html"&gt;analysis and identification problems&lt;/a&gt;. This is only one of the
problem areas in software change management that have been identified in
studies in the field. Other problems that tend to recur related to software
change management include communication issues, decision-making challenges,
effectiveness roadblocks, traceability issues and problems with tools. As we
examine each of these areas, we can see that a number of important issues frequently
appear, especially when third-generation languages (3GL) such as Java, RPG,
COBOL and various C-languages are involved (C, C#, C++). &lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;In this post, we will review at a high-level how &lt;b&gt;communication issues&lt;/b&gt; in software
development and software change management can lead to problems. How can we overcome
communication issues between developers, business analysts, stakeholders and
users to ensure more effective and satisfying outcomes in application development?
&amp;nbsp;Are there changes that can be made in
the way we approach application development that will tend to reduce the impact
and likelihood of errors?&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Concurrent or
parallel development&lt;/b&gt; can cause a need for greater and more frequent
communication between developers, business analysts, stakeholders and users.
This slows down progress overall and introduces the likelihood of communication
errors and misunderstandings. This is especially true when communicating with
non-developers. Developers figuratively “speak a different language” and this
introduces a greater possibility of misunderstanding. Non-developers and
developers can hear the same words and can take away different meanings. In
addition, developers and non-developers will tend to attach different contexts,
priorities and values to the meaning of communications. The need for greater
communication caused by concurrent development, leads to a greater number of
possible miscommunications leading to errors and unmet expectations.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Use of &lt;b&gt;shared
software components&lt;/b&gt; also exacerbates communication issues. Communication is
required between more developers because of the shared nature of components.
Developer A cannot simply change Component Y without considering the potential
effects on development by Developers B, C, and D. This results in the need for
distributed decision making on changes to components. Since computer languages
are only readable by specialists, explaining the potential ripple effects of
component changes can involve the need to communicate with multiple groups of
business analysts, stakeholders and users.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;A number of strategies can help to overcome these and other
communication related issues in software development to help ensure more
effective software change management. It is essential to have a communication
plan, style and approach for development projects. The use of team development
tools for source code control and other issues will tend to help avoid
communication errors as well. Whenever it is possible to leverage more advanced
development approaches to reduce the number of developers, this will have positive
impacts on communications as well. More frequent development cycles by using
agile or SCRUM development principles will likely improve communication as
well. More frequent prototyping becomes very useful in reducing communication
issues. Where human language fails to adequately portray software, prototypes
can provide actual or simulated experiences that overcome communication and
comprehension barriers. Leveraging repository-based development approaches
provides a context for visualizing dependencies that is more effective than
scanning a code base, for example. Making use of pre-compiled application
platform capabilities will greatly reduce the development effort and minimize
communication issues, especially thorny underlying issues in the environment
that typically fail to capture the attention of business stakeholders but that
can often lead to fundamental differences in judgment of software quality and
completeness. If the platform selected allows for the leveraging of .NET based
components in client-side development, there can be significantly fewer
communication challenges as well.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;More effective software change management hinges to a great
degree on overcoming communication issues in &lt;a href="http://devnet.magicsoftware.com/"&gt;software development&lt;/a&gt;. In our next entry,
we will consider the question of effective decision-making or governance as a
source of errors from a software change management perspective.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-1083131369544734145?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eg2DYIhU-jtp4zi4RzugpAwcsQ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eg2DYIhU-jtp4zi4RzugpAwcsQ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eg2DYIhU-jtp4zi4RzugpAwcsQ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eg2DYIhU-jtp4zi4RzugpAwcsQ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/1083131369544734145/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=1083131369544734145" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1083131369544734145?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1083131369544734145?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2012/01/problem-of-communication-in-software.html" title="The Problem of Communication in Software Change Management" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-wzdt55HiUjw/TjcOWuaq6UI/AAAAAAAAAMk/HZeR71JqA8M/s72-c/unipaas+2+thought+cloud.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkAMSHo-eip7ImA9WhRVGUw.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-2549195686427183943</id><published>2012-01-18T12:33:00.000-08:00</published><updated>2012-01-18T12:33:09.452-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T12:33:09.452-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="high reliability" /><category scheme="http://www.blogger.com/atom/ns#" term="software change management" /><category scheme="http://www.blogger.com/atom/ns#" term="uniPaaS" /><category scheme="http://www.blogger.com/atom/ns#" term="code optimization" /><category scheme="http://www.blogger.com/atom/ns#" term="application platform" /><category scheme="http://www.blogger.com/atom/ns#" term="software development problems" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="C++" /><category scheme="http://www.blogger.com/atom/ns#" term="concurrent parallel development" /><category scheme="http://www.blogger.com/atom/ns#" term="components" /><title>The Problem of Analysis and Identification in Software Change Management</title><content type="html">&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="line-height: 115%;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.magicsoftware.com/en/products/?catID=70"&gt;&lt;img border="0" height="136" src="http://1.bp.blogspot.com/-llB2irVOdlY/TxS9Ehv3XSI/AAAAAAAAAUQ/4V-J7Adj_Nk/s400/unipaas+2+thought+cloud.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="line-height: 21px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Studies in the field of Software Change Management have
helped IT managers to identify a number of problem areas in &lt;a href="http://www.magicsoftware.com/en/products/?catID=70"&gt;software development&lt;/a&gt;. Problems related to software change management tend to occur in
five areas: analysis and identification related problems, communication issues,
decision-making challenges, effectiveness roadblocks, traceability issues and
problems with tools. If we examine each of these we can see a number of
important issues that frequently crop-up, especially within third-generation
languages (3GL).&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Today, I’d like to focus on a high-level review of analysis
and identification related problems in software change management. How can we
identify and analyze problems in our software to best understand and realize
where we have errors that require correction. More importantly, how can we
change our approach to application development in a way that reduces the impact
and likelihood of errors?&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Analysis and identification problems can be seen in several
areas. First of all, problems with analysis and identification are driven by &lt;b&gt;concurrent and parallel development&lt;/b&gt; approaches.
The problems occur because with concurrent efforts it becomes more difficult to
determine root causes of program errors. This is exacerbated by the fact that
standalone testing does not find the problems leading to the error conditions. Solutions
can be found by reducing the number of developers, engaging in&amp;nbsp; more frequent cycles (such as with agile
development or SCRUM), testing without compiling and ultimately by delegating
more basic functions to an application platform in a post-3GL approach.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Another factor driving analysis and identification problems
is &lt;b&gt;code optimization&lt;/b&gt;. For one thing,
optimized code, especially optimized C, C# and C++ code is very difficult to
understand. In addition, with optimized code, object oriented development tends
to create a ripple effect that is not apparent in typical source. Code
optimization issues can be avoided by leveraging pre-optimized code, i.e.,
avoiding heavy 3GL development projects with more advanced development
platforms.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;A third factor leading to analysis and identification
problems comes from the use of &lt;b&gt;shared software components&lt;/b&gt;. Here we see impacts
across the code base and ripple effects. These can be avoided through better
pre-planning, wise use of inheritance principles and by leveraging a platform
rather than resorting to line-by-line coding.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="line-height: 115%;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;The &lt;b&gt;need for high reliability&lt;/b&gt; makes the problem
of analysis and identification of the impact of software changes particularly
important. It is difficult to predict the impact of changes and at times
corrective actions may seem difficult or impossible. Avoid this sense of being
overwhelmed by engaging in iterative development and testing. Make use of an
&lt;a href="http://www.magicsoftware.com/en/products/?catID=70"&gt;application platform&lt;/a&gt; to better overcome challenges in the analysis and
identification of software change management problems.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-2549195686427183943?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bTs5ygbEk7HkBh9JKa9C1tIqDBA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bTs5ygbEk7HkBh9JKa9C1tIqDBA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bTs5ygbEk7HkBh9JKa9C1tIqDBA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bTs5ygbEk7HkBh9JKa9C1tIqDBA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/2549195686427183943/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=2549195686427183943" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/2549195686427183943?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/2549195686427183943?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2012/01/problem-of-analysis-and-identification.html" title="The Problem of Analysis and Identification in Software Change Management" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-llB2irVOdlY/TxS9Ehv3XSI/AAAAAAAAAUQ/4V-J7Adj_Nk/s72-c/unipaas+2+thought+cloud.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0IGQXw8eSp7ImA9WhRQFkk.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-1359175117694624536</id><published>2011-12-11T15:08:00.001-08:00</published><updated>2011-12-11T15:18:40.271-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-11T15:18:40.271-08:00</app:edited><title>Developing Portable Business Apps for the BlackBerry</title><content type="html">&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;In the recent &lt;a href="https://www.ibm.com/developerworks/mydeveloperworks/files/app/file/110ccd08-25d9-4932-9bcc-c583868c9f31?lang=en"&gt;IBM Tech Trends 2011&lt;/a&gt; report, &amp;nbsp;IBM reported that 70% of the more than 4,000 members of its developerWorks community
who participated in a recent survey planned to develop mobile apps for Android.
Not surprisingly, a mere 19% planned to develop for iOS. It is interesting, however, that 9% have already indicated plans for WebOS. About 35% and 25% plan to
develop mobile apps for Windows 7 and BlackBerry OS respectively. A population
bias against Apple’s iOS can be expected in the developerWorks community, so no
one should try to read the death of Apple into these numbers. If anything, this
is a good indication that while most of the non-Apple crowd will be developing
for Android, significant numbers will also develop for Windows 7, iOS and
BlackBerry OS, and a growing segment has already focused its attention on WebOS.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-umPONtBIFMI/TuU6KcGkuTI/AAAAAAAAATc/2lW6mseNMH4/s1600/Developing+Portable+Apps+for+BlackBerry.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-umPONtBIFMI/TuU6KcGkuTI/AAAAAAAAATc/2lW6mseNMH4/s320/Developing+Portable+Apps+for+BlackBerry.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Magic Software’s uniPaaS Application Platform provides
developers with the ability to develop for multiple mobile operating systems
and tailor the look and feel for each mobile environment without having to
develop using multiple languages. &lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;To get started as a uniPaaS mobile developer, try attending
the live webinar &lt;b&gt;&lt;a href="https://magicsoftware.webex.com/magicsoftware/onstage/g.php?t=a&amp;amp;d=705230563"&gt;Developing
Portable Business Apps for the BlackBerry&lt;/a&gt;. &lt;/b&gt;The webinar will be
broadcast live Wednesday, December 14, 2011 11:00 am Pacific Standard Time or
may be viewed as an &lt;a href="http://www.magicsoftware.com/en/news-and-events/?catID=109"&gt;on-demand
recording&lt;/a&gt; here after that date. &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;The webinar description states that: “Now you can develop
business apps for the BlackBerry that can be easily ported to other mobile
platforms as needed in the future. Get just the right level of functionality,
interactivity and integration with back-end systems for your BlackBerry users
today while preserving your options to deploy to native Android, iPhone or
Windows Mobile environments in the future. See a hands-on demonstration and see
how the same application platform can deploy cross-platform HTML5 apps as well.”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-1359175117694624536?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/A5Sxz2IgzXplznsB1nV_-3ZF1oQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A5Sxz2IgzXplznsB1nV_-3ZF1oQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/A5Sxz2IgzXplznsB1nV_-3ZF1oQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A5Sxz2IgzXplznsB1nV_-3ZF1oQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/1359175117694624536/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=1359175117694624536" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1359175117694624536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1359175117694624536?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/12/developing-portable-business-apps-for.html" title="Developing Portable Business Apps for the BlackBerry" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-umPONtBIFMI/TuU6KcGkuTI/AAAAAAAAATc/2lW6mseNMH4/s72-c/Developing+Portable+Apps+for+BlackBerry.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEIDSHg6eip7ImA9WhRRFkw.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-6288693671108365495</id><published>2011-11-29T16:13:00.001-08:00</published><updated>2011-11-29T16:22:59.612-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-29T16:22:59.612-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQLite database programming" /><category scheme="http://www.blogger.com/atom/ns#" term="uniPaaS gateways" /><category scheme="http://www.blogger.com/atom/ns#" term="SQLite programming tools" /><category scheme="http://www.blogger.com/atom/ns#" term="SQLite programming" /><title>Building Apps Quickly with uniPaaS and the SQLite Gateway</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img border="0" src="http://2.bp.blogspot.com/-2b1vCTFKG-c/TtV2B_QcGEI/AAAAAAAAAS8/I_bDoe5AHRk/s1600/unipaas+and+sqlite.jpg" /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;span class="apple-style-span" style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;span class="apple-style-span" style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;span class="apple-style-span" style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;a href="http://www.magicsoftware.com/en/solutions/?catID=120&amp;amp;pageID=110&amp;amp;subPageID=113"&gt;Magic Software’s uniPaaS Application Platform&lt;/a&gt;
includes a SQLlite gateway to support the SQLite database. So does uniPaaS Jet,
the free distribution single user version of Magic Software’s uniPaaS
application platform.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="apple-style-span" style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Those already familiar with SQLite will know that
it is a single user, self-contained transactional SQL database&lt;/span&gt; &lt;span class="apple-style-span" style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;engine that does not require a server or any installation
or configuration.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="apple-style-span" style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;The SQLite gateway is integrated in uniPaaS and
available with every&lt;/span&gt; &lt;span class="apple-style-span" style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;installation of
uniPaaS.&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt; SQLite can be
thought of as a software library that implements a&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;&lt;a href="http://www.sqlite.org/selfcontained.html"&gt;&lt;span style="color: #044a64;"&gt;self-contained&lt;/span&gt;&lt;/a&gt;&lt;span class="apple-style-span"&gt;,&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.sqlite.org/serverless.html"&gt;&lt;span style="color: #044a64;"&gt;serverless&lt;/span&gt;&lt;/a&gt;&lt;span class="apple-style-span"&gt;,&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.sqlite.org/zeroconf.html"&gt;&lt;span style="color: #044a64;"&gt;zero-configuration&lt;/span&gt;&lt;/a&gt;&lt;span class="apple-style-span"&gt;,&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.sqlite.org/transactional.html"&gt;&lt;span style="color: #044a64;"&gt;transactional&lt;/span&gt;&lt;/a&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="apple-style-span"&gt;SQL database engine. SQLite claims
to be the&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;most widely deployed&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="apple-style-span"&gt;SQL database engine in the
world and the source code for SQLite is in the &lt;/span&gt;public domain&lt;span class="apple-style-span"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background: white; margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background: white; margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;a href="http://web.magicsoftware.com/unipaas-jet-download"&gt;uniPaaS Jet&lt;/a&gt; supports
the SQLite DBMS exclusively. The SQLite database, a single-user database
embedded in uniPaaS Jet, comes bundled with the platform, eliminating the need
to install it separately. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background: white; margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background: white; margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Once again: SQLite is
a single user database and is not intended for handling and manipulating data
from multiple, concurrent users. Commercial releases of uniPaaS support
multi-user databases such as Microsoft SQL, Oracle, IBM DB2, and any other data
source through ODBC.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background: white; margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; margin-bottom: 4.5pt; margin-left: 0in; margin-right: 0in; margin-top: 4.5pt;"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;When working with SQLite in uniPaaS, keep the following in mind:&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; margin-bottom: 4.5pt; margin-left: 0in; margin-right: 0in; margin-top: 4.5pt;"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: white; mso-cellspacing: 0in; mso-yfti-tbllook: 1184;"&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Table Position&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;SQLite supports rowid as the table position.
  The default position is &lt;b&gt;ROWID&lt;/b&gt;. 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.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;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.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Get Definition&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;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.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Hints&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Hints are not supported and will be
  disregarded.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Isolation level&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Isolation level cannot be changed. Any
  changes in the DBMS will be disregarded.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Joins&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="line-height: 11.25pt; margin-bottom: 3.75pt;"&gt;
&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;A&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b style="text-align: -webkit-left;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;join&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;&lt;span style="float: none; text-align: -webkit-left;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;is used to combine rows from multiple tables.&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;Inner Joins are &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;the most common type of join. Inner joins
  return all rows from multiple tables where the join condition is met.&lt;/span&gt;
  Outer &lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;Join returns all rows from one table and&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b style="text-align: -webkit-left;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;only&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;&lt;span style="float: none; text-align: -webkit-left;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 9pt;"&gt;those rows from a secondary table where the
  joined fields are equal (the join condition is met).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Inner and Outer joins should be implemented
  using the same syntax as in the SQL Server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Transactions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;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.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Array fetching&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;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.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Parallel execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;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.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;APG&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Using the Automatic Program Generator (APG)
  in DSQL SELECT statements will result in the Null Allowed column property
  being set to Yes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;b&gt;&lt;span style="color: #393939; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Identity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="padding: .75pt 7.5pt .75pt 7.5pt;" valign="top"&gt;
  &lt;div class="MsoNormal" style="margin-bottom: 4.5pt; margin-left: 0in; margin-right: 0in; margin-top: 4.5pt;"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;Identity should be defined as Type INTEGER PRIMARY KEY.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 4.5pt; margin-left: 0in; margin-right: 0in; margin-top: 4.5pt;"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;SQLite does not allow more than one INTEGER PRIMARY KEY fields.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 4.5pt; margin-left: 0in; margin-right: 0in; margin-top: 4.5pt;"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;Identity fields are stored as INT64 data types in SQLite;
  therefore, you should create a Numeric field to hold 8 bytes of data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="MsoNormal" style="background: white; margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="background: white; margin-bottom: 3.75pt; mso-line-height-alt: 11.25pt;"&gt;
&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;There are two other limitations of
SQLite worth noting for the uniPaaS developer. You cannot use the &lt;/span&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt;"&gt;ASCIIChr&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; mso-bidi-font-weight: bold;"&gt; SQL function which &lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background: white; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt;"&gt;converts
a number to a corresponding character in the ASCII character set.&lt;/span&gt; You
also cannot use the &lt;b&gt;InStr&lt;/b&gt; function,
which returns a number that represents the first position of a sub-string
within an Alpha string or an Alpha expression, or at least you cannot use from
within a SQL Where range.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="apple-style-span"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;SQLite is just another great
addition this year to the &lt;a href="http://www.magicsoftware.com/en/solutions/?catID=120&amp;amp;pageID=110&amp;amp;subPageID=113"&gt;Magic&lt;/a&gt; of uniPaaS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-6288693671108365495?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8X1P2RjjZtZLbWeACRjnor3OIlg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8X1P2RjjZtZLbWeACRjnor3OIlg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8X1P2RjjZtZLbWeACRjnor3OIlg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8X1P2RjjZtZLbWeACRjnor3OIlg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/6288693671108365495/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=6288693671108365495" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6288693671108365495?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6288693671108365495?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/11/building-apps-quickly-with-unipaas-and.html" title="Building Apps Quickly with uniPaaS and the SQLite Gateway" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-2b1vCTFKG-c/TtV2B_QcGEI/AAAAAAAAAS8/I_bDoe5AHRk/s72-c/unipaas+and+sqlite.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0YBQHc9eyp7ImA9WhRREEU.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-5878842610789327618</id><published>2011-11-23T12:11:00.000-08:00</published><updated>2011-11-23T12:45:51.963-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-23T12:45:51.963-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="application development" /><category scheme="http://www.blogger.com/atom/ns#" term="HTML5 mobile app development. programming" /><category scheme="http://www.blogger.com/atom/ns#" term="uniPaaS" /><category scheme="http://www.blogger.com/atom/ns#" term="server-side logic" /><category scheme="http://www.blogger.com/atom/ns#" term="client-side logic" /><category scheme="http://www.blogger.com/atom/ns#" term="HTML5 programming" /><title>Developing Web and Mobile Web Apps with HTML5 and uniPaaS Web Merge</title><content type="html">&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;Developing Web and Mobile Web Apps with HTML5
and uniPaaS Web Merge&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;Developing for HTML5
with uniPaaS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;With the
rapid advance of HTML5 as the latest version of the hypertext markup language
used by most Web browsers on the Internet, it is exciting to see how seamlessly
Magic Software's uniPaaS application platform's merge technology works with this new
standard. In uniPaaS, Merge technology lets the developer create dynamic Web
pages on the server side as a response to HTTP requests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;HTML5 is
the latest specification of HTML or Hyper Text Markup Language. This is the
markup language that is used to build web pages. Development of this new
version was initiated by the Web Hypertext Application Technology Working Group
(WHATWG) and then later carried on by the World Wide Web Consortium (W3C), the
organization that establishes standards for web technology.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;The Basic Concept of
Merge Programming&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;Using a
set of tokens that are embedded in a regular HTML/XML file, the uniPaaS
Enterprise Server can merge any application data into the HTML file to produce
the dynamic Web page. These HTML files can be HTML 4 standard or the newer HTML5 formats. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;Every
request for a dynamic Web page activates a corresponding batch program. This
program can receive data from the request, such as submit form variables and
cookies, process the application data according to the request information, and
process the application logic to produce the merged Web page result. With HTML5
there are superior options to cookies emerging however. Web Storage is a new
HTML5 API offering important benefits over traditional cookies. Although the
specification is still in W3C draft status, &lt;/span&gt;&lt;a href="http://dev.w3.org/html5/webstorage/"&gt;http://dev.w3.org/html5/webstorage/&lt;/a&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;all major browsers support it already. This means you can start using
the API’s sessionStorage and localStorage objects and enjoy their benefits.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;HTML5 &lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;subsumes &lt;/span&gt;&lt;/span&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;HTML&amp;nbsp;4&lt;span class="apple-style-span"&gt;,&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;XHTML&lt;span class="apple-style-span"&gt; 1 and&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;DOM2HTML&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="apple-style-span"&gt;including most especially&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;JavaScript&lt;span class="apple-style-span"&gt;. It provides enhanced levels
of multimedia content such as &lt;b&gt;audio&lt;/b&gt; and &lt;b&gt;video&lt;/b&gt;.&lt;audio&gt; and &lt;video&gt; as well as greater
interactivity.&lt;/video&gt;&lt;/audio&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;Characteristics of
uniPaaS Merge Technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;In typical
HTML merge applications of the past, the interaction between the browser and
the server was usually manifested in the retrieval of new pages as a result of
a request submitted by the previous page. With HTML5, the uniPaaS Merge application
can process http requests that pass merge data back to more advanced HTML5
capabilities that are part of the included XHTML 1.x standard. A form is a
component of a Web page that has form controls, such as text fields, buttons,
checkboxes, range controls, or color pickers. A user can interact with such a
form, providing data that can then be sent to the server for further processing
(e.g. returning the results of a search or calculation). No client-side
scripting is needed in many cases with HTML5, though an API is available so
that scripts can augment the user experience or use forms for purposes other
than submitting data to a server. These advanced capabilities would include new
types of form controls such as &lt;/span&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-size: 10pt;"&gt;dates and times&lt;/span&gt;&lt;/code&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-size: 10pt;"&gt;email&lt;/span&gt;&lt;/code&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-size: 10pt;"&gt;url&lt;/span&gt;&lt;/code&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-size: 10pt;"&gt;search&lt;/span&gt;&lt;/code&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-size: 10pt;"&gt;number&lt;/span&gt;&lt;/code&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-size: 10pt;"&gt;range&lt;/span&gt;&lt;/code&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-size: 10pt;"&gt;tel&lt;/span&gt;&lt;/code&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Arial, sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-size: 10pt;"&gt;color. &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; font-family: Garamond, serif; font-size: 12pt;"&gt;Form elements and attributes in HTML5
provide a greater degree of semantic mark-up than HTML4 and remove a great deal
of the need for tedious scripting and styling that was required in HTML4. The
forms features in HTML5 provide a better experience for users by making forms
more consistent across different web sites and giving immediate feedback to the
user about data entry.&lt;/span&gt;&lt;/code&gt;&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;The
developer can still choose the HTML/XML version for the application’s Web pages
and any other use of client-side scripts and modules. The developer can decide
on the level of Web browser compliance by choosing the HTML/XML version and
additional modules. This includes the decision as to whether to incorporate any
API extensions to HTML5. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;The logic
for merging application data into HTML5 files is still server-side logic. Any
client-side logic required for the application can be integrated with the
uniPaaS-generated dynamic Web pages in the form of client-side scripts
contained in HTML5, API extensions, JavaScript or VB script, and client-side
modules, such as ActiveX controls and Java applets. uniPaaS provides
capabilities such as MGREPEAT and MGIF_NAME that allow you to design your HTML5 pages
without knowing how many records will need to be displayed and also to include
conditional logic. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;The fact
that the application logic executed by uniPaaS is server-side only and that the
developer determines the client-side logic, including the available hyperlinks
and HTML5 interactivity, provides full control of the level of interaction
between the client and the server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;Any
request handled by the Enterprise Server is handled independently with no
correlation to previous requests submitted by the same application context for
a given end user. This means that the application flow context management
should always be constructed and maintained by the developer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;
uniPaaS Merge Tokens include:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;&lt;b&gt;MG_NAME&lt;/b&gt;&lt;/span&gt;&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&amp;nbsp;Replaces the tag with a value provided by the server.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;&lt;b&gt;MGREPEAT&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;Begins an area containing an unknown number of repeated values.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;&lt;b&gt;MGENDREPEAT&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;Ends the area containng an unknown number of repeated values.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;&lt;b&gt;MGIF_NAME&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;Begins an IF Block.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;b&gt;MGELSE&lt;/b&gt; Begins an ELSE Block.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;b&gt;MGENDIF&lt;/b&gt; Marks the end of an IF or ELSE Block.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;&lt;b&gt;MGINCLUDE&lt;/b&gt;&amp;nbsp;Allows you to incorporate an entire HTML file.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #393939; font-family: Verdana, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;MGENDINCLUDE&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="color: #393939; font-family: Verdana, sans-serif; font-size: 12px; line-height: 13px;"&gt;&amp;nbsp;Marks the end of an INCLUDE Block.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt;"&gt;Other Considerations
in Merge Development&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;Merge
technology is suited for lightweight interaction between the browser and the
server. This technology is designed for applications that mainly receive whole
pages on each request or interact with HTML5 and API extensions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;The number
of interactions between the server and the client is relatively low and the
amount of information passed from the browser to the server in every
interaction, for example an HTML5 form’s submitted information, is also low.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;However,
the result page for every request may be large as the page always returns not
just the new processed data but also the entire HTML5 portions that define the
interface and design. Fortunately, HTML5 makes better use of CSS thereby
eliminating many formerly common HTML tags such as . &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;Given the
fact that the volume of information passed from the client to the server, i.e.
the uploaded data, is usually low, excluding file transfers, there is no need
for a large throughput from the client to the server, i.e. the upload rate does
not need to be great. With mobile applications, for example, HTML5 pages are
almost always lightweight because of the relatively small screen sizes of the
devices.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;You should
try to make your pages as light as possible or make sure that the end user
machines have sufficient download capabilities.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;The
ability to create applications supported by all or most browsers lets you
freely distribute a Merge-based application with no need to know the end-user
machine specifications. Be aware, however, that API extensions may be supported
differently. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;If the Web
application requires client-side logic, as the developer you will likely need
to acquire knowledge and skills in client-side scripting based on the
capabilities of HTML5 including JavaScript.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-_c626OljgYU/Ts1TVaMU1pI/AAAAAAAAASk/ngJTjFxx7B8/s1600/HTML5+Thanksgiving.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="280" src="http://3.bp.blogspot.com/-_c626OljgYU/Ts1TVaMU1pI/AAAAAAAAASk/ngJTjFxx7B8/s320/HTML5+Thanksgiving.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="margin-bottom: 0.0001pt;"&gt;
&lt;span style="font-family: Garamond, serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-5878842610789327618?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vCJg8Zavs2cbLb7_0rAQCEfHScU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vCJg8Zavs2cbLb7_0rAQCEfHScU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vCJg8Zavs2cbLb7_0rAQCEfHScU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vCJg8Zavs2cbLb7_0rAQCEfHScU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/5878842610789327618/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=5878842610789327618" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/5878842610789327618?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/5878842610789327618?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/11/developing-web-and-mobile-web-apps-with.html" title="Developing Web and Mobile Web Apps with HTML5 and uniPaaS Web Merge" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-_c626OljgYU/Ts1TVaMU1pI/AAAAAAAAASk/ngJTjFxx7B8/s72-c/HTML5+Thanksgiving.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;C08HQ3w5eip7ImA9WhdaFEU.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-1903188263221165283</id><published>2011-10-24T11:43:00.000-07:00</published><updated>2011-10-24T11:43:52.222-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-24T11:43:52.222-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile development" /><category scheme="http://www.blogger.com/atom/ns#" term="smartphones" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile integration" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise mobile mashup" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile app development" /><title>Enterprise Mobile Mashup Delivers Actionable Information</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-hAGvkUWD1g0/TqWt_u-4lDI/AAAAAAAAAQ0/EYNL71_pKZI/s1600/Enterprise+Mobile+Mashup+Crystal+Ball.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-hAGvkUWD1g0/TqWt_u-4lDI/AAAAAAAAAQ0/EYNL71_pKZI/s640/Enterprise+Mobile+Mashup+Crystal+Ball.jpg" width="457" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;It’s one thing to be connected via your mobile to relevant
information 24/7 and it is quite another to be able to do anything about it.
The difference between information and action is the difference between email
and apps. On the other hand, action without proper access to information can be
dangerous. The solution: &lt;a href="http://www.magicsoftware.com/en/solutions/?catID=313"&gt;enterprise mobile mashups&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;As David Akka, Managing Director of Magic Software Enterprises
UK points out: “Enterprise Mashup is not something new. Enterprise Mashup is a
concept that has been used by many, many enterprises to try to bring
information from multiple systems into one coherent view. If you look at the
consumer market, for example, estate agents, it’s easy to take information from
a property database put it on Google Maps and take information from a police
database and put it on the same map in order to present some sort of
information to a future purchaser.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;“ The whole concept of that actually has started to take off
with mobile devices,” says Akka, eagerly pointing out why mobile devices are so
important to business today. “Gartner basically predicts that 50% of the
workforce by the end of 2013 will use some sort of mobile device. There’s a big
argument whether desktops are dead whether mobile devices will overtake them.
It’s not really relevant for this point. The point is that on a mobile device
the attention span of the user reduces significantly from about 2-3 minutes to
about 1 minute.”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;Since the mobile user may be paying attention for a shorter period
of time, they urgently need accurate data streaming to their device and the
ability to act on that information by providing an approval, submitting an
order, updating location, etc. Enterprise mobile mashup requires the
"round trip capabilities" to pull information from enterprise systems, display information in
mobile apps, take action from the mobile device and update the backend systems. And with user preferences and loyalties to a wide variety of devices -- BlackBerry, Android, iPhone and Windows Mobile -- there is a need to provide enterprise mobile mashup via cross-platform, cross-device mobile enterprise application platforms that allow core application logic to be used on any mobile smartphone.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="line-height: 115%;"&gt;&lt;a href="http://youtu.be/CCAPGiXEV4s"&gt;David Akka’s excellent interview on Computing.co.uk&lt;/a&gt; not only discusses the
possibilities but also demonstrates the smarter approach that Magic Software’s
iBOLT Integration Platform and uniPaaS Application Platform take in creating
enterprise mobile mashup with backend systems such as SAP, Salesforce, Oracle,
PeopleSoft, JD Edwards and so on.&lt;/span&gt;&lt;span style="font-size: 18pt; line-height: 115%;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-1903188263221165283?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1BEtNznuZPbtfahJhOmy3ocEsF8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1BEtNznuZPbtfahJhOmy3ocEsF8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1BEtNznuZPbtfahJhOmy3ocEsF8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1BEtNznuZPbtfahJhOmy3ocEsF8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/1903188263221165283/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=1903188263221165283" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1903188263221165283?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1903188263221165283?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/10/enterprise-mobile-mashup-delivers.html" title="Enterprise Mobile Mashup Delivers Actionable Information" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-hAGvkUWD1g0/TqWt_u-4lDI/AAAAAAAAAQ0/EYNL71_pKZI/s72-c/Enterprise+Mobile+Mashup+Crystal+Ball.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CkcEQHs-fCp7ImA9WhdbFkU.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-1120531997272624997</id><published>2011-10-15T05:00:00.000-07:00</published><updated>2011-10-15T05:00:01.554-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-15T05:00:01.554-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="uniPaaS" /><category scheme="http://www.blogger.com/atom/ns#" term="RIA programming" /><category scheme="http://www.blogger.com/atom/ns#" term="branded app" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET controls" /><category scheme="http://www.blogger.com/atom/ns#" term="Z-order" /><title>Creating a Branded App with Magic Software's uniPaaS Application Platform: Mastering the Z-Order of Controls</title><content type="html">&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"&gt;
&lt;div class="MsoNormal" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; line-height: 16pt; margin-bottom: 3pt; margin-left: 0in; margin-right: 0in; margin-top: 3pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"&gt;
&lt;b&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 14pt;"&gt;Creating a Branded App with Magic Software's uniPaaS Application Platform: Mastering the Z-Order of Controls&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 14pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-ucqNA9IB4V4/TpiFbTEnR8I/AAAAAAAAAQg/C6aR6ef3l6k/s1600/Deployed_Over_Browser.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://2.bp.blogspot.com/-ucqNA9IB4V4/TpiFbTEnR8I/AAAAAAAAAQg/C6aR6ef3l6k/s640/Deployed_Over_Browser.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: 13px;"&gt;There is a lot of talk today about the&amp;nbsp;&lt;i&gt;branded app&lt;/i&gt;. 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. &amp;nbsp;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&amp;nbsp;&lt;i&gt;in uniPaaS and make it look like a branded app for Dreamforce. That exercise got me thinking about the Z-order of controls.&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: 13px;"&gt;The
uniPaaS Dot Net Tutorial provided the perfect sample program in &lt;b&gt;Events .NET Calendar&lt;/b&gt;. 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 &lt;i&gt;branded app.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: 13px;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-S1GLO0VUyzQ/Tph-qkMeLKI/AAAAAAAAAPo/tZinN5MBk28/s1600/Zoom_To_Events_Program.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://1.bp.blogspot.com/-S1GLO0VUyzQ/Tph-qkMeLKI/AAAAAAAAAPo/tZinN5MBk28/s640/Zoom_To_Events_Program.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;From
the uniPaaS Jet Dot Net Tutorial, I clicked on the Programs Repository in the
Navigation Pane in the upper right and then zoomed (F5) on the &lt;b&gt;Events .NET Calendar. &lt;/b&gt;This opens the
program in the Studio. I wanted to play with the look of the program because
the Control itself was kind of a drab gray typical Windows control. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;The
first step was to find a couple of images that I wanted to use. My preferred
graphic image editor is PhotoShop. I pasted a couple of images into PhotoShop
and saved them as JPEG files. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-74hVoEqn0wY/Tph-6mJmAHI/AAAAAAAAAPw/d8vfA09GxGI/s1600/Photoshop_Save_As_JPEG.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://3.bp.blogspot.com/-74hVoEqn0wY/Tph-6mJmAHI/AAAAAAAAAPw/d8vfA09GxGI/s640/Photoshop_Save_As_JPEG.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Back
in uniPaaS Studio, I selected the Forms tab and zoomed (F5) on the second form
which was also named &lt;b&gt;Events .NET
Calendar.&lt;/b&gt; On the uniPaaS Studio Forms Control Pane, I selected the Image
icon and then clicked on the approximate position where I wanted the upper left
corner to appear.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-wJceTvTBeL4/Tph_VImg59I/AAAAAAAAAP4/rjqz1IqyGZA/s1600/First_Image_Added.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://3.bp.blogspot.com/-wJceTvTBeL4/Tph_VImg59I/AAAAAAAAAP4/rjqz1IqyGZA/s640/First_Image_Added.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Some
tweaking of the image position was needed. So the precise X, Y coordinate can
be set for the image’s Navigation Control Properties. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-BtVBo0J3_3Q/Tph_pvIkDVI/AAAAAAAAAQA/VIubySujtD0/s1600/Tweaking_Image_Position.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://2.bp.blogspot.com/-BtVBo0J3_3Q/Tph_pvIkDVI/AAAAAAAAAQA/VIubySujtD0/s640/Tweaking_Image_Position.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;The&lt;/span&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Z-Order&lt;/span&gt;&lt;/i&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;of
controls in a form is the depth of the controls as you insert them. The Z-Order
becomes particularly important when you superimpose controls on top of one
another.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Here
is an example where images and controls are partially overlayed. You will note
that one of the two women in the photographic image is not visible. Why?
Because the Z-order of the entire image is essentially underneath the .NET
control that contains the calendar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-t0XAZDSsE2M/Tph_3suqoKI/AAAAAAAAAQI/ksI00hO8wFk/s1600/Deployed_Partial_Overlay.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://2.bp.blogspot.com/-t0XAZDSsE2M/Tph_3suqoKI/AAAAAAAAAQI/ksI00hO8wFk/s640/Deployed_Partial_Overlay.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: 13px;"&gt;uniPaaS
recognizes two groups of controls with regards to Z-Order:&lt;/span&gt;&lt;/div&gt;
&lt;table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable"&gt;
 &lt;tbody&gt;
&lt;tr style="height: 19.5pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;"&gt;
  &lt;td style="height: 19.5pt; padding: .75pt .75pt .75pt .75pt; width: 107.25pt;" valign="top" width="143"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;b&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Group I&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="height: 19.5pt; padding: .75pt .75pt .75pt .75pt; width: 88.5pt;" valign="top" width="118"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;b&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Group II&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style="height: 21.0pt; mso-yfti-irow: 1; mso-yfti-lastrow: yes;"&gt;
  &lt;td style="height: 21.0pt; padding: .75pt .75pt .75pt .75pt; width: 107.25pt;" valign="top" width="143"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Push buttons&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Check boxes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Radio buttons&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Sliders&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Combo boxes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;List boxes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;OLEs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;RTFs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Tree Control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Subforms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Browser Control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style="height: 21.0pt; padding: .75pt .75pt .75pt .75pt; width: 88.5pt;" valign="top" width="118"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Images&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Tabs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Static controls&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Edit controls&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Lines&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Groups&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;You
can rearrange the Z-Order within the two groups, but not between them. uniPaaS
automatically arranges the Z-Order between Group I and Group II controls. For
example, if you were to place an Edit control on top of a Push Button control,
the Z-Order would arrange the controls so the Push Button control would be
placed in front. You cannot bring a control from the second group in front of a
control from the first group. You use the&lt;i&gt;Arrange&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;context menu or the&lt;/span&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;Command&lt;/span&gt;&lt;/i&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;palette
to display or change the Z-Order of controls on a form.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;a href="http://3.bp.blogspot.com/-JEd0YLJ63wg/TpiARsfXNKI/AAAAAAAAAQQ/HbVOeT_fdGo/s1600/Automatic+Z-order.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-JEd0YLJ63wg/TpiARsfXNKI/AAAAAAAAAQQ/HbVOeT_fdGo/s1600/Automatic+Z-order.jpg" /&gt;&lt;/a&gt;&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;To
adjust the Z-order you have to make sure Automatic Z-Order is not selected on
the Command palette. That’s the &amp;nbsp;icon shown here. You should also learn how to use the
other icons to Bring Forward One Level, Send Back One Level, Bring to the
Front, Send to the Back and Display the Z-order. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;So with very little effort, a ho-hum control can be enhanced with the use of images and become a &lt;i&gt;&lt;b&gt;branded app.&lt;/b&gt;&lt;/i&gt;&amp;nbsp;When I deployed my Magic Software uniPaaS Application Platform RIA program in a Window over the Dreamforce web page the result was very pleasing from an aesthetic standpoint.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-BgCaHLox3hU/TpiAu4J5wsI/AAAAAAAAAQY/pLIiuNY3WZM/s1600/Deployed_Over_Browser.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://4.bp.blogspot.com/-BgCaHLox3hU/TpiAu4J5wsI/AAAAAAAAAQY/pLIiuNY3WZM/s640/Deployed_Over_Browser.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="color: black; font-family: 'Arial Unicode MS', sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;span class="Apple-style-span" style="font-family: 'Arial Unicode MS', sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 7.0pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-1120531997272624997?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/P94Lc-XwN7OlCkrleUtR1VVyyPc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/P94Lc-XwN7OlCkrleUtR1VVyyPc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/P94Lc-XwN7OlCkrleUtR1VVyyPc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/P94Lc-XwN7OlCkrleUtR1VVyyPc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/1120531997272624997/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=1120531997272624997" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1120531997272624997?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1120531997272624997?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/10/creating-branded-app-with-magic.html" title="Creating a Branded App with Magic Software's uniPaaS Application Platform: Mastering the Z-Order of Controls" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-ucqNA9IB4V4/TpiFbTEnR8I/AAAAAAAAAQg/C6aR6ef3l6k/s72-c/Deployed_Over_Browser.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkIEQns_fyp7ImA9WhdbFkw.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-9056293978416944653</id><published>2011-10-14T08:04:00.000-07:00</published><updated>2011-10-14T09:41:43.547-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-14T09:41:43.547-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Magic Software University" /><category scheme="http://www.blogger.com/atom/ns#" term="learning to program" /><category scheme="http://www.blogger.com/atom/ns#" term="sample programs" /><category scheme="http://www.blogger.com/atom/ns#" term="uniPaaS" /><category scheme="http://www.blogger.com/atom/ns#" term="programming courses" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile app dev" /><title>Learning to Program with uniPaaS</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-B3aE7U_dCmM/TphPbhckXLI/AAAAAAAAAPY/QKbd7gICWP8/s1600/Learning+to+Program+with+an+Application+Platform.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="253" src="http://3.bp.blogspot.com/-B3aE7U_dCmM/TphPbhckXLI/AAAAAAAAAPY/QKbd7gICWP8/s320/Learning+to+Program+with+an+Application+Platform.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"&gt;Whether you are a beginning
programmer or an experienced hack, learning to program with the Magic
Software&amp;nbsp; uniPaaS Application
Platform&amp;nbsp; is pretty exciting because of
the way the application platform allows you to focus on the application design
and business logic rather than on the underlying architecture and housekeeping
tasks normally associated with programming. With uniPaaS you can create anything from mobile apps to cloud applications and of course standard client-server software as well.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span style="font-size: 12pt;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span style="font-size: 12pt;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Magic Software has provided about
1000 sample programs with the application platform to help illustrate all of
the capabilities of the platform and make it easier for you to create your own
programs. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span style="font-size: 12pt;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span style="font-size: 12pt;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;The sample programs included with
uniPaaS are installed in the &lt;b&gt;SampleProjects&lt;/b&gt; folder.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;Rich Internet Demo&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt;"&gt;: Many of you have seen the Magic Software Rich Internet Demo that is
comprised of several applications running in rich client mode. This means they
are browser-free, require no plug-in and yet run via the Internet with full
connectivity to the server. You can use this platform to create your own cloud
or on-premise applications and the RIA demo helps illustrate what’s possible in
very basic easy-to-understand samples. The project containing all of the sample
programs of the live RIA demo is available at &lt;a href="http://riademo.magicsoftware.com/"&gt;http://riademo.magicsoftware.com&lt;/a&gt;
and the mobile RIA demo examples can be found at &amp;nbsp;&lt;a href="http://riademo.magicsoftware.com/mobile"&gt;http://riademo.magicsoftware.com/mobile&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;Online
Samples&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt;"&gt;: A set of online
(client/server) examples for multiple client/server ‘how to’ scenarios that are
described in the book: &lt;b&gt;Mastering
uniPaaS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;Rich
Internet Samples:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp; A set of Rich Internet examples for many rich
client ‘how to’ scenarios that are described in the book: &lt;b&gt;Mastering uniPaaS.&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;Mobile Web
Samples:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp; Web templates based on HTML Merge technology
for mobile devices.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Bullet1" style="margin-left: 0in; mso-list: none; text-indent: 0in;"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt;"&gt;.NET
Tutorial:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt;"&gt; A short tutorial with
examples explaining how to use .NET in uniPaaS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span style="font-size: 12pt;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span style="font-size: 12pt;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;All the projects are available
with their source code, so you can use them in your applications.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span style="font-size: 12pt;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span style="font-size: 12pt;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;In addition,
to the samples you also have access to the complete resources of &lt;a href="http://www.magicsoftware.com/en/services/?catID=59"&gt;Magic Software University&lt;/a&gt;. You can also easily download a self-paced course for creating
business applications. And for those adventurous programmers who are looking
for an excuse to come to “the OC” in sunny California this November we offer
uniPaaS courses in our classroom in Laguna Hills, California. Upcoming courses
include: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 12pt;"&gt;07-9 Nov, 2011 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;a href="http://www.magicsoftware.com/en/landing/?pageID=226"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: #2a4290;"&gt;Migration
from eDeveloper V9.4 to uniPaaS Open Client&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 12pt;"&gt;10 Nov,
2011&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;a href="http://www.magicsoftware.com/en/landing/?pageID=128"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: #2a4290;"&gt;Insider's
Guide to Advanced RIA Development with uniPaaS&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Body"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-size: 12pt;"&gt;11 Nov, 2011 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;a href="http://www.magicsoftware.com/en/landing/?pageID=148"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: #2a4290;"&gt;.NET
Components Unleashed with uniPaaS Applications&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-OUenCS25N_I/Tphl-308LoI/AAAAAAAAAPg/O3CS4YRqszs/s1600/Learning+to+Program+Form+Editor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="490" src="http://4.bp.blogspot.com/-OUenCS25N_I/Tphl-308LoI/AAAAAAAAAPg/O3CS4YRqszs/s640/Learning+to+Program+Form+Editor.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-9056293978416944653?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YiebL3EGvoJpJe1xs-J-m7p8-pc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YiebL3EGvoJpJe1xs-J-m7p8-pc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YiebL3EGvoJpJe1xs-J-m7p8-pc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YiebL3EGvoJpJe1xs-J-m7p8-pc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/9056293978416944653/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=9056293978416944653" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/9056293978416944653?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/9056293978416944653?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/10/learning-to-program-with-unipaas.html" title="Learning to Program with uniPaaS" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-B3aE7U_dCmM/TphPbhckXLI/AAAAAAAAAPY/QKbd7gICWP8/s72-c/Learning+to+Program+with+an+Application+Platform.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEIDSX84eSp7ImA9WhdbFUk.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-3144131282294375149</id><published>2011-10-13T08:45:00.000-07:00</published><updated>2011-10-13T14:49:38.131-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-13T14:49:38.131-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RIA" /><category scheme="http://www.blogger.com/atom/ns#" term="unipaas programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Magic Software" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Basic" /><category scheme="http://www.blogger.com/atom/ns#" term="application platform" /><category scheme="http://www.blogger.com/atom/ns#" term="MSDN" /><category scheme="http://www.blogger.com/atom/ns#" term="C3" /><category scheme="http://www.blogger.com/atom/ns#" term="asynchronous programming" /><title>A Smarter Way to Do Asynchronous Programming</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-I7W-n_BM4-Y/TpcHaBKeluI/AAAAAAAAAPQ/jcDl-QgLYHk/s1600/asynchronous+programming.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-I7W-n_BM4-Y/TpcHaBKeluI/AAAAAAAAAPQ/jcDl-QgLYHk/s320/asynchronous+programming.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;The cover of MSDN Magazine this month carries the main
headline: “Asynchronous programming.” Inside you will find three articles about
these new proposed features that will make it easier to write code that will
help to create efficiencies in Visual Studio applications for asynchronous
programming.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;The entire article is about how it will be possible in the
future to &lt;u&gt;write code&lt;/u&gt; that does what the Magic application platform has
been doing automatically for its programmers for more than 10 years. Visual
Basic and C# don’t have these capabilities yet, but they will in the future the
articles proclaim, but it will still require the developer to add special code
and the creators of these languages are so far away from a solution that they
are using the magazine to solicit feedback on the idea. Wow.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I think it is easy for those of us familiar with uniPaaS
seamless efficiency through multithreaded concurrent architecture to forget
that other developers must tell their programs how to handle concurrency of task
execution. I remember being very impressed with the initial analogy used to explain the Magic engine and the Magic broker: the example used was that of a restaurant with many waiters and a short order cook or cooks who were working on many meals in parallel, breaking down the meal preparation into discrete steps and jumping back and forth between tasks.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;At Magic Software, we talk a lot about how our advantage is
a metadata driven architecture, but when you read the articles in this month’s
MSDN Magazine it crystallizes some of the low-level nonsense that other
developers put up with every single day without realizing that it Is a complete
waste of time for them to be creating business applications in those languages
(and don’t get me wrong, Java is no better). The sad thing for these developers is that they have to add lots of instructions to their code to tell the program how to process tasks concurrently. Really, in 2011 programmer drones are paid six figure salaries and still writing the same code concepts over and over again?&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Thankfully, there is a smarter way to do asynchronous
programming and achieve highly efficient applications without giving it a
second thought. That approach is found in Magic Software’s uniPaaS application
platform. Even after Microsoft finishes its "enhancements" to C# and Visual Basic (tough luck if you're using a different Microsoft language) you will still have to manually add "await" instructions to your code. And since there was no thought put into forward-migration and everyone handled concurrency differently, you will have to manually strip out all the old concurrency code. Yuck! The three articles were nice, very enlightening as to the tedium on
the other side of the fence, but as for me: here’s three cheers for uniPaaS!&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;To see a sample business application running in Magic Software's uniPaaS application platform see the &lt;a href="http://riademo.magicsoftware.com/"&gt;RIA demo&lt;/a&gt; here. To read more about Magic Software's &lt;a href="http://www.magicsoftware.com/en/products/?catID=70"&gt;smarter application platform&lt;/a&gt;, see the information on the company website.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-3144131282294375149?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ueV8G4QMVBY_u3XndpbBfFov8aA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ueV8G4QMVBY_u3XndpbBfFov8aA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ueV8G4QMVBY_u3XndpbBfFov8aA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ueV8G4QMVBY_u3XndpbBfFov8aA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/3144131282294375149/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=3144131282294375149" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3144131282294375149?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3144131282294375149?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/10/smarter-way-to-do-asynchronous.html" title="A Smarter Way to Do Asynchronous Programming" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-I7W-n_BM4-Y/TpcHaBKeluI/AAAAAAAAAPQ/jcDl-QgLYHk/s72-c/asynchronous+programming.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEEBSHw7eCp7ImA9WhdbFUk.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-6910141001196852632</id><published>2011-09-28T19:02:00.000-07:00</published><updated>2011-10-13T14:50:59.200-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-13T14:50:59.200-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="limited memory" /><category scheme="http://www.blogger.com/atom/ns#" term="meap" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile programming" /><category scheme="http://www.blogger.com/atom/ns#" term="smartphone development" /><category scheme="http://www.blogger.com/atom/ns#" term="limited screen size" /><category scheme="http://www.blogger.com/atom/ns#" term="limitations" /><category scheme="http://www.blogger.com/atom/ns#" term="limited battery life" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile app dev" /><title>Overcoming the top three mobile app design &amp; development constraints</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-2_zEOTNZSNI/ToTjSdb0IeI/AAAAAAAAAOg/Z8nFUek0npE/s1600/TotalMobilityExperience.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://2.bp.blogspot.com/-2_zEOTNZSNI/ToTjSdb0IeI/AAAAAAAAAOg/Z8nFUek0npE/s320/TotalMobilityExperience.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;h2 style="margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 13.5pt;"&gt;


&lt;span class="Apple-style-span" style="font-size: small; font-weight: normal;"&gt;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.&lt;/span&gt;&lt;/h2&gt;
&lt;div class="MsoNormal"&gt;
There are two ways to overcome the common mobile app design
and development constraints: the first is to design around them using brute
force, not very ninja like, and the second is to design more efficiently based
on a &lt;a href="http://www.magicsoftware.com/en/solutions/?catID=313"&gt;mobile enterprise application platform&lt;/a&gt; like uniPaaS. Let’s consider some
of the common constraints and how you can do both: design around them and
design more efficiently by using a true mobile app development paradigm for
enterprise and (dare I say it?) even consumer apps. My comments here will be
primarily based on developing for BlackBerry mobile devices, but he same
uniPaaS application platform and the general efficient principles of design
will also apply to Android, Apple iOS and Windows smartphone development.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;Limited Memory. &lt;/b&gt;Creating
an application that requires less memory will improve the user experience by
improving response times and reducing the likelihood of errors. Unfortunately,
memory management in Java and Objective-C is extremely time consuming for
developers. So regardless of which mobile enterprise application platform
(MEAP) you are using you will want to design efficiently. If a field isn’t
vital, eliminate it from the app or relegate it to optional views and call for the
data only when needed. By using the uniPaaS application platform, you can
leverage server side resources to deliver just the data you need when you need
it and the best thing is, you don’t have to write any of the code for the
underlying architecture or the client. You simply leverage metadata to control
your app and the Magic Engine does the rest. To be clear, you avoid the need to program directly in Java or Objective-C altogether. It isn't &lt;i&gt;like&lt;/i&gt; Magic, it &lt;i&gt;is&lt;/i&gt; Magic!&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;Limited Battery Life.&lt;/b&gt;
Battery life has less to do with the efficiency of data usage (although that is
clearly one factor) and has more to do with efficient use of the radio. Apps
that constantly poll the server for new data, for example, will heighten
battery use and frustrate users when the device is drained. In traditional
enterprise apps, polling the server across a LAN is a cheap resource and so
developers tend not to give it much thought. But in a mobile app it is an even
more important issue. Fortunately, the uniPaaS BlackBerry client is very efficient
in its use of the radio and you don’t have to manage memory manually at all.
This greatly reduces development time and ensures application efficiency and
performance.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="Default"&gt;
&lt;b&gt;Limited Screen Size. &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="Default"&gt;
&lt;span style="font-size: 11pt;"&gt;The BlackBerry OS supports a
simple stacked window model and as with all smartphones, the screen is quite
limited in size compared to desktop applications. Developers need to focus on
the users’ task at hand, literally. &amp;nbsp;Do
this by displaying only the immediately relevant info and any directly related
tasks. Keep it simple and yet functional.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Default"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="Default"&gt;
&lt;span style="font-size: 11pt;"&gt;&amp;nbsp;With a BlackBerry, each application can open
multiple windows, but each new window is stacked on top of previous windows and
is inherently modal. As there is no mouse pointer, windows cannot be
manipulated (moved or resized) by the end user. When an application is run, its
main window (and subsequent stacked windows) occupies the entire device screen.
How does one navigate then? The context menu is often the best way. The
BlackBerry context menu is an important and central user interaction tool.
Since the screen size is relatively small, it is common to perform most tasks
using the context menu, instead of “wasting” screen space on buttons and
on-screen menus. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Default"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="Default"&gt;
&lt;span style="font-size: 11pt;"&gt;Unlike most other smartphones,
most BlackBerry devices are optimized for keyboard navigation and input.
Typically, the trackpad is used to navigate between fields on the form, while
the &lt;b&gt;Fire &lt;/b&gt;action is used to select values and perform actions. Unlike a
desktop keyboard, there is no TAB key so there is no standard key to move to
the &lt;b&gt;Next Field &lt;/b&gt;or the &lt;b&gt;Previous Field&lt;/b&gt;. All navigation between
fields and inside a field (i.e an edit control), is done using the trackpad
directional actions. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Default"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="Default"&gt;
&lt;span style="font-size: 11pt;"&gt;&lt;b&gt;Other Considerations.&lt;/b&gt; These top three constraints
aren’t the only ones you need to consider, but they are the most important. You
should also consider the impact of the longer latency caused by slower mobile
bandwidths (compared to LANs) and the fact that smartphones have less raw
processor power than desktop clients. All of these issues are mitigated by use
of Magic Software’s mobile application platform. Happy developing! For additional information, please contact the &lt;a href="mailto:info@magicsoftware.com"&gt;Magic Software Enterprises&lt;/a&gt; branch near you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-6910141001196852632?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WCFnhfTEMRukM96yWigbhPP2ChQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WCFnhfTEMRukM96yWigbhPP2ChQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WCFnhfTEMRukM96yWigbhPP2ChQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WCFnhfTEMRukM96yWigbhPP2ChQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/6910141001196852632/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=6910141001196852632" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6910141001196852632?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6910141001196852632?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/09/overcoming-top-three-mobile-app-design.html" title="Overcoming the top three mobile app design &amp; development constraints" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-2_zEOTNZSNI/ToTjSdb0IeI/AAAAAAAAAOg/Z8nFUek0npE/s72-c/TotalMobilityExperience.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;C04HQno4cCp7ImA9WhdUE04.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-1412652824242874841</id><published>2011-09-28T18:22:00.000-07:00</published><updated>2011-09-29T14:32:13.438-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T14:32:13.438-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="SaaS" /><category scheme="http://www.blogger.com/atom/ns#" term="meap" /><category scheme="http://www.blogger.com/atom/ns#" term="appdev" /><title>The Magic Mobile Cloud Daily</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-55YDcrGI4EQ/ToTjwkfKo4I/AAAAAAAAAOk/UajFmEMSftY/s1600/Magic+Mobile+Cloud+Daily.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="427" src="http://1.bp.blogspot.com/-55YDcrGI4EQ/ToTjwkfKo4I/AAAAAAAAAOk/UajFmEMSftY/s640/Magic+Mobile+Cloud+Daily.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
Please take a look at the &lt;a href="http://paper.li/glenn4pr/1317239076"&gt;Magic Mobile Cloud Daily&lt;/a&gt;. Posts from my friends and colleagues will frequently appear in this daily publication. Once you view the publication, be sure to click on the subscribe button so you an be notified of new issues. Enjoy!&amp;nbsp;&lt;script src="http://widgets.paper.li/javascripts/init.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;script&gt;
  Paperli.PaperWidget.Show({
    pid: 'glenn4pr/1317239076',
    width: 200,
    background: '#FB0000'
  })
&lt;/script&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-1412652824242874841?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EfwKNW-kLcPSv1foPZIqC9ColPw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EfwKNW-kLcPSv1foPZIqC9ColPw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EfwKNW-kLcPSv1foPZIqC9ColPw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EfwKNW-kLcPSv1foPZIqC9ColPw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/1412652824242874841/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=1412652824242874841" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1412652824242874841?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1412652824242874841?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/09/magic-mobile-cloud-daily.html" title="The Magic Mobile Cloud Daily" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-55YDcrGI4EQ/ToTjwkfKo4I/AAAAAAAAAOk/UajFmEMSftY/s72-c/Magic+Mobile+Cloud+Daily.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0AAQH06eSp7ImA9WhdUE04.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-3851267116507602928</id><published>2011-09-14T17:26:00.000-07:00</published><updated>2011-09-29T14:29:01.311-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T14:29:01.311-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Chuck Norris jokes" /><category scheme="http://www.blogger.com/atom/ns#" term="top ten programming jokes" /><category scheme="http://www.blogger.com/atom/ns#" term="Magic application platform" /><category scheme="http://www.blogger.com/atom/ns#" term="programmer jokes" /><category scheme="http://www.blogger.com/atom/ns#" term="Chuck Norris" /><category scheme="http://www.blogger.com/atom/ns#" term="top ten chuck norris jokes" /><category scheme="http://www.blogger.com/atom/ns#" term="programming jokes" /><category scheme="http://www.blogger.com/atom/ns#" term="top ten programmer jokes" /><title>If Chuck Norris Were A Programmer</title><content type="html">&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-0JXPlBLV9J8/ToTiwGE31KI/AAAAAAAAAOc/WPDislRwR2E/s1600/If+Chuck+Norris+Were+A+Programmer.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-0JXPlBLV9J8/ToTiwGE31KI/AAAAAAAAAOc/WPDislRwR2E/s320/If+Chuck+Norris+Were+A+Programmer.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Top Ten “If Chuck Norris Were A Programmer” Jokes&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;10.&lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck Norris were a programmer,
memory would be afraid to take a leak.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;9. &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck
Norris were a programmer, President Obama would be doing his garbage collection.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;8.&lt;/b&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck
Norris were a programmer, the food chain would collapse because he would kill
every bug on the planet.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;7.&lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck
Norris were a programmer, unstructured data would become structured. With Chuck
around, nobody ever gets out of line.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;6. &lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck
Norris were a programmer, application security wouldn’t even be an issue.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;5.&lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck
Norris were a programmer, all his programs would be strongly typed.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;4.&lt;/b&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck
Norris were a programmer, none of his functions would have arguments. &lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;3.&lt;/b&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck
Norris were a programmer, his first program wouldn’t be ‘Hello World’ it would
be ‘Goodbye Underworld.’&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;2.&lt;/b&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Chuck
Norris were a programmer, there would be no exception handling, because there
would be no exceptions ever.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;… and the Number One “If Chuck Norris Were A Programmer”
Joke:&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;1.&lt;/b&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Chuck
Norris were a programmer, all his applications would be perfectly metadata-driven. After all, they would be developed on a &lt;a href="http://www.magicsoftware.com/en/products/?catID=70"&gt;Magic application platform&lt;/a&gt;!&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-3851267116507602928?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/z7HpydwIshAn--SXA31Z7KZufz4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z7HpydwIshAn--SXA31Z7KZufz4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/z7HpydwIshAn--SXA31Z7KZufz4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z7HpydwIshAn--SXA31Z7KZufz4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/3851267116507602928/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=3851267116507602928" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3851267116507602928?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3851267116507602928?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/09/if-chuck-norris-were-programmer.html" title="If Chuck Norris Were A Programmer" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-0JXPlBLV9J8/ToTiwGE31KI/AAAAAAAAAOc/WPDislRwR2E/s72-c/If+Chuck+Norris+Were+A+Programmer.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEQBSHg8cCp7ImA9WhdUE04.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-8634048658415723877</id><published>2011-09-13T16:28:00.000-07:00</published><updated>2011-09-29T14:39:19.678-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T14:39:19.678-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Magic application platform" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET forms. .NET forms library. .NET controls" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows forms" /><category scheme="http://www.blogger.com/atom/ns#" term="uniPaaS" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio.NET" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET programming" /><category scheme="http://www.blogger.com/atom/ns#" term="alternatives to Visual Studio" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET platform" /><title>A Trip to the .NET Forms Library with uniPaaS 2.0</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif; font-size: 16px; line-height: 18px;"&gt;With the release of &lt;a href="http://www.magicsoftware.com/en/products/?catID=70"&gt;uniPaaS 2.0, the Magic Application Platform&lt;/a&gt; now supports the use of the Windows .NET forms library. These
capabilities are delivered by .NET within “classes” that are a part of what is
known as the &lt;b&gt;System.Windows.Forms&lt;/b&gt; namespace.&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Beginning with uniPaaS 2.0, the use of the .NET Forms library
within a uniPaaS application is supported in both uniPaaS online (client server)
and rich client tasks. After you begin a new task, you must define your .NET
object in a new variable by creating a virtual variable in the Dataview Tab of
the uniPaaS task. You select the .NET object type either by typing the name or
using the uniPaaS selection lists to find the .NET object you want to use. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Developing with the Windows .NET forms library is much
easier on the uniPaaS .NET application platform than it is in simple 3GL .NET coding
languages such as C#, C++, JScript or VB.NET. uniPaaS 2.0 provides a metadata
driven paradigm for application development that allows you to easily
incorporate managed code from the .NET forms library along with so-called “unmanaged
functionality.” This is true because the uniPaaS 2.x runtime engine is an
extension of the uniPaaS 1.x runtime engine. A new .NET front-end wraps the
existing C++ engine, thus enabling both .NET and unmanaged functionality in a
single runtime engine. The ease-of-use comes into play in several ways:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;When
you want to use .NET forms capabilities, you can. It is not mandatory. &amp;nbsp;Very rich applications can be designed using
the core GUI capabilities within uniPaaS.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 115%;"&gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;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.&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif; font-size: 16px; line-height: 18px;"&gt;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.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Let’s review the seven main class categories in the
Windows .NET form library:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Control,
User Control and Form classes. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&amp;nbsp;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. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Menu
and Toolbar classes. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;The
library also includes a category of classes for building custom toolbars and
menus with your desired look and feel.&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.toolstrip(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;ToolStrip&lt;/span&gt;&lt;/a&gt; is used for creating toolbars. &amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.menustrip(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;MenuStrip&lt;/span&gt;&lt;/a&gt; is used for creating menu bars. &amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.contextmenustrip(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;ContextMenuStrip&lt;/span&gt;&lt;/a&gt; is used to create context
menus. And &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.statusstrip(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;StatusStrip&lt;/span&gt;&lt;/a&gt;&amp;nbsp;can be used to create status
bars.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Standard GUI Control classes.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt; The Windows forms library included
a number of mainstream controls for input (such as &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.textbox(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;TextBox&lt;/span&gt;&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;ComboBox&lt;/span&gt;&lt;/a&gt;) display of data (such as &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.label(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;Label&lt;/span&gt;&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.listview(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;ListView&lt;/span&gt;&lt;/a&gt;) and firing of commands (such as &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.button(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;Button&lt;/span&gt;&lt;/a&gt;). &lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Layout
classes.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt; &lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;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 &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.flowlayoutpanel(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;FlowLayoutPanel&lt;/span&gt;&lt;/a&gt;&amp;nbsp;lays out all the controls
it contains in a series, and the&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutpanel(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;TableLayoutPanel&lt;/span&gt;&lt;/a&gt;&amp;nbsp;provides a control for
laying out data in a fixed grid.&amp;nbsp;More sophisticated layouts can be managed
through the &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.splitcontainer(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;SplitContainer&lt;/span&gt;&lt;/a&gt;&amp;nbsp;class which is a control
that divides your display area into adjustable parts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Data and Data Binding classes. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&amp;nbsp;You can also use Windows Forms to create the
interfaces for binding to data sources such as databases, XML and flat files.
The&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;DataGridView&lt;/span&gt;&lt;/a&gt;&amp;nbsp;is a sophisticated data
control that allows for custom tables displaying information with specific &amp;nbsp;cell, row, column, and border properties. Also,
the&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingnavigator(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;BindingNavigator&lt;/span&gt;&lt;/a&gt;&amp;nbsp;and &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;BindingSource&lt;/span&gt;&lt;/a&gt; controls allow you to develop
interfaces &amp;nbsp;that navigate and work with
data on a form in a standard way.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Helpful classes.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt; 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&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.tooltip(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;ToolTip&lt;/span&gt;&lt;/a&gt;&amp;nbsp;or an error&amp;nbsp;(&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.errorprovider(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;ErrorProvider&lt;/span&gt;&lt;/a&gt;). &amp;nbsp;And the&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.help(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;Help&lt;/span&gt;&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.helpprovider(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;HelpProvider&lt;/span&gt;&lt;/a&gt;&amp;nbsp;classes are useful for
displaying relevant Help information to a user of your applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Traditional Dialog Boxes.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt; 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&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;OpenFileDialog&lt;/span&gt;&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;SaveFileDialog&lt;/span&gt;&lt;/a&gt;&amp;nbsp;classes display dialog boxes
for opening and saving files by users. The&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.fontdialog(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;FontDialog&lt;/span&gt;&lt;/a&gt;&amp;nbsp;class provides a user dialog
box set&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.drawing.font(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;Font&lt;/span&gt;&lt;/a&gt;&amp;nbsp;properties used in a particular
aspect of your application. The&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.pagesetupdialog(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;PageSetupDialog&lt;/span&gt;&lt;/a&gt;,&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.printpreviewdialog(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;PrintPreviewDialog&lt;/span&gt;&lt;/a&gt;, and&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.printdialog(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;PrintDialog&lt;/span&gt;&lt;/a&gt;&amp;nbsp;classes display well-known
and easily understood functionality in a standardized way as well. In addition
to the common dialog boxes, a&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox(v=VS.90).aspx"&gt;&lt;span style="color: #1364c4;"&gt;MessageBox&lt;/span&gt;&lt;/a&gt;&amp;nbsp;class is also available to
create a simple box to display and retrieve data from the user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;Conclusion.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt; In addition to all the standard
classes within the &lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;System.Windows.Forms&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;
namespace, 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. &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://riademo.magicsoftware.com/"&gt;&lt;img border="0" height="348" src="http://4.bp.blogspot.com/-e5SFoL1E2xE/ToTlExFJ4VI/AAAAAAAAAOo/mZrwgZL2G6Q/s640/uniPaaS+NET+Forms+Library.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="font-family: Arial, sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-8634048658415723877?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JfJFLpdTvezlO86BH4Fh6F2IY0c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JfJFLpdTvezlO86BH4Fh6F2IY0c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JfJFLpdTvezlO86BH4Fh6F2IY0c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JfJFLpdTvezlO86BH4Fh6F2IY0c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/8634048658415723877/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=8634048658415723877" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/8634048658415723877?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/8634048658415723877?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/09/trip-to-net-forms-library-with-unipaas.html" title="A Trip to the .NET Forms Library with uniPaaS 2.0" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-e5SFoL1E2xE/ToTlExFJ4VI/AAAAAAAAAOo/mZrwgZL2G6Q/s72-c/uniPaaS+NET+Forms+Library.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEEBSXY8fip7ImA9WhdUE04.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-3198747781347662828</id><published>2011-09-08T02:59:00.000-07:00</published><updated>2011-09-29T14:44:18.876-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T14:44:18.876-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="metadata driven platform" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile enterprise application platform" /><category scheme="http://www.blogger.com/atom/ns#" term="meap" /><category scheme="http://www.blogger.com/atom/ns#" term="metadata definition" /><category scheme="http://www.blogger.com/atom/ns#" term="metadata driven development. metadata" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile application development" /><category scheme="http://www.blogger.com/atom/ns#" term="metadata platform" /><title>The Benefits of Metadata Driven Development</title><content type="html">&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
Eyal Pfeifel, Magic Software’s Chief Technology Officer, recently sat down to discuss metadata driven development. In the video, he provides a useful definition of metadata driven development: “Metadata driven development means developers build business applications using metadata and not using code. Metadata is a high level definition of business objects like forms, dialogs, validations and other things that are part of a business process that build a business application.”&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/LqWRnv_tmX0/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LqWRnv_tmX0&amp;fs=1&amp;source=uds" /&gt;

&lt;param name="bgcolor" value="#FFFFFF" /&gt;

&lt;embed width="320" height="266"  src="http://www.youtube.com/v/LqWRnv_tmX0&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Eyal Pfeifel contrasts metadata driven development with
traditional coding or manual programming. “Unlike code which is tied to a
specific platform or operating system, metadata is a high level definition and theoretically
can run on any platform or operating system. Given that you have the
appropriate runtime engine, you can build an application built using metadata
on any kind of a device, server or client,” says Pfeifel. &amp;nbsp;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
As Chief Technology Officer for Magic Software, Pfeifel
certainly knows what he is talking about when it comes to traditional
programming languages. Magic Software uses these more difficult
third-generation languages (3GL’s) to create the metadata driven platform that
is integral to Magic Software’s higher level and more intuitive application
platforms. For this reason, he is keen to recognize the benefits of the
metadata paradigm over traditional programming. “One of the main benefits of
working with a metadata driven development paradigm is that since metadata
objects are high level business objects it is possible to build a complete
business application in a much shorter time than it would take when using code.
&amp;nbsp;And the same business logic that you can
construct one time very easily is relevant for multiple platform and operating systems
like desktops, servers and even mobile devices.” &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
As Magic Software introduces its impressively expanding capabilities
as a mobile enterprise application platform provider, Pfeifel has found himself
commenting a lot recently on one of his favorite subjects: mobile application
development. &amp;nbsp;“Using a metadata driven
platform it is very easy to extend an enterprise application that originally
started on a desktop or on a server into mobile devices because once you have the
runtime engine running on a mobile device, it can theoretically run any type of
application that you built on a desktop,” Says Pfeifel. &amp;nbsp;“And you can extend your business processes
into a mobile device without needing to rewrite the application from scratch
and with minimal adjustments just to cater for the smaller screen size or
different form factor of the mobile device.”&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Magic Software has a strong reputation for providing
expertise that can future-proof your application development investments. As one
can see by sitting down with Eyal Pfeifel, Magic Software's future-proof
expertise is based on extensive customer feedback, strong R&amp;amp;D investment
and the mindset to continually think ahead. To learn more about the Magic application platform, visit &lt;a href="http://www.magicsoftware.com/en/solutions/?catID=313"&gt;magicsoftware.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-CxVhMxo_m-g/ToTmm6RDq1I/AAAAAAAAAOs/QhgBVqjssm0/s1600/metadata+explained+metadata+definition.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="http://1.bp.blogspot.com/-CxVhMxo_m-g/ToTmm6RDq1I/AAAAAAAAAOs/QhgBVqjssm0/s320/metadata+explained+metadata+definition.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-3198747781347662828?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2vW6M_I9lEmSswYypz1d91AJ76U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2vW6M_I9lEmSswYypz1d91AJ76U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2vW6M_I9lEmSswYypz1d91AJ76U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2vW6M_I9lEmSswYypz1d91AJ76U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/3198747781347662828/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=3198747781347662828" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3198747781347662828?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3198747781347662828?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/09/benefits-of-metadata-driven-development.html" title="The Benefits of Metadata Driven Development" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-CxVhMxo_m-g/ToTmm6RDq1I/AAAAAAAAAOs/QhgBVqjssm0/s72-c/metadata+explained+metadata+definition.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CE8HRXY7fip7ImA9WhdUE04.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-1586354453518782320</id><published>2011-08-22T13:03:00.000-07:00</published><updated>2011-09-29T14:47:14.806-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T14:47:14.806-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Motorola" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile development" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile enterprise application platform" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile appdev" /><category scheme="http://www.blogger.com/atom/ns#" term="meap" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Android" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile application development" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile app dev" /><title>Will Google’s Acquisition of Motorola Really Solve The Mobile Device Fragmentation Problem for Developers?</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-8qZNps9QTzw/ToTnW1ZQ6tI/AAAAAAAAAOw/946daqC33O4/s1600/Google+Motorola+mobile+device+development+fragmentation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-8qZNps9QTzw/ToTnW1ZQ6tI/AAAAAAAAAOw/946daqC33O4/s1600/Google+Motorola+mobile+device+development+fragmentation.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span"&gt;Some people seem to think so. A recent article in SD Times quoted Gartner researcher &lt;span class="apple-style-span"&gt;&lt;span style="color: black; line-height: 115%;"&gt;Carolina Milanesi&lt;/span&gt; as stating that the acquisition could partially solve the developer's dilemma over the mobile device fragmentation issue on Android devices from various manufacturers. But this optimism requires a narrow view of fragmentation as it relates to devices deploying Android only. And it also requires speculation that Motorola will not continue to support some proprietary layers running over the generic Android OS.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="apple-style-span"&gt;&lt;span style="color: black; line-height: 115%;"&gt;&lt;span class="Apple-style-span"&gt;More significantly, however, such optimism completely ignores the fragmentation between mobile operating systems. Google’s acquisition does nothing to help developers who want to develop for both Android and iPhone and Windows and BlackBerry. Google’s acquisition does nothing to bridge this gap. If anything, it tends to guarantee that mobile operating system fragmentation will continue.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: black; line-height: 115%;"&gt;&lt;span class="Apple-style-span"&gt;The value of a &lt;a href="http://www.magicsoftware.com/en/solutions/?catID=313"&gt;Mobile Enterprise Application Platform&lt;/a&gt;’s ability to create applications for multiple mobile devices and mobile operating systems remains strong. As developers find users of a variety of devices needing access to applications, they will need straightforward development solutions that allow them to develop applications targeted to each device without needing to reprogram everything from scratch. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: black; line-height: 115%;"&gt;&lt;span class="Apple-style-span"&gt;The uniPaaS 2.0 Mobile Enterprise Application Platform not only provides an IDE for developing the client applications, it also provides a robust platform for developing and executing the server side application logic. Known for its scalability across IT infrastructure ranging from small businesses servers to massive enterprise deployments, uniPaaS 2.0 can handle very large scale transaction, communication and transport processing. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: black; line-height: 115%;"&gt;&lt;span class="Apple-style-span"&gt;I believe the real benefit for developers in the Google acquisition will emerge as Google is forced to take its own medicine. The practical challenges of developing an operating system that can take advantage of the latest advancements in the device hardware should result in a more coherent evolution of the Android OS. Even competitors to Motorola should find future Android OS versions to be more market ready without as much need for tweaking and layering. Despite this, the really large market fragments will persist: iOS, Android, Windows Mobile and BlackBerry OS will persist and developers will need to decide on their best strategy to maximize their market reach.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="color: black; font-family: Arial, sans-serif; font-size: 9pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-1586354453518782320?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tUpMU4rc-d34pjkyYaA9vV5hLSY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tUpMU4rc-d34pjkyYaA9vV5hLSY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tUpMU4rc-d34pjkyYaA9vV5hLSY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tUpMU4rc-d34pjkyYaA9vV5hLSY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/1586354453518782320/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=1586354453518782320" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1586354453518782320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/1586354453518782320?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/08/will-googles-acquisition-of-motorola.html" title="Will Google’s Acquisition of Motorola Really Solve The Mobile Device Fragmentation Problem for Developers?" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-8qZNps9QTzw/ToTnW1ZQ6tI/AAAAAAAAAOw/946daqC33O4/s72-c/Google+Motorola+mobile+device+development+fragmentation.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEUAQ3o4eCp7ImA9WhdRFUo.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-3382928813467446363</id><published>2011-08-02T10:15:00.000-07:00</published><updated>2011-08-05T12:24:02.430-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T12:24:02.430-07:00</app:edited><title>The New Magic Software Application Platform and the .NET Framework: The Best of Both Worlds</title><content type="html">&lt;a href="http://4.bp.blogspot.com/-jDsgmAlLriE/TjxCz4l6hfI/AAAAAAAAAM8/TkSiNV7nSmY/s1600/unipaas%2B2%2Bthought%2Bcloud.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 137px;" src="http://4.bp.blogspot.com/-jDsgmAlLriE/TjxCz4l6hfI/AAAAAAAAAM8/TkSiNV7nSmY/s400/unipaas%2B2%2Bthought%2Bcloud.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5637454292693190130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;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.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;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.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;With uniPaaS 2.0, Magic Software will soon be offering its first &lt;a href="http://www.magicsoftware.com/en/solutions/?catID=313"&gt;Mobile Enterprise Application Platform&lt;/a&gt; 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 . &lt;/p&gt;  &lt;p class="MsoNormal"&gt;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. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;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. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;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. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;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. &lt;/p&gt;&lt;p class="MsoNormal"&gt;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, &lt;a href="http://web.magicsoftware.com/uniPaaS2.0NowAvailable.html"&gt;please access these resources&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-3382928813467446363?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tYTkGKESfpZWASEY35s4J7jMOwY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tYTkGKESfpZWASEY35s4J7jMOwY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tYTkGKESfpZWASEY35s4J7jMOwY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tYTkGKESfpZWASEY35s4J7jMOwY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/3382928813467446363/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=3382928813467446363" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3382928813467446363?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3382928813467446363?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/08/new-magic-software-application-platform.html" title="The New Magic Software Application Platform and the .NET Framework: The Best of Both Worlds" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-jDsgmAlLriE/TjxCz4l6hfI/AAAAAAAAAM8/TkSiNV7nSmY/s72-c/unipaas%2B2%2Bthought%2Bcloud.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEcBQHw4eip7ImA9WhdRFUo.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-6481140964729430862</id><published>2011-08-01T13:18:00.000-07:00</published><updated>2011-08-05T12:20:51.232-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T12:20:51.232-07:00</app:edited><title>uniPaaS 2.0 is Now Shipping</title><content type="html">&lt;a href="http://4.bp.blogspot.com/-it6DOF3O61U/TjxCiW7I9gI/AAAAAAAAAM0/0WQqMPcxJ_o/s1600/unipaas%2B2%2Bthought%2Bcloud.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 137px;" src="http://4.bp.blogspot.com/-it6DOF3O61U/TjxCiW7I9gI/AAAAAAAAAM0/0WQqMPcxJ_o/s400/unipaas%2B2%2Bthought%2Bcloud.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5637453991597635074" /&gt;&lt;/a&gt;&lt;br /&gt;Magic Software has today issued a new major release of our application platform. Building on the success of previous releases, uniPaaS 2.0 provides key enhancements for improved client server applications, enhanced RIA development and standardization.&lt;br /&gt;&lt;br /&gt;uniPaaS 2.0 builds on key benefits that you expect from Magic Software by providing a future-proof, &lt;a href="http://www.magicsoftware.com/en/products/?catID=70"&gt;metadata-driven application platform&lt;/a&gt; that combines powerful studio resources for development with standardized .NET based rich front-ends for highly interactive user experiences across a variety of clients.&lt;br /&gt;&lt;br /&gt;Extensive functionality previously not supported by uniPaaS is now fully embedded so that developers can leverage industry-standard controls in existing and new applications. uniPaaS 2.0 provides a superb foundation for future development across multiple mobile device environments, RIA, client-server and cloud-based deployments.&lt;br /&gt;&lt;br /&gt;The new client/server runtime uses controls from the Windows Forms .NET library to provide a highly interactive and graphically appealing front end to users. Both the look and feel of the applications and the usability are improved as applications take on a more modern style. Because the uniPaaS client is now based on a .NET layer it is easy for the developer to call any .NET class including third-party libraries. You can take advantage of many of these improvements by migrating your application to uniPaaS 2.0 either through the effort of your own development team or by using Magic Professional Services to assist in your modernization effort for your applications. Our consultants have extensive experience advising and implementing enhanced user interfaces based on .NET controls and third-party libraries.&lt;br /&gt;&lt;br /&gt;We will discuss specific enhancements in a future entry. Let the era of uniPaaS 2.0 begin!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-6481140964729430862?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zSh9tVzTjItJ4Fyznb1Z0p19ypw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zSh9tVzTjItJ4Fyznb1Z0p19ypw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zSh9tVzTjItJ4Fyznb1Z0p19ypw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zSh9tVzTjItJ4Fyznb1Z0p19ypw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/6481140964729430862/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=6481140964729430862" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6481140964729430862?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6481140964729430862?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/08/unipaas-20-is-now-shipping.html" title="uniPaaS 2.0 is Now Shipping" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-it6DOF3O61U/TjxCiW7I9gI/AAAAAAAAAM0/0WQqMPcxJ_o/s72-c/unipaas%2B2%2Bthought%2Bcloud.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DU8FQHs-eSp7ImA9WhRRFk0.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-964407425135322606</id><published>2011-06-15T13:41:00.000-07:00</published><updated>2011-11-29T15:03:31.551-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-29T15:03:31.551-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="REST" /><category scheme="http://www.blogger.com/atom/ns#" term="uniPaaS" /><category scheme="http://www.blogger.com/atom/ns#" term="Restful Web Services" /><category scheme="http://www.blogger.com/atom/ns#" term="HTTPCall" /><title>Take A Load Off: Use RESTful Web Services in uniPaaS</title><content type="html">&lt;div style="border-bottom: solid #AAAAAA 1.0pt; border: none; mso-border-bottom-alt: solid #AAAAAA .75pt; mso-element: para-border-div; padding: 0in 0in 2.0pt 0in;"&gt;
&lt;h2 style="border: none; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: 0in; mso-border-bottom-alt: solid #AAAAAA .75pt; mso-line-height-alt: 14.25pt; mso-padding-alt: 0in 0in 2.0pt 0in; padding: 0in;"&gt;


&lt;span class="mw-headline"&gt;&lt;span style="color: black; font-weight: normal;"&gt;&lt;span class="Apple-style-span"&gt;Take A Load Off: Use RESTful Web Services in uniPaaS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style="border: none; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: 0in; mso-border-bottom-alt: solid #AAAAAA .75pt; mso-line-height-alt: 14.25pt; mso-padding-alt: 0in 0in 2.0pt 0in; padding: 0in;"&gt;


&lt;span class="mw-headline"&gt;&lt;span style="color: black; font-weight: normal;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-inVn8cQwwKI/Tp3XzN3px9I/AAAAAAAAAQo/XIU92ymoUbU/s1600/RESTful+Web+Services.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="424" src="http://4.bp.blogspot.com/-inVn8cQwwKI/Tp3XzN3px9I/AAAAAAAAAQo/XIU92ymoUbU/s640/RESTful+Web+Services.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;We’re pretty good at keeping "well-guarded" secrets at Magic Software. Sometimes we even release useful new features that few people know about. We made a lot of fanfare when we started supporting Web Services based on the SOAP protocol. In fact, I think I wrote the press release back in January 2002.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span"&gt;Here we are nearly 10 years later and uniPaaS now supports REST (Representational State Transfer) approaches to Web Services and few of us paid close attention when this feature emerged in the product with the release of uniPaaS 1.9e. But it is worth paying very close attention because RESTful Web Services can be accomplished without the complexity and overhead of SOAP Web Services. &lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span"&gt;REST isn’t something new at all. In fact, it is the way the Web has worked all along but with some rules added to help everyone get along. &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: solid #AAAAAA 1.0pt; border: none; mso-border-bottom-alt: solid #AAAAAA .75pt; mso-element: para-border-div; padding: 0in 0in 2.0pt 0in;"&gt;
&lt;h2 style="border: none; margin-bottom: .1in; margin-left: 0in; margin-right: 0in; margin-top: 0in; mso-border-bottom-alt: solid #AAAAAA .75pt; mso-line-height-alt: 14.25pt; mso-padding-alt: 0in 0in 2.0pt 0in; padding: 0in;"&gt;


&lt;span class="Apple-style-span"&gt;&lt;span class="mw-headline"&gt;&lt;span style="color: black; font-weight: normal;"&gt;What are RESTful web services?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div style="line-height: 18.0pt; margin-bottom: 6.0pt; margin-left: 0in; margin-right: 0in; margin-top: 4.8pt;"&gt;
&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span"&gt;Baiscally, a RESTful web service is a simple approach to web services implemented using HTTP and based on the architectural principles of REST. A RESTful Web Service has three resources defined:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 18.0pt; margin-bottom: 1.2pt; margin-left: .25in; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list .5in; text-indent: -.25in;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: medium;"&gt;       the URL address for the web service (you may call it a URI if you want, it is basically the same thing). The URL is the equivalent of a noun.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: medium;"&gt;       the supported Internet media data type of the web service.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: medium;"&gt;       the set of HTTP operations supported by the web service. Think of this as the verb.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="line-height: 18.0pt; margin-bottom: 6.0pt; margin-left: 0in; margin-right: 0in; margin-top: 4.8pt;"&gt;
&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span"&gt;The following table shows how the HTTP methods are typically used to implement a web service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: 18.0pt; margin-bottom: 6.0pt; margin-left: 0in; margin-right: 0in; margin-top: 4.8pt;"&gt;
&lt;span class="Apple-style-span"&gt;Unlike Web Services based on&lt;span class="apple-converted-space" style="color: black;"&gt; &lt;/span&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: initial; background-origin: initial; text-decoration: none;"&gt;SOAP&lt;/span&gt;, there is no industry protocol for RESTful web services. In this sense, it is akin to a concept like Service Oriented Architecture (SOA) where a number of different approaches and protocols can be used to accomplish the objectives of the architecture. RESTful Web Services are based upon established W3C and OASIS protocols such as HTTP, URL, XML, etc. The REST architectural style is based on the idea that a client and server are interacting in a stateless manner with cached data via a uniform interface.HTTP 1.1 was designed to conform to REST. Unlike SOAP and XML-RPC, REST does not really require a new message format. Nevertheless, XML is the most popular type of REST message format. When you use XML, it becomes easier to represent the information resource in a variety of ways using XSLT and Cascading Style Sheets (CSS).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: 18.0pt; margin-bottom: 6.0pt; margin-left: 0in; margin-right: 0in; margin-top: 4.8pt;"&gt;
&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span"&gt;In uniPaaS 1.9e, we improved upon the ability of uniPaaS developers to employ RESTful Web Services by adding a new function: &lt;b style="mso-bidi-font-weight: normal;"&gt;HTTPCall&lt;/b&gt;.  This function may be used with a proxy server and supports SSL\TLS with the client certificate password protected and both basic and digest authentication schemas. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="mso-cellspacing: 0in; mso-table-layout-alt: fixed; mso-yfti-tbllook: 1184;"&gt;  &lt;tbody&gt;
&lt;tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"&gt;   &lt;td colspan="3" style="padding: .75pt .75pt .75pt .75pt; width: 469.5pt;" valign="top" width="626"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt;"&gt;
&lt;span class="Apple-style-span"&gt;HTTPCall runs an HTTP request and returns the results. You   can consume REST services by using HTTPCall with any and all verbs. This   function can be used instead of  the &lt;span class="Apple-style-span"&gt;HTTPGet and HTTPPost &lt;/span&gt;functions, thereby simplifying implementation   of RESTful Web Services in uniPaaS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt;"&gt;
&lt;span class="Apple-style-span"&gt;The syntax within uniPaaS for the use of HTTPCall is as   follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style="mso-row-margin-right: 83.4pt; mso-yfti-irow: 1;"&gt;   &lt;td style="padding: .75pt .75pt .75pt .75pt; width: 2.5pt;" valign="top" width="3"&gt;&lt;/td&gt;   &lt;td style="padding: .75pt .75pt .75pt .75pt; width: 383.6pt;" valign="top" width="511"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;HTTPCall   (&lt;i&gt;verb, service URL, message, [header1], [header2], …&lt;/i&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;o:p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;   &lt;td style="border: none; mso-cell-special: placeholder; padding: 0in 0in 0in 0in;" width="111"&gt;&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style="mso-row-margin-right: 83.4pt; mso-yfti-irow: 2;"&gt;   &lt;td style="padding: .75pt .75pt .75pt .75pt; width: 2.5pt;" valign="top" width="3"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;b&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;   &lt;td style="padding: .75pt .75pt .75pt .75pt; width: 383.6pt;" valign="top" width="511"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;The &lt;i&gt;“verb”&lt;/i&gt; is   a string indicating the method. The options include GET, POST, PUT, DELETE,   and HEAD. You can GET a list or a specific member of a collection. POST is   like an append operation in that it adds a member to a collection. PUT   replaces an entire collection or a specified member of the collection. DELETE   erases the entire collection or a specific member of the collection. HEAD is   a header that provides additional header information. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;The “&lt;i&gt;service URL” &lt;/i&gt;is&lt;i&gt; &lt;/i&gt;the string that represents the HTTP address where you will   retrieve the HTTP request. The HTTPCall function can easily pass a user name   and password to the service URL for a secure, rights-based approach to Web   Services. For example, when a uniPaaS client is accessing a web server that   requires a user name and password, the URL should be   HTTP://User:Password@[URL].&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;uniPaaS   will also support secret names by following this approach:  HTTP://%user_secretname%:%pass_secretname%@[URL]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;Obviously, the&lt;i&gt; “message”&lt;/i&gt; is a string with the text of the message. There is   no limitation on the message content. Messages are self-descriptive and   stateless. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;The use of&lt;i&gt; “headers” &lt;/i&gt;is strictly optional and you may include as many as needed&lt;i&gt;.&lt;/i&gt; Each   header may contain a string that provides additional header information as   requested. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;   &lt;td style="border: none; mso-cell-special: placeholder; padding: 0in 0in 0in 0in;" width="111"&gt;&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style="mso-row-margin-right: 83.4pt; mso-yfti-irow: 3; mso-yfti-lastrow: yes;"&gt;   &lt;td style="padding: .75pt .75pt .75pt .75pt; width: 2.5pt;" valign="top" width="3"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;   &lt;td style="padding: .75pt .75pt .75pt .75pt; width: 383.6pt;" valign="top" width="511"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;As   one might expect, the HTTPCall returns a BLOB containing whatever information   results from the HTTP request. If the function fails to make the connection,   a blank value is returned. You can get the response headers using the   HTTPLastHeader function. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;o:p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;Magic   Software provides both Online and Rich Client sample programs that detail the   use of the HTTPCall function.  Look for   sample programs  EL23 and REL23 to get   an idea of how this function can be implemented. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;o:p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 30.4pt; margin-top: 0in;"&gt;
&lt;span class="Apple-style-span"&gt;One   of the traditional disadvantages of REST is that it doesn’t do well with   complex data architectures such as those of relational databases. In this   regard, using uniPaaS allows you to bridge the gap between REST and traditional   databases. With uniPaaS, information is exchanged and represented using   RESTful Web Services while at the same time you can store enterprise data in   industry standard databases. REST advocates will simply say databases are too   complex and should change to conform to the way the Web works. With uniPaaS,   you avoid that argument altogether. It just works. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;   &lt;td style="border: none; mso-cell-special: placeholder; padding: 0in 0in 0in 0in;" width="111"&gt;&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="MsoNormal"&gt;
&lt;o:p&gt;&lt;span class="Apple-style-span"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-964407425135322606?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R0jBVzNRUFOT9U0kYsw4KnKF8W8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R0jBVzNRUFOT9U0kYsw4KnKF8W8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R0jBVzNRUFOT9U0kYsw4KnKF8W8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R0jBVzNRUFOT9U0kYsw4KnKF8W8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/964407425135322606/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=964407425135322606" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/964407425135322606?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/964407425135322606?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/06/take-load-off-use-restful-web-services.html" title="Take A Load Off: Use RESTful Web Services in uniPaaS" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-inVn8cQwwKI/Tp3XzN3px9I/AAAAAAAAAQo/XIU92ymoUbU/s72-c/RESTful+Web+Services.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DUYDSX04fCp7ImA9WhZUE0U.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-6656240426822333444</id><published>2011-06-06T11:40:00.000-07:00</published><updated>2011-06-06T12:06:18.334-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-06T12:06:18.334-07:00</app:edited><title>Mobile Enterprise Application Platform: Any Time</title><content type="html">&lt;p class="MsoNormal"&gt;&lt;b&gt;Ten Key Questions to Help Compare MEAP Vendors&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Comparing &lt;a href="http://www.magicsoftware.com/en/solutions/?catID=313"&gt;mobile enterprise application platforms (MEAPs)&lt;/a&gt; can be challenging. Quite often those that are seeking a MEAP solution do so precisely because they do not want to invest in developing in-house expertise in all of the programming languages and environments required to provide native client solutions for major mobile device environments such as BlackBerry, iPhone, Android and Windows. The IT departments ability to anticipate the challenges of each target device environment is often limited due to lack of familiarity with the differences in all these environments. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;To complicate matters more, MEAP vendors are rarely what they appear to be. It is first of all necessary to try to separate out current capabilities from future plans in the vendor roadmap. One must then ask, what is the vendor history in living up to the promises in their roadmap?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Even once you have all this sorted out and have separated out marketing hype from actual platform capabilities, the task of making comparisons gets tricky. Is device management a necessary part of the evaluation, or should we consider that a separate category just as we consider development tools and IT operations software as separate systems in the data center? Evaluators need to carefully consider their own rollout plans versus the vendors plan for device support. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;More important than any of these tangled issues, however, is the question of productivity. The reason for adopting a MEAP is to reduce effort. In order to live up to the need to develop and deploy mobile apps at anytime and anywhere, you need a MEAP that is truly metadata based, employs fully native clients, and has seamless capability to develop and maintain enterprise data center, enterprise cloud and enterprise mobile apps without duplicate programming efforts.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Here are a few key questions to ask a MEAP vendor?&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Are native coding skills required to complete projects or make changes? Some MEAP vendors surprisingly do not complete the process of creating the mobile app for the target device. Manual programming and tweaking is required. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Will we need to use the native debugger to test our applications? If the MEAP forces you to debug their deployment capabilities on a target device, then you that means you are likely to be required to write code to fix any problems you find. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Can my MEAP platform also create desktop, client server and web applications? Some MEAPs are mobile only and have little or no capabilities for supporting other types of applications. This lack of support means duplicate coding for those environments. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Does the MEAP platform allow me to control the look and feel of the application so that I can develop with a native look and feel for each device? Will BlackBerry apps look like other BlackBerry apps? Will an iPhone app look and feel like an iPhone app? etc.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;5.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Does the MEAP platform vendor have a solid track record of back-end integration? Do they have a complete set of integration tools to allow you to integrate enterprise IT systems, data and processes with your MEAP platform? Integration to backend systems is a crucial component of providing B2E, B2B, and B2C applications. Without a straightforward solution for integration, you may end up spending months of unnecessary development time trying to integrate your mobile apps to existing enterprise systems.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;6.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Is the solution multilingual and can the vendor provide multilingual support? If you need a global solution, some vendors have limited reach in North America but not beyond.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;7.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How long have you been in business? Too many vendors are in startup mode with no guarantee that they will stick around. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;8.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Will you provide financial statements showing your revenues, profitability, cash on hand and debt position? If a vendor is unwilling to provide financial statements, then you are at significant risk that you may be dealing with a vendor that is on the brink of imminent financial failure. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;9.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Does the MEAP vendor have a parent company whose objectives are different from those of the independent software vendor that it acquired? If the parent company acquired the MEAP platform to serve the needs of its larger client base, will that be at cross-purposes to your needs?&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;10.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Does the MEAP vendor have a coherent strategy for enterprise systems, mobile apps and the cloud? Can the vendor ensure that all of these solutions can be based on the same service-oriented architecture (SOA)? Is the platform capable of compositing existing application logic from Java, .NET, COBOL, RPG and other environments? A good MEAP platform will be capable of leveraging all that you have today and have a coherent strategy for deploying solutions in all of the environments that you need to be in tomorrow. A vendor that can future-proof your efforts will ultimately be the smart choice for development of mobile apps.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Once you have a satisfactory sense of what your vendor can offer, the question of how it is licensed and priced is appropriate. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;Some vendors adhere strictly to a per user pricing strategy. Others offer a per server pricing model. Some offer both or a hybrid. If you are developing a B2C enterprise mobile app, then per user charges are unappealing. But if you have a fairly small target B2E or B2B audience, then hefty per server pricing may be disadvantageous. In the final analysis, you will need a vendor that is willing to work with you to assure complete satisfaction and success. Evaluate vendor technical support, training and professional services. All these things combine to make the selection of a MEAP platform a difficult decision. But if you know the questions to ask, you are on the right track. To see a video announcing the Magic Software &lt;a href="http://web.magicsoftware.com/US-MobileOfferingVideo.html"&gt;Mobile Enterprise Application Platform (MEAP), click here&lt;/a&gt;. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-6656240426822333444?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3GmlDpdCBPiTLLISCE1SPi2zy0w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3GmlDpdCBPiTLLISCE1SPi2zy0w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3GmlDpdCBPiTLLISCE1SPi2zy0w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3GmlDpdCBPiTLLISCE1SPi2zy0w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/6656240426822333444/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=6656240426822333444" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6656240426822333444?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6656240426822333444?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/06/mobile-enterprise-application-platform.html" title="Mobile Enterprise Application Platform: Any Time" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEcBSHY9fCp7ImA9WhZWE0Q.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-124167624637283324</id><published>2011-05-14T09:46:00.001-07:00</published><updated>2011-05-14T09:54:19.864-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-14T09:54:19.864-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile development" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile enterprise application platform" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile appdev" /><category scheme="http://www.blogger.com/atom/ns#" term="blackberry development" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile application development" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile app dev" /><title>Mobile Enterprise Application Platform: Any Device…</title><content type="html">&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://2.bp.blogspot.com/-J63Wdi1K0e0/Tc6yEBN137I/AAAAAAAAAL8/VmcsMrA1L9w/s400/Mobile%2BEnterprise%2BApplication%2BPlatform.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5606614368238559154" /&gt;&lt;p style="margin:0in;margin-bottom:.0001pt;line-height:19.2pt"&gt;&lt;span class="Apple-style-span"  &gt;&lt;span style="color: rgb(51, 51, 51); border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: windowtext; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "&gt;When choosing a &lt;a href="http://www.magicsoftware.com/en/solutions/?catID=313"&gt;mobile enterprise application platform&lt;/a&gt;, the ability to deploy to any device is an important consideration.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;Even if you only need to deploy to one or two types of devices currently (such as BlackBerry or Windows Mobile), you'll want to choose a platform that can give you the opportunity to deploy on Android and the iPhone in the future.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;But the question of "any device" goes much deeper than that.&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51); "&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in;margin-bottom:.0001pt;line-height:19.2pt"&gt;&lt;span style="color: rgb(51, 51, 51); "&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  &gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in;margin-bottom:.0001pt;line-height:19.2pt"&gt;&lt;span class="Apple-style-span"  &gt;&lt;span style="color: rgb(51, 51, 51); border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: windowtext; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "&gt;A mobile enterprise application platform must support the native user interface of each device.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;In other words, a BlackBerry application should look like a BlackBerry application and an application for the iPhone should look like an iPhone application.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;Many of the solutions being used today such as Citrix and Terminal Server technologies remind me of the old screen scrapers that were used to place "green screen" applications on a Windows desktop.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;The device had changed, but the interface was essentially the same.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;Users were dissatisfied when they realized they had basically the same application with the old interface, but just running somewhere else.&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51); "&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in;margin-bottom:.0001pt;line-height:19.2pt"&gt;&lt;span class="Apple-style-span"  &gt;&lt;span style="color: rgb(51, 51, 51); border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: windowtext; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in;margin-bottom:.0001pt;line-height:19.2pt"&gt;&lt;span class="Apple-style-span"  &gt;&lt;span style="color: rgb(51, 51, 51); border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: windowtext; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "&gt;With &lt;a href="http://www.youtube.com/watch?v=GKp_QdsDx_E"&gt;Magic Software's mobile offering&lt;/a&gt;, you will be able to develop through a single paradigm and still run natively on each device you want.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;This is a big difference and the main benefit for developers and end users.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;Without &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;Mobile Magic Software’s mobile offering, you would need to program in several languages requiring different skillsets:&lt;span class="apple-converted-space"&gt; &lt;/span&gt;NET Compact and Windows Forms for Windows Mobile, Java J2ME for BlackBerry devices, Java J2SE for Android, and Objective-C for the Apple iPhone.&lt;span class="apple-converted-space"&gt; &lt;/span&gt; Magic Software’s mobile offering leverages metadata that allows you to use a single development paradigm and still run applications natively for all these devices, and you still have the ability to specify the use of the native look and feel of the device.&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51); "&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in;margin-bottom:.0001pt;line-height:19.2pt"&gt;&lt;span class="Apple-style-span"  &gt;&lt;span style="color: rgb(51, 51, 51); border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: windowtext; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in;margin-bottom:.0001pt;line-height:19.2pt"&gt;&lt;span style="color: rgb(51, 51, 51); border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: windowtext; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  &gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in;margin-bottom:.0001pt;line-height:19.2pt"&gt;&lt;span style="color: rgb(51, 51, 51); border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: windowtext; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "&gt;&lt;span class="Apple-style-span"  &gt;For more information, please click here to download the White Paper "&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51); "&gt;&lt;span class="Apple-style-span"  &gt;&lt;a href="http://web.magicsoftware.com/magic-softwares-mobile-offering-technology-overview/"&gt;&lt;span style="color:#265E15;border:none windowtext 1.0pt;mso-border-alt:none windowtext 0in; padding:0in;text-decoration:none;text-underline:none"&gt;Magic Software's Mobile Offering Technology Overview&lt;/span&gt;&lt;/a&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="border:none windowtext 1.0pt;mso-border-alt:none windowtext 0in; padding:0in"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: windowtext; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "&gt;. "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size: 9pt; "&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-124167624637283324?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JjcuhvEj1RKe3uzRiOFEVoySDjk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JjcuhvEj1RKe3uzRiOFEVoySDjk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JjcuhvEj1RKe3uzRiOFEVoySDjk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JjcuhvEj1RKe3uzRiOFEVoySDjk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/124167624637283324/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=124167624637283324" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/124167624637283324?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/124167624637283324?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/05/mobile-enterprise-application-platform_14.html" title="Mobile Enterprise Application Platform: Any Device…" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-J63Wdi1K0e0/Tc6yEBN137I/AAAAAAAAAL8/VmcsMrA1L9w/s72-c/Mobile%2BEnterprise%2BApplication%2BPlatform.jpg" height="72" width="72" /><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;D0YER30zeCp7ImA9WhZWE0w.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-3766707440195334217</id><published>2011-05-13T12:24:00.001-07:00</published><updated>2011-05-13T12:31:46.380-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-13T12:31:46.380-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile development" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile enterprise application platform" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile appdev" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone development" /><category scheme="http://www.blogger.com/atom/ns#" term="blackberry development" /><category scheme="http://www.blogger.com/atom/ns#" term="meap" /><category scheme="http://www.blogger.com/atom/ns#" term="Android development" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile application development" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile app dev" /><title>Mobile Enterprise Application Platform: Any App...</title><content type="html">&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 254px;" src="http://4.bp.blogspot.com/-o2Y_HwFnWPM/Tc2FokH2QfI/AAAAAAAAAL0/-CTNAGY-Nqc/s400/Mobile%2BFAQ%2BBanner.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5606284043083989490" /&gt;&lt;span class="Apple-style-span" style="font-family: arial; line-height: 19px; color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: none; "&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;Enterprise mobility is in part a decision about &lt;/span&gt;&lt;a href="http://unipaas.blogspot.com/2011/05/mobile-enterprise-application-platform.html"&gt;&lt;span style="font-size: 12pt; "&gt;“how to” develop and deploy mobile applications&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt; but it also involves serious questions about “what” applications to deploy. The fact that a good mobile enterprise application platform &lt;i style="mso-bidi-font-style:normal"&gt;can&lt;/i&gt; make core enterprise software systems accessible remotely by a handheld device does not necessarily mean that all data and functionality &lt;i style="mso-bidi-font-style: normal"&gt;should&lt;/i&gt; be exposed. Serious decisions need to be made about which data is accessible and which business functions are to be mobile-enabled. In this regard, it is important that you have all the tools in place to allow you to selectively integrate enterprise applications rather than simply providing wholesale access to your back end systems and processes.&lt;/span&gt;&lt;/span&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;With the announcement of Magic Software’s Mobile Offering yesterday, a new discussion of the importance of complex &lt;i style="mso-bidi-font-style:normal"&gt;mobile&lt;/i&gt; business process and workflow was begun. See for example, the article in Dr. Dobbs Journal subtitled: “&lt;a href="http://drdobbs.com/mobility/229500084"&gt;&lt;span style="font-size: 12pt; line-height: 115%; "&gt;complex workflow support for mobile deployment of enterprise apps&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt; line-height: 115%; color: rgb(51, 51, 51); "&gt;.” &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%; color: rgb(51, 51, 51); "&gt;&lt;span class="Apple-style-span" &gt;Magic Software offers the mobile enterprise application platform you need to develop and deploy mobile apps &lt;u&gt;and&lt;/u&gt; it provides the integration platform that enables connectivity and data interchange with your existing enterprise applications. Rather than engaging in extensive retooling of an existing application, you can use Magic Software’s iBOLT integration platform to automate the orchestration of data transformations, business transactions and application messaging with backend systems. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; line-height:14.25pt"&gt;&lt;span class="Apple-style-span" &gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;This automated approach to integration is the first step in reducing the effort required to &lt;i style="mso-bidi-font-style:normal"&gt;mobilize&lt;/i&gt; any application. We then return our consideration to the mobile enterprise application platform itself. As a metadata engine, Magic Software’s uniPaaS application platform is a ready&lt;/span&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;‐&lt;/span&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;made business application engine containing pre&lt;/span&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;‐&lt;/span&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;written technical and administrative functions and services.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It frees the developer to bypass the intensive technical code&lt;/span&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;‐&lt;/span&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;writing stage of application development and move quickly and efficiently to deployment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; line-height:14.25pt"&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;&lt;span class="Apple-style-span" &gt;The easiest way to grasp this concept is to see uniPaaS in action. The uniPaaS development environment is really a visual representation of application ‘assets’ and business rules stored in XML based ‘metadata’. This metadata business structure can be easily transferred from one deployment scenario to another (for example, Windows Mobile to BlackBerry) with minimal effort. And as discussed in our previous entry, it isn’t a matter of developing one core application and force fitting it onto various devices. Applications designed for iPhone and Android should have the unique look and feel of those devices. Instead, Magic Software’s Mobile offering allows you to customize your core business application for each device without having to refactor your core business logic or data structures. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; line-height:14.25pt"&gt;&lt;span class="Apple-style-span" &gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;For more information, please &lt;/span&gt;&lt;a href="http://web.magicsoftware.com/magic-softwares-mobile-offering-faq/"&gt;&lt;span style="font-size: 12pt; color: rgb(102, 153, 204); "&gt;click here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt; to download &lt;/span&gt;&lt;a href="http://web.magicsoftware.com/magic-softwares-mobile-offering-faq/"&gt;&lt;span style="font-size: 12pt; color: rgb(102, 153, 204); "&gt;Magic Software’s Mobile Offering FAQ&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: rgb(51, 51, 51); "&gt;&lt;span class="Apple-style-span" &gt;.&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-3766707440195334217?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/H2oho5K_A27MU3kwKfhYj6norz4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H2oho5K_A27MU3kwKfhYj6norz4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/H2oho5K_A27MU3kwKfhYj6norz4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H2oho5K_A27MU3kwKfhYj6norz4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/3766707440195334217/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=3766707440195334217" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3766707440195334217?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3766707440195334217?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/05/mobile-enterprise-application-platform.html" title="Mobile Enterprise Application Platform: Any App..." /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-o2Y_HwFnWPM/Tc2FokH2QfI/AAAAAAAAAL0/-CTNAGY-Nqc/s72-c/Mobile%2BFAQ%2BBanner.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;Ck8EQno8fSp7ImA9WhZXGUU.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-6580131196724315573</id><published>2011-05-09T15:19:00.000-07:00</published><updated>2011-05-09T15:40:03.475-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-09T15:40:03.475-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="uniPaaS engine" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET events" /><category scheme="http://www.blogger.com/atom/ns#" term="handlers" /><category scheme="http://www.blogger.com/atom/ns#" term="triggers" /><category scheme="http://www.blogger.com/atom/ns#" term="events" /><category scheme="http://www.blogger.com/atom/ns#" term="event-driven programming" /><title>Event-Driven Programming</title><content type="html">&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Event-driven_programming"&gt;Event-driven programming&lt;/a&gt;&lt;/strong&gt; in uniPaaS allows for the flow of the program execution to be triggered by events and handled in a desired manner. Event-based software development in uniPaaS is based on the very powerful uniPaaS engine.&lt;br /&gt;&lt;br /&gt;The &lt;strong&gt;uniPaaS engine&lt;/strong&gt; distinguishes the uniPaaS application platform from other approaches to application development and deployment. With pre-built capability to perform complex data manipulations that are transparent to the developer and end-user, the uniPaaS engine is key to the productivity and performance provide by Magic Software’s approach to application development and deployment.&lt;br /&gt;&lt;br /&gt;The engine includes a set of operations for the developer’s use in creating applications. It also serves up a structure of execution steps called logic units, which work with the operations to perform tasks for the end-user. The developer doesn’t have to tell the uniPaaS application platform how-to do its job. The uniPaaS engine already knows how to perform such actions as opening files, reading records, sorting, displaying data on the screen, and more.&lt;br /&gt;&lt;br /&gt;Contrast this with traditional 3GL and 4GL languages where the developer has to provide detailed instructions through program code to tell a program how-to implement each and every step, regardless of how tedious, repetitive they are. Programmers developing in Java and other languages get very frustrated by the fact that they have to repeat programming done hundreds if not thousands of times before by others. Many throw up their hands on the whole process of programming and say “Been there, done that” while others almost seem to enjoy being slaves to their code. By contrast, uniPaaS saves the developer considerable amounts of time by supplying these built-in operations and execution steps.&lt;br /&gt;&lt;br /&gt;Naturally, the uniPaaS engine includes extensive support for event driven programming. Events, triggers and handlers are built in concepts. uniPaaS lets you define the uniPaaS logic as a response to implicit and explicit events that may occur during the execution of a task.&lt;br /&gt;&lt;br /&gt;For the uniPaaS developer, an event is simply a logical definition of an occurrence. An event can be handled by an event handler to perform a flow of operations that the developer chooses. An event can also be assigned as a trigger of another user-defined event. When the triggering event is raised, it triggers the user-defined event. But uniPaaS isn’t just aware of events, it also allows the developer to handle events very specifically.  In uniPaaS, a handler is a set of operations designated to be performed when a specified event is raised.&lt;br /&gt;&lt;br /&gt;There are a number of different event types managed by uniPaaS.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;System events&lt;/strong&gt; are triggered by defined keystroke combinations. uniPaaS developers  can define keystroke combinations for system events in a dialog box.&lt;br /&gt;&lt;br /&gt;A uniPaaS &lt;strong&gt;internal event &lt;/strong&gt;is usually handled by uniPaaS itself. But you can define a new or additional handler for these internal events.&lt;br /&gt;&lt;br /&gt;Additional &lt;strong&gt;user events &lt;/strong&gt;can be defined in the Event repository by the developer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Timer Events &lt;/strong&gt;within uniPaaS are based on durations, so that for every time interval of a specified duration, the event is invoked.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Expression Events&lt;/strong&gt; are vents that are triggered when an expression evaluates to True. If the expression evaluates to false, then the event is not triggered.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Error Events&lt;/strong&gt; are invoked when database-related errors occur such as a duplicate index or record that has been changed by another user.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ActiveX events&lt;/strong&gt; are still used in some programs that use COM objects and Active X. An ActiveX event is raised for COM objects. If the event has built-in variables, they are created in the handler. It should be noted that ActiveX events are not supported with rich client tasks.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;.NET events &lt;/strong&gt; are preferred in rich client mode, where uniPaaS includes full support for .NET variables and events. When an event has built-in variables, they are created as parameters in the handler with the relevant .NET type. You can also define an event handler without defining a variable. In such a case, you can write the object from which you want to select the event.&lt;br /&gt;&lt;br /&gt;uniPaaS events can be project-related events, triggered during the execution of any of the project's programs or task-related events confined to a specific task in which they are defined or to the task and its subtasks.&lt;br /&gt;&lt;br /&gt;An event can have more than one trigger and more than one handler. Each trigger can raise the event in a different scenario. One or more handlers can handle the event for each scenario. This allows for complex event driven programming while avoiding the complexity of line-by-line coding. The uniPaaS &lt;a href="http://www.magicsoftware.com/"&gt;application platform &lt;/a&gt;is available commercially from Magic Software Enterprises.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-6580131196724315573?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5by0UVRiKCw1-pZSAwdBVlQa4O4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5by0UVRiKCw1-pZSAwdBVlQa4O4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5by0UVRiKCw1-pZSAwdBVlQa4O4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5by0UVRiKCw1-pZSAwdBVlQa4O4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/6580131196724315573/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=6580131196724315573" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6580131196724315573?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/6580131196724315573?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/05/event-driven-programming.html" title="Event-Driven Programming" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0cFSHY_fip7ImA9WhZREE4.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-7239374313247656367</id><published>2011-04-05T13:12:00.000-07:00</published><updated>2011-04-05T13:23:39.846-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-05T13:23:39.846-07:00</app:edited><title>MIUG 2011: MIUG Keynote Speaker Announced</title><content type="html">&lt;a href="http://1.bp.blogspot.com/-n9WSOk8-JTw/TZt6JAKz9RI/AAAAAAAAALM/JG2OycpNL0k/s1600/Eyal_Pfeifel_CTO.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 275px; height: 183px;" src="http://1.bp.blogspot.com/-n9WSOk8-JTw/TZt6JAKz9RI/AAAAAAAAALM/JG2OycpNL0k/s400/Eyal_Pfeifel_CTO.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5592197657393362194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;Magic Software’s Chief Technology Officer Eyal Pfeifel to Keynote Magic Software Users Conference and Lead Key Education Sessions in New Orleans May 3-5, 2011&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Eyal PfeifelChief Technology Officer of Magic Software Enterprises, Ltd., will offer the Keynote address on “Magic Software's Technology Direction.”&lt;br /&gt;In this session, he  will present the Magic Software technology roadmap and vision. This year’s presentation should be of particular interest. In addition, Pfeifel will lead sessions on "Magic Software’s Mobile Offering" and "Working with .NET Components in Magic Applications".&lt;br /&gt;&lt;br /&gt;Eyal Pfeifel is responsible for defining and implementing Magic Software's technology vision and overall product offering. Eyal comes to Magic Software with  more than 20 years experience in planning and managing large-scale and innovative technology projects. Prior to joining Magic Software as CTO in 2009, Eyal was CTO for Ai Research and Technologies, a leading Artificial Intelligence research project.  Eyal has served in executive positions in a diverse range of international hi-tech companies covering Internet, Consumer, Mobile, Enterprise and Reference software. Eyal has also previously worked at Magic Software's Japan branch as marketing general manager from 1998 to 2000 and as product manager at the company's headquarters from 1993 to 1998 and has a strong knowledge of application development and enterprise software.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" &gt;Registration Deadline: April 22, 2010&lt;/span&gt;&lt;br /&gt;To register, please call (949) 250-1718 and ask for Brian at ext. 232 or Megan at ext. 221. The conference registration fee is still only $599 and credit cards are accepted. Be sure to also reserve your room at the &lt;b&gt;Renaissance New Orleans Pere Marquette Hotel&lt;/b&gt;. More information is available on the Jazzed on IT website at &lt;a href="http://www.jazzedonit.com/"&gt;http://www.JazzedonIT.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-7239374313247656367?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3o7yuX8UixltkX_Lilca1K6dN4k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3o7yuX8UixltkX_Lilca1K6dN4k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3o7yuX8UixltkX_Lilca1K6dN4k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3o7yuX8UixltkX_Lilca1K6dN4k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/7239374313247656367/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=7239374313247656367" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/7239374313247656367?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/7239374313247656367?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/04/miug-2011-miug-keynote-speaker.html" title="MIUG 2011: MIUG Keynote Speaker Announced" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-n9WSOk8-JTw/TZt6JAKz9RI/AAAAAAAAALM/JG2OycpNL0k/s72-c/Eyal_Pfeifel_CTO.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUMCRn0-fip7ImA9WhZTFE0.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-7416816460857852857</id><published>2011-03-17T17:04:00.000-07:00</published><updated>2011-03-17T17:17:47.356-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-17T17:17:47.356-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java class" /><category scheme="http://www.blogger.com/atom/ns#" term="EJB" /><category scheme="http://www.blogger.com/atom/ns#" term="static method" /><category scheme="http://www.blogger.com/atom/ns#" term="Java comparison" /><category scheme="http://www.blogger.com/atom/ns#" term="java weaknesses" /><category scheme="http://www.blogger.com/atom/ns#" term="buy unipaas" /><category scheme="http://www.blogger.com/atom/ns#" term="JNI" /><title>Comparing uniPaaS and Java: Can’t We All Just Get Along?</title><content type="html">Recently, we conducted an interesting challenge with &lt;a href="http://web.magicsoftware.com/unipaas-jet-download/"&gt;uniPaaS Jet&lt;/a&gt;. We asked an independent developer already familiar with Java programming and having no previous uniPaaS experience to download uniPaaS Jet, learn it and create a simple program using uniPaaS Jet. (We had earlier asked them to create the same program using Java.)  We asked them to take careful notes of the resources required and the effort involved. uniPaaS proved itself more efficient in every category. uniPaaS used half the memory and half the file storage. uniPaaS required barely 1% of the logical lines of code and 7% of the physical lines of code. The uniPaaS program executed for the first time in 1/10th the amount of time. The applied effort was 202 hours in Java and only 3.2 hours in uniPaaS. The project duration was 2.63 months in Java and part of a single day in uniPaaS.&lt;br /&gt;&lt;br /&gt;Our purpose in reporting these findings is not to engage in Java bashing or point out Java weaknesses, in fact uniPaaS is very Java-friendly. We have some Java developers in our R&amp;D department. And most important we believe uniPaaS can offer much to Java development teams to provide them with tools that can take advantage of their investment in Java while providing them the kind of advantages experienced by the independent developer mentioned above. &lt;br /&gt;&lt;br /&gt;The Java Integration built into uniPaaS allows uniPaaS to interface with a Java class or Enterprise JavaBeans (EJB) by using pseudo-references that represent instances of Java classes or EJB files. Pseudo references are an identifier representing the values from a class instance in a BLOB variable. Programs must pass this identifier to access the methods and variables of a class instance. A Java class is a template definition of the methods and variables in a particular kind of object. An object can be a specific instance of a class and can contain real values instead of variables. For integration to Java classes by a uniPaaS application, you can access static methods and variables without the pseudo-reference. &lt;br /&gt;&lt;br /&gt;Java instances, static methods and variables are invoked by uniPaaS’s Java and EJB functions. In Java, a class instance is a specific implementation of the Java class while a static class method is a class method that can be called without instantiating the class. Likewise, a static class variable is a class variable that can be accessed without instantiating the class.&lt;br /&gt;&lt;br /&gt;An Enterprise Java Bean (EJB) is an architecture for defining Java program components that run on a client/server network. The uniPaaS EJB Component Generator is a wizard that generates a component containing uniPaaS programs that call a Java class or EJB functions. A Java Native Interface (JNI)  lets non-Java programs interact with Java programs. The Java Component Generator is a wizard that lets uniPaaS automatically access Java classes or EJB files by creating a component that eliminates the need to specify JNI signatures. You can also use uniPaaS to generate Enterprise Java Beans (EJBs). Clients operating within a J2EE environment are able to view and activate uniPaaS programs as EJB methods. You create the EJBs using uniPaaS’s Component Builder utility.&lt;br /&gt;&lt;br /&gt;uniPaaS can create an instance of a Java class that lets you activate a method, or query and update variables using a pseudo-reference. The pseudo-reference is a BLOB variable that represents the Java class instance. When a method is invoked, the BLOB variable returns values to the uniPaaS program as function return codes. Class static methods and variables can also be accessed without having an instance of the Java class by using the class name and the method or variable name.&lt;br /&gt;&lt;br /&gt;The uniPaaS Java functions are used to simulate the calling methods in Java. Each context of the engine internally maps between the pseudo-reference and the actual reference.&lt;br /&gt;&lt;br /&gt;For example, a uniPaaS program can call the JCreate function to create a pseudo-reference as Virtual Variable A. The actual reference to the instance is then internally associated with Virtual Variable A. Any uniPaaS program in the context will be able to access the methods and variables of the object by using JCall(A,...).&lt;br /&gt;The Java functions can be called by a uniPaaS program to:&lt;br /&gt;&lt;br /&gt;• Create a new instance of a Java class&lt;br /&gt;• Call a method directly from the Java class or from an instance&lt;br /&gt;• Report and return exceptions&lt;br /&gt;• Query and update variable values&lt;br /&gt;&lt;br /&gt;The EJB functions enable uniPaaS to explore and invoke Enterprise JavaBeans.&lt;br /&gt;&lt;br /&gt;I think the important message here is that &lt;a href="http://www.magicsoftware.com/en/products/?catID=70"&gt;uniPaaS&lt;/a&gt; can help Java programmers make efficient use of Java classes and EJBs while benefitting from the efficiencies of uniPaaS’ smart application development platform. For additional information access the Magic Software &lt;a href="http://devnet.magicsoftware.com/"&gt;DevNet&lt;/a&gt; or contact your &lt;a href="http://www.magicsoftware.com/en/company/?catID=88"&gt;local office&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-7416816460857852857?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/B2SgLp5XKKF0vvFVduH-OqYDSG0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B2SgLp5XKKF0vvFVduH-OqYDSG0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/B2SgLp5XKKF0vvFVduH-OqYDSG0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B2SgLp5XKKF0vvFVduH-OqYDSG0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/7416816460857852857/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=7416816460857852857" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/7416816460857852857?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/7416816460857852857?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/03/comparing-unipaas-and-java-cant-we-all.html" title="Comparing uniPaaS and Java: Can’t We All Just Get Along?" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CE8MQH04cSp7ImA9Wx9aEE4.&quot;"><id>tag:blogger.com,1999:blog-5749208304446950966.post-3979892558162433006</id><published>2011-03-01T18:17:00.001-08:00</published><updated>2011-03-01T18:28:01.339-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-01T18:28:01.339-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="application architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="fit client" /><category scheme="http://www.blogger.com/atom/ns#" term="application security" /><category scheme="http://www.blogger.com/atom/ns#" term="Thin client" /><category scheme="http://www.blogger.com/atom/ns#" term="RIA" /><category scheme="http://www.blogger.com/atom/ns#" term="Rich Client" /><category scheme="http://www.blogger.com/atom/ns#" term="LAN applications" /><category scheme="http://www.blogger.com/atom/ns#" term="fat client" /><category scheme="http://www.blogger.com/atom/ns#" term="rich internet applications" /><title>Get Rich and Fit: RIA Inside the Firewall</title><content type="html">&lt;span style="font-weight:bold;"&gt;uniPaaS&lt;/span&gt; provides a comprehensive solution for Rich Client applications, sometimes referred to in the industry as Rich Internet Applications (&lt;span style="font-weight:bold;"&gt;RIA&lt;/span&gt;). While many assume that all the advantages of a RIA application stem from the benefits or need for remote application access, there are actually numerous reasons to consider RIA, or perhaps a better term, Rich Client applications, even when they will be running entirely within your own firewall on a Local Area Network (&lt;span style="font-weight:bold;"&gt;LAN&lt;/span&gt;). &lt;br /&gt;&lt;br /&gt;uniPaaS is a platform for developing and deploying rich business applications serving n-tiered users based on Internet protocols. While the rich client approach uses standard internet protocols, this does not necessarily imply that application users are outside the firewall. In fact, uniPaaS RIA does not utilize Internet browsers such as Internet Explorer or Google Chrome but instead provides its own secure client to the user.&lt;br /&gt;&lt;br /&gt;uniPaaS Rich Client Applications may be accessed securely, provide a fully interactive experience, and allow for automatic logic partitioning between clients and servers. User experiences are enhanced through an enhanced look and feel and accessibility of client-side resources in a browser free solution. &lt;br /&gt;&lt;br /&gt;Developers benefit from a single unified IDE and development paradigm, performance-aware optimization during development and automated management of partitioning, communication and technical layers. &lt;br /&gt;&lt;br /&gt;The resulting reduced Total Cost of Ownership (&lt;span style="font-weight:bold;"&gt;TCO&lt;/span&gt;) occurs because: there is no need for application-specific setups to access and run a Rich Client application; there is no need to manage the end-user's machine to accommodate application maintenance; and there is no need to install client-side software, such as Database-client and special printer drivers. Citrix servers are not needed to support RIA applications which can result in extensive long term cost savings.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Enhanced Interactivity and GUI.&lt;/span&gt; Rich client applications benefit from superior graphical and media capabilities as well as enhanced interactivity. This includes the ability to transfer and use files and resources from either the client or server. This enhanced document architecture enables superior enterprise content management and links between core enterprise applications and client side documents including knowledge worker productivity documents such as Word, Excel, PDF and other formats.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Enhanced Developer Productivity through Composite Applications Approach.&lt;/span&gt; With uniPaaS RIA, third-party .NET controls and assemblies can be used as the building blocks of applications. This reduces development time dramatically and provides access to enhanced, standards-based GUI experiences for users. Ability to incorporate standard controls enhances the openness of the , improves the user experience  and reduces development time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fit Client.&lt;/span&gt; The Rich Client deployment mode allows for Server-Side Functions; Client-Side functions and Functions that can be executed on either the client or the server. Furthermore, RIA applications make better use of available computing resources. The Rich Client is neither a fat client nor a thin client. Through partitioning, you have what may be called a fit client, meaning that application functions may be executed on either the client side or server side. uniPaaS supports expressions on either the client-side or server-side. Developer functions are also supported on either client side or server side.  This reduces the processing and memory utilization  load on both the server and the client, and in the long-term makes for a lower cost , more energy efficient computing environment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Parallel Execution.&lt;/span&gt; Several Rich Client programs can run simultaneously by using the Parallel Execution task property. For example, one program for employee management, and another for finance, all from a single entry point, without having to repeat authentication for each parallel program. Rich Client also supports MDI (Multiple Document Interface).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mobile Application Support. &lt;/span&gt;Developing mobile applications with uniPaaS is based on uniPaaS RIA. The main difference between regular RIA and Mobile RIA is the consideration of the mobile devices’ view area and the expected user experience, such as touch screen and styles, and the deployment methodology.  The RC Deployment wizard of the uniPaaS Studio simplifies Mobile deployment. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Hot Fixes and Updates.&lt;/span&gt; With Rich Client, the deployed uniPaaS application can be updated without the need to stop the application and log out all users. Known as “hot fixes” in the industry, this capability allows you to deploy your updates and fixes in a live environment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Security.&lt;/span&gt; The Rich Client environment also has the advantage of reducing security administration and overhead. In a client server environment, there are risks associated with providing client access to servers. RIA applications interact at arm’s length and use secure encrypted communications and transport throughout.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749208304446950966-3979892558162433006?l=unipaas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SffffSgbATLntEt6XdZoyCOB7_g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SffffSgbATLntEt6XdZoyCOB7_g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SffffSgbATLntEt6XdZoyCOB7_g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SffffSgbATLntEt6XdZoyCOB7_g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://unipaas.blogspot.com/feeds/3979892558162433006/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5749208304446950966&amp;postID=3979892558162433006" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3979892558162433006?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5749208304446950966/posts/default/3979892558162433006?v=2" /><link rel="alternate" type="text/html" href="http://unipaas.blogspot.com/2011/03/get-rich-and-fit-ria-inside-firewall.html" title="Get Rich and Fit: RIA Inside the Firewall" /><author><name>Glenn Johnson</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry></feed>

