SlideShare una empresa de Scribd logo
© Hitachi America, Ltd. 2017. All rights reserved.
Updates on webSpoon
and other innovations from Hitachi R&D
11/11/2017
Researcher at Hitachi America, Ltd.
Hiromu Hota, PhD
@HiromuHota, hiromu.hota@hal.hitachi.com
© Hitachi America, Ltd. 2017. All rights reserved.
Contents
1
• webSpoon
– Demo
– Updates since PCM16 and missings
– Use cases
© Hitachi America, Ltd. 2017. All rights reserved.
webSpoon: a browser-based Spoon
2
• webSpoon works on any latest browser, accessible over a network.
• webSpoon has advantages:
• webSpoon is NOT supported by Pentaho or by Hitachi.
Smartphone/tablet
CloudData security Ease of mgmt.Remote use
Desktop/laptop
© Hitachi America, Ltd. 2017. All rights reserved.
Demo
3
1. webSpoon (demo instance in AWS)
2. Multi-tenancy (demo instance in local Docker)
© Hitachi America, Ltd. 2017. All rights reserved.
Updates since PCM16
4
• webSpoon became matured in its stability, functionality, and usability.
• Stability
– Fixed many things: menubar, shortcuts, scrollbar/zooming, copy/paste
– Automated UI Testing
– CI/CD (nightly build for every commit)
• Functionality
– Lots of steps/job entries and other type of plugins confirmed to be compatible
– Carte integration
– Multi-user/-tenant
• Usability
– FileDialog to open from the server’s file system / Import from the client’s
– Dockerized
– No longer 9051 port mapping
© Hitachi America, Ltd. 2017. All rights reserved.
Cloud / Scalability
5
• webSpoon is easily deployable to the cloud
– E.g., AWS Elastic Beanstalk
• webSpoon is scalable
webSpoon
Load Balancer
Clients
webSpoon instances
© Hitachi America, Ltd. 2017. All rights reserved.
• webSpoon serves multiple users
– User authentication
– User configuration
– Incomplete privacy among users
• Alice can see Bob’s configuration files
• Alice can see Bob’s Kettle files
(only when they are locally stored)
• webSpoon serves multiple tenants
– I’d assign dedicated instances for each tenant for the privacy concern,
though some argues that this arch is multi-instance, not multi-tenancy [1].
Multi-user / Multi-tenancy
6
webSpoon instances
Alice
Bob
Carol
Dave
Tenant A Tenant B
[1] Krebs, Rouven (2012). "Architectural Concerns in Multi-tenant SaaS Applications".
Proc. 2nd Int. Conf. on Cloud Computing and Services Science (CLOSER 2012).
Alice
Bob
: User authentication
© Hitachi America, Ltd. 2017. All rights reserved.
Compatible with Python/R steps
7
• Most of steps/job entries have been confirmed to be compatible with
webSpoon, including
– Python (CPython Script Executor)
– R (Execute R Script)
– R (R script executor, EE only)
• The rest of steps/job entries is just left un-tested.
© Hitachi America, Ltd. 2017. All rights reserved.
What’s still missing?
8
• Security
– End-users inherit the privileges of the user who runs the Tomcat.
• If root runs the Tomcat, all end-users have the root permission.
– Incomplete privacy among end-users:
• Alice can see Bob’s configuration files.
• Alice can see Bob’s Kettle files (when they are locally stored).
• Integration with Pentaho Server
– Not realized yet due to un-resolved conflicts.
• Some EE features
– DET (Data Exploration Tool)
© Hitachi America, Ltd. 2017. All rights reserved.
Use cases
9
© Hitachi America, Ltd. 2017. All rights reserved.
Data Security: Keep data where they should be
10
Spoon webSpoon
• Data engineers should physically
be near data.
• They might be tempted to
download data to work in their
office.
• They can work from office, home,
or wherever comfortable.
Hospital/Government/Bank
Data
When data cannot leave facility/country due to some regulations,
© Hitachi America, Ltd. 2017. All rights reserved.
Data integration of sensor data in remote sites
12
Thai factory
Tokyo office
Skilled engineer
1. Kettle files need updating frequently for many reasons:
• New machine, new sensor, new analytics, etc.
2. But, remote desktop (RDP) is prohibited and travel costs.
Data copy/move
User interaction
Travel costs
RDP
Remote desktop prohibited
Sensor
Database
Spoon
*Kettle file: Transformation or Job written in PDI
(Cropped) Asia - Single Color by FreeVectorMaps.com
© Hitachi America, Ltd. 2017. All rights reserved.
Data integration of sensor data in remote sites
13
Tokyo office
*HTTPS: HTTP Secure
Skilled engineer
Data copy/move
User interaction
No travel
General protocol
HTTPS
Thai factory
Sensor
Database
webSpoon
(Cropped) Asia - Single Color by FreeVectorMaps.com
1. Kettle files need updating frequently for many reasons:
• New machine, new sensor, new analytics, etc.
2. But, remote desktop (RDP) is prohibited and travel costs.
© Hitachi America, Ltd. 2017. All rights reserved.
Managed Pentaho development environment
15
• Different version, plugin, etc.
slows down collaboration.
• Could possibly be
– Outdated.
– Malicious plugins & drivers.
Spoon webSpoon
Bob Alice
Ver. X.X Ver. Y.Y
Your Kettle file does not
run in my environment!
• All Kettle files run in coworker’s
screen.
• No installation/upgrade/update
required (by end-users).
• Only desired plugins & drivers.
Your Kettle file runs
in my environment!
*Kettle file: Transformation or Job written in PDI
Plugin A
Driver B
Plugin A
Driver C
Bob Alice
© Hitachi America, Ltd. 2017. All rights reserved.
webSpoon streamlines the ML Workflow even more
16
• Data engineers/scientists share
– Tools (Pentaho/Python/R)
– Data stores
– Git repository
– Computing resources (e.g., Hadoop, Spark)
• As a result, collaboration between them becomes even more seamless
– Less dependent on IT staffs to setup tools, data stores, etc.
– No data copy/movement, no data dispersion
Data scientistsData engineers
webSpoon
Data stores
© Hitachi America, Ltd. 2017. All rights reserved.
Resources
17
• Source and binary
– https://github.com/HiromuHota/pentaho-kettle
• Docker image
– https://hub.docker.com/r/hiromuhota/webspoon
© Hitachi America, Ltd. 2017. All rights reserved.
One more thing...
18
© Hitachi America, Ltd. 2017. All rights reserved.
SpoonGit (Git client integrated with Spoon)
19
© Hitachi America, Ltd. 2017. All rights reserved.
Resources
20
• Source and binary
– https://github.com/HiromuHota/pdi-git-plugin
• Binary
– Pentaho Marketplace (in preparation)
© Hitachi America, Ltd. 2016. All rights reserved.
Trademarks and copyrights
21
• Pentaho is a trademark registered by Hitachi Vantara.
• Apache Hadoop and its logo are either registered trademarks or trademarks of
the Apache Software Foundation (ASF).
• Apache Spark, Spark and the Spark logo are trademarks of ASF.
• The Git Logo by Jason Long is licensed under the Creative Commons Attribution
3.0 Unported License.
• The R logo is © 2016 The R Foundation.
• RStudio and the RStudio logo are all registered trademarks of RStudio.
• The Python logo is a trademark of the Python Software Foundation.
• Jupyter and the Jupyter logs are trademarks of the NumFOCUS foundation.
• Docker and the Docker logo are trademarks or registered trademarks of Docker,
Inc. in the United States and/or other countries.
• The Jenkins logo is licensed under the Creative Commons Attribution-ShareAlike
3.0 Unported License.
• GitHub is a trademark registered in the United States by GitHub, Inc.
• Other company and product names mentioned in this document may be the
trademarks of their respective owners.
© Hitachi America, Ltd. 2017. All rights reserved.
Appendix
23
© Hitachi America, Ltd. 2017. All rights reserved.
webSpoon = Spoon - SWT + RWT
24
• Spoon relies on SWT for UI widgets (e.g., button, dialog, canvas).
• RWT is a web alternative to SWT and “largely” implements SWT APIs,
meaning Spoon can become a web app with most codes intact.
• There are
– Unimplemented SWT APIs (e.g., a part of GC, some Mouse events)
– RWT-specific additional APIs (e.g., Multi-user, File Up/Download).
Image adapted from https://angelozerr.wordpress.com/2011/05/24/rap_step5/
Operating System Servlet Container Web Browser
SWT RWT (Server) RWT (Client)
JFace JFace
HTTP
Spoon webSpoon
© Hitachi America, Ltd. 2017. All rights reserved.
1. Local files
– Spoon: local files of the laptop/desktop
– webSpoon: local files of the (remote) server
2. Clipboard
– Spoon and webSpoon do not share the clipboard.
– In other words, no copy & paste between Spoon and webSpoon.
How is webSpoon different from Spoon?
25
File A is local File B is local
File A is local
File B is remote
File A File B
webSpoon
Spoon

