Register Here
  Call For Papers
  Hotel Info
  Power Panels
Untitled Document
2018 Platinum Sponsor

2018 Gold Sponsor

2018 Silver Sponsor

2018 Tech Partner

2018 Tech Sponsor

2018 Pavilion Sponsor

2018 Exhibitors

Untitled Document
2018 Media Sponsors

Untitled Document
2017 West
Premium Sponsors



Untitled Document
2017 West
Keynote Sponsor

Untitled Document
2017 West Exhibitors


Untitled Document
2017 West JETRO ×
Six Prefectures
of Japan
Pavilion Exhibitors

Untitled Document
2017 West Media Sponsors

Untitled Document
2017 East
Premium Sponsors





Untitled Document
2017 East Exhibitors

Untitled Document
2017 East Media Sponsors

Untitled Document
  Think Big – Now Think Even Bigger
  Join Us at Internet of Things at Cloud Expo, November 11-13,
at the Javits Center!

The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago.

All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades.

With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend Internet of Things at Cloud Expo in New York City. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be!

Delegates to Internet of Things at Cloud Expo will be able to attend eight separate, information-packed tracks:

  • Enterprise Cloud
  • Digital Transformation
  • The API Enterprise | Mobility & Security
  • DevOps | Containers & Microservices
  • Cognitive Computing | AI, ML, DL
  • Big Data | Analytics
  • IoT | IIoT | Smart Cities
  • Hot Topics | FinTech | WebRTC

There are 120 breakout sessions in all, with Keynotes, General Sessions, and Power Panels adding to three days of incredibly rich presentations and content.

We'll see you in New York!

Day 3 Keynote at @ThingsExpo | Chris Matthieu, CTO of Octoblu
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu's platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
  Themes & Topics to Be Discussed

Consumer IoT
• Wearables
• Smart Appliances
• Smart Cars
• Smartphones 2.0
• Automation
• Smart Travel
• Personal Fitness
• Health Care
• Personalized Marketing
• Customized Shopping
• Personal Finance
• The Digital Divide
• Mobile Cash & Markets
• Games & The IoT
• The Future of Education
• Virtual Reality

Enterprise IoT
• The Business Case for
x IoT
• Smart Grids
• Smart Cities
• Smart Transportation
• The Smart Home
• M2M
• Authentication/Security
• Wiring the IoT
• The Internet of
x Everything
• Digital Transformation
x of Enterprise IT
• Agriculture
• Transportation
• Manufacturing
• Local & State
x Government
• Federal Government

IoT Developers | WebRTC Summit
• Eclipse Foundation
• Cloud Foundry
• Linux Containers
• Node-Red
• Open Source Hardware
• Ajax and the IoT
• Leveraging SOA
• Multi-Cloud IoT
• Evolving Standards
• WebSockets
• Security & Privacy
x Protocols
• GPS & Proximity
x Services
• Bluetooth/RFID/etc
• Nest Labs

The Top Keynotes, the Best Sessions, a Rock Star Faculty and the Most Qualified Delegates of ANY Internet of Things Event!

The future of computing lies in these things. As computing takes a much more active role in our lives it will at the same time become much more invisible. Internet of Things Expo will address the challenges in getting from where we are today to this future.
The high-energy event is a must-attend for senior technologists from CEOs on down – including CIOs, CTOs, directors of infrastructure, VPs of technology, IT directors and managers, network and storage managers, network engineers, enterprise architects, and communications and networking specialists.

@ThingsExpo Power Panel | The World's Many IoTs: Which Are the Most Important?
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, panelists discussed what things are the most important, which will have the most profound effect on the world, and what should we expect to see over the next couple of years.
Benefits of Attending the Three-Day Technical Program
  LEARNexactly why Internet of Things is relevant today from an economic, business and technology standpoint.
  HEAR first-hand from industry experts the common issues and requirements for creating a platform for the Internet of Things.
  SEE what new tools and approaches the Internet of Things requires.
  DISCOVER how to drive a distributed approach to the Internet of Things, where applications move to the data.
  FIND OUThow the vast volumes of new data produced by the Internet of Things provides a valuable new source of business insight through advanced analytical techniques.
  MASTER how the ongoing development of smart cities, cars, and houses will enhance connectivity infrastructure.
