Saturday, February 01, 2014

Push API solutions for open and linked data

The internet has been growing at a rapid speed which was most likely not foreseen by a lot of people in the beginning. When Tim Berners-Lee added HTML and HTTP to the internet mix and by doing so opened the possibilities for the world wide web as we know it today he most likely was also not foreseeing what this would become, not even in his most wildest dreams.

As we are now becoming more and more used to the daily influence of the internet and the possibilities that it is offering us we are also trying to find ways on how to improve to the current state of it. We have had the web2.0 revolution which came down to a more social and a more interactive internet where people could more easily add to the content instead of only consuming it as a reader of web-pages. Many see the next big paradigm shift for the internet in the Semantic Web. The idea of the Semantic Web includes a lot of components from open-data, linked data, micro-formats and the internet of things / the internet of everything till big-data concepts. It all comes down to how we think about data and how data will play a role in the next version of the web.

In the below video you see what the vision from Tim Brenners-Lee is on the next version of the internet which he posed during one of his talks at TED.


 What it comes down to is the desire to provide data in an open format. Not necessarily in a nice and flashy website or a closed website however rather in the pure and raw format. This in an open format like XML or any other usable format.

By unlocking this data there will be directly involved the unlocking the potential of a lot of new options. When people do have access to raw data you can create new applications and come to interesting insights. currently the most data is still in closed silo's and not accessible to the public or not accessible in an open way that you can use it in a way you can build new applications around it. When the world starts with adopting the open-data model and the linked data model there will be a sprawl of new options coming to the public.

Even though all the above mentioned things are coming our way and will change the way the internet is used and seen by the public one important architectural part is missing in my opinion, or rather, is not given the attention it deserves. The missing, or rather under appreciated part is the role that push interfaces and API's will play in this new revolution. If we look at many of the new solutions, models and formats they are all based, or primarily based, upon a pull architecture.

If you draw a high level architectural representation of the current state in which applications are commonly are developed you will get something similar like the drawing below.


The custom application could for example be a web application that tracks flight information from a major airport and shows this to visitors of the website. The website itself is represented as the "Presentation layer" in the above diagram. Every time someone is logging in to the website the code will query for the most recent flights in the local database. However, to ensure that the local database contains this information it needs to be filled with data that comes from the "data owner". What you commonly see is that there is a scheduled program to download the basic information from the "data owner" data API and it is stored in the local database. The moment a user clicks on a flight the web application code will do a "online" query to the "data owner" to get the more detailed and latest information about this specific flight. 

In essence there is nothing wrong with this model and it is serving its purpose. However there are more and better solutions to do this which makes the development much more easy and ensures that applications are becoming faster, less prone to issues and less resource intensive on both the "custom application" side as well as the "data owner" side. 

A more favorable way of doing this is by making use of a push API rather then a pull API. In the below diagram the same solution is shown however no making use of a push API initiated by the data owner. 


The implementation of this model makes a lot of sense as it is removing a lot of unneeded communication between the customer application(s) and the data owner. Also missing an update is less likely to happen and new information, in our example flight information, is in real-time available to all who custom applications that have subscribed to the push interface from the data owner. 

In the above implementation, as soon as a new flight is known at the data owner it will send out a message to all the subscribed applications. By doing so the data owner knows that all the other applications are now aware of the new flight and might, if needed, query additional information via the "direct remote data access" method to the more traditional data access API. In some cases the real-time push API will remove the need for a more traditional API however in most cases there will still be a need for this. 

The hurdle for implementing this model is the need to develop standardization for communication between the data owner and the custom applications. Ideally the communication between both parties is arranged based upon the HTTP protocol and JSON or XML messages are exchanged between the 2 parties as shown in the image below. 


From a technical point of view it is not hard to implement the communication from both the "data owner" side for a push data API nor is it for the receiving side complicated to create a data update receiver who will receive and process the data send by the data owner. 

The biggest hurdle in this process is to ensure that the construction of the message is correct and contains all the needed information that the receiver of the receivers might need and that this is done in a functional format that is not only for a single receiving application usable but for a large set of external applications. If we take for example a look at the work done in the field of ontology for annotating offerings and other aspects of e-commerce on the Web by GoodRelations or the work done by schema.org you will see that developing a good standard is something that is not to be thought of lightly. However the below illustration might show the need for such standardization of message formats on both a more functional level and a technical level.


