<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=353316&amp;fmt=gif">

Able-One Blog

What is Software-Defined Storage?

light.jpgBy Todd Cox, Chief Technology Officer

Recently, there has been a lot of buzz around the term “software-defined,” especially software-defined storage (“SDS”). At Able-One Systems, we’ve partnered with Atlantis Computing to deliver SDS solutions for our customers.

The obvious difference is that a true software-defined solution is just that; software only. The solution does not force you to purchase proprietary hardware. You can run a software-defined solution on your own existing hardware, or on hardware from leading manufacturers like IBM, Lenovo and Dell. With Atlantis, you can also pool and abstract existing SAN and NAS based storage, in addition to direct attached.

This leads nicely into the next major difference: cost. Enterprise storage manufacturers spend staggering amounts of money on developing their controllers and operating systems. A software-defined strategy uses commodity hardware, so that all of the R&D effort is focused on the software-defined solution. This drives the cost down considerably over traditional dual-controller solutions.

The real problem with dual-controller traditional storage systems is that there is a finite amount of scalability offered by these devices. Even the very high end controllers can only cluster so far, so there is a very real ceiling on scalability. Since software-defined uses a grid-based approach, the scalability is virtually limitless. When I want to add more capacity or performance, I add more commodity servers and storage.

One might think that using commodity components means that the level of availability and reliability would suffer, but it’s actually the opposite. Atlantis allows data to be striped across multiple drives located in multiple server nodes, for a much higher level of storage availability.

The new buzzword is hyper-converged, which goes hand in hand with software-defined. A hyper-converged architecture uses local SSD drives, commodity servers and combined with software-defined, puts all of your compute, storage and networking into a converged solution. Instead of buying storage and then buying servers to run your VMware environment, your hyper-converged architecture IS your VMware cluster and storage all in one. Imagine the flexibility and the ease of management this brings to the table.

I’m excited to see where this technology is going. Clearly, software-defined storage and hyper-converged are more than just marketing buzz. Companies like Atlantis Computing are certainly leading the way to less reliance on large storage manufacturers.

Navigating software-defined solutions can be complex; if your company needs assistance, contact us today for a free consultation.

To SQL Or Not To SQL? That Is The Question That Faces Today’s RPGLE Programmer

By Chuck Luttor, IBM i Software Developer at Able-One Systems inc.

SQL has been a standard for relational database management and access since the 80’s across platforms, and it has been offered for IBM i for almost 20 years, however it is still not in use by many IBM i shops. This is because DB2/400 was originally released with DDS and it wasn’t until the early 2000’s that SQL started to perform better on IBM i.

In the past 15 years, IBM has invested heavily in SQL on IBM I and is incorporating all new advances in the database into SQL.

On top of that, IBM provided the Generate Data Definition Language (QSQGNDDL) API to generate the SQL data definition language statements from DDS years ago and there are many complimentary tools available to make this easy.

So, why are so many shops still using DDS? After all, how can we, as IBM i developers, hold our heads high and claim that we are doing the best jobs possible if we are missing out on the last 15 years of DB advances which IBM has incorporated into SQL for i? We can be much more productive by using all the great additional capabilities that today’s SQL provides. As an aside I recently heard Frank Soltis state that almost all DB enhancements for the i were made to SQL and that with only a few exceptions, DDS has not been enhanced since 2000. I will take his word for it.

As an RPG programmer, I believe that it is not only desirable but necessary to replace both DDS and RPGLE op codes with SQL Data Definition Language (DDL) and SQL input/output statements. However they are separate steps within the SQL project. Which is best done first? DDL redefinition of the existing database in and of itself is useful only for some hardware performance gains. SQL I/O in RPGLE programs can help programmers be more productive. So the latter step should come first because they are much more valuable and costly than the hardware. And that step can be accomplished by the programmers themselves without anything more than management’s agreement and a measure of initiative. How many IT projects are that low cost and high return?

To achieve the next step, DDL database redefinition, IBM has kindly arranged the i’s Database so that this can be done without any recompiling of the existing RPGLE programs. DB management tools are available to automate the tedious job of creating SQL to update and reformat DB objects by providing “select the options” GUIs which provide both documentation/cross reference and promotion tools. DB administrators still not required. However, that topic is for another blog.

My Plan