Lunch Power Panel | Microservices & IoT- Moderated by Jason Bloomberg
In this Power Panel at @DevOpsSummit, moderated by Jason Bloomberg, president of Intellyx, panelists Roberto Medrano, Executive Vice President at Akana; Lori MacVittie, Evangelist for F5 Networks; and Troy Topnik, ActiveState's Technical Product Manager; and Otis Gospodnetic, founder of Sematext; peeled away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud environment, and we must architect and code accordingly. At the very least, you'll have no problem filling in your buzzword bingo cards.

Building a Snap-In App Framework Using Dynamic PowerBuilder Assemblies
Part 1: Implement dynamic PBD loading and content access using readily available and mature APIs in PowerBuilder Classic

The articles in this two-part series examine and contrast PowerBuilder .NET 12.5.1's new dynamic assembly feature with corresponding dynamic library functionality in PowerBuilder Classic. The discourse is presented in the context of a simplified yet practical use case. The first article presents the use case, reviews pertinent PowerBuilder Classic dynamic APIs, and presents a Classic PBD implementation. The second article introduces PowerBuilder .NET 12.5.1's Dynamic Assembly feature, reveals relevant PowerBuilder .NET generated assembly internals, and presents a PowerBuilder .NET use case implementation.

Say you were on a programming team designing a PowerBuilder .NET WPF based system that included this requirement:

  • The application must be extensible through third-party add-ons .

How would you go about: (1) Designing a third-party component API to support compliant add-in construction; (2) designing application plug-in interface to assure API compliance? (3) implementing a dynamic plug-in loader in your main application?

Through reading the articles in this series, you'll develop answers to these questions. Along the way you'll examine some new and old PowerBuilder APIs along with PowerBuilder and Microsoft .NET features and internals.

Related, Required Language Features
While a discussion of programming language theory and an exposé of PowerScript language capabilities is well beyond this article's scope, it's important for you to have working definitions of the concepts and APIs that underpin the discussion. Here are the necessary working definitions:

Dynamic Binding
Grady Booch defines object-oriented data typing as: ‘the enforcement of the class as an object, such that objects of different types may not be interchanged, or at the most, they may be interchanged in very restricted ways'

PowerScript was originally designed as a strongly typed object-oriented language in which predefined types were static (or early) bound at compile time. However, polymorphism, based on a set of well-known system class types was supported, as well as polymorphic Open( ) function overloads. PowerScript acquired additional dynamic characteristics in version 5 with the addition of the dynamic keyword. Runtime (or late) binding is used when a developer precedes a method call with the dynamic keyword. Late binding opened PowerScript's door to lots of there-to-fore impossible tricks. Please note, because the compiler doesn't evaluate or optimize a dynamic call, a runtime exception is thrown if the method is not present when called. Here's a dynamic call that might be placed in a menu script.

ParentWindow. Dynamic Event ue_save( this.istr_window_state)

The datatype of the system defined identifier, ParentWindow, is Window. Because Window does not have a predefined ue_save ( structure ) event, the call statement cannot compile. Placing the dynamic keyword before the method name in the call forces the statement to be runtime evaluated. As long as the actual window reference does have such an event at runtime, the statement will execute correctly.

Dynamic Polymorphic Instantiation
As mentioned above, several PowerScript functions and statements support dynamic polymorphic instantiation. In every case, you supply a reference variable of the appropriate ancestor type as the first parameter value and specify the name of the descendant type to create as the contents of a string for the second parameter. The reference variable is populated with the object address after the create.

For non-visual types (or even creating visual types non-visually):

