Click here to close now.


Java IoT Authors: Pat Romanski, Tim Hinds, Bill Szybillo, Harald Zeitlhofer, Adrian Bridgwater

Related Topics: Microservices Expo, Java IoT, Industrial IoT

Microservices Expo: Article

SQL Transparent Hierarchical Processing of Relational, XML and IMS Data

Every ANSI SQL processor contains a powerful hierarchical processor

Current SQL support of relational, XML and hierarchical legacy data such as IMS is driven by flattening the hierarchical data in order to integrate it naturally with relational (flat) data so that it can be processed relationally. Unfortunately, this strips out the natural semantics in hierarchical data which has the capability to dynamically increase the value of the data being processed and to perform powerful hierarchical operations.

The SQL-92 standard introduced the LEFT Outer Join which offers a powerful alternative to standard relational processing that can be used to perform full hierarchical processing naturally and inherently. This enables SQL to seamlessly and transparently integrate relational data at a full hierarchical structured data processing level with XML, IMS and other forms of legacy hierarchical data. This means there is no data loss for the integration of hierarchical and relational data while increasing the level of powerful automatic hierarchical operations.

It is important to note that current SQL access to XML via the SQL/XML standard is through XML semistructured data processing. This is a very relaxed hierarchical principled fuzzy process for processing markup and requires user specified data structure navigation. The natural navigationless hierarchical processing performed by SQL shown in this article always following precise hierarchical principles and restrictions. This keeps the hierarchical structures unambiguous for automatic processing. This will all  be covered in this article.

Also significant to SQL full hierarchical processing is its automatic support of multipath processing. This was a powerful hierarchical processing used for querying IMS databases four decades ago before the advent of relational processing.This utilizes the naturally occurring semantics in multipath queries to transparently perform powerful nonlinear hierarchical processing. This enables non technical users to easily specify more powerful internally complex dynamic queries than are available today. This article will explain and demonstrate this advanced SQL hierarchical multipath processing capability and its advantages that break away from the current relational flat mindset and its limitations. The SQL hierarchical processing examples described in this article have been tested on a hierarchical processing middleware prototype which uses a standard ANSI SQL processor as its hierarchical processing engine.

Basic Hierarchical Data Modeling
The following SQL view definition in Figure 1 uses a sequence of standard SQL LEFT Outer Joins to model the shown hierarchical structure. This hierarchical view is modeled at the node level to define basic physical structures like IMS or XML. It also defines logical hierarchical structures using flat data like relational. The LEFT Outer Join hierarchically preserves the left data argument over the right argument. This allows the left data argument to exist when there is no matching right data argument. These LEFT Outer Joins can be strung together along with the ON clauses to define and build full hierarchical multiple path structures.

The ON clause was also introduced in the ANSI SQL-92 Outer Join to offer more local control over the WHERE clause for specifying join criteria. Notice in Figure 1 that the ON clause is specified at each specific join point to control its specific join operation. All of these capabilities allow the LEFT Outer Join syntax to exactly model hierarchical structures unambiguously. This was not previously possible using a single WHERE clause for join control. The WHERE clause is still used to specify global data filtering described later.

    Basic Hierarchical Data Modeling

    LEFT JOIN D ON R.r=D.d /* Extend path from node R to node D */
    LEFT JOIN B ON R.r=B.b /* Start new Path from node R to node B */

    Basic Structure
        /  \
      D   B

   Figure 1: SQL Hierarchical View

The corresponding hierarchical semantics to the LEFT Outer Join data modeling syntax shown in Figure 1 defines exactly how this data structure definition operates hierarchically. It performs hierarchical data preservation when processed directly by the ANSI SQL processor. As shown in Figure 1, this hierarchical data definition can be specified in an SQL view. The R, D, and B items in the hierarchical view structure in Figure 1 are relational table names which also represent nodes in the hierarchical structure.

The hierarchical structure defined in Figure 1 above follows basic hierarchical principles supplied by the SQL Outer Join semantics. Nodes D and B can not exist without the higher level R node. But node R can exist without nodes D and B. Node D can exist without node B and visa versa because hierarchical pathways are independent of each other.

