Do SOA and Microservices Play Functional Patches to Object Orientation?


Computers where always do-ers. All the code of assembly languages are functions, including those who deal with memory. As functions became more complicated and memory usage went helter skelter, a new paradigm to keep memory relevant to functionality in a sustainable fashion evolved, which is the object oriented programming.

Objects are ways to align functionalities with related memory locations based on their relations to real life entities. However, When objects used for greater scopes like communications and business transactions, where different definitions of same entities happen, their structures struggled to adapt, and the control is back to functions. With concepts like remote “method” invocation and remote “procedure” call, these lifelike memory structures begin to go backstage. As business evolves to change its focus to be on services delivered to customers and the processes to deliver these services, software development had driven to service orientation, where the rhetoric of business and technical contexts are saying something important about what was happening with SOA and lately microservices.

On the business context: Service Oriented Architecture (SOA) means to avoid what the business organizations are, and focuses on what it could do as “services”; by focusing on the process they provide and align the teams for process actions. It tends to disregard the organizational structures and internal entities (usually represented in code as “objects”) and perish processes (executed as a set of functions). The rapidly changing business needs and the high dependency it hold to the IT have pushed the focus on the process over structure to how software should be built and provided.

On the technical context: service orientation succeeds over distributed objects by focusing on what the system components are doing and hiding any implementation details (usually written in OO languages). What software components are “doing” are provided as service”operations”, or in other word “functions”. Services in SOA are more like classifications of functions based entirely on the functionality regardless the relations to internal memory structures (objects) or infrastructure implementation details, except for inputs & outputs.

So, was that intentional hiding of how software manages its memory, and structures its data had proved aptitude over the intent to mimic real life objects? Should functionality be separate from how its data stored? What history revealed was  that the real world is the one who is keep changing, and the real persistent is the functionality we need from software. Functional programming makes software focus on what the system will do without bothering to mimic the world objects to stay relevant. It is always relevant by what it can do. However, SOA is more than mere functions, it is one step further by hiding most of implementation and deployment details, and presents functionality as a single, standardized layer, where the only remarkable features are the functionalities. Nevertheless, the business itself usually still behind to achieve this Plutonian SOA. They are also thorn upon their hierarchies to abstract their services to their customers.

This view of the customers – or user – who shouldn’t be distracted by anything but the service they get, had dug its way down the service causality to the internal orientation of the software it uses, until we had the known service orientation. Now even internal components are trying to be “Microservices” instead of being classes. Thus, microservices are functional groups usually on object scale that hide not only their memory and data structures, but even how they are deployed and implemented physically. The result after decades of software engineering is that functional orientation became so dominant to split not just code, but even deployment stack under the name of microservices.

Is Information Technology An Innovation Black Hole?

 Images credit: NASA

We always rejoice about computers (including today’s smart phones) doubling their powers and lowering their prices exponentially. It’s not only this; there’re also the following advancements in applications, platforms, operating systems, sensors and the expanded usage in every aspect of life. Other fields are expanding and developing too, but not as the speed of computing and IT. It seems like we have a trouble where to put processors in our lives..Why we don’t see the same thing happening in other fields like transportation, manufacturing and health care? I don’t mean adding info or control screens to them, but improving their technology to the core. What makes talents easily hunted by it? and how innovation may expand to other areas?.Computers easily attract children and students while other areas are left hungry, Since their childhood, brilliant people like everyone else; get attached to computers, it’s where they see the magic happens.When they first put their hands on it, young talents see the results immediately, and easily convinced that this is their passion. That immediate feedback of one’s work on computer software isn’t just made it attractable more than other fields, it even one of the contributors for its fast advancements. The developer writes code then compile/build the code to get the feedback, faster than if they were designing a mechanical device for example. This short and fast iterations enable engineers to detect any defect and fix not only the product and the overall architecture; but even the process to make the product, which led to a continuous improvements and theories about software architecture and development lifecycle. This in turn; refreshes the industry, and new generations always find something different in their time to get impressed by..The difficulties in experimenting and fast improvement iterations in other industries is taking away talents from them. However, it looks like our impression of computers and information technology will slowly be the key to change other industries, and whenever computers get more powers and less prices, part of every other industry is getting stronger and more affordable.

