16-1 Developer Libraries and Services. 16-1 Learning Objectives: ● This module will help you... – Learn about optional JXTA libraries and services – Understand.

Slides:



Advertisements
Similar presentations
Software Engineering Implementation Lecture 3 ASPI8-4 Anders P. Ravn, Feb 2004.
Advertisements

Exception Handling – illustrated by Java mMIC-SFT November 2003 Anders P. Ravn Aalborg University.
CopperCore, an Open Source IMS Learning Design Engine Hubert Vogten Open University of the Netherlands OTEC.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
JXTA Selo TE Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed.
SOS OOP Fall 2001 Object Oriented Programming in Java Week 1 Read a design Design a small program Extract a design Run a VAJ program Change that program,
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
Blackboard Building Blocks Authentication Overview Tuesday, June 30, 2015 Tom Joyce, Product Manager, Platform Architecture & Database.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
LDAP LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL PRESENTATION BY ALAKESH APURVA DHAN AND ASH.
LDS Account and the Java Stack. Disclaimer This is a training NOT a presentation. – Be prepared to learn and participate in labs Please ask questions.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
Web Proxy Server. Proxy Server Introduction Returns status and error messages. Handles http CGI requests. –For more information about CGI please refer.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
1 Identifiers  Identifiers are the words a programmer uses in a program  An identifier can be made up of letters, digits, the underscore character (
WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.
Getting Started with JXTA for J2ME Advisor : Dr. Ching-Long Yeh Report : DI.2, 洪泰昌 ( ) Course: XML 文件管理.
Sun’s Project JXTA Technical Overview Presented by Sergei Kovalenko Red Team: Janhavi James A. Davis Fernando D. Diaz.
JSP Architecture Outline  Model 1 Architecture  Model 2 Architecture.
11-1 Pipes. Learning Objectives ● This module will help you... – Understand key JXTA pipe concepts – Understand how pipes work – Gain familiarity with.
Speed-R : Semantic Peer to Peer Environment for Diverse Web Services Registries Kaarthik Sivashanmugam Kunal Verma Ranjit Mulye Zhenyu Zhong Final Project.
Java Introduction to JNI Prepared by Humaira Siddiqui.
Chapter 1: Introducing JAVA. 2 Introduction Why JAVA Applets and Server Side Programming Very rich GUI libraries Portability (machine independence) A.
8-1 Hello World. 8-1 Learning Objectives ● This module will help you... – Get started with running a simple JXTA application – Understand the JXTA configuration.
3-1 JXTA Platforms. 3-1 Learning Objectives ● Learn about the different platform implementations of the JXTA protocols – Features provided by each implementation.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
IBM TSpaces Lab 1 Introduction. Summary TSpaces Overview Basic Definitions Basic primitive operations Reading/writing tuples in tuplespace HelloWorld.
14-1 JXTA for J2ME Learning Objectives ● This module will help you... – Learn about the architecture of JXTA for J2ME – Learn the JXTA for J2ME.
Software Engineering Design Patterns. Singleton Single instance of class Constructor is private static final Class instance constructed when application.
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 23 — Simple Object Access Protocol (SOAP) and Microsoft BizTalk™ Outline 23.1Introduction 23.2Simple.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
A Distributive Server Alberto Pareja-Lecaros. Introduction Uses of distributive computing - High powered applications - Ever-expanding server so there’s.
Dr. Ian Wang Cardiff University, U.K.. Ian Wang, Cardiff University Peer-to-Peer and Grids What does the Peer-to-Peer paradigm offer Grids? Scalable Decentralized.
Presentation: RMI Continued 2 Using The Registry & Callbacks.
9-1 JXTA Discovery Learning Objectives This module will help you... – Understand how JXTA advertisements are published, cached, and.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Forms with Spring MVC Handling Form.
CS390- Unix Programming Environment CS 390 Unix Programming Environment Java Socket Programming.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 43 Remote Method Invocation.
13-1 Monitoring and Metering Learning Objectives ● This module will help you... – Understand the JXTA monitoring and metering functionality – Gain.
2/26/021 Pegasus Security Architecture Author: Nag Boranna Hewlett-Packard Company.
Copyright  2002 Urbancode Software Development, Inc. All Rights Reserved. Developing with JAAS Presented by Maciej Zawadzki
8th Sakai Conference4-7 December 2007 Newport Beach Integration: Users and Groups Mark J. Norton Nolaria Consulting.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Jaas Introduction. Outline l General overview of Java security Java 2 security model How is security maintained by Java and JVM? How can a programmer.
Jini Architectural Overview Li Ping
18-1 Summary (Day 2) Learning Summary – What is JXTA ? – Understand the fundamental concepts of JXTA – Learn about the various implementations of.
Getting Started with the Open Services Gateway Initiative (OSGi) CNT 5517 Dr. Sumi Helal, Ph.D. Professor Computer & Information Science & Engineering.
ECEG Group. iSpace Room Before iSpace Room After.
Comanche A GUI management tool for Apache Daniel López Ridruejo
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Java Network Programming Network Programming Spring 2000 Jeffrey E. Care
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
TCS Internal Security. 2 TCS Internal Objective Objective :  Android Platform Security Architecture.
1 Lecture 15 Remote Method Invocation Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung Institute of Technology.
Messageforge – A Messaging Framework Jawaid Hakim  Introduction  Requirements for Successful Development  CodeStreet Message Framework  Features 
WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks OpenSAML extension library and API to support.
Java Object-Relational Layer Sharon Diskin GUS 3.0 Workshop June 18-21, 2002.
Project JXTA Kaarthik Sivashanmugam. JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
Ask the Experts – Building Login-Based Sites in AEM
Peergroups.
null, true, and false are also reserved.
Chapter 40 Remote Method Invocation
Chapter 46 Remote Method Invocation
Chapter 46 Remote Method Invocation
Java Remote Method Invocation
Plug-In Architecture Pattern
Presentation transcript:

16-1 Developer Libraries and Services

16-1 Learning Objectives: ● This module will help you... – Learn about optional JXTA libraries and services – Understand the goals of the JXTA Easy Entry Library (EZEL) project – Understand the benefits of the JXTA Abstraction Library (JAL) API – Gain familiarity with the JAL API – Learn about other JXTA services

16-1 Overview ● Optional Libraries – EZEL – JAL ● JXTA Services – JAAS – JNLP – RMI, SOAP, etc.

16-1 EZEL Overview ● EZEL = Easy Entry Library for JXTA ● Goal: – Enable a client-server developer – with no JXTA or P2P experience – to create a JXTA service in a single afternoon ● Provides client/server-like API – Hides implementation details – Provides reasonable defaults

16-1 Benefits ● Simplifies JXTA application development – Reduces the learning curve – Provides “best practices” for handling common JXTA programming tasks ● Complete isolation from API changes ● Can “learn as you go” and supplement API with direct JXTA programming

16-1 JAL: JXTA Abstraction Library ● Extension to EZEL ● API for commonly used JXTA primitives – Discover peers (and allow to be discovered) – Search for peers and peergroups – Create and manage peergroups – Communicate with other peers – Get information about peers and peergroups

16-1 JAL Architecture Application EZEL J XTA Abstraction Layer JXTA Peer interface

16-1 EZEL Classes ● class net.pkg.jal.EZAdvertisement ● class net.pkg.jal.EZCommunication ● class net.pkg.jal.EZDiscovery ● class net.pkg.jal.EZDisplay ● class net.pkg.jal.EZGroups ● class net.pkg.jal.EZMinimalPeer – Implements net.pkg.jal.Peer, net.jxta.pipe.PipeMsgListener ● class net.pkg.jal.EZUtilities

16-1 JAL API ● void boot(String name) void boot(String name, String group) – Boot the peer; every peer must call it ● void publish() – Publish peer so other can discover it ● String getName() – Get the name of this peer ● String[] getPeers() – Get peers associated with this peer in current peergroup

16-1 JAL API Message Functions ● boolean sendMessage(String name, Message msg) Message receiveMessage() – Send or receive a message ● boolean broadcast(Message msg) – Broadcast a message to everyone in the group ● Message newMessage() – Create a new, blank message ● void pushObject(Message msg, String tag, Object obj) Object popObject(Message msg, String tag) – Push/pop an object to the Message

16-1 JAL API Group Functions ● String[] getGroups() – Get peergroups associated with this peer ● void createGroup(String name) – Create a new group ● void createAndOrJoinGroup(String name) – Create and/or join group ● void joinGroup(String name) – Join a group ● void leaveGroup(String name)

16-1 JAL API Search & Display Functions ● boolean searchGroupWithName(String name) – Search for a peergroup ● boolean searchPeerWithName(String name) – Search for a peer ● void displayPeers() void displayGroups() void displayServices() – Display all peers, peergroups, or services in the current peergroup ● String getPeerStatistics() – Display some useful statistics

16-1 JAL Example import net.jxta.endpoint.Message; import net.pkg.jal.*; import java.io.*; public class TestApp { private static Peer me; public static void main (String args[]) { me = new EZMinimalPeer(); try { me.boot("MDE" + args[0]); me.displayPeers(); me.displayGroups(); me.createGroup("MDE"); me.displayGroups(); me.joinGroup("MDE"); me.displayPeers(); me.displayGroups(); //finally try out getJoinedGroups String a[] = me.getJoinedGroups(); System.out.println("getJoinedGroups:"); for(int i = 0; i < a.length; i++){ System.out.println(a[i]); } System.exit(0); }catch (Exception e) { e.printStackTrace(); System.exit(0); } System.exit(0); } }

16-1 JAAS Overview ● Java Authentication and Authorization Service (JAAS) – Enables services to authenticate and enforce access controls upon users – Supports user-based authorization ● Releases – Integrated into the Java 2 SDK, Standard Edition, v 1.4 – Optional package to the Java 2 SDK, v 1.3.x

16-1 JAAS Membership Service Project ● JAAS MemberShip Service – JXTA MembershipService implementation ● Uses JAAS for authentication – Leverage existing authentication services ● (JNDI, LDAP, NIS, WinNT, and Unix) – Provides a framework for integrating new authentication services ● (Liberty, SAML, Passport) ● Status – A functional implementation of JaasMembershipService is in place ●

16-1 try { MembershipService membership = jaasGroup.getMembershipService(); AuthenticationCredential authCred = new AuthenticationCredential(jaasGroup, "JAAS", null); membership.join(membership.apply(authCred)); Enumeration enum = membership.getCurrentCredentials(); if(enum.hasMoreElements()) { JaasCredential subjCred = (JaasCredential)enum.nextElement(); Subject subject = subjCred.getSubject(); } else { System.out.println("No Credentials!"); } } catch (Exception e) { } Code Example

16-1 JXTA JnlpLoader Project ● Goals: – An implementation of JxtaLoader ● Utilizes Java Network Launching (JNLP) to load modules, and resources ● JnlpLoader is based on OpenJNLP ● ● Status – Basic functionality is complete ●

16-1 JXTA Community Services ● – SOAP ● JXTA SOAP bindings – JXTA-RMI ● RMI API on top of JXTA – Validation Service ● A ValidationService for JXTA Advertisements – Many more...

16-1 Developer Libraries and Services