Static Hierarchical Structure Combining
Basic structure views like the one in Figure 1 above can be joined together hierarchically to create larger more powerful views that combine hierarchical structures. This is also performed by using the LEFT Outer Join and ON clause as shown in Figure 2 below. The only difference is that the view structures are being joined instead of isolated nodes. In this example, two additional basic views, IMS and XYZ, are used. They represent a physical IMS and XML data source modeled in the same way as the logical RDB view was defined in Figure 1 by using the LEFT Outer Join. In the IMS view, Segments I, M, and S represent nodes. In the XML view, Elements X, Y, and Z represent nodes. These common nodes allow seamless heterogeneous hierarchical data structure integration. Not being relational data, the non relational views contain additional specific physical meta information needed for their specific physical processing. They will also require an external process for retrieving their non relational data into rowsets when needed. These processes will be covered further later.

      Logical Data Structure

      CREATE VIEW TestView AS
      LEFT JOIN XYZ ON B.b=X.x

     Full Heterogeneous Structure

          /   \
        D    B
             /   \
           I      X
          / \     / \
        M  Y Z

  Figure 2: Logical Data View

The combined view named TestView in Figure 2 above consists of views RDB, IMS and XYZ. This makes TestView a heterogeneous view consisting of multiple data structure types defined seamlessly to ANSI SQL by using the LEFT Outer Join data modeling operation described above. When joining physical view structures together, the result is a logical structure. Logical structures can be joined with other logical or physical structures. Logical structures can also be directly processed by the ANSI SQL processor. This is because the logical view defined by TestView in Figure 2 with its corresponding relational rowset hierarchically maps to the combined and expanded LEFT Outer Join views RDB, IMS and XYZ. This supplies the natural hierarchical data modeling syntax and semantics needed for SQL to automatically perform hierarchically on the now homogeneous flattened rowset.

While the hierarchical data has been flattened in the rowset, it still automatically represents hierarchically preserved multiple variable length pathways using null filled data. The null data is used to fill out the variable length paths keeping the data aligned properly in the rowset. This allows hierarchical structures to be still operated on hierarchically by SQL. These views are temporarily materialized when processed, so they do not take up space when not used and avoid replicated data problems.

Global Hierarchical Data Filtering
As already mentioned, the newer ON clause is used instead of the WHERE clause for the purpose of specifying separate and specific uses of the join criteria. The WHERE clause operation is still responsible for data filtering. The difference between the ON clause and the WHERE clause is that the ON clause operation is local to its position in the structure affecting only pathways linked below it, while the WHERE clause filtering operation is global, operating on the entire structure. This means the entire hierarchical structure is processed as shown by the flow direction arrows in Figure 3 below. In Figure 3, node B is filtered directly by the WHERE clause. This can affect the data occurrences above and below node B removing data occurrences of nodes R and X. Notice also that being a hierarchical structure, node D a cousin relationship of node B, is also affected because if an R node data occurrence is filtered out, so is its descendant node D data occurrences. This hierarchical operation can cascade which can affect the entire global structure.


    Hierarchical Data Filtering Direction

    R        SELECT R.r, D.d, B.b, X.x
   ↓        FROM TestView
   D B ßWHERE B.b=5

  Figure 3: Global Hierarchical Data Filtering

The global hierarchical filtering operation in Figure 3 above is taken care of automatically in SQL because entire rows in rowsets are filtered out by the WHERE clause. When performing the more flexible and data preserving Outer Join ON clauses, only portions of rows are affected. These are the pathways linked below the ON clause being processed as mentioned above. The SQL ON clause operates while the hierarchical data structures are being built, while the WHERE clause operates  after the data structure is complete. In this way, the entire structure is available to operate on. Optimization does allow concurrent WHERE clause processing as long as the result is the same.

This data filtering example is a very simple case. When multiple data items are used in data filtering, the processing is still automatic and correct. It becomes more internally complex and more complicated to explain. For example, this can be seen in the filtering criteria of: WHERE B.b=5 OR D.d=4 which is different than WHERE B.b=5 AND D.d=4. The OR condition combines the results of each data filter. The AND condition combines the results of each filter when both sides find a match otherwise no data is selected. This operation occurs for each data occurrence. With this complex WHERE clause processing, it may be easier to grasp this operation as data qualification. Data filtering and data qualification are the same.

