Welcome!

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

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
SYS-CON Events announced today that Datera will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Datera offers a radically new approach to data management, where innovative software makes data infrastructure invisible, elastic and able to perform at the highest level. It eliminates hardware lock-in and gives IT organizations the choice to source x86 server nodes, with business model option...
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, will discuss how from store operations...
Nordstrom is transforming the way that they do business and the cloud is the key to enabling speed and hyper personalized customer experiences. In his session at 21st Cloud Expo, Ken Schow, VP of Engineering at Nordstrom, will discuss some of the key learnings and common pitfalls of large enterprises moving to the cloud. This includes strategies around choosing a cloud provider(s), architecture, and lessons learned. In addition, he’ll go over some of the best practices for structured team migrat...
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
Recently, REAN Cloud built a digital concierge for a North Carolina hospital that had observed that most patient call button questions were repetitive. In addition, the paper-based process used to measure patient health metrics was laborious, not in real-time and sometimes error-prone. In their session at 21st Cloud Expo, Sean Finnerty, Executive Director, Practice Lead, Health Care & Life Science at REAN Cloud, and Dr. S.P.T. Krishnan, Principal Architect at REAN Cloud, will discuss how they bu...
Infoblox delivers Actionable Network Intelligence to enterprise, government, and service provider customers around the world. They are the industry leader in DNS, DHCP, and IP address management, the category known as DDI. We empower thousands of organizations to control and secure their networks from the core-enabling them to increase efficiency and visibility, improve customer service, and meet compliance requirements.
Digital transformation is changing the face of business. The IDC predicts that enterprises will commit to a massive new scale of digital transformation, to stake out leadership positions in the "digital transformation economy." Accordingly, attendees at the upcoming Cloud Expo | @ThingsExpo at the Santa Clara Convention Center in Santa Clara, CA, Oct 31-Nov 2, will find fresh new content in a new track called Enterprise Cloud & Digital Transformation.
SYS-CON Events announced today that N3N will exhibit at SYS-CON's @ThingsExpo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. N3N’s solutions increase the effectiveness of operations and control centers, increase the value of IoT investments, and facilitate real-time operational decision making. N3N enables operations teams with a four dimensional digital “big board” that consolidates real-time live video feeds alongside IoT sensor data a...
SYS-CON Events announced today that NetApp has been named “Bronze Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. NetApp is the data authority for hybrid cloud. NetApp provides a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with their partners, NetApp emp...
Smart cities have the potential to change our lives at so many levels for citizens: less pollution, reduced parking obstacles, better health, education and more energy savings. Real-time data streaming and the Internet of Things (IoT) possess the power to turn this vision into a reality. However, most organizations today are building their data infrastructure to focus solely on addressing immediate business needs vs. a platform capable of quickly adapting emerging technologies to address future ...
SYS-CON Events announced today that Avere Systems, a leading provider of hybrid cloud enablement solutions, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Avere Systems was created by file systems experts determined to reinvent storage by changing the way enterprises thought about and bought storage resources. With decades of experience behind the company’s founders, Avere got its ...
SYS-CON Events announced today that Avere Systems, a leading provider of enterprise storage for the hybrid cloud, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Avere delivers a more modern architectural approach to storage that doesn't require the overprovisioning of storage capacity to achieve performance, overspending on expensive storage media for inactive data or the overbui...
SYS-CON Events announced today that IBM has been named “Diamond Sponsor” of SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California.
SYS-CON Events announced today that Ryobi Systems will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ryobi Systems Co., Ltd., as an information service company, specialized in business support for local governments and medical industry. We are challenging to achive the precision farming with AI. For more information, visit http:...
High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, will discuss how by using...
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lead...
SYS-CON Events announced today that Daiya Industry will exhibit at the Japanese Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ruby Development Inc. builds new services in short period of time and provides a continuous support of those services based on Ruby on Rails. For more information, please visit https://github.com/RubyDevInc.
SYS-CON Events announced today that CAST Software will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CAST was founded more than 25 years ago to make the invisible visible. Built around the idea that even the best analytics on the market still leave blind spots for technical teams looking to deliver better software and prevent outages, CAST provides the software intelligence that matter ...
As businesses evolve, they need technology that is simple to help them succeed today and flexible enough to help them build for tomorrow. Chrome is fit for the workplace of the future — providing a secure, consistent user experience across a range of devices that can be used anywhere. In her session at 21st Cloud Expo, Vidya Nagarajan, a Senior Product Manager at Google, will take a look at various options as to how ChromeOS can be leveraged to interact with people on the devices, and formats th...
SYS-CON Events announced today that Yuasa System will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Yuasa System is introducing a multi-purpose endurance testing system for flexible displays, OLED devices, flexible substrates, flat cables, and films in smartphones, wearables, automobiles, and healthcare.