Wednesday, July 20, 2016

Vue.js and Lightstreamer

Vue.js is an open-source JavaScript library for building interactive web interfaces which is rapidly growing in popularity (as evidenced by its GitHub’s stars).
It's basically a view layer for any application, which enables reactive data binding and composable view components (without polyfills, even in browsers that don’t support those features natively) through an extremely simple API.

Vue differs from the alternatives, such as React or Angular, mainly for the great developer experience it provides, which makes them super productive without the need to spend tons of time learning new stuff.

Friday, July 15, 2016

Angular 2 Demo

Last week, we built our first demo in Angular 2. The application implements our evergreen "Basic Stock-List Demo", which shows ten stocks whose market-data are dynamically updated by a random simulator and sent in real time to the web client by the Lightstreamer Server.

Previously, we had done the same exercise using AngularJS (you can see the outcome in this live demo and this GitHub project).

The overall task of integrating Angular 2 and Lightstreamer Web Client API was not difficult at all, notwithstanding the lack of extensive documentation (at the time of writing, Angular 2 is still in beta).

Angular 2 aims to be a complete framework to build sophisticated web interfaces. In the demo we just scratched the surface.

Thursday, May 12, 2016

What's New With Lightstreamer 6.0.2

We are very excited to announce the general availability of Lightstreamer Server 6.0.2, which includes several new and updated components.

Client-side SDKs

More client libraries have been updated to reflect the Lightstreamer Unified Client API model. We recommend upgrading the client code to make use of the new libraries, even if this requires some rework when migrating from non-unified APIs. The big advantage in using the Unified API is that the same consistent interface and behavior are guaranteed across different client platforms. In other words, the same abstractions and internal mechanisms are provided for very different platforms, while respecting the conventions, styles, and best practice of each platform. This will dramatically reduce costs and complexity when maintaining client applications for different platforms.

Tuesday, April 26, 2016

New SDK for Python Adapters

Our family of Adapter Development Kits has been further enriched with the Lightstreamer SDK For Python Adapters, which lets developers write Remote Adapter Sets exploiting the power and flexibility of Python, one of the most widely used general purpose high-level languages.

The new SDK has been developed keeping in mind the same principles and concepts which drove the design and implementation of the SDK for .NET Adapters, the "progenitor" of the successive SDKs for Java Remote Adapters and for Node.js Adapters, all already provided as part of the Lightstreamer distribution. Nevertheless, the Python Adapter SDK must not be considered as a "simple" port to the Python language; on the contrary, it is a brand new implementation, based on the best practices and widespread conventions promoted by the community around the language.

In this post we are going to show a general overview about the development of custom Python Remote Adapter Sets, which should sound quite familiar for those who have already experimented with the others Lightstreamer Adapter SDKs.

Wednesday, April 13, 2016

Dockerizing Lightstreamer


Containerization is one of the most important IT trends over the last two years. Docker heads this technology up, providing an open platform which lets you package up applications with all their dependencies. Applications can be shipped as software containers to enable process isolation, resources optimization, portability, and ease of maintainability and deployment.

As passionate about each new exciting and promising technology, we at Lightstreamer could not miss the opportunity to enter this world, so we tested how well our Server could be "dockerized" and ... Yes, we did it! We published the Docker official image for Lightsteamer Server on Docker Hub.

The aim of this blog post is to show how to use our Docker image as a starting point to build new Lightstreamer Server deployments.

Monday, April 11, 2016

React Native Demo Available

In the past few years, we have seen the diffusion of frameworks like PhoneGap and Titanium, which offer developers the opportunity of building mobile applications using web technologies. The outcome is called a hybrid app.

Web developers can use their skills for mobile development and in addition they can use the same codebase with little changes for multiple platforms - what became known as “Write once, run everywhere”. On the downside, some of these frameworks wrap your JavaScript code in a web view: this results in UI elements that don’t have a native look and feel and fall short when it comes to performance (you are still writing a web app).

Friday, March 11, 2016

Electron Demo Available

Nowadays, since browsers and mobile devices got powerful, there has been a constant decline of desktop applications, which are getting replaced by mobile and web apps.

There are a lot of advantages to writing desktop applications and in some context it's still preferable.

GitHub’s Electron framework (formerly known as Atom Shell) wants to give developers new exciting reasons to continue coding them, letting us write cross-platform desktop apps using web technologies (HTML, CSS and JavaScript).

Thursday, March 10, 2016

New tvOS Client SDK Now Available

With the release of Apple TV 4th generation, Apple added a new platform for the development and distribution of apps. We are happy to announce that Lightstreamer now supports this new platform as well, with the same APIs provided for iOS and OS X.

The new tvOS Client SDK is directly derived from the iOS SDK version 2.0.0. As such, the API model is pretty identical

We provide also a sample application, our ubiquitous Stock-List Demo, in tvOS flavor on GitHub. Check it out for an example of use of this new SDK.

Monday, February 8, 2016

Meet Our Customers: eToro