It will be my task in this blog to demonstrate beyond any reasonable doubt that the average RPGLE developer can quickly become proficient in replacing RPGLE DB operation codes with their SQL equivalents when new programming is undertaken.

In each installment of this blog I will visit an op code or set of op codes in order to prove my contention. I used the IBM i which was handy for me, to generate and test my examples. It is at V7R1 with the latest Technology Refresh level and my example code is fully free-format. I believe that every RPGLE programmer will understand the examples even if they do not yet have access to V7R1 and/or full free-format.

CHAIN vs SELECT INTO

First up today is CHAIN. I remember this op code from System/3 Model 6 and Model 10 disk days. Yes I have been around for a long, long time. It has been used extensively by every RPGLE programmer since then. It is the basic op code for random access. In the “old days” it was used extensively to access disk records by relative record number as well as by key. Probably no longer.

Let us discuss its keyed disk access merits vs the merits of its SQL equivalent, SELECT INTO.

Part 1 - File Definition (see part1 in col. 1 at line 000105 of example 1)

Explicit definition of files is required by RPGLE and not required by SQL. In fact each SQL SELECT INTO can specify its own lock and isolation parameters which we will review briefly in the SELECT’s clauses. If CHAIN(N) and UNLOCK are also used then this is a wash as far as locking is concerned.

Part 2 - Data Definition (see part2 in col. 1 at line 000109 of example 1)

I, for one, always define my normalized records with an external data structure, that way in debug I can see the whole record with one eval command. But this is not necessary in RPGLE and is necessary in SQL if we are to conveniently access the row’s data. Otherwise, we must individually specify each column. Now if we have a 1000 column row which is quite possible in a VIEW or LF with extensive joins then it may well be to our program’s performance advantage to specify only the columns we want if they are few enough. Beyond a dozen columns or so, I say use a data structure, my time is valuable. Now such a VIEW or LF could save many CHAINs and SELECTs.

Although the logical purists among will argue that this is a requirement of SQL and not of RPGLE, I say that there is no meaningful program which does not require some debugging of input/output and therefore this DS is also a requirement in RPGLE. I say part2 is a push (betting term for a draw) between opponents.

Part 3 – Record or Row Access (see part3 in col. 1 at line 000121 of example 1)

We have arrived at the heart of the matter. Compare, if you will, the CHAIN statement at line 122 with the SELECT INTO statement stating at line 127. Clearly the SELECT is more complex and for the unfamiliar will require some learning. Now also consider the effort that is required with CHAIN to accomplish the same things that this SELECT statement is capable of. We will consider each row as shown below.

Keyword

Parameter(s)

Observations

select

*

I think we can all learn immediately that “select *” reads all the columns of a TABLE or VIEW and that we can specify individual fields separated by commas, just as easily. For example: “select vendno, vendname”. This is very similar to RPGLE where by default we read all fields and must specify the input record fields if we wish to read a subset.

into

:vendds

Host program variables are distinguished from SQL variables/column names by putting a semi-colon in front of them. Not at all different however than an op code with a data structure as its result. But consider, if you are accessing a master record in order to place some field(s) into a transaction record if and only if the master file row with the specified key exists then you could do this “select vendname into :transvname where vendno = :transvno”.

from

VENDFILE

Usually we would use the IBM i object location rules. Then this would be taken as *LIBL/VENDFILE. We could specify LIBRARY/FILE also. We could opt for SQL rules but that is unlikely.

where

vendno = :vendno

This is the KLIST or as in our example CHAIN, the key parameter. A bit of extra keying but surely no effort to learn. Again this where clause can be very powerful. Many IF statements following the CHAIN can sometimes be replaced.

For example, suppose there were many types of vendors and we needed to add transaction fields only for type ‘A’. Consider “select vendname into :transvname where vendno = :transvno and vendtype = ‘A’”. But keeping it simple the where clause is really the equivalent of an IF TRUE statement.

with

NC

Simply, this means no commit control and no lock. It is the default but may not be what you want when concurrent access is an issue (you may not want to read uncommitted rows). Each SQL statement can have its own locking and isolation parameters. If you want exclusive locking you would code “with RR use and keep exclusive locks”. Then you would need to issue an UPDATE, DELETE or INSERT followed by COMMIT or a ROLLBACK. Isn’t it time to use commitment control anyway?