<<PowerObject type identifier >> = CREATE USING <<String containing type to create>>

For window types:

Open( <<window type identifier>>, <<String containing type to create>>)

String contains the class name of the type to create. Type must be a Window descendant.

For graphic types:

OpenUserObject(<<DragObject type identifier>>, <<String containing type to create>>)

Reflection is defined as the process by which a computer program can observe and modify its own structure and behavior at runtime. Modern programming languages including PowerBuilder provide a Reflection API.

PowerBuilder provides classes that implement a read-only reflection API. API members include ClassDefinition, ScriptDefinition, and VariableDefinition. The grand ancestor of all PowerScript classes, the PowerObject, has a ClassDefinition property that contains a reference to an object's ClassDefinition type object. Code in any PowerObject descendant need make only a single assignment to a reference variable of type ClassDefinition to reflect on a class.

ClassDefinition lcd_1
Lcd_1 = this.ClassDefinition

Figure 1 shows the Object Browser's view of ClassDefinition's properties.

Figure 1: ClassDefinition properties

Library API
PowerBuilder Classic provides functions that allow a developer to (1) manipulate the library list at runtime; (2) create and delete PBL repository files; and (3) get a detailed listing of the contents of a runtime (PBD) or development time (PBL) repository. Table 1 lists all of Classic's library functions.

Table 1: Library Functions


Adds files to the library search path of the application


Gets the files in the library search path of the application


Create a library and associates comments to the new library


Delete a library


Return a list containing all the objects of a specified type


Return a list containing all the objects in a library


Export objects from a specified library


Import objects into a specified library


Change the files in the library search path of the application

PowerBuilder Classic offers three functions that allow you to manipulate the library list (PBD) at runtime. They are: AddToLibraryList( ), SetLibraryList( ), and GetLibraryList( ). As their names suggest, AddTo appends PBDs to the existing library list. Set replaces the current list and Get returns a string with the current library list. Adding a PBD to the library list makes its contents available to the application. Your code can dynamically instantiate objects and create DataWindow objects using definitions stored in the PBD. However, because types are unknown at compile time, it's not possible to open them using their class name as types as references. You will have to use a dynamic open call as illustrated above. Code objects referenced inside dynamically loaded types, including DataWindows, will be automatically loaded.

When the contents of a loaded PBD are unknown, you can call the LibraryDirectoryEx function to get a full or partial listing of a PBD's contents. This function returns the directory list as a tab delimited string. You can create an external datasource DataWindow Object whose buffer structure maps onto the elements in the string LibraryDirectoryEx returns. Then Import( ) the string into the DataWindow to interact with its contents.

Putting It All Together
Figure 3 shows our little POC application's UI. Clicking the Load button allows you to select a dynamic library and load a directory of its contents into a DataWindow. Figure 4 shows what happens when you select an object and click the Create button. As expected it polymorphically instantiates an object using the corresponding PowerScript function. Because the LibraryDirectory function reports the selected object's type, it's not necessary to reflect on the selected object's class definition to determine which Open function to call.

Figure 3: POC application UI

Figure 4: Select an object and click the Create button

Listing 1 shows the code in the Load button's clicked event.

Listing 1: Load button clicked event script
integer rc
string lfile, lpath, lobjects
//get the name of the assembly to add to the list
rc = GetFileOpenName ('PB Dynamic Libraries', lpath, lfile, "PBD", "PB Dynamic Libraries (*.pbd),*.pbd")
if rc <> 1 then return
rc = AddToLibraryList(lpath)                         //add to app reference list
choose case rc
case -1
MessageBox( 'Wake Up!!', "Can't test from inside the IDE")
case -2
MessageBox( 'Something went wrong@!', &
'The new library list or existing library list is empty, or another internal error has occurred')
end choose
//load directory into dwo
lobjects = librarydirectoryex( lfile, dirall!)
dw_1.sort( )
dw_1.setfocus( )

