WebSockets and Equinox OSGi in a Servlet Container

Slides:



Advertisements
Similar presentations
Cloud PIV Authentication and Authorization Demo PIV Card User Workstation Central Security Server In order to use Cloud Authentication and Authorization.
Advertisements

Attie Naude 14 May 2013 Windows Azure Mobile Services.
FI-WARE Testbed Access Control temporary solution.
Enterprise Architecture Firm Architecture World ‘10 SOA on Demand Ulf Fildebrandt Chief Development Architect SOA Infrastructure SAP AG.
October Dyalog File Server Version 2.0 Morten Kromberg CTO, Dyalog LTD Dyalog’13.
1 CGICGI Common Gateway Interface Server-side Programming Lecture.
Design of Web-based Systems IS Development: lecture 10.
Multiple Tiers in Action
At 10:15 AM they managed to shut down the entire system.
SACMAT02-1 Security Prototype Defining a Signature Constraint.
SOA & BPM Business Architecture, SOA & BPM Learn about SOA and Business Process Management (BPM) Learn how to build process diagrams.
Online Game JAVA for PDA WAP for Mobile Phone. Java for PDA  Hardware limit - Java API Power Memory  JDK 2M byte. Connectivity Display size.
Server Side Scripting Norman White. Where do we do processing? Client side – Javascript (embed code in html) – Java applets (send java program to run.
Kay Herzam Herzam IT Consulting What‘s new in ASP.NET MS TechTalk.
The powerful capabilities of JBoss Middleware as cloud based services on OpenShift. Build applications. Integrate with other systems Orchestrate using.
FIspace SPT Seyhun Futaci. Technology behind FIspace Authentication and Authorization IDM service of Fispace provides SSO solution for web apps, mobile.
Asterisk based real-time social chat Advisor : Lian-Jou Tsai Student : Jhe-Yu Wu.
Jazz WebUI Framework. Apache Derby Jazz Platform Architecture – Open Source middleware Eclipse Equinox Jazz Server Kernel Jazz Server Extensions Web UI.
Computer Emergency Notification System (CENS)
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
E-Michigan Web Development 1. 2 What Is It? A web based collaboration tool that is internal to state government and accessible only from within the state.
1 82 nd IETF meeting NETCONF over WebSocket ( ) Tomoyuki Iijima, (Hitachi) Hiroyasu Kimura,
Virgo Nano Web, the enterprise ready Eclipse server Lazar Kirchev March 26 th, 2013 photo: Werner Kunz,
Progressive .NET Tutorials, July 3rd, London, UK
WebOPI -Bring BOY OPI to the Web and Mobile Xihui Chen, Kay Kasemir Spring 2012 EPICS Meeting.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Windows Azure poDRw_Xi3Aw.
Paragon The Platform and Message Broker. Paragon: The Platform Stack -Window Management -Messaging -App Lifecycle Management -App Store -Workspaces -Storage.
What is Cloud Computing 1. Cloud computing is a service that helps you to perform the tasks over the Internet. The users can access resources as they.
Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008.
Social Enablement of Xpages - Linoy K George & Mervin Thomas.
Web Programming Building Dynamic Web Pages Adrian Shaw (ais) – 80% Jonathan Roscoe (jjr6) - 20%
Web-enabled Audio-synthesis Development Environment (WADE) Rory Walsh & Conor Dempsey.
Enterprise JavaScript… what the heck?
Ramping Up On The SharePoint Framework (SPFx)
CGS 3066: Web Programming and Design Spring 2017
The Distributed Application Debugger (DAD)
API (Application Program Interface)
Introduction to Windows Azure AppFabric
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
CS5220 Advanced Topics in Web Programming Introduction to WebSocket
beas WEB App Installation
Cloud-based Antivirus
Google Web Toolkit - Gufran Mohammed
Multitier Architecture, MySQL & PHP
PHP / MySQL Introduction
Web App vs Mobile App.
Building real-time web apps with WebSockets using IIS, ASP.NET and WCF
WebSocket: Full-Duplex Solution for the Web
AEM Overview  Adobe Experience Manager is a web-based client-server system for building, managing and deploying commercial websites, Mobile apps, forms.
AEM Overview  Adobe Experience Manager is a web-based client-server system for building, managing and deploying commercial websites, Mobile apps, forms.
Dynamic DNS support for EGI Federated cloud
Database Driven Websites
웹 푸시 구현 26th UPnL Workshop 김재찬.
Building communicating web applications leveraging endpoints and cloud resource service Problem Summary: aRtisy (R-T-C) is a developer platform and SDK.
ASP.NET Module Subtitle.
Introduction to HTML5 and WebSockets.
X-Road as a Platform to Exchange MyData
Module P3 Practical: Building a webapp in nodejs and
A Network Operating System Edited By Maysoon AlDuwais
WPS - your story so far Seems incredible complicated, already
What WebRTC Does NOT Do:
Installing Tomcat.
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
UFCEUS-20-2 Web Programming
Client-Server Model: Requesting a Web Page
SDMX IT Tools SDMX Registry
DIBBs Brown Dog BDFiddle
Presentation transcript:

WebSockets and Equinox OSGi in a Servlet Container Nedelcho Delchev [SAP] 2016-10-27

Who am I? I am Development Architect in HANA Cloud Platform Core team in the area of extensions for large enterprises in the cloud. Project lead of Eclipse Dirigible – a Cloud Development Platform project that provides full-fledged capabilities for developing, running and operating cloud applications – http://www.dirigible.io

ServletBridge Architecture Server-Side Equinox: http://www.eclipse.org/equinox/server/ Equinox in a Servlet Container: http://www.eclipse.org/equinox/server/http_in_container.php What is OSGi in Servlet Container series by Angelo Zerr: https://angelozerr.wordpress.com/2010/08/31/osgi-equinox-in-a-servlet-container-step0/

ServletBridge Component Web Container Servlet Bridge OSGi Servlet OSGi Servlet

Websockets https://www.tutorialspoint.com/websockets/websockets_quick_guide.htm https://www.pubnub.com/blog/2014-10-01-websockets-and-long-polling-in-javascript-ruby-and-python/

WebSocket Bridge in WebApp

WebSocket Servlet in OSGi

Registering OSGi WS Servlet in the BundleActivator

Websocket in Web Container ServletBridge [Registered OSGi WS Servlets] OSGi WS Servlet Websocket Servlet 2 1 3 1. Registering 2. Lookup 3. Communication

Classloaders visibility (launch.ini) osgi.*=@null org.osgi.*=@null eclipse.*=@null osgi.parentClassloader=fwk osgi.contextClassLoaderParent=fwk org.osgi.framework.system.packages.extra=javax.websocket,javax.websocket.server,javax.mail,javax.mail.internet,osgi.websockets.bridge

Authentication and Authorization Logged-in User Is User in Role?

“Hello World” via Websocket channel Clone – https://github.com/delchev/WebSockets_EquinoxOSGi_ServletContainer.git Build & Deploy Access & Login - http://localhost:8080/services/standard Create WS Client e.g. in Chrome – > var logSocket = new WebSocket("ws://localhost:8080/log"); Inspect Frames in Network/WS Access from a second browser - http://localhost:8080/services/standard Send a message from WS client and receive the echo - logSocket.send("Hello from Client!");

Real-world examples By Eclipse Dirigible

Log Console

Terminal

Debug

Scripting Services http://www.dirigible.io/api/websocket.html

Recap You learnt that you can utilize WebSockets in a OSGi environment You learnt how to do it via the ‘bridge’ concept You learnt that it is not just pure theoretical thing, but it is already used in the real world projects You got it re-confirmed OSGi is cool You learnt about existence of an OSGi based Cloud Development Platform project called Eclipse Dirigible: http://www.dirigible.io

Thank You!

References http://www.dirigible.io/blogs/2016/05/19/blogs_web_sockets_and_osgi_in_servlet_container.html