Commonly a custom application, for example a web portal showing flight information, is not making use of a single source. If, for example, you like to build a web portal showing all the incoming and outgoing flights in real-time or near real-time for the city of London you have to work with 11 different data providers. London is having ten "normal" airports, Luton, Stansted, Northolt, Stapleford, Heathrow, London city, Biggin Hill, Blackbushe, Farnborough and Gatwick. They also have a helicopter only airport named Battersea.

From a technical point of view it would be a great benefit if all those airports do make use of the same way of providing a push API interface to all push the information in the same manner. This way the developers of the custom applications that will connect to it will only have to develop a single data update receiver and simply subscribe to all the 11 airport push interfaces instead of developing 11 different receivers. Next to this the data providers, in this case the airports, can make use of an already developed standard data format and can potentially decide that they will develop a push interface together so they can split costs.

From a functional point of view a standard makes sense because you will know exactly what data you will get and which format. From a functional point of view this is not the technical format but rather the functional format. For example, if the data owner is also sending out weather information per flight, it would be good if all data owners do this in the same manner and all the information is in the same functional format. Meaning, temperature is for all data owners in Celsius or it is for all data owners, who comply to the standard, in Fahrenheit. This way you always know from a functional point of view what the data means and how to interpret this.

In conclusion, push API implementations will fuel the next generation of the internet in my mind and they will ensure that the web becomes (even) more real-time and data rich. The flow of data will help sprawl new initiatives and will help create new companies and great projects. For this however there will be a need to ensure that standards will be developed, not only on a technical implementation level, however even more important on a functional level where the standards will define which information in which format will be provided to the data consumers. 

Monday, January 27, 2014

Mockup tools for agile development

For all good reasons a more agile way of development is often selected when creating a new solution. Please do note, I am not a believer of agile being the silver bullet to all development work, I do feel that the more traditional way of development is in some cases much better then an agile way of doing things. However, agile development is in some cases great and one of the things that is also great within the agile development way of doing things is the fact you will be working very close to the customer / end-user. I have learned that while doing agile development with a end-user sitting next to you it can be very beneficial to be able to draw up quickly something. The art of creating a very quick prototype in the form of a mockup / wireframe drawing can make things really quickly clear to all parties involved.

Now, the things is, what  to select as a tool for doing things like this? When you start searching the internet for tools like this there is a large variety of things you can select from. Some of them I have tested and used in projects both for Capgemini as well as private and opensource projects. Below are some that you might want to give a look.

Keynotopia

Keynotopia is essentially an extension on your favorite applications you already have on your workstation and build a design with it quickly. You can add Keynotopia to Microsoft Powerpoint, Apple Keynote or OpenOffice. The great thing about Keynotopia is that you can safe the design you made as a clickable PDF and due to the fact all images are vector images it will scale to your devive and give the person who is testing your design the idea that it is really an application. Best of all, it is free and you can download it from the Keynotopia website. 

balsamiq



Balsamiq is actually the first tool of this kind I used ever. Primary reason for me to use balsamiq was that it was, at that moment, the only tool that was available for Linux and which did the job I wanted. One of the cool things about balsamiq is that it uses an "art style" that clearly shows that it is a prototype / mockup. You do not have to explain to anyone that this is just a quick thought drawing you are working on and that the product itself is not available yet.

moqups.com

moqups.com is an online alternative for those who are always on the move. When you are shifting a lot between workstations and you do need a solution to do your wireframe and mockup work this can be a very good alternative. This is however a payed service while you have some great free alternatives that you need to install on your workstation. Sharing between workstations is always an option with for example dropbox or Google Drive.

Pencil project

Pencil project is a great, and above all, open-source project which has the big benefit that it is availabel for ALL platforms. This is especially great when you are working in a team where some are using Linux, some Mac OS and some still do tend to stay with Microsoft. As Pencil can be downloaded at no costs you can have a quick adoption witthin a team and start working all on the same wireframe / mockup designs.

Microsoft Sketchflow

Microsoft Sketchflow is most likly one the most expensive alternatives in this list, it is part of Blend 3 and is inlcuded within Microsoft Expression Studio 3. Sketchflow is very usable when developing primarily Microsoft based solutions as it ties directly into the Microsoft development tools and is, apperently, very easy to go from first design to a first raw GUI in your development tooling. This is a very big advantages however, as stated, it is primarily focused on Microsoft driven solutions and not leaving to much room for others.

