Since the introduction of Monopoly in the early 1900s, board games became a staple in households all around the world, acting as a huge form of entertainment even into the radio, TV and even internet era. But while many of our favorite games still live in the cardboard-box form, computers have given these games a new form. It started with e-mails, floppy disks and CD-ROM, but now web apps have disrupted the space as well. And now that applications, especially web apps, are easier to make than ever, how are those games’ paper-based counterparts going to fare?
One of the most famous examples of this transition would perhaps be the game Civilization, which began as a board-based game of world domination. The game was eventually re-formatted to a PC-based format, which happened to suit the nature of the game better and for the most part displaced its physical ancestor.
Of course, the computer doesn’t always win. I’m sure many people would still prefer to play board-based Monopoly or Risk over their computer-based versions, especially if it required a CD or even a computer download. However, the rise of easy-to-build web apps is, for lack of better wording, a game changer.
Take the game Diplomacy, for example. This is another domination game where seven players seek to control a 1900s-themed Europe through negotiation with other players and the strategic movement of game pieces. But even though the game has a strong fan base (Henry Kissinger supposedly once called it his favorite game), there are a few things that make it a pain in the a** to play in person.
First, the rules dictate that the game can only be played with seven people – no more, no less. That would be easier to accomplish if it weren’t for how long the game takes: playing the game in person is usually a four to five hour affair, and there is a lot of down time. Players found a solution to this problem early on: Diplomacy was the first commercially licensed board game to be played by mail (only chess saw significant play by mail action earlier). But in the 1980s, people started to find a healthier alternatives to play-by-mail Diplomacy, which led first to playing by email and, ultimately, to the creation of browser-based versions of Diplomacy such as Backstabbr.
But with web apps becoming even easier to build with the help of emerging web development tools that are available even through browsers like Firefox, are we essentially witnessing the last existence of board games made out of paper and plastic? Sure, playing a game in person with someone may not provide the same experience as playing them over a screen (as in, you can’t yell at them when they beat you), but at what point does the convenience become more important than the experience?
Personally, I think the makers of board games are probably too smart to let web applications win, and what we will see is some kind of hybrid model. Clearly electronic board games are not a new thing, but I wonder if we will start seeing some kind of Wi-Fi connected board game that allows you to play with both those around you and those who are remote (maybe utilizing a web application-based connection?)
All I know is that as long as I can still yell “YAHTZEE!,” I’m happy.
NGINX, Inc. has announced the availability of NGINX Plus Release 12 (R12), the latest release of its application delivery platform. According to a press release from NGINX, R12 is aimed at significantly improves NGINX Plus’s high performance load balancer, content cache and web server, providing application development and operations teams with new features for delivering applications.
NGINX Plus R12 focuses on configuration management within a cluster, enhanced programmability with nginScript, deeper monitoring and instrumentation of key application resources. It also provides the ability to automatically scale load balanced applications with proactive application-level health checks.
New capabilities in the NGINX Plus R12 release include a new process to reliably check and distribute load balancing and web serving configuration within a cluster of NGINX Plus servers. Additionally, the nginScript configuration language is fully supported in NGINX Plus. Advances in monitoring and instrumentation provide actionable insights on application performance and NGINX Plus tuning, and new caching features improve performance to enhance the end-user experience.
Finally, NGINX Plus load balancing has been enhanced with application level health checks to support the autoscaling of application resources in a safe, controlled fashion.
Check out the full list of new and improved features in NGINX Plus R12.
Enterprises may often be exposed to rhetoric regarding moving away a SOA-based software strategy and adopting a more microservices-focused approach. Whether you see microservices as the next evolution of SOA or even just SOA by another name, the fact is that enterprises aren’t necessarily required to choose between one and the other.
But combining microservices and SOA is more than a technological decision. It requires developers and operations people to have a deep understanding of the fundamental things that differentiate the original concepts surrounding SOA from the REST model that surrounds microservices. In his article on bringing the worlds of SOA and microservices together, software development pro Tom Nolle explains how REST is conceptually different from SOA particularly because of the shift from using modules to depending on location-independent resources. To me it seems akin to using a service like Spotify to listen to your music rather than exclusively listening to music saved on your computer’s hard drive.
This difference, Nolle explained, is the primary thing that developers will have to think about when trying to jam SOA and microserevices together.
“Microservices evolve from the REST model, so they represent a different software architecture paradigm than SOA did initially,” he says in his article. “To put SOA under a microservices front, we’d have to implement it partly using SOA, which means harmonizing SOA with the RESTful front-end interface.”
Nolle also warns in his article on the links between SOA, web services and microservices that developers should also consider advancements in the cloud and web services important in the transition from SOA to microservices, as microservices contain much of the characteristics of RESTful, web-like, functional components. With this in mind, using a cloud-hosted API gateway can help developers solve latency issues related to deploying microservices in the cloud. While it is possible to present a microservice as a RESTful API without the need for a manager, this approach may present problems particularly if scaling the microservices under heavy loads. The API gateway can help provide load balancing capabilities that will help with this scaling. An alternative to this – a technology which is being further developed through this next year – is the use of load balancing DNS services such as NGINX plus, a popular open source option.
Wherever your journey on the road to microservices takes you, just remember: dream big, but think small.
What are your tips for developers trying to put microservices and SOA together? Let us know with your comments below.
We’re excited to inform you about an upcoming change to our site. On Thursday, January 19th, SearchSOA.com will officially change to SearchMicroservices.com. Likewise, the SOA Talk blog will become the Microservices Minute blog. You’ll also see some other changes, such as a new Twitter handle, @MicroservicesTT, and a new RSS feed called “News on microservices and service management.”
Don’t worry — we are not going to stop producing content focused on application development within the enterprise, which in many cases still revolves around concepts like SOA and web services. However, we will give the site and blog a more forward-looking direction heading into the new year. As a vital part of how DevOps teams are accelerating application deployment and change management, microservices has earned increased focus in our coverage.
What’s our mission with the new site? First, we want to focus on the wide breadth of microservices and related application development technologies, such as containers, cloud and APIs. We also want to provide decision makers with an independent perspective on how best to evaluate microservices trends and features. Finally, we want to act as a resource for microservices professionals to gain further knowledge about the technology and interact with other engaged members of the community.
Thanks for your continued readership, and please don’t hesitate to reach out with any questions about the site.
– The editors at SearchSOA.com (soon to be SearchMicroservices.com)
As we get closer to the year’s end, let’s take a look at some of most popular topics we’ve covered on SOA Talk in 2016. Based on your readership, here are the top five most popular posts this year:
Our top SOA Talk blog post this year took a look at HTML5 as it was celebrating its official one year anniversary, mainly asking the question: What makes HTML5 so great? It’s by no means a perfect language, as there are still questions about how much security HTML5 can provide and its usability for platforms like Android. But advocates still claim that it is part of the world’s movement towards combining web apps and smart devices.
You could consider this post the obituary for traditional software-based enterprise middleware. Here we explore the thoughts and feelings around the industry when it comes to traditional middleware in the era of APIs, including what prompted OpenLegacy CEO Romi Stein to publish “An Ode to Middleware.” This post also explores why companies have a hard time accepting the reality of traditional middleware’s demise and hold on tightly to their existing middleware infrastructure.
It’s tough to find tech talent in the Valley. Tough competition in San Francisco for an elite class of qualified software engineers has led companies like Zendesk to adopt a distributed engineer approach that spans the globe. It’s not the easiest approach, but here we explore how Zendesk makes it work and how it is helping them survive the talent shortage.
One of the themes that were consistently trumpeted during this year’s presidential election was demand for change. This post takes a look at why it’s important for developers to think about what they can do to instill real change within their organization with the applications that they create. We explore how free application development platforms and tools can help make this change happen and why some developers may not be comfortable doing this.
As developer and writer Tom Nolle pointed out in his piece on microservices management, microservices are great – provided they are managed correctly. Otherwise, they can be a real problem. Whether they are already on their way or just starting their journey to microservices, one of the things developers will have to think about is how well their documentation keeps up with new styles and new rates of development. This post takes a look at why microservices can create a documentation nightmare and the tools developers should look to for help.
Web vs. native may be one of the biggest debates in the software development community. From a cost perspective alone, it seems like web will always win, but there are a lot of factors to consider when it comes to making your own decision about which development path to take.
In this article developer and consultant Mark Betz provides a great look into the mindset that goes into making the decision between developing web apps and deciding to go native. As he points out, the explosive diversity of devices available means that developing natively for each type of operating system is almost always going to be the most expensive way to produce apps. On the other end of the spectrum, HTML5 web apps may often be the cheapest.
But is there is a compromise that can help you avoid having to pick a side in the web vs. native debate, and that is to go hybrid. Hybrid apps, he says, are responsive web apps contained within a native binary hosting a web browser control. As opposed to using just HTML5, developers can have more control over the app’s lifecycle and provide the slick user experience that they would hope to achieve with native. However, it wouldn’t be a compromise without compromises: This method still requires developers to know the native languages to create and maintain the wrapper apps.
If you’re not interested in a compromise and simply have to choose one or the other, author Priya Viswanathan provides this list of the pros and cons of each approach. Some of the standout things on this list include:
- Native apps get full support from the concerned app stores and marketplaces. This makes it easy for users to find them.
- Also, because native apps have to get the approval of the app store they are intended for, the user can be assured of complete safety and security of the app.
- However, the process of getting apps approved at an app store can be a long and tedious process that may still end in non-approval. Also, there is no guarantee that the app becomes popular.
- Web apps can be manipulated and made compatible with older mobile devices.
- Since web apps do not need to be approved by a marketplace, they can be released at any time per the developer’s preferences.
- Mobile web apps only have limited access to a mobile device’s features.
- And since there is no standard quality control system for web apps, safety is not always guaranteed.
Both authors lay out the critical considerations you must take in regards to your own application needs and development capabilities when choosing to go web or native, including what you need the app to do and what you can afford. Opinions abound in the web vs. native punch-out, and there are convincing arguments in both corners. But remember that the decision doesn’t boil down to the opinions of the community – it comes down to what’s best for you.
There’s plenty of evidence that BPM technology and government agencies are getting along better than ever. This article from Government Technology talks about some of the ways the governments can benefit from adopting BPM software, including automating manual, repetitive processes; using existing systems and data to provide Web-enabled solutions; improving cross-agency, citizen and employee services via online access; and complying with legislative mandates to improve citizen access and reduce complexity.
So why does the government need BPM? Two reasons, as the article points out. First, it will allow governments to satisfy citizens who want the “private sector experience” (quick, efficient and customer focused) in their public sector affairs. Second, it satisfies internal demands for better cross-collaboration and information sharing within the government.
And vendors are certainly responding. The Millennium Group showcases BPM software that they’ve tailored just for the government, and has a history of working with US agencies such as the Department of Homeland Security, the EPA, NASA and the Social Security Administration. Appian has created a low code tool for government app development and features customers such as the USDA, the FDA and the Library of Congress.
Unfortunately, government and BPM don’t always get along. Sometimes, actions or even just words uttered by public officials can significantly affect markets, and the BPM market is no different. Recently, Rodrigo Duterte, President of the Philippines, made some comments suggesting an interest in making a “separation” with the United States. Heads of BPM technology companies in the Phillipines — a $25 billion industry that currently employs 1.3 million people – freaked, worried that they were about to lose an international business partner that accounts for 77% of their business. Government officials were quick to reassure those businesses that all existing contracts and investments would be kept intact, and that any action taken to create distance between the Philippines and the US would not impact business. But even just a few words uttered by a president can send shockwaves through an industry.
One final idea comes to my head when it comes to combining the government and business process management. There are those who believe that the public sector shouldn’t be run in the same way as a business is in spite of arguments that it would increase efficiency and make citizens happier. At this point I may be just hyper-focusing on terminology, but it does make me wonder if we really should be talking about BPM in a government context at all. Obviously steps should be taken to fix and optimize broken and inefficient processes, but I sincerely hope that vendors are not or won’t start simply rebranding BPM software meant for the private sector as a solution for the public sector.
If there’s one thing the business tech community is fond of, it’s adding letters to acronyms. We’ve seen it with things like iBPM, MBaaS and DevSecOps. It looks like we may have a new one in our midst: digital business process management, or DBPM.
So what is DPBM?
This is what an article found on ComputerWeekly has to say about how to define DBPM:
“Modern DBPM will integrate IoT and smart contracts to enter a new paradigm. The business strategy behind a DBPM will deliver dramatically shorter cycles with continuous improvements and enhance the efficiency of products and services to the benefit of a rich and seamless customer experience.”
While that definition may leave the reader wanting some more specifics, it clearly implies that the lines behind improving BPM and becoming a digital business are thinning; perhaps even to the point of non-existence, with things like IoT, automation and analytics achieving the ever-growing interest of businesses. Whether you call it DBPM or just plain old BPM, digital transformation should be on your mind.
The role of blockchain
If there is one unique thing about DBPM, however, it is its implied relationship to blockchain technology for the use of “smart contracts.” Once seen as just a “Bitcoin thing,” blockchain has made its way into mainstream business conversations as a way to streamline access to data and secure financial transactions. This article on DBPM provides examples of how blockchain-enabled smart contracts, also known as decentralized ledger technology, can enable automated processes for the delivery of services and payment for those services using (if, then) logic.
But wait — should we be so quick to think that blockchain is a no-brainer for businesses? Not necessarily, as is pointed out in this blog from LegerX. According to the author, blockchain technology is nothing more than “an unwieldy data structure that is over replicated, slow to memorialize transactions (yes, slow, despite what is often reported in the press), and extremely expensive to maintain from an energy and cost perspective.” While it may be trendy to talk about using blockchain, it may be worth considering if the technology actually has a place in your business. Most businesses, the author argues, are better off sticking with the shared databases they have always depended on, provided they trust everyone within their organization.
DBPM — Business as usual?
So where do we draw the line between DBPM and regular BPM? I suppose it’s up to businesses to decide for themselves how they describe the management of their own business processes. But no matter what you call it, it still makes sense to take a critical look at your business’ digital processes — especially those revolving around automation. In that case, I suppose DBPM may simply mean just practicing good business as usual.
Indian BPM market aims for $50b in revenue by 2020
Looking for growth in the BPM market? Look to India. Leaders in the space have set a goal to increase this market’s revenues to $50 billion by 2020. This is a big goal. But keep in mind that India makes up a huge part of the global BPM market with over 2500 firms and 1.1 million people employed.
Growth in this sector is attributed to things like digital transformation and process automation, which are changing the nature of BPM. A BPM provider is no longer just a platform to outsource work to. It can act as a significant source of strategic business advantages.
IoT needs BPM
Interested in IoT? Without BPM, it might be useless. For enterprises, BPM will essentially act as the directives for IoT. Without it, you risk owning a technology without a purpose. In that case, it might be useful to ensure that you have a solid and consistent method for BPM and business rules management across your company before diving headfirst into IoT.
Be careful though. As writer George Lawton points out in his prediction for enterprise mobile development in 2016, it might not yet be the time to put all your chips in on IoT. There are certainly advancements to look forward to, such as a surge of CRM systems merged with IoT. But its focus has been largely on vertical markets (think FitBits, Nest) and not so much on general enterprise management.
Is your city doing BPM right?
Talking about using BPM to improve government processes is not a new thing. The BPM world has been on the US government’s radar for a number of years now. We’ve previously explored how the government is making use of big data analytics, something that begs to have some kind of BPM strategy attached to it.
And this is happening at the municipal level as well. The Frankston City Council of Victoria, Australia, recently invested in BPM technology that could help them revamp inconsistent, non-standardized processes, particularly in delivering community services and figuring out ways to increase land value of certain areas. This is being done with Promapp, a cloud-based BPM solution provider that’s had its name featured alongside companies such as Toyota.
It will be interesting to see how some of these predictions affect BPM technology and the market in the end of 2016 and into the next year. What else is happening in the BPM world that has your interest? Let us know with your comments.
It’s safe to say that many of those who have decided to take the path of pair programming believe in it zealously. In a tip published over at SearchSoftwareQuality.com, Kim Barnes, a senior software engineer who got her first dose of pair programming at Oracle (then Sun Microsystems) in the early 2000s, strongly credits the practice for helping to produce better code, encourage learning, create better teachers and, overall, promote more team bonding.
But is pair programming all its chalked up to be?
For all the people on board with pair programming, there are still plenty who question the effectiveness of forcing programmers to work together. Take Jon Evans from TechCrunch, who cites evidence that people are, in fact, more creative and productive when working alone — whether it is coding or writing novels. However, he also presents evidence that suggests that while people may be more productive and creative when alone, working with others can help you think in ways you wouldn’t on your own.
As Evans points out, the best route is to find a careful balance between solo, pair and group programming. In fact, he describes one of his preferred team structures to be a situation where one person is the “primary” coder and the other is a “secondary” coder. They can program as pair at first, but later in the game the primary takes on most of the heavy programming while the secondary spends their time “sanity-checking the primary’s code and building bite-sized subsections.”
Pairs prevent problems
At the end of the day, however, it seems like pair programming has the vote of the people. Even developers who prefer to work alone have admitted that the benefits of pair programming are clear, as shown in this post from DZone. In it, Sam Atkinson, explains that companies should try to avoid the problem of the “10x developer” — a developer who knows and can build way more than anyone else on his team. The problem with this, he points out, is that if that 10x developer creates and maintains entire systems on their own, the other developers may not have any idea what to do with them if that developer decides to leave.
In the meantime, if you have a successful pair programming routines in place, Byron Sommardahl from Awkward Coder has ten effective suggestions for ways you can run that process into the ground.