"Choosing Lightstreamer was a no-brainer" - a short interview with Israel Kalush, VP Engineering at eToro, a pioneer and world leader in Social Trading. eToro opted for Lightstreamer to deliver server-to-client high-frequency messages, including price ticks.

Let’s talk about your organization. What is your core business?

"eToro is the world's largest social investment network. eToro allows traders to invest in the global markets, follow the financial trading activities of other users as well as CopyTrade them. Clients allow their trading activity to be published on eToro's network along with their trading history and performance metrics. Users leverage this wealth of financial information and choose to copy other traders. In such case, the eToro platform will automatically duplicate each trade made in the copier's account using the same execution rates."

 Could you let us know any further information?
" Through eToro's award winning platform, over 5 million traders are empowered to learn from each other, share live trading information and even capitalize on their collective trading power, thanks to the CopyTrader feature. Traders can also use eToro’s social trading services on the go, with eToro’s Mobile Trader for Android and iPhone.

 eToro has local offices in London, Cyprus, Moscow, Shanghai, Israel and Sydney."

Thursday, January 7, 2016

Introducing Lightstreamer JMS Extender

The Lightstreamer JMS Extender is a new product aimed at porting the JMS interface to the Web and Node.js environments.

For those who don't know the JMS acronym, it stands for Java Message Service and it is a well-known set of APIs used in Java-based environments to provide publish/subscribe and message queuing paradigms. Not only does the JMS Extender provide that same set of APIs as a JavaScript client library (and other languages in the future), but it also extends the reachability and scalability of a JMS broker (typically a local-area-network component) to the entire Web.

Friday, October 16, 2015

Weswit Becomes Lightstreamer

We are so thrilled to announce that Weswit, the company behind the Lightstreamer product family, has been renamed as Lightstreamer.

Weswit pioneered the real-time web since the early 2000s and its flagship product, Lightstreamer, has become the absolute leader among commercial products in the Internet messaging space, in terms of market share. The Lightstreamer brand is now very well known globally. It makes total sense to identify the company and the product with the same name, for the sake of clarity and simplicity.

We are now growing our product family, enlarging our team of brilliant engineers, and starting up brand new ideas. Innovation remains the key to all that we do.

Our fabulous new headquarter at Copernico, in Milan, Italy.

Now, when dealing with real-time messaging and data streaming, a single word needs to be remembered: Lightstreamer!

Thursday, October 15, 2015

New Client APIs for iOS and OS X

When the iOS SDK came out in 2009, our choice at Lightstreamer was to build a new client library from scratch. We took as a reference the Java client library and started developing an entirely new Objective-C codebase, trying to merge the best object-oriented design we had at that time with a new language and environment.

This had both advantages and disadvantages. On one side, native integration with iOS led to good performance and useful features, like network availability monitoring to avoid battery drainage. On the other hand, the slow process of discovering and fixing corner-conditions and bugs, which the Java library had passed through already, had to be repeated all over again. Moreover, as new features were introduced in the server, they had to be introduced in the client libraries multiple times.

For these reasons, when the opportunity to rewrite the iOS client came in, we decided to try a different approach: transpile (i.e. trans-compile) a single Java codebase, in common with the Java client (now mostly dedicated to Android) and fill in the gaps with well designed wrappers and dependency injection. We explored this possibility before, but tools were not mature enough. Now they are, trans-compilaiton is a reality thanks to j2objc, an impressive tool made by the Google team, and transpiled code works and performs very well.

So, today we are proud and excited to announce the availability of the alpha version of iOS and OS X client libraries version 2.0, both developed from a highly engineered codebase in common with the Java/Android client. The library's core is written in Java, transpiled to Objective-C and then wrapped and integrated with especially written native code, providing a natural and seamless interface to iOS and OS X developers.

Version 2.0 adheres to the so-called Lightstreamer Unified Client API Model, i.e. an API designed to be the same across all environments: Javascript, Java/Android, iOS/OS X, .NET and so on. Developers will be able to switch between different platforms sure to find the same objects and methods, behaviors and features.

Let's see how it works and how to port your code.

Note: if you need download and example pointers, jump directly to the end of the post ("Get the SDKs").

Monday, September 28, 2015

Meet Our Customers: ImageTrend

A short interview with Lindsey Phillips, Project Manager at ImageTrend, a software development company which offers a wide range of Web-based solutions for industries as diverse as government, medical, human resources, business, education and non-profit.

ImageTrend has been listed in the Inc. 5000 Fastest Growing Private Companies in America in each year from 2007 through 2010. Customers include Russell Athletic, Goodyear Tire, HealthEast Care System, the University of Minnesota, Cargill, and FirstComp Insurance.

Let’s talk about your organization. What is your core business?

"ImageTrend, Inc. is dedicated to enterprise-level data management and analysis through the innovative use of technology. ImageTrend’s applications serve a variety of industries, but is primarily based in the healthcare and emergency response community. Based in Lakeville, Minnesota, ImageTrend combines business analysis, creative design and database-driven architecture to offer innovative, scalable solutions and strategies for today and the future."

Thursday, July 16, 2015

