Welcome!

Industrial IoT Authors: Elizabeth White, Stackify Blog, Yeshim Deniz, SmartBear Blog, Liz McMillan

Related Topics: Industrial IoT

Industrial IoT: Article

Accessing Resources: New Web Service Application Patterns for a Service-Oriented World

"When Choosing Between Two Evils, I Always Like To Try The One I've Never Tried Before"

Mae West said, "When choosing between two evils, I always like to try the one I've never tried before." But, sometimes, when choosing between two equally appealing options, the best policy is to take both. WS-ResourceFramework and WS-Transfer, two new specifications for accessing XML representations of resources through Web Services have been announced. Although it's not uncommon to find competing specifications and standards in the world of Web Services, this time we shouldn't be forced to make an exclusive choice because WS-ResourceFramework and WS-Transfer can serve complimentary roles.

What do we mean by resource representation?
It's often considered to be the representation of the state of a resource - state being one or more characteristics, or properties, associated with a resource. For example, if a customer record in a CRM database is the actual resource, its representation may be an XML document transferred over the network or the information returned as part of a SQL query. Either the XML document or the query result can be viewed as representations of the actual resource - the customer record. The set of information residing in the database can be viewed as the state of that customer record.

Web-centric folks sometimes draw additional distinctions between the representation and the resource itself. For example, the World Wide Web Consortium's (W3C) Technical Architecture Group (TAG) has noted more precisely that an XML document can represent a particular state of a resource at a particular time [http://w3.org/TR/2004/REC-webarch-20041215/]. So, while it's important to understand that there may be a difference between saying "access to the resource" and saying "access to the representation of the resource," it's certainly understandable that people are quite casual about the difference in day-to-day conversations.

State - Useful and Important
The concept of state is applicable in many areas. A typical example of state can be seen in many enterprise management systems. Such systems must monitor and manipulate IT resources such as disk drives, virtual machines, operating systems, routers and CPUs. Typically, each of these entities has a management state consisting of one or more characteristics associated with or representing the resource. For example, a wireless device can have characteristics such as on or off, a unique identifier of some sort, memory capacity, utilization information, geographic location, performance metrics, as well as many other useful characteristics.

An IT-enabled business relies on the correct behavior, availability and performance of its IT resources, which support the business systems and applications. Naturally, IT resources exist in numerous forms and at all levels of granularity in an organization. To access and manipulate these resources, software developers typically master specific application programming interfaces (APIs) that are optimized to access certain types of resources.

Going back to the earlier example, the contents of a row in a CRM database customer table represent the state of a specific IT business resource (a specific customer record). To access that business resource, a software developer would have to understand how a customer record is represented (the database schema) and would also need to use database access APIs defined for the specific programming language or platform being used. For example, Java programmers often use JDBC or Entity Beans to access the contents of rows in database tables. Programmers working in the Microsoft environment might use ODBC or ADO. Traditionally, different APIs and different approaches are used to access different types of resources. This increases the complexity of the software and the cost of development and integration. Web Services may provide a way to make it simpler.

State in a Service-Oriented Architecture
How does this change in a service-oriented architecture (SOA)? In service-oriented business applications (SOBA), many important business resources are likely to be encapsulated and virtualized using Web Services and service-oriented design principles. Business services operate on XML representations of business-related information such as account balances or order quantity. At the same time, certain business services may also have an intrinsic operational state of interest to other business services that can be represented in XML as well. For example, a flight reservation business process encapsulated as a service (scripted in BPEL) might have an operational state such as "looking for matching itineraries" or "awaiting confirmation from the credit bureau."

Service-oriented management applications (SOMA) monitor and control the SOBA to optimize operation according to the policies in effect. The SOMA, not unlike the SOBA, must be able to access the intrinsic operational state of business services along with relevant business information. For example, the SOMA may detect that a flight reservation process isn't meeting its performance objectives with respect to an important client because the credit check service isn't responding. It may, then, take corrective action. All of this requires access to a number of IT business resources and their state. The point is that SOBA and SOMA have strikingly similar requirements - to access representations of various resources.

