Welcome!

Java IoT Authors: Liz McMillan, John Esposito, Elizabeth White, AppDynamics Blog, Pat Romanski

Related Topics: Java IoT

Java IoT: Article

JSP 2.0 Technology

JSP 2.0 Technology

JavaServer Pages (JSP) technology originated more than four years ago as a powerful way to dynamically generate HTML on the server side. Over time, and with the input of the developer community, JSP technology has evolved and matured, keeping simplicity at the forefront. The next generation of JSP technology, version 2.0, will be released with J2EE 1.4 and represents an easy-to-use, robust, and extensible technology for building Web applications, well suited toward generating dynamic Web content in such formats as HTML, DHTML, XHTML, SVG, and XML.

The JSP 2.0 specification introduces many new features, including a simple yet flexible integrated expression language, an encapsulation mechanism called tag files, a simplified tag extension API, and a substantially improved XML syntax. Let's explore some of these features and see what they mean for your Web project.

The Evolution of JSP Technology
In its early stages, the focus of JSP technology was to enable the generation of dynamic content by embedding scriptlets (pieces of Java programming language code) within HTML template data. Programming with scriptlets can be quite flexible and powerful at times and is suitable for some types of projects. For many projects, however, such as those that follow a Model/2 or MVC (Model-View-Controller) architecture, embedding scriptlets in the presentation layer can have several disadvantages, including:
1.  The Web designers on your project need to learn the Java programming language, which has a fairly steep learning curve in comparison to, say, the JavaScript programming language. Furthermore, pages created with JSP technology ("JSP pages") with scattered pieces of code can become difficult to read and maintain.
2.  It becomes too easy to mix business logic with presentation logic, especially when working under a deadline. Even well-intentioned developers working on well-designed Web applications may find it tempting to introduce business logic in the presentation layer.
3.  Code becomes more difficult to reuse. Scriptlets frequently lead to copying and pasting of code. Tag extensions are often used to encapsulate and reuse such code. However, until this release of the specification, writing tag extensions has been a tedious and time-consuming process.

JSP technology has evolved in various ways that help make writing pages without inline scriptlets much more of a reality. These evolutions have come in the form of both changes to the specification and add-on technologies. The introduction of tag libraries in version 1.1 of the JSP specification allowed for JSP technology to be extended, and MVC frameworks like Struts began to evolve, providing a simple way to abstract business logic from the presentation layer. After improvements to tag library support in version 1.2 of the JSP specification, the JSP Standard Tag Library (JSTL) was introduced, providing a core set of useful actions such as iteration, internationalization, formatting, SQL database access, and XML manipulation. JSTL also introduced an expression language that's much easier to read and write than scriptlets. Over time, these incremental changes have helped JSP technology become quite suitable for architectures in which it is used purely as a presentation layer, while maintaining strong support for other architectures as well.

The latest JSP specification is currently in the Proposed Final Draft stage and it's under development in the Java Community Process (JCP) as Java Specification Request (JSR) 152. In combination with JSTL, the features introduced in the JSP 2.0 specification yield a cleaner, easier-to-use, and higher-performing language. In fact, page authors using JSP 2.0 technology no longer need to know or use the Java programming language, which in and of itself dramatically decreases their training requirements. Furthermore, the introduction of features like tag files and simple tag extensions enable new reuse patterns and make life easier for tag library developers.

JSP 2.0 technology is expected to have a substantial impact on the way page authors can write JSP pages. Because of this, the expert group decided to upgrade the major version number of the specification. Among other benefits, upgrading the major version number helps differentiate between developing using JSP 1.x technology (with scriptlets) and developing using JSP 2.x technology (with simple expressions and JSTL). It's important to note that though major version number upgrades often connote a break in backward compatibility, this is not the case here. Version 2.0 of the JSP specification is fully backward compatible with version 1.2.

Simple Expression Language
The JSTL 1.0 specification included a simple expression language, intended to help reduce the amount of scriptlets in a page, and to make it much easier for a page author to access application data from within a JSP page. JSTL's expression language was originally called SPEL (Simplest Possible Expression Language), and is intentionally very similar in syntax to ECMAScript (JavaScript) and XPath. By popular demand from the community, this simple expression language is now built into the JSP 2.0 specification.

