An Operational Guide to Digital Transformation for People in a Hurry

If you ever find yourself struggling to digitally transform your organization, business units, divisions, processes, assets & people, you might combine #DigitalTwins with the architecture of a distributed #IoT software system as your guide. #IIoT #DigitalTransformation

I know you’ve been converting things like documents, photos, sounds, numbers, blueprints & measurements from the physical world into the digital world for decades so I won’t belabor this point – you’re going to keep doing that.

From now on, you’re going to create everything digitally first. That means you’re using a computer with a screen, and maybe even a mouse. Okay, I won’t hold it against you if you still scribble notes on airplane drink napkins or draw pictures of early designs on the back of paper place mats.

Also, don’t confuse this endeavor with the business process re-engineering projects of the 1990s. You’re not doing a straight port of your manual processes to digital equivalents. Just because Steve Jobs liked skeuomorphism doesn’t mean your digital processes should reflect the old way of doing things.

Determine every way employees, assets, processes, departments & business units interact with each other as well as how they interact with customers, partners & suppliers in order to digitally convert those interfaces into APIs.

Yes, I want you to create RESTful APIs for every one of those interactions. These are your Digital Threads. Oh, and make sure you version them because an organization is always learning and evolving.

You need to model the properties, artifacts, behaviors, history & events that business units, departments, processes, assets & employees respond to in order to create composite Digital Twins to complete your Digitalization.

Why “composite” digital twins? Because we’re not just talking about atoms here. We’re describing the complex and oftentimes hierarchical relationships that look more like molecules. The human body has important subsystems like the heart, lungs and brain. Your organization is no different.

Your Digital Twins will run in a distributed platform that manages the Digital Threads connecting employees, assets, processes, departments, business units, customers, partners & suppliers.

At this point, your Digital Transformation should be in beta stage & your organization, with all its components, should come to life as a Digital Organism that probably still needs to be debugged.

Notice how I just fast-forwarded through a multi-month or multi-year process? Becoming a Digital Organization is going to take a while so be patient.

An important takeaway is that you’ve now digitally documented how every last aspect of how your enterprise operates. No more reliance on tribal knowledge & the company memory issues you have due to employee turnover are solved.

Everything is made into software & connected via APIs streaming over 5G at a level no one has ever imagined. Digital Twins will collaborate with people & each other via APIs, apps & analytics to run your business.

Terms like CI/CDDevOps will take on new meaning as they’re used to upgrade some or all of the business as developers make improvements. Scaling your business won’t necessarily mean hiring new employees anymore.

Instead, scaling might mean adding containers to a Cloud Native infrastructure. This probably sounds as weird as the first time you heard you had to write a job description for code performing Robotic Process Automation (RPA).

As your digitally transformed organization matures, you’ll be able to determine which functions are best handled by Digital Twins & which ones require human creativity, dexterity, or other unique abilities.

A new level of disruptive automation will sweep through. Don’t go dystopian on me. Like all the preceding industrial revolutions, Industry 4.0 will create more jobs than it eliminates. Lifelong education is the key.

This process is a large mountain to climb & I’m sure you’ve heard hundreds of examples of what it means from other analysts. My definition is a bit more revolutionary because you shouldn’t half-ass something this transformative.

You’re probably wondering, what’s the payoff in making digital transformation a reality? Hyper-efficiency, cost savings, a better customer experience, no more role confusion, no more lost organizational knowledge, & increased revenue via digital scaling.

I hope this synopsis has been helpful jump start to digitally transforming your organization & how it operates with people, processes, machines & connected intelligence.

Mobile Apps Must Work Offline Because Wireless Connectivity isn’t Ubiquitous

Book Cover

Intermittent #wireless connectivity requires #mobile apps to follow sync patterns using pre-fetched #data via APIs and offline local storage.

If the network isn’t available, it’s pretty hard for your native app to call web APIs or for your web app to load new web pages. On the Ethernet connected desktops of the past, developers didn’t concern themselves with this issue. In our wireless connected mobile society, ignoring this issue leads to a poor user experience. Most of the time, devices are connected via 2G/3G/4G wireless data networks whose reliability is driven by cell tower density, the number of devices connected to a given tower, wireless frequencies, bandwidth and the number of buildings in the area.