Finally, omitting this clause will default the SQL statement to the commitment control and isolation level set previously. We will deal with isolation, row locking and commitment control in another installment as it is too extensive a topic to adequately discuss here.

fetch

first row only

Always include this clause for compatibility with CHAIN’s behaviour for duplicates. You can omit this clause if you want to check that the SELECT returns one and only one row. The multiple rows returned error, SQLSTATE = ‘21000’ or SQLCODE=-811, assigns variables unpredictably.

Part 4 – Exception Handling (see part4 in col. 1 at line 000134 of example 1)

For the straightforward found or not found condition is there really anything to choose from? SQLCODE will be something other than zero for any conditions other than row found and all data transfer successful. SQL does however give the programmer access to a wide range of warnings as shown above.

Exception handling will be another day’s topic. There will be no substitute for familiarizing oneself with the SQL Reference Manual and the SQL Messages and Codes Manual in the same way as the RPGLE Reference Manual. They are all available on-line.

Replacing CHAIN with SELECT INTO

In conclusion, the learning required to replace the typical CHAIN is remarkably easy (except for isolation and that is not easy in any context) and I venture to suggest that within the first 20 SELECTs a considerable majority of programmers will have it in hand.

I have kept it simple by considering only the CHAIN equivalence. If we had considered all the other capabilities of a SELECT INTO statement this article would be both orders of magnitude longer and so confusing that no one would want to convert.

Stay tuned for our next blog post, when we discuss SETLL and READE vs DECLARE CURSOR and FETCH.

If your company needs assistance with deciding on an SQL vs no SQL approach, contact us today for a free consultation.

Topics: Modernization

Do You Still Have Green Screen Applications?

AS400_Green_screen.pngOver the past three decades, user interfaces have evolved from basic entry screens accessing batch-oriented systems to advanced, omni-channel, ubiquitous “experiences”.

In fact, user experience (UX) design is now defined as a “robust field combining elements of product design, service design, and innovation”.

For organizations committed to UX for their customer-facing platforms, or their “Customer’s Experience” (CX), this can drive significant competitive advantage, leading to increased sales and greater adoption and loyalty to their products and services.

However, for in-house applications, there can be a range of ‘user experiences’, sometimes cumbersome or redundant and for organizations managing legacy applications, this can have an impact on employee productivity, customer service, and the bottom-line.

Green Screens

Many traditional applications, developed for IBM i (aka AS/400) or IBM mainframes, had ‘green screen’ interfaces designed according to strict standards established by SAA/CUA (Systems Application Architecture/Common User Access) which helped advance the field of user interface design over 20 years ago. However, since that time, the world of software has evolved by leaps and bounds while many mission-critical enterprise applications still have these older interfaces. 

VansonBourne, a technology market research company conducted an independent global research study to assess how organizations and their respective CIOs worked with their existing back-end infrastructure. Respondents were polled from organizations varying in size, sector, and location. Nonetheless the issues seemed to be uniform across all firm characteristics with minimal standard deviation in key stats. Some figures that were pulled from the study include:

  • 93% of organizations today still use green screen applications
  • 54% of CIOs say working with green screen applications is having a negative impact on end user retention and recruitment
  • 98% claim new features to green screens would enhance productivity

Negative Impacts on Productivity

Of the 590 CIOs and IT directors polled from nine countries around the globe, a staggering 89% have had complaints from end users about aspects of their green screen applications, with nearly two thirds (65%) claiming end users feel bored, frustrated, ambivalent or restricted when using these applications. IT leaders themselves appear to agree, with 55% believing green screen applications do not do a good job (VansonBourne).

Workforce Challenges

The other challenge involves bringing new talent into an organization to use older system interfaces. 45% of CIOs reported having difficulty hiring new employees with the skills they needed. The obstacles hampering modernization exist, but with the right outlook, problem identification and strategy, they can be easily overcome. Almost all survey respondents (98%) from the VansonBourne study agree that there would be a positive impact on productivity by adding newer capabilities over their green screen system.

So. while there may be an understanding that transforming your user experience will bring hard benefits, the associated costs and risks with the project must be weighed. Simply shifting from green screen applications to omnichannel, graphical user experiences can require a revaluation of your entire process, and a step towards greater efficiency while staying ahead of the competition.

Extending Legacy Systems

