Welcome!

Java IoT Authors: Yeshim Deniz, Pat Romanski, Liz McMillan, Elizabeth White, Zakia Bouachraoui

Related Topics: Java IoT

Java IoT: Article

Droplets by Droplets Inc.

Droplets by Droplets Inc.

Tired of using that Web access e-mail client? Going crazy filling out those expense reports using a clunky Web-based system? Missing the superior and responsive desktop application? You're not alone! According to the usability research firm Nielsen Norman Group, "Billions of dollars are wasted yearly in lost productivity as people wait for Web pages to perform duties that could be better handled by a 1984 Macintosh-style GUI application."

The promise of Web architecture (no deployment, large scalability, no firewall opening) is hard to refuse. Yet the wide deployment of HTML-based applications has left end users craving for a responsive and productive user interface. There have been several efforts to combine both the Web and the rich UI (DHTML/ActiveX/Java applets). Unfortunately, these add more pain rather than soothe.

The Droplets application platform, with the User Interface Server and the SDK, enables developers to create software that combines the convenient, instant deployment benefits of the Web with the high usability and rich UI of traditional clients. Droplets GUIs can be dragged directly off of Web pages and onto the desktop, acting as double-clickable icons to launch Web-based apps that look and feel like Windows applications. As there is zero application code on the client machine, Droplets is less prone to security breaches.

Droplets Overview
Droplets has a downloadable SDK from the Droplets Web site developers zone (www.droplets.com/developer). There is an initial evaluation license and plenty of starter materials (tutorials, samples, documentation) to get started. The first time I installed Droplets and tried it out, I could get to a quick sample of mine in less than two hours. Command-line and Notepad-based development is possible. Droplets also has a plug-in for JBuilder and Eclipse. Easy integration with webMethods' Glue makes it possible to hook up with back-end Web services.

The key components of Droplets are as follows.

Droplets UI Server
The Droplets UI Server hosts application logic, instructs the client about GUI rendering, manages client connections, and provides GUI updates in response to both user-initiated and server-side events. The UI Server can also integrate with application servers and back-end components like XML–Web services or EJB/CORBA.

Droplets Client
The client is a lightweight engine transparent to the end user that renders all Droplets applications at the client computer. The Droplets client does require a small, one-time download (~1MB). Thereafter, no application downloads are required and all upgrades are automatic on application startup. The client has two responsibilities: the presentation of the GUI and the reporting of user events to the UI Server. To accomplish this, a small (1–2KB) text file called a "DRP" is used. It holds basic information like the server URL, the server port, and the name of the Droplet to present. The Droplets client also has the ability to support a "Dripline", a desktop alert that allows the UI server to contact a client whenever the state of a given Droplet has changed. This allows the client to update the Droplet's desktop icon, e.g., alerting the user of server events like a change in a stock price or an inventory level dipping below a threshold.

 

Communication Layer Enables Superior Performance
The Droplets client and server communicates via an optimized communications layer running over TCP/IP sockets. The UI Server instructs the client as to the layout of the applications at start-up, and transmits both server-side and user-initiated updates. Droplets transmit only events and individual field updates, whereas an HTML-based application reloads the entire page for each user event. This makes a Droplets application faster and requires less bandwidth than an equivalent Web application.

Droplets SDK
The Droplets Software Development Kit (SDK) is a remote GUI toolkit that allows development using a single standard language. Java and C++ are the current choices. OO-COBOL, C#, and VB should be available in early 2004. The API library is based on Java's AWT package and also incorporates components and interfaces from the Swing package. The Droplets platform provides several infrastructural components such as networking, encryption support, an authentication mechanism, and monitoring. Droplets' server-based architecture allows customization of the look and feel of application instances via "skins," allowing enterprises to blend the Droplet into the look of their other online content.

 

A Real-Life Scenario
The following is an example of a real-life scenario: a large chemical company uses a standardized set of key business performance measures. The company's executives use the key measures that span financial, economic, and customer satisfaction data to make critical business decisions. A business intelligence system from COGNOS was used to gain visibility into a number of different business units using various IT systems. There are over 200 business units, and each unit is measured by around 50 measures. This data is currently loaded every month through a complex ETL procedure, then Excel and paper reports are prepared for the management. These reports are available every 30 days and are largely static in nature. However, the existing Web-based GUI was too slow, cumbersome, and user-unfriendly. It became so unwieldy that the management staff preferred paper reports.

