Tag Archives: Deploy

Uniface 64 bit deployment for Windows

During the deployment session from the Uniface Lectures, we covered Uniface 64 bit deployment for Windows in the morning session (not in the afternoon because it took to much time, the videos are available to watch on our YouTube channel though). 

We had a few really interesting questions, I’ve worked the answers into the text below and I dug up an old posting from the old Frontline site, and used that as the basis. 

The oldest Uniface PAM (Product Availability Matrix) I could find was from Uniface 6.1, and with that old version we  delivered 64 bit support on DEC Alpha hardware with Uniface 6.1. OpenVMS, and DEC Unix ports of Uniface. I remember seeing one of the DEC Unix workstations here in the Amsterdam Lab, running the Motif GUI and thinking how advanced it was, how fast it was and I wanted one. Always dangerous to wish for more, I ended up with a Mac on my desk a week later. 

For a number of releases we focused on Uniface server versions for 64 bit, think IBM AIX, HP-UX, Intel Titanium hardware and so forth.  

It was in 2012 that we delivered a 64 bit Windows server version, delivering it in Uniface 9.5.  

It took us a long time, and to be honest, I recall have a few conversations on the topic over the years, and from an out and out technical perspective, the view was that there were few perceived benefits when compared to the 32 bit version to justify the investment to make it happen. I should mention that we had done some clever things with compiler switches to enable memory addressing for a number of releases. 

A Windows 64 bit Uniface client was a different story, and was quite a significant project.  Clearly there were overlaps with the Windows Server (technically they share a lot of common source), but the GUI layer needed a lot of work. We had to refactor a lot of code, as we had a lot of legacy (technical debt) from older versions of Uniface. The name Uniface originated from Universal Interface, and it was possible to develop one Uniface app and deploy it on those old GUI platforms which we used to support thanks to the Uniface specific widgets such as the unifield.  (I’m sure some of us who have been around Uniface for a long time remembers Uniface on Mac, Motif, OS/2 and Windows 3.x.)  There was a lot of old code to clean up and/or remove, and we also have to keep those legacy widgets operational. 

A few additional challenges included our use of automated test tools which didn’t support 64 bit platforms, which also forced our journey to replace them and use Ranorex for our testing. (I’ve covered this in the forums and talked at a few user groups on this topic.)  

We delivered a Windows 64 bit client with Uniface 9.6 in December 2012. We’ve had some good feedback, I recall talking to a customer in the UK, and their comment was that it just seems more ‘fluid’. I talked about this with one of the architects, and the view is that this is probably as a result of the refactoring, possible the additional memory capabilities, but it’s great to get positive feedback. 

It’s available for deployment rather than development, as we have a few external pieces of functionality in the developer, for example the DSP Editor which are not available as a 64 bit product. 

The HTML control we delivered in Uniface 9.6 is also currently restricted to 32 bit. But this will change, it’s based on Chromium (sometimes know as CEF) from Google, and the sources were (finally) updated to 64 bit and we have been working on getting that into Uniface 9.7, and will be part of the Uniface 9.7.02 update which we are finalising. That was a challenge to get working, changes to threading models and API’s meant some rework and lots of testing, but it’s pretty well code complete. 

The Uniface 10 IDE uses that same HTML control extensively, so the move to CEF3, now opens the way to deliver a 64 bit developer. There will be a significant Uniface 10 release in September, but this is something for another posting next month.    

 

Uniface Lectures Webinar Series: Sharing Technical Information

Uniface Lectures Webinar Series

We are about to launch a new webinar series initiative to help share Uniface technical knowledge called the Uniface Lectures.

Once a month there will be an evening session held here at our office in Amsterdam on a particular topic.  Using the latest version of Uniface we will be showing functionality, tips and tricks with the goal of sharing technical knowledge.

Now obviously this is only useful for customers who are able to get here to attend, so we will also repeat the sessions as online webinars, and finally they will be recorded and posted on YouTube. Different Uniface technical experts will be delivering the webinars and we’ll be doing about one per month making sure to cover both East and West time zones.

At this time,  we have the following topics planned. 

  • February – Modernization
  • March – Deployment 
  • April – JavaScript Integration
  • May – Mobile 
  • June – Integration using REST 

We’ll probably take a break for the summer period, but we then intend to restart the sessions in the fall timeframe with new topics. 

We would be interested in ideas of topics to cover, please add suggestions and ideas below in the comments.  What would you like to see covered? What do you want to learn more about?

Further details, and how to register for the Lectures can be found here.

Uniface Lectures

Our Day by Day Highlights of MWC Barcelona

It was the first time we participated in MWC15, and to sum it up in a few words: Totally exceeded our expectations! Here’s a day by day recap of our time in the “trenches.”

Day 1:

It was a very interesting first day. There were initially some quiet moments, but then things picked up and all demo stations (3 of them) plus the 5 devices were being used by our Uniface colleagues were all busy and everyone engaged in conversations. It was awesome. The energy flowing around the booth and within the team was fantastic. The day flowed with up and down time and in general with a lot of positive reactions.

Danny (account manager) attended Mark Zuckerberg’s keynote presentation. Even the Uniface (freelance) photographer 😉 got a great picture of the King of Spain!

Arriving at the event

Arriving at the event

The King of Spain who attended the event

The King of Spain who attended the event