Eclipse based tools

without any doubt Eclipse is one of the most favorite development environments. Originally intended for Java developers it is now growing to all kinds of programming languages. The big benefit of Eclipse is that it is open-source and that there is a very large community of individuals and enterprises who add functionality to Eclipse. Functoinality is added in the form of plugins so you can expand you development environment and options in eclipse as you go. Included are a number of wireframe and mockup tools. The one that stands out the most is WireframeSketcher which can be downloaded from the wireframesketcher.com website.

The above outline is not to select the best tool, there is not such a thing as THE best tool as this is depending on a number of factors, for example the type of applications your are developing, the adoption within your team, the tools you are already using and so on. However, the above list is to outline and state that there are numerous tools available that can make your life easy and can help you while doing rapid prototyping and agile development work. Best thing of all, the number of free and open-source tools is also very wide and available to you. 

Monday, January 20, 2014

Oracle VM and OpenSCAP

With the release of Oracle VM Server 3.2.7 Oracle has started to ship oracle VM now also with OpenSCAP. OpenSCAP was already shipping with Oracle Linux and Oracle Solaris and is now also included in the Oracle VM server distributions. This is good news for all companies who do use Oracle VM and do have a need to tighten security.

"The Security Content Automation Protocol (SCAP) is a method for using specific standards to enable automated vulnerability management, measurement, and policy compliance evaluation (e.g., FISMA compliance). The National Vulnerability Database (NVD) is the U.S. government content repository for SCAP."

By adding the OpenSCAP implementation to Oracle VM server companies can now use the same tooling for checking against know vulnerabilities on your systems. This also makes it more easy to create a more enterprise wide approach to security checking and benchmark testing for all systems. You can now directly check your Oracle VM server installation against the SCAP messages containing CVE information.

Friday, January 17, 2014

IT maturity models to be used in continues updated roadmaps

Technology is becoming more and more one of the main supporting assets of a business. Where we could state a couple of decades ago that technology was providing a useful hand in doing the daily operations it is now one of the main assets that is driving most companies. When technology fails or is not able to or designed to provide the correct level of services to the business this has an immediate impact on operations and the survivability of companies. Due to this it becomes more and more of a vital importance that companies will look critically at what they expect from technology, how it fits in the business goals and how it will support the organization now and in the future.

To ensure that an organization knows where it is, where it needs to be heading and if it has the capabilities currently to go from where they are to where they should be or will most likely need to be in the foreseeable future it is advisable to have a moving roadmap. A moving roadmap is a continuously updated IT strategy which holds a continues self assessment and future assessment. Within this moving roadmap the steps needed to ensure services will be at levels the organization needs them to be and to ensure that the company will be keeping up with trends in the market. This is not the IT market however the market segment where the company operates in and where technological advantages and improvements can be used to keep up with the changes in the business market segment.

To be able to create a roadmap it is of importance to know where you are right now and where you need to be heading. A number of components are of importance in such a self assessment. One of those is to ensure you have a clear view on the maturity of your IT organization at this moment and at a later stage how mature your IT organization needs to be to support and keep supporting the business organization.  Oracle has, as part of their IT strategies library, created a framework for maturity models. The direct intention is not purely to be used within a strategic continues updated roadmap however it can very well be used in such a roadmap.

Oracle uses the maturity model to help customers understand and create an ETS or Enterprise Technology Strategy. The ETS line of thinking is used for major changes in relation to the implementation and adoption of new or updated technology. The Oracle statement on ETS in relation to the Oracle proposed maturity model is the following:

In order to successfully execute an ETS, an organization must identify the needed capabilities required by that ETS and measure their organization’s proficiency in each of these essential capabilities. This is the genesis for the generic Maturity Model.

The basis of the Enterprise Technology Strategy related maturity model Oracle is using the below model.


The model is based upon both areas which are categorized based upon the organizational disciplines as well as the technology that dominates an area. The organizational disciplines which are defined in this model are; “Business & Strategy”, ”Organization”, “Governance and Project” and “Projects, Portfolios & Services”. The technology dominated areas are; “Architecture”, “Infrastructure”, “information” and “Operations, Administration & Management”.