The ideal situation would be for the underlying software platform to provide a common set of mechanisms for accessing representations of resources regardless of the type of the resource. The benefit of shared mechanisms is that it makes it possible to architect and build SOBAs that are innately manageable by design since the underlying software platform can provide common mechanisms to enable the exchange of state representations for both business and management functions. Two essential specifications have been announced that help provide this common mechanism:

  • WS-Transfer, which defines how to access a complete representation of a resource using Web Services.
  • WS-ResourceProperties, part of the WS-ResourceFramework family of specifications, which defines how to access individual properties of a resource using Web Services.
Two additional specs are critically important for this common mechanism to work:
  • WS-Addressing, which defines how to address Web Services including those Web Services that represent resources.
  • WS-MetadataExchange, which defines how to retrieve various metadata documents from a Web Service. The metadata documents may contain descriptions of message exchanges (WSDL), XML Schemas, policy assertions (WS-Policy), etc.
Representation of Resources in XML
The best way to understand how a set of specifications compliment each other is to understand how information is exchanged in one simple example. Here we'll use an example of accessing representations of a customer record. The record contains the customer's name, address and an optional set of numeric identifiers of open support calls that the customer has initiated. The record is represented by the XML fragment below:


<x:Customer xmlns:x="http://crm.mycorp.com/data">
	<x:Name>
<x:First>John</x:First>
		<x:Last>Doe</x:Last>
	</x:Name>
	<x:Address>
		<x:Street>123 No Outlet Ln.</x:Street>
		<x:Zip>12345</x:Zip>
	</x:Address>
	<x:OpenCall>230</x:OpenCall>
	<x:OpenCall>320<x:OpenCall>
</x:Customer>

To operate on representations of customer records such as the one above, an application would need to retrieve and update the records using their XML representations.

Before allowing access to XML representations of customer records, an XML Schema document could be created to describe and validate these XML representations. The schema document might look like this:


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://crm.mycorp.com/data"
 xmlns:x="http://crm.mycorp.com/data"
	elementFormDefault="qualified">
<xs:element name="Name">
<xs:complexType>
	<xs:sequence>
	<xs:element name="First" type="xs:string"/>
	<xs:element name="Last" type="xs:string"/>
	</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Address">
<xs:complexType>
	<xs:sequence>
	<xs:element name="Street" type="xs:string"/>
	<xs:element name="Zip" type="xs:positiveInteger"/>
	</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OpenCall" type="xs:nonNegaiveInteger"/>
<xs:element name="Customer">
<xs:complexType>
<xs:sequence>
	<xs:element ref="x:Name"/>
	<xs:element ref="x:Address"/>
	<xs:element ref="x:OpenCall" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

This is a simplified schema of an XML representation of a customer record. Note the use of top-level XML element declarations for Name, Address and OpenCall. These are intended to declare the XML elements that could be interpreted as properties of a customer record. The top-level element declarations (also known as Global Element Declarations or GEDs) are needed so that Name, Address and OpenCall can be used in various XML fragments without necessarily being contained in a Customer element.

Web Services That Represent Resources
A Web Service could represent a resource by offering access to an XML representation of the resource, operations on the resource and possibly notifications of various conditions or changes in the state of the resource. Let's assume that the address of a Web Service endpoint that represents a resource is known and represented using WS-Addressing. In WS-Addressing this is known as an endpoint reference or EPR. Simply put, WS-Addressing specifies an EPR along with the optional Web Service-specific data contained in the ReferenceProperties or ReferenceParameters elements. The beauty is that the EPR can be specified in a transport neutral fashion - very much in the SOAP/XML tradition.


<wsa:EndpointReference
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
 xmlns:x="http://crm.mycorp.com/data">
<wsa:Address>http://crm.mycorp.org/endpoint</wsa:Address>
<wsa:ReferenceProperties>
	<x:CustomerID>001</x:CustomerID>
</wsa:ReferenceProperties>
</wsa:EndpointReference>

This EPR specifies a reference to a Web Service endpoint that represents a customer record resource identified by the CustomerID value 001. The EPR could be obtained by various discovery mechanisms such as WS-Discovery, UDDI or domain-specific mechanisms such as relationships defined between manageable resources in a SOMA. It is analogous to how a URL to a web page can be discovered through a wide variety of means like search engines, hyperlinks, etc.

Locating the Resource Representation Schema
If the schema of the resource representation is unknown, one can try to request it from the Web Service endpoint that represents the resource. To do so, send a Get request as defined by the WS-MetatadaExchange spec. The following is an example of such a request to the Web Service endpoint that represents the customer record identified by the CustomerID value 001.