Day 2:

After an early team debriefing at the booth to the Uniface crew, the energy was good, we had a good synergy between the whole crew and the roles were working fine. We worked hard, including sending people canvasing around to talk to people around our section “App Planet” which by the way it is the perfect spot to have Uniface. Also, it was clear that our tag line “Design your mobile enterprise” is spot on.

Remind me to tell you later about my public transport adventure after the day was over, I mean  Tianle, Thomas, Christophe and myself going back to the hotel with the idea to see a bit more of the city. And we did, including walking the “extra” mile … literally!

Busy time at the Uniface booth

Busy time at the Uniface booth

Day 3:

The Uniface crew went through a metamorphose with some people leaving and new people coming. I must confess that as a former ‘amateur’ football coach/trainer, you know you never change a winning team; so I was a bit worried. Luckily for me, this was not a football match, so everything transitioned perfectly fine.

Again the day passed on the blink of an eye. For me, the best way to describe it is using as reference the differences between the length of technical demos which are: on day one demos lasted approximately 15 minutes, on the second day those lasted 25 minutes and on the last day these were over the 35 minutes average; the main reason being the interest of the prospects (of course) and the type of questions they asked.

At the end of the day, people were partying all over the exhibition halls, listening to music and having drinks. I have a complaint which I want to make public now, Danny Ragowan went to drink tequila with my fellow Mexican countrymen on my invitation and he left me behind at the booth. I was invited earlier on the day when I visited them. (On his behalf I need to say I was involved in the last demo.)

Part of the Uniface Crew

Part of the Uniface Crew

More booth traffic

More booth traffic

Day 4:

The experience has been unreal – In my wildest dreams I would not have imagined such positive results of MWC15 for Uniface. The people we talked to were interested in the core Uniface message, which means that a cross-platform model-driven development and deployment environment is what people are looking for.

Besides the above, how about our approach to the market by extending technologies (CHUI, C/S, WEB, RIA, Mobile) in the spirit of shielding the business from technological evolution and then again empowering the developers to embrace those and in case needed go the depth necessary to solve the business requirements. And guess what? It did all of these and more. Because even fellow exhibitors considered that an incredible strength of Uniface.

As a bonus, the Uniface culture also shined at the event. The ambiance and behavior will be remembered and we heard on several occasions: “Here come the nice guys in the white shirts!”

Packing up at the end of MWC

Packing up at the end of MWC

Using Standard Deployment for your Uniface Applications

Author: Michel van den Berg, Uniface Software Architect

Deploying your Uniface applications with standard deployment is a methodology that can perhaps make your life easier. With the classic style of deployment, rolling out your application is not always that straight forward. The following graphic shows this, .dol and .urr files are shared over the components, making it difficult to structure.

Classic Style

With Uniface Standard Deployment, the runtime environment will be different, all objects are delivered in single or a small set of  archives.  This of course brings many benefits, such as easier application distribution, updates and partitioning. No more .dol’s or .urr’s files getting mixed together over applications.

USD

To help you get started with using Standard Deployment for your Uniface applications, join this online seminar that will show you the overview of the functionality so you can learn how to move from classic to standardized deployment style.  Registration is open, hope to see you there on January 7th.

The 6 Most Common Problems in Software Development

Today I would like to take a look at problem solving. Now what is a problem? According to the dictionary, a problem is “a matter or situation regarded as unwelcome or harmful and needing to be dealt with and overcome”. Fast.

What I will do below is discuss the 6 most common problems in software development –  segregated by different stages of a Software Development Life Cycle – and obviously will tell you how Uniface helps in a very simple way.

Problem #1: Requirements Gathering

Garbage in, garbage out… Any design is as good as the completeness or correctness of the requirements.  If the requirements are not good, the project will fail. Because people will hate the result.

Uniface helps as it is a very agile ; it help developers and end-user to quickly develop a prototype that further clarifies the correctness of the design. And then revise the, quickly built the next prototype. And so on. Prototyping with Uniface is straightforward and simple.

Problem #2: Planning & Estimation

Very often estimations of cost and duration of projects are too optimistic resulting in overspending and a much reduced time to market. And frustration from management, something you don’t want.

Uniface helps as it simplifies app development by separating the design from the actual technical implication(s). Building an app becomes simple, hence everything else about it becomes simpler as well. Simple.

Problem #3: Development

Moving targets, feature creep: it does happen. Requirements do change. I am not one of those religious nut-bags that will tell you “thou shall not change the requirements, ever”. Change happens. Change is upon us. Full Stop.

Uniface helps as many objects are defined in one unique place. Which makes Uniface very versatile and a Uniface app very easy to change. Uniface is made for change. Because it’s so simple…

Problem #4: Testing

Bug-free software doesn’t exist. Learn to live with it…YOLO

Uniface helps as it needs 7 times less code that Java. Less code, less bugs. Simple.

Problem #5: Collaboration

Project Management and multi-user development are key processes that need a lot of attention.

Uniface helps, as there are no multi-user and collaboration issues. Uniface is multi-user. By design. Simple.

Problem #6: Deployment

One more thing, Uniface runs on many platforms too – from mobile to mainframe and you can actually change from one of those  platform to another just like that. Without any redevelopment. It’s really that simple.

There’s just one simple decision you now need to make for yourself: build your next app with Uniface.