Hierarchical Data Processing Optimization
By supporting only hierarchical structured data which is necessary for standard SQL processing, a powerful generic semantic hierarchical optimization can be applied by middleware before the standard relational optimization is performed. This hierarchical optimization is useful because it will not be fully recognized by the standard relational optimization. This hierarchical optimization will dynamically remove all unnecessary pathways from a queried SQL hierarchical view or virtual heterogeneous view. Because of hierarchical data preservation principles, only referenced nodes including the root node and their intervening nodes need to be accessed. Since ON clause data references are part of the structure definition process, they are not considered query references for this optimization and do not influence optimization.

This hierarchical optimization is demonstrated in the query example in Figure 4 below where nodes D, X, Y, and Z are not specified on the SELECT list and are not accessed without changing the hierarchical semantics of the query. This hierarchical optimization also has a positive effect on the following relational optimization by enabling it to operate on a smaller structure making its operation easier to recognize optimizations.


       SELECT R.r, I.i, M.m 
       FROM TestView 
       WHERE S.s=5

   TestView   Optimized 
   Structure   Structure

      R               R
      / \                |
    D B              B
       /  \     è | 
     I     X           I 
    / \    / \          \
  M S  Y Z     M   S

  Figure 4: Hierarchical Optimization

Notice in Figure 4 above that node B was not referenced in the query, but required access because it is on the path to a referenced node I keeping the semantics of the structure accurate. Hierarchical optimization greatly reduces data access and relational data explosions without changing the hierarchical structure semantics and output. Standard Inner Joins can not use this optimization because they can not define hierarchical structures with their lack of data preservation. In addition, Inner Join use will destroy existing hierarchical structures. Most queries are still using the older Inner Join operation as their primary join operation. This means the Inner Join operation should not be used with hierarchical structures because it is missing the needed hierarchical processing principles.

Global Views and Their Usage
The additionally supplied hierarchical optimization described in Figure 4 above allows all views to be global views because there is no overhead for unused nodes in a dynamic view execution. This allows the use of larger views making much fewer views possible. This makes queries easier for the user to specify. This is because the specific view knowledge is not necessary for the user to specify efficient queries. This also reduces or eliminates join operations by the user because they are abstracted (hidden) in the global view.

Variable Processing and Output Data Structure Aggregation
SQL's powerful variable SELECT list operation allows its hierarchical optimization to be dynamically and automatically controlled from query to query by its flexible SELECT list. This also enables automatic dynamic tailoring of the necessary processing from query to query. A view invoked with a variable SELECT list can specify entirely different queries specifically tailored to the desired output as shown in Figure 5 below. This example is actually a continuation of the query shown in Figure 4 above to show its third and final state, this is its result structure. This automatic variable processing and dynamic output structure flexibility offers advanced new capabilities and uses such as dynamic publication support.

       SELECT R.r, I.i, M.m
       FROM TestView
       WHERE S.s=5

  Optimized    Result
   Structure   Structure

      R              R
       |                |
      B      è I
       |                | 
      I               M
     / \
   M S

   Figure 5: Variable Processing with Output Aggregation

In Figure 5 above, the hierarchical result structure is shown which contains only the dynamic SELECT list's specified nodes. This has the effect of dynamically controlling the desired output structure. Notice that the S node used in the WHERE clause was not output because it was not selected for output which is valid. Also note that the B node that was not referenced, but was necessary for internal database navigation, was not output as expected. This had the output result of closing the gap between nodes R and I. This is normal in hierarchical processing and is called node promotion which aggregates (condenses) the result nicely around the desired output data. This automatic reconnecting of pathways correctly preserves the remaining hierarchical semantics of the structure. Interestingly this is also standard in relational processing where it is known as projection produced naturally by the relational SELECT operation. So this mapping is both relationally and hierarchically accurate.

Multipath Query Data Qualification
Specifying multiple paths on a data qualification query requires nonlinear processing logic. These multipath queries using the SQL WHERE operation are incredibly powerful and extremely complex to process. They correlate references across pathways that interact with each other. This processing is hidden by SQL's automatic and inherent hierarchical structured data processing capability.