Within the Oracle maturity model framework Oracle has given the following meaning to the specific area’s;

Business & Strategy
Contains capabilities that provide the high-level constructs that allow the Enterprise Technology Strategy initiative to proceed. This includes such things as business motivation, expected benefits, guiding principles, expected costs, funding model, etc.

Organization
Contains capabilities concerning the development of corporate competency around Enterprise Technology Strategy including the organizational structure and skills development.

Governance
Contains capabilities concerning the governance structures and processes that support and guide the Enterprise Technology Strategy efforts. Maturity and adoption of an adequate amount of governance is a leading indicator of the overall Enterprise Technology Strategy success.

Projects, Portfolios & Services
Contains capabilities concerning the planning (portfolio management) and building (engineering) of applications and services that are part of the Enterprise Technology Strategy initiative.

Operations, Administration & Management
Contains capabilities concerning the post deployment aspects of solutions based on the Enterprise Technology Strategy i.e. the Operations, Administration, and Management aspects of the Enterprise Technology Strategy.

Information
Contains capabilities concerning the information aspects of the Enterprise Technology Strategy. This includes shared data models, message formats and schemas, data ownership, data management, content management, etc.

Infrastructure
Contains capabilities concerning the infrastructure and tools that provide the technical foundation for the Enterprise Technology Strategy initiative.

Architecture
Contains capabilities concerning the definitions of the overall architecture and guidelines for various practitioners to ensure adherence to the architecture.

As can be seen from the above descriptions of the areas in the maturity model this is a model that is originally created and still dominated from an Enterprise Technology Strategy point of thinking. However, the model itself is very much usable for other self assessment tasks. The areas that have been selected by Oracle are giving a real good representation on a number of key area’s. The difficulty during every initial setup of a maturity model is which key performance indicators will you be including in the main area’s.

For example, if we take the architecture area it states as a description “Contains capabilities concerning the definitions of the overall architecture and guidelines for various practitioners to ensure adherence to the architecture”. The challenging task when building a maturity model is to find the sub parts which will cover this description in measurable KPI’s and giving each KPI a certain weight. When given the appropriate level of thought and the appropriate level of attention throughout the organization the maturity model can become a very valuable tool to be used in ensuring you know where your IT organisation is at this moment and where it needs to be in the future to keep providing the necessary services to the business when they need it.

Friday, January 03, 2014

Indoor navigation with the Apple iBeacon framework

Already for a long time companies are trying to tackle the issue of indoor navigation. Already in 2011 I wrote a short post about the upcoming market of indoor navigation and what the people at Nokia research lab where doing is this area. Unfortunately, even though a lot of people do see a market potential in this, there is not much to report in this field and not many really adopted products or protocols have been developed by the industry. Now a new attempt to tackle the issue of indoor navigation is coming into play.

with the release of Apple IOS 7 and the software development kit Apple has introduced the option to the development community to make use of BLE or Bluetooth Low Energy.

"The iBeacon works on Low Energy Bluetooth (BLE), also known as Bluetooth 4.0 or Bluetooth Smart. In a real life scenario it would be more of a location-aware, context-aware, pervasive small wireless sensor beacon that could pinpoint your location in a store: iBeacons could send you notifications of items around you that are on sale or items you may be looking for, and it could enable payments at the point of sale (POS) where you don’t need to remove your wallet or card to make a payment. It could be a possible Near Field Communication (NFC) competitor."

Even though this technology is thought to be a pure Apple technology by some people this is a wrong assumption. iBeacons can be pruchased from a number of companies who develop them and all comply to the same standards. iBeacon is nothing more then a framework where some hardware vendors are developing the hardware beacons for. The most known developer of beacons is estimote however beacons are developed by for for example roximity.

An explanatory video from Estimote can be seen here;

The options of what can be done with the iBeacon solutions are numerous. In the above video some examples are mentioned. For example personalized prizing of items in a store which might differ from person to person based upon their membership of the stores loyalty program. Also an option is to show the number of likes for a product and product reviews.

However a large number of other options and solutions that can be created are possible, think for example indoor navigation on an airfield where someone is directed to the lounge or gate where this person should be. Also a personal plan for someone visiting an exhibition, some exhibitions can be extremely large and navigating the floors and be able to see all the vendors and conference speeches can be extremely difficult.