Más contenido relacionado

La actualidad más candente

PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
shinjiigarashi
 
NJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep DiveNJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep Dive
Bryan Bende
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting Review
Linaro
 
Sigreturn Oriented Programming
Sigreturn Oriented ProgrammingSigreturn Oriented Programming
Sigreturn Oriented Programming
Angel Boy
 
Hadoop Security Architecture
Hadoop Security ArchitectureHadoop Security Architecture
Hadoop Security Architecture
Owen O'Malley
 
Linuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみたLinuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみた
wata2ki
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
VirtualTech Japan Inc.
 
SFO15-503: Secure storage in OP-TEE
SFO15-503: Secure storage in OP-TEESFO15-503: Secure storage in OP-TEE
SFO15-503: Secure storage in OP-TEE
Linaro
 
LCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEELCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEE
Linaro
 
PFSなTLS通信を復号する
PFSなTLS通信を復号するPFSなTLS通信を復号する
PFSなTLS通信を復号する
稔 小林
 
ROS.js の紹介
ROS.js の紹介ROS.js の紹介
ROS.js の紹介
Honma Masashi
 
Simplifying Your IT Workflow with Katello and Foreman
Simplifying Your IT Workflow with Katello and ForemanSimplifying Your IT Workflow with Katello and Foreman
Simplifying Your IT Workflow with Katello and Foreman
Nikhil Kathole
 