Rather than assuming everything will “just work,” developers of successful apps assume “nothing works.” For starters, mobile apps must take advantage of platform APIs that detect the existence of network connectivity. Once this is established, an app must not only download the data it needs at that given moment but enough data to get through the day. Depending on the amount and complexity of this data, it should be stored locally on the device in a mobile database or as serialized files. From then on, the app should only use the local data to perform its tasks rather than reaching out to servers. Changes made by the user to this local data should be tracked so that only deltas are sent to backend systems when it’s time to upload. Extensive error handling and “sync retries” are needed to ensure reliability. Employees can work in airplane mode or when roaming internationally without using data.

Increase revenue and improve user productivity by using sync to create apps that keep working whether the Internet is available or not. App downtime on a sales call in front of a customer is not an option. Has your company made the move to apps that work offline?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click here to purchase a copy of my book today and start transforming your business!

It’s Time to Dump your 1990s App Authentication

Book Cover

Migrate Win32 applications secured by client/server #database logins to #mobile apps that use OAuth & enterprise #cloud directories for authentication instead.

Do you know Scott Tiger? Are you familiar with SA and no password? If so, you probably worked with client/server database security mechanisms from companies like Oracle, Microsoft, IBM and others. Anyone who’s built client/server, multi-tier database systems over the years has worked with Oracle Net Listener, TNSNames, Sybase DBLIB, ISAM and VSAM drivers plus a revolving door of Microsoft drivers. App logins were typically the same as the database login. DBAs were in control and app developers worked with what they were given. Sometimes data access was secured through the use of views or stored procedures. Things improved when databases started supporting integrated authentication where data access could be controlled by users and groups found in the company Active Directory.

Today’s mobile apps don’t connect to client/server databases this way. Win32 apps connecting via the LAN or VPN can kick the can down the road a bit longer. Everything else talks to databases with web APIs or sync. While these mobile-friendly APIs use database authentication to connect, the services they expose must be secured by an enterprise directory. This pattern provides identity management to mobile apps. Furthermore, cloud-based enterprise directories must be kept in sync with existing on-premises directories to keep the login procedures seamless for employees. Add multi-factor authentication to boost security and avoid consumer auth providers like Facebook or Twitter.

Reduce risk to your organization by decoupling app security from database authentication and make the move to company-wide directory services. Has your employer switched all its enterprise apps to modern authentication methods yet?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click here to purchase a copy of my book today and start transforming your business!

Boost Employee Productivity by Replacing Proprietary Distributed Broker Technologies with Open RESTful APIs

Book Cover

Move your older, distributed broker technologies like CORBA, RMI, DCOM & RPC to #REST #APIs that communicate with any #mobile device, #app, browser or endpoint.

A lot of the bigger companies built large, complex, distributed systems that relied on a variety of technologies to make them work. For example, code in an app makes local function calls in order to get things done. In distributed systems that spanned multiple servers, data centers and geographies, the notion of software in one system calling a function in a system somewhere else was referred to as a remote procedure call (RPC). This was a transformative technology but making it work wasn’t trivial.

The Object Management Group created the specification for the Common Object Request Broker (CORBA) based on the concept of interface definitions. Microsoft created a distributed form of its Common Object Model (COM). Sun baked a Remote Method Invocation (RMI) technology in Java and later added support for CORBA. Lots of distributed software built in the 90s used this stuff to make remote procedure calls, but it was tightly-coupled to those respective technologies and therefore not extensible.

The Simple Object Access Protocol (SOAP) and Extensible Markup Language (XML) came along in the early 2000s and put all those earlier technologies out of their misery. This technology had broad support from standards bodies and corporations alike because it was based on HTTP, worked over the Internet and was platform-agnostic. Web Services were born. All kinds of specifications were created to perform every kind of object passing and remote function calling needed to build cross-platform, distributed systems. A new discipline around Service Oriented Architecture (SOA) came to life based on SOAP.

While SOAP was taking off, Roy Fielding wrote a dissertation on Representational State Transfer (REST) which was a software architecture style consisting of guidelines and best practices for creating scalable web services based on HTTP verbs. REST eventually won out over SOAP and XML during the 2000s due widespread, grass-roots efforts. David beat Goliath. Remember the lesson of standards bodies vs. grass-roots endeavors the next time you’re paralyzed waiting for standards to come along before innovating with new technologies. You might miss an entire technology wave.