If you take for example the annual Oracle OpenWorld conference in the Moscone center in San Fransisco. It consists out of a number of exhibition floors with a large number of vendors and also it is a conference with a extreme large number of speeches. Getting from conference room to conference room and not missing anything can be hard. Currently visitors can select a track and they are guided and helped by a program. Adding to this program an APP that will help you get to the correct room on time and help you, for example, keep track of where all your colleagues are so you can meet up for coffee between talks would be a great addition. Oracle OpenWorld is just an example and a indoor navigation framework could be offered by the conference center owners as a service to the conference that is using their location.

Thursday, January 02, 2014

Understanding the Oracle Communications product portfolio

A little less then a year ago Oracle completed the purchase of Acme Packet. "Acme Packet enables trusted, first-class delivery of next-generation voice, data and unified communications services and applications across IP networks for service providers and enterprises. The company's solutions are deployed by more than 1,900 service providers and enterprises globally, including 89 of world's top 100 communications companies".

By purchasing ACME Packet Oracle has extended its product portfolio extensively and create the Oracle Communications product group. The current Oracle Communications product group is shown below in overview diagram;


The current naming of the products within the Oracle Communications product group can be a bit strange for people who are used to the original naming used by ACME Packet. For them, and for people working with Oracle Communications products it can be good to have some understanding of how Oracle has grouped products in the product group and sub product groups.

In general Oracle Communications is buildup out of 4 main product groups, Hardware, Network Session Delivery and Control Infrastructure, Enterprise Communications and Network Visibility and Resource Management. The last product group, the Network Visibility and Resource Management group is divided in two separate sub groups; Oracle Communications Session Delivery Manager and Oracle Communications Session Monitor.

When looking at the Oracle Communications website the total reach of the product portfolio is a lot bigger then what you can see above and the full integration possibilities become clear. By combining the products from "pure" Oracle Communication and combining them with other products from Oracle you can build a near red-stack solution for your entire communication delivery within your enterprise or have it as your core business to end-users outside of your company.

It is a shame that this part of Oracle is overlooked and it is especially a shame that it is overlooked by a lot of the integration and solution architects who design software solutions and commonly stop where direct communication is needed between humans and we leave the computer-to-computer communication.

Monday, December 30, 2013

Rebuilding the Oracle VM manager repository

When you are using the Oracle VM Manager you will need a database to be used as a repository. You have the option to use an Oracle database or a MySQL database. However, one way or another you will need this to be a part of your overall deployment architecture. As normal when working with databases you do have the tendency to be very careful with this database as it holds all your information. However, what is shown in the below video is that you do not have to be that stressed when your database is lost for some reason.

As you can see from the below image the Oracle VM Manager database is a central connection point where a lot of the information is stored that helps the Oracle VM Manager to operate.

If you have a look at the video below, created by Poor Frodo, you will see that having an accident which results in loosing your Oracle VM Manager database it might not be such a devastating disaster as you might think at first hand. It is still very inconvenient however it will not cripple your operation and you will still be able to manage your VM's. You are even able to restore a lot of the lost information during the reinitialisation process when you install a new repository database. 


Sunday, December 29, 2013

Internet of things moving to interoperability

When we look at the internet and then primarily at the world wide web part of the internet where webpages are offered to users we see there is a good level of interoperability and standards. Webpages are offered primarily on HTML and HTML and HTTP, originally invented by Tim Berners-Lee, are adopted by the majority of services offered online. The protocols lower in the stack like TCP/IP are well defined and clear to everyone and are the foundation that enables communication. when the first steps where taken to create those protocols the number of people involved where not that big and making sure new ideas where adopted where somewhat less troublesome. At this moment more and more people do have access to the internet and do have (some) level of understanding about how to develop new solutions.

When we look at the internet of things we see that a lot of people, organisations and companies are developing solutions that are added to the concept of the internet of things. Most of those solutions do make use of some of the existing standards. for example, most make use of TCP/IP and a large part of them makes use of the HTTP protocol to communicate data. What is missing however is a set of documented standards on what will be communicated and how we can enable interoperability  between devices from different vendors.

Qualcomm is trying to make an attempt to start such a standard. Qualcomm developed the alljoyn solution and has now joined the allseen alliance. By doing so they have given over the alljoyn code to the Linux foundation in the hope that this will help fuel the adoption of a unified protocol for the internet of things.