Raspberry Piで始める自宅サーバー超入門
Raspberry Piで始める自宅サーバー超入門Raspberry Piで始める自宅サーバー超入門
Raspberry Piで始める自宅サーバー超入門
VirtualTech Japan Inc./Begi.net Inc.
 
Efficient processing of large and complex XML documents in Hadoop
Efficient processing of large and complex XML documents in HadoopEfficient processing of large and complex XML documents in Hadoop
Efficient processing of large and complex XML documents in Hadoop
DataWorks Summit
 
Iocage
IocageIocage
Deep dive into highly available open stack architecture openstack summit va...
Deep dive into highly available open stack architecture   openstack summit va...Deep dive into highly available open stack architecture   openstack summit va...
Deep dive into highly available open stack architecture openstack summit va...
Arthur Berezin
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!Etsuji Nakai
 
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netReceive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Yan Vugenfirer
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
linuxlab_conf
 
Meetup - Brasil - Data In Motion - 2023 September 19
Meetup - Brasil - Data In Motion - 2023 September 19Meetup - Brasil - Data In Motion - 2023 September 19
Meetup - Brasil - Data In Motion - 2023 September 19
Timothy Spann
 

La actualidad más candente (20)

PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
 
NJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep DiveNJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep Dive
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting Review
 