The difficulties in experimenting and fast improvement iterations in other industries is taking away talents from them.

.If computers and processors became so adequate in our lives, they will leave a room for other fields. Today’s children touching screens with their little fingers, will grow up rigorously hard to impress, add to that the floating of information in all fields on their grasp (thanks to the preceding IT advancements) they will find it more trivial to change any field they work at, and the notion of one person=one specialization will gone vague over time..It looks like information technology (and computing generally) will pay it forward to other fields. We like to imagine technologies beyond computer chips and screens. We fantasy machines that think about their functions (not only showing us fancy UI motions) new fast transportation systems, unthinked of ways of treating deceases, and more human beings up in space and other planets. Among the enablers of these kinds of innovations is the huge brain of computing and IT which we are focusing on now.


Wearables: What Are We Getting Wrong?

The usual conception about wearables and personal computing is:

  • Processor, memory and battery in your phone
  • Processor, memory and battery in your watch
  • Processor, memory and battery in your glasses
  • Processor, memory and battery in your tablet or laptop
  • Processor, memory and battery in your… whatever!

If the preceding points were in a programming code, the duplication could be fixed. The: “processor, memory and battery” can be encapsulated. A WiFi, Bluetooth or something similar will make it easy to encapsulate a processing and data storage as a separate device in your pocket that is different than the screen(s) that you take out to use.

May be the batteries can’t be encapsulated (yet), but a recent technology from Stanford University is very likely to succeed in making the battery is the screen.

The later advancements in wireless charging will connect the bits towards scattering the personal computer around our bodies. Imaging this: a unit that has the battery in your pocket that is responsible for all the energy that is needed for your phone, glasses, watch and tablet or laptop. The same thing with a storage and processing units. This way, your phone will be an extremely thin screen to display what’s on the processing and storage unit. Your glasses will look more like “glasses” without all the processing, storage and energy capabilities stock to your face!

A tablet (thin screen) can detect the nearest authorized units (the one in your pocket or office), and begin to display and compute using their energy capabilities.


P.S. what if those battery units are harvesting energy from our bodies?

On LinkedIn

City APIs by city councils as a step to the internet of things

We always dream about the internet of things and how everything talk our devices so they do things for us.
Trains and their stations, metros, taxi cabs, traffic lights and many other appliances have so much information to send to us, add to that; sensors and cameras that can be put anywhere.
Collecting the data shouldn’t be all automated, specially at the beginning. A train station employee can trigger something if they think something will affect a journey.
The use of these APIs that can be sold to developers who know how to invest these data and make money out of it. It will also help cities to generate more income and make their people lives easier.
Do you think cities should do that? what are the obstacles and opportunities in implementing such a project?.. happy to listen to you!

Social networks inside an enterprise

In this, and this  posts I talked about using internal blogs and wikis as a collaboration and project management tools, but still, not all people are welling to blog let’s not forget that it consumes time for writing a long blog and surely many others are not passionate about writing. Wikis are not conversational tools, and inside organizations their contents can be dealt with formally. IM massaging is not documented, it’s usually peer to peer and outside the browser.

This is why it’s very practical to have a social networking tool, to have an ongoing conversation which is easy for staff to involve in, post problems, solutions, ideas, socialise and network with each other. It also retain their talents and peer recognition, and sometimes, icrease their lifes!

However, as with any Enterprise 2.0 facility, adopting, using and sustaining it depends on the culture. You have to build your strategy depending on the current communication moods and norms, the social tools will just reflect what is there, and filter the best of it. Officeworks as our case example, can have the following points as a strategy for internal social network:

  • It has to be used as a main medium for announcements, to guarantee the regular access to, especially new employees announcements, so they start their careers on a conversation with the other staff, and it will make it familiar to them
  • Higher management usage for some conversations that can go internally public will make the staff more interested in accessing it
  • Specify a “no email day” to use the social network only for internal communication, and it’s better to be a “happy” day like Friday 😉
  • There are many tools that can be used, the tool is recommended to have the following characteristics:
    • It has to be installed on an owned servers, not using the famous services like Facebook because they don’t control them
    • Staff have to able to access it from anywhere on the internet. The social activities are usually moody, so, to flourish they shouldn’t restricted to work place.
    • As a tool, it has to has a mobile app, or at least a mobile friendly website, because most of the workers are in the stores, physically moving
    • It has to use the current users authentication and disable anonymous contributions