There are two different usages of a SQL multipath query data qualification. These are: 1) Selecting data from one pathway of the hierarchical data structure based on data from another pathway or: 2) WHERE clause searches comparing data on or across multiple pathways. These multipath queries use the naturally occurring structure semantics that exists between the concurrently processed pathways to solve this query. This significantly increases the number of different queries possible. This enables a new level of powerful hierarchical processing available to uncover new more deeper meaning in the data without requiring additional query syntax or knowledge of the structure for the user. The previously mentioned global view capability magnifies the usefulness of these multipath processing capabilities further by making unlimited combinations of pathways more available and easier to specify.

Dynamic Hierarchical Structure Combining
It is important to point out that SQL processing can perform all of its hierarchical processing capabilities dynamically. This means that SQL can dynamically and hierarchically join hierarchical structures in an ad hoc or interactive way (instead of limited to a static view). This is shown below in Figure 6 below where views RDB and IMS are dynamically joined at runtime to combine structures.


    SELECT B.b, M.m, S.s 

    Result Structure

      /  \
    M   S

    Figure 6: Dynamic Structure Joining

The example of node promotion in Figure 6 above also demonstrates node collection occurring. This can be seen when nodes M and S from separate pathways collect under the common B node. Notice that node promotion can occur across the entire virtual structure. In this case, node promotion occurs across a relational and IMS structure.

Extending SQL's Inherent Hierarchical Processing
To fully utilize SQL's inherent hierarchical processing correctly, the SQL must be specified hierarchically as described in this article. For SQL to control automatic I/O capabilities that use non relational access, SQL must be extended. This extension automatically uses the structure information supplied from the Left Outer Join hierarchical structure modeling and the access meta information supplied in new non relational views describe previously. For testing and proof of concept, this extended operation has been isolated and provided in a hierarchical processing enabler middleware prototype. It operates on top of ANSI SQL processors to support hierarchical data types such as IMS and XML to automatically and seamlessly enable this inherent hierarchical processing capability in the user's SQL processor. This extended capability supplied by the hierarchical processing enabler middleware is described in the next section.

The ANSI SQL Hierarchical Middleware
The hierarchical processing middleware prototype uses a standard ANSI SQL processor as the full multipath hierarchical processing engine. It is required to seamlessly power the hierarchical middleware prototype. The middleware consists of a Preprocessor, Post Processor, and Non Relational Data Access Backend components shown below in Figure 7 below. This middleware supports the new capabilities needed to extend SQL's natural hierarchical processing to non relational data such as XML and IMS including other legacy data such as VSAM and IDMS.

The Preprocessor automatically analyzes the LEFT Outer Join SQL source input to dynamically determine the virtual hierarchical structure to be processed. This also makes hierarchical structure-aware processing available to the other following phases of the middleware. The SQL input describing the data structure is hierarchically optimized to remove unneeded node pathways for the active query by analyzing the hierarchical structure and SELECT list as previously described. The modified optimized SQL is then submitted to the standard ANSI SQL Processor for full multipath level hierarchical processing.

The Real-time Non Relational Data Access Backend is used to retrieve non relational data and convert it into a hierarchically preserved relational rowset for the ANSI SQL Processor. It is invoked when a needed non relational data type is requested from the ANSI SQL Processor using an external table or UDF call. This external table or UDF mechanism will include pointers to the non relational processing information specified from the non relational hierarchical view and runtime optimization information. This enables a hierarchically preserved relational rowset to be returned efficiently by the backend which is hierarchically mapped into the LEFT Outer Join defined for this non relational view. This makes its SQL hierarchical processing seamless.

The Post Processor takes the completed relational result set from the ANSI SQL Processor removing the relationally introduced replicated data from the result and converts the result to the desired hierarchical structured output format. Duplicate and replicated data are treated differently. Duplicate data is meaningful and is preserved by uniquely tagging it on input; this also preserves the data order if necessary, such as for XML. The output structure format was determined from the structure information extracted in the Preprocessor. These three additional sections added for hierarchical support that make up the hierarchical middleware prototype are shown mapped around the ANSI SQL processor as shown Figure 7 below.

                                 Hierarchical Processing Middleware Design

                                             SQL Source
   Real-time Non                        
   Relational Data çè ANSI SQL Processor Performing Hierarchically
   Access Backend                     
                                          Post Processor
                                   XML Hierarchical Output

           Figure 7: Hierarchical Processing Middleware