Sigreturn Oriented Programming
Sigreturn Oriented ProgrammingSigreturn Oriented Programming
Sigreturn Oriented Programming
 
Hadoop Security Architecture
Hadoop Security ArchitectureHadoop Security Architecture
Hadoop Security Architecture
 
Linuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみたLinuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみた
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
SFO15-503: Secure storage in OP-TEE
SFO15-503: Secure storage in OP-TEESFO15-503: Secure storage in OP-TEE
SFO15-503: Secure storage in OP-TEE
 
LCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEELCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEE
 
PFSなTLS通信を復号する
PFSなTLS通信を復号するPFSなTLS通信を復号する
PFSなTLS通信を復号する
 
ROS.js の紹介
ROS.js の紹介ROS.js の紹介
ROS.js の紹介
 
Simplifying Your IT Workflow with Katello and Foreman
Simplifying Your IT Workflow with Katello and ForemanSimplifying Your IT Workflow with Katello and Foreman
Simplifying Your IT Workflow with Katello and Foreman
 
Raspberry Piで始める自宅サーバー超入門
Raspberry Piで始める自宅サーバー超入門Raspberry Piで始める自宅サーバー超入門
Raspberry Piで始める自宅サーバー超入門
 
Efficient processing of large and complex XML documents in Hadoop
Efficient processing of large and complex XML documents in HadoopEfficient processing of large and complex XML documents in Hadoop
Efficient processing of large and complex XML documents in Hadoop
 
Iocage
IocageIocage
Iocage
 
Deep dive into highly available open stack architecture openstack summit va...
Deep dive into highly available open stack architecture   openstack summit va...Deep dive into highly available open stack architecture   openstack summit va...
Deep dive into highly available open stack architecture openstack summit va...
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!
 
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netReceive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Meetup - Brasil - Data In Motion - 2023 September 19
Meetup - Brasil - Data In Motion - 2023 September 19Meetup - Brasil - Data In Motion - 2023 September 19
Meetup - Brasil - Data In Motion - 2023 September 19
 

Destacado

Understanding the Pentaho CDE NewMapComponent
Understanding the Pentaho CDE NewMapComponentUnderstanding the Pentaho CDE NewMapComponent
Understanding the Pentaho CDE NewMapComponent
Kleyson Rios
 
Pentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matterPentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matter
Francesco Corti
 
Pentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare RuleenginePentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare Ruleengine
uwe geercken
 
Continuous ETL Testing for Pentaho Data Integration (kettle)
Continuous ETL Testing for Pentaho Data Integration (kettle)Continuous ETL Testing for Pentaho Data Integration (kettle)
Continuous ETL Testing for Pentaho Data Integration (kettle)
Slawomir Chodnicki
 
javascriptのデータ構造の話
javascriptのデータ構造の話javascriptのデータ構造の話
javascriptのデータ構造の話
Taketoshi 青野健利
 
私はこうやってSlackを社内で流行らせました
私はこうやってSlackを社内で流行らせました私はこうやってSlackを社内で流行らせました
私はこうやってSlackを社内で流行らせました
NHN テコラス株式会社
 

Destacado (6)

Understanding the Pentaho CDE NewMapComponent
Understanding the Pentaho CDE NewMapComponentUnderstanding the Pentaho CDE NewMapComponent
Understanding the Pentaho CDE NewMapComponent
 
Pentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matterPentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matter
 
Pentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare RuleenginePentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare Ruleengine
 
Continuous ETL Testing for Pentaho Data Integration (kettle)
Continuous ETL Testing for Pentaho Data Integration (kettle)Continuous ETL Testing for Pentaho Data Integration (kettle)
Continuous ETL Testing for Pentaho Data Integration (kettle)
 
javascriptのデータ構造の話
javascriptのデータ構造の話javascriptのデータ構造の話
javascriptのデータ構造の話
 
