Welcome!

Java IoT Authors: Greg Schulz, Elizabeth White, Liz McMillan, Bob Gourley, Antonella Corno

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) 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
    Smriti 02/11/04 03:26:58 AM EST

    ULC (www.canoo.com/ulc) is pure Java based rich thin client frame work for J2EE applications. It provides server side widgets with API exactly similar to Swing. ULC apps run in any std J2EE container (servlet or EJB). Client is thin and universal (350 KB of Java) and requires JRE 1.2 or higher on the desktop. There is a Visual Builder plug-in available for IBM Websphere Studio and soon for Eclipse. Developers can use any IDE to program with ULC classes.

    Tahir Awan 02/10/04 11:29:04 AM EST

    I am surprised to see that the author didn''t mention one of the biggest problem I''ve seen while working with droplets platform. That''s having to restart the server every time the code is modified. Imagine a code-build-test cycle where one has to restart the server every time.
    Having worked with mostly J2EE servers with hot-deployment capability, this is the biggest problem I face.

    /tahir

    @ThingsExpo Stories
    SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From ...
    Web Real-Time Communication APIs have quickly revolutionized what browsers are capable of. In addition to video and audio streams, we can now bi-directionally send arbitrary data over WebRTC's PeerConnection Data Channels. With the advent of Progressive Web Apps and new hardware APIs such as WebBluetooh and WebUSB, we can finally enable users to stitch together the Internet of Things directly from their browsers while communicating privately and securely in a decentralized way.
    "A lot of times people will come to us and have a very diverse set of requirements or very customized need and we'll help them to implement it in a fashion that you can't just buy off of the shelf," explained Nick Rose, CTO of Enzu, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
    DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm.
    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 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 and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and sh...
    Big Data, cloud, analytics, contextual information, wearable tech, sensors, mobility, and WebRTC: together, these advances have created a perfect storm of technologies that are disrupting and transforming classic communications models and ecosystems. In his session at @ThingsExpo, Erik Perotti, Senior Manager of New Ventures on Plantronics’ Innovation team, provided an overview of this technological shift, including associated business and consumer communications impacts, and opportunities it m...
    WebRTC is about the data channel as much as about video and audio conferencing. However, basically all commercial WebRTC applications have been built with a focus on audio and video. The handling of “data” has been limited to text chat and file download – all other data sharing seems to end with screensharing. What is holding back a more intensive use of peer-to-peer data? In her session at @ThingsExpo, Dr Silvia Pfeiffer, WebRTC Applications Team Lead at National ICT Australia, looked at differ...
    With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
    SYS-CON Events announced today that IoT Now has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. IoT Now explores the evolving opportunities and challenges facing CSPs, and it passes on some lessons learned from those who have taken the first steps in next-gen IoT services.
    SYS-CON Events announced today that WineSOFT will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Based in Seoul and Irvine, WineSOFT is an innovative software house focusing on internet infrastructure solutions. The venture started as a bootstrap start-up in 2010 by focusing on making the internet faster and more powerful. WineSOFT’s knowledge is based on the expertise of TCP/IP, VPN, SSL, peer-to-peer, mob...
    The Internet of Things can drive efficiency for airlines and airports. In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect with GE, and Sudip Majumder, senior director of development at Oracle, discussed the technical details of the connected airline baggage and related social media solutions. These IoT applications will enhance travelers' journey experience and drive efficiency for the airlines and the airports.
    A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
    WebRTC sits at the intersection between VoIP and the Web. As such, it poses some interesting challenges for those developing services on top of it, but also for those who need to test and monitor these services. In his session at WebRTC Summit, Tsahi Levent-Levi, co-founder of testRTC, reviewed the various challenges posed by WebRTC when it comes to testing and monitoring and on ways to overcome them.
    In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. 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 settle...
    In his session at @ThingsExpo, Steve Wilkes, CTO and founder of Striim, will delve into four enterprise-scale, business-critical case studies where streaming analytics serves as the key to enabling real-time data integration and right-time insights in hybrid cloud, IoT, and fog computing environments. As part of this discussion, he will also present a demo based on its partnership with Fujitsu, highlighting their technologies in a healthcare IoT use-case. The demo showcases the tracking of patie...
    The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
    The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
    SYS-CON Events announced today that Cloud Academy will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud computing technologies. Ge...
    20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, 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 strategy.