The hierarchical processing middleware prototype laid out in Figure 7 produces hierarchically formatted XML output automatically which can be easily changed to produce any type of hierarchical data structure output. The hierarchical processing middleware has proven the powerful ability of operating directly on top of in place ANSI SQL processors at the customer's site to automatically support transparent hierarchical processing. This description of the hierarchical processing middleware should indicate how the Preprocessor, Real-time Non Relational Data Access Backend, and Post Processor functions can be moved into the ANSI SQL processor as an alternative implementation.

Benefits of Full  Multipath Hierarchical Processing
SQL's ability to naturally perform full multipath hierarchical processing has many new benefits listed below. This inherent automatic hierarchical processing allows the dynamic access of legacy data at a hierarchical level. With this capability and the beforehand knowledge of the entire query processing necessary derived from the preprocessor step described previously, extremely optimized dynamic data access is possible. This can be optimally applied to IMS data access by utilizing its database multiple positioning and dynamic SSA (Segment Search Argument) construction used for database navigation. This advanced hierarchical processing of IMS can be integrated with relational and tabular data as well as other hierarchical databases and data such as XML at a seamless hierarchical processing level. This can be performed on mainframes to supplement IMS data or it can be used to supplement Internet XML data with seamless and transparent access of IMS data. New features and capability include:

  • Improved SQL performance when processing IMS by using hierarchical optimization
  • Increases value of the data by utilizing the natural existing hierarchical structure semantics
  • Improves processing correctness and accuracy using principled hierarchical processing
  • Increases processing capabilities to include advanced hierarchical processing capabilities
  • Improved ease of use for hierarchical processing requiring no technical knowledge to use
  • Extends SQL navigationless structured data support to XML processing missing today

This article explained how SQL can now perform full hierarchical processing and what the advantages and new capabilities are and how they operate. The automatic utilizing of the natural hierarchical structure semantics can perform many new capabilities as described in this article. SQL hierarchical queries can now specify more powerful data value increasing queries that freely specify multiple pathways allowing more internally complex processing to be performed inherently. These multipath queries require special processing known as LCA logic which is performed automatically by SQL to control the range of hierarchical processing across pathways to keep the result meaningful and correct. See the Multipath LCA Logic sidebar for more information on this. The SQL hierarchical processing shown in this article can be tested using the hierarchical processing prototype available for online interactive testing at: The previous article published under this topic also included a set of powerful automatic hierarchical data value increasing capabilities.


Multipath Lowest Common Ancestor (LCA) Logic [Sidebar]

Multiple path processing requires logic involving the hierarchical distance between the referenced pathways data to determine the range of processing in order to keep the result meaningful. This range of processing is controlled by Lowest Common Ancestor (LCA) logic. It uses the LCA node between referenced pathways shown in Figure 6 to define the range of control to keep the result meaningful. Too high a level introduces meaningless data into the result, too low a level will miss meaningful data. This LCA processing logic is very complex and is not practical to be performed manually and procedurally. Fortunately, we found SQL's inherent hierarchical processing performs this LCA processing indicated below in  Figure Sidebar1 automatically as part of its relational Cartesian product processing when performing hierarchical data processing.

     SELECT R.r, M.m, D.d
     FROM TestView
     WHERE Y.y=1 AND Z.z=2

       Processed Structure

      R ß SELECT D.d WHERE Z.z=2 --- LCA Node =R 
     /  \
   D   B ß SELECT M.m WHERE Z.z=2 --- LCA Node = B
        / \
      I    X ß WHERE Y.y=2 and Z.z=1 --- LCA Node = X 
     / \   / \
   M S Y Z

   Figure Sidebar1: Lowest Common Ancestor (LCA) Processing

Figure Sidebar1 above shows SQL's different LCA uses. The WHERE clause in this example has a compound data filtering condition that spans two pathways on nodes Y and Z. This means that all combinations of the two conditions across the different paths need to be tested under the current LCA X node data occurrence until a match is found. The SELECT LCA operation involves the use of the SELECT operation with WHERE filtering as in SELECT D.d WHERE Z.z=2 taken from the example in Figure 6. The D and Z node references produce the LCA node of R. This operation will select all D.d data occurrences under the current LCA R node data occurrence when Z.z=2 is true. The SELECT operation can use a different LCA for each of its data items as in SELECT M.m, D.d WHERE Z.z=2. It produces LCA node B for SELECT data item M.m, and produces LCA node R for SELECT data item D.d. Current hierarchical querying of hierarchical data outside of SQL does not automatically support multipath LCA processing and it is too complicated to specify manually.