MEC Technologies was hired to build a management dashboard to improve the ease of accessing and reporting data for the management staff. While enriching the end-user experience was critical, it was also important to use industry-standard XML Web services to integrate data from BI Systems, back-end DB, and other third-party data sources. Considering the user base, a highly polished and easy-to-use application was desirable.

Using the Droplets Java API, an executive management dashboard was developed in less than two months. Since the entire application was server-based, hooking up with back-end Web services was quite simple. Initially, both Apache Axis and webMethods Glue were used to create Web services proxies and access the measures data. Finally, webMethods Glue was chosen. The user community used NTLM security to get authenticated and then access a URL within the intranet. That URL would launch the Droplets application. Most users remained with the browser-based UI. However, a few advanced users preferred to use the Droplets client. A controlled version was beta tested by the financial analysts community. Once they were satisfied, the application was launched in production for the executive management staff.

Experience Summary
The overall experience of developing with Droplets and using it was quite encouraging. There were very few platform- and Droplets (SDK)- related roadblocks. Data integration (using Web services) was simple due to the server-side architecture and usage of XML and SOAP-based services. Thanks to the Droplets system and access logs, debugging applications during development and production was easy. Session-specific debugging was also enabled. What was really nice was the post-production extension of the application. An application-level usage reporting module was requested, and it was developed and deployed in less than two weeks. The entire new application extension was launched with minimum downtime.

Conclusion
The Droplets platform presents a nice alternative for both developers and IT managers. Developers can use their favorite IDE and use a high-level component-based environment. IT managers can still enjoy their zero-touch deployment.

Microsoft has recognized this space and presents a solid case with smart clients (www.microsoft.com/net/products/client.asp). Let's compare Droplets with .NET smart clients.

With smart clients, any machine that has a .NET CLR installed can download a .NET assembly and can do anything that the CLR classes and the security framework allow, so it fits the "rich client" aspect quite nicely. On top of this, .NET allows automatic synchronization of code versions. The IEEXEC component (integrated with IE) keeps a local cache synchronized with the server-side assembly and does delta updates automatically.

Droplets, a Java-based server, is platform independent. Currently it runs on Windows, HP Unix, Sun Solaris, and mainframe Linux. Microsoft .NET remains a Windows family–only solution. This is major for IT shops having disparate systems and trying to put sharper front ends to their traditional back-end systems.

Smart Clients Promise Offline Capability
The Droplets platform always needs a network connection to the server. However, smart clients are capable of working with local caches (both file system and DB engine based). The promise of being able to work on an application with or without a network connection is huge and will fuel an entire class of on-the-road applications.

However, Droplets has a strong story in the security area. A .NET smart client depends on code being downloaded to the client machine and running on an environment managed by a CLR. It's quite cumbersome to set up the client-side privileges of downloaded code using the Code Access Security (CAS) model. This also leaves much to worry about considering what security door might be left open in downloaded code, exposing it to some serious security breach.

The Droplets platform presents a compelling option for building rich Web applications using a secure and a platform-independent architecture.

Resource

  • Source code: www.sys-con.com/java/sourcec.cfm or www.mectechnologies.com/articles/JDJ/Droplets/Trader.zip

    Droplets Inc.
    636 Avenue of the Americas
    New York, NY 10011
    Web: www.droplets.com
    Phone: 212 691-0800
    Fax: 212 691-6335

    Specifications

  • Deploys standalone, or with any J2EE-compliant application server
  • Supports Windows NT, Windows 2000, Linux, Solaris
  • Programming tools for Java and C++; OO Cobol and VB.Net coming soon
  • Integration with Borland JBuilder; Oracle JDeveloper and Eclipse in beta
  • Windows, Linux, Unix, wireless devices as standalone apps/within a Web browser
  • Integrate with Web services protocols with webMethods’ Glue

    Snapshot
    Pros:

  • Easy-to-build, highly rich Web-based applications
  • Secure application deployment
  • Java-based server enables cross-platform support

    Con:

  • No offline capability
  • More Stories By Somnath Banerjee

    Somnath is the Founder of MEC Technologies, a provider of Web Services and X-Internet related technology products and services. MEC is a Cupertino, CA based company with engineering organizations in India. MEC customers span large Financial Institutions, Manufacturing organizations and other High Technology companies.

    Comments (2)

    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.


    IoT & Smart Cities Stories
    Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
    Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
    IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
    The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
    Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
    Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
    Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
    To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
    In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
    Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...