私はこうやってSlackを社内で流行らせました
私はこうやってSlackを社内で流行らせました私はこうやってSlackを社内で流行らせました
私はこうやってSlackを社内で流行らせました
 

Similar a Updates on webSpoon and other innovations from Hitachi R&D

Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Hiromu Hota
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
samuel segal
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
Heiko Voigt
 
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
darwinodb
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on Containers
Anton Whalley
 
Cloud Foundry Summit 2017
Cloud Foundry Summit 2017Cloud Foundry Summit 2017
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
wesley chun
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC apps
Rogue Wave Software
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
wesley chun
 
How to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" systemHow to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" system
Masaaki Nakagawa
 
Ai pipelines powered by jupyter notebooks
Ai pipelines powered by jupyter notebooksAi pipelines powered by jupyter notebooks
Ai pipelines powered by jupyter notebooks
Luciano Resende
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
Perfecto by Perforce
 
Sam segal resume
Sam segal resumeSam segal resume
Sam segal resume
samuel segal
 
Apache deep learning 101
Apache deep learning 101Apache deep learning 101
Apache deep learning 101
DataWorks Summit
 
Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)
Igalia
 
02 intro
02   intro02   intro
02 intro
babak mehrabi
 
Apache MXNet for IoT with Apache NiFi
Apache MXNet for IoT with Apache NiFiApache MXNet for IoT with Apache NiFi
Apache MXNet for IoT with Apache NiFi
Timothy Spann
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
VMware Tanzu
 
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
lisanl
 
IoT with Apache MXNet and Apache NiFi and MiniFi
IoT with Apache MXNet and Apache NiFi and MiniFiIoT with Apache MXNet and Apache NiFi and MiniFi
IoT with Apache MXNet and Apache NiFi and MiniFi
DataWorks Summit
 

Similar a Updates on webSpoon and other innovations from Hitachi R&D (20)

Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
 
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on Containers
 
Cloud Foundry Summit 2017
Cloud Foundry Summit 2017Cloud Foundry Summit 2017
Cloud Foundry Summit 2017
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC apps
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
 
How to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" systemHow to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" system
 
Ai pipelines powered by jupyter notebooks
Ai pipelines powered by jupyter notebooksAi pipelines powered by jupyter notebooks
Ai pipelines powered by jupyter notebooks
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
 
Sam segal resume
Sam segal resumeSam segal resume
Sam segal resume
 
Apache deep learning 101
Apache deep learning 101Apache deep learning 101
Apache deep learning 101
 
Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)
 
02 intro
02   intro02   intro
02 intro
 
Apache MXNet for IoT with Apache NiFi
Apache MXNet for IoT with Apache NiFiApache MXNet for IoT with Apache NiFi
Apache MXNet for IoT with Apache NiFi
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
 
IoT with Apache MXNet and Apache NiFi and MiniFi
IoT with Apache MXNet and Apache NiFi and MiniFiIoT with Apache MXNet and Apache NiFi and MiniFi
IoT with Apache MXNet and Apache NiFi and MiniFi
 

Último

Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 

Último (20)

Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 

