Monday, October 24, 2011

Enterprise Mobile Mashup Delivers Actionable Information


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: enterprise mobile mashups.

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. 

“ 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.”

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.

David Akka’s excellent interview on Computing.co.uk 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. 

Saturday, October 15, 2011

Creating a Branded App with Magic Software's uniPaaS Application Platform: Mastering the Z-Order of Controls

Creating a Branded App with Magic Software's uniPaaS Application Platform: Mastering the Z-Order of Controls





There is a lot of talk today about the branded app. These are usually mobile apps but sometimes a branded app needs to be a web app or at least an application delivered via the Internet such as a RIA app that floats in a window above the browser -free of all the security and reliability issues that the browser itself imposes. So recently, as the Magic teams from France, Germany, Israel and the Americas headed to Dreamforce ’11 (#DF11) I found myself wanting to keep track of all the sessions we would be participating in at the conference.  Unfortunately, the Dreamforce Chatter application didn't have that functionality. It seemed to me that I ought to be able to add meetings and appointments to the My Calendar section of the Dreamforce app, but alas, I could only add the sessions for which I was eligible to register. So with a little creative daydreaming, I started to wonder, how I might create an event calendar application in uniPaaS and make it look like a branded app for Dreamforce. That exercise got me thinking about the Z-order of controls. 


The uniPaaS Dot Net Tutorial provided the perfect sample program in Events .NET Calendar. But I wanted to make it look like a Dreamforce application. So with a little help from my browser, Photoshop and an understanding of the Z-Order of Controls in uniPaaS, I was able to get my sample application to look just the way I wanted. I wanted a branded app.



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 Events .NET Calendar. 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.
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.

Back in uniPaaS Studio, I selected the Forms tab and zoomed (F5) on the second form which was also named Events .NET Calendar. 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.


Some tweaking of the image position was needed. So the precise X, Y coordinate can be set for the image’s Navigation Control Properties.



The Z-Order 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.
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.



uniPaaS recognizes two groups of controls with regards to Z-Order:
Group I
Group II
Push buttons
Check boxes
Radio buttons
Sliders
Combo boxes
List boxes
OLEs
RTFs
Tree Control
Subforms
Browser Control
Images
Tabs
Static controls
Edit controls
Lines
Groups

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 theArrange context menu or the Command palette to display or change the Z-Order of controls on a form.
To adjust the Z-order you have to make sure Automatic Z-Order is not selected on the Command palette. That’s the  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.
So with very little effort, a ho-hum control can be enhanced with the use of images and become a branded app. 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. 






Friday, October 14, 2011

Learning to Program with uniPaaS


Whether you are a beginning programmer or an experienced hack, learning to program with the Magic Software  uniPaaS Application Platform  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. 

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.

The sample programs included with uniPaaS are installed in the SampleProjects folder.

Rich Internet Demo: 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 http://riademo.magicsoftware.comand the mobile RIA demo examples can be found at  http://riademo.magicsoftware.com/mobile

Online Samples: A set of online (client/server) examples for multiple client/server ‘how to’ scenarios that are described in the book: Mastering uniPaaS.

Rich Internet Samples:  A set of Rich Internet examples for many rich client ‘how to’ scenarios that are described in the book: Mastering uniPaaS.

Mobile Web Samples:  Web templates based on HTML Merge technology for mobile devices.

.NET Tutorial: A short tutorial with examples explaining how to use .NET in uniPaaS.

All the projects are available with their source code, so you can use them in your applications. 

In addition, to the samples you also have access to the complete resources of Magic Software University. 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:




Thursday, October 13, 2011

A Smarter Way to Do Asynchronous Programming


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.

The entire article is about how it will be possible in the future to write code 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.

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. 

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? 

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!

To see a sample business application running in Magic Software's uniPaaS application platform see the RIA demo here. To read more about Magic Software's smarter application platform, see the information on the company website.