More Stories By Michael M David

Michael M. David is founder and CTO of Advanced Data Access Technologies, Inc. He has been a staff scientist and lead XML architect for NCR/Teradata and their representative to the SQLX Group. He has researched, designed and developed commercial query languages for heterogeneous hierarchical and relational databases for over twenty years. He has authored the book "Advanced ANSI SQL Data Modeling and Structure Processing" Published by Artech House Publishers and many papers and articles on database topics. His research and findings have shown that Hierarchical Data Processing is a subset of Relational Processing and how to utilize this advanced inherent capability in ANSI SQL. Additionally, his research has shown that advanced multipath (LCA) processing is also naturally supported and performed automatically in ANSI SQL, and advanced hierarchical processing operations are also possible. These advanced capabilities can be performed and explained in the ANSI SQL Transparent XML Hierarchical Processor at his site at:

@ThingsExpo Stories
Today air travel is a minefield of delays, hassles and customer disappointment. Airlines struggle to revitalize the experience. GE and M2Mi will demonstrate practical examples of how IoT solutions are helping airlines bring back personalization, reduce trip time and improve reliability. In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect with GE, and Dr. Sarah Cooper, M2Mi’s VP Business Development and Engineering, explored the IoT cloud-based platform technologies driving this change including privacy controls, data transparency and integration of real time context with p...
The Internet of Things (IoT) is growing rapidly by extending current technologies, products and networks. By 2020, Cisco estimates there will be 50 billion connected devices. Gartner has forecast revenues of over $300 billion, just to IoT suppliers. Now is the time to figure out how you’ll make money – not just create innovative products. With hundreds of new products and companies jumping into the IoT fray every month, there’s no shortage of innovation. Despite this, McKinsey/VisionMobile data shows "less than 10 percent of IoT developers are making enough to support a reasonably sized team....
Just over a week ago I received a long and loud sustained applause for a presentation I delivered at this year’s Cloud Expo in Santa Clara. I was extremely pleased with the turnout and had some very good conversations with many of the attendees. Over the next few days I had many more meaningful conversations and was not only happy with the results but also learned a few new things. Here is everything I learned in those three days distilled into three short points.
Most of the IoT Gateway scenarios involve collecting data from machines/processing and pushing data upstream to cloud for further analytics. The gateway hardware varies from Raspberry Pi to Industrial PCs. The document states the process of allowing deploying polyglot data pipelining software with the clear notion of supporting immutability. In his session at @ThingsExpo, Shashank Jain, a development architect for SAP Labs, discussed the objective, which is to automate the IoT deployment process from development to production scenarios using Docker containers.
DevOps is about increasing efficiency, but nothing is more inefficient than building the same application twice. However, this is a routine occurrence with enterprise applications that need both a rich desktop web interface and strong mobile support. With recent technological advances from Isomorphic Software and others, rich desktop and tuned mobile experiences can now be created with a single codebase – without compromising functionality, performance or usability. In his session at DevOps Summit, Charles Kendrick, CTO and Chief Architect at Isomorphic Software, demonstrated examples of com...
As organizations realize the scope of the Internet of Things, gaining key insights from Big Data, through the use of advanced analytics, becomes crucial. However, IoT also creates the need for petabyte scale storage of data from millions of devices. A new type of Storage is required which seamlessly integrates robust data analytics with massive scale. These storage systems will act as “smart systems” provide in-place analytics that speed discovery and enable businesses to quickly derive meaningful and actionable insights. In his session at @ThingsExpo, Paul Turner, Chief Marketing Officer at...
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
In his General Session at 17th Cloud Expo, Bruce Swann, Senior Product Marketing Manager for Adobe Campaign, explored the key ingredients of cross-channel marketing in a digital world. Learn how the Adobe Marketing Cloud can help marketers embrace opportunities for personalized, relevant and real-time customer engagement across offline (direct mail, point of sale, call center) and digital (email, website, SMS, mobile apps, social networks, connected objects).
With all the incredible momentum behind the Internet of Things (IoT) industry, it is easy to forget that not a single CEO wakes up and wonders if “my IoT is broken.” What they wonder is if they are making the right decisions to do all they can to increase revenue, decrease costs, and improve customer experience – effectively the same challenges they have always had in growing their business. The exciting thing about the IoT industry is now these decisions can be better, faster, and smarter. Now all corporate assets – people, objects, and spaces – can share information about themselves and thei...
The Internet of Everything is re-shaping technology trends–moving away from “request/response” architecture to an “always-on” Streaming Web where data is in constant motion and secure, reliable communication is an absolute necessity. As more and more THINGS go online, the challenges that developers will need to address will only increase exponentially. In his session at @ThingsExpo, Todd Greene, Founder & CEO of PubNub, exploreed the current state of IoT connectivity and review key trends and technology requirements that will drive the Internet of Things from hype to reality.
Two weeks ago (November 3-5), I attended the Cloud Expo Silicon Valley as a speaker, where I presented on the security and privacy due diligence requirements for cloud solutions. Cloud security is a topical issue for every CIO, CISO, and technology buyer. Decision-makers are always looking for insights on how to mitigate the security risks of implementing and using cloud solutions. Based on the presentation topics covered at the conference, as well as the general discussions heard between sessions, I wanted to share some of my observations on emerging trends. As cyber security serves as a fou...
The cloud. Like a comic book superhero, there seems to be no problem it can’t fix or cost it can’t slash. Yet making the transition is not always easy and production environments are still largely on premise. Taking some practical and sensible steps to reduce risk can also help provide a basis for a successful cloud transition. A plethora of surveys from the likes of IDG and Gartner show that more than 70 percent of enterprises have deployed at least one or more cloud application or workload. Yet a closer inspection at the data reveals less than half of these cloud projects involve production...
Countless business models have spawned from the IaaS industry – resell Web hosting, blogs, public cloud, and on and on. With the overwhelming amount of tools available to us, it's sometimes easy to overlook that many of them are just new skins of resources we've had for a long time. In his general session at 17th Cloud Expo, Harold Hannon, Sr. Software Architect at SoftLayer, an IBM Company, broke down what we have to work with, discussed the benefits and pitfalls and how we can best use them to design hosted applications.
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true change and transformation possible.
Microservices are a very exciting architectural approach that many organizations are looking to as a way to accelerate innovation. Microservices promise to allow teams to move away from monolithic "ball of mud" systems, but the reality is that, in the vast majority of organizations, different projects and technologies will continue to be developed at different speeds. How to handle the dependencies between these disparate systems with different iteration cycles? Consider the "canoncial problem" in this scenario: microservice A (releases daily) depends on a couple of additions to backend B (re...
We all know that data growth is exploding and storage budgets are shrinking. Instead of showing you charts on about how much data there is, in his General Session at 17th Cloud Expo, Scott Cleland, Senior Director of Product Marketing at HGST, showed how to capture all of your data in one place. After you have your data under control, you can then analyze it in one place, saving time and resources.
Container technology is shaping the future of DevOps and it’s also changing the way organizations think about application development. With the rise of mobile applications in the enterprise, businesses are abandoning year-long development cycles and embracing technologies that enable rapid development and continuous deployment of apps. In his session at DevOps Summit, Kurt Collins, Developer Evangelist at, examined how Docker has evolved into a highly effective tool for application delivery by allowing increasingly popular Mobile Backend-as-a-Service (mBaaS) platforms to quickly crea...
Too often with compelling new technologies market participants become overly enamored with that attractiveness of the technology and neglect underlying business drivers. This tendency, what some call the “newest shiny object syndrome” is understandable given that virtually all of us are heavily engaged in technology. But it is also mistaken. Without concrete business cases driving its deployment, IoT, like many other technologies before it, will fade into obscurity.
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound effect on the world, and what should we expect to see over the next couple of years.
Growth hacking is common for startups to make unheard-of progress in building their business. Career Hacks can help Geek Girls and those who support them (yes, that's you too, Dad!) to excel in this typically male-dominated world. Get ready to learn the facts: Is there a bias against women in the tech / developer communities? Why are women 50% of the workforce, but hold only 24% of the STEM or IT positions? Some beginnings of what to do about it! In her Day 2 Keynote at 17th Cloud Expo, Sandy Carter, IBM General Manager Cloud Ecosystem and Developers, and a Social Business Evangelist, wil...