The allseen alliance is currently rapidly growing and is certifying devices that are compliant to the standards of the alliance. members include:LG, Sharp, Haier, Panasonic, Sears Brand Management Corporation, Silicon Image, Cisco, TP-LINK, Canary, doubleTwist, Fon, Harman, HTC, Lifx, Liteon, Sproutling and Wilocit

Saturday, December 28, 2013

Success key to ERP adoption is embracing consumerization of IT

For years the selection process of ERP systems has primarily been based upon the functionality the ERP system provides. Also the primary party in selecting the ERP system has been the IT department followed by the other departments. However we do see a changing trend. As rightly stated by the Wall Street Journal: "“Functionality is no longer the definition of success. Usability is key". In a recent Forbes article discussing the decision from Avon to stop the implementation of SAP in favor of Oracle JD Edwards it shows that ERP systems selection and implementation is getting more and more influenced by the Apple effect.

The apple effect is the consumerization of IT. Users do expect to have the same experience in the corporate applications as they experience in the consumer applications. This makes that users do expect to have the same kind of ease in using an application and the same user centered approach build into the core of an application and even in the complete portfolio of an IT department. This means that things like user interface design, gamification, agility and self-service solutions become more and more a central part of the corporate solutions and can no longer be seen as an addition or nice-to-have. At the same time users, now digital natives, do expect to be able to work everywhere, always and on every device. Something that is new to corporate IT however something that has to be adopted by IT departments.

Where IT departments where calling the shots previously and where banking on the fact that the user community was not aware about the possibilities this is now changing. With generations coming into the workplace who are used to work with computers and who are digital natives the non-IT departments are getting a stronger voice in the boardroom and are influencing the IT departments. This makes that IT is becoming, as it should, a service organisation to support day to day operations rather then a department that dictates how the business should work.

Combining the consumerization of IT and a business driven IT management strategy is providing IT organisations a stable solution for the future and this should be on the agenda of every CIO. However, as this is a fundamental change in the way IT departments think and operate this is a, clearly necessary however, slow and complex process.

Oracle Infrastructure as a service announcement

Oracle is already securing its place in the cloud era for some time by providing a number of cloud based solutions as well as software and hardware which enables companies to build private (or hybrid) clouds within their own datacenters. One area however which has not been touched that much by Oracle is the Infrastructure as a Service area.

If you take a close look at the Oracle cloud strategy which has been forming in past couple of years and if you have been looking closely at the products in both hardware and software this should not come as a surprise to many. What you could seen is that Oracle has been working on a lot of solutions that are all part of a cloud / IaaS foundation. In recent years it has become clear that Oracle is using the public market as some sort of testing ground and have the product they put out in the market, end up up in the Oracle cloud solutions. Another giveaway could have been the fact that Oracle has started to embrace OpenStack which was a clear giveaway that IaaS was the way to go in the minds of the Oracle executives.

In the recent second quarter financials call from Oracle given by Larry Ellison the statement made was: "his company intends to be price competitive with established cloud infrastructure-as-a-service players like Amazon, Microsoft and Rackspace". Also stated by Larry was: "We intend to compete aggressively in the commodity infrastructure as a service marketplace". According to Oracle this should start unfolding in the first half year of 2014

This news, even though one could have expected it, will ensure that other IaaS competitors will have to start watching and battling Oracle in this field in which previously Oracle was not a player.

Wednesday, December 18, 2013

Passive and active virtual assistants for human like interaction

Already for some time virtual assistants are claiming a place in the market. According to Gartner a Virtual assistant is; “a conversational, computer-generated character that simulates a conversation to deliver voice- or text-based information to a user via a Web, kiosk or mobile interface. A VA incorporates natural-language processing, dialogue control, domain knowledge and a visual appearance (such as photos or animation) that changes according to the content and context of the dialogue. The primary interaction methods are text-to-text, text-to-speech, speech-to-text and speech-to-speech

Digital assistance are playing more and more a role in the way humans interact with systems and the way, for example, customer care processes are shaped. They way people do think about how services should be provide is more and more on an always and everywhere presumption. People do have the need to be able to interact with a company at any moment in time and do expect to be helped directly. Companies who do offer poor quality of service for their customer care and customer support desks will find themselves moving down in the user satisfaction which will result directly to loss in revenue and harm to their brand. A number of options to implement are available; among them is a better way of interacting with the customer via a digital assistant who is present on your website.