New Client APIs for Android and Java SE


We are very excited to announce early availability of brand new client APIs for Android and Java SE. The new APIs follow the Lightstreamer Unified Client API model, which was first introduced with the JavaScript client API.

This means that developers of applications for different client platforms will be given the same programming model when using a Lightstreamer client library. Same abstractions, same interfaces, same features, and same internal mechanisms. Developers will be able to move from a client platform to another seamlessly, without having to learn a new Lightstreamer API, or having to deal with caveats specific to each platform. At the same time, the Unified Client API implementations respect all the peculiarities of each platform, in terms of naming conventions, packaging, etc. So, developers of each platform will feel "at home" when using the new APIs.

Monday, July 13, 2015

Lightstreamer and OpenFin Integration

When it comes to fast changing data for online financial applications, software developers know how challenging it can be to deliver excellent performance, especially when web technologies are involved. On the one hand, real-time data must be streamed efficiently over the Internet through firewalls and proxies to reach the users' desktop or mobile device. On the other hand, the data must be rendered smoothly to provide the best possible user experience.

Lightstreamer and OpenFin joined forces to show, through a demo, how both these challenges can be addressed by combining their respective solutions: Lightstreamer for real-time data transport and OpenFin for real-time data visualization using HTML5.

Friday, June 26, 2015

It's Now Easier to Upgrade to Lightstreamer 6.0

It has been five months since the public release of Lightstreamer 6.0. To make the upgrade process simpler and faster, a few weeks ago we made available an online tool, which automatically converts Lightstreamer 5.1.2 configuration files to version 6.0.

Thursday, April 30, 2015

Full Market Depth with Lightstreamer

In the recent past we have received inquiries from customers and other people asking us to show how to implement full Market Depth, an advanced financial trading feature, with Lightstreamer. We think this is the time to present an example that, in addition to the classic StockList Demo and Portfolio Demo, demonstrates how well the Lightstreamer technology can satisfy the needs of this type of applications.

Market depth is an electronic list of buy and sell orders, organized by price level and updated to reflect real-time market activity. Market depth data are also known as Level II, Depth Of Market (DOM), and the order book.








Friday, February 27, 2015

Meet Our Customers: OOCL

A short interview with Ronald Chan, responsible for enterprise framework design and maintenance at OOCL, a world leader in logistics and transportation. OOCL opted for Lightstreamer to deliver important business information and tasks to the organization.

Let’s talk about your organization. What is your core business?

"Hong Kong-based OOCL is an International Container Transport and Logistics service provider. OOCL provides transportation services to companies throughout Asia, Europe, North America, the Mediterranean, the Indian sub-continent, the Middle East, and Australia/New Zealand."

 Could you let us know any further information?
"OOCL is a wholly-owned subsidiary of Orient Overseas (International) Limited (OOIL), publicly listed on the Hong Kong Stock Exchange. The company has more than 280 offices in 55 countries around the world, providing 78 services covering international trading markets with a fleet of more than 270 ships, including Grand Alliance member line vessels, feeder and OOCL-owned and operated vessels. In 2014 the company has recorded an impressive 5,585,516 TEUs lifted, and almost 6 billion USD in revenues (source). As a leader in its industry, the number of awards and accoladed won by OOCL so far is huge."

Thursday, February 26, 2015

Introduction to Mobile Push Notifications with Lightstreamer 6.0

With the release of version 6.0 final, mobile push notifications (MPN for short) are now an integral part of Lightstreamer. Since our original post about 6.0 alpha, the MPN APIs have been streamlined, enhanced and extended to Android. With this blog post we take a second look at these new functionality, with code samples for both iOS/OS X and Android.

How MPNs Are Handled in Lightstreamer 6.0

Mobile push notifications are simply real-time push notifications diverted to a different channel. For this reason, they share many properties with their real-time counterpart:
  • they are initiated on the client with a subscription and terminated with an unsubscription;
  • each notification is originated by a data adapter real-time update.

This means that any subscription to any existing data adapter may be used for MPNs, with only a few restrictions:
  • COMMAND and RAW modes may not be used;
  • the unfiltered mode is not supported;
  • the selector is not supported.

Wednesday, February 18, 2015

New NSError Pattern Support in iOS and OS X Clients

Remember our blog post about developing iOS apps with Swift and Lightstreamer? It was 7 months ago, Swift had been introduced by Apple only a few weeks before, and object-oriented programming fans (like me) were wondering why there was no support for structured exception handling.

Our iOS and OS X client libraries used to rely on exceptions. Both to maintain an interface reasonably similar to other client libraries (Java/Android, mainly), and to use a well-established pattern for error handling.

Now, seven months have passed and there are still no traces of exception handling in Swift. Not even in the just-announced version 1.2 of the language. So, with version 1.4 of the iOS client library, and version 1.2 of the OS X, we have introduced an alternative signature for exception-throwing methods that supports the common NSError pattern of Cocoa and Cocoa Touch. To the benefit of developers using Swift and of all the developers out there that simply don't like exceptions (and there are many).