<s12:Envelope
     xmlns:s12='http://www.w3.org/2003/05/soap-envelope'
	 xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/
	 addressing'
     xmlns:wsx='http://schemas.xmlsoap.org/ws/2004/09/mex'
	 xmlns:x="http://crm.mycorp.com/data">
   <s12:Header>
     <wsa:To>http://crm.mycorp.org/endpoint</wsa:To>
     <wsa:Action>
       http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/
	     Request
     </wsa:Action>
     <wsa:MessageID>uuid:...A</wsa:MessageID>
     <wsa:ReplyTo>
		<wsa:Address>http://client/app</wsa:Address>
	</wsa:ReplyTo>
     <x:CustomerID>001</x:CustomerID>
   </s12:Header>
   <s12:Body>
     <wsx:GetMetadata>
       <wsx:Dialect>
		http://www.w3.org/2001/XMLSchema
	 </wsx:Dialect>
	 <wsx:Identifier>
		http://crm.mycorp.com/data
	 </wsx:Identifier>
     </wsx:GetMetadata>
   </s12:Body>
</s12:Envelope>

The response with the schema shortened for brevity would look like this:


 <s12:Envelope
     xmlns:s12='http://www.w3.org/2003/05/soap-envelope'
	 xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/
	  addressing'
     xmlns:xs='http://www.w3.org/2001/XMLSchema'
	 xmlns:wsx='http://schemas.xmlsoap.org/ws/2004/09/mex' >
   <s12:Header>
     <wsa:To>http://client/app</wsa:To>
     <wsa:Action>
       http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/
	     Response
     </wsa:Action>
     <wsa:MessageID>uuid:...B</wsa:MessageID>
     <wsa:RelatesTo>uuid:...A</wsa:RelatesTo>
   </s12:Header>
   <s12:Body>
     <wsx:Metadata>
       <wsx:MetadataSection
         Dialect='http://www.w3.org/2001/XMLSchema'
		Identifier='http://crm.mycorp.com/data'>
	 <xs:schema targetNamespace="http://crm.mycorp.com/data">
		<xs:element name="Customer">
			[. . . XML Schema as shown earlier . . .]
		</xs:element>
	 </xs:schema>
       </wsx:MetadataSection>
     </wsx:Metadata>
   </s12:Body>
</s12:Envelope>

Retrieving the Resource Representation
If an EPR of a Web Service endpoint that represents a customer record resource is known, a WS-Transfer Get request can be used to obtain an XML representation of the customer record resource. An EPR specifies how a request message needs to be addressed. An EPR is similar to an address book entry and the message is like a letter. EPR says what information to write on the envelope for the letter to reach the intended recipient. In this case the recipient is the customer record resource.


<s:Envelope 
		xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
	  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
	  	xmlns:x="http://crm.mycorp.com/data">
  <s:Header>
    <wsa:To>http://crm.mycorp.org/endpoint</wsa:To>
    <wsa:Action>
      http://schemas.xmlsoap.org/ws/2004/09/transfer/Get
    </wsa:Action>
    <wsa:MessageID>uuid:...A</wsa:MessageID>
    <wsa:ReplyTo>
    	<wsa:Address>http://client/app</wsa:Address>
	   </wsa:ReplyTo>
    <x:CustomerID>001</x:CustomerID>
  </s:Header>
  <s:Body/>
</s:Envelope>

This request is sent to a Web Service endpoint at a http://crm.mycorp.org/endpoint URL that represents a customer record identified by the CustomerID value 001. The Action says that this is a request to retrieve the resource representation. The response with the resource representation would look as follows. Note that the entire customer record is returned.


<s:Envelope 
		xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
	  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
  <s:Header>
    <wsa:To>http://client/app</wsa:To>
    <wsa:Action>
       http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse
    </wsa:Action>
    <wsa:MessageID>uuid:...B</wsa:MessageID>
	   <wsa:RelatesTo>uuid:...A</wsa:RelatesTo>
  </s:Header>
  <s:Body>
    <x:Customer 
	   xmlns:x="http://crm.mycorp.com/data">
	<x:Name><x:First>John</x:First><x:Last>Doe</x:Last></x:Name>
	<x:Address><x:Street>123 Nooutlet Ln.</x:Street>
	<x:Zip>12345</x:Zip></x:Address>
	<x:OpenCall>230</x:OpenCall>
	<x:OpenCall>320<x:OpenCall>
	   </x:Customer>
	 </s:Body>