Digital assistants have come a long way and due to the maturing of artificial intelligence the usability of digital assistance has grown over the years. By having a digital assistant on your website present you can lower the load on your human Servicedesk and provide customers with a faster way of finding services and answers to their questions online without the need for human interaction. A research paper from Nuance shows that 71% of the consumers prefer a web virtual assistant over a static web experience.

Virtual assistance can play a number of roles on your website all with the goal to enhance the customer experience and at the same time lower the load on your human Servicedesk engineers while at the same time also try to boost business by attracting new customers. This can be done in a number of ways.  Traditionally the way of interacting primary with a human representative, more commonly nowadays is that a consumer first is looking at the information presented on the website and if they are unable to locate the correct information or are unable to find answers to their problems they will interact with the Servicedesk, via email or via phone. Depending on the content of your website and depending on the quality of this content and ease of finding you will lower the number of interactions between the Servicedesk and the consumer.

The inability of your customers to locate the information they need is having two negative effects, firs the customer is frustrated because he is not getting the online experience he would like to have, secondly the load to your Servicedesk is increasing due to the fact more customers have a need to interact with you human Servicedesk. Shown in the below diagram you can see the flow (1) customer searching for information on your website, (2) the customer was unable to locate the required information and contacts the Servicedesk and finally (3) the customer is directed by the Servicedesk to the website where the customer can find the correct information.


When you deploy a virtual assistant the changes that there was a need to interact with a human service desk would be much more limited. The digital assistant could take over the role from the human Servicedesk and first try to help the customer by applying artificial intelligence. This would result in the following; the customer visits the website and interacts with the virtual assistant, (2) the virtual assistant directs the customer to the correct location on the website where the information can be found. In case the customer is still not finding the answers he is looking for the digital assistant can establish a connection for the customer with a human Servicedesk representative.

Even though we still keep the option open for customers to interact directly or via the digital assistant with a human Servicedesk the number of requests that need to be handled by the human Servicedesk is, in general, dropping significantly.


Even thought the above method is adding a lot of benefit to the experience of the customer and is limiting the number of calls to the human service center it is considered a passive digital assistant. The reason it is passive is that the customer needs to take the first step to start interacting with the digital assistant. A new and more recent implementation for digital assistants is a more active digital assistant. In this deployment model the digital assistant is trying to start the interaction with the customer even before the customer has opened the website.

A general way of implementing this is related to the analysis of publicly available data which can for example reside on social networks. By analyzing social networks you can identify existing customers who state they have a question, remark, complaint or thought about one of the products or services you provide. Traditionally you would be unaware of this up until the moment the customer initiates the contact with your Servicedesk or with the passive virtual assistant.  The same can be applicable for potential new customers, if a person who is not identified as a customer provides on a social network signals that he might be a potential new customer you can identify this and start interacting with this person.


Interaction commonly comes down to replying on the original message from the person on social media and directing this person to the digital assistant. Information that has been collected is already given to the digital assistant to ensure the conversation can be directly on topic. The below video is showing a good example of such an implementation.

Tuesday, November 26, 2013

Use cURL in combination with My Oracle Support

When interacting with Oracle support it is quite common that you would like to, or asked to, upload files to the oracle support site. This can be for example be a logfile or the output from a diagnostic script. Generally most people download the files to their workstations and then upload it the the Oracle support site. however, in some cases you would like to be able to directly upload the file from the server to the Oracle support website.

You can now use cURL to upload files to transport.oracle.com. cURL is commonly available on most Linux and UNIX systems. "cURL is a computer software project providing a library and command-line tool for transferring data using various protocols. The cURL project produces two products, libcurl and cURL. It was first released in 1997."

To upload a file to a specific service request you can use the below command to do so:

curl –T  –u “” ftps://transport.oracle.com/issue//

It is advised to not include the password in your curl command and you will be promoted for it. For more and detailed information you can refer to MOS document: 1547088.2

Create new target properties in Oracle Enterprise Manager