Listing 2 shows the code in the Create button's clicked event.

Listing 2: Create button clicked event script
string ls_objectname, ls_type
window lw
userobject luo
ls_objectname=dw_1.getitemstring(dw_1.getrow( ), 'object_name')
ls_type = dw_1.getitemstring(dw_1.getrow( ), 'object_type')
choose case lower(ls_type)
case 'window'
open(lw, ls_objectname)
case 'userobject'
openuserobject(luo, ls_objectname, 10, 770)
end choose

Implementing the Use Case Spec
We can now extend our basic dynamic loader to implement the use case spec. Figure 5 shows the complete architecture of my POC. You can see that the application provider has common abstract "framework' ancestors that implementation classes inherit from. These ancestors form a common, mandatory API that the application's loader framework will call to dynamically interact with loaded classes. The application provider supplies these ancestors in PBD format to the snap-in developer. The snap-in developer adds the PBD to the library list of their Add-In application and inherits from the ancestors to build their snap-in implementation classes. Obviously, the Provider's application has the same ancestors in one of its libraries. The ancestors provide a unique runtime ‘fingerprint' that the Provider can verify before loading the objects. Figure 5 shows both application targets in the System Tree view: the dynamic loader and the Snap-In (or Add-in). Listing 3 shows the Create button implementation including runtime identification and dynamic loading.

Figure 5: System Tree view