</s:Envelope>

Accessing Individual Resource Properties
While WS-Transfer offers a simple mechanism to get the entire resource representation, there are cases where the resource representation might be very large or contain many individual XML elements that are of no interest to the client application. In other words, the entire representation may not be needed or desired when the client application knows exactly which properties it's interested in. A SOMA would be a good example of this; perhaps requiring representations of selected metrics, but not necessarily all the metrics. In this case, the overhead of obtaining, serializing and sending all the metrics when the application knows exactly what it's interested in is simply not reasonable.

Similarly, a SOBA might not want to (or be permitted to) retrieve all the properties in a resource representation. For example, an insurance application may not need to know the number of open calls for every customer record in the CRM when it's simply processing addresses. In such cases, where only individual properties or a selection of those properties are required, the WS-ResourceProperties specification defines request and reply message exchanges: GetResourceProperty, which retrieves a single property, GetMultipleResourceProperties, which retrieves many properties, and QueryResourceProperties, which selects properties based on an XPath expression.

Here is an example of requesting Name and OpenCall properties from a Web Service endpoint that represents a particular customer record.


<s12:Envelope
    xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
	xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf..."
	xmlns:x="http://crm.mycorp.com/data">
  <s12:Header>
    <wsa:To>http://crm.mycorp.org/endpoint</wsa:To>
    <wsa:Action>
        http://docs.oasis-open.org/wsrf/2004/06/
		WS- ResourceProperties/GetMultipleResourceProperties
    </wsa:Action>
    <wsa:MessageID>uuid:...A</wsa:MessageID>
    <wsa:ReplyTo>
    	<wsa:Address>http://client/app</wsa:Address>
    </wsa:ReplyTo>
    <x:CustomerID>001</x:CustomerID>
  </s12:Header>
  <s12:Body>
    <wsrp:GetMultipleResourceProperties>
      <wsrp:ResourceProperty>x:Name</wsrp:ResourceProperty>
      <wsrp:ResourceProperty>x:OpenCall</wsrp:ResourceProperty>
    </wsrp:GetMultipleResourceProperties>
  </s12:Body>
</s12:Envelope>

The reply with a bag (collection) of specified properties looks like this:


<s12:Envelope
    xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
	xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf..."
	xmlns:x="http://crm.mycorp.com/data">
  <s12:Header>
    <wsa:To>http://client/app</wsa:To>
    <wsa:Action>
        http://docs.oasis-open.org/wsrf/2004/06/WS-
		ResourceProperties/GetMultipleResourcePropertiesResponse
    </wsa:Action>
    <wsa:MessageID>uuid:...B</wsa:MessageID>
    <wsa:RelatesTo>uuid:...A</wsa:RelatesTo>
  </s12:Header>
  <s12:Body>
    <wsrp:GetMultipleResourcePropertiesResponse>
      <x:Name><x:First>John</x:First><x:Last>Doe</x:Last></x:
           Name>
      <x:OpenCall>230</x:OpenCall>
	<x:OpenCall>320<x:OpenCall>
    </wsrp:GetMultipleResourcePropertiesResponse>
  </s12:Body>
</s12:Envelope>

Of course, the resource representation schema might not always need to be dynamic. It may be sufficient to interrogate the resource representation schema at design-time along with interrogating the operations and binding details of the Web Service endpoint that represents the resource. The WSDL document describes the Web Services and their endpoints. WS-ResourceProperties defines a way to attach the resource representation schema to the portType declaration in WSDL. This can be handy. Using the design-time information, a client could build proxy code to simplify access and update a resource's individual properties.

Updating the Resource Representation
Updating resource representations is similar in principle to accessing a resource's representation. The EPR to the Web Service endpoint that represents the resource has to be known along with when the whole resource representation has to be updated. One can send a Put request defined by WS-Transfer. It is also possible to update an individual property or a set of properties using the SetResourceProperties message exchange defined by WS-ResourcePproperties. One example where this might be useful is in the case of multi-value properties (arrays) such as the OpenCall property in the customer record example. If the values of the OpenCall property in the customer record have to be added or removed, it may be more efficient to do it using WS-ResourceProperties. Any requested updates are then validated by the customer record Web Service endpoint against the resource representation schema. The service responds with an indication of success or failure.