When using Oracle Enterprise Manager you have the option to store some information on the target in OEM as target properties. Up to recently I was under the assumption that this was a fixed list of target properties. One of the things I was hoping for was that this list would be expandable so you can add more target properties when needed for a business purpose. For example you might want to have a field to register your business owner, security officer, if a system should be compliant to PCI DSS and other things. 

Initially I was unable to find a way and Oracle support reported that this indeed was not an option. However, after Oracle development has reviewed the enhancement request I filed they came up with a solution that is already in place. It turns out you can add additional target property fields however not from the GUI, you can only add them by using emcli. 

The command to use to add additional target properties for a target in Oracle Enterprise Manager is to add_target_property. By using this command you can extend the number of fields per target type. 

For example, if you wanted to extend all targets of the type "oracle_database" with a new target property to store the name of the system owner you could do so be executing the below command;
emcli add_target_property -target_type="oracle_database" -property="Owner Name"

In case you wanted to add the owner property to ALL targets you could do so by executing the below command:
emcli add_target_property -target_type="*" -property="Owner"

having this option will enable you to extend the options you have to store information on a target level in Oracle Enterprise Manager. 

Monday, November 25, 2013

Big Data and cars 14.5 billion dollar in 2020

IHS Automotive has just released a report stating that the concept of connected cars will represent billions for the automotive industry. A raw estimate is that the automobile data systems will represent approximately 14.5 billion dollar in 2020. As a sidenote IHS researches note that this is only the amount that is directly related to the direct automotive industry however not included in this forecast is the revenue for companies and activities who have a spin off from this data. Inlcuding this it is estimated by IHS that this could run between $16 billion and $80 billion.

IHS expect that the following four categories will be of the most benefit directly for the automotive industry;

  • Diagnostics 
  • Location 
  • User Experience (UX)/Feature Usage
  • Advanced Driver Assistance System (ADAS)/Autonomy data

The below graph shows the buildup of data for the automotive industry between the year 2010 and 2020 and it shows a rapid growth that is predicted;

Even though this are impressive numbers it is in no comparison to what the actual revenue could be when we take into account the non-direct automotive revenue. This will not only bring new revenue to already existing companies however it will also fuel new companies to build new solutions and services. Interesting question to ask is however, who is the owner of the data collected. Most likely this will be the car manufacturer as this is somehow to be inserted within a contract with the owner. However, in an ideal world the owner of the car should be the owner of the data and should be able to opt for sharing this data, most likely anonymously, witth the rest of the world.

If the automotive industry could come up with a way that all car data could be shared openly accessible and free this could potentially even more fuel new innovations and could provide a hughe momentum for the adoption of systems like this.

Deploying Ceph and OpenStack with Juju

A lot of people working on building private or public clouds will be familiar with OpenStack amd will use it or at least have adopted some of the technological thinking behind OpenStack. Less know might be juju and CEPH.  Akash Chandrashekar is working as a solution engineer at Canonical which is the organization behind Ubuntu Linux and he gives a very clear explanation how your can build clouds by using OpenStack, juju and CEPH.

To give some highlevel background before watching the video on the 3 components; OpenStack, juju and CEPH.

OpenStack: OpenStack, a cloud-computing project, aims to provide an infrastructure as a service (IaaS). It is free and open-source software released under the terms of the Apache License. The project is managed by the OpenStack Foundation, a non-profit corporate entity established in September 2012 to promote OpenStack software and its community.

juju: Juju (formerly Ensemble) is a service orchestration management tool developed by Canonical Ltd.. It is an open-source project hosted on Launchpad released under the Affero General Public License (AGPL). Juju concentrates on the notion of service, abstracting the notion of machine or server, and defines relations between those services that are automatically updated when two linked services observe a notable modification. This allows for services to very easily be up and down scaled through the call of a single command. For example, a web service described as a Juju charm that has an established relation with a load balancer can be scaled horizontally with a single juju "add-unit" call, without having to worry about re-configuring the load-balancer to declare the new instances: the charm's event based relations will take care of that.

CEPH: Ceph is a free software storage platform designed to present object, block, and file storage from a single distributed computer cluster. Ceph's main goals are to be completely distributed without a single point of failure, scalable to the exabyte level, and freely-available. The data is replicated, making it fault tolerant.



In case you want to view the slides about the presentation deploying openstack and CEP with Juju at your own speed and comfort please find the slides below as they are shared on slideshare.