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

2018 Gold Sponsor

2018 Tech Sponsor

2018 Partners

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
Traditional on-premises data centers have long been the domain of modern data platforms like Apache Hadoop, meaning companies who build thei...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously...
IoT & Smart Cities Stories
Early Bird Registration Discount Expires on August 31, 2018 Conference Registration Link ▸ HERE. Pick from all 200 sessions in all 10 tracks, plus 22 Keynotes & General Sessions! Lunch is served two days. EXPIRES AUGUST 31, 2018. Ticket prices: ($1,295-Aug 31) ($1,495-Oct 31) ($1,995-Nov 12) ($2,500-Walk-in)
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...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
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...
All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...

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
Cryptomage, Inc. is a dynamic hi-tech ICT company offering products and services in the cybersecurity area. We deliver high quality solutions both technologically and conceptually. We have academic roots and hire scientists, cybersecurity experts, software developers and analysts. Our strategy is focused on maintaining the highest skills of our human resources. The Cryptomage team is capable of more than delivering complex solutions; we can improve the whole concept to deliver real added value to our customers.
In addition to 22 Keynotes and General Sessions, attend all FinTechEXPO Blockchain "education sessions" plus 40 in two tracks: (1) Enterprise Cloud (2) Digital Transformation. PRICE EXPIRES AUGUST 31, 2018. Ticket prices: ($295-Aug 31) ($395-Oct 31) ($495-Nov 12) ($995-Walk-in) Does NOT include lunch.
Early Bird Registration Discount Expires on August 31, 2018 Conference Registration Link ▸ HERE. Pick from all 200 sessions in all 10 tracks, plus 22 Keynotes & General Sessions! Lunch is served two days. EXPIRES AUGUST 31, 2018. Ticket prices: ($1,295-Aug 31) ($1,495-Oct 31) ($1,995-Nov 12) ($2,500-Walk-in)
Digital Transformation Blogs
Cryptomage, Inc. is a dynamic hi-tech ICT company offering products and services in the cybersecurity area. We deliver high quality solutions both technologically and conceptually. We have academic roots and hire scientists, cybersecurity experts, software developers and analysts. Our strategy is focused on maintaining the highest skills of our human resources. The Cryptomage team is capable of more than delivering complex solutions; we can improve the whole concept to deliver real added value to our customers.
In addition to 22 Keynotes and General Sessions, attend all FinTechEXPO Blockchain "education sessions" plus 40 in two tracks: (1) Enterprise Cloud (2) Digital Transformation. PRICE EXPIRES AUGUST 31, 2018. Ticket prices: ($295-Aug 31) ($395-Oct 31) ($495-Nov 12) ($995-Walk-in) Does NOT include lunch.
Early Bird Registration Discount Expires on August 31, 2018 Conference Registration Link ▸ HERE. Pick from all 200 sessions in all 10 tracks, plus 22 Keynotes & General Sessions! Lunch is served two days. EXPIRES AUGUST 31, 2018. Ticket prices: ($1,295-Aug 31) ($1,495-Oct 31) ($1,995-Nov 12) ($2,500-Walk-in)
"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...