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).

Tuesday, February 17, 2015

Writing Remote PHP Adapters for Lightstreamer

As most (if not all) of you know, PHP is a widely adopted server-side scripting language, mainly focused on web development through the availability of web server native's module.

However, PHP could also be used for command-line scripting through the PHP Commnad Line Interface. This way you can leverage its power and simplicity to create general-purpose applications running in a shell.

In this post we will use such feature to illustrate the development of custom Remote Adapter Sets for Lightstreamer, written in PHP.