Creating and Deleting Resources
WS-Transfer describes an explicit resource factory approach by defining a Create message exchange for creating resources. Similarly, WS-Transfer defines a Delete message exchange to destroy resources. This makes particularly good sense with resources like customer records, files and documents.

The creation and deletion of resources is beyond the scope of WS-ResourceProperties. However, the WS-ResourceLifetime specification (also part of the WS-ResourceFramework family of specifications) does define a mechanism for destroying resources via its Destroy request. But there's no request currently defined in WS-ResourceLifetime or elsewhere in the WS-ResourceFramework for creating resources. This decision was deliberate. An implicit resource factory approach where resources are created as a side effect of some other message exchange was preferred.

WS-ResourceLifetime defines how to set and retrieve the expiration time of a resource. The resource is automatically destroyed when its lifetime expires. However, even if a resource has a scheduled expiration time, it may still be possible to explicitly destroy that resource. This sort of mechanism is suitable for resources such as subscriptions and registrations, and is applicable in both SOBA and SOMA.

Conclusion
WS-Transfer and WS-ResourceProperties define specific actions for generalized resource access using transport-independent SOAP messages. These kinds of interactions are now well-defined leaving resource representation to the applications. It is also interesting how seemingly competitive specifications can be meaningfully used together to create flexible and functional implementations of Web Services representing various business resources.

Superficially, both WS-Transfer and WS-ResourceProperties provide similar capabilities, but their basic design principles make them more or less suited to certain types of applications. For example, management applications may benefit from the flexibility of WS-ResourceProperties, which was leveraged in the OASIS Web Services Distributed Management (WSDM) specification. However, simpler distributed business applications might be developed more quickly and easily with WS-Transfer, leaving room to compose more advanced Web Services interaction aspects later. For example, other specifications under development such as WS-Enumeration, which is beyond the scope of this article, may be applied. Together, WS-Transfer, WS-ResourceProperties and WS-ResourceLifetime offer an appropriate and broad range of options for accessing representations of resources using Web Services - and are often complimentary rather than competitive.

More Stories By Paul Lipton

Paul Lipton is VP of Industry Standards and Open Source at CA Technologies. He coordinates CA Technologies’ strategy and participation in those areas while also functioning as part of CA Labs. He is co-chair of the OASIS TOSCA Technical Committee, and also serves on the Board of Directors of the open source Eclipse Foundation, as well as both the Object Management Group and the Distributed Management Task Force in addition to other significant technical and leadership roles in many leading industry organizations such as the OASIS, W3C and INCITS.

Lipton is also an approved US delegate to the international standards organization ISO, as a member of the subcommittee focused on international cloud standards. He is a founding member of the CA Council for Technical Excellence where he leads a team focused on emerging technologies, a Java Champion, and Microsoft MVP.

More Stories By Igor Sedukhin

Igor Sedukhin is a senior architect and technology strategist in the Office of the CTO. He is responsible for CA research in areas including adaptive distributed computing, peer-to-peer grid networks, and dynamic service agreements. Mr. Sedukhin is an active member of the World Wide Web Consortium, OASIS, Global Grid Forum, and open source organizations, with a focus on interoperability of Web services. He joined CA in 1997, and has been a senior architect for XML Web services tools, storage, and information management solutions. Mr. Sedukhin received his BS in Applied Mathematics and MS in Computer Science from the Novosibirsk State University, Novosibirsk, Russia, where he was extensively involved in the applied research of parallel, high-performance computing and algorithms.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that Conference Guru has been named “Media Sponsor” of the 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. A valuable conference experience generates new contacts, sales leads, potential strategic partners and potential investors; helps gather competitive intelligence and even provides inspiration for new products and services. Conference Guru works with conference organizers to pass great deals to gre...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform. In his session at @ThingsExpo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and shared the must-have mindsets for removing complexity from the develop...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
"Evatronix provides design services to companies that need to integrate the IoT technology in their products but they don't necessarily have the expertise, knowledge and design team to do so," explained Adam Morawiec, VP of Business Development at Evatronix, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...