The simpler, lighter-weight nature of REST makes it a superior choice over the bloated SOAP wire protocol for your mobile communications needs. Those LTE wireless data networks sometimes crawl along like GPRS and your employees will be glad you used something lighter.

A variety of server technologies allow you to create web APIs based on RESTful principles. Via server API code, you’ll write the same dynamic SQL queries or stored procedure calls that are currently in use with your existing client/server systems. This code will return data formatted as JSON that is consumable by any mobile app or browser. This mobile and firewall friendly way of moving data between devices and databases can also take advantage of server-side caching to further boost performance and scalability.

Reduce risk to your business by removing dependencies on unsupported, proprietary technologies and improve user productivity by implementing a distributed technology that works anywhere with any device. What is your organization doing to empower every employee with business API connectivity?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click here to purchase a copy of my book today and start transforming your business!

Improve User Productivity by Utilizing Cloud Services to Better Serve Mobile Employees

Book Cover

#Mobile employees working around the world are best served by globally distributed #cloud services + replicated #data with low #network latency.

Your organization may have customers and employees distributed all over the world. These people have neither the time nor the patience to wait for data to travel great distances over land or though undersea cables. If your business is currently serving your constituents via an on-premises network or a regional data center, you’re not being responsive to their needs.

Take advantage of services provided by top-tier cloud providers with data centers distributed throughout the world. Narrow your list based on analyst and other trusted reviews of Platform as a Service (PaaS/Cloud development) and Infrastructure as a Service (IaaS/Virtualization) capabilities. Further narrow the list based on network capacity, redundancy, disaster recovery, data handling, support your existing server operating systems, databases, programming languages, and connectors to line of business systems.

Whether lifting and shifting existing systems or building new ones in the cloud, you must go beyond just load-balancing within one or two data centers. Your websites and APIs must be distributed globally so customers and employees are automatically directed to the nearest data centers for the best performance. Additionally, the databases that power these systems must be replicated everywhere so everyone is looking at the same data. One word of caution I’d pass along is to be cognizant of data sovereignty requirements that may limit data flow to a particular region or country.

Improve user productivity and increase revenue by providing fast and reliable access to corporate data to employees anywhere in the world. What is your organization doing to support its global workforce?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click here to purchase a copy of my book today and start transforming your business!

Reduce Business Expenses and Accelerate Mobile Integration with Backend Servers

Book Cover

Accelerate the mobile #integration and delivery of server resources to any #device utilizing #mobile middleware solutions like MEAP, MADP, MRAD or mBaaS.

Enterprise mobile apps don’t live in a vacuum. They typically communicate with a backend system. Some newer, vertically-integrated packages provide the backend system and mobile apps to get you up and running quickly. That said, most backend systems aren’t very helpful when it comes to talking to a variety of mobile devices.

There’s a class of mobile middleware systems that accelerate the development of connected enterprise apps. They simplify authentication with enterprise directories, deliver push notifications, provide adapters to connect to other disparate systems and facilitate data sync with devices to name a few. The first of these systems were called mobile enterprise application platforms (MEAP). Over time these systems evolved to something called mobile application development platform (MADP) to support a broader range of scenarios. Hallmarks of both MEAP and MADP was the use of proprietary technologies to rapidly create user interfaces and connect to backend systems. This made it harder to find developers since the programming environments were anything but mainstream. The newer, cloud-based iterations of these systems are called mobile backend as a service (mBaaS). This delivers half the solution as developers code with popular programming languages and interface with backend services via APIs from an mBaaS SDK. In case you need another four letter acronym to accelerate your development, check out the new class of mobile rapid application development tools (MRAD).

Reduce business expenses by getting your mobile solution to market faster with fewer development resources so you can start making money sooner. What is your company doing to accelerate mobile app development?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Improve Employee Productivity by Delivering Web Scale to your Mobile Workforce

Book Cover

Bring #web scale to backend business systems via adapters, replication, sharding, queuing & caching of #data to support a growing #mobile workforce.