Today there are numerous options for extending legacy systems to take advantage of more current user experiences, involving new interfaces for deployment to browsers, mobile, and rich desktop clients, however, simply transforming a text-based CUA-style green screen into GUI does not reap the promised rewards of increased productivity and improved workflows without UX design and planning.

 Able-One has an upcoming event focusing on modernization of applications which will review approaches to leverage and extend existing systems. A key part of that discussion will involve UX design. And while simply changing green screens to GUI may not be a business driver, the impact that these interfaces are having on employee productivity may be.

Of note, Gartner has recently released their Top Ten Strategic Technologies for 2016. The top two, “The Device Mesh” and “Ambient User Experience” are good indications of how important this is becoming in the world we live in today. Below are excerpts from Gartner.

The Device Mesh

The device mesh refers to an expanding set of endpoints people use to access applications and information or interact with people, social communities, governments and businesses. The device mesh includes mobile devices, wearable, consumer and home electronic devices, automotive devices and environmental devices — such as sensors in the Internet of Things (IoT).

Ambient User Experience

The device mesh creates the foundation for a new continuous and ambient user experience. Immersive environments delivering augmented and virtual reality hold significant potential but are only one aspect of the experience. The ambient user experience preserves continuity across boundaries of device mesh, time and space. The experience seamlessly flows across a shifting set of devices and interaction channels blending physical, virtual and electronic environment as the user moves from one place to another.

The transition from green screens to a modern and relevant interface is a complex undertaking. To explore options for extending the value of your IBM i enterprise applications, join us for a special event on Wednesday December 2, 2015 from 12 PM to 4 PM in Toronto. There are a limited number of seats available. Register today.

Register Now!

Topics: Modernization

Justin Trudeau: Mobile & Social Strategy That Helped Lead the Liberals to Victory

social_mediaJust over 80 days ago, when the election campaign kicked-off, the Liberals, with Justin Trudeau at the helm, had to battle the popular and omnipresent “He’s Just Not Ready” narrative that undoubtedly resonated with many Canadians and sought to diminish Trudeau’s ability to govern the country. 

A week ago, after a couple months of campaigning, the tide seemed to shift, and a Liberal minority government was the predicted result by many media and polling outlets. Oct. 19th, 2015, Canada headed to the polls and elected a Liberal majority government.

What happened? How did the red tide swell and wash over the country so quickly? Many answers can be given as to how a successful campaign was executed, but we won’t be getting into the political side of things.

Rather, the focus of this blog will be on how the Liberals were able to harness the power of social media to support their cause and how lessons can be drawn and applied within your own business to make sure your own initiatives are successful.

Social Media Strategy 

The Liberal Party social media strategy right from the beginning was branded, 24/7 and most importantly, personal.

Through social media, Trudeau was able to retain a really strong emotional connection with a large group of Canadians by giving them constant access to what he was doing through internet mediums that were accessible, communicative and visually appealing. The strategy was based off of Trudeau’s own convictions for how the internet was revolutionizing outreach.

Trudeau explained his belief that “the new public square is online” in a CBC interview back in 2013 and continued by saying “The idea that political parties can somehow bring people into their lecture halls or bring people into their political organizations, rather than going out to them where they happen to be gathering on Facebook through social media anyway, is something that people are going to have to come to grips with.”

Does this kind of focus on internet strategy mean every other part of a political or business initiative must be placed on the back burner? Far from that. What’s important to take away from the Liberal Strategy is that they used social media simply to bolster each and every one of their existing activities – as opposed to having social media as simply a side strategy.

The Liberals’ 2015 campaign ads all unmistakably seem to emphasize the vitality of their leader. However, besides how the Liberals brand and advertise their leader round-the-clock, there is much behind the scenes work used by the campaign team to harness internet and social media to accentuate the effectiveness of campaign staff and volunteers.

Inspiration from Obama's Campaign 

The Liberals drew many lessons about the power of social media from the Obama campaign team. Rahaf Harfoush, author of Yes We Did: An Inside Look At How Social Media Built the Obama Brand examines how the Obama campaign’s social media use "allowed him and the campaign to act like a start-up — agile, flexible, responsive — instead of being limited by a decades-old political playbook," adding as well that “this created a strong sense of loyalty among his supporters and spurred them into action more readily”.