This post is dedicated to the internal use of social media only, for external usage, as marketing and resource building, you can check the following links from E2US team:

How can an internal wiki helps a retail chain with diversified services? Officeworks as an example

Do you compare going to a bargain store and pick some things, to going to a multi service shop with a printable design or document in a flash memory in a certain format and some level of confidentiality to be printed in a desired quality?

Training for retail chains shops’ employees  is always easy, there is no heavy knowledge to learn and the starter’s peers are easily guide them to the process, then no extra skills need to be acquired. The case is different if you provide services that needs extra knowledge, like the well known Officeworks, they have printing, copying, canvas art, digital photography, online services… etc, these services need a certain level of training, and there is a considerable probability to have bugs and technical difficulties over time, many staff have solutions or workarounds, while others in other branches may still struggling. They also sell electronic devices which needs knowledge about their specifications because many customers will come with a certain level of knowledge to discuses with the staff. In such retail stores wikis have a remarkable potential, since the staff have an access to computers, starting a wiki as a basic documentation and reference to what to how to complete the tasks is better than a static documentation, giving the users the ability to update this documentation and to add to it will make it always up to date without an extra effort from the headquarters, and will make it very helpful. Staff will refer to it on any technical issue, even if they didn’t find the solution and found it later somewhere else, writing it to the wiki will be a reference in the future for them and all the branches’ staff. If they found many solutions to many problems they will probably tend to add to it and improve it as a pay back.

Wikis are well known in the cubic offices environment where employees stair at their computers most of the time, but it will be useful also on the retail stores if the staff have an easy access to computers and their work needs verity and up to date skills. This strategy will not have a direct effect, it will pay off while the time passes and the staff of all branches have a collective intelligence and a cumulative knowledge that makes printing such a canvas (which was done only by dedicated artists few decades ago) much easier:

The importance of an independent corporate blog, Officeworks and environmental advocates conflict as an example

Since Reflex lost its environmental certification because of their Victoria’s forests wood chip, and though they are still certified under the Australian Forestry Standard. Officeworks found themselves in the middle, between environmental advocates (some of which are their customers)  on one side  and their commitment to their other customers, partners and stakeholders on the other side. There is a pressure on Officeworks to stop selling Reflex’s papers in their stores. Even though more than 650 companies boycott Reflext, the advocates are pressing on Officeworks since they are one of the largest stationary retailers in Australia.

Officeworks has a valid point, as their managing director Mark Ward mentioned, that boycotting Reflex will not solve anything, and all their paper is certified to the Australian Forestry Standard, which is recognised by the international group Programme for the Endorsement of Forest Certification, and they are looking for alternatives of the local timber.

However, Officeworks have shown a commitment to the environment by cutting their ties with one of the biggest Asian paper makers, APRIL, because they are illegally logging Indonesian forests, and it’s a different case than Reflex which is legal and still certified under AFS. Also Officeworks  consider the environment one of their responsibilities, and they actually didn’t defend Reflex’s acts.

So, why when we open Officeworks page on Facebook we found people are complaining everywhere? why Officeworks point of view is only mentioned in a small part at the end of the news? or directing people to a forum created by Australian Papers the owners of Reflex?

This is one of many cases where companies found themselves have to start a conversation with the audience, Officeworks for example has an advanced website with many services, but no blog to have their points of view, the blog also may have interesting information and news about, for example, printing and design which will catch the interest of many people. But mainly it’s a platform to clarify their opinion to the public and start a conversation that led by them; a link to the post maybe posted on their wall on Faccebook and on twitter so whomever want to criticise them, will have a background about their attitudes, then the conversation will be more matuer. Officeworks points of view about this issue is peppered on small replies on Facebook, if it is a full strong convincing argument on one place owned by Officeworks like an official blog, something like what Telstra is doing, then it will clarifies their attitudes and commitments to the environment, and we may have another side among environment advocates that defends Officeworks.