Listing 3: Create button implementation
string ls_objectname, ls_type
PowerObject PO                     //these are for reflection
ClassDefinition CD                // "        "    "
w_ancestor lw_a  //common abstract ancestor for load-able windows
u_cvuo_anc luo                       //common abstract ancestor for load-able CVUOs
ls_objectname=dw_1.getitemstring(dw_1.getrow( ), 'object_name') //get selected class system type & class name
ls_type = dw_1.getitemstring(dw_1.getrow( ), 'object_type')
if lower(ls_type) <> 'datawindow' then         //reflect to determine ancestor
po = Create using ls_objectname
cd = po.classdefinition
cd = cd.ancestor ; end if
choose case lower(ls_type)
case 'window' //is the window from expected ancestor?
if = 'w_ancestor' then
open(lw_a, ls_objectname) ;else; messagebox("Can't Open Window. Wrong Ancestor", ; end if
case 'userobject'
if = 'u_cvuo_anc' then
openuserobject(luo, ls_objectname, 10, 770) ; else ; messagebox("Can't Open CVUO. Wrong Ancestor", ; end if
case 'datawindow'
dw_1.dataobject = ls_objectname
dw_1.settransobject( sqlca)
dw_1.retrieve( )
end choose
destroy CD     //clean up
destroy PO

In this article you read how to implement dynamic PBD loading and content access using readily available and mature APIs in PowerBuilder Classic. You also saw how to implement a basic snap-in interface and dynamic loader that you can use to allow third-party extensions to your application

In the next article I'll introduce you to the new PowerBuilder 12.5.1 .NET Dynamic Library API and the .NET Reflection API. You'll learn to use them together with some of the Classic APIs you explored in this article to implement a PowerBuilder .NET snap-in interface for your application.


About Yakov Werde
Yakov Werde, a 25 year IT industry veteran, is a member of TeamSybase and the newly formed Sybase Customer Evangelist Team. Yakov is a recognized author, speaker and trainer who has been designing and delivering PowerBuilder, .NET, EaServer, Web App Development, and Java training for over 14 years to corporate, military and government developers. Prior to discovering his aptitude as an educator, Yakov worked as an architect, project manager and application coder in the trenches of application software development. Yakov holds a Masters in Education with a specialty in instructional design for online learning from Capella University and a BS in math and computer science from Florida International University. Yakov, managing partner of eLearnIT LLC (, authors and delivers workshops and web based eLearning tutorials to guide professional developers toward PowerBuilder Classic and .NET mastery. Follow Yakov on Twitter as @eLearnPB

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Presentation Slides
In his session at 21st Cloud Expo, Michael Burley, a Senior Business Development Executive in IT Services at NetApp, described how NetApp de...
When building large, cloud-based applications that operate at a high scale, it’s important to maintain a high availability and resilience to...
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...

2016 | 2015 | 2014 | 2013 | 2012
This week I had the pleasure of delivering the opening keynote at Cloud Expo New York. It was amazing to be back in the great city of New York with thousands of cloud enthusiasts eager to learn about the next step on their journey to embracing a cloud-first worldl."
How does Cloud Expo do it every year? Another INCREDIBLE show - our heads are spinning - so fun and informative."
Thank you @ThingsExpo for such a great event. All of the people we met over the past three days makes us confident IoT has a bright future."
One of the best conferences we have attended in a while. Great job, Cloud Expo team! Keep it going."


Who Should Attend?
Senior Technologists including CIOs, CTOs & Vps of Technology, Chief Systems Engineers, IT Directors and Managers, Network and Storage Managers, Enterprise Architects, Communications and Networking Specialists, Directors of Infrastructure.

Business Executives including CEOs, CMOs, & CIOs , Presidents & SVPs, Directors of Business Development , Directors of IT Operations, Product and Purchasing Managers, IT Managers.

Join Us as a Media Partner - Together We Can Enable the Digital Transformation!
SYS-CON Media has a flourishing Media Partner program in which mutually beneficial promotion and benefits are arranged between our own leading Enterprise IT portals and events and those of our partners.

If you would like to participate, please provide us with details of your website/s and event/s or your organization and please include basic audience demographics as well as relevant metrics such as ave. page views per month.

To get involved, email

@ThingsExpo Blogs
Isomorphic Software is the global leader in high-end, web-based business applications. We develop, market, and support the SmartClient & Smart GWT HTML5/Ajax platform, combining the productivity and performance of traditional desktop software with the simplicity and reach of the open web. With staff in 10 timezones, Isomorphic provides a global network of services related to our technology, with offerings ranging from turnkey application development to SLA-backed enterprise support. Leading global enterprises use Isomorphic technology to reduce costs and improve productivity, developing ...
Concerns about security, downtime and latency, budgets, and general unfamiliarity with cloud technologies continue to create hesitation for many organizations that truly need to be developing a cloud strategy. Hybrid cloud solutions are helping to elevate those concerns by enabling the combination or orchestration of two or more platforms, including on-premise infrastructure, private clouds and/or third-party, public cloud services. This gives organizations more comfort to begin their digital transformation without a complete overhaul of their existing infrastructure - serving as a sort of "mi...
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 Blogs
Every organization is facing their own Digital Transformation as they attempt to stay ahead of the competition, or worse, just keep up. Each new opportunity, whether embracing machine learning, IoT, or a cloud migration, seems to bring new development, deployment, and management models. The results are more diverse and federated computing models than any time in our history.
On-premise or off, you have powerful tools available to maximize the value of your infrastructure and you demand more visibility and operational control. Fortunately, data center management tools keep a vigil on memory contestation, power, thermal consumption, server health, and utilization, allowing better control no matter your cloud's shape. In this session, learn how Intel software tools enable real-time monitoring and precise management to lower operational costs and optimize infrastructure for today even as you're forecasting for tomorrow.
Isomorphic Software is the global leader in high-end, web-based business applications. We develop, market, and support the SmartClient & Smart GWT HTML5/Ajax platform, combining the productivity and performance of traditional desktop software with the simplicity and reach of the open web. With staff in 10 timezones, Isomorphic provides a global network of services related to our technology, with offerings ranging from turnkey application development to SLA-backed enterprise support. Leading global enterprises use Isomorphic technology to reduce costs and improve productivity, developing ...
"Calligo is a cloud service provider with data privacy at the heart of what we do. We are a typical Infrastructure as a Service cloud provider but it's been des...
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the...