To understand the motivation for the expression language, let's look at a simple example. Suppose you're a page author writing a JSP page that outputs census data for a given state. The part of your JSP page that outputs the result might look like:

The population of <%= state.getFullName() %> in 2000 was
<%
StateInfo info = (StateInfo)stateInfo.get( state.getId() );
if( info != null ) {
%>
<%= info.getPopulation(); %>
<%
}
%>

Writing even a fairly simple example like this requires some knowledge about the Java programming language syntax, types, variable declarations, and the danger of dereferencing a null pointer. This can be intimidating and easy to get wrong for a page author with a limited knowledge of the Java programming language.

Using the simple expression language available in the JSP 2.0 specification, the same presentation logic can be written much more concisely:

The population of ${state.fullName} in 2000 was
${stateInfo[state.id].population}.

Here's how it works. The expression ${state.fullName} looks up the state attribute, treats it as a JavaBeans component, and calls the accessor for the fullName property (i.e., getFullName()). The expression ${stateInfo[state.id].population} looks up the stateInfo attribute, which in this case happens to be a HashMap; finds the entry with the key that matches the value of state.getId(); and then calls getPopulation() on the resulting entry. Incidentally, the EL behaves in similar ways for maps, lists, and arrays, so there's some degree of transparency in terms of how stateInfo is actually implemented. Another nice feature of the JSTL expression language is if a null value is encountered at any point, the expression language will handle it gracefully and output nothing rather than throwing a NullPointerException that would have produced an error page instead. Of course, the page author doesn't need to know what happens behind the scenes.

Clearly, the resulting code is more readable and easier to maintain.

Using the JSP 1.2 and JSTL 1.0 technologies, the page author could use these simple expressions only inside the attributes of JSTL actions. JSP 2.0 technology allows page authors to finally use these expressions (now termed "EL expressions") directly within template text, and when passing attribute values to standard actions and tag handlers created with JSP technology ("JSP tag handlers"). That means they can be used with any tag library, even your own, with no extra work required by the tag library developer.

With the power of an integrated expression language, and with the core JSTL actions at hand, a new programming methodology is now available to JSP page authors, making scriptlets a thing of the past and dramatically reducing the learning curve associated with JSP technology. In fact, to help project leads enforce a no-scriptlets policy project-wide or in a specific set of pages, the JSP 2.0 specification now includes a global configuration mechanism to disallow scriptlets for a set of JSP pages in a Web application (among other global configuration options not discussed in this article). This was a popular feature request from project leads who were struggling to prevent developers from mixing business logic with presentation logic, especially under time pressure. Listing 1 illustrates a deployment descriptor configured to disable the use of scriptlets for all JSP pages in the /client subdirectory of the Web application. Of course, for some projects scriptlets will still make sense, and the JSP 2.0 specification supports those types of projects as well.

Writing a New EL Function
Along with a fairly complete set of operators, the expression language in the JSP 2.0 specification has built-in capabilities to access data from maps, lists, arrays of objects, and bean properties. The expression language is designed from the ground up to be intuitive to use and easy to read.

A key decision was made by the expert group to disallow unrestricted invocations on Java methods from within EL expressions. Allowing this could quickly lead to pages that mix business logic with presentation logic, leading to many of the same problems described earlier that existed with scriptlets. As always, the expert group will be observing how people use JSP 2.0 technology to see if it makes sense to loosen this restriction.

To provide a way to add to the power and flexibility of the expression language in a more controlled manner, JSP 2.0 technology adds the ability to extend the expression language through writing custom EL functions. This feature enables a developer to quickly and easily make common tasks available to the page author without having to allow unrestricted access to arbitrary method invocations.

The following code snippet shows a page that invokes an EL function that returns a random number between one and six. The function is imported as part of a tag library (tag libraries can contain both actions and functions) and the function is identified using the prefix of that tag library.

<%@ taglib prefix="my" uri="http://acme.com/mytaglib" %>