Many of the backend systems running global business over the last several decades have something in common besides not being able to communicate with mobile devices. They’re not designed to support the scale needed to empower today’s mobile workforces. Actually, most of these packages and associated databases were designed for departmental or workgroup use in a world where everyone had a single PC on their desk. The IT infrastructures of most companies are wholly unprepared to support mobility.

Whether you’re wrapping your systems in REST APIs or using a mobile middleware package, you have the ability to boost the scale of those old systems using several clever techniques. For starters, the servers used to create a new mobile API tier should be designed to cache frequently-used data so repeated calls to the backend servers won’t be needed. This could range from a simple file cache, to using staging tables in a database. To scale-out this mobile API tier, data could be replicated across multiple nodes resulting in a sharding architecture that further spreads the load generated by mobile devices making requests. To further de-couple the system, data uploads from mobile apps could be dropped in queues and processed by background processes. All these things will have the effect of boosting both the performance and scalability of your existing backend systems.

Improve User Productivity and reduce expenses by increasing the number of employees and customers served by existing line of business systems. What is your organization doing to beef up its systems to serve more users and devices?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Reduce Corporate Expenses by Mobile-Enabling Existing Business Systems with REST APIs

Book Cover

Mobile-enable backend business systems by wrapping them with #REST #APIs that speak the same language as any #mobile device, browser or #app.

Most backend business systems organizations have deployed over the last several decades have absolutely nothing common. They all speak different languages via myriad binary and text wire protocols. They typically don’t talk to each other and they don’t talk mobile.

This is a big problem in today’s mobile-first world because CIOs expect data from any of their backend systems to be delivered to any device, thus empowering their employees.

Companies are faced with difficult choices ranging from replacing the old systems with new, mobile-friendly ones, rewriting custom systems, upgrading to newer versions if they exist, or moving workloads to the cloud. Many companies are unable to make any of these choices for the same reason they haven’t upgraded their Windows apps from the 90s. Limited budgets.

A lower-cost alternative is to leave these working systems in place but create a RESTful API wrapper around them. You basically encircle these systems with commodity servers or cloud gateways that map proprietary APIs to mobile-friendly APIs. This mapping can be accomplished via code or through connectors or adapters. Now all your existing systems will be able to communicate bi-directionally with any mobile device and more easily interface with customers and business partners. Think of this as mobile SOA.

Reduce business expenses by extending existing workloads to mobile devices rather than replacing those workloads with new solutions. What is your company doing to empower every employee with any device?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Enterprise Mobility on STL Tech Talk CodeCast

STLTechTalk

I was thrilled to join Gus Emery (@n_f_e) and JJ Hammond (@jjhammondmusic) for a lively discussion of the past and future of Microsoft enterprise mobility on CodeCast Episode 12 of @STLTechTalk.

These guys are doing great work in the developer community! Go check out their site!

Sharing my knowledge and helping others never stops, so connect with me on my blog at https://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

 

//build/ : Wrap a Mobile API around your Enterprise and take Data Offline with NoSQL on Windows Phones and Tablets

BuildSession

For those of you who couldn’t make it to San Francisco, here’s my session on Wrapping a Mobile API around your Enterprise and taking Data Offline with NoSQL on Windows Phones and Tablets from //build/.

Enterprise mobility is a top priority for Chief Information Officers who must empower employees and reach customers by moving data from backend systems out to apps on mobile devices. This data must flow over inefficient wireless data networks, be consumable by any mobile device, and scale to support millions of users while delivering exceptional performance. Since wireless coverage is inconsistent, apps must store this data offline so users can be productive in the absence of connectivity.

In this video you’ll learn how to build fast and scalable REST + JSON APIs using the ASP.NET Web API while employing techniques such as data sharding and in-memory caching. On the device, you’ll learn how your apps can work with offline data via in-memory NoSQL tables that use LINQ to support the same CRUD operations as relational databases. You’ll walk away from this session with the ability to deliver flexible server solutions that work on-premise or in Azure and device solutions that work with Windows Phones and Tablets.

Download the two Visual Studio projects and associated source code from GitHub:
https://github.com/robtiffany/build-2014-mobile-api

Sharing my knowledge and helping others never stops, so connect with me on my blog at https://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany