JavaScript Micro Services Simon Kaegi 27 March 2012.

Slides:



Advertisements
Similar presentations
When Applications can Roam Freely OSGi Service Platform R4 Peter Kriens Technical Director OSGi
Advertisements

The GridSite Toolbar Shiv Kaushal The University of Manchester All Hands Meeting 2006.
Extending Eclipse Kai-Uwe Mätzel IBM OTI Labs Zurich
Presented by Vaibhav Rastogi. Current browsers try to separate host system from Web Websites evolved into web applications Lot of private data on the.
ASP.NET Intro An introduction to the languages and communication of an ASP.NET system.
Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Pronq IDE – Collaboration.
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Introduce OSGi BlueDavy
JavaScript and OSGi Simon Kaegi, Orion Project Co-lead IBM
Prime’ Senior Project. Presentation Outline What is Our Project? Problem Definition What does our system do? How does the system work? Implementation.
Why OSGi matters for Enterprise Java Infrastructures
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
Multiple Tiers in Action
Hello Vaadin! CS 3130 Summer 2015.
Creation of hybrid portlet application for file download using IBM Worklight and IBM Rational Application Developer v9 Gaurav Bhattacharjee Lakshmi Priya.
Client/Server Architectures
Java Server Pages (JSP) Presented by: Ananth Prasad & Alex Ivanov May 10, 2001.
Presented by…. Group 2 1. Programming language 2Introduction.
RIA Introduce Comparison among several technology.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
OSGi.
HTML Forms and Scripts. Session overview What are forms? Static vs dynamic Client-side scripts –JavaScript.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
Google Web Toolkit An Overview By Shauvik Roy Choudhary.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
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.
OSGi Service Platform Open Service Gateway initiative.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
T ECHNICAL INTRODUCTION TO O SKARI FOSS4G 2015 Hanna Visuri National Land Survey of Finland
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Introduction to Programming the WWW I CMSC Summer 2003 Lecture 7.
SMash : Secure Component Model for Cross- Domain Mashups on Unmodified Browsers WWW 2008 Frederik De Keukelaere et al. Presenter : SJ Park.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
AMD and RequireJS Splitting JavaScript Code into Dependent Modules Software University Technical Trainers SoftUni Team.
© 2006 Intland Software1 Aron Gombas Architect, Intland Software Extending & customizing CodeBeamer.
Multilingual prototype GCMD Portal JAXA/EORC Kengo Aizawa KEIO UNIVERSITY Hiromichi Fukui Kazuyoshi Kunisawa March 8, 2005.
University of Central Florida The Postman Always Rings Twice: Attacking & Defending postMessage in HTML5 Websites Ankur Verma University of Central Florida,
Ajax for Dynamic Web Development Gregory McChesney.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
JavaScript Overview Developer Essentials How to Code Language Constructs The DOM concept- API, (use W3C model) Objects –properties Methods Events Applications;
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
Architecture Overview Server Database (can be on the server or separate ) Client1 Client2 Client3 HTTP  View ppt notes pages for discussion!
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
Orion 'Code Edit': A Really Sweet Stand-Alone Code Editor Eric Moffatt Orion Committer IDS Web IDE (Tooling)
Javascript Design Patterns. AMD & commonJS. RequireJS Marc Torrent Vernetta.
ArcGIS for Server Security: Advanced
Node.js Modules Header Mastering Node.js, Part 2 Eric W. Greene
Ad-blocker circumvention System
Lecture 7: Android Services
Google Web Toolkit Tutorial
Overall Architecture and Component Model
AJAX and REST.
Extend user interfaces with new portlets
Open-O Client Project Proposal
JavaScript an introduction.
Make Software Modular. And… Efficient
DWR: Direct Web Remoting
Language Tooling in Orion
Modern web applications
Modern web applications
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
Top 10 ArcGIS API for JavaScript Skills
Introduction to TypeScript
Client-Server Model: Requesting a Web Page
Presentation transcript:

JavaScript Micro Services Simon Kaegi 27 March 2012

What are Micro Services? OSGi minus the modularity

… about software development in a browser

Orion and OSGi Modularity e4 – OSGi style modularity in JavaScript { "Bundle-SymbolicName":"sample.jsbundle", "Bundle-Version":"1.0", "Bundle-ScriptPath":"script.js", "Import-Package":"a.resource;version=[1.0.0,2.0.0)", "Export-Package":"sample.resource;version=1.0.0", "Require-Bundle:"some.other.bundle“ } AMD – RequireJS define(["dojo", "orion/serviceregistry", "dojo/DeferredList"], function(dojo, mServiceregistry){… return exports});

Orion Plugins Orion applications are NOT made up of plugins Orion pages are designed to be 'extended' with plugins Orion plugins are 'separate' HTML pages hosted in non-visible IFrames Can be cross origin and communicate using HTML5 postMessage which is ASYNC Plugins are isolated and secure against direct modification of the hosting page

7 Web Application Front-end Web Client Web Application Front-end Web Server Web Application Front-end Plugin Web Application Front-end Plugin Web Application Front-end Plugin Web Application Front-end Web Client Web Application Front-end Web Server Web Application Front-end Proxied Service Web Application Front-end Proxied Service Java Web Application / OSGiProxy Server / Portal

Web Application Front-end Web Client Web Application Front-end Web Server Orion way / Client-side Extension Web Application Front-end Plugin Web Application Front-end Web Server Web Application Front-end Plugin Web Application Front-end Web Server

Eclipse IDE Extensibility

Orion Extensibility registerService(INTERFACE_NAME, IMPLEMENTATION, PROPERTIES) In-page Plugin

Comparing OSGi and Orion Service APIs Orion provides a nearly complete implementation of the Service API from OSGi BundleContext ServiceReference, ServiceRegistration, … service listeners, event types Use Strings instead of java.lang.class when referencing Service interfaces All Service calls return a “promise” – needed to abstract asynchronous service implementations No ServiceTracker currently originally built into getService but this was a mistake

What’s next Declarative Services wire.js – extends Asynchronous Module Definition define([“wire!aService", “wire!anotherService], function(aService, anotherService){…}); Configuration Admin and Metatype Services Permission Policy and Admin

14