Congratulations, you rolled a ${my:randomNumber( 1, 6 )}!

Writing the implementation of the randomNumber function is quite straightforward. First, the developer writes a public static method:

/* /WEB-INF/classes/mytaglib/Functions.java */
package mytaglib;

public class Functions {
public static int randomNumberImpl( int low, int high ) {
return (int)(Math.random()

  • (high-low+1) + low);
    }
    }

    The static method can be in any class, and a class can implement more than one EL function.

    After the implementation is written, simply add an entry to the tag library descriptor as shown in Listing 2. Now you can use the EL function in any of your JSP pages.

    The JSTL 1.1 specification, which will be finalized at the same time as the JSP 2.0 specification, will introduce 16 standardized EL functions, covering common page author needs:

  • fn:length(): Get the length of a collection or a string.
  • fn:toUpperCase(), fn:toLowerCase(): Change the capitalization of a string.
  • fn:substring(), fn:substringBefore(), fn:substringAfter(): Get a subset of a string.
  • fn:trim(): Trim whitespace from a string.
  • fn:replace(): Replace characters in a string.
  • fn:indexOf(), fn:startsWith(), fn:endsWith(), fn:contains(), fn:containsIgnoreCase(): Check if a string contains another string.
  • fn:split(): Split a string into an array.
  • fn:join(): Join a collection into a string.
  • fn:escapeXml(): Escape XML characters in a string.

    Incidentally, the tag libraries in JSTL 1.1 have new URIs (for example, http://java.sun.com/jsp/jstl/core instead of the JSTL 1.0 equivalent http://java.sun.com/jstl/core_rt). The new JSTL 1.1 tag libraries accept request-time expressions for their attributes, and delegate to the JSP container to evaluate EL expressions. When creating a new JSP 2.0 application, you should always either (in order of preference, from highest to lowest):

  • Use JSTL 1.1
  • Use the _rt versions of the JSTL 1.0 tag libraries
  • Use the non-rt versions with isELIgnored="true" in the page directive

    Tag Files
    There are a number of ways to encapsulate reusable portions of JSP software. Since version 1.1 of the JSP specification, there have been four reuse mechanisms: the include directive, the include standard action, the forward standard action, and the custom action.

    Of the four, the custom action is the most flexible and powerful reuse mechanism and it has the most readable calling syntax. Custom actions are grouped into tag libraries, which are imported by the page author via a taglib directive. The action is then invoked by inserting a simple XML element. See Listing 3 for an example invocation of a custom action that retrieves products from the user's shopping cart and places them in the "products" variable.

    Until version 2.0 of the JSP specification, custom actions could only be implemented using the Java programming language. In version 1.2, the amount of code and configuration required to write custom actions made them typically only worthwhile for complex tasks. The JSP 2.0 specification introduces a new reuse mechanism called a tag file that allows custom actions to be written using JSP technology syntax ("JSP syntax"). This brings the power and flexibility of custom actions to page authors that don't necessarily know the Java programming language.

    In Listing 3, the <my:queryCart> custom action is used to retrieve a list of products in a shopping cart and place the list in the "products" variable. Some HTML and JSTL code is then used to render the shopping cart in a table. It would be nice to be able to reuse the presentation code that renders the table as well, so that whenever we need to display the user's cart within a JSP page, all we would have to do is type something like <my:showCart />. The cart would be queried and rendered in a single step.

    To do this, we could write our own custom action using the Java programming language, but in doing so we would run into some limitations. First, because custom actions are not designed to be invoked from within other custom actions, there would be no convenient way to reuse the existing <my:queryCart> custom action. Second, the purpose of the new <my:showCart> custom action is primarily presentation focused. The implementation would contain many out.println() statements to render the HTML. This is more difficult to read and maintain for the same reasons that servlets that mostly output HTML are more difficult to read and maintain than JSP pages that do the same.

    Tag files are the perfect solution to this situation. At its surface, a tag file is simply an easy way to write a custom action. Just as JSP pages are compiled into servlets, tag files are compiled into custom actions. Using a tag file, we can easily construct a custom action that queries the cart and renders the result. Listing 4 is an example of a tag file that does just that.

    You'll notice the code for the tag file looks almost identical to the code for the JSP page in Listing 3. One addition is the use of the attribute directive that allows us to specify that this custom action accepts an attribute with the name of "username". The value of the username attribute is then available to the tag using the EL expression ${username}.

    The beauty of tag files is that all we need to do now is save this file in /WEB-INF/tags/showCart.tag in our Web application, and we now have a new custom action. Unlike when implementing custom actions using the Java programming language, we don't need to write a tag library descriptor (TLD), and we don't need to manually compile our source code into a tag handler. Also note how easy it is to alter the presentation of the shopping cart versus what it would take to do the same if it were implemented using Java class files.

    The following code makes use of our new custom action:

    <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
    Here are the contents of your shopping cart:<br/>
    <tags:showCart username="${username}" />

    From the caller's perspective it's fairly transparent whether the action was implemented using a tag file or a Java class file. The only hint is the use of the tagdir attribute, which can be replaced with uri if we take the extra time to write an explicit TLD file for this tag.

    If page authors find themselves frequently copying and pasting a portion of code written in JSP or HTML syntax, perhaps with small changes each time, that portion of code can be placed in a tag file, parameterized, and then reused with minimal effort. Tag files are also a good way to move scriptlets out of your JSP pages and into a more well-defined, encapsulated place.

    Of course, not all actions are best implemented as tag files. Tags that are dominated by scriptlets or logic are probably better compiled by hand into Java class files.

    Simple Tag Extensions
    Writing a JSP 1.2 tag handler using the Java programming language requires a number of tricky steps including choosing from three possible interfaces to implement; implementing the doStartTag(), doInitBody(), doAfterBody(), and doEndTag() methods; picking return values for each method to affect the way the container evaluates the tag body and the rest of the page; and carefully checking the implementation against a complex reuse life cycle. Even some JSP technology experts have trouble getting all these steps right.

    Listing 5 shows an implementation of a JSP 1.2 tag handler that repeats the contents of its body a given number of times. Note how what should be a simple loop is spread across two separate methods and how the value of the count attribute is not allowed to be modified by the tag handler implementation so that the tag handler instance may be reused by the container.

    JSP 2.0 technology makes writing tag handlers in the Java programming language easier by providing a much simpler tag handler API. The new API is called the simple tag extension API, and JSP 1.2 tag handlers are now referred to as classic tag handlers. Figure 1 illustrates the new tag extension class hierarchy.

    When writing a simple tag handler, a tag library developer needs only to extend SimpleTagSupport and implement the doTag() method. Simple tag handlers flow more naturally and are thus easier to write, debug, read, and maintain. The one disadvantage of simple tag handlers is that scriptlets are not allowed in the bodies of these tags. Though some would consider this an advantage, it does mean that simple tag handlers cannot be used for some applications. The tag body is encapsulated in an object called a fragment, which is passed to the tag handler and invoked as many times as needed. Listing 6 shows an implementation of the same repeat action as a simple tag handler.

    Tag files are actually translated into simple tag handlers by the container and therefore have many similar properties (for example, scriptlets are not allowed in the body of a tag file invocation either). The following code shows an implementation of the repeat action using a tag file. This is actually the most convenient implementation of the three since it does not require writing a TLD or compiling any classes.

    <%-- /WEB-INF/tags/repeat.tag --%>

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ attribute name="count" rtexprvalue="true" required="true" %>

    <c:forEach begin="1" end="${count}">
    <jsp:doBody />
    </c:forEach>

    We're Listening!
    This was just a quick overview of some of the more significant features new to the JSP 2.0 specification. There are many other features that were not touched on in this article, including:

  • Greatly improved XML syntax: Provides a natural fit for pages that are provided in XML syntax or that generate XML content.
  • Configuration: Allows central control over various properties of JSP pages from within the deployment descriptor.
  • Portable debugging support through JSR-45: Enables the freedom to mix and match IDEs and application servers from different vendors, for those that support this standard.
  • Dynamic attributes: Enables tag extensions to process an open-ended set of attributes.
  • Enhanced I18N support: Allows specification of page encoding on a per-file basis, among other long-awaited enhancements.
  • Fragment attributes: Effectively allows a single tag extension to accept multiple tag bodies.

    The new features in the JSP 2.0 specification, when used with other Java technologies like the JSTL tag library, bring power with simplicity to all users of JSP technology, from the basic page author who no longer needs to learn the Java programming language to the advanced tag library developer who can now write powerful tag handlers with much less overhead.

    The expert group created the new features in the JSP 2.0 specification directly from input received from the Java technology developer community at large - from people like you. Download the JSP 2.0 specification and an implementation like J2EE 1.4 SDK Beta 2 (which is based on Tomcat 5) and try these features out for yourself. Aside from support for the JSP 2.0 and Servlet 2.4 specifications, Tomcat 5 has several enhancements over Tomcat 4.0 including improved performance and a rewritten code generator that overcomes the 64K method size limitation, among other things.

    Your feedback has already made, and continues to make, a big difference!

    Resources
    Implementations

  • J2EE 1.4 SDK Beta 2: http://java.sun.com/j2ee/1.4/download-beta2.html
  • Java Web Services Developer Pack: http://java.sun.com/webservices/
  • Tomcat 5: http://java.sun.com/products/jsp/tomcat/
  • Jakarta Taglibs project: http://jakarta.apache.org/taglibs/
  • TLDDoc (JSP Tag Library Documentation Generator): http://developers.sun.com/dev/coolstuff/tlddoc/

    Information

  • JSP 2.0 tutorial: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html
  • JSP 2.0 specification: http://jcp.org/en/jsr/detail?id=152
  • JSP: http://java.sun.com/products/jsp/
  • JSTL: http://java.sun.com/products/jsp/jstl/
  • JavaServer Faces Technology: http://java.sun.com/j2ee/javaserverfaces/

    Community

  • java.net Web Applications: http://java.net/

    Acknowledgments
    Special thanks to Eduardo Pelegri-Llopart, Pierre Delisle, Stephanie Bodoff, and Jan Luehe, whose feedback helped me improve this article.

    Java, JavaBeans, JavaScript, JSP and JCP are trademarks or registered trademarks of Sun Microsystems, Inc., in the United States and other countries.

  • More Stories By Mark Roth

    Mark Roth is a member of the JavaTM 2 Platform, Enterprise Edition technology team. He has contributed to a number of key specifications and implementations and is currently a co-lead for the JavaServer Pages specification version 2.0. He can be contacted at [email protected]

    Comments (6) View Comments

    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.


    Most Recent Comments
    Melisa Cromwell 04/02/04 09:57:50 AM EST

    I agree 100% Thanks for having the bravery to say what many already know but are in fear of losing job if they admit true, we have tried for a year adding people, machines, training and money and have made little progress due mainly to the overwelming requirments JAVA and its other required parts forces developers to using to get even the simplest things done. Our company has finally decided to make money and go back to a productive environment, were we get apps done in months not years, I let you know in a follow up what our choice is, CFMX is on our short list. Keep up the honesty.

    Robert Wilson 09/03/03 12:17:04 PM EDT

    Why is it that when people try to use java to write web apps, they always have to add atleast 3 other technoligies or languages to get the app to work. Try PHP or Coldfusion, 1 language to learn, no add on technologies, when will java stand on its own,....Just add turbine or velocity or JSP or struts or EL or others. It obvious that to make JAVA web apps, one needs to muddy the water with many other languages, this just slows the development process. If you have lots of time people and money I guess it might work, stop spending lots of time money to make your app work. JAVA is a waste of any companys resources, The bottom line will suffer, the stock price will go down while customer wait for thier product.

    JAVA is the programming equivelent to ENRON

    jagadeesh 08/30/03 08:56:57 AM EDT

    Mark Roth,
    great stuff reg JSP 2
    regards
    M Jagadeesh

    Carfield Yim 07/11/03 02:39:00 AM EDT

    Seen like java is adding more and more language feature, except EL, there is autoboxing, generic in standard JDK.

    Is it really good?? If there is many one using old thing and new thing togather, will it make the code look like a messes?

    Rajasekhar 07/08/03 01:01:00 AM EDT

    This article is quite informative

    Valerij Timofeev 07/15/03 08:50:00 AM EDT

    The article confirms indirect that JSP < 2.0 is crap. Beginning with the version 2.0, JSP gets finally the right way. But for example with Velocity (http://jakarta.apache.org/velocity/) Java folk goes this way already for years. In the combination with Turbine (http://jakarta.apache.org/turbine/) it allows to avoid JSP at all.

    I find custom tags futile. They create only mess of HTML and freely invented tags. This makes templates less readable and thus worse maintainable.

    @ThingsExpo Stories
    In his session at @ThingsExpo, Chris Klein, CEO and Co-founder of Rachio, will discuss next generation communities that are using IoT to create more sustainable, intelligent communities. One example is Sterling Ranch, a 10,000 home development that – with the help of Siemens – will integrate IoT technology into the community to provide residents with energy and water savings as well as intelligent security. Everything from stop lights to sprinkler systems to building infrastructures will run ef...
    Manufacturers are embracing the Industrial Internet the same way consumers are leveraging Fitbits – to improve overall health and wellness. Both can provide consistent measurement, visibility, and suggest performance improvements customized to help reach goals. Fitbit users can view real-time data and make adjustments to increase their activity. In his session at @ThingsExpo, Mark Bernardo Professional Services Leader, Americas, at GE Digital, will discuss how leveraging the Industrial Interne...
    The increasing popularity of the Internet of Things necessitates that our physical and cognitive relationship with wearable technology will change rapidly in the near future. This advent means logging has become a thing of the past. Before, it was on us to track our own data, but now that data is automatically available. What does this mean for mHealth and the "connected" body? In her session at @ThingsExpo, Lisa Calkins, CEO and co-founder of Amadeus Consulting, will discuss the impact of wea...
    Whether your IoT service is connecting cars, homes, appliances, wearable, cameras or other devices, one question hangs in the balance – how do you actually make money from this service? The ability to turn your IoT service into profit requires the ability to create a monetization strategy that is flexible, scalable and working for you in real-time. It must be a transparent, smoothly implemented strategy that all stakeholders – from customers to the board – will be able to understand and comprehe...
    Increasing IoT connectivity is forcing enterprises to find elegant solutions to organize and visualize all incoming data from these connected devices with re-configurable dashboard widgets to effectively allow rapid decision-making for everything from immediate actions in tactical situations to strategic analysis and reporting. In his session at 18th Cloud Expo, Shikhir Singh, Senior Developer Relations Manager at Sencha, will discuss how to create HTML5 dashboards that interact with IoT devic...
    Artificial Intelligence has the potential to massively disrupt IoT. In his session at 18th Cloud Expo, AJ Abdallat, CEO of Beyond AI, will discuss what the five main drivers are in Artificial Intelligence that could shape the future of the Internet of Things. AJ Abdallat is CEO of Beyond AI. He has over 20 years of management experience in the fields of artificial intelligence, sensors, instruments, devices and software for telecommunications, life sciences, environmental monitoring, process...
    The demand for organizations to expand their infrastructure to multiple IT environments like the cloud, on-premise, mobile, bring your own device (BYOD) and the Internet of Things (IoT) continues to grow. As this hybrid infrastructure increases, the challenge to monitor the security of these systems increases in volume and complexity. In his session at 18th Cloud Expo, Stephen Coty, Chief Security Evangelist at Alert Logic, will show how properly configured and managed security architecture can...
    We’ve worked with dozens of early adopters across numerous industries and will debunk common misperceptions, which starts with understanding that many of the connected products we’ll use over the next 5 years are already products, they’re just not yet connected. With an IoT product, time-in-market provides much more essential feedback than ever before. Innovation comes from what you do with the data that the connected product provides in order to enhance the customer experience and optimize busi...
    A critical component of any IoT project is the back-end systems that capture data from remote IoT devices and structure it in a way to answer useful questions. Traditional data warehouse and analytical systems are mature technologies that can be used to handle large data sets, but they are not well suited to many IoT-scale products and the need for real-time insights. At Fuze, we have developed a backend platform as part of our mobility-oriented cloud service that uses Big Data-based approache...
    SYS-CON Events announced today that Ericsson has been named “Gold Sponsor” of SYS-CON's @ThingsExpo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. Ericsson is a world leader in the rapidly changing environment of communications technology – providing equipment, software and services to enable transformation through mobility. Some 40 percent of global mobile traffic runs through networks we have supplied. More than 1 billion subscribers around the world re...
    SYS-CON Events announced today that Peak 10, Inc., a national IT infrastructure and cloud services provider, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Peak 10 provides reliable, tailored data center and network services, cloud and managed services. Its solutions are designed to scale and adapt to customers’ changing business needs, enabling them to lower costs, improve performance and focus inter...
    The IoTs 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, will demonstrate how to move beyond today's coding paradigm and share the must-have mindsets for removing complexity from the development proc...
    We're entering the post-smartphone era, where wearable gadgets from watches and fitness bands to glasses and health aids will power the next technological revolution. With mass adoption of wearable devices comes a new data ecosystem that must be protected. Wearables open new pathways that facilitate the tracking, sharing and storing of consumers’ personal health, location and daily activity data. Consumers have some idea of the data these devices capture, but most don’t realize how revealing and...
    trust and privacy in their ecosystem. Assurance and protection of device identity, secure data encryption and authentication are the key security challenges organizations are trying to address when integrating IoT devices. This holds true for IoT applications in a wide range of industries, for example, healthcare, consumer devices, and manufacturing. In his session at @ThingsExpo, Lancen LaChance, vice president of product management, IoT solutions at GlobalSign, will teach IoT developers how t...
    There is an ever-growing explosion of new devices that are connected to the Internet using “cloud” solutions. This rapid growth is creating a massive new demand for efficient access to data. And it’s not just about connecting to that data anymore. This new demand is bringing new issues and challenges and it is important for companies to scale for the coming growth. And with that scaling comes the need for greater security, gathering and data analysis, storage, connectivity and, of course, the...
    So, you bought into the current machine learning craze and went on to collect millions/billions of records from this promising new data source. Now, what do you do with them? Too often, the abundance of data quickly turns into an abundance of problems. How do you extract that "magic essence" from your data without falling into the common pitfalls? In her session at @ThingsExpo, Natalia Ponomareva, Software Engineer at Google, will provide tips on how to be successful in large scale machine lear...
    Digital payments using wearable devices such as smart watches, fitness trackers, and payment wristbands are an increasing area of focus for industry participants, and consumer acceptance from early trials and deployments has encouraged some of the biggest names in technology and banking to continue their push to drive growth in this nascent market. Wearable payment systems may utilize near field communication (NFC), radio frequency identification (RFID), or quick response (QR) codes and barcodes...
    You think you know what’s in your data. But do you? Most organizations are now aware of the business intelligence represented by their data. Data science stands to take this to a level you never thought of – literally. The techniques of data science, when used with the capabilities of Big Data technologies, can make connections you had not yet imagined, helping you discover new insights and ask new questions of your data. In his session at @ThingsExpo, Sarbjit Sarkaria, data science team lead ...
    The IETF draft standard for M2M certificates is a security solution specifically designed for the demanding needs of IoT/M2M applications. In his session at @ThingsExpo, Brian Romansky, VP of Strategic Technology at TrustPoint Innovation, will explain how M2M certificates can efficiently enable confidentiality, integrity, and authenticity on highly constrained devices.
    You deployed your app with the Bluemix PaaS and it's gaining some serious traction, so it's time to make some tweaks. Did you design your application in a way that it can scale in the cloud? Were you even thinking about the cloud when you built the app? If not, chances are your app is going to break. Check out this webcast to learn various techniques for designing applications that will scale successfully in Bluemix, for the confidence you need to take your apps to the next level and beyond.