Obama's strategists also mobilized volunteers on a micro level. Instead of overwhelming supporters with large tasks, they offered prospective volunteers opportunities to get involved in smaller ways: subscribe to emails, watch a video, make one phone call or send out a tweet (CBC/Metronews).

The Obama campaign and the Trudeau campaign essentially modernized they’re entire approach to reaching supporters through the power of social media. Bite-sized and engaging way of connecting supporters with their initiatives allowed them to quickly scale new ideas nationwide very quickly.

Marie Bountrogianni, a former Ontario Liberal cabinet minister who is supporting Trudeau, says she was “blown away by the high degree of sophistication in the Obama organization — the technology, the discipline and its ability to execute large shifts in strategy…”  

The Liberals realize that this level of refinement requires certain hardware and they have worked behind the scenes to build an intricate technical capability for data-mining and database organization. Once the social media structure is set up and the hardware is in place, all that is left to do is send the right message to engage your followers.

While other parties focused on well staged, folksy, and old-fashioned “share if you agree” type of messaging, Trudeau and the Liberals (by accurately gauging the demographic), were able to portray a polished, authentic and personal social media strategy that emphasized connection and discussion foremost.

Other Examples of Standout Campaigns 

Beyond political campaigns, companies and non-profits alike can learn the same lessons from innovative social media strategies employed by those running for office. Some standout campaigns include:

AMC With Breaking Bad on Facebook

AMC used a Facebook application “Breaking Bad Name Lab” allowing fans to quickly theme their Facebook profile picture and cover photo with a personalized Breaking Bad nametag. The social media campaign took the website by storm and even Facebook users who did not watch the show participated.

Make-A-Wish on Twitter

5-year-old Miles Scott from San Francisco diagnosed with Leukemia wanted to feel like Batman for one day. By organizing the story and creating a hashtag #SFbatkid, Make-A-Wish spawned a nationwide promotion and donation campaign that led thousands of volunteers and city officials to convert the city in Miles’ playground for a day.

Oreo on Vine

Nabisco capitalized on its iconic Oreo cookie by using Vine, the 6-second looped video application, to create fun, pop-culture themed videos that enticed consumers to use their purchased product to showcase their creativity and connect with the brand online.

IKEA on Pinterest

IKEA, famous for its endless variety for its products and Pinterest, famous for its ability to use up an hour of your time browsing their image and project share boards, teamed up to create a DIY board. The DIY board allows users to take inspiration from one another, share ideas and create their own IKEA project.

Social Media Take-Aways

Three important lessons can be drawn from these highlighted social media strategies: First, find the right platform for your business. Second, find the right way to reach your audience- sharable pictures, relevant articles, or a fun contest. Finally, find something unique that will catch their attention and cash in on the most interesting part of your business.

The number of things to consider in a social media strategy can seem daunting.

Couple that with the exposure your company can face by being constantly accessible online and having to craft every image to ensure both acceptability and success, and you might begin to think that the liabilities are too vast.

This apprehensiveness, while understandable, is not necessary. Social media is now integrated to every part of our daily lives and is much more of an opportunity, rather than a liability. More than anyone, political campaigns realize the risks that exist with a constant social media flow.

Trudeau is very aware that his every move is being recorded and can instantly be disseminated. However he stressed on the campaign team from the start that he wants the electorate to view his public persona as simply an extension of the man he is at home.

While this is impossible in reality, the resulting social media strategy forces the campaign to brand itself wisely, engage in constant discussion and remain accountable to what it portrays. For a company, this means having great product marketed in creative way that can be promoted and sold to consumers through a variety of social media outlets ultimately leading to increased interaction and sales.

Organizations must move away from seeing their social media strategy as simply one side of the business.

Previously, a business manager might ask him or herself how to incorporate a social media dynamic to one part of the business. Now the question has become how do I restructure each relevant part of the business to be social media facing and mobile accessible.

Furthermore, each new part of a business can’t simply have final paragraph in an internal document or a footnote to a section with regards to the social media strategy. Rather, the social media and Internet strategy must mesh inside every aspect of the business. Each operation, initiative and campaign established by the business must be examined for its social media potential. The result will be a company that is accessible, accountable and profitable.

To learn more about how your company can modernize its social media strategy into your IT campaign in order to stay on top of the competition, contact us today for a free consultation.

Topics: Mobile

Written by

LinkedIn

Signup for Our Monthly Newsletter