Updates on webSpoon and other innovations from Hitachi R&D

  • 1. © Hitachi America, Ltd. 2017. All rights reserved. Updates on webSpoon and other innovations from Hitachi R&D 11/11/2017 Researcher at Hitachi America, Ltd. Hiromu Hota, PhD @HiromuHota, hiromu.hota@hal.hitachi.com
  • 2. © Hitachi America, Ltd. 2017. All rights reserved. Contents 1 • webSpoon – Demo – Updates since PCM16 and missings – Use cases
  • 3. © Hitachi America, Ltd. 2017. All rights reserved. webSpoon: a browser-based Spoon 2 • webSpoon works on any latest browser, accessible over a network. • webSpoon has advantages: • webSpoon is NOT supported by Pentaho or by Hitachi. Smartphone/tablet CloudData security Ease of mgmt.Remote use Desktop/laptop
  • 4. © Hitachi America, Ltd. 2017. All rights reserved. Demo 3 1. webSpoon (demo instance in AWS) 2. Multi-tenancy (demo instance in local Docker)
  • 5. © Hitachi America, Ltd. 2017. All rights reserved. Updates since PCM16 4 • webSpoon became matured in its stability, functionality, and usability. • Stability – Fixed many things: menubar, shortcuts, scrollbar/zooming, copy/paste – Automated UI Testing – CI/CD (nightly build for every commit) • Functionality – Lots of steps/job entries and other type of plugins confirmed to be compatible – Carte integration – Multi-user/-tenant • Usability – FileDialog to open from the server’s file system / Import from the client’s – Dockerized – No longer 9051 port mapping
  • 6. © Hitachi America, Ltd. 2017. All rights reserved. Cloud / Scalability 5 • webSpoon is easily deployable to the cloud – E.g., AWS Elastic Beanstalk • webSpoon is scalable webSpoon Load Balancer Clients webSpoon instances
  • 7. © Hitachi America, Ltd. 2017. All rights reserved. • webSpoon serves multiple users – User authentication – User configuration – Incomplete privacy among users • Alice can see Bob’s configuration files • Alice can see Bob’s Kettle files (only when they are locally stored) • webSpoon serves multiple tenants – I’d assign dedicated instances for each tenant for the privacy concern, though some argues that this arch is multi-instance, not multi-tenancy [1]. Multi-user / Multi-tenancy 6 webSpoon instances Alice Bob Carol Dave Tenant A Tenant B [1] Krebs, Rouven (2012). "Architectural Concerns in Multi-tenant SaaS Applications". Proc. 2nd Int. Conf. on Cloud Computing and Services Science (CLOSER 2012). Alice Bob : User authentication
  • 8. © Hitachi America, Ltd. 2017. All rights reserved. Compatible with Python/R steps 7 • Most of steps/job entries have been confirmed to be compatible with webSpoon, including – Python (CPython Script Executor) – R (Execute R Script) – R (R script executor, EE only) • The rest of steps/job entries is just left un-tested.
  • 9. © Hitachi America, Ltd. 2017. All rights reserved. What’s still missing? 8 • Security – End-users inherit the privileges of the user who runs the Tomcat. • If root runs the Tomcat, all end-users have the root permission. – Incomplete privacy among end-users: • Alice can see Bob’s configuration files. • Alice can see Bob’s Kettle files (when they are locally stored). • Integration with Pentaho Server – Not realized yet due to un-resolved conflicts. • Some EE features – DET (Data Exploration Tool)
  • 10. © Hitachi America, Ltd. 2017. All rights reserved. Use cases 9
  • 11. © Hitachi America, Ltd. 2017. All rights reserved. Data Security: Keep data where they should be 10 Spoon webSpoon • Data engineers should physically be near data. • They might be tempted to download data to work in their office. • They can work from office, home, or wherever comfortable. Hospital/Government/Bank Data When data cannot leave facility/country due to some regulations,
  • 12. © Hitachi America, Ltd. 2017. All rights reserved. Data integration of sensor data in remote sites 12 Thai factory Tokyo office Skilled engineer 1. Kettle files need updating frequently for many reasons: • New machine, new sensor, new analytics, etc. 2. But, remote desktop (RDP) is prohibited and travel costs. Data copy/move User interaction Travel costs RDP Remote desktop prohibited Sensor Database Spoon *Kettle file: Transformation or Job written in PDI (Cropped) Asia - Single Color by FreeVectorMaps.com
  • 13. © Hitachi America, Ltd. 2017. All rights reserved. Data integration of sensor data in remote sites 13 Tokyo office *HTTPS: HTTP Secure Skilled engineer Data copy/move User interaction No travel General protocol HTTPS Thai factory Sensor Database webSpoon (Cropped) Asia - Single Color by FreeVectorMaps.com 1. Kettle files need updating frequently for many reasons: • New machine, new sensor, new analytics, etc. 2. But, remote desktop (RDP) is prohibited and travel costs.
  • 14. © Hitachi America, Ltd. 2017. All rights reserved. Managed Pentaho development environment 15 • Different version, plugin, etc. slows down collaboration. • Could possibly be – Outdated. – Malicious plugins & drivers. Spoon webSpoon Bob Alice Ver. X.X Ver. Y.Y Your Kettle file does not run in my environment! • All Kettle files run in coworker’s screen. • No installation/upgrade/update required (by end-users). • Only desired plugins & drivers. Your Kettle file runs in my environment! *Kettle file: Transformation or Job written in PDI Plugin A Driver B Plugin A Driver C Bob Alice
  • 15. © Hitachi America, Ltd. 2017. All rights reserved. webSpoon streamlines the ML Workflow even more 16 • Data engineers/scientists share – Tools (Pentaho/Python/R) – Data stores – Git repository – Computing resources (e.g., Hadoop, Spark) • As a result, collaboration between them becomes even more seamless – Less dependent on IT staffs to setup tools, data stores, etc. – No data copy/movement, no data dispersion Data scientistsData engineers webSpoon Data stores
  • 16. © Hitachi America, Ltd. 2017. All rights reserved. Resources 17 • Source and binary – https://github.com/HiromuHota/pentaho-kettle • Docker image – https://hub.docker.com/r/hiromuhota/webspoon
  • 17. © Hitachi America, Ltd. 2017. All rights reserved. One more thing... 18
  • 18. © Hitachi America, Ltd. 2017. All rights reserved. SpoonGit (Git client integrated with Spoon) 19
  • 19. © Hitachi America, Ltd. 2017. All rights reserved. Resources 20 • Source and binary – https://github.com/HiromuHota/pdi-git-plugin • Binary – Pentaho Marketplace (in preparation)
  • 20. © Hitachi America, Ltd. 2016. All rights reserved. Trademarks and copyrights 21 • Pentaho is a trademark registered by Hitachi Vantara. • Apache Hadoop and its logo are either registered trademarks or trademarks of the Apache Software Foundation (ASF). • Apache Spark, Spark and the Spark logo are trademarks of ASF. • The Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License. • The R logo is © 2016 The R Foundation. • RStudio and the RStudio logo are all registered trademarks of RStudio. • The Python logo is a trademark of the Python Software Foundation. • Jupyter and the Jupyter logs are trademarks of the NumFOCUS foundation. • Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries. • The Jenkins logo is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. • GitHub is a trademark registered in the United States by GitHub, Inc. • Other company and product names mentioned in this document may be the trademarks of their respective owners.
  • 21.
  • 22. © Hitachi America, Ltd. 2017. All rights reserved. Appendix 23
  • 23. © Hitachi America, Ltd. 2017. All rights reserved. webSpoon = Spoon - SWT + RWT 24 • Spoon relies on SWT for UI widgets (e.g., button, dialog, canvas). • RWT is a web alternative to SWT and “largely” implements SWT APIs, meaning Spoon can become a web app with most codes intact. • There are – Unimplemented SWT APIs (e.g., a part of GC, some Mouse events) – RWT-specific additional APIs (e.g., Multi-user, File Up/Download). Image adapted from https://angelozerr.wordpress.com/2011/05/24/rap_step5/ Operating System Servlet Container Web Browser SWT RWT (Server) RWT (Client) JFace JFace HTTP Spoon webSpoon
  • 24. © Hitachi America, Ltd. 2017. All rights reserved. 1. Local files – Spoon: local files of the laptop/desktop – webSpoon: local files of the (remote) server 2. Clipboard – Spoon and webSpoon do not share the clipboard. – In other words, no copy & paste between Spoon and webSpoon. How is webSpoon different from Spoon? 25 File A is local File B is local File A is local File B is remote File A File B webSpoon Spoon